Commit Graph

20 Commits

Author SHA1 Message Date
Harry 7c40929ddd refactor(plugin_entities): built-in schema & new datasource structure 2025-08-08 15:56:08 +08:00
Harry 50b81c0232 refactor(plugin_entities): centralize built-in schema definitions and processing 2025-08-07 17:19:08 +08:00
Harry 0e9ec24f16 Merge remote-tracking branch 'origin/main' into feat/datasource
# Conflicts:
#	internal/core/plugin_daemon/access_types/access.go
#	internal/server/http_server.gen.go
2025-08-07 12:01:06 +08:00
Harry 99fcbd138d feat(plugin_entities): add built-in schema definitions and processing for datasource YAML 2025-08-07 00:33:00 +08:00
Yeuoly 80389be55b chore(deps): update go-git and golang.org/x/tools dependencies (#410)
- Updated github.com/go-git/go-git from v4.7.0 to v5.16.2.
- Bumped golang.org/x/tools from v0.22.0 to v0.35.0.
- Added indirect dependencies for github.com/go-git/gcfg and github.com/go-git/go-billy.
- Updated various indirect dependencies including golang.org/x/net, golang.org/x/sys, and golang.org/x/text.
2025-07-23 16:22:48 +08:00
Yeuoly 7f463e32f6 feat(plugin_decoder): add support for internationalized readme files (#393)
* feat(plugin_decoder): add support for internationalized readme files

- Introduced the AvailableI18nReadme method in the PluginDecoder interface to retrieve available readme files in multiple languages.
- Implemented the method in FSPluginDecoder and ZipPluginDecoder to read localized readme files from the filesystem and zip archives.
- Enhanced UnixPluginDecoder to handle readme files in a structured manner, including support for reading from a dedicated "readme" directory.
- Added unit tests to verify the functionality of the AvailableI18nReadme method and ensure correct retrieval of localized readme content.

* feat(plugin): add support for multilingual README generation

- Introduced functionality to create README files in multiple languages (Simplified Chinese, Japanese, Portuguese) based on user selection.
- Enhanced the profile management to include options for enabling internationalized README and selecting languages.
- Added new language choice structure to manage language options and their selection state.
- Implemented rendering and writing of language-specific README files during plugin creation.
- Included new README template files for each supported language.

* feat(plugin): add README command and list functionality

- Introduced a new `readme` command to the plugin CLI for managing README files.
- Added `list` subcommand to display available README languages for a specified plugin path.
- Implemented functionality to read and list supported README languages in a tabular format.
- Enhanced error handling for plugin file reading and decoding processes.
2025-07-21 16:02:26 +08:00
Harry eb2d0e917c Merge remote-tracking branch 'origin' into feat/datasource 2025-07-18 12:57:01 +08:00
Yeuoly b97cce7167 enhance(cli/icon): add multiple categories default plugin icons (#388)
* feat: add support for dark icon

- Introduced IconDark field in PluginDeclaration and related structures to support dark mode icons.
- Updated the installation process to handle dark icons.
- Enhanced asset validation to check for the presence of dark icons.

This change improves the visual consistency of plugins in dark mode environments.

* enhance(cli/icon): add plugin icon support with multiple categories

- Added support for light and dark icons for various plugin categories including agent, datasource, extension, model, tool, and trigger.
- Replaced the previous single icon implementation with a structured map for better organization and retrieval of icons based on category and theme.
- Removed the old Python icon file to streamline asset management.

This update improves the visual representation of plugins across different themes, enhancing user experience.

* change icons

* fix

* fix

* comments
2025-07-08 12:48:48 +08:00
Yeuoly 0c4b3f3437 Merge branch 'main' into feat/datasource 2025-05-28 16:55:03 +08:00
Byron.wang b3c68cbeec add packaged file info when plugin package larger than max size (#312) 2025-05-27 13:02:25 +08:00
Yeuoly a953ca2e35 Merge branch 'main' into feat/datasource 2025-05-26 13:14:55 +08:00
Yeuoly 478c98da5c fix: signature dose not work as expected, if upload new pkg to old dify (#311)
- Updated the  method in the  interface to remove the  parameter, simplifying its usage.
- Introduced a new  function to provide a default verification structure.
- Added a  file to store verification data, improving the plugin signing process.
- Enhanced tests in  to validate the verification process, ensuring proper handling of success and failure scenarios.
- Refactored related code to accommodate the new verification structure and improve overall maintainability.
2025-05-26 13:10:34 +08:00
Yeuoly aa60b21504 feat(datasource): Add initial datasource models and validation
- Introduced new `DatasourceInstallation` model to represent datasource installations with relevant fields.
- Created `datasource.go` file for future datasource service implementation.
- Enhanced `datasource_declaration.go` with new types and validation functions for datasource provider and parameters.
- Updated `plugin_declaration.go` to include datasource support in plugin structures.
- Refactored `agent_declaration.go` and `tool_declaration.go` to use a unified `ParameterOption` type for options.
2025-05-23 17:45:24 +08:00
Yeuoly 9a1da25d59 feat: Enhance plugin signing with authorized category verification (#293)
* feat: Enhance plugin signing with authorized category verification

- Added support for an `authorized_category` flag in the signature command to validate the category before signing.
- Updated the `Sign` function to accept a verification parameter, allowing for category-based signing.
- Enhanced error handling for invalid categories during the signing process.
- Updated tests to cover new verification scenarios and ensure proper functionality with the authorized category.

* fix

* fix

* test

* test: Add unit test for plugin verification without verification field

- Introduced a new test case to verify the behavior of plugins that lack a verification field.
- Updated the signature_test.go file to include the test, ensuring proper functionality of the signing process.
- Removed the outdated verifier_test.go file and associated test data to streamline the codebase.
2025-05-21 20:05:45 +08:00
Yeuoly 280caa3ae0 Fix/windows remap assets (#212)
* refactor(plugin_packager): update Assets method to use OS-independent path separator

- Modified the Assets method in FSPluginDecoder and PluginDecoderHelper to accept a separator argument, ensuring compatibility across different operating systems.
- Updated the Assets method in ZipPluginDecoder to use '/' as the separator for zip files, addressing issue #166.
- Improved code readability by adjusting formatting in the ZipPluginDecoder struct.

* fix: add tests
2025-04-16 17:51:17 +08:00
kurokobo 01747753f7 feat: add tests for third-party signature verification 2025-04-02 13:48:08 +00:00
kurokobo c8fc7907c9 fix: move test files to testdata 2025-04-02 13:48:08 +00:00
kurokobo 6f75bcca43 feat: verify plugin with public keys specified in environment variable in addition to official one 2025-04-02 13:48:04 +00:00
kurokobo ee1a0dca15 feat: add signature subcommand to cli to generate key pair, sign, and verify difypkg file 2025-04-01 14:20:23 +00:00
Yeuoly 975f9d5c31 fix: move packager to pkg 2025-02-06 18:16:49 +08:00