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.

Files changed (339) hide show
  1. synapse_sdk/__init__.py +24 -0
  2. synapse_sdk/cli/__init__.py +310 -5
  3. synapse_sdk/cli/alias/__init__.py +22 -0
  4. synapse_sdk/cli/alias/create.py +36 -0
  5. synapse_sdk/cli/alias/dataclass.py +31 -0
  6. synapse_sdk/cli/alias/default.py +16 -0
  7. synapse_sdk/cli/alias/delete.py +15 -0
  8. synapse_sdk/cli/alias/list.py +19 -0
  9. synapse_sdk/cli/alias/read.py +15 -0
  10. synapse_sdk/cli/alias/update.py +17 -0
  11. synapse_sdk/cli/alias/utils.py +61 -0
  12. synapse_sdk/cli/code_server.py +687 -0
  13. synapse_sdk/cli/config.py +440 -0
  14. synapse_sdk/cli/devtools.py +90 -0
  15. synapse_sdk/cli/plugin/__init__.py +33 -0
  16. synapse_sdk/cli/{create_plugin.py → plugin/create.py} +2 -2
  17. synapse_sdk/cli/plugin/publish.py +45 -0
  18. synapse_sdk/{plugins/cli → cli/plugin}/run.py +12 -5
  19. synapse_sdk/clients/agent/__init__.py +9 -3
  20. synapse_sdk/clients/agent/container.py +133 -0
  21. synapse_sdk/clients/agent/core.py +19 -0
  22. synapse_sdk/clients/agent/ray.py +298 -9
  23. synapse_sdk/clients/backend/__init__.py +41 -12
  24. synapse_sdk/clients/backend/annotation.py +13 -5
  25. synapse_sdk/clients/backend/core.py +59 -0
  26. synapse_sdk/clients/backend/data_collection.py +186 -0
  27. synapse_sdk/clients/backend/hitl.py +17 -0
  28. synapse_sdk/clients/backend/integration.py +19 -4
  29. synapse_sdk/clients/backend/ml.py +10 -7
  30. synapse_sdk/clients/backend/models.py +78 -0
  31. synapse_sdk/clients/base.py +381 -34
  32. synapse_sdk/clients/ray/serve.py +2 -0
  33. synapse_sdk/clients/validators/collections.py +31 -0
  34. synapse_sdk/devtools/config.py +94 -0
  35. synapse_sdk/devtools/docs/.gitignore +20 -0
  36. synapse_sdk/devtools/docs/README.md +41 -0
  37. synapse_sdk/devtools/docs/blog/2019-05-28-first-blog-post.md +12 -0
  38. synapse_sdk/devtools/docs/blog/2019-05-29-long-blog-post.md +44 -0
  39. synapse_sdk/devtools/docs/blog/2021-08-01-mdx-blog-post.mdx +24 -0
  40. synapse_sdk/devtools/docs/blog/2021-08-26-welcome/docusaurus-plushie-banner.jpeg +0 -0
  41. synapse_sdk/devtools/docs/blog/2021-08-26-welcome/index.md +29 -0
  42. synapse_sdk/devtools/docs/blog/authors.yml +25 -0
  43. synapse_sdk/devtools/docs/blog/tags.yml +19 -0
  44. synapse_sdk/devtools/docs/docs/api/clients/agent.md +43 -0
  45. synapse_sdk/devtools/docs/docs/api/clients/annotation-mixin.md +378 -0
  46. synapse_sdk/devtools/docs/docs/api/clients/backend.md +420 -0
  47. synapse_sdk/devtools/docs/docs/api/clients/base.md +257 -0
  48. synapse_sdk/devtools/docs/docs/api/clients/core-mixin.md +477 -0
  49. synapse_sdk/devtools/docs/docs/api/clients/data-collection-mixin.md +422 -0
  50. synapse_sdk/devtools/docs/docs/api/clients/hitl-mixin.md +554 -0
  51. synapse_sdk/devtools/docs/docs/api/clients/index.md +391 -0
  52. synapse_sdk/devtools/docs/docs/api/clients/integration-mixin.md +571 -0
  53. synapse_sdk/devtools/docs/docs/api/clients/ml-mixin.md +578 -0
  54. synapse_sdk/devtools/docs/docs/api/clients/ray.md +342 -0
  55. synapse_sdk/devtools/docs/docs/api/index.md +52 -0
  56. synapse_sdk/devtools/docs/docs/api/plugins/categories.md +43 -0
  57. synapse_sdk/devtools/docs/docs/api/plugins/models.md +114 -0
  58. synapse_sdk/devtools/docs/docs/api/plugins/utils.md +328 -0
  59. synapse_sdk/devtools/docs/docs/categories.md +0 -0
  60. synapse_sdk/devtools/docs/docs/cli-usage.md +280 -0
  61. synapse_sdk/devtools/docs/docs/concepts/index.md +38 -0
  62. synapse_sdk/devtools/docs/docs/configuration.md +83 -0
  63. synapse_sdk/devtools/docs/docs/contributing.md +306 -0
  64. synapse_sdk/devtools/docs/docs/examples/index.md +29 -0
  65. synapse_sdk/devtools/docs/docs/faq.md +179 -0
  66. synapse_sdk/devtools/docs/docs/features/converters/index.md +455 -0
  67. synapse_sdk/devtools/docs/docs/features/index.md +24 -0
  68. synapse_sdk/devtools/docs/docs/features/utils/file.md +415 -0
  69. synapse_sdk/devtools/docs/docs/features/utils/network.md +378 -0
  70. synapse_sdk/devtools/docs/docs/features/utils/storage.md +57 -0
  71. synapse_sdk/devtools/docs/docs/features/utils/types.md +51 -0
  72. synapse_sdk/devtools/docs/docs/installation.md +94 -0
  73. synapse_sdk/devtools/docs/docs/introduction.md +47 -0
  74. synapse_sdk/devtools/docs/docs/plugins/categories/neural-net-plugins/train-action-overview.md +814 -0
  75. synapse_sdk/devtools/docs/docs/plugins/categories/pre-annotation-plugins/pre-annotation-plugin-overview.md +198 -0
  76. synapse_sdk/devtools/docs/docs/plugins/categories/pre-annotation-plugins/to-task-action-development.md +1645 -0
  77. synapse_sdk/devtools/docs/docs/plugins/categories/pre-annotation-plugins/to-task-overview.md +717 -0
  78. synapse_sdk/devtools/docs/docs/plugins/categories/pre-annotation-plugins/to-task-template-development.md +1380 -0
  79. synapse_sdk/devtools/docs/docs/plugins/categories/upload-plugins/upload-plugin-action.md +948 -0
  80. synapse_sdk/devtools/docs/docs/plugins/categories/upload-plugins/upload-plugin-overview.md +544 -0
  81. synapse_sdk/devtools/docs/docs/plugins/categories/upload-plugins/upload-plugin-template.md +766 -0
  82. synapse_sdk/devtools/docs/docs/plugins/export-plugins.md +1092 -0
  83. synapse_sdk/devtools/docs/docs/plugins/plugins.md +852 -0
  84. synapse_sdk/devtools/docs/docs/quickstart.md +78 -0
  85. synapse_sdk/devtools/docs/docs/troubleshooting.md +519 -0
  86. synapse_sdk/devtools/docs/docs/tutorial-basics/_category_.json +8 -0
  87. synapse_sdk/devtools/docs/docs/tutorial-basics/congratulations.md +23 -0
  88. synapse_sdk/devtools/docs/docs/tutorial-basics/create-a-blog-post.md +34 -0
  89. synapse_sdk/devtools/docs/docs/tutorial-basics/create-a-document.md +57 -0
  90. synapse_sdk/devtools/docs/docs/tutorial-basics/create-a-page.md +43 -0
  91. synapse_sdk/devtools/docs/docs/tutorial-basics/deploy-your-site.md +31 -0
  92. synapse_sdk/devtools/docs/docs/tutorial-basics/markdown-features.mdx +152 -0
  93. synapse_sdk/devtools/docs/docs/tutorial-extras/_category_.json +7 -0
  94. synapse_sdk/devtools/docs/docs/tutorial-extras/img/docsVersionDropdown.png +0 -0
  95. synapse_sdk/devtools/docs/docs/tutorial-extras/img/localeDropdown.png +0 -0
  96. synapse_sdk/devtools/docs/docs/tutorial-extras/manage-docs-versions.md +55 -0
  97. synapse_sdk/devtools/docs/docs/tutorial-extras/translate-your-site.md +88 -0
  98. synapse_sdk/devtools/docs/docusaurus.config.ts +148 -0
  99. synapse_sdk/devtools/docs/i18n/ko/code.json +325 -0
  100. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/clients/agent.md +43 -0
  101. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/clients/annotation-mixin.md +289 -0
  102. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/clients/backend.md +420 -0
  103. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/clients/base.md +257 -0
  104. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/clients/core-mixin.md +417 -0
  105. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/clients/data-collection-mixin.md +356 -0
  106. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/clients/hitl-mixin.md +192 -0
  107. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/clients/index.md +391 -0
  108. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/clients/integration-mixin.md +479 -0
  109. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/clients/ml-mixin.md +284 -0
  110. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/clients/ray.md +342 -0
  111. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/index.md +52 -0
  112. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/plugins/models.md +114 -0
  113. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/categories.md +0 -0
  114. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/cli-usage.md +280 -0
  115. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/concepts/index.md +38 -0
  116. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/configuration.md +83 -0
  117. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/contributing.md +306 -0
  118. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/examples/index.md +29 -0
  119. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/faq.md +179 -0
  120. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/features/converters/index.md +30 -0
  121. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/features/index.md +24 -0
  122. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/features/utils/file.md +415 -0
  123. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/features/utils/network.md +378 -0
  124. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/features/utils/storage.md +60 -0
  125. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/features/utils/types.md +51 -0
  126. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/installation.md +94 -0
  127. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/introduction.md +47 -0
  128. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/categories/neural-net-plugins/train-action-overview.md +815 -0
  129. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/categories/pre-annotation-plugins/pre-annotation-plugin-overview.md +198 -0
  130. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/categories/pre-annotation-plugins/to-task-action-development.md +1645 -0
  131. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/categories/pre-annotation-plugins/to-task-overview.md +717 -0
  132. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/categories/pre-annotation-plugins/to-task-template-development.md +1380 -0
  133. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/categories/upload-plugins/upload-plugin-action.md +948 -0
  134. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/categories/upload-plugins/upload-plugin-overview.md +544 -0
  135. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/categories/upload-plugins/upload-plugin-template.md +766 -0
  136. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/export-plugins.md +1092 -0
  137. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/plugins.md +117 -0
  138. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/quickstart.md +78 -0
  139. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/troubleshooting.md +519 -0
  140. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current.json +34 -0
  141. synapse_sdk/devtools/docs/i18n/ko/docusaurus-theme-classic/footer.json +42 -0
  142. synapse_sdk/devtools/docs/i18n/ko/docusaurus-theme-classic/navbar.json +18 -0
  143. synapse_sdk/devtools/docs/package-lock.json +18784 -0
  144. synapse_sdk/devtools/docs/package.json +48 -0
  145. synapse_sdk/devtools/docs/sidebars.ts +122 -0
  146. synapse_sdk/devtools/docs/src/components/HomepageFeatures/index.tsx +71 -0
  147. synapse_sdk/devtools/docs/src/components/HomepageFeatures/styles.module.css +11 -0
  148. synapse_sdk/devtools/docs/src/css/custom.css +30 -0
  149. synapse_sdk/devtools/docs/src/pages/index.module.css +23 -0
  150. synapse_sdk/devtools/docs/src/pages/index.tsx +21 -0
  151. synapse_sdk/devtools/docs/src/pages/markdown-page.md +7 -0
  152. synapse_sdk/devtools/docs/static/.nojekyll +0 -0
  153. synapse_sdk/devtools/docs/static/img/docusaurus-social-card.jpg +0 -0
  154. synapse_sdk/devtools/docs/static/img/docusaurus.png +0 -0
  155. synapse_sdk/devtools/docs/static/img/favicon.ico +0 -0
  156. synapse_sdk/devtools/docs/static/img/logo.png +0 -0
  157. synapse_sdk/devtools/docs/static/img/undraw_docusaurus_mountain.svg +171 -0
  158. synapse_sdk/devtools/docs/static/img/undraw_docusaurus_react.svg +170 -0
  159. synapse_sdk/devtools/docs/static/img/undraw_docusaurus_tree.svg +40 -0
  160. synapse_sdk/devtools/docs/tsconfig.json +8 -0
  161. synapse_sdk/devtools/server.py +41 -0
  162. synapse_sdk/devtools/streamlit_app/__init__.py +5 -0
  163. synapse_sdk/devtools/streamlit_app/app.py +128 -0
  164. synapse_sdk/devtools/streamlit_app/services/__init__.py +11 -0
  165. synapse_sdk/devtools/streamlit_app/services/job_service.py +233 -0
  166. synapse_sdk/devtools/streamlit_app/services/plugin_service.py +236 -0
  167. synapse_sdk/devtools/streamlit_app/services/serve_service.py +95 -0
  168. synapse_sdk/devtools/streamlit_app/ui/__init__.py +15 -0
  169. synapse_sdk/devtools/streamlit_app/ui/config_tab.py +76 -0
  170. synapse_sdk/devtools/streamlit_app/ui/deployment_tab.py +66 -0
  171. synapse_sdk/devtools/streamlit_app/ui/http_tab.py +125 -0
  172. synapse_sdk/devtools/streamlit_app/ui/jobs_tab.py +573 -0
  173. synapse_sdk/devtools/streamlit_app/ui/serve_tab.py +346 -0
  174. synapse_sdk/devtools/streamlit_app/ui/status_bar.py +118 -0
  175. synapse_sdk/devtools/streamlit_app/utils/__init__.py +40 -0
  176. synapse_sdk/devtools/streamlit_app/utils/json_viewer.py +197 -0
  177. synapse_sdk/devtools/streamlit_app/utils/log_formatter.py +38 -0
  178. synapse_sdk/devtools/streamlit_app/utils/styles.py +241 -0
  179. synapse_sdk/devtools/streamlit_app/utils/ui_components.py +289 -0
  180. synapse_sdk/devtools/streamlit_app.py +10 -0
  181. synapse_sdk/loggers.py +74 -9
  182. synapse_sdk/plugins/README.md +1340 -0
  183. synapse_sdk/plugins/__init__.py +0 -13
  184. synapse_sdk/plugins/categories/base.py +145 -30
  185. synapse_sdk/plugins/categories/data_validation/actions/validation.py +72 -0
  186. synapse_sdk/plugins/categories/data_validation/templates/plugin/validation.py +33 -5
  187. synapse_sdk/plugins/categories/export/actions/__init__.py +3 -0
  188. synapse_sdk/plugins/categories/export/actions/export/__init__.py +28 -0
  189. synapse_sdk/plugins/categories/export/actions/export/action.py +165 -0
  190. synapse_sdk/plugins/categories/export/actions/export/enums.py +113 -0
  191. synapse_sdk/plugins/categories/export/actions/export/exceptions.py +53 -0
  192. synapse_sdk/plugins/categories/export/actions/export/models.py +74 -0
  193. synapse_sdk/plugins/categories/export/actions/export/run.py +195 -0
  194. synapse_sdk/plugins/categories/export/actions/export/utils.py +187 -0
  195. synapse_sdk/plugins/categories/export/templates/config.yaml +21 -0
  196. synapse_sdk/plugins/categories/export/templates/plugin/__init__.py +390 -0
  197. synapse_sdk/plugins/categories/export/templates/plugin/export.py +160 -0
  198. synapse_sdk/plugins/categories/neural_net/actions/deployment.py +29 -14
  199. synapse_sdk/plugins/categories/neural_net/actions/inference.py +13 -1
  200. synapse_sdk/plugins/categories/neural_net/actions/train.py +1084 -38
  201. synapse_sdk/plugins/categories/neural_net/actions/tune.py +534 -0
  202. synapse_sdk/plugins/categories/neural_net/base/__init__.py +0 -0
  203. synapse_sdk/plugins/categories/neural_net/base/inference.py +37 -0
  204. synapse_sdk/plugins/categories/neural_net/templates/config.yaml +30 -5
  205. synapse_sdk/plugins/categories/neural_net/templates/plugin/inference.py +26 -10
  206. synapse_sdk/plugins/categories/pre_annotation/actions/__init__.py +4 -0
  207. synapse_sdk/plugins/categories/pre_annotation/actions/pre_annotation/__init__.py +3 -0
  208. synapse_sdk/plugins/categories/{export/actions/export.py → pre_annotation/actions/pre_annotation/action.py} +4 -4
  209. synapse_sdk/plugins/categories/pre_annotation/actions/to_task/__init__.py +28 -0
  210. synapse_sdk/plugins/categories/pre_annotation/actions/to_task/action.py +145 -0
  211. synapse_sdk/plugins/categories/pre_annotation/actions/to_task/enums.py +269 -0
  212. synapse_sdk/plugins/categories/pre_annotation/actions/to_task/exceptions.py +14 -0
  213. synapse_sdk/plugins/categories/pre_annotation/actions/to_task/factory.py +76 -0
  214. synapse_sdk/plugins/categories/pre_annotation/actions/to_task/models.py +97 -0
  215. synapse_sdk/plugins/categories/pre_annotation/actions/to_task/orchestrator.py +250 -0
  216. synapse_sdk/plugins/categories/pre_annotation/actions/to_task/run.py +64 -0
  217. synapse_sdk/plugins/categories/pre_annotation/actions/to_task/strategies/__init__.py +17 -0
  218. synapse_sdk/plugins/categories/pre_annotation/actions/to_task/strategies/annotation.py +287 -0
  219. synapse_sdk/plugins/categories/pre_annotation/actions/to_task/strategies/base.py +170 -0
  220. synapse_sdk/plugins/categories/pre_annotation/actions/to_task/strategies/extraction.py +83 -0
  221. synapse_sdk/plugins/categories/pre_annotation/actions/to_task/strategies/metrics.py +87 -0
  222. synapse_sdk/plugins/categories/pre_annotation/actions/to_task/strategies/preprocessor.py +127 -0
  223. synapse_sdk/plugins/categories/pre_annotation/actions/to_task/strategies/validation.py +143 -0
  224. synapse_sdk/plugins/categories/pre_annotation/actions/to_task.py +966 -0
  225. synapse_sdk/plugins/categories/pre_annotation/templates/config.yaml +19 -0
  226. synapse_sdk/plugins/categories/pre_annotation/templates/plugin/to_task.py +40 -0
  227. synapse_sdk/plugins/categories/smart_tool/templates/config.yaml +5 -2
  228. synapse_sdk/plugins/categories/upload/__init__.py +0 -0
  229. synapse_sdk/plugins/categories/upload/actions/__init__.py +0 -0
  230. synapse_sdk/plugins/categories/upload/actions/upload/__init__.py +19 -0
  231. synapse_sdk/plugins/categories/upload/actions/upload/action.py +232 -0
  232. synapse_sdk/plugins/categories/upload/actions/upload/context.py +185 -0
  233. synapse_sdk/plugins/categories/upload/actions/upload/enums.py +471 -0
  234. synapse_sdk/plugins/categories/upload/actions/upload/exceptions.py +36 -0
  235. synapse_sdk/plugins/categories/upload/actions/upload/factory.py +138 -0
  236. synapse_sdk/plugins/categories/upload/actions/upload/models.py +203 -0
  237. synapse_sdk/plugins/categories/upload/actions/upload/orchestrator.py +183 -0
  238. synapse_sdk/plugins/categories/upload/actions/upload/registry.py +113 -0
  239. synapse_sdk/plugins/categories/upload/actions/upload/run.py +179 -0
  240. synapse_sdk/plugins/categories/upload/actions/upload/steps/__init__.py +1 -0
  241. synapse_sdk/plugins/categories/upload/actions/upload/steps/base.py +107 -0
  242. synapse_sdk/plugins/categories/upload/actions/upload/steps/cleanup.py +62 -0
  243. synapse_sdk/plugins/categories/upload/actions/upload/steps/collection.py +63 -0
  244. synapse_sdk/plugins/categories/upload/actions/upload/steps/generate.py +84 -0
  245. synapse_sdk/plugins/categories/upload/actions/upload/steps/initialize.py +82 -0
  246. synapse_sdk/plugins/categories/upload/actions/upload/steps/metadata.py +235 -0
  247. synapse_sdk/plugins/categories/upload/actions/upload/steps/organize.py +203 -0
  248. synapse_sdk/plugins/categories/upload/actions/upload/steps/upload.py +97 -0
  249. synapse_sdk/plugins/categories/upload/actions/upload/steps/validate.py +71 -0
  250. synapse_sdk/plugins/categories/upload/actions/upload/strategies/__init__.py +1 -0
  251. synapse_sdk/plugins/categories/upload/actions/upload/strategies/base.py +82 -0
  252. synapse_sdk/plugins/categories/upload/actions/upload/strategies/data_unit/__init__.py +1 -0
  253. synapse_sdk/plugins/categories/upload/actions/upload/strategies/data_unit/batch.py +39 -0
  254. synapse_sdk/plugins/categories/upload/actions/upload/strategies/data_unit/single.py +29 -0
  255. synapse_sdk/plugins/categories/upload/actions/upload/strategies/file_discovery/__init__.py +1 -0
  256. synapse_sdk/plugins/categories/upload/actions/upload/strategies/file_discovery/flat.py +258 -0
  257. synapse_sdk/plugins/categories/upload/actions/upload/strategies/file_discovery/recursive.py +281 -0
  258. synapse_sdk/plugins/categories/upload/actions/upload/strategies/metadata/__init__.py +1 -0
  259. synapse_sdk/plugins/categories/upload/actions/upload/strategies/metadata/excel.py +174 -0
  260. synapse_sdk/plugins/categories/upload/actions/upload/strategies/metadata/none.py +16 -0
  261. synapse_sdk/plugins/categories/upload/actions/upload/strategies/upload/__init__.py +1 -0
  262. synapse_sdk/plugins/categories/upload/actions/upload/strategies/upload/sync.py +84 -0
  263. synapse_sdk/plugins/categories/upload/actions/upload/strategies/validation/__init__.py +1 -0
  264. synapse_sdk/plugins/categories/upload/actions/upload/strategies/validation/default.py +60 -0
  265. synapse_sdk/plugins/categories/upload/actions/upload/utils.py +250 -0
  266. synapse_sdk/plugins/categories/upload/templates/README.md +470 -0
  267. synapse_sdk/plugins/categories/upload/templates/config.yaml +33 -0
  268. synapse_sdk/plugins/categories/upload/templates/plugin/__init__.py +294 -0
  269. synapse_sdk/plugins/categories/upload/templates/plugin/upload.py +102 -0
  270. synapse_sdk/plugins/enums.py +3 -1
  271. synapse_sdk/plugins/models.py +140 -16
  272. synapse_sdk/plugins/templates/plugin-config-schema.json +406 -0
  273. synapse_sdk/plugins/templates/schema.json +491 -0
  274. synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/config.yaml +1 -0
  275. synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/requirements.txt +1 -1
  276. synapse_sdk/plugins/utils/__init__.py +46 -0
  277. synapse_sdk/plugins/utils/actions.py +119 -0
  278. synapse_sdk/plugins/utils/config.py +203 -0
  279. synapse_sdk/plugins/utils/legacy.py +95 -0
  280. synapse_sdk/plugins/utils/ray_gcs.py +66 -0
  281. synapse_sdk/plugins/utils/registry.py +58 -0
  282. synapse_sdk/shared/__init__.py +25 -0
  283. synapse_sdk/shared/enums.py +93 -0
  284. synapse_sdk/types.py +19 -0
  285. synapse_sdk/utils/converters/__init__.py +240 -0
  286. synapse_sdk/utils/converters/coco/__init__.py +0 -0
  287. synapse_sdk/utils/converters/coco/from_dm.py +322 -0
  288. synapse_sdk/utils/converters/coco/to_dm.py +215 -0
  289. synapse_sdk/utils/converters/dm/__init__.py +56 -0
  290. synapse_sdk/utils/converters/dm/from_v1.py +627 -0
  291. synapse_sdk/utils/converters/dm/to_v1.py +367 -0
  292. synapse_sdk/utils/converters/pascal/__init__.py +0 -0
  293. synapse_sdk/utils/converters/pascal/from_dm.py +244 -0
  294. synapse_sdk/utils/converters/pascal/to_dm.py +214 -0
  295. synapse_sdk/utils/converters/yolo/__init__.py +0 -0
  296. synapse_sdk/utils/converters/yolo/from_dm.py +384 -0
  297. synapse_sdk/utils/converters/yolo/to_dm.py +267 -0
  298. synapse_sdk/utils/dataset.py +46 -0
  299. synapse_sdk/utils/encryption.py +158 -0
  300. synapse_sdk/utils/file/__init__.py +39 -0
  301. synapse_sdk/utils/file/archive.py +32 -0
  302. synapse_sdk/utils/file/checksum.py +56 -0
  303. synapse_sdk/utils/file/chunking.py +31 -0
  304. synapse_sdk/utils/file/download.py +385 -0
  305. synapse_sdk/utils/file/encoding.py +40 -0
  306. synapse_sdk/utils/file/io.py +22 -0
  307. synapse_sdk/utils/file/video/__init__.py +29 -0
  308. synapse_sdk/utils/file/video/transcode.py +307 -0
  309. synapse_sdk/utils/file.py.backup +301 -0
  310. synapse_sdk/utils/http.py +138 -0
  311. synapse_sdk/utils/network.py +309 -0
  312. synapse_sdk/utils/storage/__init__.py +72 -0
  313. synapse_sdk/utils/storage/providers/__init__.py +183 -0
  314. synapse_sdk/utils/storage/providers/file_system.py +134 -0
  315. synapse_sdk/utils/storage/providers/gcp.py +13 -0
  316. synapse_sdk/utils/storage/providers/http.py +190 -0
  317. synapse_sdk/utils/storage/providers/s3.py +91 -0
  318. synapse_sdk/utils/storage/providers/sftp.py +47 -0
  319. synapse_sdk/utils/storage/registry.py +17 -0
  320. synapse_sdk-2025.11.7.dist-info/METADATA +122 -0
  321. synapse_sdk-2025.11.7.dist-info/RECORD +386 -0
  322. {synapse_sdk-1.0.0a13.dist-info → synapse_sdk-2025.11.7.dist-info}/WHEEL +1 -1
  323. synapse_sdk/clients/backend/dataset.py +0 -51
  324. synapse_sdk/plugins/categories/import/actions/import.py +0 -10
  325. synapse_sdk/plugins/cli/__init__.py +0 -21
  326. synapse_sdk/plugins/cli/publish.py +0 -37
  327. synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/.env +0 -24
  328. synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/.env.dist +0 -24
  329. synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/main.py +0 -4
  330. synapse_sdk/plugins/utils.py +0 -50
  331. synapse_sdk/utils/file.py +0 -87
  332. synapse_sdk/utils/storage.py +0 -91
  333. synapse_sdk-1.0.0a13.dist-info/METADATA +0 -43
  334. synapse_sdk-1.0.0a13.dist-info/RECORD +0 -111
  335. /synapse_sdk/{plugins/categories/import → clients/validators}/__init__.py +0 -0
  336. /synapse_sdk/{plugins/categories/import/actions → devtools}/__init__.py +0 -0
  337. {synapse_sdk-1.0.0a13.dist-info → synapse_sdk-2025.11.7.dist-info}/entry_points.txt +0 -0
  338. {synapse_sdk-1.0.0a13.dist-info → synapse_sdk-2025.11.7.dist-info/licenses}/LICENSE +0 -0
  339. {synapse_sdk-1.0.0a13.dist-info → synapse_sdk-2025.11.7.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,83 @@
1
+ ---
2
+ id: configuration
3
+ title: Configuration
4
+ sidebar_position: 8
5
+ ---
6
+
7
+ # Configuration
8
+
9
+ Configure Synapse SDK for your environment and use cases.
10
+
11
+ ## Configuration Methods
12
+
13
+ There are three ways to configure Synapse SDK:
14
+
15
+ 1. **Synapse CLI**
16
+ 2. **Environment variables**
17
+ 3. **Configuration file**
18
+
19
+ ## CLI
20
+
21
+ The interactive configuration menu provides an easy way to configure your Synapse SDK:
22
+
23
+ ```bash
24
+ $ synapse config
25
+ ```
26
+
27
+ This will open an interactive menu where you can:
28
+ - Configure backend host and API token
29
+ - Select or manually configure an agent
30
+ - View current configuration
31
+
32
+ ### Key Features:
33
+ - **Plain text token display**: Tokens are shown in plain text for easy verification
34
+ - **Connection testing**: After configuring backend or agent, the connection is automatically tested
35
+ - **No startup delays**: Connection checks only happen when you configure settings, not on CLI startup
36
+
37
+ ## Configuration File
38
+
39
+ Create a configuration file at `~/.synapse/config.json`:
40
+
41
+ ```json
42
+ {
43
+ "backend": {
44
+ "host": "https://api.synapse.sh",
45
+ "token": "your-api-token"
46
+ },
47
+ "agent": {
48
+ "id": "agent-uuid-123",
49
+ "name": "My Development Agent",
50
+ "token": "your-agent-token"
51
+ }
52
+ }
53
+ ```
54
+
55
+ ## Plugin Management
56
+
57
+ The CLI provides an interactive plugin management interface:
58
+
59
+ ```bash
60
+ $ synapse
61
+ # Select "Plugin Management"
62
+ ```
63
+
64
+ ### Available Options:
65
+
66
+ 1. **Create new plugin**: Creates a new plugin from templates using cookiecutter
67
+ 2. **Run plugin locally**: Interactive interface to run plugins with configurable parameters
68
+ 3. **Publish plugin**: Publishes plugins to the configured backend with debug mode option
69
+
70
+ ### Plugin Publishing
71
+
72
+ When publishing plugins:
73
+ - **Debug mode**: Enabled by default for development
74
+ - **Backend integration**: Uses your configured backend settings
75
+ - **Connection testing**: Verifies backend connection before publishing
76
+ - **Error handling**: Stops on errors and waits for user acknowledgment
77
+
78
+ ### Plugin Development Workflow
79
+
80
+ 1. **Create**: Use the CLI to create a new plugin template
81
+ 2. **Develop**: Write your plugin code following the generated structure
82
+ 3. **Test**: Run plugins locally through the interactive interface
83
+ 4. **Publish**: Deploy to your configured backend with debug options
@@ -0,0 +1,306 @@
1
+ ---
2
+ id: contributing
3
+ title: Contributing
4
+ sidebar_position: 12
5
+ ---
6
+
7
+ # Contributing to Synapse SDK
8
+
9
+ Thank you for your interest in contributing to Synapse SDK! This guide will help you get started with contributing to the project.
10
+
11
+ ## Development Setup
12
+
13
+ ### Prerequisites
14
+
15
+ - Python 3.8 or higher
16
+ - Git
17
+ - Virtual environment tool (venv, conda, etc.)
18
+
19
+ ### Getting Started
20
+
21
+ 1. **Fork and Clone the Repository**
22
+ ```bash
23
+ git clone https://github.com/yourusername/synapse-sdk.git
24
+ cd synapse-sdk
25
+ ```
26
+
27
+ 2. **Create Virtual Environment**
28
+ ```bash
29
+ python -m venv .venv
30
+ source .venv/bin/activate # On Windows: .venv\Scripts\activate
31
+ ```
32
+
33
+ 3. **Install Dependencies**
34
+ ```bash
35
+ pip install -r requirements.txt
36
+ pip install -r requirements.test.txt
37
+ ```
38
+
39
+ ## Code Formatting and Quality
40
+
41
+ ### Ruff Formatting
42
+
43
+ We use **Ruff** for code formatting and linting. All contributions must follow our formatting standards.
44
+
45
+ #### Required Commands
46
+
47
+ Before submitting any code changes, run these commands:
48
+
49
+ ```bash
50
+ # Format all Python code
51
+ ruff format .
52
+
53
+ # Fix linting issues
54
+ ruff check --fix .
55
+
56
+ # Check for remaining issues
57
+ ruff check .
58
+ ```
59
+
60
+ #### Formatting Workflow
61
+
62
+ 1. **Make your changes** - Write or modify Python code
63
+ 2. **Format with Ruff** - Run `ruff format .` to apply consistent formatting
64
+ 3. **Fix linting issues** - Run `ruff check --fix .` to resolve code quality issues
65
+ 4. **Verify changes** - Review the formatted code to ensure correctness
66
+ 5. **Commit changes** - Create commits with properly formatted code
67
+
68
+ #### IDE Integration
69
+
70
+ Configure your IDE to run Ruff automatically:
71
+
72
+ - **VS Code**: Install the Ruff extension
73
+ - **PyCharm**: Configure Ruff as external tool
74
+ - **Vim/Neovim**: Use ruff-lsp or similar plugins
75
+
76
+ ### Code Style Guidelines
77
+
78
+ - **Line length**: Follow project-specific settings in `pyproject.toml`
79
+ - **Import sorting**: Let Ruff handle import organization
80
+ - **Type hints**: Use type annotations where appropriate
81
+ - **Docstrings**: Follow Google-style docstring format
82
+ - **Comments**: Write clear, concise comments for complex logic
83
+
84
+ ## Testing
85
+
86
+ ### Running Tests
87
+
88
+ ```bash
89
+ # Run all tests
90
+ pytest
91
+
92
+ # Run specific test file
93
+ pytest tests/plugins/utils/test_config.py
94
+
95
+ # Run with coverage
96
+ pytest --cov=synapse_sdk
97
+ ```
98
+
99
+ ### Writing Tests
100
+
101
+ - Write tests for all new functionality
102
+ - Use descriptive test names that explain the scenario
103
+ - Include both positive and negative test cases
104
+ - Mock external dependencies appropriately
105
+ - Maintain high test coverage
106
+
107
+ #### Test Structure
108
+
109
+ ```python
110
+ class TestMyFeature:
111
+ """Test MyFeature functionality."""
112
+
113
+ def test_feature_success_case(self):
114
+ """Test successful feature operation."""
115
+ # Arrange
116
+ input_data = {"key": "value"}
117
+
118
+ # Act
119
+ result = my_feature(input_data)
120
+
121
+ # Assert
122
+ assert result == expected_output
123
+
124
+ def test_feature_error_case(self):
125
+ """Test feature error handling."""
126
+ with pytest.raises(ValueError, match="Expected error message"):
127
+ my_feature(invalid_input)
128
+ ```
129
+
130
+ ## Plugin Development
131
+
132
+ ### Creating New Plugin Utilities
133
+
134
+ When adding new plugin utilities:
135
+
136
+ 1. **Add to appropriate module**:
137
+ - Configuration utilities → `synapse_sdk/plugins/utils/config.py`
138
+ - Action utilities → `synapse_sdk/plugins/utils/actions.py`
139
+ - Registry utilities → `synapse_sdk/plugins/utils/registry.py`
140
+
141
+ 2. **Include comprehensive docstrings**:
142
+ ```python
143
+ def my_utility_function(param: str) -> Dict[str, Any]:
144
+ """Brief description of the function.
145
+
146
+ Args:
147
+ param: Description of the parameter.
148
+
149
+ Returns:
150
+ Description of the return value.
151
+
152
+ Raises:
153
+ ValueError: When input is invalid.
154
+
155
+ Examples:
156
+ >>> my_utility_function("example")
157
+ {'result': 'processed'}
158
+ """
159
+ ```
160
+
161
+ 3. **Add to `__all__` exports**
162
+ 4. **Write comprehensive tests**
163
+ 5. **Update documentation**
164
+
165
+ ### Plugin Categories
166
+
167
+ When working with plugin categories:
168
+
169
+ - Use existing categories when possible
170
+ - Follow naming conventions: `snake_case`
171
+ - Add proper validation and error handling
172
+ - Update category enums if adding new categories
173
+
174
+ ## Documentation
175
+
176
+ ### API Documentation
177
+
178
+ - Update docstrings for all public functions
179
+ - Include usage examples in docstrings
180
+ - Add type hints for better IDE support
181
+ - Document error conditions and exceptions
182
+
183
+ ### User Documentation
184
+
185
+ Update relevant documentation files:
186
+
187
+ - **API Reference**: `docs/api/plugins/utils.md`
188
+ - **Feature Guides**: `docs/plugins/index.md`
189
+ - **Changelog**: `docs/changelog.md`
190
+ - **Examples**: Add practical usage examples
191
+
192
+ ### Documentation Format
193
+
194
+ Use clear, concise language with:
195
+
196
+ - Code examples for all functions
197
+ - Parameter and return value descriptions
198
+ - Error handling examples
199
+ - Migration guides for breaking changes
200
+
201
+ ## Pull Request Process
202
+
203
+ ### Before Submitting
204
+
205
+ 1. **Run formatting and linting**:
206
+ ```bash
207
+ ruff format .
208
+ ruff check --fix .
209
+ ```
210
+
211
+ 2. **Run all tests**:
212
+ ```bash
213
+ pytest
214
+ ```
215
+
216
+ 3. **Update documentation** as needed
217
+
218
+ 4. **Add changelog entry** for significant changes
219
+
220
+ ### Pull Request Guidelines
221
+
222
+ - **Clear title**: Describe what the PR accomplishes
223
+ - **Detailed description**: Explain the changes and motivation
224
+ - **Reference issues**: Link to relevant GitHub issues
225
+ - **Test coverage**: Ensure new code is tested
226
+ - **Documentation**: Update docs for user-facing changes
227
+
228
+ ### PR Template
229
+
230
+ ```markdown
231
+ ## Description
232
+ Brief description of changes
233
+
234
+ ## Type of Change
235
+ - [ ] Bug fix
236
+ - [ ] New feature
237
+ - [ ] Breaking change
238
+ - [ ] Documentation update
239
+
240
+ ## Testing
241
+ - [ ] Tests pass locally
242
+ - [ ] New tests added for new functionality
243
+ - [ ] Code formatted with Ruff
244
+
245
+ ## Documentation
246
+ - [ ] API documentation updated
247
+ - [ ] User guide updated if needed
248
+ - [ ] Changelog entry added
249
+ ```
250
+
251
+ ## Code Review
252
+
253
+ ### Review Criteria
254
+
255
+ - **Functionality**: Code works as intended
256
+ - **Quality**: Follows coding standards and best practices
257
+ - **Testing**: Adequate test coverage
258
+ - **Documentation**: Clear documentation for public APIs
259
+ - **Performance**: No obvious performance issues
260
+ - **Security**: No security vulnerabilities
261
+
262
+ ### Responding to Feedback
263
+
264
+ - Address all reviewer comments
265
+ - Ask for clarification if feedback is unclear
266
+ - Make requested changes promptly
267
+ - Re-run formatting and tests after changes
268
+
269
+ ## Project Structure
270
+
271
+ Understanding the project organization:
272
+
273
+ ```
274
+ synapse_sdk/
275
+ ├── plugins/
276
+ │ ├── utils/ # Plugin utilities (modular)
277
+ │ │ ├── config.py # Configuration utilities
278
+ │ │ ├── actions.py # Action management
279
+ │ │ └── registry.py # Registry utilities
280
+ │ ├── categories/ # Plugin category implementations
281
+ │ └── models.py # Core plugin models
282
+ ├── clients/ # API clients
283
+ ├── utils/ # General utilities
284
+ └── devtools/ # Development tools
285
+
286
+ tests/
287
+ ├── plugins/
288
+ │ └── utils/ # Plugin utility tests
289
+ └── ... # Other test modules
290
+
291
+ docs/ # Documentation
292
+ ├── api/ # API reference
293
+ ├── features/ # Feature guides
294
+ └── changelog.md # Change log
295
+ ```
296
+
297
+ ## Getting Help
298
+
299
+ - **GitHub Issues**: Report bugs or request features
300
+ - **Discussions**: Ask questions or discuss ideas
301
+ - **Documentation**: Check existing docs first
302
+ - **Code Review**: Ask for clarification during review
303
+
304
+ ## License
305
+
306
+ By contributing to Synapse SDK, you agree that your contributions will be licensed under the same license as the project (MIT License).
@@ -0,0 +1,29 @@
1
+ ---
2
+ id: index
3
+ title: Examples
4
+ sidebar_position: 1
5
+ ---
6
+
7
+ # Examples
8
+
9
+ Practical examples and tutorials for using Synapse SDK.
10
+
11
+ ## Getting Started Examples
12
+
13
+ Basic examples to help you get started quickly.
14
+
15
+ ## Plugin Examples
16
+
17
+ Real-world plugin examples for different use cases.
18
+
19
+ ## Integration Examples
20
+
21
+ Examples of integrating Synapse SDK with other tools and services.
22
+
23
+ ## Advanced Examples
24
+
25
+ Complex workflows and advanced usage patterns.
26
+
27
+ ## Code Samples
28
+
29
+ Ready-to-use code snippets for common operations.
@@ -0,0 +1,179 @@
1
+ ---
2
+ id: faq
3
+ title: Frequently Asked Questions
4
+ sidebar_position: 9
5
+ ---
6
+
7
+ # Frequently Asked Questions
8
+
9
+ Common questions and answers about Synapse SDK.
10
+
11
+ ## Installation & Setup
12
+
13
+ ### Q: What Python versions are supported?
14
+
15
+ Synapse SDK requires **Python 3.10 or higher**.
16
+
17
+ ```bash
18
+ pip install "synapse-sdk[all,devtools]"
19
+ ```
20
+
21
+ ### Q: How do I install code-server for local development?
22
+
23
+ You have several options:
24
+
25
+ ```bash
26
+ # Recommended: Install script
27
+ curl -fsSL https://code-server.dev/install.sh | sh
28
+
29
+ # Using npm
30
+ npm install -g code-server
31
+
32
+ # Using yarn
33
+ yarn global add code-server
34
+ ```
35
+
36
+ For more installation methods, visit: [code-server installation guide](https://coder.com/docs/code-server/latest/install)
37
+
38
+ ## CLI Usage
39
+
40
+ ### Q: How do I start the Synapse CLI?
41
+
42
+ Simply run:
43
+
44
+ ```bash
45
+ synapse
46
+ ```
47
+
48
+ This opens the interactive menu where you can access all Synapse features.
49
+
50
+ ### Q: What's the difference between agent and local code-server?
51
+
52
+ - **Agent Code-Server**: Runs on a remote agent with your project files synced. Includes plugin encryption and secure transfer.
53
+ - **Local Code-Server**: Runs on your local machine. Faster startup, uses your local environment and settings.
54
+
55
+ ### Q: How do I configure the code-server port?
56
+
57
+ Code-server port is automatically detected from `~/.config/code-server/config.yaml`. If no config exists, it defaults to port 8070.
58
+
59
+ Example config:
60
+
61
+ ```yaml
62
+ bind-addr: 127.0.0.1:8070
63
+ auth: password
64
+ password: your-password-here
65
+ cert: false
66
+ ```
67
+
68
+ ### Q: Why does the agent workspace path differ from my local path?
69
+
70
+ Agents run in containerized environments where your local project is mounted to `/home/coder/workspace`. This is normal and ensures consistent paths across different development environments.
71
+
72
+ ## Code-Server Troubleshooting
73
+
74
+ ### Q: Code-server shows "not available" error
75
+
76
+ This usually means:
77
+
78
+ 1. The agent doesn't have code-server support enabled
79
+ 2. Network connectivity issues
80
+ 3. Agent is not properly configured
81
+
82
+ **Solution**: Reinstall the agent with code-server support, or check agent configuration.
83
+
84
+ ### Q: Browser doesn't open automatically
85
+
86
+ This happens in headless environments or when display is not available.
87
+
88
+ **Solution**: Manually copy the provided URL (including the `?folder=` parameter) to your browser.
89
+
90
+ ### Q: Plugin not detected in workspace
91
+
92
+ **Solution**: Ensure your directory contains a valid `config.yaml` file with plugin metadata:
93
+
94
+ ```yaml
95
+ name: my-plugin
96
+ version: 1.0.0
97
+ description: My awesome plugin
98
+ entry_point: main.py
99
+ ```
100
+
101
+ ### Q: How does plugin encryption work?
102
+
103
+ When opening code-server with an agent, Synapse:
104
+
105
+ 1. Detects if your workspace contains a plugin
106
+ 2. Creates a ZIP archive of the plugin files
107
+ 3. Encrypts the archive using AES-256 encryption
108
+ 4. Securely transfers it to the agent
109
+ 5. Decrypts and extracts it in the agent workspace
110
+
111
+ This ensures your plugin code is protected during transfer.
112
+
113
+ ## Configuration
114
+
115
+ ### Q: Where are configuration files stored?
116
+
117
+ - **Synapse Config**: `~/.synapse/devtools.yaml`
118
+ - **Code-Server Config**: `~/.config/code-server/config.yaml`
119
+
120
+ ### Q: How do I reset my configuration?
121
+
122
+ ```bash
123
+ # Remove configuration files
124
+ rm ~/.synapse/devtools.yaml
125
+ rm ~/.config/code-server/config.yaml
126
+
127
+ # Run configuration wizard
128
+ synapse config
129
+ ```
130
+
131
+ ### Q: What if I get "Invalid token (401)" error?
132
+
133
+ This means your API token is expired or invalid.
134
+
135
+ **Solution**:
136
+
137
+ 1. Generate a new token from your Synapse backend
138
+ 2. Run `synapse config` to update the token
139
+ 3. Test connection with `synapse --dev-tools`
140
+
141
+ ## Plugin Development
142
+
143
+ ### Q: How do I create a new plugin?
144
+
145
+ Use the interactive plugin creator:
146
+
147
+ ```bash
148
+ synapse
149
+ # Select "🔌 Plugin Management" → "Create new plugin"
150
+ ```
151
+
152
+ This creates a complete plugin structure with examples and documentation.
153
+
154
+ ### Q: How do I test plugins locally?
155
+
156
+ ```bash
157
+ # Test with local script execution
158
+ synapse plugin run my_action '{"param": "value"}' --run-by script
159
+
160
+ # Test with agent execution
161
+ synapse plugin run my_action '{"param": "value"}' --run-by agent
162
+ ```
163
+
164
+ Always test locally before publishing to ensure your plugin works correctly.
165
+
166
+ ### Q: Plugin publishing fails with errors
167
+
168
+ Common issues:
169
+
170
+ 1. **Missing dependencies**: Ensure `requirements.txt` includes all needed packages
171
+ 2. **Syntax errors**: Test locally first with `--run-by script`
172
+ 3. **Configuration errors**: Check `config.yaml` format and required fields
173
+ 4. **Backend connectivity**: Ensure backend is accessible and token is valid
174
+
175
+ **Solution**: Use debug mode for detailed error information:
176
+
177
+ ```bash
178
+ synapse plugin publish --debug
179
+ ```