genkit 0.5.1__tar.gz → 0.5.2__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 (173) hide show
  1. {genkit-0.5.1 → genkit-0.5.2}/PKG-INFO +6 -5
  2. {genkit-0.5.1 → genkit-0.5.2}/README.md +5 -2
  3. {genkit-0.5.1 → genkit-0.5.2}/pyproject.toml +2 -3
  4. genkit-0.5.2/src/genkit/__init__.py +135 -0
  5. genkit-0.5.2/src/genkit/_ai/_aio.py +1200 -0
  6. genkit-0.5.2/src/genkit/_ai/_decorators.py +77 -0
  7. genkit-0.5.2/src/genkit/_ai/_embedding.py +154 -0
  8. genkit-0.5.2/src/genkit/_ai/_evaluator.py +244 -0
  9. genkit-0.5.2/src/genkit/_ai/_formats/__init__.py +39 -0
  10. genkit-0.5.1/src/genkit/blocks/formats/array.py → genkit-0.5.2/src/genkit/_ai/_formats/_array.py +22 -19
  11. genkit-0.5.1/src/genkit/blocks/formats/enum.py → genkit-0.5.2/src/genkit/_ai/_formats/_enum.py +8 -8
  12. genkit-0.5.1/src/genkit/blocks/formats/json.py → genkit-0.5.2/src/genkit/_ai/_formats/_json.py +12 -12
  13. genkit-0.5.1/src/genkit/blocks/formats/jsonl.py → genkit-0.5.2/src/genkit/_ai/_formats/_jsonl.py +18 -15
  14. genkit-0.5.2/src/genkit/_ai/_formats/_schema.py +55 -0
  15. genkit-0.5.1/src/genkit/blocks/formats/text.py → genkit-0.5.2/src/genkit/_ai/_formats/_text.py +9 -9
  16. genkit-0.5.1/src/genkit/blocks/formats/types.py → genkit-0.5.2/src/genkit/_ai/_formats/_types.py +16 -16
  17. genkit-0.5.1/src/genkit/blocks/generate.py → genkit-0.5.2/src/genkit/_ai/_generate.py +211 -404
  18. genkit-0.5.1/src/genkit/blocks/messages.py → genkit-0.5.2/src/genkit/_ai/_messages.py +6 -59
  19. genkit-0.5.2/src/genkit/_ai/_middleware.py +100 -0
  20. genkit-0.5.2/src/genkit/_ai/_model.py +165 -0
  21. genkit-0.5.2/src/genkit/_ai/_prompt.py +1281 -0
  22. genkit-0.5.2/src/genkit/_ai/_resource.py +279 -0
  23. {genkit-0.5.1/src/genkit/ai → genkit-0.5.2/src/genkit/_ai}/_runtime.py +4 -5
  24. genkit-0.5.2/src/genkit/_ai/_testing.py +397 -0
  25. genkit-0.5.2/src/genkit/_ai/_tools.py +147 -0
  26. genkit-0.5.2/src/genkit/_core/_action.py +614 -0
  27. genkit-0.5.1/src/genkit/blocks/background_model.py → genkit-0.5.2/src/genkit/_core/_background.py +16 -123
  28. genkit-0.5.2/src/genkit/_core/_base.py +65 -0
  29. genkit-0.5.2/src/genkit/_core/_channel.py +117 -0
  30. {genkit-0.5.1/src/genkit/aio → genkit-0.5.2/src/genkit/_core}/_compat.py +13 -26
  31. genkit-0.5.1/src/genkit/core/constants.py → genkit-0.5.2/src/genkit/_core/_constants.py +2 -4
  32. genkit-0.5.1/src/genkit/core/context.py → genkit-0.5.2/src/genkit/_core/_context.py +1 -1
  33. genkit-0.5.2/src/genkit/_core/_dap.py +154 -0
  34. genkit-0.5.2/src/genkit/_core/_environment.py +44 -0
  35. genkit-0.5.2/src/genkit/_core/_error.py +318 -0
  36. genkit-0.5.2/src/genkit/_core/_extract_json.py +144 -0
  37. genkit-0.5.2/src/genkit/_core/_flow.py +79 -0
  38. genkit-0.5.2/src/genkit/_core/_http_client.py +77 -0
  39. genkit-0.5.2/src/genkit/_core/_logger.py +8 -0
  40. genkit-0.5.2/src/genkit/_core/_loop_cache.py +43 -0
  41. genkit-0.5.2/src/genkit/_core/_model.py +566 -0
  42. genkit-0.5.2/src/genkit/_core/_plugin.py +52 -0
  43. {genkit-0.5.1/src/genkit/core → genkit-0.5.2/src/genkit/_core}/_plugins.py +0 -3
  44. genkit-0.5.2/src/genkit/_core/_reflection.py +277 -0
  45. genkit-0.5.1/src/genkit/core/registry.py → genkit-0.5.2/src/genkit/_core/_registry.py +16 -56
  46. genkit-0.5.1/src/genkit/lang/__init__.py → genkit-0.5.2/src/genkit/_core/_schema.py +15 -1
  47. genkit-0.5.2/src/genkit/_core/_trace/_adjusting_exporter.py +154 -0
  48. genkit-0.5.2/src/genkit/_core/_trace/_default_exporter.py +240 -0
  49. genkit-0.5.2/src/genkit/_core/_trace/_path.py +65 -0
  50. genkit-0.5.2/src/genkit/_core/_trace/_realtime_processor.py +56 -0
  51. genkit-0.5.2/src/genkit/_core/_trace/_suppress.py +35 -0
  52. genkit-0.5.1/src/genkit/core/tracing.py → genkit-0.5.2/src/genkit/_core/_tracing.py +22 -25
  53. genkit-0.5.2/src/genkit/_core/_typing.py +959 -0
  54. genkit-0.5.2/src/genkit/embedder/__init__.py +57 -0
  55. genkit-0.5.2/src/genkit/evaluator/__init__.py +64 -0
  56. genkit-0.5.2/src/genkit/model/__init__.py +83 -0
  57. genkit-0.5.2/src/genkit/plugin_api/__init__.py +97 -0
  58. {genkit-0.5.1/src/genkit/web → genkit-0.5.2/src/genkit/plugins}/__init__.py +11 -1
  59. {genkit-0.5.1 → genkit-0.5.2}/tests/genkit/ai/ai_plugin_test.py +11 -11
  60. {genkit-0.5.1 → genkit-0.5.2}/tests/genkit/ai/ai_registry_test.py +9 -69
  61. {genkit-0.5.1/tests/genkit/blocks → genkit-0.5.2/tests/genkit/ai}/dap_test.py +24 -159
  62. {genkit-0.5.1/tests/genkit/blocks → genkit-0.5.2/tests/genkit/ai}/document_test.py +20 -69
  63. {genkit-0.5.1/tests/genkit/blocks → genkit-0.5.2/tests/genkit/ai}/embedding_test.py +10 -12
  64. {genkit-0.5.1/tests/genkit/blocks → genkit-0.5.2/tests/genkit/ai}/formats/array_test.py +32 -19
  65. {genkit-0.5.1/tests/genkit/blocks → genkit-0.5.2/tests/genkit/ai}/formats/enum_test.py +12 -14
  66. {genkit-0.5.1/tests/genkit/blocks → genkit-0.5.2/tests/genkit/ai}/formats/formats_test.py +1 -6
  67. {genkit-0.5.1/tests/genkit/blocks → genkit-0.5.2/tests/genkit/ai}/formats/json_test.py +21 -31
  68. {genkit-0.5.1/tests/genkit/blocks → genkit-0.5.2/tests/genkit/ai}/formats/jsonl_test.py +37 -28
  69. {genkit-0.5.1/tests/genkit/blocks → genkit-0.5.2/tests/genkit/ai}/formats/text_test.py +12 -14
  70. {genkit-0.5.1 → genkit-0.5.2}/tests/genkit/ai/generate_operation_test.py +18 -20
  71. {genkit-0.5.1/tests/genkit/blocks → genkit-0.5.2/tests/genkit/ai}/generate_test.py +116 -101
  72. {genkit-0.5.1 → genkit-0.5.2}/tests/genkit/ai/genkit_api_test.py +16 -77
  73. {genkit-0.5.1/tests/genkit/blocks → genkit-0.5.2/tests/genkit/ai}/message_utils_test.py +9 -10
  74. {genkit-0.5.1/tests/genkit/blocks → genkit-0.5.2/tests/genkit/ai}/middleware_test.py +25 -28
  75. genkit-0.5.2/tests/genkit/ai/model_test.py +378 -0
  76. {genkit-0.5.1/tests/genkit/blocks → genkit-0.5.2/tests/genkit/ai}/prompt_test.py +33 -92
  77. {genkit-0.5.1 → genkit-0.5.2}/tests/genkit/ai/resource_integration_test.py +12 -14
  78. {genkit-0.5.1 → genkit-0.5.2}/tests/genkit/ai/resource_test.py +6 -11
  79. {genkit-0.5.1 → genkit-0.5.2}/tests/genkit/core/action_test.py +62 -148
  80. {genkit-0.5.1/tests/genkit/aio → genkit-0.5.2/tests/genkit/core}/channel_test.py +1 -1
  81. {genkit-0.5.1 → genkit-0.5.2}/tests/genkit/core/endpoints/reflection_test.py +80 -17
  82. {genkit-0.5.1 → genkit-0.5.2}/tests/genkit/core/environment_test.py +7 -27
  83. {genkit-0.5.1 → genkit-0.5.2}/tests/genkit/core/error_test.py +16 -46
  84. {genkit-0.5.1 → genkit-0.5.2}/tests/genkit/core/extract_test.py +6 -6
  85. genkit-0.5.2/tests/genkit/core/http_client_test.py +182 -0
  86. {genkit-0.5.1 → genkit-0.5.2}/tests/genkit/core/latency_test.py +4 -23
  87. {genkit-0.5.1 → genkit-0.5.2}/tests/genkit/core/registry_test.py +14 -8
  88. {genkit-0.5.1 → genkit-0.5.2}/tests/genkit/core/schema_test.py +1 -1
  89. {genkit-0.5.1 → genkit-0.5.2}/tests/genkit/core/status_types_test.py +1 -1
  90. {genkit-0.5.1 → genkit-0.5.2}/tests/genkit/core/trace/__init__.py +1 -1
  91. {genkit-0.5.1 → genkit-0.5.2}/tests/genkit/core/trace/adjusting_exporter_test.py +1 -1
  92. {genkit-0.5.1 → genkit-0.5.2}/tests/genkit/core/trace/default_exporter_test.py +72 -104
  93. {genkit-0.5.1 → genkit-0.5.2}/tests/genkit/core/trace/realtime_processor_test.py +11 -28
  94. {genkit-0.5.1 → genkit-0.5.2}/tests/genkit/testing_test.py +82 -71
  95. genkit-0.5.2/tests/genkit/veneer/reflection_server_test.py +137 -0
  96. {genkit-0.5.1 → genkit-0.5.2}/tests/genkit/veneer/server_test.py +2 -2
  97. {genkit-0.5.1 → genkit-0.5.2}/tests/genkit/veneer/veneer_resource_test.py +6 -6
  98. {genkit-0.5.1 → genkit-0.5.2}/tests/genkit/veneer/veneer_test.py +310 -360
  99. genkit-0.5.1/src/genkit/__init__.py +0 -116
  100. genkit-0.5.1/src/genkit/ai/__init__.py +0 -138
  101. genkit-0.5.1/src/genkit/ai/_aio.py +0 -1164
  102. genkit-0.5.1/src/genkit/ai/_base_async.py +0 -241
  103. genkit-0.5.1/src/genkit/ai/_registry.py +0 -1680
  104. genkit-0.5.1/src/genkit/ai/_server.py +0 -52
  105. genkit-0.5.1/src/genkit/aio/__init__.py +0 -84
  106. genkit-0.5.1/src/genkit/aio/_util.py +0 -58
  107. genkit-0.5.1/src/genkit/aio/channel.py +0 -221
  108. genkit-0.5.1/src/genkit/aio/loop.py +0 -154
  109. genkit-0.5.1/src/genkit/blocks/__init__.py +0 -78
  110. genkit-0.5.1/src/genkit/blocks/dap.py +0 -516
  111. genkit-0.5.1/src/genkit/blocks/document.py +0 -252
  112. genkit-0.5.1/src/genkit/blocks/embedding.py +0 -209
  113. genkit-0.5.1/src/genkit/blocks/evaluator.py +0 -90
  114. genkit-0.5.1/src/genkit/blocks/formats/__init__.py +0 -89
  115. genkit-0.5.1/src/genkit/blocks/interfaces.py +0 -94
  116. genkit-0.5.1/src/genkit/blocks/middleware.py +0 -143
  117. genkit-0.5.1/src/genkit/blocks/model.py +0 -544
  118. genkit-0.5.1/src/genkit/blocks/prompt.py +0 -2446
  119. genkit-0.5.1/src/genkit/blocks/reranker.py +0 -440
  120. genkit-0.5.1/src/genkit/blocks/resource.py +0 -434
  121. genkit-0.5.1/src/genkit/blocks/retriever.py +0 -359
  122. genkit-0.5.1/src/genkit/blocks/tools.py +0 -235
  123. genkit-0.5.1/src/genkit/codec.py +0 -153
  124. genkit-0.5.1/src/genkit/core/__init__.py +0 -122
  125. genkit-0.5.1/src/genkit/core/_compat.py +0 -39
  126. genkit-0.5.1/src/genkit/core/action/__init__.py +0 -35
  127. genkit-0.5.1/src/genkit/core/action/_action.py +0 -685
  128. genkit-0.5.1/src/genkit/core/action/_key.py +0 -61
  129. genkit-0.5.1/src/genkit/core/action/_tracing.py +0 -192
  130. genkit-0.5.1/src/genkit/core/action/_util.py +0 -90
  131. genkit-0.5.1/src/genkit/core/action/types.py +0 -94
  132. genkit-0.5.1/src/genkit/core/environment.py +0 -69
  133. genkit-0.5.1/src/genkit/core/error.py +0 -336
  134. genkit-0.5.1/src/genkit/core/extract.py +0 -263
  135. genkit-0.5.1/src/genkit/core/flows.py +0 -370
  136. genkit-0.5.1/src/genkit/core/http_client.py +0 -263
  137. genkit-0.5.1/src/genkit/core/logging.py +0 -132
  138. genkit-0.5.1/src/genkit/core/plugin.py +0 -220
  139. genkit-0.5.1/src/genkit/core/reflection.py +0 -597
  140. genkit-0.5.1/src/genkit/core/schema.py +0 -68
  141. genkit-0.5.1/src/genkit/core/status_types.py +0 -249
  142. genkit-0.5.1/src/genkit/core/trace/__init__.py +0 -39
  143. genkit-0.5.1/src/genkit/core/trace/adjusting_exporter.py +0 -470
  144. genkit-0.5.1/src/genkit/core/trace/default_exporter.py +0 -237
  145. genkit-0.5.1/src/genkit/core/trace/realtime_processor.py +0 -182
  146. genkit-0.5.1/src/genkit/core/trace/types.py +0 -109
  147. genkit-0.5.1/src/genkit/core/typing.py +0 -1066
  148. genkit-0.5.1/src/genkit/lang/deprecations.py +0 -109
  149. genkit-0.5.1/src/genkit/model_types.py +0 -76
  150. genkit-0.5.1/src/genkit/plugins/.gitignore +0 -0
  151. genkit-0.5.1/src/genkit/testing.py +0 -724
  152. genkit-0.5.1/src/genkit/types/__init__.py +0 -193
  153. genkit-0.5.1/src/genkit/web/manager/__init__.py +0 -44
  154. genkit-0.5.1/src/genkit/web/manager/_adapters.py +0 -196
  155. genkit-0.5.1/src/genkit/web/manager/_base_server.py +0 -107
  156. genkit-0.5.1/src/genkit/web/manager/_info.py +0 -384
  157. genkit-0.5.1/src/genkit/web/manager/_manager.py +0 -494
  158. genkit-0.5.1/src/genkit/web/manager/_ports.py +0 -91
  159. genkit-0.5.1/src/genkit/web/manager/_server.py +0 -178
  160. genkit-0.5.1/src/genkit/web/manager/signals.py +0 -234
  161. genkit-0.5.1/src/genkit/web/requests.py +0 -50
  162. genkit-0.5.1/src/genkit/web/typing.py +0 -177
  163. genkit-0.5.1/tests/genkit/aio/util_test.py +0 -90
  164. genkit-0.5.1/tests/genkit/blocks/model_test.py +0 -536
  165. genkit-0.5.1/tests/genkit/blocks/reranker_test.py +0 -547
  166. genkit-0.5.1/tests/genkit/blocks/retriever_test.py +0 -188
  167. genkit-0.5.1/tests/genkit/codec_test.py +0 -86
  168. genkit-0.5.1/tests/genkit/core/http_client_test.py +0 -243
  169. genkit-0.5.1/tests/genkit/lang/deprecations_test.py +0 -163
  170. genkit-0.5.1/tests/genkit/web/manager/signals_test.py +0 -193
  171. {genkit-0.5.1 → genkit-0.5.2}/.gitignore +0 -0
  172. {genkit-0.5.1 → genkit-0.5.2}/LICENSE +0 -0
  173. {genkit-0.5.1 → genkit-0.5.2}/src/genkit/py.typed +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: genkit
3
- Version: 0.5.1
3
+ Version: 0.5.2
4
4
  Summary: Genkit AI Framework
5
5
  Project-URL: Bug Tracker, https://github.com/firebase/genkit/issues
6
6
  Project-URL: Changelog, https://github.com/firebase/genkit/blob/main/py/packages/genkit/CHANGELOG.md
@@ -52,8 +52,6 @@ Requires-Dist: structlog>=25.2.0
52
52
  Requires-Dist: typing-extensions>=4.0
53
53
  Requires-Dist: uvicorn>=0.34.0
54
54
  Requires-Dist: uvloop>=0.21.0; sys_platform != 'win32'
55
- Provides-Extra: dev-local-vectorstore
56
- Requires-Dist: genkit-plugin-dev-local-vectorstore; extra == 'dev-local-vectorstore'
57
55
  Provides-Extra: flask
58
56
  Requires-Dist: genkit-plugin-flask; extra == 'flask'
59
57
  Provides-Extra: google-cloud
@@ -88,7 +86,7 @@ pip install genkit-plugin-google-genai
88
86
 
89
87
  ```python
90
88
  from pydantic import BaseModel, Field
91
- from genkit.ai import Genkit, Output
89
+ from genkit import Genkit
92
90
  from genkit.plugins.google_genai import GoogleAI
93
91
 
94
92
  ai = Genkit(
@@ -96,6 +94,7 @@ ai = Genkit(
96
94
  model='googleai/gemini-2.0-flash',
97
95
  )
98
96
 
97
+
99
98
  class RpgCharacter(BaseModel):
100
99
  """An RPG game character."""
101
100
 
@@ -103,11 +102,12 @@ class RpgCharacter(BaseModel):
103
102
  back_story: str = Field(description='back story')
104
103
  abilities: list[str] = Field(description='list of abilities (3-4)')
105
104
 
105
+
106
106
  @ai.flow()
107
107
  async def generate_character(name: str) -> RpgCharacter:
108
108
  result = await ai.generate(
109
109
  prompt=f'generate an RPG character named {name}',
110
- output=Output(schema=RpgCharacter),
110
+ output_schema=RpgCharacter,
111
111
  )
112
112
  return result.output
113
113
 
@@ -117,6 +117,7 @@ async def main() -> None:
117
117
  character = await generate_character('Goblorb')
118
118
  print(character.model_dump_json(indent=2))
119
119
 
120
+
120
121
  if __name__ == '__main__':
121
122
  ai.run_main(main())
122
123
  ```
@@ -18,7 +18,7 @@ pip install genkit-plugin-google-genai
18
18
 
19
19
  ```python
20
20
  from pydantic import BaseModel, Field
21
- from genkit.ai import Genkit, Output
21
+ from genkit import Genkit
22
22
  from genkit.plugins.google_genai import GoogleAI
23
23
 
24
24
  ai = Genkit(
@@ -26,6 +26,7 @@ ai = Genkit(
26
26
  model='googleai/gemini-2.0-flash',
27
27
  )
28
28
 
29
+
29
30
  class RpgCharacter(BaseModel):
30
31
  """An RPG game character."""
31
32
 
@@ -33,11 +34,12 @@ class RpgCharacter(BaseModel):
33
34
  back_story: str = Field(description='back story')
34
35
  abilities: list[str] = Field(description='list of abilities (3-4)')
35
36
 
37
+
36
38
  @ai.flow()
37
39
  async def generate_character(name: str) -> RpgCharacter:
38
40
  result = await ai.generate(
39
41
  prompt=f'generate an RPG character named {name}',
40
- output=Output(schema=RpgCharacter),
42
+ output_schema=RpgCharacter,
41
43
  )
42
44
  return result.output
43
45
 
@@ -47,6 +49,7 @@ async def main() -> None:
47
49
  character = await generate_character('Goblorb')
48
50
  print(character.model_dump_json(indent=2))
49
51
 
52
+
50
53
  if __name__ == '__main__':
51
54
  ai.run_main(main())
52
55
  ```
@@ -54,6 +54,7 @@ dependencies = [
54
54
  "pillow>=12.1.1",
55
55
  "typing_extensions>=4.0",
56
56
  "strenum>=0.4.15; python_version < '3.11'",
57
+
57
58
  "dotpromptz>=0.1.5",
58
59
  "uvicorn>=0.34.0",
59
60
  "uvloop>=0.21.0; sys_platform != 'win32'",
@@ -75,10 +76,9 @@ license = "Apache-2.0"
75
76
  name = "genkit"
76
77
  readme = "README.md"
77
78
  requires-python = ">=3.10"
78
- version = "0.5.1"
79
+ version = "0.5.2"
79
80
 
80
81
  [project.optional-dependencies]
81
- dev-local-vectorstore = ["genkit-plugin-dev-local-vectorstore"]
82
82
  flask = ["genkit-plugin-flask"]
83
83
  google-cloud = ["genkit-plugin-google-cloud"]
84
84
  google-genai = ["genkit-plugin-google-genai"]
@@ -106,7 +106,6 @@ testpaths = ["tests"]
106
106
 
107
107
  [tool.uv.sources]
108
108
  genkit-plugin-compat-oai = { workspace = true }
109
- genkit-plugin-dev-local-vectorstore = { workspace = true }
110
109
  genkit-plugin-flask = { workspace = true }
111
110
  genkit-plugin-google-genai = { workspace = true }
112
111
  genkit-plugin-ollama = { workspace = true }
@@ -0,0 +1,135 @@
1
+ # Copyright 2025 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+ #
15
+ # SPDX-License-Identifier: Apache-2.0
16
+
17
+ """Genkit — Build AI-powered applications."""
18
+
19
+ from genkit._ai._aio import ActionKind, ActionRunContext, Genkit
20
+ from genkit._ai._prompt import (
21
+ ExecutablePrompt,
22
+ ModelStreamResponse,
23
+ PromptGenerateOptions,
24
+ ResumeOptions,
25
+ )
26
+ from genkit._ai._tools import ToolInterruptError, ToolRunContext, tool_response
27
+ from genkit._core._action import Action, StreamResponse
28
+ from genkit._core._error import GenkitError, PublicError
29
+ from genkit._core._model import Document
30
+ from genkit._core._plugin import Plugin
31
+ from genkit._core._plugins import extend_plugin_namespace
32
+ from genkit._core._typing import (
33
+ CustomPart,
34
+ DocumentPart,
35
+ Media,
36
+ MediaPart,
37
+ Metadata,
38
+ Part,
39
+ ReasoningPart,
40
+ Role,
41
+ TextPart,
42
+ ToolChoice,
43
+ ToolRequest,
44
+ ToolRequestPart,
45
+ ToolResponse,
46
+ ToolResponsePart,
47
+ )
48
+
49
+ # Import embedder-related types from the embedder namespace
50
+ from genkit.embedder import (
51
+ EmbedderOptions,
52
+ EmbedderRef,
53
+ Embedding,
54
+ EmbedRequest,
55
+ EmbedResponse,
56
+ )
57
+
58
+ # Import model-related types from the model namespace.
59
+ from genkit.model import (
60
+ Constrained,
61
+ FinishReason,
62
+ Message,
63
+ ModelConfig,
64
+ ModelInfo,
65
+ ModelRequest,
66
+ ModelResponse,
67
+ ModelResponseChunk,
68
+ ModelUsage,
69
+ Stage,
70
+ Supports,
71
+ ToolDefinition,
72
+ )
73
+
74
+ # Flow is an alias for Action (used in samples for flow type hints)
75
+ Flow = Action
76
+
77
+ extend_plugin_namespace()
78
+
79
+ __all__ = [
80
+ # Main class
81
+ 'Genkit',
82
+ 'Flow',
83
+ # Response types
84
+ 'Action',
85
+ 'StreamResponse',
86
+ 'EmbedRequest',
87
+ 'EmbedResponse',
88
+ 'EmbedderOptions',
89
+ 'EmbedderRef',
90
+ 'ModelConfig',
91
+ 'ModelInfo',
92
+ 'ModelStreamResponse',
93
+ # Errors
94
+ 'GenkitError',
95
+ 'PublicError',
96
+ 'ToolInterruptError',
97
+ # Content types
98
+ 'Constrained',
99
+ 'CustomPart',
100
+ 'Embedding',
101
+ 'Metadata',
102
+ 'ReasoningPart',
103
+ 'FinishReason',
104
+ 'ModelUsage',
105
+ 'Media',
106
+ 'MediaPart',
107
+ 'Message',
108
+ 'Part',
109
+ 'Role',
110
+ 'Stage',
111
+ 'Supports',
112
+ 'TextPart',
113
+ 'ToolChoice',
114
+ 'ToolDefinition',
115
+ 'ToolRequest',
116
+ 'ToolRequestPart',
117
+ 'ToolResponse',
118
+ 'ToolResponsePart',
119
+ # Domain types
120
+ 'Document',
121
+ 'DocumentPart',
122
+ # Plugin interface
123
+ 'Plugin',
124
+ # AI runtime
125
+ 'ActionKind',
126
+ 'ActionRunContext',
127
+ 'ExecutablePrompt',
128
+ 'PromptGenerateOptions',
129
+ 'ResumeOptions',
130
+ 'ToolRunContext',
131
+ 'tool_response',
132
+ 'ModelRequest',
133
+ 'ModelResponse',
134
+ 'ModelResponseChunk',
135
+ ]