framework-m-studio 0.10.0__tar.gz → 0.10.2__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.
Files changed (217) hide show
  1. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/CHANGELOG.md +12 -0
  2. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/PKG-INFO +3 -3
  3. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/pyproject.toml +4 -4
  4. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/cli/dev.py +1 -1
  5. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/cli/release/cli.py +2 -2
  6. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/cli/release/versioning.py +18 -10
  7. framework_m_studio-0.10.0/src/framework_m_studio/static/assets/index-Ckia33V8.js → framework_m_studio-0.10.2/src/framework_m_studio/static/assets/index-Db96rZJC.js +7 -7
  8. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/static/index.html +1 -1
  9. framework_m_studio-0.10.2/src/framework_m_studio/templates/plugin/Dashboard.tsx.template +129 -0
  10. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/templates/plugin/index.tsx.template +22 -9
  11. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/templates/plugin/package.json.template +4 -4
  12. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/studio_ui/src/components/AutoTable.tsx +20 -1
  13. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/tests/test_release_cli.py +1 -1
  14. framework_m_studio-0.10.0/src/framework_m_studio/templates/plugin/Dashboard.tsx.template +0 -52
  15. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/.gitignore +0 -0
  16. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/LICENSE +0 -0
  17. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/README.md +0 -0
  18. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/docs/api/index.md +0 -0
  19. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/docs/user-guide.md +0 -0
  20. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/__init__.py +0 -0
  21. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/aggregate_builder.py +0 -0
  22. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/app.py +0 -0
  23. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/cli/__init__.py +0 -0
  24. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/cli/codegen.py +0 -0
  25. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/cli/constants.py +0 -0
  26. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/cli/contrib.py +0 -0
  27. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/cli/deps.py +0 -0
  28. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/cli/docs.py +0 -0
  29. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/cli/new.py +0 -0
  30. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/cli/quality.py +0 -0
  31. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/cli/release/__init__.py +0 -0
  32. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/cli/release/gitops.py +0 -0
  33. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/cli/release/graph.py +0 -0
  34. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/cli/release/models.py +0 -0
  35. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/cli/release/orchestrator.py +0 -0
  36. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/cli/studio.py +0 -0
  37. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/cli/utility.py +0 -0
  38. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/cli/verify.py +0 -0
  39. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/codegen/__init__.py +0 -0
  40. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/codegen/generator.py +0 -0
  41. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/codegen/parser.py +0 -0
  42. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/codegen/templates/doctype.py.jinja2 +0 -0
  43. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/codegen/templates/test_doctype.py.jinja2 +0 -0
  44. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/codegen/test_generator.py +0 -0
  45. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/codegen/transformer.py +0 -0
  46. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/core/frontend.py +0 -0
  47. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/core/gitops.py +0 -0
  48. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/core/shell.py +0 -0
  49. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/data_elements.py +0 -0
  50. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/discovery.py +0 -0
  51. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/docs/ast_parsers.py +0 -0
  52. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/docs/audit.py +0 -0
  53. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/docs/exporters.py +0 -0
  54. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/docs/formatters.py +0 -0
  55. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/docs/generator.py +0 -0
  56. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/docs/openapi.py +0 -0
  57. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/ephemeral.py +0 -0
  58. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/git/__init__.py +0 -0
  59. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/git/adapter.py +0 -0
  60. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/git/github_provider.py +0 -0
  61. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/git/protocol.py +0 -0
  62. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/guardrail.py +0 -0
  63. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/live_preview.py +0 -0
  64. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/metadata_editor.py +0 -0
  65. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/print_adapter.py +0 -0
  66. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/protocol_scanner.py +0 -0
  67. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/py.typed +0 -0
  68. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/routes.py +0 -0
  69. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/schema_diff.py +0 -0
  70. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/sdk_generator.py +0 -0
  71. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/shell_plugin_config.py +0 -0
  72. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/sidebar_config.py +0 -0
  73. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/static/.gitkeep +0 -0
  74. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/static/assets/index-BA2TojqY.css +0 -0
  75. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/static/favicon.ico +0 -0
  76. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/storage/__init__.py +0 -0
  77. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/storage/file_adapter.py +0 -0
  78. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/storage/git_api_adapter.py +0 -0
  79. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/storage/protocol.py +0 -0
  80. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/templates/app/README.md.template +0 -0
  81. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/templates/app/__init__.py.template +0 -0
  82. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/templates/app/doctypes_init.py.template +0 -0
  83. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/templates/app/pyproject.toml.template +0 -0
  84. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/templates/doctype/__init__.py.template +0 -0
  85. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/templates/doctype/controller.py.template +0 -0
  86. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/templates/doctype/doctype.py.template +0 -0
  87. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/templates/doctype/test.py.template +0 -0
  88. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/templates/plugin/.gitignore.template +0 -0
  89. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/templates/plugin/README.md.template +0 -0
  90. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/templates/plugin/favicon.png +0 -0
  91. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/templates/plugin/index.html.template +0 -0
  92. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/templates/plugin/plugin.config.ts.template +0 -0
  93. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/templates/plugin/theme.css.template +0 -0
  94. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/templates/plugin/tsconfig.json.template +0 -0
  95. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/templates/plugin/vite.config.mfe.ts.template +0 -0
  96. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/templates/plugin/vite.config.ts.template +0 -0
  97. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/visual_designer.py +0 -0
  98. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/src/framework_m_studio/workspace.py +0 -0
  99. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/studio_ui/.gitignore +0 -0
  100. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/studio_ui/.npmrc +0 -0
  101. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/studio_ui/CHANGELOG.md +0 -0
  102. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/studio_ui/Dockerfile +0 -0
  103. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/studio_ui/README.md +0 -0
  104. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/studio_ui/eslint.config.js +0 -0
  105. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/studio_ui/index.html +0 -0
  106. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/studio_ui/package.json +0 -0
  107. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/studio_ui/pnpm-lock.yaml +0 -0
  108. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/studio_ui/public/favicon.ico +0 -0
  109. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/studio_ui/src/App.css +0 -0
  110. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/studio_ui/src/App.test.tsx +0 -0
  111. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/studio_ui/src/App.tsx +0 -0
  112. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/studio_ui/src/components/AutoForm.tsx +0 -0
  113. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/studio_ui/src/components/CodePreview.tsx +0 -0
  114. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/studio_ui/src/components/ControllerEditor.tsx +0 -0
  115. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/studio_ui/src/components/ERDView.tsx +0 -0
  116. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/studio_ui/src/components/FieldEditor.tsx +0 -0
  117. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/studio_ui/src/components/LayoutDesigner.tsx +0 -0
  118. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/studio_ui/src/components/ModuleExplorer.tsx +0 -0
  119. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/studio_ui/src/components/NestedEditorDrawer.tsx +0 -0
  120. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/studio_ui/src/components/SandboxPreview.tsx +0 -0
  121. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/studio_ui/src/components/TableFieldEditor.tsx +0 -0
  122. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/studio_ui/src/components/breadcrumb/index.tsx +0 -0
  123. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/studio_ui/src/components/fields/DefaultFieldComponents.tsx +0 -0
  124. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/studio_ui/src/components/fields/index.ts +0 -0
  125. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/studio_ui/src/components/fields/resolveFieldComponent.ts +0 -0
  126. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/studio_ui/src/components/layout/index.tsx +0 -0
  127. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/studio_ui/src/components/menu/index.tsx +0 -0
  128. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/studio_ui/src/index.css +0 -0
  129. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/studio_ui/src/index.tsx +0 -0
  130. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/studio_ui/src/pages/aggregates/AggregateBuilderPage.tsx +0 -0
  131. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/studio_ui/src/pages/aggregates/index.ts +0 -0
  132. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/studio_ui/src/pages/doctypes/edit.tsx +0 -0
  133. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/studio_ui/src/pages/doctypes/index.ts +0 -0
  134. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/studio_ui/src/pages/doctypes/list.tsx +0 -0
  135. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/studio_ui/src/pages/index.ts +0 -0
  136. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/studio_ui/src/pages/prints/PrintBuilderPage.tsx +0 -0
  137. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/studio_ui/src/pages/prints/index.ts +0 -0
  138. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/studio_ui/src/pages/shell-config/ShellConfiguratorPage.tsx +0 -0
  139. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/studio_ui/src/pages/shell-config/index.ts +0 -0
  140. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/studio_ui/src/providers/ThemeContext.ts +0 -0
  141. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/studio_ui/src/providers/constants.ts +0 -0
  142. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/studio_ui/src/providers/data.ts +0 -0
  143. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/studio_ui/src/providers/theme.tsx +0 -0
  144. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/studio_ui/src/providers/useTheme.ts +0 -0
  145. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/studio_ui/src/registry/defaultComponents.ts +0 -0
  146. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/studio_ui/src/registry/fieldComponents.ts +0 -0
  147. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/studio_ui/src/registry/index.ts +0 -0
  148. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/studio_ui/src/services/mock_data.ts +0 -0
  149. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/studio_ui/src/setupTests.ts +0 -0
  150. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/studio_ui/src/utils/mockDataGenerator.ts +0 -0
  151. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/studio_ui/src/vite-env.d.ts +0 -0
  152. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/studio_ui/tsconfig.json +0 -0
  153. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/studio_ui/tsconfig.node.json +0 -0
  154. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/studio_ui/vite.config.ts +0 -0
  155. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/studio_ui/vitest.config.ts +0 -0
  156. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/tests/cli/test_new.py +0 -0
  157. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/tests/cli/test_verify.py +0 -0
  158. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/tests/conftest.py +0 -0
  159. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/tests/core/test_frontend.py +0 -0
  160. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/tests/core/test_gitops.py +0 -0
  161. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/tests/core/test_shell.py +0 -0
  162. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/tests/test_aggregate_builder.py +0 -0
  163. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/tests/test_api_routes.py +0 -0
  164. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/tests/test_builder_shell_routes.py +0 -0
  165. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/tests/test_cli.py +0 -0
  166. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/tests/test_cli_openapi.py +0 -0
  167. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/tests/test_cli_utility.py +0 -0
  168. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/tests/test_contrib_cli.py +0 -0
  169. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/tests/test_core_frontend.py +0 -0
  170. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/tests/test_data_elements.py +0 -0
  171. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/tests/test_data_elements_extended.py +0 -0
  172. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/tests/test_deps_cli.py +0 -0
  173. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/tests/test_dev.py +0 -0
  174. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/tests/test_dev_cli_coverage.py +0 -0
  175. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/tests/test_discovery.py +0 -0
  176. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/tests/test_docs_ast_parsers.py +0 -0
  177. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/tests/test_docs_audit.py +0 -0
  178. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/tests/test_docs_exporters.py +0 -0
  179. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/tests/test_docs_generator.py +0 -0
  180. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/tests/test_docs_generator_enhanced.py +0 -0
  181. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/tests/test_docs_generator_extended.py +0 -0
  182. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/tests/test_ephemeral.py +0 -0
  183. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/tests/test_frontend_integration.py +0 -0
  184. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/tests/test_generator.py +0 -0
  185. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/tests/test_git_adapter.py +0 -0
  186. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/tests/test_git_protocol.py +0 -0
  187. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/tests/test_github_provider.py +0 -0
  188. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/tests/test_guardrail.py +0 -0
  189. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/tests/test_live_preview.py +0 -0
  190. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/tests/test_metadata_editor.py +0 -0
  191. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/tests/test_multi_repo_workspace.py +0 -0
  192. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/tests/test_new_cli.py +0 -0
  193. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/tests/test_parser.py +0 -0
  194. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/tests/test_print_adapter.py +0 -0
  195. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/tests/test_protocol_scanner.py +0 -0
  196. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/tests/test_protocol_scanner_extended.py +0 -0
  197. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/tests/test_quality_cli.py +0 -0
  198. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/tests/test_release_cli_more.py +0 -0
  199. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/tests/test_release_gitops.py +0 -0
  200. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/tests/test_release_graph.py +0 -0
  201. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/tests/test_release_orchestrator.py +0 -0
  202. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/tests/test_release_versioning.py +0 -0
  203. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/tests/test_routes_extended.py +0 -0
  204. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/tests/test_schema_diff.py +0 -0
  205. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/tests/test_screenshot_pipeline.py +0 -0
  206. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/tests/test_sdk_generator.py +0 -0
  207. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/tests/test_shell_plugin_config.py +0 -0
  208. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/tests/test_sidebar_routes.py +0 -0
  209. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/tests/test_storage_adapters.py +0 -0
  210. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/tests/test_studio.py +0 -0
  211. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/tests/test_studio_codegen_generator.py +0 -0
  212. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/tests/test_transformer.py +0 -0
  213. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/tests/test_uimeta_routes.py +0 -0
  214. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/tests/test_utility_cli.py +0 -0
  215. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/tests/test_utility_cli_enhanced.py +0 -0
  216. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/tests/test_visual_designer.py +0 -0
  217. {framework_m_studio-0.10.0 → framework_m_studio-0.10.2}/tests/test_workspace.py +0 -0
@@ -1,3 +1,15 @@
1
+ ## framework-m-studio v0.10.2
2
+
3
+ ### Bug Fixes
4
+
5
+ - cli boolean flags (2462916)
6
+
7
+ ## framework-m-studio v0.10.1
8
+
9
+ ### Bug Fixes
10
+
11
+ - support workspace semi-version pinning in release orchestrator (aa2c08f)
12
+
1
13
  ## framework-m-studio v0.10.0
2
14
 
3
15
  ### Features
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: framework-m-studio
3
- Version: 0.10.0
3
+ Version: 0.10.2
4
4
  Summary: Framework M Studio - Visual DocType Builder & Developer Tools
5
5
  Project-URL: Homepage, https://gitlab.com/castlecraft/framework-m
6
6
  Project-URL: Documentation, https://gitlab.com/castlecraft/framework-m#readme
@@ -20,8 +20,8 @@ Classifier: Typing :: Typed
20
20
  Requires-Python: >=3.12
21
21
  Requires-Dist: bandit>=1.9.4
22
22
  Requires-Dist: build>=1.0.0
23
- Requires-Dist: framework-m-core>=0.11.4
24
- Requires-Dist: framework-m>=0.7.0
23
+ Requires-Dist: framework-m-core>=0.12.0
24
+ Requires-Dist: framework-m>=0.7.2
25
25
  Requires-Dist: honcho>=1.1.0
26
26
  Requires-Dist: httpx>=0.27.0
27
27
  Requires-Dist: ipython>=9.11.0
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "framework-m-studio"
3
- version = "0.10.0"
3
+ version = "0.10.2"
4
4
  description = "Framework M Studio - Visual DocType Builder & Developer Tools"
5
5
  readme = "README.md"
6
6
  license = { text = "Apache-2.0" }
@@ -21,8 +21,8 @@ classifiers = [
21
21
  ]
22
22
 
23
23
  dependencies = [
24
- "framework-m-core>=0.11.4",
25
- "framework-m>=0.7.0",
24
+ "framework-m-core>=0.12.0",
25
+ "framework-m>=0.7.2",
26
26
  # Code generation
27
27
  "libcst>=1.0.0",
28
28
  "jinja2>=3.1.0",
@@ -158,7 +158,7 @@ target-version = "py312"
158
158
 
159
159
  [tool.ruff.lint]
160
160
  select = ["E", "F", "I", "UP", "B", "SIM", "C4", "PTH", "RUF"]
161
- ignore = ["E501", "B008"]
161
+ ignore = ["E501"]
162
162
 
163
163
  [tool.ruff.format]
164
164
  quote-style = "double"
@@ -200,7 +200,7 @@ def dev_command(
200
200
  frontend: Annotated[
201
201
  bool,
202
202
  cyclopts.Parameter(
203
- name=["--frontend", "--no-frontend"],
203
+ name="--frontend",
204
204
  help="Enable/disable frontend process",
205
205
  ),
206
206
  ] = True,
@@ -69,7 +69,7 @@ def release_prepare_command(
69
69
  config: str = "release-config.json",
70
70
  branch: str = "release/next",
71
71
  root: str | None = None,
72
- no_sbom: bool = False,
72
+ sbom: bool = True,
73
73
  dry_run: bool = False,
74
74
  ) -> None:
75
75
  """Prepare a release branch with bumped versions."""
@@ -93,7 +93,7 @@ def release_prepare_command(
93
93
  if dry_run:
94
94
  print(f"[DRY RUN] Would prepare branch {branch} for {len(updates)} components")
95
95
  return
96
- prepare_release(updates, branch, root_path, release_config, sbom=not no_sbom)
96
+ prepare_release(updates, branch, root_path, release_config, sbom=sbom)
97
97
  print(f"✅ Prepared release files for {branch}")
98
98
 
99
99
 
@@ -109,16 +109,21 @@ def _pin_inter_package_dependencies(
109
109
  for pub_name, new_ver in update_map.items():
110
110
  if pub_name in data[section]:
111
111
  current = str(data[section][pub_name])
112
- # Match both numeric version strings and the 'workspace:*' wildcard
113
- m = re.match(r"^([~^]?\d+\.\d+)|workspace:\*$", current)
114
- if m or current == "workspace:*":
112
+ # Match numeric versions, 'workspace:*' or 'workspace:^0.1.0'
113
+ m = re.match(
114
+ r"^(([~^]?\d+\.\d+(?:\.\d+)*)|workspace:(?:\*|[~^]?\d+\.\d+(?:\.\d+)*))$",
115
+ current,
116
+ )
117
+ if m:
115
118
  match_obj = re.match(r"^[^0-9]*", current)
116
- prefix = (
117
- match_obj.group(0)
118
- if match_obj
119
- and "workspace" not in match_obj.group(0)
120
- else "^"
121
- )
119
+ prefix = match_obj.group(0) if match_obj else ""
120
+
121
+ # Canonicalize workspace prefix - preserve it if present
122
+ if not prefix or prefix == "workspace:*":
123
+ prefix = "^"
124
+ elif prefix == "workspace:":
125
+ prefix = "workspace:^"
126
+
122
127
  data[section][pub_name] = f"{prefix}{new_ver}"
123
128
  changed = True
124
129
 
@@ -127,7 +132,10 @@ def _pin_inter_package_dependencies(
127
132
  if (
128
133
  pub_name in data
129
134
  and isinstance(data[pub_name], str)
130
- and re.match(r"^[~^]?\d+\.\d+", data[pub_name])
135
+ and re.match(
136
+ r"^(([~^]?\d+\.\d+(?:\.\d+)*)|workspace:(?:\*|[~^]?\d+\.\d+(?:\.\d+)*))$",
137
+ data[pub_name],
138
+ )
131
139
  ):
132
140
  m = re.match(r"^[^0-9]*", data[pub_name])
133
141
  prefix = m.group(0) if m else ""