{
  // 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",
  "configurations": [
    {
      "name": "Launch Chat Memory",
      "type": "node",
      "request": "launch",
      "skipFiles": ["<node_internals>/**"],
      "program": "${workspaceFolder}/examples/chat/src/main.ts",
      "console": "externalTerminal",
      "outFiles": ["${workspaceFolder}/**/*.js"]
    },
    {
      "name": "Attach",
      "port": 9229,
      "request": "attach",
      "skipFiles": ["<node_internals>/**"],
      "type": "node"
    },
    {
      "name": "Shell (Main process)",
      "type": "node",
      "request": "launch",
      "cwd": "${workspaceRoot}/packages/shell",
      "runtimeExecutable": "${workspaceRoot}/packages/shell/node_modules/.bin/electron-vite",
      "windows": {
        "runtimeExecutable": "${workspaceRoot}/packages/shell/node_modules/.bin/electron-vite.cmd"
      },
      "runtimeArgs": ["--sourcemap"],
      "env": {
        "REMOTE_DEBUGGING_PORT": "9222"
      }
    },
    {
      "name": "Player Service",
      "type": "node",
      "request": "launch",
      "skipFiles": ["<node_internals>/**"],
      "cwd": "${workspaceFolder}/packages/player",
      "program": "./dist/main.js",
      "console": "externalTerminal",
      "preLaunchTask": "pnpm: build",
      "outFiles": ["${workspaceFolder}/**/*.js"]
    },
    {
      "type": "node",
      "request": "launch",
      "name": "CLI interactive",
      "skipFiles": ["<node_internals>/**"],
      "cwd": "${workspaceFolder}/packages/cli",
      "program": "./bin/run.js",
      "args": ["interactive"],
      "console": "integratedTerminal",
      "outFiles": ["${workspaceFolder}/**/*.js"]
    },
    {
      "type": "node",
      "request": "launch",
      "name": "API",
      "skipFiles": ["<node_internals>/**"],
      "cwd": "${workspaceFolder}/packages/api",
      "program": "./dist/index.js",
      "outFiles": ["${workspaceFolder}/**/*.js"],
      "resolveSourceMapLocations": []
    },
    {
      "type": "node",
      "request": "launch",
      "name": "CLI (dev) interactive",
      "skipFiles": ["<node_internals>/**"],
      "cwd": "${workspaceFolder}/packages/cli",
      "program": "./bin/dev.js",
      "args": ["interactive"],
      "runtimeArgs": [
        "--loader",
        "ts-node/esm",
        "--no-warnings=ExperimentalWarning"
      ],
      "console": "externalTerminal",
      "outFiles": ["${workspaceFolder}/**/*.js"]
    },
    {
      "type": "node",
      "request": "launch",
      "name": "CLI (dev) interactive [intergrated terminal]",
      "skipFiles": ["<node_internals>/**"],
      "cwd": "${workspaceFolder}/packages/cli",
      "program": "./bin/dev.js",
      "args": ["interactive"],
      "runtimeArgs": [
        "--loader",
        "ts-node/esm",
        "--no-warnings=ExperimentalWarning"
      ],
      "console": "integratedTerminal",
      "outFiles": ["${workspaceFolder}/**/*.js"]
    },
    {
      "name": "Launch Playground",
      "type": "node",
      "request": "launch",
      "skipFiles": ["<node_internals>/**"],
      "program": "${workspaceFolder}/examples/playground/src/main.ts",
      "console": "externalTerminal",
      "outFiles": ["${workspaceFolder}/**/*.js"]
    },
    {
      "name": "Launch SchemaStudio",
      "type": "node",
      "request": "launch",
      "skipFiles": ["<node_internals>/**"],
      "program": "${workspaceFolder}/examples/schemaStudio/src/main.ts",
      "console": "externalTerminal",
      "outFiles": ["${workspaceFolder}/**/*.js"]
    },    
    {
      "name": "Launch Chat Tests",
      "type": "node",
      "request": "launch",
      "skipFiles": ["<node_internals>/**"],
      "program": "${workspaceFolder}/examples/chat/src/main.ts",
      "console": "externalTerminal",
      "outFiles": ["${workspaceFolder}/**/*.js"],
      "cwd": "${workspaceFolder}/examples/chat/src/codeChat"
    },
    {
      "name": "Launch YOUR Example",
      "type": "node",
      "request": "launch",
      "skipFiles": ["<node_internals>/**"],
      "program": "${workspaceFolder}/examples/schemaStudio/src/main.ts",
      "console": "externalTerminal",
      "outFiles": ["${workspaceFolder}/**/*.js"]
    },
    {
      "name": "Launch Example - WSL",
      "type": "node",
      "request": "launch",
      "skipFiles": ["<node_internals>/**"],
      "program": "${workspaceFolder}/examples/chat/src/main.ts",
      "console": "internalConsole",
      "outFiles": ["${workspaceFolder}/**/*.js"]
    },
    {
      "name": "Launch Classify",
      "type": "node",
      "request": "launch",
      "skipFiles": ["<node_internals>/**"],
      "program": "${workspaceFolder}/examples/classify/src/main.ts",
      "console": "externalTerminal",
      "outFiles": ["${workspaceFolder}/**/*.js"]
    },
    {
      "name": "Launch Classify - WSL",
      "type": "node",
      "request": "launch",
      "skipFiles": ["<node_internals>/**"],
      "program": "${workspaceFolder}/examples/classify/src/main.ts",
      "console": "internalConsole",
      "outFiles": ["${workspaceFolder}/**/*.js"]
    },
    {
      "name": "Launch Parser-Test",
      "type": "node",
      "request": "launch",
      "skipFiles": ["<node_internals>/**"],
      "program": "${workspaceFolder}/examples/parser-test/src/main.ts",
      "console": "externalTerminal",
      "outFiles": ["${workspaceFolder}/**/*.js"]
    },
    {
      "name": "Launch Parser-Test - WSL",
      "type": "node",
      "request": "launch",
      "skipFiles": ["<node_internals>/**"],
      "program": "${workspaceFolder}/examples/parser-test/src/main.ts",
      "console": "internalConsole",
      "outFiles": ["${workspaceFolder}/**/*.js"]
    },
    {
      "name": "Launch Parser-Test",
      "type": "node",
      "request": "launch",
      "skipFiles": ["<node_internals>/**"],
      "program": "${workspaceFolder}/examples/parser-test/src/main.ts",
      "console": "externalTerminal",
      "outFiles": ["${workspaceFolder}/**/*.js"]
    },
    {
      "name": "VSCODE SchemaGen -dataprep",
      "type": "node",
      "request": "launch",
      "skipFiles": ["<node_internals>/**"],
      "cwd": "${workspaceFolder}/examples/vscodeSchemaGen",
      "program": "./dist/main.js",
      "args": ["-dataprep"],
      "console": "integratedTerminal",
      "outFiles": ["${workspaceFolder}/**/*.js"]
    },
    {
      "name": "VSCODE SchemaGen -schemagen",
      "type": "node",
      "request": "launch",
      "skipFiles": ["<node_internals>/**"],
      "cwd": "${workspaceFolder}/examples/vscodeSchemaGen",
      "program": "./dist/main.js",
      "args": ["-schemagen"],
      "console": "integratedTerminal",
      "outFiles": ["${workspaceFolder}/**/*.js"]
    },
    {
      "name": "VSCODE SchemaGen -schemagen-actionprefix",
      "type": "node",
      "request": "launch",
      "skipFiles": ["<node_internals>/**"],
      "cwd": "${workspaceFolder}/examples/vscodeSchemaGen",
      "program": "./dist/main.js",
      "args": ["-schemagen-actionprefix=editor.action", "-maxNodesToProcess=10"],
      "console": "integratedTerminal",
      "outFiles": ["${workspaceFolder}/**/*.js"]
    },
    {
      "name": "VSCODE SchemaGen -genembeddings",
      "type": "node",
      "request": "launch",
      "skipFiles": ["<node_internals>/**"],
      "cwd": "${workspaceFolder}/examples/vscodeSchemaGen",
      "program": "./dist/main.js",
      "args": [
        "-genembeddings",
        "-schemaFile",
        "",
        "-actionPrefix",
        "workbench.action"
      ],
      "console": "integratedTerminal",
      "outFiles": ["${workspaceFolder}/**/*.js"]
    },
    {
      "name": "VSCODE SchemaGen -statgen",
      "type": "node",
      "request": "launch",
      "skipFiles": ["<node_internals>/**"],
      "cwd": "${workspaceFolder}/examples/vscodeSchemaGen",
      "program": "./dist/main.js",
      "args": [
        "-statgen",
        "-actionreqEmbeddingsFile",
        "",
        "-statGenFile",
        "",
        "-schemaFile",
        ""
      ],
      "console": "integratedTerminal",
      "outFiles": ["${workspaceFolder}/**/*.js"]
    },
    {
      "name": "Knowledge Visualizier",
      "type": "node",
      "request": "launch",
      "cwd": "${workspaceFolder}/packages/knowledgeVisualizer",
      "program": "./node_modules/.bin/webpack",
      "args": [
        "--config",
        "webpack.config.js"
      ],
      "autoAttachChildProcesses": true,
      "stopOnEntry": false
    },
    {
      "type": "node",
      "request": "launch",
      "name": "Launch getKeys (shared key vault)",
      "skipFiles": ["<node_internals>/**"],
      "cwd": "${workspaceFolder}",
      "program": "tools/scripts/getKeys.mjs",
      "args": [],
      "console": "externalTerminal",
      "outFiles": ["${workspaceFolder}/**/*.js"]
    },
    {
      "type": "node",
      "request": "launch",
      "name": "Launch getKeys (private key vault)",
      "skipFiles": ["<node_internals>/**"],
      "cwd": "${workspaceFolder}",
      "program": "tools/scripts/getKeys.mjs",
      "args": ["--vault", "build-pipeline-kv"],
      "console": "externalTerminal",
      "outFiles": ["${workspaceFolder}/**/*.js"]
    },
    {
      "type": "node",
      "name": "vscode-jest-tests.v2.dispatcher",
      "request": "launch",
      "args": [
        "--no-warnings",
        "--experimental-vm-modules",
        "./node_modules/jest/bin/jest.js",
        "--runInBand",
        "--watchAll=false",
        "--testNamePattern",
        "${jest.testNamePattern}",
        "--runTestsByPath",
        "${jest.testFile}"
      ],
      "cwd": "/home/curtism/src/TypeAgent/ts/packages/dispatcher",
      "console": "integratedTerminal",
      "internalConsoleOptions": "neverOpen",
      "disableOptimisticBPs": true
    },
    {
      "type": "node",
      "request": "launch",
      "name": "vscode-jest-tests.v2",
      "skipFiles": ["<node_internals>/**"],
      "args": [
        "--no-warnings",
        "--experimental-vm-modules",
        "./node_modules/jest/bin/jest.js",
        "--runInBand",
        "--watchAll=false",
        "--testNamePattern",
        "${jest.testNamePattern}",
        "--runTestsByPath",
        "${jest.testFile}"
      ],
      //"cwd": "${workspaceFolder}/packages/knowpro",
      //"cwd": "${workspaceFolder}/packages/memory/storage",
      "cwd": "${workspaceFolder}/packages/memory/conversation",
      //"cwd": "${workspaceFolder}/packages/knowledgeProcessor",
      //"cwd": "${workspaceFolder}/packages/aiclient",
      "console": "integratedTerminal",
      "internalConsoleOptions": "neverOpen"
    },
    {
      "name": "Launch Document Processor",
      "type": "node",
      "request": "launch",
      "skipFiles": [
          "<node_internals>/**"
      ],
      "args": [],
      "program": "${workspaceFolder}/examples/docuProc/src/main.ts",
      "console": "integratedTerminal",
      //"preLaunchTask": "pnpm: build",
      "outFiles": [
          "${workspaceFolder}/**/*.js"
      ],
    },
    {
      "name": "Launch Command Historgram",
      "type": "node",
      "request": "launch",
      "skipFiles": ["<node_internals>/**"],
      "program": "${workspaceFolder}/examples/commandHistogram/src/main.ts",
      "console": "externalTerminal",
      "outFiles": ["${workspaceFolder}/**/*.js"]
    },
    {
      "type": "node",
      "request": "launch",
      "name": "Launch azureDeploy (create)",
      "skipFiles": ["<node_internals>/**"],
      "cwd": "${workspaceFolder}",
      "program": "tools/scripts/azureDeploy.mjs",
      "args": ["create", "--location", "eastus"],
      "console": "externalTerminal",
      "outFiles": ["${workspaceFolder}/**/*.js"]
    },
    {
      "type": "node",
      "request": "launch",
      "name": "Launch azureDeploy (delete)",
      "skipFiles": ["<node_internals>/**"],
      "cwd": "${workspaceFolder}",
      "program": "tools/scripts/azureDeploy.mjs",
      "args": ["delete", "--location", "eastus"],
      "console": "externalTerminal",
      "outFiles": ["${workspaceFolder}/**/*.js"]
    },
    {
      "type": "node",
      "request": "launch",
      "name": "Launch repo policy check",
      "skipFiles": ["<node_internals>/**"],
      "cwd": "${workspaceFolder}",
      "program": "tools/scripts/repo-policy-check.mjs",
      "args": [],
      "console": "externalTerminal",
      "outFiles": ["${workspaceFolder}/**/*.js"]
    },           {
      "name": "Launch MCP Memory",
      "type": "node",
      "request": "launch",
      "skipFiles": ["<node_internals>/**"],
      "program": "${workspaceFolder}/examples/mcpMemory/src/main.ts",
      "console": "externalTerminal",
      "outFiles": ["${workspaceFolder}/**/*.js"],
    },
    {
      "name": "Launch Website Alias Extractor",
      "type": "node",
      "request": "launch",
      "skipFiles": ["<node_internals>/**"],
      "program": "${workspaceFolder}/examples/websiteAliases/src/main.ts",
      "console": "externalTerminal",
      "outFiles": ["${workspaceFolder}/**/*.js"]
    },       
  ]
}
