CHAT_OUTPUT_BEGIN
COMMAND_ID=NEWFI-260907-PORTAL200-IMPORTDISC1
STATUS=OK
RC=0
HOST=pve01
MODE=read-only
COMPONENT=newfi-portal200-import-contract-discovery
REFERENCE_REGISTER_CHECK=OK
REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66
ERROR_REGISTER_CHECK=OK
ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0
COMMAND_SHA256=a32cdd68683283d248211bd673871eeea2fb8eadbbac00daff7bac80d89ed667
DUPLICATE_FAILED_COMMAND_BLOCKED=false
EXECUTION_STARTED=true
CHANGE_DECLARED=false
RESULT_CONTRACT_VALID=true
RESULT_CONTRACT_STATUS=NOT_APPLICABLE
RESULT_CONTRACT_ERROR=NONE
COMMAND_RC=0
CHANGES_MADE=false
ROLLBACK_STARTED=false
ROLLBACK_RESTORED=null
MUTATION_OUTCOME=NO_MUTATION
SANITIZED=yes
SECRETS_INCLUDED=no
PRIVATE_ADDRESSES_INCLUDED=no
RAW_EVIDENCE_SHA256=6eb7a2f80c7e8b4aa907f08655fc0a90a88bd76fdc4cf82f16f7559482a5605f
SANITIZED_OUTPUT_SHA256=6eb7a2f80c7e8b4aa907f08655fc0a90a88bd76fdc4cf82f16f7559482a5605f
OUTPUT_BEGIN
NEWFI60_BEGIN
COMMAND_ID=NEWFI-260907-PORTAL200-IMPORTDISC1
MUTATION_SCOPE=NONE_READ_ONLY
RUNNER_SHA256=b248a4c32c9cc64e5747e7dce6c7fc0a23f5124a77c71ce72e27a81aceae9d2d
RUNNER_SOURCE_LINE_53=            status = document.get("status")
RUNNER_SOURCE_LINE_54=            if status not in {"OK", "BLOCKED", "FAIL"}:
RUNNER_SOURCE_LINE_55=                raise ValueError("invalid status")
RUNNER_SOURCE_LINE_56=            changes = document.get("changes_made")
RUNNER_SOURCE_LINE_57=            rollback_started = document.get("rollback_started")
RUNNER_SOURCE_LINE_58=            rollback_restored = document.get("rollback_restored")
RUNNER_SOURCE_LINE_59=            if not isinstance(changes, bool):
RUNNER_SOURCE_LINE_60=                raise ValueError("changes_made must be boolean")
RUNNER_SOURCE_LINE_61=            if not isinstance(rollback_started, bool):
RUNNER_SOURCE_LINE_62=                raise ValueError("rollback_started must be boolean")
RUNNER_SOURCE_LINE_63=            if rollback_restored is not None and not isinstance(
RUNNER_SOURCE_LINE_64=                rollback_restored,
RUNNER_SOURCE_LINE_65=                bool,
RUNNER_SOURCE_LINE_66=            ):
RUNNER_SOURCE_LINE_67=                raise ValueError(
RUNNER_SOURCE_LINE_68=                    "rollback_restored must be boolean or null"
RUNNER_SOURCE_LINE_69=                )
RUNNER_SOURCE_LINE_70=            if rollback_restored is True and rollback_started is not True:
RUNNER_SOURCE_LINE_71=                raise ValueError(
RUNNER_SOURCE_LINE_72=                    "rollback_restored without rollback_started"
RUNNER_SOURCE_LINE_73=                )
RUNNER_SOURCE_LINE_74=            if rollback_started is True and changes is not True:
RUNNER_SOURCE_LINE_75=                raise ValueError(
RUNNER_SOURCE_LINE_76=                    "rollback_started without changes"
RUNNER_SOURCE_LINE_77=                )
RUNNER_SOURCE_LINE_78=            if status == "BLOCKED" and (
RUNNER_SOURCE_LINE_79=                changes
RUNNER_SOURCE_LINE_80=                or rollback_started
RUNNER_SOURCE_LINE_81=                or command_rc != 2
RUNNER_SOURCE_LINE_82=            ):
RUNNER_SOURCE_LINE_83=                raise ValueError(
RUNNER_SOURCE_LINE_84=                    "BLOCKED contract inconsistent with rc/mutation"
RUNNER_SOURCE_LINE_85=                )
STAGING_REFLECTION={"err_data":"","err_truncated":null,"exitcode":0,"exited":1,"out_data":"IMPORT_DISCOVERY_REFLECTION={\"dm_class\":\"XF\\\\AddOn\\\\DataManager\",\"addon_found\":true,\"addon_installed\":true,\"dm_enqueueImportAddOnData\":{\"exists\":true,\"static\":false,\"public\":true,\"params\":[{\"name\":\"addOn\",\"optional\":false,\"has_default\":false}],\"declaring\":\"XF\\\\AddOn\\\\DataManager\"},\"dm_getDataTypeClasses\":{\"exists\":true,\"static\":false,\"public\":true,\"params\":[],\"declaring\":\"XF\\\\AddOn\\\\DataManager\"},\"dm_getDataTypeHandler\":{\"exists\":true,\"static\":false,\"public\":true,\"params\":[{\"name\":\"class\",\"optional\":false,\"has_default\":false}],\"declaring\":\"XF\\\\AddOn\\\\DataManager\"},\"addon_preRebuild\":{\"exists\":true,\"static\":false,\"public\":true,\"params\":[],\"declaring\":\"XF\\\\AddOn\\\\AddOn\"},\"addon_postDataImport\":{\"exists\":true,\"static\":false,\"public\":true,\"params\":[],\"declaring\":\"XF\\\\AddOn\\\\AddOn\"},\"addon_postRebuild\":{\"exists\":true,\"static\":false,\"public\":true,\"params\":[],\"declaring\":\"XF\\\\AddOn\\\\AddOn\"}}\n","out_truncated":0,"transport_rc":0}
STAGING_CLI_COMMANDS={"err_data":"","exitcode":0,"matching_commands":["xf:addon-disable                             Disables the specified add-on. If no add-on ID is provided, all enabled add-ons will be disabled.","xf:addon-enable                              Enable the specified add-on. If no add-on ID is provided, all disabled add-ons will be enabled.","xf:addon-install                             Installs the specified add-on","xf:addon-list                                Lists installed add-ons","xf:addon-rebuild                             Rebuilds the specified add-on data.","xf:addon-uninstall                           Uninstalls the specified add-on","xf:addon-upgrade                             Upgrades the specified add-on","xf:rebuild-master-data                       Rebuilds the core XF master data.","xf-addon:build-release                       Performs an export of the current XML data and saves a ZIP file to _releases","xf-addon:bump-version                        Bumps the version of the specified add-on","xf-addon:create                              Creates an XF add-on and writes out the basic addon.json file.","xf-addon:export                              Exports the XML files for an add-on","xf-addon:install-step                        Runs a specific step from the specified add-on Setup class.","xf-addon:sync-json                           Syncs the contents of the add-on JSON file to the database, updating the title, version and JSON hash as necessary","xf-addon:uninstall-step                      Runs a specific step from the specified add-on Setup class.","xf-addon:upgrade-step                        Runs a specific step from the specified add-on Setup class.","xf-addon:validate-json                       Validates the contents of the add-on JSON file to ensure all of the required values exist and are of the correct type.","xf-designer:rebuild-metadata                 Rebuilds metadata hashes based on file system content","xf-dev:analyze-icons                         Analyzes icon usage and rebuilds sprites.","xf-dev:file-phraser                          Analyzes and applies phrase replacements in add-on PHP files","xf-dev:import                                Imports all data from development files","xf-dev:import-activity-summary-definitions   Imports activity summary definitions from development files","xf-dev:import-admin-navigation               Imports admin navigation from development files","xf-dev:import-admin-permissions              Imports admin permissions from development files","xf-dev:import-advertising-positions          Imports advertising positions from development files","xf-dev:import-api-scopes                     Imports API scopes from development files","xf-dev:import-bb-code-media-sites            Imports bb code media sites from development files","xf-dev:import-bb-codes                       Imports bb codes from development files","xf-dev:import-class-extensions               Imports class extensions from development files","xf-dev:import-code-event-listeners           Imports code event listeners from development files","xf-dev:import-code-events                    Imports code events from development files","xf-dev:import-content-types                  Imports content types from development files","xf-dev:import-cron-entries                   Imports cron entries from development files","xf-dev:import-help-pages                     Imports help pages from development files","xf-dev:import-member-stats                   Imports member stats from development files","xf-dev:import-navigation                     Imports navigation from development files","xf-dev:import-options                        Imports options from development files","xf-dev:import-permissions                    Imports permissions from development files","xf-dev:import-phrases                        Imports phrases from development files","xf-dev:import-routes                         Imports routes from development files","xf-dev:import-style-properties               Imports style properties from development files","xf-dev:import-template-modifications         Imports template modifications from development files","xf-dev:import-templates                      Imports templates from development files","xf-dev:import-widget-definitions             Imports widget definitions from development files","xf-dev:import-widget-positions               Imports widget positions from development files","xf-dev:rebuild-caches                        Rebuilds various caches","xf-dev:rebuild-metadata                      Rebuilds metadata hashes based on file system content","xf-dev:unused-phrase-finder                  Finds and optionally deletes unused master phrases for an add-on","xf-embed-metadata:conversation-messages      Rebuilds embed metadata for direct message conversations.","xf-embed-metadata:posts                      Rebuilds embed metadata for posts.","xf-embed-metadata:profile-post-comments      Rebuilds embed metadata for profile post comments.","xf-embed-metadata:profile-posts              Rebuilds embed metadata for profile posts.","xf-embed-metadata:xfrm-resource-updates      Rebuilds embed metadata for resource updates.","xf-make:stub-publish                         Publish stub templates to an add-on for customization","xf-rebuild:attachment-optimization           Optimizes attachments to WebP format.","xf-rebuild:attachment-thumbnails             Rebuilds attachment thumbnails","xf-rebuild:avatar-optimization               Optimizes avatars to WebP format.","xf-rebuild:forums                            Rebuilds forum counters.","xf-rebuild:icon-usage                        Analyzes icon usage and rebuilds sprites.","xf-rebuild:message-counts                    Rebuilds user message counts.","xf-rebuild:profile-banner-optimization       Optimizes profile banners to WebP format.","xf-rebuild:reaction-score                    Rebuilds user reaction score.","xf-rebuild:search                            Rebuilds the search index.","xf-rebuild:sitemap                           Rebuilds XML sitemap.","xf-rebuild:stats                             Rebuilds daily statistics.","xf-rebuild:threads                           Rebuilds thread counters.","xf-rebuild:users                             Rebuilds user counters and caches.","xf-rebuild:xfmg-album-thumbs                 Rebuilds album thumbnails.","xf-rebuild:xfmg-albums                       Rebuilds album counters.","xf-rebuild:xfmg-media-items                  Rebuilds media item counters.","xf-rebuild:xfmg-media-thumbs                 Rebuilds media item thumbnails.","xf-rebuild:xfmg-user-counts                  Rebuilds media related user counters.","xf-rebuild:xfrm-icon-optimization            Optimizes icons to WebP format.","xf-rebuild:xfrm-resource-items               Rebuilds resource item counters.","xf-rebuild:xfrm-user-resource-counts         Rebuilds resource related user counters."],"transport_rc":0}
STAGING_REBUILD_HELP={"command":null,"reason":"NO_REBUILD_COMMAND_MATCH"}
HOMELAB_RESULT_CONTRACT={"version":1,"command_id":"NEWFI-260907-PORTAL200-IMPORTDISC1","status":"OK","changes_made":false,"rollback_started":false,"rollback_restored":null}
NEWFI60_END

OUTPUT_END
CHAT_OUTPUT_END
