praetorian-cli 2.6.1__tar.gz → 2.6.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.
- {praetorian_cli-2.6.1/praetorian_cli.egg-info → praetorian_cli-2.6.2}/PKG-INFO +1 -1
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/handlers/delete.py +4 -2
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/handlers/get.py +5 -4
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/handlers/list.py +4 -2
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/chariot.py +3 -1
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/entities/files.py +29 -14
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/entities/search.py +10 -6
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/model/globals.py +1 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2/praetorian_cli.egg-info}/PKG-INFO +1 -1
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/setup.cfg +1 -1
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/LICENSE +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/MANIFEST.in +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/README.md +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/__init__.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/handlers/__init__.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/handlers/access.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/handlers/add.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/handlers/aegis.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/handlers/agent.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/handlers/chariot.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/handlers/cli_decorators.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/handlers/configure.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/handlers/critfinder.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/handlers/engagement.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/handlers/enrich.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/handlers/export.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/handlers/find.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/handlers/hunt.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/handlers/imports.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/handlers/link.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/handlers/query.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/handlers/report.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/handlers/run.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/handlers/script.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/handlers/search.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/handlers/ssh_utils.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/handlers/test.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/handlers/unlink.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/handlers/update.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/handlers/utils.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/handlers/vm.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/handlers/vm_proxy.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/main.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/runners/__init__.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/runners/local.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/scripts/__init__.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/scripts/commands/__init__.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/scripts/commands/nmap-example.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/scripts/utils.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/__init__.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/entities/__init__.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/entities/account_discovery.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/entities/accounts.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/entities/ad.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/entities/aegis.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/entities/agents.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/entities/assets.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/entities/attributes.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/entities/capabilities.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/entities/configurations.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/entities/conversations.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/entities/credentials.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/entities/definitions.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/entities/endpoint_executions.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/entities/engineer_vm.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/entities/hunts.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/entities/integrations.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/entities/jobs.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/entities/keys.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/entities/preseeds.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/entities/reports.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/entities/risks.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/entities/scanners.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/entities/schedules.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/entities/schema.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/entities/seeds.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/entities/settings.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/entities/statistics.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/entities/webhook.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/entities/webpage.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/exceptions.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/guard.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/keychain.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/mcp_server.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/model/__init__.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/model/aegis.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/model/query.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/model/utils.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/model/vm.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/__init__.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/pytest.ini +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_access_aws.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_access_github.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_account.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_add_file_cli.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_aegis_endpoint_live.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_aegis_management_users.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_aegis_network_policy.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_aegis_tunnel.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_aegis_v2_enrollment.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_agent.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_agent_interactions.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_asset.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_async_http.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_attribute.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_bulk.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_capabilities.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_cli_errors.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_configuration.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_conversation.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_conversation_approval_surfaces.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_conversation_interactions.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_credential_process.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_credentials.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_definition.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_endpoint_approvals.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_endpoint_execution_cli.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_endpoint_executions.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_endpoint_network_policy.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_endpoint_status.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_engineer_vm.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_entity_resolution_cli.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_entity_resolver.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_export_cli.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_extend.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_file.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_file_verified_download.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_hunt_all_surface_cli.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_hunt_chat.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_hunt_chat_live.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_hunt_data.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_hunt_internal_cli.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_hunt_launch.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_hunt_memory_browser.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_hunt_open.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_hunt_overview.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_hunt_scope_selector.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_hunt_workflows.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_hunts_internal.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_job.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_key.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_keychain.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_keychain_cache.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_local_runner.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_mcp.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_my_by_raw_query.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_preseed.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_report.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_risk.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_run_cli.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_sdk_exceptions.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_search.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_seed.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_setting.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_terminal.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_test_handler.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_test_target.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_update_check.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_webhook.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_webpage.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_z_cli.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/ui_mocks.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/utils.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/ui/__init__.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/ui/aegis/__init__.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/ui/aegis/account_selector.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/ui/aegis/commands/__init__.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/ui/aegis/commands/cp.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/ui/aegis/commands/enrollment.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/ui/aegis/commands/help.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/ui/aegis/commands/hunt.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/ui/aegis/commands/info.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/ui/aegis/commands/job.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/ui/aegis/commands/job_helpers.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/ui/aegis/commands/job_v2.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/ui/aegis/commands/list.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/ui/aegis/commands/network_policy.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/ui/aegis/commands/proxy.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/ui/aegis/commands/schedule.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/ui/aegis/commands/schedule_helpers.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/ui/aegis/commands/set.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/ui/aegis/commands/ssh.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/ui/aegis/commands/tunnel.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/ui/aegis/commands/user.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/ui/aegis/constants.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/ui/aegis/menu.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/ui/aegis/theme.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/ui/aegis/utils.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/ui/async_http.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/ui/console/__init__.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/ui/console/commands/__init__.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/ui/console/commands/accounts.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/ui/console/commands/context.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/ui/console/commands/data.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/ui/console/commands/marcus.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/ui/console/commands/reporting.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/ui/console/commands/search.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/ui/console/commands/tools.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/ui/console/console.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/ui/console/context.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/ui/console/renderer.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/ui/conversation/__init__.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/ui/conversation/approvals.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/ui/conversation/endpoint_status.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/ui/conversation/textual_chat.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/ui/entity_resolver.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/ui/entity_selector.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/ui/hunt_chat.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/ui/hunt_chat_live.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/ui/hunt_data.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/ui/hunt_defaults.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/ui/hunt_format.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/ui/hunt_launch.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/ui/hunt_memory.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/ui/hunt_open.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/ui/hunt_overview.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/ui/hunt_workflows.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/ui/terminal.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/ui/textual_refresh.py +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli.egg-info/SOURCES.txt +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli.egg-info/dependency_links.txt +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli.egg-info/entry_points.txt +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli.egg-info/requires.txt +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli.egg-info/top_level.txt +0 -0
- {praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/pyproject.toml +0 -0
|
@@ -103,8 +103,9 @@ def seed(chariot, key):
|
|
|
103
103
|
|
|
104
104
|
@delete.command()
|
|
105
105
|
@click.argument('filepath', required=True)
|
|
106
|
+
@click.option('--praetorian', is_flag=True, default=False, help='Delete from the praetorian partition')
|
|
106
107
|
@cli_handler
|
|
107
|
-
def file(chariot, filepath):
|
|
108
|
+
def file(chariot, filepath, praetorian):
|
|
108
109
|
""" Delete a file
|
|
109
110
|
|
|
110
111
|
\b
|
|
@@ -114,8 +115,9 @@ def file(chariot, filepath):
|
|
|
114
115
|
\b
|
|
115
116
|
Example usage:
|
|
116
117
|
- guard delete file "home/report-dec-2024.pdf"
|
|
118
|
+
- guard delete file "home/internal/repo.zip" --praetorian
|
|
117
119
|
"""
|
|
118
|
-
chariot.files.delete(filepath)
|
|
120
|
+
chariot.files.delete(filepath, praetorian=praetorian)
|
|
119
121
|
|
|
120
122
|
|
|
121
123
|
@delete.command()
|
|
@@ -131,7 +131,8 @@ def job(chariot, key):
|
|
|
131
131
|
@cli_handler
|
|
132
132
|
@click.argument('name')
|
|
133
133
|
@click.option('-p', '--path', default=os.getcwd(), help='Download path. Default: save to current directory')
|
|
134
|
-
|
|
134
|
+
@click.option('--praetorian', is_flag=True, default=False, help='Download from the praetorian partition')
|
|
135
|
+
def file(chariot, name, path, praetorian):
|
|
135
136
|
""" Download a file using key or name
|
|
136
137
|
|
|
137
138
|
\b
|
|
@@ -143,11 +144,11 @@ def file(chariot, name, path):
|
|
|
143
144
|
- guard get file "#file#proofs/example.azurewebsites.net/jira-unauthenticated-user-picker"
|
|
144
145
|
- guard get file "proofs/example.azurewebsites.net/jira-unauthenticated-user-picker"
|
|
145
146
|
- guard get file "proofs/example.azurewebsites.net/jira-unauthenticated-user-picker" --path ~/Downloads
|
|
147
|
+
- guard get file "home/internal/repo.zip" --praetorian
|
|
146
148
|
"""
|
|
147
149
|
if name.startswith('#'):
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
downloaded_filepath = chariot.files.save(name, path)
|
|
150
|
+
name = name.split('#')[-1]
|
|
151
|
+
downloaded_filepath = chariot.files.save(name, path, praetorian=praetorian)
|
|
151
152
|
click.echo(f'Saved file at {downloaded_filepath}')
|
|
152
153
|
|
|
153
154
|
|
|
@@ -141,7 +141,8 @@ def jobs(chariot, capability, status, target, summary, filter, details, offset,
|
|
|
141
141
|
|
|
142
142
|
@list.command()
|
|
143
143
|
@list_params('file path')
|
|
144
|
-
|
|
144
|
+
@click.option('--praetorian', is_flag=True, default=False, help='List the praetorian partition')
|
|
145
|
+
def files(chariot, praetorian, filter, details, offset, page):
|
|
145
146
|
""" List files
|
|
146
147
|
|
|
147
148
|
Retrieve and display a list of files in the Guard file system.
|
|
@@ -152,8 +153,9 @@ def files(chariot, filter, details, offset, page):
|
|
|
152
153
|
- guard list files --filter "home/reports/cloud-assessment-2024-"
|
|
153
154
|
- guard list files --details
|
|
154
155
|
- guard list files --page all
|
|
156
|
+
- guard list files --praetorian --filter "home/internal/"
|
|
155
157
|
"""
|
|
156
|
-
render_list_results(chariot.files.list(filter, offset, pagination_size(page)), details)
|
|
158
|
+
render_list_results(chariot.files.list(filter, offset, pagination_size(page), praetorian=praetorian), details)
|
|
157
159
|
|
|
158
160
|
|
|
159
161
|
@list.command()
|
|
@@ -250,7 +250,7 @@ class Chariot:
|
|
|
250
250
|
process_failure(resp)
|
|
251
251
|
return resp
|
|
252
252
|
|
|
253
|
-
def download(self, name: str, global_=False) -> bytes:
|
|
253
|
+
def download(self, name: str, global_=False, praetorian=False) -> bytes:
|
|
254
254
|
params = dict(name=name)
|
|
255
255
|
# Encrypted files have _encrypted/ prefix in the path. Encrypted files do not use presigned URLs.
|
|
256
256
|
# Instead, they use the /encrypted-file endpoint that directly gets and puts content.
|
|
@@ -263,6 +263,8 @@ class Chariot:
|
|
|
263
263
|
# Regular files, use presigned URLs
|
|
264
264
|
if global_:
|
|
265
265
|
params |= GLOBAL_FLAG
|
|
266
|
+
if praetorian:
|
|
267
|
+
params['praetorian'] = 'true'
|
|
266
268
|
|
|
267
269
|
resp = self.chariot_request('GET', self.url('/file'), params=params)
|
|
268
270
|
process_failure(resp)
|
|
@@ -29,7 +29,7 @@ class Files:
|
|
|
29
29
|
"""
|
|
30
30
|
return self.api.upload(local_filepath, chariot_filepath, praetorian=praetorian)
|
|
31
31
|
|
|
32
|
-
def save(self, chariot_filepath, download_directory=os.getcwd()):
|
|
32
|
+
def save(self, chariot_filepath, download_directory=os.getcwd(), praetorian=False):
|
|
33
33
|
"""
|
|
34
34
|
Download a file from Chariot storage to the local filesystem.
|
|
35
35
|
|
|
@@ -37,11 +37,13 @@ class Files:
|
|
|
37
37
|
:type chariot_filepath: str
|
|
38
38
|
:param download_directory: Local directory to save the file (defaults to current working directory)
|
|
39
39
|
:type download_directory: str
|
|
40
|
+
:param praetorian: If True, download from the praetorian partition
|
|
41
|
+
:type praetorian: bool
|
|
40
42
|
:return: The local path where the file was saved
|
|
41
43
|
:rtype: str
|
|
42
44
|
:raises Exception: If the file does not exist in Chariot storage
|
|
43
45
|
"""
|
|
44
|
-
content = self.get(chariot_filepath)
|
|
46
|
+
content = self.get(chariot_filepath, praetorian=praetorian)
|
|
45
47
|
|
|
46
48
|
local_filename = self.sanitize_filename(chariot_filepath)
|
|
47
49
|
directory = os.path.expanduser(download_directory)
|
|
@@ -125,7 +127,7 @@ class Files:
|
|
|
125
127
|
raise
|
|
126
128
|
return destination
|
|
127
129
|
|
|
128
|
-
def get(self, chariot_filepath, _global=False) -> bytes:
|
|
130
|
+
def get(self, chariot_filepath, _global=False, praetorian=False) -> bytes:
|
|
129
131
|
"""
|
|
130
132
|
Download a file from Chariot storage into memory as bytes.
|
|
131
133
|
|
|
@@ -133,15 +135,17 @@ class Files:
|
|
|
133
135
|
:type chariot_filepath: str
|
|
134
136
|
:param _global: If True, fetch from global storage instead of user-specific
|
|
135
137
|
:type _global: bool
|
|
138
|
+
:param praetorian: If True, fetch from the praetorian partition
|
|
139
|
+
:type praetorian: bool
|
|
136
140
|
:return: The file content as bytes
|
|
137
141
|
:rtype: bytes
|
|
138
142
|
:raises Exception: If the file does not exist in Chariot storage
|
|
139
143
|
"""
|
|
140
144
|
if not _global:
|
|
141
|
-
self.raise_if_missing(chariot_filepath)
|
|
142
|
-
return self.api.download(chariot_filepath, global_=_global)
|
|
145
|
+
self.raise_if_missing(chariot_filepath, praetorian=praetorian)
|
|
146
|
+
return self.api.download(chariot_filepath, global_=_global, praetorian=praetorian)
|
|
143
147
|
|
|
144
|
-
def get_utf8(self, chariot_filepath, _global=False) -> str:
|
|
148
|
+
def get_utf8(self, chariot_filepath, _global=False, praetorian=False) -> str:
|
|
145
149
|
"""
|
|
146
150
|
Download a file from Chariot storage into memory as a UTF-8 string.
|
|
147
151
|
|
|
@@ -149,13 +153,15 @@ class Files:
|
|
|
149
153
|
:type chariot_filepath: str
|
|
150
154
|
:param _global: If True, fetch from global storage instead of user-specific
|
|
151
155
|
:type _global: bool
|
|
156
|
+
:param praetorian: If True, fetch from the praetorian partition
|
|
157
|
+
:type praetorian: bool
|
|
152
158
|
:return: The file content as a UTF-8 decoded string
|
|
153
159
|
:rtype: str
|
|
154
160
|
:raises Exception: If the file does not exist in Chariot storage
|
|
155
161
|
"""
|
|
156
|
-
return self.get(chariot_filepath, _global=_global).decode('utf-8')
|
|
162
|
+
return self.get(chariot_filepath, _global=_global, praetorian=praetorian).decode('utf-8')
|
|
157
163
|
|
|
158
|
-
def list(self, prefix_filter='', offset=None, pages=100000) -> tuple:
|
|
164
|
+
def list(self, prefix_filter='', offset=None, pages=100000, praetorian=False) -> tuple:
|
|
159
165
|
"""
|
|
160
166
|
List files in Chariot storage, optionally filtered by filepath prefix.
|
|
161
167
|
|
|
@@ -168,23 +174,30 @@ class Files:
|
|
|
168
174
|
:type offset: str or None
|
|
169
175
|
:param pages: The number of pages of results to retrieve. <mcp>Start with one page of results unless specifically requested.</mcp>
|
|
170
176
|
:type pages: int
|
|
177
|
+
:param praetorian: If True, list the praetorian partition
|
|
178
|
+
:type praetorian: bool
|
|
171
179
|
:return: A tuple containing (list of matching file entities, next page offset)
|
|
172
180
|
:rtype: tuple
|
|
173
181
|
"""
|
|
174
|
-
return self.api.search.by_key_prefix(f'#file#{prefix_filter}', offset, pages)
|
|
182
|
+
return self.api.search.by_key_prefix(f'#file#{prefix_filter}', offset, pages, praetorian=praetorian)
|
|
175
183
|
|
|
176
|
-
def delete(self, chariot_filepath):
|
|
184
|
+
def delete(self, chariot_filepath, praetorian=False):
|
|
177
185
|
"""
|
|
178
186
|
Delete a file from Chariot storage.
|
|
179
187
|
|
|
180
188
|
:param chariot_filepath: Path of the file in Chariot storage to delete
|
|
181
189
|
:type chariot_filepath: str
|
|
190
|
+
:param praetorian: If True, delete from the praetorian partition
|
|
191
|
+
:type praetorian: bool
|
|
182
192
|
:return: The deleted file entity
|
|
183
193
|
:rtype: dict
|
|
184
194
|
:raises Exception: If the file does not exist in Chariot storage
|
|
185
195
|
"""
|
|
186
|
-
self.raise_if_missing(chariot_filepath)
|
|
187
|
-
|
|
196
|
+
self.raise_if_missing(chariot_filepath, praetorian=praetorian)
|
|
197
|
+
params = dict(name=chariot_filepath)
|
|
198
|
+
if praetorian:
|
|
199
|
+
params['praetorian'] = 'true'
|
|
200
|
+
return self.api.delete('file', params=params, body={})
|
|
188
201
|
|
|
189
202
|
def sanitize_filename(self, filename: str) -> str:
|
|
190
203
|
"""
|
|
@@ -203,7 +216,7 @@ class Files:
|
|
|
203
216
|
filename = filename.replace(char, '_')
|
|
204
217
|
return filename
|
|
205
218
|
|
|
206
|
-
def raise_if_missing(self, chariot_filepath):
|
|
219
|
+
def raise_if_missing(self, chariot_filepath, praetorian=False):
|
|
207
220
|
"""
|
|
208
221
|
Check if a file exists in Chariot storage and raise an exception if not found.
|
|
209
222
|
|
|
@@ -212,10 +225,12 @@ class Files:
|
|
|
212
225
|
|
|
213
226
|
:param chariot_filepath: Path of the file in Chariot storage to check
|
|
214
227
|
:type chariot_filepath: str
|
|
228
|
+
:param praetorian: If True, look in the praetorian partition
|
|
229
|
+
:type praetorian: bool
|
|
215
230
|
:return: None
|
|
216
231
|
:rtype: None
|
|
217
232
|
:raises Exception: If the file does not exist in Chariot storage with message 'File {chariot_filepath} not found.'
|
|
218
233
|
"""
|
|
219
|
-
file = self.api.search.by_exact_key(f'#file#{chariot_filepath}')
|
|
234
|
+
file = self.api.search.by_exact_key(f'#file#{chariot_filepath}', praetorian=praetorian)
|
|
220
235
|
if not file:
|
|
221
236
|
raise Exception(f'File {chariot_filepath} not found.')
|
|
@@ -3,7 +3,7 @@ import time
|
|
|
3
3
|
|
|
4
4
|
from praetorian_cli.sdk.model.query import (Filter, Query, Node, Relationship, KIND_TO_LABEL, node_of_key,
|
|
5
5
|
ttl_blockers_query)
|
|
6
|
-
from praetorian_cli.sdk.model.globals import ALL_TENANTS_FLAG, EXACT_FLAG, DESCENDING_FLAG, GLOBAL_FLAG, USER_FLAG, Kind
|
|
6
|
+
from praetorian_cli.sdk.model.globals import ALL_TENANTS_FLAG, EXACT_FLAG, DESCENDING_FLAG, GLOBAL_FLAG, PRAETORIAN_FLAG, USER_FLAG, Kind
|
|
7
7
|
|
|
8
8
|
# Common asset/risk/web edges followed when the caller doesn't name any. The
|
|
9
9
|
# backend has no wildcard, so we OR a small core set instead of every label
|
|
@@ -35,7 +35,7 @@ class Search:
|
|
|
35
35
|
"""
|
|
36
36
|
return self.api.count(dict(key=search_term))
|
|
37
37
|
|
|
38
|
-
def by_key_prefix(self, key_prefix, offset=None, pages=100000, user=False) -> tuple:
|
|
38
|
+
def by_key_prefix(self, key_prefix, offset=None, pages=100000, user=False, praetorian=False) -> tuple:
|
|
39
39
|
"""
|
|
40
40
|
Search for entities by key prefix. <mcp>If the response is too large, make your query more specific.<mcp>
|
|
41
41
|
|
|
@@ -48,9 +48,9 @@ class Search:
|
|
|
48
48
|
:return: A tuple containing (list of matching entities, next page offset)
|
|
49
49
|
:rtype: tuple
|
|
50
50
|
"""
|
|
51
|
-
return self.by_term(key_prefix, None, offset, pages, user=user)
|
|
51
|
+
return self.by_term(key_prefix, None, offset, pages, user=user, praetorian=praetorian)
|
|
52
52
|
|
|
53
|
-
def by_exact_key(self, key, get_attributes=False) -> {}:
|
|
53
|
+
def by_exact_key(self, key, get_attributes=False, praetorian=False) -> {}:
|
|
54
54
|
"""
|
|
55
55
|
Get an entity by its exact key.
|
|
56
56
|
|
|
@@ -58,10 +58,12 @@ class Search:
|
|
|
58
58
|
:type key: str
|
|
59
59
|
:param get_attributes: Whether to also retrieve associated attributes
|
|
60
60
|
:type get_attributes: bool
|
|
61
|
+
:param praetorian: Whether to search the praetorian partition
|
|
62
|
+
:type praetorian: bool
|
|
61
63
|
:return: The matching entity or None if not found
|
|
62
64
|
:rtype: dict or None
|
|
63
65
|
"""
|
|
64
|
-
hits, _ = self.by_term(key, exact=True)
|
|
66
|
+
hits, _ = self.by_term(key, exact=True, praetorian=praetorian)
|
|
65
67
|
hit = hits[0] if hits else None
|
|
66
68
|
if get_attributes and hit:
|
|
67
69
|
attributes, _ = self.by_source(key, Kind.ATTRIBUTE.value)
|
|
@@ -137,7 +139,7 @@ class Search:
|
|
|
137
139
|
return self.by_term(f'dns:{dns_prefix}', kind, offset, pages)
|
|
138
140
|
|
|
139
141
|
def by_term(self, search_term, kind=None, offset=None, pages=100000, exact=False, descending=False,
|
|
140
|
-
global_=False, user=False, all_tenants=False) -> tuple:
|
|
142
|
+
global_=False, user=False, all_tenants=False, praetorian=False) -> tuple:
|
|
141
143
|
"""
|
|
142
144
|
Search for a given kind by term.
|
|
143
145
|
|
|
@@ -169,6 +171,8 @@ class Search:
|
|
|
169
171
|
params |= DESCENDING_FLAG
|
|
170
172
|
if global_:
|
|
171
173
|
params |= GLOBAL_FLAG
|
|
174
|
+
if praetorian:
|
|
175
|
+
params |= PRAETORIAN_FLAG
|
|
172
176
|
if user:
|
|
173
177
|
params |= USER_FLAG
|
|
174
178
|
if all_tenants:
|
|
@@ -148,6 +148,7 @@ class Kind(Enum):
|
|
|
148
148
|
EXACT_FLAG = {'exact': 'true'}
|
|
149
149
|
DESCENDING_FLAG = {'desc': 'true'}
|
|
150
150
|
GLOBAL_FLAG = {'global': 'true'}
|
|
151
|
+
PRAETORIAN_FLAG = {'praetorian': 'true'}
|
|
151
152
|
USER_FLAG = {'user': 'true'}
|
|
152
153
|
ALL_TENANTS_FLAG = {'allTenants': 'true'}
|
|
153
154
|
|
|
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
|
{praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/scripts/commands/nmap-example.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/entities/account_discovery.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
|
{praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/entities/endpoint_executions.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
|
{praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_aegis_endpoint_live.py
RENAMED
|
File without changes
|
{praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_aegis_management_users.py
RENAMED
|
File without changes
|
{praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_aegis_network_policy.py
RENAMED
|
File without changes
|
|
File without changes
|
{praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_aegis_v2_enrollment.py
RENAMED
|
File without changes
|
|
File without changes
|
{praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_agent_interactions.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
|
{praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_credential_process.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_endpoint_approvals.py
RENAMED
|
File without changes
|
{praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_endpoint_execution_cli.py
RENAMED
|
File without changes
|
{praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_endpoint_executions.py
RENAMED
|
File without changes
|
|
File without changes
|
{praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_endpoint_status.py
RENAMED
|
File without changes
|
|
File without changes
|
{praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_entity_resolution_cli.py
RENAMED
|
File without changes
|
{praetorian_cli-2.6.1 → praetorian_cli-2.6.2}/praetorian_cli/sdk/test/test_entity_resolver.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|