dify_plugin 0.3.2__tar.gz → 0.3.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 (139) hide show
  1. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/PKG-INFO +2 -2
  2. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/README.md +1 -1
  3. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/entities/agent.py +3 -0
  4. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/entities/provider_config.py +3 -0
  5. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/entities/tool.py +5 -0
  6. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/interfaces/agent/__init__.py +8 -4
  7. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/pyproject.toml +1 -1
  8. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/LICENSE +0 -0
  9. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/__init__.py +0 -0
  10. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/cli.py +0 -0
  11. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/commands/__init__.py +0 -0
  12. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/commands/generate_docs.py +0 -0
  13. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/config/__init__.py +0 -0
  14. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/config/config.py +0 -0
  15. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/config/integration_config.py +0 -0
  16. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/config/logger_format.py +0 -0
  17. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/core/__init__.py +0 -0
  18. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/core/documentation/__init__.py +0 -0
  19. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/core/documentation/generator.py +0 -0
  20. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/core/documentation/schema_doc.py +0 -0
  21. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/core/entities/__init__.py +0 -0
  22. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/core/entities/invocation.py +0 -0
  23. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/core/entities/message.py +0 -0
  24. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/core/entities/plugin/__init__.py +0 -0
  25. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/core/entities/plugin/io.py +0 -0
  26. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/core/entities/plugin/parameter_type.py +0 -0
  27. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/core/entities/plugin/request.py +0 -0
  28. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/core/entities/plugin/setup.py +0 -0
  29. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/core/plugin_executor.py +0 -0
  30. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/core/plugin_registration.py +0 -0
  31. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/core/runtime.py +0 -0
  32. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/core/server/__base/__init__.py +0 -0
  33. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/core/server/__base/filter_reader.py +0 -0
  34. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/core/server/__base/request_reader.py +0 -0
  35. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/core/server/__base/response_writer.py +0 -0
  36. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/core/server/__base/writer_entities.py +0 -0
  37. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/core/server/__init__.py +0 -0
  38. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/core/server/io_server.py +0 -0
  39. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/core/server/router.py +0 -0
  40. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/core/server/serverless/__init__.py +0 -0
  41. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/core/server/serverless/request_reader.py +0 -0
  42. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/core/server/serverless/response_writer.py +0 -0
  43. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/core/server/stdio/__init__.py +0 -0
  44. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/core/server/stdio/request_reader.py +0 -0
  45. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/core/server/stdio/response_writer.py +0 -0
  46. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/core/server/tcp/__init__.py +0 -0
  47. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/core/server/tcp/request_reader.py +0 -0
  48. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/core/utils/__init__.py +0 -0
  49. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/core/utils/class_loader.py +0 -0
  50. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/core/utils/http_parser.py +0 -0
  51. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/core/utils/position_helper.py +0 -0
  52. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/core/utils/yaml_loader.py +0 -0
  53. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/entities/__init__.py +0 -0
  54. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/entities/endpoint.py +0 -0
  55. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/entities/model/__init__.py +0 -0
  56. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/entities/model/llm.py +0 -0
  57. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/entities/model/message.py +0 -0
  58. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/entities/model/moderation.py +0 -0
  59. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/entities/model/provider.py +0 -0
  60. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/entities/model/rerank.py +0 -0
  61. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/entities/model/speech2text.py +0 -0
  62. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/entities/model/text_embedding.py +0 -0
  63. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/entities/model/tts.py +0 -0
  64. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/entities/oauth.py +0 -0
  65. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/entities/workflow_node.py +0 -0
  66. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/errors/__init__.py +0 -0
  67. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/errors/model.py +0 -0
  68. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/errors/tool.py +0 -0
  69. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/file/__init__.py +0 -0
  70. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/file/constants.py +0 -0
  71. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/file/entities.py +0 -0
  72. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/file/file.py +0 -0
  73. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/integration/entities.py +0 -0
  74. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/integration/exc.py +0 -0
  75. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/integration/run.py +0 -0
  76. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/interfaces/__init__.py +0 -0
  77. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/interfaces/endpoint/__init__.py +0 -0
  78. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/interfaces/model/__init__.py +0 -0
  79. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/interfaces/model/ai_model.py +0 -0
  80. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/interfaces/model/audio.mp3 +0 -0
  81. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/interfaces/model/large_language_model.py +0 -0
  82. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/interfaces/model/moderation_model.py +0 -0
  83. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/interfaces/model/openai_compatible/__init__.py +0 -0
  84. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/interfaces/model/openai_compatible/common.py +0 -0
  85. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/interfaces/model/openai_compatible/llm.py +0 -0
  86. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/interfaces/model/openai_compatible/provider.py +0 -0
  87. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/interfaces/model/openai_compatible/rerank.py +0 -0
  88. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/interfaces/model/openai_compatible/speech2text.py +0 -0
  89. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/interfaces/model/openai_compatible/text_embedding.py +0 -0
  90. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/interfaces/model/openai_compatible/tts.py +0 -0
  91. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/interfaces/model/rerank_model.py +0 -0
  92. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/interfaces/model/speech2text_model.py +0 -0
  93. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/interfaces/model/text_embedding_model.py +0 -0
  94. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/interfaces/model/tts_model.py +0 -0
  95. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/interfaces/tool/__init__.py +0 -0
  96. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/invocations/__init__.py +0 -0
  97. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/invocations/app/__init__.py +0 -0
  98. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/invocations/app/chat.py +0 -0
  99. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/invocations/app/completion.py +0 -0
  100. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/invocations/app/workflow.py +0 -0
  101. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/invocations/file.py +0 -0
  102. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/invocations/model/__init__.py +0 -0
  103. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/invocations/model/llm.py +0 -0
  104. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/invocations/model/moderation.py +0 -0
  105. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/invocations/model/rerank.py +0 -0
  106. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/invocations/model/speech2text.py +0 -0
  107. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/invocations/model/text_embedding.py +0 -0
  108. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/invocations/model/tts.py +0 -0
  109. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/invocations/storage.py +0 -0
  110. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/invocations/tool.py +0 -0
  111. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/invocations/workflow_node/__init__.py +0 -0
  112. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/invocations/workflow_node/parameter_extractor.py +0 -0
  113. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/invocations/workflow_node/question_classifier.py +0 -0
  114. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/plugin.py +0 -0
  115. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/protocol/__init__.py +0 -0
  116. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/protocol/oauth.py +0 -0
  117. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/tool/__init__.py +0 -0
  118. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/dify_plugin/tool/entities.py +0 -0
  119. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/tests/__init__.py +0 -0
  120. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/tests/__mock_server/__init__.py +0 -0
  121. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/tests/__mock_server/openai.py +0 -0
  122. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/tests/config/test_config.py +0 -0
  123. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/tests/consts/mockserver.py +0 -0
  124. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/tests/entities/endpoint/test_endpoint_group.py +0 -0
  125. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/tests/entities/models/test_llm.py +0 -0
  126. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/tests/entities/plugin/test_declaration.py +0 -0
  127. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/tests/integration/test_invoke_llm.py +0 -0
  128. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/tests/interfaces/agent/test_agent.py +0 -0
  129. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/tests/interfaces/model/__init__.py +0 -0
  130. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/tests/interfaces/model/openai_compatible/__init__.py +0 -0
  131. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/tests/interfaces/model/openai_compatible/test_increase_tool_call.py +0 -0
  132. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/tests/interfaces/tool/__init__.py +0 -0
  133. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/tests/interfaces/tool/test_construct_tool_provider.py +0 -0
  134. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/tests/invocations/test_storage.py +0 -0
  135. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/tests/servers/test_stdio.py +0 -0
  136. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/tests/test_llm_result.py +0 -0
  137. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/tests/test_prompt_message.py +0 -0
  138. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/tests/test_tool_call_model_init.py +0 -0
  139. {dify_plugin-0.3.2 → dify_plugin-0.3.4}/tests/utils/test_http_parser.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dify_plugin
3
- Version: 0.3.2
3
+ Version: 0.3.4
4
4
  Summary: Dify Plugin SDK
5
5
  Keywords: dify,plugin,sdk
6
6
  Author-Email: langgenius <hello@dify.ai>
@@ -43,6 +43,6 @@ When depending on this SDK, it's recommended to specify version constraints that
43
43
  Example in your project's dependency management:
44
44
 
45
45
  ```
46
- dify_plugin>=0.2.0,<0.3.0
46
+ dify_plugin>=0.3.0,<0.4.0
47
47
  ```
48
48
 
@@ -19,6 +19,6 @@ When depending on this SDK, it's recommended to specify version constraints that
19
19
  Example in your project's dependency management:
20
20
 
21
21
  ```
22
- dify_plugin>=0.2.0,<0.3.0
22
+ dify_plugin>=0.3.0,<0.4.0
23
23
  ```
24
24
 
@@ -60,6 +60,9 @@ class AgentStrategyParameter(BaseModel):
60
60
  TOOLS_SELECTOR = CommonParameterType.TOOLS_SELECTOR.value
61
61
  # TOOL_SELECTOR = CommonParameterType.TOOL_SELECTOR.value
62
62
  ANY = CommonParameterType.ANY.value
63
+ # MCP object and array type parameters
64
+ OBJECT = CommonParameterType.OBJECT.value
65
+ ARRAY = CommonParameterType.ARRAY.value
63
66
 
64
67
  name: str = Field(..., description="The name of the parameter")
65
68
  label: I18nObject = Field(..., description="The label presented to the user")
@@ -34,6 +34,9 @@ class CommonParameterType(Enum):
34
34
  # TOOL_SELECTOR = "tool-selector"
35
35
  TOOLS_SELECTOR = "array[tools]"
36
36
  ANY = "any"
37
+ # MCP object and array type parameters
38
+ OBJECT = "object"
39
+ ARRAY = "array"
37
40
 
38
41
 
39
42
  @docs(
@@ -218,6 +218,9 @@ class ToolParameter(BaseModel):
218
218
  APP_SELECTOR = CommonParameterType.APP_SELECTOR.value
219
219
  # TOOL_SELECTOR = CommonParameterType.TOOL_SELECTOR.value
220
220
  ANY = CommonParameterType.ANY.value
221
+ # MCP object and array type parameters
222
+ OBJECT = "object"
223
+ ARRAY = "array"
221
224
 
222
225
  class ToolParameterForm(Enum):
223
226
  SCHEMA = "schema" # should be set while adding tool
@@ -241,6 +244,8 @@ class ToolParameter(BaseModel):
241
244
  max: Optional[Union[float, int]] = None
242
245
  precision: Optional[int] = None
243
246
  options: Optional[list[ToolParameterOption]] = None
247
+ # MCP object and array type parameters use this field to store the schema
248
+ input_schema: Optional[Mapping[str, Any]] = None
244
249
 
245
250
 
246
251
  @docs(
@@ -295,10 +295,14 @@ class AgentStrategy(ToolLike[AgentInvokeMessage]):
295
295
  if parameter.type == ToolParameter.ToolParameterType.SELECT:
296
296
  enum = [option.value for option in parameter.options] if parameter.options else []
297
297
 
298
- message_tool.parameters["properties"][parameter.name] = {
299
- "type": parameter_type,
300
- "description": parameter.llm_description or "",
301
- }
298
+ message_tool.parameters["properties"][parameter.name] = (
299
+ {
300
+ "type": parameter_type,
301
+ "description": parameter.llm_description or "",
302
+ }
303
+ if parameter.input_schema is None
304
+ else parameter.input_schema
305
+ )
302
306
 
303
307
  if len(enum) > 0:
304
308
  message_tool.parameters["properties"][parameter.name]["enum"] = enum
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "dify_plugin"
3
- version = "0.3.2"
3
+ version = "0.3.4"
4
4
  description = "Dify Plugin SDK"
5
5
  authors = [
6
6
  { name = "langgenius", email = "hello@dify.ai" },
File without changes