Commit Graph

144 Commits

Author SHA1 Message Date
Dongyu Li e12eb45e06 feat:update GetWebsiteCrawlResponse entity 2025-06-06 17:15:50 +08:00
Novice 95d1ea0bdb feat: agent plugin handle object and array type 2025-06-05 14:36:27 +08:00
Novice f614c4345c feat: add mcp tool type 2025-05-28 15:43:55 +08:00
Dongyu Li b7ef900b2f feat:update GetOnlineDocumentPageContentRequest entity 2025-05-27 17:21:20 +08:00
Yeuoly 1b410adfc3 refactor: update Notion datasource configuration and provider
- Removed the `provider` field from `DatasourceIdentity` in the manifest.
- Added identity and description fields to `notion.yaml` for better clarity.
- Enhanced `notion.py` with OAuth methods for authorization and credential handling.
- Updated `notion.yaml` to include icon and provider type information.
2025-05-26 15:40:24 +08:00
Yeuoly 040d8d5ddd feat: enhance datasource provider model with validation and documentation
- Added validation for the `datasources` field in `DatasourceProviderManifest` to ensure it is a list of strings representing datasource paths.
- Introduced YAML loading for datasource configurations, improving the handling of datasource entities.
- Enhanced documentation annotations for `DatasourceProviderType`, `DatasourceParameter`, and `DatasourceIdentity` classes to clarify their purpose and usage.
2025-05-23 18:39:43 +08:00
Yeuoly 94d28ca13c feat: extend datasource and provider models with additional fields
- Added `DatasourceEntityExtra` and `DatasourceProviderConfigurationExtra` classes to encapsulate extra information for datasource and provider entities.
- Updated `DatasourceEntity` and `DatasourceProviderManifest` to include new `extra` fields, enhancing the data structure and documentation.
- Introduced documentation annotations for improved clarity on the purpose of new classes and fields.
2025-05-23 18:36:05 +08:00
Yeuoly cae56704be feat: enhance entity models with new datasource and parameter options
- Introduced `DatasourceProviderType`, `DatasourceParameter`, and related classes to support new datasource functionalities.
- Added `ParameterOption`, `ParameterAutoGenerate`, and `ParameterTemplate` classes for improved parameter handling.
- Updated existing models to utilize the new parameter classes, enhancing type safety and documentation.
2025-05-23 18:30:41 +08:00
Yeuoly 8f5e27732c feat: add online document and website crawl datasource interfaces
- Introduced `OnlineDocumentDatasource` and `WebsiteCrawlDatasource` abstract classes for handling online document and website crawl functionalities.
- Added corresponding methods for retrieving pages and content, enhancing the datasource capabilities.
- Created new models for online document and website information to support the new interfaces.
2025-05-23 18:17:04 +08:00
Yeuoly 07cca4dc85 feat: datasource 2025-05-19 22:26:06 +08:00
Yeuoly 6d5d601804 feat[0.4.0](oauth): implement OAuth authorization URL and credentials retrieval (#116)
* feat(oauth): implement OAuth authorization URL and credentials retrieval

- Added OAuthGetAuthorizationUrlRequest and OAuthGetCredentialsRequest models for handling OAuth requests.
- Introduced methods in PluginExecutor for generating OAuth authorization URLs and retrieving OAuth credentials.
- Updated ToolProvider interface to include OAuth methods for authorization URL and credentials handling.
- Refactored PluginInvokeType and related action enums to support OAuth actions.
2025-05-19 22:13:53 +08:00
Yeuoly e4b0d5a181 feat(endpoint): support declare endpoints in groups (#130)
- Introduced a class method `_load_yaml_file` to encapsulate YAML file loading logic.
- Enhanced the `validate_endpoints` method to support both direct endpoint configurations and YAML file paths.
- Added unit tests for loading endpoint configurations from YAML strings and files.
2025-05-06 15:57:32 +08:00
Tianyi Jing 931e4d1485 feat: support list in ToolInvokeMessage.JsonMessage (#122)
Signed-off-by: jingfelix <jingfelix@outlook.com>
2025-05-06 15:54:47 +08:00
Yeuoly 038edf957e feat: generate docs automatically (#121)
- Added CLI for generating documentation with `generate-docs` command.
- Introduced `SchemaDocumentationGenerator` to create structured documentation from schemas.
- Implemented `SchemaDoc` class for schema metadata and documentation management.
- Updated `PluginConfiguration` to include descriptions for plugin components.
- Added support for outside reference fields in the SchemaDocumentationGenerator to improve documentation clarity.
- Updated SchemaDoc to include outside_reference_fields parameter.
- Modified various entity classes to utilize outside_reference_fields for better schema representation.
- Introduced new container type checks and helper methods for handling dynamic fields in documentation generation.
2025-04-30 14:48:03 +08:00
Kollin bed0cc106c agent node add runtime(user_id) (#115)
* agent node add runtime(user_id)

* add optional for user_id
2025-04-27 16:46:56 +08:00
Chieh Wang 293d622e68 feat: Add Citations and Attributions to Agent Node (#107)
* feat: support var-selector params & surpport retriever_resources messsage

* opt: rename var-select to any

* fix: line too long

* opt: Add RetrieverResource Type
2025-04-27 13:54:22 +08:00
Junjie.M f714fc9bf7 feat: agent strategy parameter add help field (#99) 2025-04-17 14:00:32 +08:00
Yeuoly ca736effd7 feat(invocation): add FetchAppInvocation and update type hints for improved clarity (#100)
* feat(invocation): add FetchAppInvocation and update type hints for improved clarity

- Introduced FetchAppInvocation class to handle fetching app data.
- Updated type hints in ToolInvokeMessage and related classes to use Mapping for better type safety.
- Added FetchApp enum value to InvokeType for consistency in invocation types.

* apply ruff
2025-04-16 20:25:39 +08:00
Novice e2447622a8 feat(model): add structured output feature to model 2025-04-15 14:00:27 +08:00
QuantumGhost 5cb24625c3 ci(python): Add CI Pipeline for Python SDK (#72)
* chore(python): temporarily disable `UP007` rule in Ruff

Disable the `UP007` rule temporarily due to numerous existing
violations in the current codebase.

* ci(python): add lint and test for Python SDK

* ci: Add mega-linter

* chore(python): Add final newline to markdown files

* fix(python): Fix linter issues by using ruff's auto fix

* fix(python): Fix TRY400 linter violations

Ruff suggests using `logger.exception` to log when
logging an exception, instead of using `logging.error`.

The former logs the exception and the traceback
automatically.

ref: https://docs.astral.sh/ruff/rules/error-instead-of-exception/

* fix(python): fix ruff linter violations

* test(python): Add Test cases for LLM entities

Test the initialization of `LLMResult` and `LLMResultChunk`.

* test(python): Add test for `AgentModelConfig`

Ensures that the `history_prompt_messages` attribute is
not shared between instances of `AgentModelConfig`.

* chore(python): output diffs in Ruff's format check

* style(python): format code with Ruff

* chore(python): Add a bash script for fix and format python code

* chore: add `persist-credentials: false` to checkout action

Enhances security by preventing subsequent
steps from accessing GitHub credentials, reducing
potential attack surfaces.

Ref: https://github.com/actions/checkout#checkout-v4
2025-04-14 20:25:19 +08:00
Yeuoly 12ad9db9b5 enhancement: remove prompt_messages from LLMResult and LLMResultChunk (#88)
* refactor: remove prompt_messages from LLMResult and LLMResultChunk

* fix: add backward compatibility for deprecated prompt_messages field in LLMResult and LLMResultChunk

* fix: set default value for prompt_messages field to an empty list in LLMResult and LLMResultChunk for backward compatibility

* feat: add test for LLMResult to validate prompt_messages field and ensure backward compatibility

* apply ruff
2025-04-11 15:23:05 +08:00
Vitor 6860f207c2 fix: ensure string fields in ToolCall default to empty string during initialization if set to explicit None (#82) 2025-04-10 14:45:39 +08:00
Junyan Qin (Chin) 0216ed8187 feat: add supports for provider to register array[tool] type field (#78) 2025-04-07 16:14:36 +08:00
-LAN- b3dac93c99 fix(entities/model/message): prompt message cannot validate when pass multi type contents (#73) 2025-03-28 10:58:42 +09:00
Novice 72d3e1ad03 Merge branch 'main' into feat/agent-memory 2025-03-26 13:20:06 +08:00
QuantumGhost bf79e6591d feat(python): Enable pycodestyle (W) warning ruleset with ruff (#69)
Refactor codebase to fix pre-existing style issues flagged by the ruleset.
2025-03-24 19:21:00 +08:00
Novice 193c061333 feat: add history message feature 2025-03-24 09:20:08 +08:00
-LAN- 967084177f fix: Update prompt message content types to use Literal and add union type for content (#49)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2025-03-17 17:28:21 +08:00
-LAN- b7a30ae78a fix: cannot init prompt message (#42)
* chore(*): Add pytest into test group

Signed-off-by: -LAN- <laipz8200@outlook.com>

* fix: Enhance content transformation to support Sequence type and add unit tests

Signed-off-by: -LAN- <laipz8200@outlook.com>

---------

Signed-off-by: -LAN- <laipz8200@outlook.com>
2025-03-14 13:36:48 +08:00
Novice Lee afc8397bc3 feat: add metadata to log 2025-02-07 10:53:20 +08:00
非法操作 85f7fa302d label display error when use_template (#14) 2025-01-14 18:01:44 +08:00
非法操作 f9df7e9577 sync MultiModalPromptMessageContent (#13) 2025-01-14 17:58:42 +08:00
Novice Lee fb24978387 feat: add agent node log 2025-01-09 08:51:43 +08:00
Novice 43e58b93e7 Merge pull request #7 from langgenius/feat/agent-node
feat: add agent strategy support
2025-01-08 07:50:49 +08:00
Novice Lee 92558f5c07 feat: add agent strategy support 2025-01-08 07:48:27 +08:00
Yeuoly 92cf93cdae fix some bugs 2025-01-03 17:30:02 +08:00
Yeuoly fa458ab0d9 fix: get attribute dose not exists in BlobMessage 2025-01-03 14:47:49 +08:00
Yeuoly bc4e9a05aa fix: variable message 2024-12-27 22:57:38 +08:00
Yeuoly 3e7565f075 feat: support percision to agent strategy parameter 2024-12-27 18:03:58 +08:00
Yeuoly 82438a99a2 feat: support parameter auto generate 2024-12-26 17:28:42 +08:00
Yeuoly d450c94888 fix: using absolute importing 2024-12-17 18:24:31 +08:00
Yeuoly f408642b27 fix: missing output schema 2024-12-17 18:14:40 +08:00
Yeuoly 74c8f073c9 feat: add label to agent log 2024-12-15 18:15:01 +08:00
Yeuoly 95dbdb2c4f feat: support hidden 2024-12-13 22:53:50 +08:00
Yeuoly 4ae9b45006 feat: support dify tool selector 2024-12-13 22:49:51 +08:00
Yeuoly 269627916c optimize agent 2024-12-13 15:08:12 +08:00
Yeuoly ba023e3470 feat: support agent log 2024-12-13 00:07:52 +08:00
Yeuoly c93028221c refactor: support agent 2024-12-12 19:15:00 +08:00
Yeuoly a623638d01 refactor: rename agent to agent strategy 2024-12-12 18:26:34 +08:00
Yeuoly 15c14aedf8 feat: agent plugin 2024-12-09 22:01:41 +08:00