datex-studio-cli 0.4.9__tar.gz → 0.4.11__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 (175) hide show
  1. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/PKG-INFO +1 -1
  2. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/pyproject.toml +1 -1
  3. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/__init__.py +1 -1
  4. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/cli.py +54 -7
  5. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/commands/auth.py +393 -198
  6. datex_studio_cli-0.4.11/src/dxs/commands/init.py +310 -0
  7. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/commands/studio.py +85 -19
  8. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/context.py +1 -0
  9. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/core/auth/decorators.py +40 -12
  10. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/core/auth/msal_client.py +34 -6
  11. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/core/auth/token_cache.py +365 -64
  12. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/core/devops/client.py +9 -4
  13. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/core/dynamics/client.py +10 -7
  14. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/core/footprint/client.py +5 -0
  15. datex_studio_cli-0.4.11/src/dxs/core/onboarding.py +151 -0
  16. datex_studio_cli-0.4.11/src/dxs/report/templates/__init__.py +0 -0
  17. datex_studio_cli-0.4.11/src/dxs/utils/clipboard.py +50 -0
  18. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/utils/config.py +33 -0
  19. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/utils/paths.py +33 -11
  20. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/web/app.py +3 -0
  21. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/.gitignore +0 -0
  22. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/README.md +0 -0
  23. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/report-creator.skill +0 -0
  24. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/scripts/analyze_corpus.py +0 -0
  25. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/scripts/generate_rdlx_schema.py +0 -0
  26. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/__main__.py +0 -0
  27. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/commands/__init__.py +0 -0
  28. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/commands/api.py +0 -0
  29. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/commands/branch.py +0 -0
  30. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/commands/config.py +0 -0
  31. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/commands/configuration.py +0 -0
  32. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/commands/crm.py +0 -0
  33. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/commands/datasource.py +0 -0
  34. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/commands/devops.py +0 -0
  35. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/commands/document.py +0 -0
  36. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/commands/endpoint.py +0 -0
  37. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/commands/env.py +0 -0
  38. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/commands/explore.py +0 -0
  39. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/commands/function.py +0 -0
  40. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/commands/marketplace.py +0 -0
  41. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/commands/odata.py +0 -0
  42. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/commands/organization.py +0 -0
  43. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/commands/proxy.py +0 -0
  44. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/commands/release_notes.py +0 -0
  45. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/commands/repo.py +0 -0
  46. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/commands/report/__init__.py +0 -0
  47. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/commands/report/add_cmds.py +0 -0
  48. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/commands/report/api.py +0 -0
  49. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/commands/report/batch.py +0 -0
  50. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/commands/report/create.py +0 -0
  51. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/commands/report/data.py +0 -0
  52. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/commands/report/dataset.py +0 -0
  53. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/commands/report/edit.py +0 -0
  54. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/commands/report/folder.py +0 -0
  55. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/commands/report/preview.py +0 -0
  56. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/commands/report/schema_cmds.py +0 -0
  57. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/commands/schema.py +0 -0
  58. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/commands/servicepack.py +0 -0
  59. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/commands/source.py +0 -0
  60. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/commands/telemetry.py +0 -0
  61. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/commands/user.py +0 -0
  62. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/core/__init__.py +0 -0
  63. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/core/api/__init__.py +0 -0
  64. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/core/api/app_config.py +0 -0
  65. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/core/api/client.py +0 -0
  66. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/core/api/endpoints.py +0 -0
  67. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/core/api/metadata_models.py +0 -0
  68. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/core/api/models.py +0 -0
  69. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/core/auth/__init__.py +0 -0
  70. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/core/cache.py +0 -0
  71. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/core/datasource/__init__.py +0 -0
  72. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/core/datasource/flow_generator.py +0 -0
  73. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/core/datasource/flow_models.py +0 -0
  74. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/core/datasource/generator.py +0 -0
  75. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/core/datasource/models.py +0 -0
  76. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/core/datasource/parsers.py +0 -0
  77. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/core/datasource/resolver.py +0 -0
  78. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/core/datasource/type_def_parser.py +0 -0
  79. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/core/datasource/validator.py +0 -0
  80. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/core/designer/__init__.py +0 -0
  81. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/core/designer/flow_models.py +0 -0
  82. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/core/designer/models.py +0 -0
  83. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/core/designer/parsers.py +0 -0
  84. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/core/devops/__init__.py +0 -0
  85. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/core/devops/helpers.py +0 -0
  86. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/core/devops/models.py +0 -0
  87. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/core/dynamics/__init__.py +0 -0
  88. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/core/dynamics/metadata_cache.py +0 -0
  89. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/core/footprint/__init__.py +0 -0
  90. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/core/footprint/edmx_parser.py +0 -0
  91. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/core/footprint/metadata.py +0 -0
  92. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/core/function/__init__.py +0 -0
  93. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/core/function/generator.py +0 -0
  94. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/core/function/models.py +0 -0
  95. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/core/function/validator.py +0 -0
  96. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/core/graph.py +0 -0
  97. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/core/output/__init__.py +0 -0
  98. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/core/output/csv_fmt.py +0 -0
  99. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/core/output/formatter.py +0 -0
  100. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/core/output/json_fmt.py +0 -0
  101. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/core/output/redaction.py +0 -0
  102. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/core/output/yaml_fmt.py +0 -0
  103. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/core/release_notes.py +0 -0
  104. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/core/responses.py +0 -0
  105. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/core/telemetry/__init__.py +0 -0
  106. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/core/telemetry/config.py +0 -0
  107. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/core/telemetry/identity.py +0 -0
  108. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/core/telemetry/recorder.py +0 -0
  109. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/core/telemetry/scrubber.py +0 -0
  110. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/core/telemetry/sender.py +0 -0
  111. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/models/__init__.py +0 -0
  112. /datex_studio_cli-0.4.9/src/dxs/report/templates/__init__.py → /datex_studio_cli-0.4.11/src/dxs/py.typed +0 -0
  113. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/report/__init__.py +0 -0
  114. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/report/datasource_binding.py +0 -0
  115. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/report/engine.py +0 -0
  116. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/report/field_parser.py +0 -0
  117. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/report/folder.py +0 -0
  118. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/report/manifest.py +0 -0
  119. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/report/models.py +0 -0
  120. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/report/preview.py +0 -0
  121. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/report/preview_arjs.py +0 -0
  122. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/report/schema.py +0 -0
  123. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/report/svg_renderer.py +0 -0
  124. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/report/templates/bill_of_lading.rdlx-json +0 -0
  125. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/report/templates/shipping_label.rdlx-json +0 -0
  126. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/report/validate_arjs.py +0 -0
  127. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/report/validator.py +0 -0
  128. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/report/wrapper.py +0 -0
  129. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/utils/__init__.py +0 -0
  130. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/utils/click_options.py +0 -0
  131. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/utils/errors.py +0 -0
  132. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/utils/filtering.py +0 -0
  133. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/utils/image.py +0 -0
  134. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/utils/resolvers.py +0 -0
  135. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/utils/responses.py +0 -0
  136. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/utils/restricted.py +0 -0
  137. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/utils/sorting.py +0 -0
  138. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/utils/update_check.py +0 -0
  139. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/web/__init__.py +0 -0
  140. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/web/design.py +0 -0
  141. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/web/proxy_app.py +0 -0
  142. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/web/static/404/index.html +0 -0
  143. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/web/static/404.html +0 -0
  144. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/web/static/_next/static/UgyAMtPjH-Pt0RYWOHzIT/_buildManifest.js +0 -0
  145. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/web/static/_next/static/UgyAMtPjH-Pt0RYWOHzIT/_ssgManifest.js +0 -0
  146. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/web/static/_next/static/chunks/0b24cca5-c1e1c8810348f107.js +0 -0
  147. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/web/static/_next/static/chunks/255-102f2e5b2e3dc2ef.js +0 -0
  148. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/web/static/_next/static/chunks/4bd1b696-c023c6e3521b1417.js +0 -0
  149. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/web/static/_next/static/chunks/538-84e2e111415f1fda.js +0 -0
  150. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/web/static/_next/static/chunks/697-0e000ab410d9f470.js +0 -0
  151. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/web/static/_next/static/chunks/871-1acacdb7b4022abf.js +0 -0
  152. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/web/static/_next/static/chunks/8b8f67fc-6295949a4b5485a4.js +0 -0
  153. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/web/static/_next/static/chunks/909-c88abba3cf0caec3.js +0 -0
  154. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/web/static/_next/static/chunks/app/_not-found/page-ea1be7001c230704.js +0 -0
  155. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/web/static/_next/static/chunks/app/design/capture/page-a5e129c2d223432c.js +0 -0
  156. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/web/static/_next/static/chunks/app/design/page-21ba66a3dd3b03f0.js +0 -0
  157. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/web/static/_next/static/chunks/app/layout-2cc6eac09e476c91.js +0 -0
  158. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/web/static/_next/static/chunks/app/page-20c358395882cdac.js +0 -0
  159. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/web/static/_next/static/chunks/framework-de98b93a850cfc71.js +0 -0
  160. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/web/static/_next/static/chunks/main-0f18f91200dac003.js +0 -0
  161. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/web/static/_next/static/chunks/main-app-b69998d8941231d8.js +0 -0
  162. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/web/static/_next/static/chunks/pages/_app-7d307437aca18ad4.js +0 -0
  163. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/web/static/_next/static/chunks/pages/_error-cb2a52f75f2162e2.js +0 -0
  164. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/web/static/_next/static/chunks/polyfills-42372ed130431b0a.js +0 -0
  165. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/web/static/_next/static/chunks/webpack-2b297ada5306c17f.js +0 -0
  166. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/web/static/_next/static/css/360c657de5e04df8.css +0 -0
  167. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/web/static/design/capture/index.html +0 -0
  168. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/web/static/design/capture/index.txt +0 -0
  169. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/web/static/design/index.html +0 -0
  170. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/web/static/design/index.txt +0 -0
  171. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/web/static/index.html +0 -0
  172. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/web/static/index.txt +0 -0
  173. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/web/static/render-cli.js +0 -0
  174. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/web/static/report-preview.html +0 -0
  175. {datex_studio_cli-0.4.9 → datex_studio_cli-0.4.11}/src/dxs/web/static/report-validate.html +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: datex-studio-cli
3
- Version: 0.4.9
3
+ Version: 0.4.11
4
4
  Summary: CLI for Datex Studio low-code platform, designed for LLM-based AI agents
5
5
  Project-URL: Homepage, https://github.com/datex/datex-studio-cli
6
6
  Project-URL: Documentation, https://github.com/datex/datex-studio-cli
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "datex-studio-cli"
7
- version = "0.4.9"
7
+ version = "0.4.11"
8
8
  description = "CLI for Datex Studio low-code platform, designed for LLM-based AI agents"
9
9
  readme = "README.md"
10
10
  license = "MIT"
@@ -1,4 +1,4 @@
1
1
  """Datex Studio CLI - Command-line interface for Datex Studio platform."""
2
2
 
3
- __version__ = "0.4.9"
3
+ __version__ = "0.4.11"
4
4
  __app_name__ = "dxs"
@@ -16,7 +16,7 @@ from dxs.core.output.redaction import (
16
16
  _redact_secrets, # noqa: F401 — re-exported
17
17
  _strip_concise, # noqa: F401 — re-exported
18
18
  )
19
- from dxs.utils.config import get_settings
19
+ from dxs.utils.config import get_settings, resolve_target_url
20
20
  from dxs.utils.errors import DxsError
21
21
 
22
22
  # Re-export so that existing `from dxs.cli import DxsContext, pass_context` still works
@@ -104,6 +104,33 @@ class DxsGroup(click.Group):
104
104
  formatter.write_dl(global_opts)
105
105
 
106
106
 
107
+ def _apply_tenant_override(tenant: str) -> None:
108
+ """Resolve a --tenant selector and pin identity resolution to it.
109
+
110
+ Raises:
111
+ AuthenticationError: If DXS_ACCESS_TOKEN is set (that token bypasses
112
+ identity resolution, so --tenant could not take effect), or if the
113
+ selector does not resolve to exactly one stored identity.
114
+ """
115
+ import os
116
+
117
+ from dxs.core.auth.token_cache import MultiIdentityTokenCache, set_identity_override
118
+ from dxs.utils.errors import AuthenticationError
119
+
120
+ if os.environ.get("DXS_ACCESS_TOKEN"):
121
+ raise AuthenticationError(
122
+ message="--tenant cannot be used while DXS_ACCESS_TOKEN is set.",
123
+ code="DXS-AUTH-012",
124
+ suggestions=[
125
+ "DXS_ACCESS_TOKEN is used verbatim and already fixes the identity",
126
+ "Unset DXS_ACCESS_TOKEN to select a stored identity with --tenant",
127
+ ],
128
+ )
129
+
130
+ cache = MultiIdentityTokenCache()
131
+ set_identity_override(cache.resolve_selector(tenant))
132
+
133
+
107
134
  @click.group(cls=DxsGroup, context_settings=CONTEXT_SETTINGS)
108
135
  @click.version_option(version=__version__, prog_name=__app_name__)
109
136
  @click.option(
@@ -142,6 +169,14 @@ class DxsGroup(click.Group):
142
169
  default=None,
143
170
  help="API target environment (dev, qa, or prod; default: prod)",
144
171
  )
172
+ @click.option(
173
+ "--tenant",
174
+ type=str,
175
+ envvar="DXS_TENANT",
176
+ default=None,
177
+ help="Run as a specific logged-in identity for this command only "
178
+ "(org name, Entra domain, tenant ID, or username). See 'dxs auth list'.",
179
+ )
145
180
  @click.option(
146
181
  "-O",
147
182
  "--output",
@@ -215,6 +250,7 @@ def cli(
215
250
  branch: int | None,
216
251
  repo: int | None,
217
252
  target: str | None,
253
+ tenant: str | None,
218
254
  output_format: str | None,
219
255
  verbose: bool,
220
256
  quiet: bool,
@@ -232,10 +268,12 @@ def cli(
232
268
 
233
269
  \b
234
270
  Examples:
271
+ dxs init
235
272
  dxs auth login
236
273
  dxs source log --repo 10
237
274
  dxs source history userGrid --branch 100
238
275
  dxs config list
276
+ dxs --tenant MGD schema entities # run one command as another identity
239
277
 
240
278
  \b
241
279
  Environment Variables:
@@ -244,6 +282,7 @@ def cli(
244
282
  DXS_BRANCH Default branch ID
245
283
  DXS_REPO Default repository ID
246
284
  DXS_TARGET API target environment (dev, qa, prod)
285
+ DXS_TENANT Identity to run as (see --tenant)
247
286
 
248
287
  \b
249
288
  Configuration:
@@ -258,12 +297,7 @@ def cli(
258
297
 
259
298
  # Set API base URL based on target environment
260
299
  if target:
261
- target_urls = {
262
- "dev": "https://dev.wavelength.host/api",
263
- "qa": "https://qa.wavelength.host/api",
264
- "prod": "https://wavelength.host/api",
265
- }
266
- os.environ["DXS_API_BASE_URL"] = target_urls[target.lower()]
300
+ os.environ["DXS_API_BASE_URL"] = resolve_target_url(target)
267
301
 
268
302
  # Load settings
269
303
  settings = get_settings()
@@ -288,6 +322,17 @@ def cli(
288
322
  dxs_ctx.output_format = OutputFormat(settings.default_output_format.lower())
289
323
  set_last_output_format(dxs_ctx.output_format)
290
324
 
325
+ # Pin identity resolution for this invocation only (never persisted).
326
+ # Deliberately after output-format resolution so a bad selector renders as
327
+ # a normal error envelope rather than a bare traceback.
328
+ if tenant:
329
+ try:
330
+ _apply_tenant_override(tenant)
331
+ except DxsError as e:
332
+ dxs_ctx.output_error(e)
333
+ ctx.exit(1)
334
+ dxs_ctx.tenant = tenant
335
+
291
336
  # Set verbosity (--verbose enables debug output, --quiet suppresses progress)
292
337
  dxs_ctx.verbose = verbose
293
338
  if quiet_src == click.core.ParameterSource.COMMANDLINE:
@@ -428,6 +473,7 @@ def register_commands() -> None:
428
473
  endpoint,
429
474
  env,
430
475
  function,
476
+ init,
431
477
  marketplace,
432
478
  odata,
433
479
  organization,
@@ -440,6 +486,7 @@ def register_commands() -> None:
440
486
 
441
487
  cli.add_command(api.api)
442
488
  cli.add_command(auth.auth)
489
+ cli.add_command(init.init)
443
490
  cli.add_command(config.config)
444
491
  cli.add_command(config.config, name="settings")
445
492
  cli.add_command(configuration.configuration)