{
  "repo": "pingcap/cloud-assets-utils",
  "binary": "cloud-assets-utils",
  "binary_path": "bin/cloud_assets_utils.ml",
  "dependencies": {
    "CLI cloud_assets_utils qshell-upload|qshell-delete|qshell-version|qshell-buckets": {
      "infrastructure": {
        "filesystem": {
          "conditions": [
            "When reading local assets before upload or diff verification"
          ],
          "operations": [
            {
              "operation": "READ FILES",
              "trigger": "Load local asset contents and changed file lists",
              "conditions": [
                "Upload or verify-related subcommands are executed"
              ],
              "implementation": "lib/run.ml and file traversal helpers under lib/dir.ml"
            }
          ]
        },
        "qiniu": {
          "conditions": [
            "When qshell-backed subcommands are executed"
          ],
          "operations": [
            {
              "operation": "UPLOAD / DELETE / LIST BUCKETS",
              "trigger": "Invoke qshell upload/delete/version/buckets workflows",
              "conditions": [
                "The qshell-* subcommand group is selected"
              ],
              "implementation": "lib/qshell.ml wrappers executed by bin/Qshell_* modules"
            }
          ]
        }
      },
      "services": []
    },
    "CLI cloud_assets_utils aws-upload|aws-delete|aws-version|aws-buckets": {
      "infrastructure": {
        "filesystem": {
          "conditions": [
            "When reading local assets before upload or diff verification"
          ],
          "operations": [
            {
              "operation": "READ FILES",
              "trigger": "Load local asset contents and changed file lists",
              "conditions": [
                "Upload or verify-related subcommands are executed"
              ],
              "implementation": "lib/run.ml and file traversal helpers under lib/dir.ml"
            }
          ]
        },
        "aws_s3": {
          "conditions": [
            "When aws-backed subcommands are executed"
          ],
          "operations": [
            {
              "operation": "UPLOAD / DELETE / LIST BUCKETS",
              "trigger": "Invoke aws upload/delete/version/buckets workflows",
              "conditions": [
                "The aws-* subcommand group is selected"
              ],
              "implementation": "lib/aws.ml wrappers executed by bin/Aws_* modules"
            }
          ]
        }
      },
      "services": []
    },
    "CLI cloud_assets_utils verify|verify-and-sync": {
      "infrastructure": {
        "filesystem": {
          "conditions": [
            "Always, because changed-file verification is file-system based"
          ],
          "operations": [
            {
              "operation": "READ FILES",
              "trigger": "Inspect changed files and local asset payloads",
              "conditions": [
                "verify or verify-and-sync is executed"
              ],
              "implementation": "bin/verify.ml with lib/run.ml and lib/dir.ml helpers"
            }
          ]
        },
        "qiniu": {
          "conditions": [
            "When verify-and-sync targets Qiniu"
          ],
          "operations": [
            {
              "operation": "SYNC OBJECTS",
              "trigger": "Push changed assets to the configured Qiniu bucket",
              "conditions": [
                "verify-and-sync is executed with qshell-related options"
              ],
              "implementation": "bin/verify.ml drives lib/qshell.ml command wrappers"
            }
          ]
        },
        "aws_s3": {
          "conditions": [
            "When verify-and-sync targets AWS S3"
          ],
          "operations": [
            {
              "operation": "SYNC OBJECTS",
              "trigger": "Push changed assets to the configured S3 bucket",
              "conditions": [
                "verify-and-sync is executed with aws-related options"
              ],
              "implementation": "bin/verify.ml drives lib/aws.ml command wrappers"
            }
          ]
        }
      },
      "services": []
    }
  }
}
