synapse-sdk 1.0.0a75__tar.gz → 1.0.0a77__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of synapse-sdk might be problematic. Click here for more details.

Files changed (429) hide show
  1. synapse_sdk-1.0.0a77/.claude/commands/compare-branch.md +14 -0
  2. synapse_sdk-1.0.0a77/.claude/commands/review-pr.md +137 -0
  3. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/.gitignore +4 -0
  4. synapse_sdk-1.0.0a77/.mcp.json +22 -0
  5. synapse_sdk-1.0.0a77/AGENT.md +363 -0
  6. synapse_sdk-1.0.0a77/CLAUDE.md +1 -0
  7. synapse_sdk-1.0.0a77/GEMINI.md +1 -0
  8. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/Makefile +11 -1
  9. synapse_sdk-1.0.0a77/P1_rules.md +51 -0
  10. synapse_sdk-1.0.0a77/P2_rules.md +65 -0
  11. synapse_sdk-1.0.0a77/P3_rules.md +62 -0
  12. synapse_sdk-1.0.0a77/P4_rules.md +49 -0
  13. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/PKG-INFO +36 -1
  14. synapse_sdk-1.0.0a77/README.md +60 -0
  15. synapse_sdk-1.0.0a77/docs/api/plugins/utils.md +328 -0
  16. synapse_sdk-1.0.0a77/docs/contributing.md +306 -0
  17. synapse_sdk-1.0.0a77/docs/features/index.md +24 -0
  18. synapse_sdk-1.0.0a77/docs/features/plugins/index.md +509 -0
  19. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/devtools/docs/sidebars.ts +1 -1
  20. synapse_sdk-1.0.0a77/synapse_sdk/plugins/utils/__init__.py +43 -0
  21. synapse_sdk-1.0.0a77/synapse_sdk/plugins/utils/actions.py +119 -0
  22. synapse_sdk-1.0.0a77/synapse_sdk/plugins/utils/config.py +203 -0
  23. synapse_sdk-1.0.0a75/synapse_sdk/plugins/utils.py → synapse_sdk-1.0.0a77/synapse_sdk/plugins/utils/legacy.py +26 -46
  24. synapse_sdk-1.0.0a77/synapse_sdk/plugins/utils/registry.py +58 -0
  25. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk.egg-info/PKG-INFO +36 -1
  26. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk.egg-info/SOURCES.txt +20 -2
  27. synapse_sdk-1.0.0a77/tests/plugins/utils/test_actions.py +238 -0
  28. synapse_sdk-1.0.0a77/tests/plugins/utils/test_config.py +402 -0
  29. synapse_sdk-1.0.0a77/tests/plugins/utils/test_registry.py +204 -0
  30. synapse_sdk-1.0.0a77/tests/utils/converters/fixtures/__init__.py +0 -0
  31. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/uv.lock +1 -1
  32. synapse_sdk-1.0.0a75/README.md +0 -25
  33. synapse_sdk-1.0.0a75/docs/api/plugins/utils.md +0 -43
  34. synapse_sdk-1.0.0a75/docs/changelog.md +0 -17
  35. synapse_sdk-1.0.0a75/docs/contributing.md +0 -13
  36. synapse_sdk-1.0.0a75/docs/features/index.md +0 -16
  37. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/.coverage +0 -0
  38. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/.github/workflows/lint.yml +0 -0
  39. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/.github/workflows/pypi-publish.yml +0 -0
  40. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/.github/workflows/test.yml +0 -0
  41. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/.pre-commit-config.yaml +0 -0
  42. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/LICENSE +0 -0
  43. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/docs/api/clients/agent.md +0 -0
  44. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/docs/api/clients/backend.md +0 -0
  45. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/docs/api/clients/base.md +0 -0
  46. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/docs/api/index.md +0 -0
  47. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/docs/api/plugins/categories.md +0 -0
  48. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/docs/api/plugins/models.md +0 -0
  49. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/docs/api/utils/file.md +0 -0
  50. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/docs/api/utils/storage.md +0 -0
  51. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/docs/api/utils/types.md +0 -0
  52. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/docs/categories.md +0 -0
  53. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/docs/concepts/index.md +0 -0
  54. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/docs/configuration.md +0 -0
  55. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/docs/examples/index.md +0 -0
  56. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/docs/faq.md +0 -0
  57. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/docs/features/converters/index.md +0 -0
  58. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/docs/i18n/ko/code.json +0 -0
  59. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/docs/i18n/ko/docusaurus-plugin-content-docs/current/introduction.md +0 -0
  60. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/docs/i18n/ko/docusaurus-plugin-content-docs/current.json +0 -0
  61. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/docs/i18n/ko/docusaurus-theme-classic/footer.json +0 -0
  62. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/docs/i18n/ko/docusaurus-theme-classic/navbar.json +0 -0
  63. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/docs/installation.md +0 -0
  64. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/docs/introduction.md +0 -0
  65. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/docs/quickstart.md +0 -0
  66. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/docs/troubleshooting.md +0 -0
  67. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/docs/tutorial-basics/_category_.json +0 -0
  68. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/docs/tutorial-basics/congratulations.md +0 -0
  69. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/docs/tutorial-basics/create-a-blog-post.md +0 -0
  70. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/docs/tutorial-basics/create-a-document.md +0 -0
  71. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/docs/tutorial-basics/create-a-page.md +0 -0
  72. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/docs/tutorial-basics/deploy-your-site.md +0 -0
  73. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/docs/tutorial-basics/markdown-features.mdx +0 -0
  74. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/docs/tutorial-extras/_category_.json +0 -0
  75. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/docs/tutorial-extras/img/docsVersionDropdown.png +0 -0
  76. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/docs/tutorial-extras/img/localeDropdown.png +0 -0
  77. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/docs/tutorial-extras/manage-docs-versions.md +0 -0
  78. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/docs/tutorial-extras/translate-your-site.md +0 -0
  79. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/locale/en/LC_MESSAGES/messages.mo +0 -0
  80. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/locale/en/LC_MESSAGES/messages.po +0 -0
  81. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/locale/ko/LC_MESSAGES/messages.mo +0 -0
  82. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/locale/ko/LC_MESSAGES/messages.po +0 -0
  83. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/pyproject.toml +0 -0
  84. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/pytest-ci.ini +0 -0
  85. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/pytest.ini +0 -0
  86. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/requirements.test.txt +0 -0
  87. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/requirements.txt +0 -0
  88. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/setup.cfg +0 -0
  89. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/__init__.py +0 -0
  90. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/cli/__init__.py +0 -0
  91. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/cli/alias/__init__.py +0 -0
  92. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/cli/alias/create.py +0 -0
  93. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/cli/alias/dataclass.py +0 -0
  94. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/cli/alias/default.py +0 -0
  95. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/cli/alias/delete.py +0 -0
  96. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/cli/alias/list.py +0 -0
  97. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/cli/alias/read.py +0 -0
  98. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/cli/alias/update.py +0 -0
  99. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/cli/alias/utils.py +0 -0
  100. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/cli/config.py +0 -0
  101. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/cli/devtools.py +0 -0
  102. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/cli/plugin/__init__.py +0 -0
  103. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/cli/plugin/create.py +0 -0
  104. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/cli/plugin/publish.py +0 -0
  105. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/cli/plugin/run.py +0 -0
  106. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/clients/__init__.py +0 -0
  107. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/clients/agent/__init__.py +0 -0
  108. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/clients/agent/core.py +0 -0
  109. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/clients/agent/ray.py +0 -0
  110. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/clients/agent/service.py +0 -0
  111. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/clients/backend/__init__.py +0 -0
  112. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/clients/backend/annotation.py +0 -0
  113. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/clients/backend/core.py +0 -0
  114. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/clients/backend/data_collection.py +0 -0
  115. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/clients/backend/hitl.py +0 -0
  116. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/clients/backend/integration.py +0 -0
  117. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/clients/backend/ml.py +0 -0
  118. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/clients/backend/models.py +0 -0
  119. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/clients/base.py +0 -0
  120. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/clients/exceptions.py +0 -0
  121. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/clients/ray/__init__.py +0 -0
  122. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/clients/ray/core.py +0 -0
  123. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/clients/ray/serve.py +0 -0
  124. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/clients/utils.py +0 -0
  125. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/clients/validators/__init__.py +0 -0
  126. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/clients/validators/collections.py +0 -0
  127. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/devtools/__init__.py +0 -0
  128. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/devtools/config.py +0 -0
  129. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/devtools/docs/.gitignore +0 -0
  130. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/devtools/docs/README.md +0 -0
  131. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/devtools/docs/blog/2019-05-28-first-blog-post.md +0 -0
  132. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/devtools/docs/blog/2019-05-29-long-blog-post.md +0 -0
  133. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/devtools/docs/blog/2021-08-01-mdx-blog-post.mdx +0 -0
  134. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/devtools/docs/blog/2021-08-26-welcome/docusaurus-plushie-banner.jpeg +0 -0
  135. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/devtools/docs/blog/2021-08-26-welcome/index.md +0 -0
  136. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/devtools/docs/blog/authors.yml +0 -0
  137. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/devtools/docs/blog/tags.yml +0 -0
  138. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/devtools/docs/docusaurus.config.ts +0 -0
  139. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/devtools/docs/package-lock.json +0 -0
  140. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/devtools/docs/package.json +0 -0
  141. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/devtools/docs/src/components/HomepageFeatures/index.tsx +0 -0
  142. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/devtools/docs/src/components/HomepageFeatures/styles.module.css +0 -0
  143. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/devtools/docs/src/css/custom.css +0 -0
  144. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/devtools/docs/src/pages/index.module.css +0 -0
  145. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/devtools/docs/src/pages/index.tsx +0 -0
  146. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/devtools/docs/src/pages/markdown-page.md +0 -0
  147. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/devtools/docs/static/.nojekyll +0 -0
  148. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/devtools/docs/static/img/docusaurus-social-card.jpg +0 -0
  149. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/devtools/docs/static/img/docusaurus.png +0 -0
  150. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/devtools/docs/static/img/favicon.ico +0 -0
  151. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/devtools/docs/static/img/logo.png +0 -0
  152. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/devtools/docs/static/img/undraw_docusaurus_mountain.svg +0 -0
  153. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/devtools/docs/static/img/undraw_docusaurus_react.svg +0 -0
  154. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/devtools/docs/static/img/undraw_docusaurus_tree.svg +0 -0
  155. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/devtools/docs/tsconfig.json +0 -0
  156. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/devtools/models.py +0 -0
  157. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/devtools/server.py +0 -0
  158. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/devtools/utils.py +0 -0
  159. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/devtools/web/.gitignore +0 -0
  160. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/devtools/web/README.md +0 -0
  161. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/devtools/web/dist/index.html +0 -0
  162. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/devtools/web/index.html +0 -0
  163. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/devtools/web/jsconfig.json +0 -0
  164. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/devtools/web/package-lock.json +0 -0
  165. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/devtools/web/package.json +0 -0
  166. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/devtools/web/pnpm-lock.yaml +0 -0
  167. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/devtools/web/src/App.jsx +0 -0
  168. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/devtools/web/src/App.module.css +0 -0
  169. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/devtools/web/src/assets/favicon.ico +0 -0
  170. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/devtools/web/src/components/Breadcrumbs.jsx +0 -0
  171. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/devtools/web/src/components/Layout.jsx +0 -0
  172. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/devtools/web/src/components/LogViewer.jsx +0 -0
  173. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/devtools/web/src/components/MessageViewer.jsx +0 -0
  174. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/devtools/web/src/components/NavigationSidebar.jsx +0 -0
  175. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/devtools/web/src/components/ServerStatusBar.jsx +0 -0
  176. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/devtools/web/src/components/icons.jsx +0 -0
  177. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/devtools/web/src/index.css +0 -0
  178. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/devtools/web/src/index.jsx +0 -0
  179. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/devtools/web/src/logo.svg +0 -0
  180. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/devtools/web/src/router.jsx +0 -0
  181. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/devtools/web/src/utils/api.js +0 -0
  182. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/devtools/web/src/views/ApplicationDetailView.jsx +0 -0
  183. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/devtools/web/src/views/ApplicationsView.jsx +0 -0
  184. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/devtools/web/src/views/HomeView.jsx +0 -0
  185. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/devtools/web/src/views/JobDetailView.jsx +0 -0
  186. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/devtools/web/src/views/PluginView.jsx +0 -0
  187. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/devtools/web/vite.config.js +0 -0
  188. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/i18n.py +0 -0
  189. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/loggers.py +0 -0
  190. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/__init__.py +0 -0
  191. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/categories/__init__.py +0 -0
  192. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/categories/base.py +0 -0
  193. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/categories/data_validation/__init__.py +0 -0
  194. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/categories/data_validation/actions/__init__.py +0 -0
  195. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/categories/data_validation/actions/validation.py +0 -0
  196. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/categories/data_validation/templates/config.yaml +0 -0
  197. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/categories/data_validation/templates/plugin/__init__.py +0 -0
  198. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/categories/data_validation/templates/plugin/validation.py +0 -0
  199. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/categories/decorators.py +0 -0
  200. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/categories/export/__init__.py +0 -0
  201. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/categories/export/actions/__init__.py +0 -0
  202. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/categories/export/actions/export.py +0 -0
  203. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/categories/export/enums.py +0 -0
  204. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/categories/export/templates/config.yaml +0 -0
  205. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/categories/export/templates/plugin/__init__.py +0 -0
  206. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/categories/export/templates/plugin/export.py +0 -0
  207. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/categories/neural_net/__init__.py +0 -0
  208. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/categories/neural_net/actions/__init__.py +0 -0
  209. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/categories/neural_net/actions/deployment.py +0 -0
  210. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/categories/neural_net/actions/gradio.py +0 -0
  211. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/categories/neural_net/actions/inference.py +0 -0
  212. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/categories/neural_net/actions/test.py +0 -0
  213. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/categories/neural_net/actions/train.py +0 -0
  214. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/categories/neural_net/actions/tune.py +0 -0
  215. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/categories/neural_net/base/__init__.py +0 -0
  216. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/categories/neural_net/base/inference.py +0 -0
  217. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/categories/neural_net/templates/config.yaml +0 -0
  218. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/categories/neural_net/templates/plugin/__init__.py +0 -0
  219. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/categories/neural_net/templates/plugin/inference.py +0 -0
  220. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/categories/neural_net/templates/plugin/test.py +0 -0
  221. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/categories/neural_net/templates/plugin/train.py +0 -0
  222. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/categories/post_annotation/__init__.py +0 -0
  223. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/categories/post_annotation/actions/__init__.py +0 -0
  224. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/categories/post_annotation/actions/post_annotation.py +0 -0
  225. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/categories/post_annotation/templates/config.yaml +0 -0
  226. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/categories/post_annotation/templates/plugin/__init__.py +0 -0
  227. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/categories/post_annotation/templates/plugin/post_annotation.py +0 -0
  228. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/categories/pre_annotation/__init__.py +0 -0
  229. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/categories/pre_annotation/actions/__init__.py +0 -0
  230. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/categories/pre_annotation/actions/pre_annotation.py +0 -0
  231. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/categories/pre_annotation/actions/to_task.py +0 -0
  232. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/categories/pre_annotation/templates/config.yaml +0 -0
  233. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/categories/pre_annotation/templates/plugin/__init__.py +0 -0
  234. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/categories/pre_annotation/templates/plugin/pre_annotation.py +0 -0
  235. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/categories/pre_annotation/templates/plugin/to_task.py +0 -0
  236. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/categories/registry.py +0 -0
  237. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/categories/smart_tool/__init__.py +0 -0
  238. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/categories/smart_tool/actions/__init__.py +0 -0
  239. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/categories/smart_tool/actions/auto_label.py +0 -0
  240. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/categories/smart_tool/templates/config.yaml +0 -0
  241. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/categories/smart_tool/templates/plugin/__init__.py +0 -0
  242. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/categories/smart_tool/templates/plugin/auto_label.py +0 -0
  243. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/categories/templates.py +0 -0
  244. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/categories/upload/__init__.py +0 -0
  245. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/categories/upload/actions/__init__.py +0 -0
  246. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/categories/upload/actions/upload.py +0 -0
  247. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/categories/upload/templates/config.yaml +0 -0
  248. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/categories/upload/templates/plugin/__init__.py +0 -0
  249. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/categories/upload/templates/plugin/upload.py +0 -0
  250. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/enums.py +0 -0
  251. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/exceptions.py +0 -0
  252. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/models.py +0 -0
  253. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/templates/cookiecutter.json +0 -0
  254. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/templates/hooks/post_gen_project.py +0 -0
  255. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/templates/hooks/pre_prompt.py +0 -0
  256. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/templates/plugin-config-schema.json +0 -0
  257. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/templates/schema.json +0 -0
  258. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/.gitignore +0 -0
  259. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/.pre-commit-config.yaml +0 -0
  260. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/README.md +0 -0
  261. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/config.yaml +0 -0
  262. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/plugin/__init__.py +0 -0
  263. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/pyproject.toml +0 -0
  264. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/requirements.txt +0 -0
  265. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/plugins/upload.py +0 -0
  266. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/shared/__init__.py +0 -0
  267. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/shared/enums.py +0 -0
  268. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/types.py +0 -0
  269. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/utils/__init__.py +0 -0
  270. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/utils/converters/__init__.py +0 -0
  271. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/utils/converters/coco/__init__.py +0 -0
  272. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/utils/converters/coco/from_dm.py +0 -0
  273. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/utils/converters/coco/to_dm.py +0 -0
  274. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/utils/converters/dm/__init__.py +0 -0
  275. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/utils/converters/dm/from_v1.py +0 -0
  276. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/utils/converters/dm/to_v1.py +0 -0
  277. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/utils/converters/pascal/__init__.py +0 -0
  278. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/utils/converters/pascal/from_dm.py +0 -0
  279. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/utils/converters/pascal/to_dm.py +0 -0
  280. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/utils/converters/yolo/__init__.py +0 -0
  281. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/utils/converters/yolo/from_dm.py +0 -0
  282. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/utils/converters/yolo/to_dm.py +0 -0
  283. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/utils/dataset.py +0 -0
  284. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/utils/debug.py +0 -0
  285. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/utils/file.py +0 -0
  286. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/utils/http.py +0 -0
  287. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/utils/module_loading.py +0 -0
  288. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/utils/network.py +0 -0
  289. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/utils/pydantic/__init__.py +0 -0
  290. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/utils/pydantic/config.py +0 -0
  291. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/utils/pydantic/errors.py +0 -0
  292. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/utils/pydantic/validators.py +0 -0
  293. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/utils/storage/__init__.py +0 -0
  294. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/utils/storage/providers/__init__.py +0 -0
  295. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/utils/storage/providers/gcp.py +0 -0
  296. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/utils/storage/providers/http.py +0 -0
  297. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/utils/storage/providers/s3.py +0 -0
  298. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/utils/storage/providers/sftp.py +0 -0
  299. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/utils/storage/registry.py +0 -0
  300. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk/utils/string.py +0 -0
  301. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk.egg-info/dependency_links.txt +0 -0
  302. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk.egg-info/entry_points.txt +0 -0
  303. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk.egg-info/requires.txt +0 -0
  304. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/synapse_sdk.egg-info/top_level.txt +0 -0
  305. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/README.md +0 -0
  306. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/__init__.py +0 -0
  307. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/clients/__init__.py +0 -0
  308. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/clients/conftest.py +0 -0
  309. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/clients/test_backend_models.py +0 -0
  310. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/clients/test_base_client.py +0 -0
  311. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/clients/test_collection_validators.py +0 -0
  312. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/conftest.py +0 -0
  313. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/loggers/__init__.py +0 -0
  314. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/loggers/conftest.py +0 -0
  315. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/loggers/test_base_logger.py +0 -0
  316. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/plugins/conftest.py +0 -0
  317. {synapse_sdk-1.0.0a75/tests/utils/converters → synapse_sdk-1.0.0a77/tests/plugins/utils}/__init__.py +0 -0
  318. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/test_cli.py +0 -0
  319. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/test_cli_integration.py +0 -0
  320. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/__init__,py +0 -0
  321. {synapse_sdk-1.0.0a75/tests/utils/converters/fixtures → synapse_sdk-1.0.0a77/tests/utils/converters}/__init__.py +0 -0
  322. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/conftest.py +0 -0
  323. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/coco.py +0 -0
  324. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/coco/categorized/test/annotations.json +0 -0
  325. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/coco/categorized/test/new_dm_data8.jpg +0 -0
  326. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/coco/categorized/test/new_dm_data9.jpg +0 -0
  327. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/coco/categorized/train/annotations.json +0 -0
  328. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/coco/categorized/train/new_dm_data4.jpg +0 -0
  329. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/coco/categorized/train/new_dm_data5.jpg +0 -0
  330. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/coco/categorized/train/new_dm_data6.jpg +0 -0
  331. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/coco/categorized/valid/annotations.json +0 -0
  332. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/coco/categorized/valid/new_dm_data7.jpg +0 -0
  333. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/coco/not_categorized/annotations.json +0 -0
  334. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/coco/not_categorized/new_dm_data1.jpg +0 -0
  335. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/coco/not_categorized/new_dm_data2.jpg +0 -0
  336. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/coco/not_categorized/new_dm_data3.jpg +0 -0
  337. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/dm/categorized/test/json/dm_1.json +0 -0
  338. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/dm/categorized/test/json/dm_2.json +0 -0
  339. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/dm/categorized/test/json/dm_3.json +0 -0
  340. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/dm/categorized/test/original_files/dm_1.jpg +0 -0
  341. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/dm/categorized/test/original_files/dm_2.jpg +0 -0
  342. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/dm/categorized/test/original_files/dm_3.jpg +0 -0
  343. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/dm/categorized/train/json/dm_4.json +0 -0
  344. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/dm/categorized/train/json/dm_5.json +0 -0
  345. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/dm/categorized/train/json/dm_6.json +0 -0
  346. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/dm/categorized/train/json/dm_7.json +0 -0
  347. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/dm/categorized/train/original_files/dm_4.jpg +0 -0
  348. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/dm/categorized/train/original_files/dm_5.jpg +0 -0
  349. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/dm/categorized/train/original_files/dm_6.jpg +0 -0
  350. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/dm/categorized/train/original_files/dm_7.jpg +0 -0
  351. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/dm/categorized/valid/json/dm_8.json +0 -0
  352. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/dm/categorized/valid/json/dm_9.json +0 -0
  353. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/dm/categorized/valid/original_files/dm_8.jpg +0 -0
  354. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/dm/categorized/valid/original_files/dm_9.jpg +0 -0
  355. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/dm/not_categorized/json/dm_1.json +0 -0
  356. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/dm/not_categorized/json/dm_2.json +0 -0
  357. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/dm/not_categorized/json/dm_3.json +0 -0
  358. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/dm/not_categorized/original_files/dm_1.jpg +0 -0
  359. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/dm/not_categorized/original_files/dm_2.jpg +0 -0
  360. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/dm/not_categorized/original_files/dm_3.jpg +0 -0
  361. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/dm/ver1/json/25669.json +0 -0
  362. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/dm/ver2/json/25669.json +0 -0
  363. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/classes.txt +0 -0
  364. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/test/Annotations/9139.xml +0 -0
  365. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/test/Annotations/9140.xml +0 -0
  366. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/test/Annotations/9141.xml +0 -0
  367. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/test/Images/9139.jpg +0 -0
  368. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/test/Images/9140.jpg +0 -0
  369. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/test/Images/9141.jpg +0 -0
  370. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/train/Annotations/9136.xml +0 -0
  371. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/train/Annotations/9137.xml +0 -0
  372. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/train/Annotations/9138.xml +0 -0
  373. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/train/Images/9136.jpg +0 -0
  374. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/train/Images/9137.jpg +0 -0
  375. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/train/Images/9138.jpg +0 -0
  376. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/valid/Annotations/9125.xml +0 -0
  377. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/valid/Annotations/9126.xml +0 -0
  378. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/valid/Annotations/9127.xml +0 -0
  379. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/valid/Images/9125.jpg +0 -0
  380. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/valid/Images/9126.jpg +0 -0
  381. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/pascal/categorized/valid/Images/9127.jpg +0 -0
  382. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/pascal/not_categorized/Annotations/9122.xml +0 -0
  383. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/pascal/not_categorized/Annotations/9123.xml +0 -0
  384. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/pascal/not_categorized/Annotations/9124.xml +0 -0
  385. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/pascal/not_categorized/Images/9122.jpg +0 -0
  386. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/pascal/not_categorized/Images/9123.jpg +0 -0
  387. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/pascal/not_categorized/Images/9124.jpg +0 -0
  388. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/pascal/not_categorized/classes.txt +0 -0
  389. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/yolo/categorized/dataset.yaml +0 -0
  390. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/yolo/categorized/test/images/13744.jpg +0 -0
  391. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/yolo/categorized/test/images/13745.jpg +0 -0
  392. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/yolo/categorized/test/images/13746.jpg +0 -0
  393. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/yolo/categorized/test/labels/13744.txt +0 -0
  394. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/yolo/categorized/test/labels/13745.txt +0 -0
  395. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/yolo/categorized/test/labels/13746.txt +0 -0
  396. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/yolo/categorized/train/images/13782.jpg +0 -0
  397. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/yolo/categorized/train/labels/13782.txt +0 -0
  398. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/yolo/categorized/valid/images/13761.jpg +0 -0
  399. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/yolo/categorized/valid/images/13764.jpg +0 -0
  400. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/yolo/categorized/valid/labels/13761.txt +0 -0
  401. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/yolo/categorized/valid/labels/13764.txt +0 -0
  402. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/yolo/not_categorized/classes.txt +0 -0
  403. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/yolo/not_categorized/dataset.yaml +0 -0
  404. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/yolo/not_categorized/images/25332.jpg +0 -0
  405. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/yolo/not_categorized/images/25334.jpg +0 -0
  406. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/yolo/not_categorized/labels/25332.txt +0 -0
  407. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/image/yolo/not_categorized/labels/25334.txt +0 -0
  408. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/pcd/dm/ver1/json/23791.json +0 -0
  409. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/pcd/dm/ver2/json/23791.json +0 -0
  410. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/prompt/dm/ver1/json/18662.json +0 -0
  411. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/prompt/dm/ver2/json/18662.json +0 -0
  412. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/text/dm/ver1/json/23811.json +0 -0
  413. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/text/dm/ver2/json/23811.json +0 -0
  414. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/video/dm/ver1/json/23831.json +0 -0
  415. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/data_types/video/dm/ver2/json/23831.json +0 -0
  416. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/dm_schema.py +0 -0
  417. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/pascal.py +0 -0
  418. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/fixtures/yolo.py +0 -0
  419. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/test_coco_from_dm.py +0 -0
  420. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/test_coco_to_dm.py +0 -0
  421. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/test_dm_v1_to_v2.py +0 -0
  422. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/test_dm_v2_to_v1.py +0 -0
  423. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/test_pascal_from_dm.py +0 -0
  424. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/test_pascal_to_dm.py +0 -0
  425. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/test_yolo_from_dm.py +0 -0
  426. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/converters/test_yolo_to_dm.py +0 -0
  427. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/storage/conftest.py +0 -0
  428. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/storage/test_provider_selection.py +0 -0
  429. {synapse_sdk-1.0.0a75 → synapse_sdk-1.0.0a77}/tests/utils/test_debug.py +0 -0
@@ -0,0 +1,14 @@
1
+ ---
2
+ name: compare-branches
3
+ description: Compare changes between branches
4
+ ---
5
+
6
+ Please compare the changes between the current branch and main using GitHub MCP.
7
+
8
+ Analyze:
9
+ 1. File changes and their impact
10
+ 2. Code quality improvements or regressions
11
+ 3. Potential conflicts or issues
12
+ 4. Testing implications
13
+
14
+ Branch to compare: $ARGUMENTS (default: main if not specified)
@@ -0,0 +1,137 @@
1
+ ---
2
+ name: review-pr
3
+ description: Comprehensive PR review using GitHub MCP with P1-P4 Code Review Rules
4
+ ---
5
+
6
+ Please perform a comprehensive review of PR using the GitHub MCP server.
7
+
8
+ **Arguments:**
9
+ - First argument: PR number (required)
10
+ - Second argument: Language for review comments - "en" for English, "ko" for Korean (optional, defaults to "en")
11
+
12
+ **Usage Examples:**
13
+ - `/review-pr 123` - Review PR #123 with English comments
14
+ - `/review-pr 123 en` - Review PR #123 with English comments
15
+ - `/review-pr 123 ko` - Review PR #123 with Korean comments
16
+
17
+ **Parse Arguments:**
18
+ Extract PR number from first argument and language preference from second argument (if provided). If second argument is not "ko", default to English ("en").
19
+
20
+ **IMPORTANT Review Decision Logic:**
21
+ 1. **Track all P1, P2, P3 violations found during review**
22
+ 2. **If ANY P1, P2, or P3 violations are found** → Use `--request-changes`
23
+ 3. **If ONLY P4 violations or no violations found** → Use `--approve`
24
+ 4. **Never use `--comment` as the main review action** - always choose between approve or request-changes
25
+
26
+ **Review Process:**
27
+ 1. Read and load P1-P4 Code Review Rules from the following files:
28
+ - P1_rules.md (Critical - Security and Stability)
29
+ - P2_rules.md (High Priority - Core functionality and architecture)
30
+ - P3_rules.md (Medium Priority - Best practices and maintainability)
31
+ - P4_rules.md (Low Priority - Code style and formatting)
32
+ 2. Fetch PR details and file changes
33
+ 3. Apply P1-P4 Code Review Rules systematically against the changes
34
+ 4. Analyze code quality, security, and performance
35
+ 5. Check for test coverage and documentation
36
+ 6. Look for potential bugs or issues
37
+ 7. Provide specific, actionable feedback with priority levels
38
+ 8. Create review comments directly on the PR for each issue found
39
+
40
+ **P1-P4 Code Review Rules Application:**
41
+
42
+ IMPORTANT: Before starting the review, read the complete rule sets from these files:
43
+ - `P1_rules.md`
44
+ - `P2_rules.md`
45
+ - `P3_rules.md`
46
+ - `P4_rules.md`
47
+
48
+ Apply ALL rules from these files during the review process. The rules cover:
49
+
50
+ **P1 Rules (Critical - MUST FIX):**
51
+ - Security and database integrity issues
52
+ - Critical Django/DRF patterns
53
+ - System stability concerns
54
+
55
+ **P2 Rules (High Priority):**
56
+ - Core Django/DRF best practices
57
+ - Architecture and design patterns
58
+ - Performance considerations
59
+
60
+ **P3 Rules (Medium Priority):**
61
+ - Code maintainability
62
+ - Best practices and conventions
63
+ - Safety and error handling
64
+
65
+ **P4 Rules (Low Priority - Style):**
66
+ - Code formatting and style
67
+ - Naming conventions
68
+ - Consistency standards
69
+
70
+ **Review Output Format:**
71
+ For each violation found:
72
+ 1. **Report to user** with this format:
73
+ - **Rule Category:** P1/P2/P3/P4
74
+ - **Specific Rule:** Quote the exact rule from the files
75
+ - **Location:** File and line number
76
+ - **Issue:** What violates the rule
77
+ - **Recommendation:** How to fix it based on the rule guidance
78
+ - **Impact:** Why this matters (reference rule explanation)
79
+
80
+ 2. **Create PR review comment** using GitHub CLI:
81
+ - Use `gh pr review {PR_NUMBER} --comment-body "comment text"` for general review comments
82
+ - Use `gh pr comment {PR_NUMBER} --body "comment text"` for specific line comments when applicable
83
+ - Format comments with clear priority indicators: [P1], [P2], [P3], [P4]
84
+ - Include rule reference and actionable guidance in each comment
85
+ - **IMPORTANT:** Write all comments in the selected language (English or Korean)
86
+
87
+ **Review Actions:**
88
+ 1. **Submit overall review** with summary using: `gh pr review {PR_NUMBER} --approve/--request-changes --body "overall review summary"`
89
+ 2. **Add individual comments** for each rule violation found
90
+ 3. **Use appropriate review status:**
91
+ - `--request-changes` if any P1, P2, or P3 violations are found
92
+ - `--approve` if only P4 violations or no issues found
93
+ - `--comment` for informational feedback only (no rule violations)
94
+ 4. **Language Requirements:**
95
+ - Write ALL review comments and summary in the selected language
96
+ - Use appropriate technical terminology for the chosen language
97
+ - Maintain professional tone in both languages
98
+
99
+ **Focus Areas:**
100
+ - **Priority 1 (P1):** Critical security and stability issues (MUST FIX) → REQUEST CHANGES
101
+ - **Priority 2 (P2):** Core functionality and architecture (SHOULD FIX) → REQUEST CHANGES
102
+ - **Priority 3 (P3):** Best practices and maintainability (SHOULD FIX) → REQUEST CHANGES
103
+ - **Priority 4 (P4):** Code style and formatting (OPTIONAL) → APPROVE WITH COMMENTS
104
+ - Test coverage and documentation completeness
105
+ - Breaking changes and backward compatibility
106
+
107
+ **GitHub CLI Commands to Use:**
108
+ - `gh pr view {PR_NUMBER} --json title,body,state,author,files,commits`
109
+ - `gh pr diff {PR_NUMBER}`
110
+ - `gh pr review {PR_NUMBER} --comment-body "review summary"`
111
+ - `gh pr comment {PR_NUMBER} --body "specific comment"`
112
+
113
+ **Language-Specific Comment Templates:**
114
+
115
+ **English Template:**
116
+ ```
117
+ [P{LEVEL}] **{TITLE}**
118
+
119
+ {DESCRIPTION}
120
+
121
+ **Location:** {FILE}:{LINE}
122
+ **Issue:** {ISSUE_DESCRIPTION}
123
+ **Recommendation:** {RECOMMENDATION}
124
+ **Rule Reference:** {RULE_QUOTE}
125
+ ```
126
+
127
+ **Korean Template:**
128
+ ```
129
+ [P{LEVEL}] **{TITLE}**
130
+
131
+ {DESCRIPTION}
132
+
133
+ **위치:** {FILE}:{LINE}
134
+ **문제점:** {ISSUE_DESCRIPTION}
135
+ **권장사항:** {RECOMMENDATION}
136
+ **규칙 참조:** {RULE_QUOTE}
137
+ ```
@@ -40,12 +40,16 @@ config.yaml*
40
40
 
41
41
  synapse-sample-plugin/
42
42
 
43
+ # Environment variables
44
+ .env
43
45
 
44
46
  # Local LLM Rule Files
45
47
  CLAUDE.local.md
46
48
  GEMINI.local.md
47
49
  AGENT.local.md
48
50
 
51
+ # Claude
52
+ settings.local.json
49
53
 
50
54
  # Test
51
55
  .coverage
@@ -0,0 +1,22 @@
1
+ {
2
+ "mcpServers": {
3
+ "github": {
4
+ "command": "docker",
5
+ "args": [
6
+ "run",
7
+ "-i",
8
+ "--rm",
9
+ "-e",
10
+ "GITHUB_PERSONAL_ACCESS_TOKEN",
11
+ "ghcr.io/github/github-mcp-server"
12
+ ],
13
+ "env": {
14
+ "GITHUB_PERSONAL_ACCESS_TOKEN": "${GITHUB_TOKEN}"
15
+ }
16
+ },
17
+ "filesystem": {
18
+ "command": "npx",
19
+ "args": ["-y", "@modelcontextprotocol/server-filesystem", "./"]
20
+ }
21
+ }
22
+ }
@@ -0,0 +1,363 @@
1
+ # Synapse SDK Development Guide
2
+
3
+ Always follow the instructions in plan.md. When I say "go", find the next unmarked test in plan.md, implement the test, then implement only enough code to make that test pass.
4
+
5
+ ## Overall Engineering Principle
6
+
7
+ ### ROLE AND EXPERTISE
8
+
9
+ You are a senior software engineer who follows Kent Beck's Test-Driven Development (TDD) and Tidy First principles. Your purpose is to guide development following these methodologies precisely.
10
+
11
+ ### CORE DEVELOPMENT PRINCIPLES
12
+
13
+ - Always follow the TDD cycle: Red → Green → Refactor
14
+ - Write the simplest failing test first
15
+ - Implement the minimum code needed to make tests pass
16
+ - Refactor only after tests are passing
17
+ - Follow Beck's "Tidy First" approach by separating structural changes from behavioral changes
18
+ - Maintain high code quality throughout development
19
+
20
+ ### TDD METHODOLOGY GUIDANCE
21
+
22
+ - Start by writing a failing test that defines a small increment of functionality
23
+ - Use meaningful test names that describe behavior (e.g., "shouldSumTwoPositiveNumbers")
24
+ - Make test failures clear and informative
25
+ - Write just enough code to make the test pass - no more
26
+ - Once tests pass, consider if refactoring is needed
27
+ - Repeat the cycle for new functionality
28
+ - When fixing a defect, first write an API-level failing test then write the smallest possible test that replicates the problem then get both tests to pass.
29
+
30
+ ### TIDY FIRST APPROACH
31
+
32
+ - Separate all changes into two distinct types:
33
+ 1. STRUCTURAL CHANGES: Rearranging code without changing behavior (renaming, extracting methods, moving code)
34
+ 2. BEHAVIORAL CHANGES: Adding or modifying actual functionality
35
+ - Never mix structural and behavioral changes in the same commit
36
+ - Always make structural changes first when both are needed
37
+ - Validate structural changes do not alter behavior by running tests before and after
38
+
39
+ ### COMMIT DISCIPLINE
40
+
41
+ - Only commit when:
42
+ 1. ALL tests are passing
43
+ 2. ALL compiler/linter warnings have been resolved
44
+ 3. The change represents a single logical unit of work
45
+ 4. Commit messages clearly state whether the commit contains structural or behavioral changes
46
+ - Use small, frequent commits rather than large, infrequent ones
47
+
48
+ ### CODE QUALITY STANDARDS
49
+
50
+ - Eliminate duplication ruthlessly
51
+ - Express intent clearly through naming and structure
52
+ - Make dependencies explicit
53
+ - Keep methods small and focused on a single responsibility
54
+ - Minimize state and side effects
55
+ - Use the simplest solution that could possibly work
56
+
57
+ ### REFACTORING GUIDELINES
58
+
59
+ - Refactor only when tests are passing (in the "Green" phase)
60
+ - Use established refactoring patterns with their proper names
61
+ - Make one refactoring change at a time
62
+ - Run tests after each refactoring step
63
+ - Prioritize refactorings that remove duplication or improve clarity
64
+
65
+ ### EXAMPLE WORKFLOW
66
+
67
+ When approaching a new feature:
68
+
69
+ 1. Write a simple failing test for a small part of the feature
70
+ 2. Implement the bare minimum to make it pass
71
+ 3. Run tests to confirm they pass (Green)
72
+ 4. Make any necessary structural changes (Tidy First), running tests after each change
73
+ 5. Commit structural changes separately
74
+ 6. Add another test for the next small increment of functionality
75
+ 7. Repeat until the feature is complete, committing behavioral changes separately from structural ones
76
+
77
+ Follow this process precisely, always prioritizing clean, well-tested code over quick implementation.
78
+
79
+ Always write one test at a time, make it run, then improve structure. Always run all the tests (except long-running tests) each time.
80
+
81
+ ## Project Core Features
82
+
83
+ ## Synapse SDK Overview
84
+
85
+ A Python SDK for building and managing ML plugins, data annotation workflows, and AI agents.
86
+
87
+ ## Core Features
88
+
89
+ - **🔌 Plugin System**: Create and manage ML plugins with categories like neural networks, data validation, and export tools
90
+ - **🤖 Agent Management**: Backend and Ray-based agent clients for distributed AI workflows
91
+ - **🔄 Data Converters**: Convert between formats (COCO, Pascal VOC, YOLO) and annotation schemas
92
+ - **🛠️ Development Tools**: Interactive web dashboard for monitoring and debugging
93
+ - **⚡ CLI Interface**: Command-line tool for configuration, plugin management, and development
94
+
95
+ ## 🔌 Plugin System (`synapse_sdk/plugins`)
96
+
97
+ The plugin system provides a comprehensive framework for building and managing ML plugins across different categories and execution methods.
98
+
99
+ ### Plugin Categories
100
+
101
+ 1. **Neural Networks** (`neural_net/`)
102
+ - Actions: `deployment`, `gradio`, `inference`, `test`, `train`, `tune`
103
+ - Base classes for inference operations
104
+ - Template generation for ML model plugins
105
+
106
+ 2. **Export** (`export/`)
107
+ - Actions: `export`
108
+ - Data export functionality with configurable formats
109
+ - Template-based plugin generation
110
+
111
+ 3. **Upload** (`upload/`)
112
+ - Actions: `upload`
113
+ - File and data upload capabilities
114
+ - Integration with various storage providers
115
+
116
+ 4. **Smart Tools** (`smart_tool/`)
117
+ - Actions: `auto_label`
118
+ - Automated labeling and annotation tools
119
+ - AI-powered data processing
120
+
121
+ 5. **Pre-annotation** (`pre_annotation/`)
122
+ - Actions: `pre_annotation`, `to_task`
123
+ - Data preparation before annotation
124
+ - Task conversion utilities
125
+
126
+ 6. **Post-annotation** (`post_annotation/`)
127
+ - Actions: `post_annotation`
128
+ - Data processing after annotation
129
+ - Quality assurance and validation
130
+
131
+ 7. **Data Validation** (`data_validation/`)
132
+ - Actions: `validation`
133
+ - Data quality checks and validation rules
134
+ - Schema validation and integrity checks
135
+
136
+ ### Plugin Execution Methods
137
+
138
+ - **Job**: Ray Job-based execution for distributed processing
139
+ - **Task**: Ray Task-based execution for simple operations
140
+ - **REST API**: Ray Serve-based execution for web API endpoints
141
+
142
+ ### Key Components
143
+
144
+ - **Plugin Models**: `PluginRelease` and `Run` classes for plugin lifecycle management
145
+ - **Action Base Class**: Unified interface for all plugin actions with validation, logging, and execution
146
+ - **Template System**: Cookiecutter-based plugin generation with standardized structure
147
+ - **Registry System**: Dynamic plugin discovery and registration
148
+ - **Upload System**: Automated packaging and deployment to storage backends
149
+
150
+ ### Plugin Configuration
151
+
152
+ Each plugin includes:
153
+
154
+ - `config.yaml`: Plugin metadata, actions, and dependencies
155
+ - `plugin/`: Source code with action implementations
156
+ - `requirements.txt`: Python dependencies
157
+ - Template-based scaffolding for rapid development
158
+
159
+ ## 📚 Documentation Management
160
+
161
+ The project uses **Docusaurus** for documentation with a structured approach:
162
+
163
+ ### Documentation Structure
164
+
165
+ - **Implementation**: `synapse_sdk/devtools/docs/` - Docusaurus application
166
+ - **Content**: `docs/` - Markdown documentation files
167
+ - **Configuration**: `synapse_sdk/devtools/docs/docusaurus.config.ts`
168
+
169
+ ### Key Directories
170
+
171
+ ```
172
+ synapse_sdk/devtools/docs/ # Docusaurus implementation
173
+ ├── package.json # Dependencies and scripts
174
+ ├── docusaurus.config.ts # Main configuration
175
+ ├── sidebars.ts # Navigation structure
176
+ ├── src/ # React components and styling
177
+ └── static/ # Static assets (images, logos)
178
+
179
+ docs/ # Documentation content
180
+ ├── introduction.md # Main landing page
181
+ ├── installation.md # Setup instructions
182
+ ├── quickstart.md # Getting started guide
183
+ ├── api/ # API reference docs
184
+ ├── features/ # Feature documentation
185
+ ├── concepts/ # Core concepts
186
+ ├── examples/ # Code examples
187
+ ├── tutorial-basics/ # Basic tutorials
188
+ ├── tutorial-extras/ # Advanced tutorials
189
+ └── i18n/ # Internationalization (Korean)
190
+ ```
191
+
192
+ ### Available Commands
193
+
194
+ From `synapse_sdk/devtools/docs/`:
195
+
196
+ ```bash
197
+ # Development server
198
+ npm start
199
+
200
+ # Build static site
201
+ npm run build
202
+
203
+ # Serve built site
204
+ npm run serve
205
+
206
+ # Clear cache
207
+ npm run clear
208
+
209
+ # Type checking
210
+ npm run typecheck
211
+ ```
212
+
213
+ ### Documentation Workflow
214
+
215
+ 1. **Content Creation**: Add/edit `.md` files in `docs/`
216
+ 2. **Navigation**: Update `sidebars.ts` for new sections
217
+ 3. **Testing**: Run `npm start` to preview changes
218
+ 4. **Building**: Use `npm run build` for production builds
219
+
220
+ ### Configuration Features
221
+
222
+ - **Multi-language**: English (default) and Korean support
223
+ - **Custom Styling**: Located in `src/css/custom.css`
224
+ - **GitHub Integration**: Links to repository
225
+ - **Search**: Built-in documentation search
226
+ - **Responsive Design**: Mobile-friendly navigation
227
+
228
+ ### Content Guidelines
229
+
230
+ - Use frontmatter for metadata:
231
+ ```yaml
232
+ ---
233
+ id: page-id
234
+ title: Page Title
235
+ sidebar_position: 1
236
+ ---
237
+ ```
238
+ - Follow existing structure for API docs in `docs/api/`
239
+ - Add code examples in appropriate language blocks
240
+ - Include cross-references using relative paths
241
+
242
+ ## 🔧 Code Formatting with Ruff
243
+
244
+ Claude Code should format all Python code changes using **Ruff** to maintain consistent code style across the project.
245
+
246
+ ### When to Format Code
247
+
248
+ - **Before committing**: Always format code before creating commits
249
+ - **After code changes**: Format immediately after writing or modifying Python code
250
+ - **During code reviews**: Ensure all code follows consistent formatting standards
251
+
252
+ ### Ruff Commands
253
+
254
+ ```bash
255
+ # Format all Python files in the project
256
+ ruff format .
257
+
258
+ # Format specific file
259
+ ruff format path/to/file.py
260
+
261
+ # Check for formatting issues without applying changes
262
+ ruff format --check .
263
+
264
+ # Check and fix linting issues
265
+ ruff check --fix .
266
+
267
+ # Check linting without fixing
268
+ ruff check .
269
+ ```
270
+
271
+ ### Formatting Workflow
272
+
273
+ 1. **Make code changes** - Write or modify Python code
274
+ 2. **Format with Ruff** - Run `ruff format .` to apply consistent formatting
275
+ 3. **Fix linting issues** - Run `ruff check --fix .` to resolve code quality issues
276
+ 4. **Verify changes** - Review the formatted code to ensure it's correct
277
+ 5. **Commit changes** - Create commits with properly formatted code
278
+
279
+ ### Integration with Development
280
+
281
+ - **IDE Setup**: Configure your IDE to run Ruff on save
282
+ - **Pre-commit Hooks**: Use Ruff in pre-commit hooks to enforce formatting
283
+ - **CI/CD Pipeline**: Include Ruff checks in continuous integration
284
+
285
+ ### Ruff Configuration
286
+
287
+ The project uses Ruff configuration defined in `pyproject.toml`:
288
+
289
+ - **Line length**: Follow project-specific line length settings
290
+ - **Import sorting**: Automatic import organization and sorting
291
+ - **Code style**: Consistent formatting rules across the codebase
292
+ - **Linting rules**: Comprehensive code quality checks
293
+
294
+ ### Best Practices
295
+
296
+ - **Run before commit**: Always run `ruff format .` and `ruff check --fix .` before committing
297
+ - **Review changes**: Check that Ruff's changes don't alter code logic
298
+ - **Consistent style**: Let Ruff handle formatting so you can focus on functionality
299
+ - **Team consistency**: Ensures all contributors follow the same code style
300
+
301
+ ## Code Review Rules
302
+
303
+ Code review rules are organized by priority level and stored in separate files for better maintainability and modularity.
304
+
305
+ ### Priority Levels
306
+
307
+ - **[P1_rules.md](P1_rules.md)** - Security and Stability (Critical)
308
+ - **[P2_rules.md](P2_rules.md)** - Core Functionality (High)
309
+ - **[P3_rules.md](P3_rules.md)** - Best Practices (Medium)
310
+ - **[P4_rules.md](P4_rules.md)** - Code Style (Low)
311
+
312
+ ### Using the Review Rules
313
+
314
+ 1. **Start with P1**: Address security and stability issues first
315
+ 2. **Progress through priorities**: P1 → P2 → P3 → P4
316
+ 3. **Use review-pr command**: `synapse review pr` loads and displays all rules automatically
317
+ 4. **Reference specific files**: Review individual priority files as needed
318
+
319
+ ### Required Checklist Before Review
320
+
321
+ **Before submitting for review, ensure:**
322
+
323
+ ```bash
324
+ # 1. Format all Python code
325
+ ruff format .
326
+
327
+ # 2. Fix linting issues
328
+ ruff check --fix .
329
+
330
+ # 3. Verify no remaining issues
331
+ ruff check .
332
+
333
+ # 4. Run all tests
334
+ pytest
335
+
336
+ # 5. Check test coverage
337
+ pytest --cov=synapse_sdk
338
+ ```
339
+
340
+ **Pull Request Requirements:**
341
+ - [ ] Clear, descriptive title
342
+ - [ ] Detailed description with motivation
343
+ - [ ] Reference to related GitHub issues
344
+ - [ ] All tests pass locally
345
+ - [ ] Code formatted with Ruff
346
+ - [ ] Documentation updated for user-facing changes
347
+ - [ ] Changelog entry added for significant changes
348
+
349
+ ### Review Process
350
+
351
+ 1. **Automated Checks** - CI/CD pipeline validates formatting, linting, and tests
352
+ 2. **P1 Review** - Focus on security and critical stability issues first
353
+ 3. **P2 Review** - Verify functionality, architecture, and performance
354
+ 4. **P3 Review** - Check best practices and maintainability
355
+ 5. **P4 Review** - Final style and formatting verification
356
+
357
+ ### Review Response Guidelines
358
+
359
+ - Address all reviewer comments
360
+ - Ask for clarification if feedback is unclear
361
+ - Make requested changes promptly
362
+ - Re-run formatting and tests after changes
363
+ - Update documentation as needed
@@ -0,0 +1 @@
1
+ See [AGENT.md](AGENT.md).
@@ -0,0 +1 @@
1
+ See [AGENT.md](AGENT.md).
@@ -51,4 +51,14 @@ clean:
51
51
  rm -rf htmlcov/
52
52
  rm -rf .ruff_cache/
53
53
  find . -type d -name __pycache__ -exec rm -rf {} +
54
- find . -name "*.pyc" -delete
54
+ find . -name "*.pyc" -delete
55
+
56
+ # Docusaurus Commands
57
+
58
+ run-docs:
59
+ cd synapse_sdk/devtools/docs && \
60
+ npx docusaurus start --host 0.0.0.0 --port 3330
61
+
62
+ init-docs:
63
+ cd synapse_sdk/devtools/docs && \
64
+ npm install
@@ -0,0 +1,51 @@
1
+ # P1 Code Review Rules - Security and Stability (Critical)
2
+
3
+ **Priority Level:** P1 (Critical)
4
+ **Focus:** Security and Stability
5
+
6
+ ## 1. Security Vulnerabilities
7
+
8
+ - No hardcoded secrets, API keys, or passwords
9
+ - No SQL injection vulnerabilities
10
+ - No exposed sensitive data in logs or error messages
11
+ - Proper input validation and sanitization
12
+ - Secure handling of user data and authentication
13
+
14
+ ## 2. Critical Stability Issues
15
+
16
+ - No infinite loops or potential deadlocks
17
+ - Proper error handling for all external dependencies
18
+ - Memory leak prevention
19
+ - Thread safety in concurrent code
20
+ - Graceful handling of resource exhaustion
21
+
22
+ ## 3. Data Integrity
23
+
24
+ - No data corruption risks
25
+ - Proper transaction management
26
+ - Backup and recovery considerations
27
+ - Data validation before persistence
28
+
29
+ ## Review Guidelines
30
+
31
+ **STOP THE REVIEW** if any P1 issues are found. These must be fixed before proceeding with other review priorities.
32
+
33
+ **Security Checklist:**
34
+ - [ ] No hardcoded credentials or secrets
35
+ - [ ] Input validation implemented
36
+ - [ ] Authentication/authorization properly handled
37
+ - [ ] Sensitive data not exposed in logs
38
+ - [ ] No obvious injection vulnerabilities
39
+
40
+ **Stability Checklist:**
41
+ - [ ] No infinite loops or deadlock potential
42
+ - [ ] External dependencies have proper error handling
43
+ - [ ] Memory management is appropriate
44
+ - [ ] Concurrent code is thread-safe
45
+ - [ ] Resource exhaustion scenarios handled
46
+
47
+ **Data Integrity Checklist:**
48
+ - [ ] Data validation before persistence
49
+ - [ ] Transaction boundaries are correct
50
+ - [ ] No data corruption risks
51
+ - [ ] Backup/recovery considerations addressed
@@ -0,0 +1,65 @@
1
+ # P2 Code Review Rules - Core Functionality (High)
2
+
3
+ **Priority Level:** P2 (High)
4
+ **Focus:** Core functionality and architecture
5
+
6
+ ## 1. Functional Correctness
7
+
8
+ - Code works as intended and meets requirements
9
+ - All edge cases are handled properly
10
+ - Business logic is implemented correctly
11
+ - Integration with existing systems is correct
12
+
13
+ ## 2. Testing Requirements
14
+
15
+ - All new functionality has comprehensive tests
16
+ - Tests pass locally and in CI/CD pipeline
17
+ - Test coverage meets project standards (aim for >90%)
18
+ - Both positive and negative test cases included
19
+ - Mock external dependencies appropriately
20
+
21
+ ## 3. Architecture and Design
22
+
23
+ - Follows established architectural patterns
24
+ - Proper separation of concerns
25
+ - Dependencies are managed correctly
26
+ - APIs are well-designed and consistent
27
+ - Plugin system integration follows standards
28
+
29
+ ## 4. Performance
30
+
31
+ - No obvious performance bottlenecks
32
+ - Efficient algorithms and data structures
33
+ - Database queries are optimized
34
+ - Memory usage is reasonable
35
+ - Response times meet requirements
36
+
37
+ ## Review Guidelines
38
+
39
+ **Functional Correctness Checklist:**
40
+ - [ ] Code implements requirements correctly
41
+ - [ ] Edge cases are handled
42
+ - [ ] Business logic is sound
43
+ - [ ] Integration points work properly
44
+ - [ ] Error scenarios are covered
45
+
46
+ **Testing Checklist:**
47
+ - [ ] New functionality has tests
48
+ - [ ] Tests pass locally and in CI
49
+ - [ ] Test coverage is adequate (>90%)
50
+ - [ ] Both success and failure cases tested
51
+ - [ ] External dependencies are mocked
52
+
53
+ **Architecture Checklist:**
54
+ - [ ] Follows established patterns
55
+ - [ ] Proper separation of concerns
56
+ - [ ] Dependencies well-managed
57
+ - [ ] APIs are consistent
58
+ - [ ] Plugin integration follows standards
59
+
60
+ **Performance Checklist:**
61
+ - [ ] No obvious bottlenecks
62
+ - [ ] Algorithms are efficient
63
+ - [ ] Database queries optimized
64
+ - [ ] Memory usage reasonable
65
+ - [ ] Response times acceptable