{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "tasks": [
        {
            "type": "docker-run",
            "label": "docker-run: debug",
            "dependsOn": [
                "docker-build"
            ],
            "dockerRun": {
                "command": "nest start --debug 127.0.0.1:9229"
            },
            "node": {
                "enableDebugging": true
            }
        }
    ],
    "configurations": [
        {
            "name": "Debug Infrastructure Agent",
            "type": "go",
            "request": "launch",
            "mode": "debug",
            "program": "./InfrastructureAgent",
            "args": ["start"],
        },
        {
            "name": "Node.js - Debug Current File",
            "type": "node",
            "restart": true,
            "autoAttachChildProcesses": true,
            "request": "launch",
            "program": "${file}"
        },
        {
            "address": "127.0.0.1",
            "localRoot": "${workspaceFolder}/App",
            "name": "App: Debug with Docker",
            "port": 9232,
            "remoteRoot": "/usr/src/app",
            "request": "attach",
            "skipFiles": [
                "<node_internals>/**"
            ],
            "type": "node",
            "restart": true,
            "autoAttachChildProcesses": true
        },
        {
            "address": "127.0.0.1",
            "localRoot": "${workspaceFolder}/Home",
            "name": "Home: Debug with Docker",
            "port": 9212,
            "remoteRoot": "/usr/src/app",
            "request": "attach",
            "skipFiles": [
                "<node_internals>/**"
            ],
            "type": "node",
            "restart": true,
            "autoAttachChildProcesses": true
        },
        {
            "address": "127.0.0.1",
            "localRoot": "${workspaceFolder}/Worker",
            "name": "Worker: Debug with Docker",
            "port": 8734,
            "remoteRoot": "/usr/src/app",
            "request": "attach",
            "skipFiles": [
                "<node_internals>/**"
            ],
            "type": "node",
            "restart": true,
            "autoAttachChildProcesses": true
        },
        {
            "address": "127.0.0.1",
            "localRoot": "${workspaceFolder}/Workflow",
            "name": "Workflow: Debug with Docker",
            "port": 8735,
            "remoteRoot": "/usr/src/app",
            "request": "attach",
            "skipFiles": [
                "<node_internals>/**"
            ],
            "type": "node",
            "restart": true,
            "autoAttachChildProcesses": true
        },
        {
            "address": "127.0.0.1",
            "localRoot": "${workspaceFolder}/Docs",
            "name": "Docs: Debug with Docker",
            "port": 8738,
            "remoteRoot": "/usr/src/app",
            "request": "attach",
            "skipFiles": [
                "<node_internals>/**"
            ],
            "type": "node",
            "restart": true,
            "autoAttachChildProcesses": true
        },
        {
            "address": "127.0.0.1",
            "localRoot": "${workspaceFolder}/APIReference",
            "name": "API Reference: Debug with Docker",
            "port": 8737,
            "remoteRoot": "/usr/src/app",
            "request": "attach",
            "skipFiles": [
                "<node_internals>/**"
            ],
            "type": "node",
            "restart": true,
            "autoAttachChildProcesses": true
        },
        {
            "address": "127.0.0.1",
            "localRoot": "${workspaceFolder}/TestServer",
            "name": "Test Server: Debug with Docker",
            "port": 9141,
            "remoteRoot": "/usr/src/app",
            "request": "attach",
            "skipFiles": [
                "<node_internals>/**"
            ],
            "type": "node",
            "restart": true,
            "autoAttachChildProcesses": true
        },
        {
            "address": "127.0.0.1",
            "localRoot": "${workspaceFolder}/Probe",
            "name": "Probe: Debug with Docker",
            "port": 9229,
            "remoteRoot": "/usr/src/app",
            "request": "attach",
            "skipFiles": [
                "<node_internals>/**"
            ],
            "type": "node",
            "restart": true,
            "autoAttachChildProcesses": true
        },
        {
            "address": "127.0.0.1",
            "localRoot": "${workspaceFolder}/ProbeIngest",
            "name": "ProbeIngest: Debug with Docker",
            "port": 9932,
            "remoteRoot": "/usr/src/app",
            "request": "attach",
            "skipFiles": [
                "<node_internals>/**"
            ],
            "type": "node",
            "restart": true,
            "autoAttachChildProcesses": true
        },
        {
            "address": "127.0.0.1",
            "localRoot": "${workspaceFolder}/ServerMonitorIngest",
            "name": "ServerMonitorIngest: Debug with Docker",
            "port": 9941,
            "remoteRoot": "/usr/src/app",
            "request": "attach",
            "skipFiles": [
                "<node_internals>/**"
            ],
            "type": "node",
            "restart": true,
            "autoAttachChildProcesses": true
        },
        {
            "address": "127.0.0.1",
            "localRoot": "${workspaceFolder}/IncomingRequestIngest",
            "name": "IncomingRequestIngest: Debug with Docker",
            "port": 9933,
            "remoteRoot": "/usr/src/app",
            "request": "attach",
            "skipFiles": [
                "<node_internals>/**"
            ],
            "type": "node",
            "restart": true,
            "autoAttachChildProcesses": true
        },
        {
            "address": "127.0.0.1",
            "localRoot": "${workspaceFolder}/Telemetry",
            "name": "Telemetry: Debug with Docker",
            "port": 9938,
            "remoteRoot": "/usr/src/app",
            "request": "attach",
            "skipFiles": [
                "<node_internals>/**"
            ],
            "type": "node",
            "restart": true,
            "autoAttachChildProcesses": true
        },
        {
            "address": "127.0.0.1",
            "localRoot": "${workspaceFolder}/IsolatedVM",
            "name": "Isolated VM: Debug with Docker",
            "port": 9974,
            "remoteRoot": "/usr/src/app",
            "request": "attach",
            "skipFiles": [
                "<node_internals>/**"
            ],
            "type": "node",
            "restart": true,
            "autoAttachChildProcesses": true
        },
        {
            "address": "127.0.0.1",
            "localRoot": "${workspaceFolder}/Workflow",
            "name": "Workflow: Debug with Docker",
            "port": 9212,
            "remoteRoot": "/usr/src/app",
            "request": "attach",
            "skipFiles": [
                "<node_internals>/**"
            ],
            "type": "node",
            "restart": true,
            "autoAttachChildProcesses": true
        },
        {
            "address": "127.0.0.1",
            "localRoot": "${workspaceFolder}/Realtime",
            "name": "Realtime: Debug with Docker",
            "port": 9250,
            "remoteRoot": "/usr/src/app",
            "request": "attach",
            "skipFiles": [
                "<node_internals>/**"
            ],
            "type": "node",
            "restart": true,
            "autoAttachChildProcesses": true
        },
        {
            "address": "127.0.0.1",
            "localRoot": "${workspaceFolder}/StatusPage",
            "name": "Status Page API${cwd}: Debug with Docker",
            "port": 9764,
            "remoteRoot": "/usr/src/app",
            "request": "attach",
            "skipFiles": [
                "<node_internals>/**"
            ],
            "type": "node",
            "restart": true,
            "autoAttachChildProcesses": true
        },
        {
            "address": "127.0.0.1",
            "localRoot": "${workspaceFolder}/HttpTestServer",
            "name": "HTTP Test Server: Debug with Docker",
            "port": 9234,
            "remoteRoot": "/usr/src/app",
            "request": "attach",
            "skipFiles": [
                "<node_internals>/**"
            ],
            "type": "node",
            "restart": true,
            "autoAttachChildProcesses": true
        },
        {
            "address": "127.0.0.1",
            "localRoot": "${workspaceFolder}/script-runnner",
            "name": "Script Runner: Debug with Docker",
            "port": 9236,
            "remoteRoot": "/usr/src/app",
            "request": "attach",
            "skipFiles": [
                "<node_internals>/**"
            ],
            "type": "node",
            "restart": true,
            "autoAttachChildProcesses": true
        },
        {
            "address": "127.0.0.1",
            "localRoot": "${workspaceFolder}/InitScript",
            "name": "Init Script: Debug with Docker",
            "port": 9237,
            "remoteRoot": "/usr/src/app",
            "request": "attach",
            "skipFiles": [
                "<node_internals>/**"
            ],
            "type": "node",
            "restart": true,
            "autoAttachChildProcesses": true
        },
        {
            "name": "Common: Debug Tests",
            "type": "node",
            "restart": true,
            "autoAttachChildProcesses": true,
            "request": "launch",
            "cwd": "${workspaceRoot}/Common",
            "runtimeExecutable": "npm",
            "runtimeArgs": [
                "run-script",
                "debug:test"
            ],
        },
        {
            "name": "Accounts: Debug Local Files",
            "type": "node",
            "restart": true,
            "autoAttachChildProcesses": true,
            "request": "launch",
            "cwd": "${workspaceRoot}/Accounts",
            "runtimeExecutable": "npm",
            "runtimeArgs": [
                "run-script",
                "dev"
            ],
        }
    ]
}