synapse-sdk 1.0.0a13__py3-none-any.whl → 2025.11.7__py3-none-any.whl
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.
Potentially problematic release.
This version of synapse-sdk might be problematic. Click here for more details.
- synapse_sdk/__init__.py +24 -0
- synapse_sdk/cli/__init__.py +310 -5
- synapse_sdk/cli/alias/__init__.py +22 -0
- synapse_sdk/cli/alias/create.py +36 -0
- synapse_sdk/cli/alias/dataclass.py +31 -0
- synapse_sdk/cli/alias/default.py +16 -0
- synapse_sdk/cli/alias/delete.py +15 -0
- synapse_sdk/cli/alias/list.py +19 -0
- synapse_sdk/cli/alias/read.py +15 -0
- synapse_sdk/cli/alias/update.py +17 -0
- synapse_sdk/cli/alias/utils.py +61 -0
- synapse_sdk/cli/code_server.py +687 -0
- synapse_sdk/cli/config.py +440 -0
- synapse_sdk/cli/devtools.py +90 -0
- synapse_sdk/cli/plugin/__init__.py +33 -0
- synapse_sdk/cli/{create_plugin.py → plugin/create.py} +2 -2
- synapse_sdk/cli/plugin/publish.py +45 -0
- synapse_sdk/{plugins/cli → cli/plugin}/run.py +12 -5
- synapse_sdk/clients/agent/__init__.py +9 -3
- synapse_sdk/clients/agent/container.py +133 -0
- synapse_sdk/clients/agent/core.py +19 -0
- synapse_sdk/clients/agent/ray.py +298 -9
- synapse_sdk/clients/backend/__init__.py +41 -12
- synapse_sdk/clients/backend/annotation.py +13 -5
- synapse_sdk/clients/backend/core.py +59 -0
- synapse_sdk/clients/backend/data_collection.py +186 -0
- synapse_sdk/clients/backend/hitl.py +17 -0
- synapse_sdk/clients/backend/integration.py +19 -4
- synapse_sdk/clients/backend/ml.py +10 -7
- synapse_sdk/clients/backend/models.py +78 -0
- synapse_sdk/clients/base.py +381 -34
- synapse_sdk/clients/ray/serve.py +2 -0
- synapse_sdk/clients/validators/collections.py +31 -0
- synapse_sdk/devtools/config.py +94 -0
- synapse_sdk/devtools/docs/.gitignore +20 -0
- synapse_sdk/devtools/docs/README.md +41 -0
- synapse_sdk/devtools/docs/blog/2019-05-28-first-blog-post.md +12 -0
- synapse_sdk/devtools/docs/blog/2019-05-29-long-blog-post.md +44 -0
- synapse_sdk/devtools/docs/blog/2021-08-01-mdx-blog-post.mdx +24 -0
- synapse_sdk/devtools/docs/blog/2021-08-26-welcome/docusaurus-plushie-banner.jpeg +0 -0
- synapse_sdk/devtools/docs/blog/2021-08-26-welcome/index.md +29 -0
- synapse_sdk/devtools/docs/blog/authors.yml +25 -0
- synapse_sdk/devtools/docs/blog/tags.yml +19 -0
- synapse_sdk/devtools/docs/docs/api/clients/agent.md +43 -0
- synapse_sdk/devtools/docs/docs/api/clients/annotation-mixin.md +378 -0
- synapse_sdk/devtools/docs/docs/api/clients/backend.md +420 -0
- synapse_sdk/devtools/docs/docs/api/clients/base.md +257 -0
- synapse_sdk/devtools/docs/docs/api/clients/core-mixin.md +477 -0
- synapse_sdk/devtools/docs/docs/api/clients/data-collection-mixin.md +422 -0
- synapse_sdk/devtools/docs/docs/api/clients/hitl-mixin.md +554 -0
- synapse_sdk/devtools/docs/docs/api/clients/index.md +391 -0
- synapse_sdk/devtools/docs/docs/api/clients/integration-mixin.md +571 -0
- synapse_sdk/devtools/docs/docs/api/clients/ml-mixin.md +578 -0
- synapse_sdk/devtools/docs/docs/api/clients/ray.md +342 -0
- synapse_sdk/devtools/docs/docs/api/index.md +52 -0
- synapse_sdk/devtools/docs/docs/api/plugins/categories.md +43 -0
- synapse_sdk/devtools/docs/docs/api/plugins/models.md +114 -0
- synapse_sdk/devtools/docs/docs/api/plugins/utils.md +328 -0
- synapse_sdk/devtools/docs/docs/categories.md +0 -0
- synapse_sdk/devtools/docs/docs/cli-usage.md +280 -0
- synapse_sdk/devtools/docs/docs/concepts/index.md +38 -0
- synapse_sdk/devtools/docs/docs/configuration.md +83 -0
- synapse_sdk/devtools/docs/docs/contributing.md +306 -0
- synapse_sdk/devtools/docs/docs/examples/index.md +29 -0
- synapse_sdk/devtools/docs/docs/faq.md +179 -0
- synapse_sdk/devtools/docs/docs/features/converters/index.md +455 -0
- synapse_sdk/devtools/docs/docs/features/index.md +24 -0
- synapse_sdk/devtools/docs/docs/features/utils/file.md +415 -0
- synapse_sdk/devtools/docs/docs/features/utils/network.md +378 -0
- synapse_sdk/devtools/docs/docs/features/utils/storage.md +57 -0
- synapse_sdk/devtools/docs/docs/features/utils/types.md +51 -0
- synapse_sdk/devtools/docs/docs/installation.md +94 -0
- synapse_sdk/devtools/docs/docs/introduction.md +47 -0
- synapse_sdk/devtools/docs/docs/plugins/categories/neural-net-plugins/train-action-overview.md +814 -0
- synapse_sdk/devtools/docs/docs/plugins/categories/pre-annotation-plugins/pre-annotation-plugin-overview.md +198 -0
- synapse_sdk/devtools/docs/docs/plugins/categories/pre-annotation-plugins/to-task-action-development.md +1645 -0
- synapse_sdk/devtools/docs/docs/plugins/categories/pre-annotation-plugins/to-task-overview.md +717 -0
- synapse_sdk/devtools/docs/docs/plugins/categories/pre-annotation-plugins/to-task-template-development.md +1380 -0
- synapse_sdk/devtools/docs/docs/plugins/categories/upload-plugins/upload-plugin-action.md +948 -0
- synapse_sdk/devtools/docs/docs/plugins/categories/upload-plugins/upload-plugin-overview.md +544 -0
- synapse_sdk/devtools/docs/docs/plugins/categories/upload-plugins/upload-plugin-template.md +766 -0
- synapse_sdk/devtools/docs/docs/plugins/export-plugins.md +1092 -0
- synapse_sdk/devtools/docs/docs/plugins/plugins.md +852 -0
- synapse_sdk/devtools/docs/docs/quickstart.md +78 -0
- synapse_sdk/devtools/docs/docs/troubleshooting.md +519 -0
- synapse_sdk/devtools/docs/docs/tutorial-basics/_category_.json +8 -0
- synapse_sdk/devtools/docs/docs/tutorial-basics/congratulations.md +23 -0
- synapse_sdk/devtools/docs/docs/tutorial-basics/create-a-blog-post.md +34 -0
- synapse_sdk/devtools/docs/docs/tutorial-basics/create-a-document.md +57 -0
- synapse_sdk/devtools/docs/docs/tutorial-basics/create-a-page.md +43 -0
- synapse_sdk/devtools/docs/docs/tutorial-basics/deploy-your-site.md +31 -0
- synapse_sdk/devtools/docs/docs/tutorial-basics/markdown-features.mdx +152 -0
- synapse_sdk/devtools/docs/docs/tutorial-extras/_category_.json +7 -0
- synapse_sdk/devtools/docs/docs/tutorial-extras/img/docsVersionDropdown.png +0 -0
- synapse_sdk/devtools/docs/docs/tutorial-extras/img/localeDropdown.png +0 -0
- synapse_sdk/devtools/docs/docs/tutorial-extras/manage-docs-versions.md +55 -0
- synapse_sdk/devtools/docs/docs/tutorial-extras/translate-your-site.md +88 -0
- synapse_sdk/devtools/docs/docusaurus.config.ts +148 -0
- synapse_sdk/devtools/docs/i18n/ko/code.json +325 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/clients/agent.md +43 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/clients/annotation-mixin.md +289 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/clients/backend.md +420 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/clients/base.md +257 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/clients/core-mixin.md +417 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/clients/data-collection-mixin.md +356 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/clients/hitl-mixin.md +192 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/clients/index.md +391 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/clients/integration-mixin.md +479 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/clients/ml-mixin.md +284 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/clients/ray.md +342 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/index.md +52 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/plugins/models.md +114 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/categories.md +0 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/cli-usage.md +280 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/concepts/index.md +38 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/configuration.md +83 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/contributing.md +306 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/examples/index.md +29 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/faq.md +179 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/features/converters/index.md +30 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/features/index.md +24 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/features/utils/file.md +415 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/features/utils/network.md +378 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/features/utils/storage.md +60 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/features/utils/types.md +51 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/installation.md +94 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/introduction.md +47 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/categories/neural-net-plugins/train-action-overview.md +815 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/categories/pre-annotation-plugins/pre-annotation-plugin-overview.md +198 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/categories/pre-annotation-plugins/to-task-action-development.md +1645 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/categories/pre-annotation-plugins/to-task-overview.md +717 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/categories/pre-annotation-plugins/to-task-template-development.md +1380 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/categories/upload-plugins/upload-plugin-action.md +948 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/categories/upload-plugins/upload-plugin-overview.md +544 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/categories/upload-plugins/upload-plugin-template.md +766 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/export-plugins.md +1092 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/plugins.md +117 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/quickstart.md +78 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/troubleshooting.md +519 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current.json +34 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-theme-classic/footer.json +42 -0
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-theme-classic/navbar.json +18 -0
- synapse_sdk/devtools/docs/package-lock.json +18784 -0
- synapse_sdk/devtools/docs/package.json +48 -0
- synapse_sdk/devtools/docs/sidebars.ts +122 -0
- synapse_sdk/devtools/docs/src/components/HomepageFeatures/index.tsx +71 -0
- synapse_sdk/devtools/docs/src/components/HomepageFeatures/styles.module.css +11 -0
- synapse_sdk/devtools/docs/src/css/custom.css +30 -0
- synapse_sdk/devtools/docs/src/pages/index.module.css +23 -0
- synapse_sdk/devtools/docs/src/pages/index.tsx +21 -0
- synapse_sdk/devtools/docs/src/pages/markdown-page.md +7 -0
- synapse_sdk/devtools/docs/static/.nojekyll +0 -0
- synapse_sdk/devtools/docs/static/img/docusaurus-social-card.jpg +0 -0
- synapse_sdk/devtools/docs/static/img/docusaurus.png +0 -0
- synapse_sdk/devtools/docs/static/img/favicon.ico +0 -0
- synapse_sdk/devtools/docs/static/img/logo.png +0 -0
- synapse_sdk/devtools/docs/static/img/undraw_docusaurus_mountain.svg +171 -0
- synapse_sdk/devtools/docs/static/img/undraw_docusaurus_react.svg +170 -0
- synapse_sdk/devtools/docs/static/img/undraw_docusaurus_tree.svg +40 -0
- synapse_sdk/devtools/docs/tsconfig.json +8 -0
- synapse_sdk/devtools/server.py +41 -0
- synapse_sdk/devtools/streamlit_app/__init__.py +5 -0
- synapse_sdk/devtools/streamlit_app/app.py +128 -0
- synapse_sdk/devtools/streamlit_app/services/__init__.py +11 -0
- synapse_sdk/devtools/streamlit_app/services/job_service.py +233 -0
- synapse_sdk/devtools/streamlit_app/services/plugin_service.py +236 -0
- synapse_sdk/devtools/streamlit_app/services/serve_service.py +95 -0
- synapse_sdk/devtools/streamlit_app/ui/__init__.py +15 -0
- synapse_sdk/devtools/streamlit_app/ui/config_tab.py +76 -0
- synapse_sdk/devtools/streamlit_app/ui/deployment_tab.py +66 -0
- synapse_sdk/devtools/streamlit_app/ui/http_tab.py +125 -0
- synapse_sdk/devtools/streamlit_app/ui/jobs_tab.py +573 -0
- synapse_sdk/devtools/streamlit_app/ui/serve_tab.py +346 -0
- synapse_sdk/devtools/streamlit_app/ui/status_bar.py +118 -0
- synapse_sdk/devtools/streamlit_app/utils/__init__.py +40 -0
- synapse_sdk/devtools/streamlit_app/utils/json_viewer.py +197 -0
- synapse_sdk/devtools/streamlit_app/utils/log_formatter.py +38 -0
- synapse_sdk/devtools/streamlit_app/utils/styles.py +241 -0
- synapse_sdk/devtools/streamlit_app/utils/ui_components.py +289 -0
- synapse_sdk/devtools/streamlit_app.py +10 -0
- synapse_sdk/loggers.py +74 -9
- synapse_sdk/plugins/README.md +1340 -0
- synapse_sdk/plugins/__init__.py +0 -13
- synapse_sdk/plugins/categories/base.py +145 -30
- synapse_sdk/plugins/categories/data_validation/actions/validation.py +72 -0
- synapse_sdk/plugins/categories/data_validation/templates/plugin/validation.py +33 -5
- synapse_sdk/plugins/categories/export/actions/__init__.py +3 -0
- synapse_sdk/plugins/categories/export/actions/export/__init__.py +28 -0
- synapse_sdk/plugins/categories/export/actions/export/action.py +165 -0
- synapse_sdk/plugins/categories/export/actions/export/enums.py +113 -0
- synapse_sdk/plugins/categories/export/actions/export/exceptions.py +53 -0
- synapse_sdk/plugins/categories/export/actions/export/models.py +74 -0
- synapse_sdk/plugins/categories/export/actions/export/run.py +195 -0
- synapse_sdk/plugins/categories/export/actions/export/utils.py +187 -0
- synapse_sdk/plugins/categories/export/templates/config.yaml +21 -0
- synapse_sdk/plugins/categories/export/templates/plugin/__init__.py +390 -0
- synapse_sdk/plugins/categories/export/templates/plugin/export.py +160 -0
- synapse_sdk/plugins/categories/neural_net/actions/deployment.py +29 -14
- synapse_sdk/plugins/categories/neural_net/actions/inference.py +13 -1
- synapse_sdk/plugins/categories/neural_net/actions/train.py +1084 -38
- synapse_sdk/plugins/categories/neural_net/actions/tune.py +534 -0
- synapse_sdk/plugins/categories/neural_net/base/__init__.py +0 -0
- synapse_sdk/plugins/categories/neural_net/base/inference.py +37 -0
- synapse_sdk/plugins/categories/neural_net/templates/config.yaml +30 -5
- synapse_sdk/plugins/categories/neural_net/templates/plugin/inference.py +26 -10
- synapse_sdk/plugins/categories/pre_annotation/actions/__init__.py +4 -0
- synapse_sdk/plugins/categories/pre_annotation/actions/pre_annotation/__init__.py +3 -0
- synapse_sdk/plugins/categories/{export/actions/export.py → pre_annotation/actions/pre_annotation/action.py} +4 -4
- synapse_sdk/plugins/categories/pre_annotation/actions/to_task/__init__.py +28 -0
- synapse_sdk/plugins/categories/pre_annotation/actions/to_task/action.py +145 -0
- synapse_sdk/plugins/categories/pre_annotation/actions/to_task/enums.py +269 -0
- synapse_sdk/plugins/categories/pre_annotation/actions/to_task/exceptions.py +14 -0
- synapse_sdk/plugins/categories/pre_annotation/actions/to_task/factory.py +76 -0
- synapse_sdk/plugins/categories/pre_annotation/actions/to_task/models.py +97 -0
- synapse_sdk/plugins/categories/pre_annotation/actions/to_task/orchestrator.py +250 -0
- synapse_sdk/plugins/categories/pre_annotation/actions/to_task/run.py +64 -0
- synapse_sdk/plugins/categories/pre_annotation/actions/to_task/strategies/__init__.py +17 -0
- synapse_sdk/plugins/categories/pre_annotation/actions/to_task/strategies/annotation.py +287 -0
- synapse_sdk/plugins/categories/pre_annotation/actions/to_task/strategies/base.py +170 -0
- synapse_sdk/plugins/categories/pre_annotation/actions/to_task/strategies/extraction.py +83 -0
- synapse_sdk/plugins/categories/pre_annotation/actions/to_task/strategies/metrics.py +87 -0
- synapse_sdk/plugins/categories/pre_annotation/actions/to_task/strategies/preprocessor.py +127 -0
- synapse_sdk/plugins/categories/pre_annotation/actions/to_task/strategies/validation.py +143 -0
- synapse_sdk/plugins/categories/pre_annotation/actions/to_task.py +966 -0
- synapse_sdk/plugins/categories/pre_annotation/templates/config.yaml +19 -0
- synapse_sdk/plugins/categories/pre_annotation/templates/plugin/to_task.py +40 -0
- synapse_sdk/plugins/categories/smart_tool/templates/config.yaml +5 -2
- synapse_sdk/plugins/categories/upload/__init__.py +0 -0
- synapse_sdk/plugins/categories/upload/actions/__init__.py +0 -0
- synapse_sdk/plugins/categories/upload/actions/upload/__init__.py +19 -0
- synapse_sdk/plugins/categories/upload/actions/upload/action.py +232 -0
- synapse_sdk/plugins/categories/upload/actions/upload/context.py +185 -0
- synapse_sdk/plugins/categories/upload/actions/upload/enums.py +471 -0
- synapse_sdk/plugins/categories/upload/actions/upload/exceptions.py +36 -0
- synapse_sdk/plugins/categories/upload/actions/upload/factory.py +138 -0
- synapse_sdk/plugins/categories/upload/actions/upload/models.py +203 -0
- synapse_sdk/plugins/categories/upload/actions/upload/orchestrator.py +183 -0
- synapse_sdk/plugins/categories/upload/actions/upload/registry.py +113 -0
- synapse_sdk/plugins/categories/upload/actions/upload/run.py +179 -0
- synapse_sdk/plugins/categories/upload/actions/upload/steps/__init__.py +1 -0
- synapse_sdk/plugins/categories/upload/actions/upload/steps/base.py +107 -0
- synapse_sdk/plugins/categories/upload/actions/upload/steps/cleanup.py +62 -0
- synapse_sdk/plugins/categories/upload/actions/upload/steps/collection.py +63 -0
- synapse_sdk/plugins/categories/upload/actions/upload/steps/generate.py +84 -0
- synapse_sdk/plugins/categories/upload/actions/upload/steps/initialize.py +82 -0
- synapse_sdk/plugins/categories/upload/actions/upload/steps/metadata.py +235 -0
- synapse_sdk/plugins/categories/upload/actions/upload/steps/organize.py +203 -0
- synapse_sdk/plugins/categories/upload/actions/upload/steps/upload.py +97 -0
- synapse_sdk/plugins/categories/upload/actions/upload/steps/validate.py +71 -0
- synapse_sdk/plugins/categories/upload/actions/upload/strategies/__init__.py +1 -0
- synapse_sdk/plugins/categories/upload/actions/upload/strategies/base.py +82 -0
- synapse_sdk/plugins/categories/upload/actions/upload/strategies/data_unit/__init__.py +1 -0
- synapse_sdk/plugins/categories/upload/actions/upload/strategies/data_unit/batch.py +39 -0
- synapse_sdk/plugins/categories/upload/actions/upload/strategies/data_unit/single.py +29 -0
- synapse_sdk/plugins/categories/upload/actions/upload/strategies/file_discovery/__init__.py +1 -0
- synapse_sdk/plugins/categories/upload/actions/upload/strategies/file_discovery/flat.py +258 -0
- synapse_sdk/plugins/categories/upload/actions/upload/strategies/file_discovery/recursive.py +281 -0
- synapse_sdk/plugins/categories/upload/actions/upload/strategies/metadata/__init__.py +1 -0
- synapse_sdk/plugins/categories/upload/actions/upload/strategies/metadata/excel.py +174 -0
- synapse_sdk/plugins/categories/upload/actions/upload/strategies/metadata/none.py +16 -0
- synapse_sdk/plugins/categories/upload/actions/upload/strategies/upload/__init__.py +1 -0
- synapse_sdk/plugins/categories/upload/actions/upload/strategies/upload/sync.py +84 -0
- synapse_sdk/plugins/categories/upload/actions/upload/strategies/validation/__init__.py +1 -0
- synapse_sdk/plugins/categories/upload/actions/upload/strategies/validation/default.py +60 -0
- synapse_sdk/plugins/categories/upload/actions/upload/utils.py +250 -0
- synapse_sdk/plugins/categories/upload/templates/README.md +470 -0
- synapse_sdk/plugins/categories/upload/templates/config.yaml +33 -0
- synapse_sdk/plugins/categories/upload/templates/plugin/__init__.py +294 -0
- synapse_sdk/plugins/categories/upload/templates/plugin/upload.py +102 -0
- synapse_sdk/plugins/enums.py +3 -1
- synapse_sdk/plugins/models.py +140 -16
- synapse_sdk/plugins/templates/plugin-config-schema.json +406 -0
- synapse_sdk/plugins/templates/schema.json +491 -0
- synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/config.yaml +1 -0
- synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/requirements.txt +1 -1
- synapse_sdk/plugins/utils/__init__.py +46 -0
- synapse_sdk/plugins/utils/actions.py +119 -0
- synapse_sdk/plugins/utils/config.py +203 -0
- synapse_sdk/plugins/utils/legacy.py +95 -0
- synapse_sdk/plugins/utils/ray_gcs.py +66 -0
- synapse_sdk/plugins/utils/registry.py +58 -0
- synapse_sdk/shared/__init__.py +25 -0
- synapse_sdk/shared/enums.py +93 -0
- synapse_sdk/types.py +19 -0
- synapse_sdk/utils/converters/__init__.py +240 -0
- synapse_sdk/utils/converters/coco/__init__.py +0 -0
- synapse_sdk/utils/converters/coco/from_dm.py +322 -0
- synapse_sdk/utils/converters/coco/to_dm.py +215 -0
- synapse_sdk/utils/converters/dm/__init__.py +56 -0
- synapse_sdk/utils/converters/dm/from_v1.py +627 -0
- synapse_sdk/utils/converters/dm/to_v1.py +367 -0
- synapse_sdk/utils/converters/pascal/__init__.py +0 -0
- synapse_sdk/utils/converters/pascal/from_dm.py +244 -0
- synapse_sdk/utils/converters/pascal/to_dm.py +214 -0
- synapse_sdk/utils/converters/yolo/__init__.py +0 -0
- synapse_sdk/utils/converters/yolo/from_dm.py +384 -0
- synapse_sdk/utils/converters/yolo/to_dm.py +267 -0
- synapse_sdk/utils/dataset.py +46 -0
- synapse_sdk/utils/encryption.py +158 -0
- synapse_sdk/utils/file/__init__.py +39 -0
- synapse_sdk/utils/file/archive.py +32 -0
- synapse_sdk/utils/file/checksum.py +56 -0
- synapse_sdk/utils/file/chunking.py +31 -0
- synapse_sdk/utils/file/download.py +385 -0
- synapse_sdk/utils/file/encoding.py +40 -0
- synapse_sdk/utils/file/io.py +22 -0
- synapse_sdk/utils/file/video/__init__.py +29 -0
- synapse_sdk/utils/file/video/transcode.py +307 -0
- synapse_sdk/utils/file.py.backup +301 -0
- synapse_sdk/utils/http.py +138 -0
- synapse_sdk/utils/network.py +309 -0
- synapse_sdk/utils/storage/__init__.py +72 -0
- synapse_sdk/utils/storage/providers/__init__.py +183 -0
- synapse_sdk/utils/storage/providers/file_system.py +134 -0
- synapse_sdk/utils/storage/providers/gcp.py +13 -0
- synapse_sdk/utils/storage/providers/http.py +190 -0
- synapse_sdk/utils/storage/providers/s3.py +91 -0
- synapse_sdk/utils/storage/providers/sftp.py +47 -0
- synapse_sdk/utils/storage/registry.py +17 -0
- synapse_sdk-2025.11.7.dist-info/METADATA +122 -0
- synapse_sdk-2025.11.7.dist-info/RECORD +386 -0
- {synapse_sdk-1.0.0a13.dist-info → synapse_sdk-2025.11.7.dist-info}/WHEEL +1 -1
- synapse_sdk/clients/backend/dataset.py +0 -51
- synapse_sdk/plugins/categories/import/actions/import.py +0 -10
- synapse_sdk/plugins/cli/__init__.py +0 -21
- synapse_sdk/plugins/cli/publish.py +0 -37
- synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/.env +0 -24
- synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/.env.dist +0 -24
- synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/main.py +0 -4
- synapse_sdk/plugins/utils.py +0 -50
- synapse_sdk/utils/file.py +0 -87
- synapse_sdk/utils/storage.py +0 -91
- synapse_sdk-1.0.0a13.dist-info/METADATA +0 -43
- synapse_sdk-1.0.0a13.dist-info/RECORD +0 -111
- /synapse_sdk/{plugins/categories/import → clients/validators}/__init__.py +0 -0
- /synapse_sdk/{plugins/categories/import/actions → devtools}/__init__.py +0 -0
- {synapse_sdk-1.0.0a13.dist-info → synapse_sdk-2025.11.7.dist-info}/entry_points.txt +0 -0
- {synapse_sdk-1.0.0a13.dist-info → synapse_sdk-2025.11.7.dist-info/licenses}/LICENSE +0 -0
- {synapse_sdk-1.0.0a13.dist-info → synapse_sdk-2025.11.7.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,328 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: utils
|
|
3
|
+
title: Plugin Utilities
|
|
4
|
+
sidebar_position: 3
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Plugin Utilities
|
|
8
|
+
|
|
9
|
+
Comprehensive utility functions for plugin development, configuration management, and action handling.
|
|
10
|
+
|
|
11
|
+
## Overview
|
|
12
|
+
|
|
13
|
+
The plugin utilities module (`synapse_sdk.plugins.utils`) provides a collection of functions for working with plugin configurations, managing actions, and handling plugin metadata. The utilities are organized into focused modules for better maintainability.
|
|
14
|
+
|
|
15
|
+
## Configuration Utilities
|
|
16
|
+
|
|
17
|
+
### read_plugin_config()
|
|
18
|
+
|
|
19
|
+
Read and parse plugin configuration from config.yaml file with enhanced error handling.
|
|
20
|
+
|
|
21
|
+
```python
|
|
22
|
+
from synapse_sdk.plugins.utils import read_plugin_config
|
|
23
|
+
|
|
24
|
+
# Read from specific plugin directory
|
|
25
|
+
config = read_plugin_config(plugin_path="./my-plugin")
|
|
26
|
+
|
|
27
|
+
# Read from current directory
|
|
28
|
+
config = read_plugin_config()
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
**Parameters:**
|
|
32
|
+
|
|
33
|
+
- `plugin_path` (optional): Path to plugin directory containing config.yaml
|
|
34
|
+
|
|
35
|
+
**Returns:** Dictionary containing parsed plugin configuration
|
|
36
|
+
|
|
37
|
+
**Raises:**
|
|
38
|
+
|
|
39
|
+
- `FileNotFoundError`: If config.yaml is not found
|
|
40
|
+
- `ValueError`: If config.yaml contains invalid YAML
|
|
41
|
+
|
|
42
|
+
### get_plugin_actions()
|
|
43
|
+
|
|
44
|
+
Get list of action names defined in a plugin configuration.
|
|
45
|
+
|
|
46
|
+
```python
|
|
47
|
+
from synapse_sdk.plugins.utils import get_plugin_actions
|
|
48
|
+
|
|
49
|
+
# From config dictionary
|
|
50
|
+
config = {'actions': {'train': {...}, 'inference': {...}}}
|
|
51
|
+
actions = get_plugin_actions(config=config)
|
|
52
|
+
# Returns: ['train', 'inference']
|
|
53
|
+
|
|
54
|
+
# From plugin path
|
|
55
|
+
actions = get_plugin_actions(plugin_path="./my-plugin")
|
|
56
|
+
|
|
57
|
+
# From current directory
|
|
58
|
+
actions = get_plugin_actions()
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
**Parameters:**
|
|
62
|
+
|
|
63
|
+
- `config` (optional): Plugin configuration dictionary
|
|
64
|
+
- `plugin_path` (optional): Path to plugin directory
|
|
65
|
+
|
|
66
|
+
**Returns:** List of action names
|
|
67
|
+
|
|
68
|
+
### get_action_config()
|
|
69
|
+
|
|
70
|
+
Retrieve configuration for a specific action within a plugin.
|
|
71
|
+
|
|
72
|
+
```python
|
|
73
|
+
from synapse_sdk.plugins.utils import get_action_config
|
|
74
|
+
|
|
75
|
+
# Get specific action configuration
|
|
76
|
+
action_config = get_action_config('train', plugin_path="./my-plugin")
|
|
77
|
+
# Returns: {'entrypoint': 'plugin.train.TrainAction', 'method': 'job'}
|
|
78
|
+
|
|
79
|
+
# With config dictionary
|
|
80
|
+
config = {'actions': {'train': {'entrypoint': 'plugin.train.TrainAction'}}}
|
|
81
|
+
action_config = get_action_config('train', config=config)
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
**Parameters:**
|
|
85
|
+
|
|
86
|
+
- `action_name`: Name of the action to retrieve
|
|
87
|
+
- `config` (optional): Plugin configuration dictionary
|
|
88
|
+
- `plugin_path` (optional): Path to plugin directory
|
|
89
|
+
|
|
90
|
+
**Returns:** Dictionary containing action configuration
|
|
91
|
+
|
|
92
|
+
### validate_plugin_config()
|
|
93
|
+
|
|
94
|
+
Validate plugin configuration structure and required fields.
|
|
95
|
+
|
|
96
|
+
```python
|
|
97
|
+
from synapse_sdk.plugins.utils import validate_plugin_config
|
|
98
|
+
|
|
99
|
+
config = {
|
|
100
|
+
'name': 'My Plugin',
|
|
101
|
+
'code': 'my-plugin',
|
|
102
|
+
'version': '1.0.0',
|
|
103
|
+
'category': 'neural_net',
|
|
104
|
+
'actions': {'train': {'entrypoint': 'plugin.train.TrainAction'}}
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
is_valid = validate_plugin_config(config) # Returns: True
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
**Validation Checks:**
|
|
111
|
+
|
|
112
|
+
- Required fields: `name`, `code`, `version`, `category`, `actions`
|
|
113
|
+
- Valid plugin category
|
|
114
|
+
- Proper actions structure
|
|
115
|
+
- Required entrypoints (except for REST API actions)
|
|
116
|
+
|
|
117
|
+
### get_plugin_metadata()
|
|
118
|
+
|
|
119
|
+
Extract metadata (name, version, description, etc.) from plugin configuration.
|
|
120
|
+
|
|
121
|
+
```python
|
|
122
|
+
from synapse_sdk.plugins.utils import get_plugin_metadata
|
|
123
|
+
|
|
124
|
+
metadata = get_plugin_metadata(plugin_path="./my-plugin")
|
|
125
|
+
# Returns: {
|
|
126
|
+
# 'name': 'My Plugin',
|
|
127
|
+
# 'code': 'my-plugin',
|
|
128
|
+
# 'version': '1.0.0',
|
|
129
|
+
# 'category': 'neural_net',
|
|
130
|
+
# 'description': 'A custom ML plugin'
|
|
131
|
+
# }
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
## Action Utilities
|
|
135
|
+
|
|
136
|
+
### get_action_class()
|
|
137
|
+
|
|
138
|
+
Retrieve action class by category and action name from the registry.
|
|
139
|
+
|
|
140
|
+
```python
|
|
141
|
+
from synapse_sdk.plugins.utils import get_action_class
|
|
142
|
+
|
|
143
|
+
# Get action class for instantiation
|
|
144
|
+
TrainAction = get_action_class('neural_net', 'train')
|
|
145
|
+
action_instance = TrainAction(params, config)
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
### get_available_actions()
|
|
149
|
+
|
|
150
|
+
List all available actions for a specific plugin category.
|
|
151
|
+
|
|
152
|
+
```python
|
|
153
|
+
from synapse_sdk.plugins.utils import get_available_actions
|
|
154
|
+
|
|
155
|
+
actions = get_available_actions('neural_net')
|
|
156
|
+
# Returns: ['train', 'inference', 'test', 'deployment', 'gradio', 'tune']
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
### is_action_available()
|
|
160
|
+
|
|
161
|
+
Check if a specific action is available in a category.
|
|
162
|
+
|
|
163
|
+
```python
|
|
164
|
+
from synapse_sdk.plugins.utils import is_action_available
|
|
165
|
+
|
|
166
|
+
if is_action_available('neural_net', 'train'):
|
|
167
|
+
print("Training action is available")
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
### get_action()
|
|
171
|
+
|
|
172
|
+
Create and configure a plugin action instance with parameters.
|
|
173
|
+
|
|
174
|
+
```python
|
|
175
|
+
from synapse_sdk.plugins.utils import get_action
|
|
176
|
+
|
|
177
|
+
# With dictionary parameters
|
|
178
|
+
params = {'dataset_path': '/data', 'epochs': 10}
|
|
179
|
+
action = get_action('train', params, plugin_path="./my-plugin")
|
|
180
|
+
|
|
181
|
+
# With JSON string parameters
|
|
182
|
+
params_json = '{"dataset_path": "/data", "epochs": 10}'
|
|
183
|
+
action = get_action('train', params_json, config=config)
|
|
184
|
+
|
|
185
|
+
# With file parameters
|
|
186
|
+
action = get_action('train', '/path/to/params.yaml')
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
## Registry Utilities
|
|
190
|
+
|
|
191
|
+
### get_plugin_categories()
|
|
192
|
+
|
|
193
|
+
Get list of all available plugin categories.
|
|
194
|
+
|
|
195
|
+
```python
|
|
196
|
+
from synapse_sdk.plugins.utils import get_plugin_categories
|
|
197
|
+
|
|
198
|
+
categories = get_plugin_categories()
|
|
199
|
+
# Returns: ['neural_net', 'export', 'upload', 'smart_tool',
|
|
200
|
+
# 'post_annotation', 'pre_annotation', 'data_validation']
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
### is_valid_category()
|
|
204
|
+
|
|
205
|
+
Validate if a category name is valid.
|
|
206
|
+
|
|
207
|
+
```python
|
|
208
|
+
from synapse_sdk.plugins.utils import is_valid_category
|
|
209
|
+
|
|
210
|
+
if is_valid_category('neural_net'):
|
|
211
|
+
print("Valid category")
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
### get_category_display_name()
|
|
215
|
+
|
|
216
|
+
Get human-readable display name for a category.
|
|
217
|
+
|
|
218
|
+
```python
|
|
219
|
+
from synapse_sdk.plugins.utils import get_category_display_name
|
|
220
|
+
|
|
221
|
+
display_name = get_category_display_name('neural_net')
|
|
222
|
+
# Returns: "Neural Net"
|
|
223
|
+
|
|
224
|
+
display_name = get_category_display_name('data_validation')
|
|
225
|
+
# Returns: "Data Validation"
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
## Error Handling
|
|
229
|
+
|
|
230
|
+
All utility functions include comprehensive error handling with descriptive error messages:
|
|
231
|
+
|
|
232
|
+
```python
|
|
233
|
+
from synapse_sdk.plugins.utils import get_plugin_actions
|
|
234
|
+
|
|
235
|
+
try:
|
|
236
|
+
actions = get_plugin_actions(plugin_path="./nonexistent")
|
|
237
|
+
except FileNotFoundError as e:
|
|
238
|
+
print(f"Plugin config not found: {e}")
|
|
239
|
+
except ValueError as e:
|
|
240
|
+
print(f"Invalid plugin config: {e}")
|
|
241
|
+
except KeyError as e:
|
|
242
|
+
print(f"Missing required field: {e}")
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
## Usage Examples
|
|
246
|
+
|
|
247
|
+
### Complete Plugin Workflow
|
|
248
|
+
|
|
249
|
+
```python
|
|
250
|
+
from synapse_sdk.plugins.utils import (
|
|
251
|
+
read_plugin_config,
|
|
252
|
+
get_plugin_actions,
|
|
253
|
+
get_action_config,
|
|
254
|
+
validate_plugin_config,
|
|
255
|
+
get_action_class
|
|
256
|
+
)
|
|
257
|
+
|
|
258
|
+
# 1. Read plugin configuration
|
|
259
|
+
config = read_plugin_config("./my-neural-net-plugin")
|
|
260
|
+
|
|
261
|
+
# 2. Validate configuration
|
|
262
|
+
if validate_plugin_config(config):
|
|
263
|
+
print("✅ Plugin configuration is valid")
|
|
264
|
+
|
|
265
|
+
# 3. List available actions
|
|
266
|
+
actions = get_plugin_actions(config=config)
|
|
267
|
+
print(f"Available actions: {actions}")
|
|
268
|
+
|
|
269
|
+
# 4. Get specific action configuration
|
|
270
|
+
train_config = get_action_config('train', config=config)
|
|
271
|
+
print(f"Train entrypoint: {train_config['entrypoint']}")
|
|
272
|
+
|
|
273
|
+
# 5. Create action instance
|
|
274
|
+
TrainAction = get_action_class(config['category'], 'train')
|
|
275
|
+
action = TrainAction(
|
|
276
|
+
params={'dataset_path': '/data', 'epochs': 10},
|
|
277
|
+
plugin_config=config
|
|
278
|
+
)
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
### Plugin Development Helper
|
|
282
|
+
|
|
283
|
+
```python
|
|
284
|
+
from synapse_sdk.plugins.utils import (
|
|
285
|
+
get_plugin_categories,
|
|
286
|
+
get_available_actions,
|
|
287
|
+
is_action_available
|
|
288
|
+
)
|
|
289
|
+
|
|
290
|
+
# Check available categories
|
|
291
|
+
categories = get_plugin_categories()
|
|
292
|
+
print("Available plugin categories:")
|
|
293
|
+
for category in categories:
|
|
294
|
+
print(f" - {category}")
|
|
295
|
+
|
|
296
|
+
# List actions for each category
|
|
297
|
+
actions = get_available_actions(category)
|
|
298
|
+
for action in actions:
|
|
299
|
+
print(f" - {action}")
|
|
300
|
+
|
|
301
|
+
# Verify action availability
|
|
302
|
+
if is_action_available('neural_net', 'train'):
|
|
303
|
+
print("✅ Train action is available for neural_net plugins")
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
## Migration from Legacy API
|
|
307
|
+
|
|
308
|
+
The new utilities maintain backward compatibility while providing enhanced functionality:
|
|
309
|
+
|
|
310
|
+
```python
|
|
311
|
+
# Legacy (still supported)
|
|
312
|
+
from synapse_sdk.plugins.utils import read_plugin_config
|
|
313
|
+
|
|
314
|
+
# New enhanced API (recommended)
|
|
315
|
+
from synapse_sdk.plugins.utils import (
|
|
316
|
+
read_plugin_config,
|
|
317
|
+
get_plugin_actions,
|
|
318
|
+
validate_plugin_config
|
|
319
|
+
)
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
## Best Practices
|
|
323
|
+
|
|
324
|
+
1. **Error Handling**: Always wrap utility calls in try-catch blocks
|
|
325
|
+
2. **Configuration Validation**: Validate configs before using them
|
|
326
|
+
3. **Path Handling**: Use absolute paths when possible
|
|
327
|
+
4. **Action Verification**: Check action availability before instantiation
|
|
328
|
+
5. **Type Safety**: Use the provided type hints for better IDE support
|
|
File without changes
|
|
@@ -0,0 +1,280 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: cli-usage
|
|
3
|
+
title: CLI Usage Guide
|
|
4
|
+
sidebar_position: 4
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# CLI Usage Guide
|
|
8
|
+
|
|
9
|
+
The Synapse SDK provides a powerful interactive CLI for managing your development workflow, from configuration to plugin development and code editing.
|
|
10
|
+
|
|
11
|
+
## Getting Started
|
|
12
|
+
|
|
13
|
+
Launch the interactive CLI:
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
synapse
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Or run specific commands directly:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
# Start development tools immediately
|
|
23
|
+
synapse --dev-tools
|
|
24
|
+
|
|
25
|
+
# Show help
|
|
26
|
+
synapse --help
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Main Menu Options
|
|
30
|
+
|
|
31
|
+
When you run `synapse`, you'll see the main menu:
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
🚀 Synapse SDK
|
|
35
|
+
Select an option:
|
|
36
|
+
🌐 Run Dev Tools
|
|
37
|
+
💻 Open Code-Server IDE
|
|
38
|
+
⚙️ Configuration
|
|
39
|
+
🔌 Plugin Management
|
|
40
|
+
🚪 Exit
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## 🌐 Run Dev Tools
|
|
44
|
+
|
|
45
|
+
Launches the Synapse development tools dashboard with:
|
|
46
|
+
|
|
47
|
+
- **Interactive UI**: Web-based dashboard for managing agents and jobs
|
|
48
|
+
- **Real-time Monitoring**: Live view of agent status and job execution
|
|
49
|
+
- **Plugin Management**: Upload, test, and manage plugins through the UI
|
|
50
|
+
|
|
51
|
+
### Usage
|
|
52
|
+
```bash
|
|
53
|
+
# Launch dev tools from CLI menu
|
|
54
|
+
synapse
|
|
55
|
+
|
|
56
|
+
# Or start directly
|
|
57
|
+
synapse --dev-tools
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## 💻 Open Code-Server IDE
|
|
61
|
+
|
|
62
|
+
Opens a web-based VS Code environment for plugin development. Supports both agent-based and local code-server instances.
|
|
63
|
+
|
|
64
|
+
### Agent Code-Server
|
|
65
|
+
|
|
66
|
+
Connect to a remote code-server running on an agent:
|
|
67
|
+
|
|
68
|
+
- **Automatic Setup**: Synapse configures the workspace and installs dependencies
|
|
69
|
+
- **Plugin Encryption**: Local plugin code is encrypted and securely transferred
|
|
70
|
+
- **Workspace Sync**: Your local project is available in the agent environment
|
|
71
|
+
|
|
72
|
+
### Local Code-Server
|
|
73
|
+
|
|
74
|
+
Launch a local code-server instance:
|
|
75
|
+
|
|
76
|
+
- **Port Detection**: Automatically reads port from `~/.config/code-server/config.yaml`
|
|
77
|
+
- **Folder Parameter**: Opens with correct workspace directory
|
|
78
|
+
- **Browser Integration**: Automatically opens browser with proper URL
|
|
79
|
+
|
|
80
|
+
### Usage Examples
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
# Interactive menu (recommended)
|
|
84
|
+
synapse
|
|
85
|
+
# Select "💻 Open Code-Server IDE"
|
|
86
|
+
|
|
87
|
+
# Direct command
|
|
88
|
+
synapse code-server
|
|
89
|
+
|
|
90
|
+
# With specific options
|
|
91
|
+
synapse code-server --agent my-agent --workspace /path/to/project
|
|
92
|
+
|
|
93
|
+
# Don't open browser automatically
|
|
94
|
+
synapse code-server --no-open-browser
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
### Code-Server Options
|
|
98
|
+
|
|
99
|
+
| Option | Description | Default |
|
|
100
|
+
|--------|-------------|---------|
|
|
101
|
+
| `--agent` | Specific agent ID to use | Current agent or prompt |
|
|
102
|
+
| `--workspace` | Project directory path | Current directory |
|
|
103
|
+
| `--open-browser/--no-open-browser` | Open browser automatically | `--open-browser` |
|
|
104
|
+
|
|
105
|
+
### Local Code-Server Installation
|
|
106
|
+
|
|
107
|
+
If code-server isn't installed locally, the CLI provides installation instructions:
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
# Recommended: Install script
|
|
111
|
+
curl -fsSL https://code-server.dev/install.sh | sh
|
|
112
|
+
|
|
113
|
+
# Using npm
|
|
114
|
+
npm install -g code-server
|
|
115
|
+
|
|
116
|
+
# Using yarn
|
|
117
|
+
yarn global add code-server
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
For more options, visit: https://coder.com/docs/code-server/latest/install
|
|
121
|
+
|
|
122
|
+
## ⚙️ Configuration
|
|
123
|
+
|
|
124
|
+
Interactive configuration wizard for setting up:
|
|
125
|
+
|
|
126
|
+
- **Backend Connection**: Configure API endpoints and authentication
|
|
127
|
+
- **Agent Selection**: Choose and configure development agents
|
|
128
|
+
- **Token Management**: Manage access tokens and authentication
|
|
129
|
+
|
|
130
|
+
### Configuration Files
|
|
131
|
+
|
|
132
|
+
Synapse stores configuration in:
|
|
133
|
+
- **Backend Config**: `~/.synapse/devtools.yaml`
|
|
134
|
+
- **Agent Config**: `~/.synapse/devtools.yaml` (agent section)
|
|
135
|
+
- **Code-Server Config**: `~/.config/code-server/config.yaml`
|
|
136
|
+
|
|
137
|
+
## 🔌 Plugin Management
|
|
138
|
+
|
|
139
|
+
Comprehensive plugin development and management tools:
|
|
140
|
+
|
|
141
|
+
### Create New Plugin
|
|
142
|
+
|
|
143
|
+
```bash
|
|
144
|
+
synapse
|
|
145
|
+
# Select "🔌 Plugin Management" → "Create new plugin"
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
Interactive wizard creates:
|
|
149
|
+
- Plugin directory structure
|
|
150
|
+
- Configuration files (`config.yaml`)
|
|
151
|
+
- Example plugin code
|
|
152
|
+
- Requirements and dependencies
|
|
153
|
+
|
|
154
|
+
### Run Plugin Locally
|
|
155
|
+
|
|
156
|
+
Test plugins in different environments:
|
|
157
|
+
|
|
158
|
+
```bash
|
|
159
|
+
# Script execution (local)
|
|
160
|
+
synapse plugin run my_action '{"param": "value"}' --run-by script
|
|
161
|
+
|
|
162
|
+
# Agent execution (remote)
|
|
163
|
+
synapse plugin run my_action '{"param": "value"}' --run-by agent
|
|
164
|
+
|
|
165
|
+
# Backend execution (cloud)
|
|
166
|
+
synapse plugin run my_action '{"param": "value"}' --run-by backend
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
### Publish Plugin
|
|
170
|
+
|
|
171
|
+
Deploy plugins to your Synapse backend:
|
|
172
|
+
|
|
173
|
+
```bash
|
|
174
|
+
synapse
|
|
175
|
+
# Select "🔌 Plugin Management" → "Publish plugin"
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
Options:
|
|
179
|
+
- **Debug Mode**: Test deployment with verbose logging
|
|
180
|
+
- **Production Mode**: Deploy for live use
|
|
181
|
+
|
|
182
|
+
## Command Reference
|
|
183
|
+
|
|
184
|
+
### Main Commands
|
|
185
|
+
|
|
186
|
+
```bash
|
|
187
|
+
# Interactive CLI (main menu)
|
|
188
|
+
synapse
|
|
189
|
+
|
|
190
|
+
# Development tools
|
|
191
|
+
synapse --dev-tools
|
|
192
|
+
|
|
193
|
+
# Direct commands
|
|
194
|
+
synapse config # Configuration wizard
|
|
195
|
+
synapse devtools # Development dashboard
|
|
196
|
+
synapse code-server # Code editing environment
|
|
197
|
+
synapse plugin # Plugin management
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
### Code-Server Command
|
|
201
|
+
|
|
202
|
+
```bash
|
|
203
|
+
synapse code-server [OPTIONS]
|
|
204
|
+
|
|
205
|
+
Options:
|
|
206
|
+
--agent TEXT Agent name or ID
|
|
207
|
+
--open-browser / --no-open-browser
|
|
208
|
+
Open in browser [default: open-browser]
|
|
209
|
+
--workspace TEXT Workspace directory path (defaults to current directory)
|
|
210
|
+
--help Show this message and exit.
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
### Plugin Commands
|
|
214
|
+
|
|
215
|
+
```bash
|
|
216
|
+
# Create plugin
|
|
217
|
+
synapse plugin create
|
|
218
|
+
|
|
219
|
+
# Run plugin
|
|
220
|
+
synapse plugin run ACTION PARAMS [OPTIONS]
|
|
221
|
+
|
|
222
|
+
# Publish plugin
|
|
223
|
+
synapse plugin publish [OPTIONS]
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
## Tips & Best Practices
|
|
227
|
+
|
|
228
|
+
### Code-Server Development
|
|
229
|
+
|
|
230
|
+
1. **Plugin Detection**: When opening code-server, Synapse automatically detects if your workspace contains a plugin and encrypts it for secure transfer to agents.
|
|
231
|
+
|
|
232
|
+
2. **Workspace Paths**: Agent workspaces typically use `/home/coder/workspace` - this is normal for containerized environments.
|
|
233
|
+
|
|
234
|
+
3. **Port Configuration**: Local code-server port is read from your config file, defaulting to 8070 if not configured.
|
|
235
|
+
|
|
236
|
+
### Configuration Management
|
|
237
|
+
|
|
238
|
+
1. **Token Security**: Store API tokens securely and rotate them regularly
|
|
239
|
+
2. **Agent Selection**: Use descriptive agent names to identify their purpose
|
|
240
|
+
3. **Backend URLs**: Ensure backend URLs are accessible from your development environment
|
|
241
|
+
|
|
242
|
+
### Plugin Development
|
|
243
|
+
|
|
244
|
+
1. **Local Testing**: Always test plugins locally with `--run-by script` before deploying
|
|
245
|
+
2. **Debug Mode**: Use debug mode for initial deployments to catch issues early
|
|
246
|
+
3. **Version Control**: Use git to track plugin changes and manage versions
|
|
247
|
+
|
|
248
|
+
## Troubleshooting
|
|
249
|
+
|
|
250
|
+
### Code-Server Issues
|
|
251
|
+
|
|
252
|
+
**Problem**: "Code-server is not available"
|
|
253
|
+
- **Solution**: Ensure the agent has code-server support enabled
|
|
254
|
+
|
|
255
|
+
**Problem**: Browser doesn't open automatically
|
|
256
|
+
- **Solution**: Manually copy the provided URL to your browser
|
|
257
|
+
|
|
258
|
+
**Problem**: Wrong port displayed
|
|
259
|
+
- **Solution**: Check `~/.config/code-server/config.yaml` for correct port configuration
|
|
260
|
+
|
|
261
|
+
### Configuration Issues
|
|
262
|
+
|
|
263
|
+
**Problem**: "No backend configured"
|
|
264
|
+
- **Solution**: Run `synapse config` to set up backend connection
|
|
265
|
+
|
|
266
|
+
**Problem**: "Invalid token (401)"
|
|
267
|
+
- **Solution**: Generate a new API token and update configuration
|
|
268
|
+
|
|
269
|
+
**Problem**: "Connection timeout"
|
|
270
|
+
- **Solution**: Check network connectivity and backend URL accessibility
|
|
271
|
+
|
|
272
|
+
### Plugin Issues
|
|
273
|
+
|
|
274
|
+
**Problem**: Plugin not detected in workspace
|
|
275
|
+
- **Solution**: Ensure your directory has a valid `config.yaml` file
|
|
276
|
+
|
|
277
|
+
**Problem**: Plugin execution fails
|
|
278
|
+
- **Solution**: Check plugin dependencies and syntax, test locally first
|
|
279
|
+
|
|
280
|
+
For more troubleshooting help, see the [Troubleshooting Guide](./troubleshooting.md).
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: index
|
|
3
|
+
title: Core Concepts
|
|
4
|
+
sidebar_position: 1
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Core Concepts
|
|
8
|
+
|
|
9
|
+
Understanding the fundamental concepts of Synapse SDK.
|
|
10
|
+
|
|
11
|
+
## Architecture
|
|
12
|
+
|
|
13
|
+
Learn about the overall system architecture and design principles.
|
|
14
|
+
|
|
15
|
+
## Plugin System
|
|
16
|
+
|
|
17
|
+
Understanding how plugins work, categories, and execution methods.
|
|
18
|
+
|
|
19
|
+
## Clients
|
|
20
|
+
|
|
21
|
+
Different client types and their use cases:
|
|
22
|
+
- BackendClient for API operations
|
|
23
|
+
- AgentClient for distributed execution
|
|
24
|
+
|
|
25
|
+
## Execution Methods
|
|
26
|
+
|
|
27
|
+
Different ways to run plugins:
|
|
28
|
+
- **JOB**: Long-running operations with monitoring
|
|
29
|
+
- **TASK**: Quick, simple operations
|
|
30
|
+
- **RESTAPI**: Serving models and APIs
|
|
31
|
+
|
|
32
|
+
## Data Flow
|
|
33
|
+
|
|
34
|
+
How data flows through the system from input to output.
|
|
35
|
+
|
|
36
|
+
## Security
|
|
37
|
+
|
|
38
|
+
Authentication, authorization, and security best practices.
|