datex-studio-cli 0.4.22__tar.gz → 0.4.23__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.
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/PKG-INFO +1 -1
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/pyproject.toml +1 -1
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/__init__.py +1 -1
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/cli.py +2 -1
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/utils/update_check.py +57 -8
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/.gitignore +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/CONTEXT.md +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/README.md +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/otel/.env.example +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/otel/Dockerfile +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/otel/README.md +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/otel/apply-local-cache.js +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/otel/collector-config.yaml +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/otel/docker-compose.yml +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/otel/local-test-settings.json +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/otel/remote-settings.json +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/report-creator.skill +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/scripts/analyze_corpus.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/scripts/generate_rdlx_schema.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/__main__.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/commands/__init__.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/commands/api.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/commands/auth.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/commands/branch.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/commands/branch_commit_guard.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/commands/cascade.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/commands/config.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/commands/configuration.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/commands/crm.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/commands/crm_delivery.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/commands/crm_time.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/commands/datasource.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/commands/devops.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/commands/document.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/commands/endpoint.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/commands/env.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/commands/explore.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/commands/function.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/commands/init.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/commands/marketplace.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/commands/ng/__init__.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/commands/ng/_common.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/commands/ng/api.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/commands/ng/create.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/commands/ng/data.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/commands/ng/pack.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/commands/ng/preview.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/commands/odata.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/commands/organization.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/commands/proxy.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/commands/reference.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/commands/release_notes.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/commands/repo.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/commands/report/__init__.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/commands/report/add_cmds.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/commands/report/api.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/commands/report/batch.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/commands/report/create.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/commands/report/data.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/commands/report/dataset.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/commands/report/edit.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/commands/report/folder.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/commands/report/preview.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/commands/report/schema_cmds.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/commands/reset.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/commands/schema.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/commands/servicepack.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/commands/source.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/commands/studio.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/commands/telemetry.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/commands/user.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/commands/validation_report.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/context.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/core/__init__.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/core/agent_browser.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/core/api/__init__.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/core/api/app_config.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/core/api/client.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/core/api/endpoints.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/core/api/metadata_models.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/core/api/models.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/core/api/reference_graph.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/core/auth/__init__.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/core/auth/datex_tenant.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/core/auth/decorators.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/core/auth/msal_client.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/core/auth/tenants.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/core/auth/token_cache.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/core/cache.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/core/datasource/__init__.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/core/datasource/flow_generator.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/core/datasource/flow_models.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/core/datasource/flow_shape.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/core/datasource/generator.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/core/datasource/models.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/core/datasource/parsers.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/core/datasource/resolver.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/core/datasource/type_def_parser.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/core/datasource/validator.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/core/designer/__init__.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/core/designer/flow_models.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/core/designer/models.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/core/designer/parsers.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/core/devops/__init__.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/core/devops/client.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/core/devops/helpers.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/core/devops/models.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/core/dynamics/__init__.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/core/dynamics/client.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/core/dynamics/html.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/core/dynamics/metadata_cache.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/core/dynamics/pagination.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/core/dynamics/resolvers.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/core/dynamics/time_entry.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/core/footprint/__init__.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/core/footprint/client.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/core/footprint/edmx_parser.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/core/footprint/metadata.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/core/function/__init__.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/core/function/generator.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/core/function/models.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/core/function/validator.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/core/graph.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/core/onboarding.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/core/output/__init__.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/core/output/csv_fmt.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/core/output/formatter.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/core/output/json_fmt.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/core/output/redaction.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/core/output/yaml_fmt.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/core/release_notes.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/core/responses.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/core/telemetry/__init__.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/core/telemetry/config.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/core/telemetry/identity.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/core/telemetry/recorder.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/core/telemetry/scrubber.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/core/telemetry/sender.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/models/__init__.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/ng/__init__.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/ng/folder.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/ng/manifest.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/ng/mocks.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/ng/preview.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/ng/scaffold.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/ng/serve_lock.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/py.typed +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/report/__init__.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/report/datasource_binding.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/report/engine.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/report/field_parser.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/report/folder.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/report/manifest.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/report/models.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/report/preview.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/report/preview_arjs.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/report/schema.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/report/svg_renderer.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/report/templates/__init__.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/report/templates/bill_of_lading.rdlx-json +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/report/templates/shipping_label.rdlx-json +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/report/validate_arjs.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/report/validator.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/report/wrapper.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/utils/__init__.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/utils/click_options.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/utils/clipboard.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/utils/config.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/utils/errors.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/utils/filtering.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/utils/image.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/utils/paths.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/utils/resolvers.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/utils/responses.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/utils/restricted.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/utils/sorting.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/utils/versioning.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/web/__init__.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/web/app.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/web/design.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/web/proxy_app.py +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/web/static/404/index.html +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/web/static/404.html +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/web/static/_next/static/UgyAMtPjH-Pt0RYWOHzIT/_buildManifest.js +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/web/static/_next/static/UgyAMtPjH-Pt0RYWOHzIT/_ssgManifest.js +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/web/static/_next/static/chunks/0b24cca5-c1e1c8810348f107.js +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/web/static/_next/static/chunks/255-102f2e5b2e3dc2ef.js +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/web/static/_next/static/chunks/4bd1b696-c023c6e3521b1417.js +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/web/static/_next/static/chunks/538-84e2e111415f1fda.js +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/web/static/_next/static/chunks/697-0e000ab410d9f470.js +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/web/static/_next/static/chunks/871-1acacdb7b4022abf.js +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/web/static/_next/static/chunks/8b8f67fc-6295949a4b5485a4.js +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/web/static/_next/static/chunks/909-c88abba3cf0caec3.js +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/web/static/_next/static/chunks/app/_not-found/page-ea1be7001c230704.js +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/web/static/_next/static/chunks/app/design/capture/page-a5e129c2d223432c.js +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/web/static/_next/static/chunks/app/design/page-21ba66a3dd3b03f0.js +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/web/static/_next/static/chunks/app/layout-2cc6eac09e476c91.js +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/web/static/_next/static/chunks/app/page-20c358395882cdac.js +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/web/static/_next/static/chunks/framework-de98b93a850cfc71.js +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/web/static/_next/static/chunks/main-0f18f91200dac003.js +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/web/static/_next/static/chunks/main-app-b69998d8941231d8.js +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/web/static/_next/static/chunks/pages/_app-7d307437aca18ad4.js +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/web/static/_next/static/chunks/pages/_error-cb2a52f75f2162e2.js +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/web/static/_next/static/chunks/polyfills-42372ed130431b0a.js +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/web/static/_next/static/chunks/webpack-2b297ada5306c17f.js +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/web/static/_next/static/css/360c657de5e04df8.css +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/web/static/design/capture/index.html +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/web/static/design/capture/index.txt +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/web/static/design/index.html +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/web/static/design/index.txt +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/web/static/index.html +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/web/static/index.txt +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/web/static/render-cli.js +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/web/static/report-preview.html +0 -0
- {datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/web/static/report-validate.html +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: datex-studio-cli
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.23
|
|
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
|
|
@@ -731,7 +731,8 @@ def update_cmd(yes: bool, check_only: bool) -> None:
|
|
|
731
731
|
click.echo(" The upgrade will run in the background once dxs exits.", err=True)
|
|
732
732
|
click.echo(f" Log: {log_path}", err=True)
|
|
733
733
|
click.echo(
|
|
734
|
-
" The outcome will be reported the next time you run dxs —
|
|
734
|
+
" The outcome will be reported the next time you run dxs — allow a couple of "
|
|
735
|
+
"minutes; the helper retries while PyPI's CDN catches up after a fresh release.",
|
|
735
736
|
err=True,
|
|
736
737
|
)
|
|
737
738
|
return
|
|
@@ -58,6 +58,7 @@ UPDATE_PENDING_FILE = "update_pending.json"
|
|
|
58
58
|
UPDATE_PENDING_STALE_SECONDS = 15 * 60
|
|
59
59
|
|
|
60
60
|
_HELPER_MAX_TRIES = 300 # ~5 min of 1s polls per waited-on PID
|
|
61
|
+
_HELPER_UPGRADE_ATTEMPTS = 3 # upgrade retries while PyPI's CDN catches up
|
|
61
62
|
|
|
62
63
|
_CREATE_NO_WINDOW = 0x08000000
|
|
63
64
|
_CREATE_NEW_PROCESS_GROUP = 0x00000200
|
|
@@ -159,16 +160,23 @@ def is_newer(candidate: str, current: str) -> bool:
|
|
|
159
160
|
|
|
160
161
|
|
|
161
162
|
def detect_upgrade_argv() -> list[str]:
|
|
162
|
-
"""Best-effort detection of how dxs was installed, as an argv list.
|
|
163
|
+
"""Best-effort detection of how dxs was installed, as an argv list.
|
|
164
|
+
|
|
165
|
+
Every variant bypasses the installer's local index cache: uv and pip
|
|
166
|
+
honor PyPI's ``max-age=600`` on the simple index, so right after a
|
|
167
|
+
release they can resolve against an up-to-10-minute-old cached index
|
|
168
|
+
and conclude "nothing to upgrade" even though the live JSON query that
|
|
169
|
+
triggered the upgrade already saw the new version.
|
|
170
|
+
"""
|
|
163
171
|
exe = sys.executable
|
|
164
172
|
# uv tool installs land under ~/.local/share/uv/tools/<pkg>/...
|
|
165
173
|
if "/uv/tools/" in exe or "\\uv\\tools\\" in exe:
|
|
166
|
-
return ["uv", "tool", "upgrade", PACKAGE_NAME]
|
|
174
|
+
return ["uv", "tool", "upgrade", "--no-cache", PACKAGE_NAME]
|
|
167
175
|
# pipx installs land under ~/.local/pipx/venvs/<pkg>/...
|
|
168
176
|
if "/pipx/" in exe or "\\pipx\\" in exe:
|
|
169
|
-
return ["pipx", "upgrade", PACKAGE_NAME]
|
|
177
|
+
return ["pipx", "upgrade", "--pip-args=--no-cache-dir", PACKAGE_NAME]
|
|
170
178
|
# Fallback: pip in whatever interpreter the user is on
|
|
171
|
-
return [exe, "-m", "pip", "install", "--upgrade", PACKAGE_NAME]
|
|
179
|
+
return [exe, "-m", "pip", "install", "--upgrade", "--no-cache-dir", PACKAGE_NAME]
|
|
172
180
|
|
|
173
181
|
|
|
174
182
|
def detect_upgrade_command() -> str:
|
|
@@ -224,7 +232,14 @@ def perform_upgrade_posix(argv: list[str]) -> None:
|
|
|
224
232
|
os.execvp(argv[0], argv) # noqa: S606 - deliberate process replacement
|
|
225
233
|
|
|
226
234
|
|
|
227
|
-
def _windows_helper_script(
|
|
235
|
+
def _windows_helper_script(
|
|
236
|
+
argv: list[str],
|
|
237
|
+
pid: int,
|
|
238
|
+
ppid: int,
|
|
239
|
+
log_path: Path,
|
|
240
|
+
python_exe: str,
|
|
241
|
+
target_version: str,
|
|
242
|
+
) -> str:
|
|
228
243
|
"""Generate the detached cmd helper that performs a Windows upgrade.
|
|
229
244
|
|
|
230
245
|
The helper waits for two PIDs: this python process and its parent —
|
|
@@ -233,11 +248,19 @@ def _windows_helper_script(argv: list[str], pid: int, ppid: int, log_path: Path)
|
|
|
233
248
|
something else — dxs launched from a shell, or a recycled PID — is
|
|
234
249
|
never awaited, and bounded so a wedged process can't pin the helper
|
|
235
250
|
forever (the upgrade then runs anyway and the log records the real
|
|
236
|
-
error). ``ping -n
|
|
251
|
+
error). ``ping -n N`` is the sleep: ``timeout`` requires an
|
|
237
252
|
interactive console and fails in a detached process.
|
|
253
|
+
|
|
254
|
+
After each upgrade attempt the helper reads the installed version back
|
|
255
|
+
through the tool venv's own interpreter and compares it to the target
|
|
256
|
+
the CLI decided to install. A mismatch retries after ~30s, up to
|
|
257
|
+
{_HELPER_UPGRADE_ATTEMPTS} attempts: PyPI's CDN can keep serving a
|
|
258
|
+
pre-release index for a few minutes after a publish, so a single
|
|
259
|
+
"nothing to upgrade" pass must not be final.
|
|
238
260
|
"""
|
|
239
261
|
cmdline = subprocess.list2cmdline(argv)
|
|
240
262
|
log = str(log_path)
|
|
263
|
+
ver_file = f"{log}.ver"
|
|
241
264
|
lines = [
|
|
242
265
|
"@echo off",
|
|
243
266
|
"setlocal",
|
|
@@ -260,9 +283,28 @@ def _windows_helper_script(argv: list[str], pid: int, ppid: int, log_path: Path)
|
|
|
260
283
|
"goto wait_parent",
|
|
261
284
|
")",
|
|
262
285
|
":run",
|
|
263
|
-
|
|
286
|
+
"set ATTEMPT=0",
|
|
287
|
+
":attempt",
|
|
288
|
+
"set /a ATTEMPT+=1",
|
|
289
|
+
f'echo [dxs update] attempt %ATTEMPT%: {cmdline} >> "{log}"',
|
|
264
290
|
f'{cmdline} >> "{log}" 2>&1',
|
|
265
291
|
f'echo [dxs update] upgrader exit code: %errorlevel% >> "{log}"',
|
|
292
|
+
"set NEWVER=",
|
|
293
|
+
f'"{python_exe}" -c "import dxs; print(dxs.__version__)" > "{ver_file}" 2>>"{log}"',
|
|
294
|
+
f'set /p NEWVER=<"{ver_file}"',
|
|
295
|
+
f'del "{ver_file}" >nul 2>&1',
|
|
296
|
+
f'if "%NEWVER%"=="{target_version}" goto verified',
|
|
297
|
+
f'echo [dxs update] installed version is %NEWVER%, wanted {target_version} >> "{log}"',
|
|
298
|
+
f"if %ATTEMPT% GEQ {_HELPER_UPGRADE_ATTEMPTS} goto giveup",
|
|
299
|
+
f'echo [dxs update] waiting 30s for the package index to catch up... >> "{log}"',
|
|
300
|
+
"ping -n 31 127.0.0.1 >nul",
|
|
301
|
+
"goto attempt",
|
|
302
|
+
":giveup",
|
|
303
|
+
f'echo [dxs update] giving up after %ATTEMPT% attempts >> "{log}"',
|
|
304
|
+
"goto end",
|
|
305
|
+
":verified",
|
|
306
|
+
f'echo [dxs update] verified: now on %NEWVER% >> "{log}"',
|
|
307
|
+
":end",
|
|
266
308
|
"endlocal",
|
|
267
309
|
"",
|
|
268
310
|
]
|
|
@@ -302,7 +344,14 @@ def perform_upgrade_windows(argv: list[str], latest: str) -> Path:
|
|
|
302
344
|
home = get_datex_home()
|
|
303
345
|
log_path = home / UPDATE_LOG_FILE
|
|
304
346
|
helper_path = home / UPDATE_HELPER_FILE
|
|
305
|
-
script = _windows_helper_script(
|
|
347
|
+
script = _windows_helper_script(
|
|
348
|
+
argv,
|
|
349
|
+
pid=os.getpid(),
|
|
350
|
+
ppid=os.getppid(),
|
|
351
|
+
log_path=log_path,
|
|
352
|
+
python_exe=sys.executable,
|
|
353
|
+
target_version=latest,
|
|
354
|
+
)
|
|
306
355
|
helper_path.write_text(script, newline="")
|
|
307
356
|
_write_pending(
|
|
308
357
|
{
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/core/datasource/flow_generator.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/core/datasource/type_def_parser.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/web/static/design/capture/index.html
RENAMED
|
File without changes
|
{datex_studio_cli-0.4.22 → datex_studio_cli-0.4.23}/src/dxs/web/static/design/capture/index.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|