Ctrl K
ComunidadGuías…

package.json

Rama develop · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
{
  "name": "orgii",
  "version": "2.0.8",
  "description": "Self-evolving agentic development framework — ORG2 desktop app",
  "main": "src/index.tsx",
  "scripts": {
    "prepare": "husky install",
    "postinstall": "node scripts/setup/postinstall.mjs",
    "dev:frontend": "node scripts/dev/webpack-server.js",
    "dev:mobile-native": "ORGII_MOBILE_REMOTE_NATIVE=true node scripts/dev/webpack-server.js",
    "dev:frontend:rspack": "node scripts/dev/rspack-server.js",
    "dev:frontend:light": "ORGII_LIGHT_DEV=true FAST_DEV=true DEV_SOURCEMAPS=false node scripts/dev/webpack-server.js",
    "dev:web": "WEBPACK_DEV_SERVER_PORT=1999 webpack serve --config webpack.web.config.js --mode development",
    "dev:cpu-monitor": "bash scripts/dev/cpu-monitor.sh",
    "diag:process": "node tools/org2-diagnostics/cli.mjs process",
    "diag:memory": "node tools/org2-diagnostics/cli.mjs memory",
    "diag:test": "node --test tools/org2-diagnostics/test/*.test.mjs",
    "build": "webpack --config config/webpack.config.js --mode production",
    "build:web": "webpack --config webpack.web.config.js --mode production",
    "build:mobile-native": "ORGII_MOBILE_REMOTE_NATIVE=true webpack --config config/webpack.config.js --mode production",
    "download": "python3 scripts/tools/download.py",
    "download:sidecars": "python3 scripts/tools/download_sidecars.py",
    "tauri:dev": "node scripts/dev/tauri-launcher.cjs",
    "tauri:dev:light": "node scripts/dev/tauri-launcher.cjs --light",
    "tauri:dev:rspack": "node scripts/dev/tauri-launcher.cjs --rspack",
    "tauri:dev:webpack": "node scripts/dev/tauri-launcher.cjs --webpack",
    "tauri:dev:only": "node scripts/tauri/run-with-features.cjs dev",
    "build:release": "rm -rf build node_modules/.cache && webpack --config config/webpack.config.js --mode production",
    "tauri:build": "node scripts/tauri/run-with-features.cjs build",
    "tauri:build:fast": "node scripts/tauri/build-fast-parallel.cjs",
    "tauri:build:fast:dual": "node scripts/tauri/build-fast-dual.cjs",
    "tauri:open:instance": "node scripts/tauri/open-instance.cjs",
    "tauri:build:fast:serial": "node scripts/tauri/run-with-features.cjs build -- --profile dev-build",
    "tauri:build:fast:local": "node scripts/tauri/build-fast-local.cjs",
    "tauri:build:fast:open": "node scripts/tauri/build-fast-open.cjs",
    "tauri:build:release": "node scripts/tauri/run-with-features.cjs build",
    "tauri:ios:icons": "node scripts/tauri/ios-icons.mjs",
    "tauri:ios:init": "cd apps/remote-ios && ../../node_modules/.bin/tauri ios init --ci && cd ../.. && pnpm tauri:ios:icons",
    "tauri:ios:dev": "cd apps/remote-ios && ../../node_modules/.bin/tauri ios dev",
    "tauri:ios:build": "cd apps/remote-ios && ../../node_modules/.bin/tauri ios build",
    "clean:cache": "node scripts/dev/clean-cache-if-large.js --node-cache",
    "clean:auto": "node scripts/dev/clean-cache-if-large.js",
    "clean:report": "node scripts/dev/clean-cache-if-large.js --report",
    "clean:stale": "node scripts/dev/clean-cache-if-large.js --stale",
    "clean:worktrees": "node scripts/dev/clean-cache-if-large.js --worktrees",
    "clean:full": "node scripts/dev/clean-cache-if-large.js --full",
    "scripts:test": "node --test scripts/dev/*.test.cjs",
    "build:stats": "webpack --config config/webpack.config.js --mode production --json build/stats.json",
    "check:bundle-budget": "node scripts/quality/check-bundle-budget.mjs",
    "analyze": "webpack --config config/webpack.config.js --mode production --profile --json > build/stats.json && webpack-bundle-analyzer build/stats.json",
    "typecheck": "tsc --noEmit --pretty false",
    "typecheck:fast": "tsgo --noEmit --pretty false",
    "lint": "pnpm lint:fast && eslint src/ --ext .ts,.tsx,.js,.jsx --max-warnings 0 --report-unused-disable-directives",
    "lint:fast": "oxlint -c src/.oxlintrc.json --max-warnings 0 src",
    "lint:fix": "eslint src/ --ext .ts,.tsx,.js,.jsx --fix --report-unused-disable-directives",
    "lint:file": "eslint",
    "lint:file:fix": "eslint --fix",
    "cargo:check": "cd src-tauri && cargo check",
    "cargo:clippy": "cd src-tauri && cargo clippy",
    "cargo:test": "cd src-tauri && cargo test --workspace --no-fail-fast",
    "cargo:test:lib": "cd src-tauri && cargo test --lib --no-fail-fast",
    "cargo:test:agent_core": "cd src-tauri && cargo test -p agent_core",
    "cargo:test:agent_sessions": "cd src-tauri && cargo test --lib agent_sessions::",
    "cargo:test:api": "cd src-tauri && cargo test --lib api::",
    "check:circular": "node scripts/quality/check-circular-dependencies.mjs",
    "check:test-placement": "node scripts/quality/check-test-placement.mjs",
    "test": "vitest run --config config/vitest.config.ts",
    "test:coverage": "vitest run --config config/vitest.config.ts --coverage",
    "test:watch": "vitest --config config/vitest.config.ts",
    "check:unused-exports": "knip --config config/knip.json",
    "check:unused-exports:all": "knip --config config/knip.json --include files,dependencies,devDependencies,exports,types,nsExports,nsTypes",
    "check:e2e-oauth-guards": "node scripts/quality/check-e2e-oauth-guards.mjs",
    "check:i18n:cloud": "node scripts/quality/check-missing-i18n-keys.mjs --namespace navigation --prefix cloud && node scripts/quality/check-missing-i18n-keys.mjs --namespace navigation --prefix collaboration.forkImported",
    "check:i18n:quality": "node scripts/quality/check-i18n-resource-quality.mjs",
    "check:i18n:contracts": "pnpm check:i18n-keys && pnpm check:i18n:quality",
    "check:i18n-keys": "node scripts/quality/i18n-keys/check.mjs",
    "check:i18n-keys:report": "node scripts/quality/i18n-keys/check.mjs --report",
    "test:i18n-keys": "node --test scripts/quality/i18n-keys/*.test.mjs",
    "check:typed-lint": "node scripts/quality/typed-lint/check.mjs",
    "test:typed-lint": "node --test scripts/quality/typed-lint/*.test.mjs",
    "check:boundaries": "node scripts/quality/dependency-boundaries/check.mjs",
    "test:boundaries": "node --test scripts/quality/dependency-boundaries/*.test.mjs",
    "check:queue-authority": "node scripts/quality/queue-authority/check.mjs",
    "test:queue-authority": "node --test scripts/quality/queue-authority/*.test.mjs",
    "test:mutation": "stryker run config/stryker.config.mjs"
  },
  "keywords": [
    "orgii",
    "agent",
    "tauri",
    "desktop"
  ],
  "author": "YORG-AI",
  "license": "AGPL-3.0-or-later",
  "dependencies": {
    "@a2ui/react": "^0.10.0",
    "@a2ui/web_core": "^0.10.0",
    "@codemirror/autocomplete": "^6.20.0",
    "@codemirror/commands": "6.10.0",
    "@codemirror/lang-cpp": "^6.0.3",
    "@codemirror/lang-css": "^6.3.1",
    "@codemirror/lang-html": "^6.4.11",
    "@codemirror/lang-java": "^6.0.2",
    "@codemirror/lang-javascript": "^6.2.4",
    "@codemirror/lang-json": "^6.0.2",
    "@codemirror/lang-markdown": "^6.5.0",
    "@codemirror/lang-python": "^6.2.1",
    "@codemirror/lang-rust": "^6.0.2",
    "@codemirror/language": "6.12.2",
    "@codemirror/legacy-modes": "^6.5.3",
    "@codemirror/merge": "^6.11.2",
    "@codemirror/search": "^6.6.0",
    "@codemirror/state": "6.6.0",
    "@codemirror/view": "^6.39.11",
    "@crabnebula/tauri-plugin-drag": "^2.1.0",
    "@dnd-kit/core": "^6.3.1",
    "@dnd-kit/modifiers": "^9.0.0",
    "@dnd-kit/sortable": "^10.0.0",
    "@dnd-kit/utilities": "^3.2.2",
    "@emotion/is-prop-valid": "^1.4.0",
    "@fabianlars/tauri-plugin-oauth": "^2.0.0",
    "@hugeicons/core-free-icons": "4.3.0",
    "@hugeicons/react": "1.1.10",
    "@lezer/highlight": "^1.2.3",
    "@libsql/client": "^0.17.0",
    "@replit/codemirror-indentation-markers": "^6.5.3",
    "@supabase/supabase-js": "^2.106.2",
    "@tanstack/react-table": "^8.21.3",
    "@tanstack/react-virtual": "^3.13.13",
    "@tauri-apps/api": "~2.11.0",
    "@tauri-apps/plugin-deep-link": "^2.4.5",
    "@tauri-apps/plugin-dialog": "2.6.0",
    "@tauri-apps/plugin-fs": "2.4.5",
    "@tauri-apps/plugin-notification": "^2.3.3",
    "@tauri-apps/plugin-opener": "^2.5.2",
    "@tauri-apps/plugin-process": "^2.3.1",
    "@tauri-apps/plugin-shell": "^2.3.3",
    "@tauri-apps/plugin-store": "^2.4.1",
    "@tauri-apps/plugin-updater": "2.9.0",
    "@types/react": "^19.2.15",
    "@types/react-dom": "^19.2.3",
    "@uiw/codemirror-themes": "^4.25.4",
    "@uiw/react-codemirror": "^4.25.4",
    "@xterm/addon-fit": "^0.11.0",
    "@xterm/addon-search": "^0.16.0",
    "@xterm/addon-serialize": "^0.14.0",
    "@xterm/addon-unicode11": "^0.9.0",
    "@xterm/addon-web-links": "^0.12.0",
    "@xterm/addon-webgl": "^0.19.0",
    "@xterm/xterm": "^6.0.0",
    "ansi-to-react": "^6.1.6",
    "classnames": "^2.5.1",
    "clsx": "^2.1.1",
    "codemirror": "^6.0.2",
    "dayjs": "^1.11.10",
    "dompurify": "^3.4.13",
    "framer-motion": "^12.23.24",
    "i18next": "^25.8.1",
    "ignore": "^7.0.5",
    "jotai": "^2.8.2",
    "jotai-family": "^1.0.2",
    "jsqr": "1.4.0",
    "jszip": "^3.10.1",
    "lodash": "^4.18.1",
    "mammoth": "^1.12.0",
    "mermaid": "^10.9.8",
    "papaparse": "^5.5.3",
    "process": "^0.11.10",
    "react": "^19.2.6",
    "react-artifact-runtime": "npm:react@18.3.1",
    "react-dom": "^19.2.6",
    "react-dom-artifact-runtime": "npm:react-dom@18.3.1",
    "react-i18next": "^16.5.4",
    "react-is": "^19.2.4",
    "react-markdown": "^9.0.1",
    "react-router-dom": "^7.18.3",
    "react-syntax-highlighter": "^15.5.0",
    "react-virtuoso": "^4.17.0",
    "recharts": "^3.6.0",
    "refractor": "3.6.0",
    "remark-gfm": "^4.0.0",
    "sucrase": "^3.35.0",
    "uuid": "^14.0.2",
    "yaml": "^2.9.0",
    "zod": "^4.3.6"
  },
  "devDependencies": {
    "@babel/core": "^7.29.6",
    "@commitlint/cli": "^19",
    "@commitlint/config-conventional": "^19",
    "@pmmmwh/react-refresh-webpack-plugin": "^0.6.2",
    "@rspack/core": "^2.2.1",
    "@rspack/dev-server": "^2.2.1",
    "@rspack/plugin-react-refresh": "^2.0.2",
    "@svgr/webpack": "^8.1.0",
    "@swc/core": "^1.15.5",
    "@tailwindcss/postcss": "^4.3.3",
    "@tauri-apps/cli": "2",
    "@trivago/prettier-plugin-sort-imports": "^6.0.2",
    "@types/lodash": "^4.17.25",
    "@types/node": "^20.10.5",
    "@types/papaparse": "^5.5.2",
    "@types/react-syntax-highlighter": "^15.5.13",
    "@typescript-eslint/eslint-plugin": "^6.16.0",
    "@typescript-eslint/parser": "^6.16.0",
    "@typescript/native-preview": "7.0.0-dev.20260707.2",
    "@vitest/coverage-v8": "^4.1.11",
    "autoprefixer": "^10.4.16",
    "babel-loader": "^10.1.1",
    "babel-plugin-react-compiler": "^1.0.0",
    "clean-webpack-plugin": "^4.0.0",
    "copy-webpack-plugin": "^12.0.2",
    "css-loader": "^6.8.1",
    "css-minimizer-webpack-plugin": "^7.0.2",
    "dotenv": "^17.4.2",
    "dotenv-webpack": "^8.0.1",
    "dugite": "^3.2.2",
    "esbuild-loader": "^4.4.0",
    "eslint": "^8.56.0",
    "eslint-config-prettier": "^9.1.0",
    "eslint-plugin-prettier": "^5.1.2",
    "eslint-plugin-react": "^7.37.5",
    "eslint-plugin-react-hooks": "^7.0.1",
    "eslint-plugin-unused-imports": "^4.3.0",
    "html-webpack-plugin": "^5.6.6",
    "husky": "^8.0.3",
    "knip": "^6.34.0",
    "jsdom": "^29.1.1",
    "lint-staged": "^15.2.0",
    "madge": "8.0.0",
    "oxlint": "^1.80.0",
    "mini-css-extract-plugin": "^2.9.2",
    "postcss": "^8.5.23",
    "postcss-loader": "^8.2.1",
    "prettier": "^3.8.1",
    "prettier-plugin-tailwindcss": "^0.8.1",
    "raw-loader": "^4.0.2",
    "react-refresh": "^0.18.0",
    "sass": "^1.69.5",
    "sass-embedded": "^1.103.1",
    "sass-loader": "^16.0.8",
    "style-loader": "^3.3.3",
    "swc-loader": "^0.2.6",
    "tailwindcss": "^4.3.3",
    "terser-webpack-plugin": "^5.3.10",
    "typescript": "^5.3.3",
    "vitest": "^4.1.11",
    "webpack": "^5.91.0",
    "webpack-bundle-analyzer": "^5.1.0",
    "webpack-cli": "^5.1.4",
    "webpack-dev-server": "^5.2.6",
    "dependency-cruiser": "16.10.4",
    "@stryker-mutator/core": "9.6.1",
    "@stryker-mutator/vitest-runner": "9.6.1",
    "vite": "^6.4.3"
  },
  "eslintConfig": {
    "root": true,
    "parser": "@typescript-eslint/parser",
    "extends": [
      "eslint:recommended",
      "plugin:@typescript-eslint/recommended",
      "plugin:react/recommended",
      "plugin:react-hooks/recommended",
      "plugin:prettier/recommended"
    ],
    "plugins": [
      "@typescript-eslint",
      "react",
      "react-hooks",
      "prettier",
      "unused-imports"
    ],
    "parserOptions": {
      "ecmaVersion": 2020,
      "sourceType": "module",
      "ecmaFeatures": {
        "jsx": true
      }
    },
    "settings": {
      "react": {
        "version": "detect"
      }
    },
    "ignorePatterns": [
      "src/util/qr/qrcodeGeneratorVendor.js",
      "/*",
      "!/src",
      "*.css",
      "*.scss"
    ],
    "rules": {
      "react/react-in-jsx-scope": "off",
      "react/prop-types": "off",
      "@typescript-eslint/no-unused-vars": "off",
      "unused-imports/no-unused-imports": "error",
      "unused-imports/no-unused-vars": [
        "warn",
        {
          "vars": "all",
          "varsIgnorePattern": "^_",
          "args": "after-used",
          "argsIgnorePattern": "^_"
        }
      ],
      "no-console": [
        "warn",
        {
          "allow": [
            "warn",
            "error"
          ]
        }
      ],
      "no-restricted-syntax": [
        "error",
        {
          "selector": "ImportDeclaration[source.value='@src/icons'] ImportNamespaceSpecifier",
          "message": "Do not namespace-import the icon barrel; import each glyph by name so webpack links deep icon modules individually."
        },
        {
          "selector": "TSAsExpression[typeAnnotation.typeName.name=\"IconSvgElement\"]",
          "message": "Never cast to hugeicons glyph-data types — a non-array value crashes HugeiconsIcon's [...icon] spread at runtime. Type mixed icon values as RenderableIcon (@src/components/AnyIcon) and render via AnyIcon."
        },
        {
          "selector": "TSAsExpression[typeAnnotation.typeName.name=\"IconSvgObject\"]",
          "message": "Never cast to hugeicons glyph-data types — a non-array value crashes HugeiconsIcon's [...icon] spread at runtime. Type mixed icon values as RenderableIcon (@src/components/AnyIcon) and render via AnyIcon."
        }
      ],
      "no-restricted-imports": [
        "error",
        {
          "paths": [
            {
              "name": "lucide-react",
              "message": "lucide-react has been removed. Use hugeicons via @src/icons — see docs/hugeicons-migration/icon-mapping.md for the lucide -> hugeicons name map."
            }
          ],
          "patterns": [
            {
              "group": [
                "@hugeicons/*"
              ],
              "message": "Import icons from @src/icons (it re-exports HugeiconsIcon and every used glyph). To add a glyph, add one re-export line to src/icons.ts."
            },
            {
              "group": [
                "@src/hooks/workStation",
                "@src/hooks/workStation/*"
              ],
              "message": "hooks/workStation was dissolved. Tab-host hooks: @src/hooks/tabHost/*; editor hooks: @src/modules/WorkStation/CodeEditor/hooks/*; browser hooks: @src/modules/WorkStation/Browser/hooks/*; session capture: @src/features/SessionSetup/hooks/*; context menu: @src/scaffold/ContextMenu/*."
            },
            {
              "group": [
                "@src/hooks/dependencies",
                "@src/hooks/dependencies/*"
              ],
              "message": "Moved to @src/modules/MainApp/Integrations/hooks/* (usePostPaintGitProbe -> @src/app/root/usePostPaintGitProbe)."
            },
            {
              "group": [
                "@src/hooks/git/sourceControl",
                "@src/hooks/git/sourceControl/*"
              ],
              "message": "Moved to @src/modules/WorkStation/CodeEditor/hooks/sourceControl/* (generateCommitMessage -> @src/api/tauri/git/commitMessage)."
            },
            {
              "group": [
                "@src/hooks/testRunner",
                "@src/hooks/testRunner/*"
              ],
              "message": "Moved to @src/modules/WorkStation/CodeEditor/hooks/useTestRunner."
            },
            {
              "group": [
                "@src/hooks/benchmark",
                "@src/hooks/benchmark/*"
              ],
              "message": "Moved to @src/features/BenchmarkPanel/hooks/*."
            }
          ]
        }
      ]
    },
    "overrides": [
      {
        "files": [
          "src/icons.ts"
        ],
        "rules": {
          "no-restricted-imports": "off"
        }
      },
      {
        "files": [
          "**/*.test.ts",
          "**/*.test.tsx"
        ],
        "rules": {
          "no-restricted-syntax": [
            "error",
            {
              "selector": "MemberExpression[object.name=/^(describe|it|test|suite|bench)$/][property.name='only']",
              "message": "Focused test committed: `.only` makes the rest of this file silently not run. Remove it before committing."
            },
            {
              "selector": "MemberExpression[object.object.name=/^(describe|it|test)$/][object.property.name='only']",
              "message": "Focused test committed: `.only.each` makes the rest of this file silently not run. Remove it before committing."
            },
            {
              "selector": "TSAsExpression[typeAnnotation.typeName.name=\"IconSvgElement\"]",
              "message": "Never cast to hugeicons glyph-data types — a non-array value crashes HugeiconsIcon's [...icon] spread at runtime. Type mixed icon values as RenderableIcon (@src/components/AnyIcon) and render via AnyIcon."
            },
            {
              "selector": "TSAsExpression[typeAnnotation.typeName.name=\"IconSvgObject\"]",
              "message": "Never cast to hugeicons glyph-data types — a non-array value crashes HugeiconsIcon's [...icon] spread at runtime. Type mixed icon values as RenderableIcon (@src/components/AnyIcon) and render via AnyIcon."
            }
          ]
        }
      }
    ]
  },
  "prettier": {
    "tailwindStylesheet": "./src/tailwind.css",
    "endOfLine": "auto",
    "singleQuote": false,
    "semi": true,
    "trailingComma": "es5",
    "importOrder": [
      "<THIRD_PARTY_MODULES>",
      "^@src/(.*)$",
      "^@common/(.*)$",
      "^@api/(.*)$",
      "^@page/(.*)$",
      "^[./]",
      "^(.*).scss"
    ],
    "importOrderSeparation": true,
    "importOrderSortSpecifiers": true,
    "plugins": [
      "@trivago/prettier-plugin-sort-imports",
      "prettier-plugin-tailwindcss"
    ]
  },
  "unimported": {
    "entry": [
      "src/index.tsx"
    ],
    "extensions": [
      ".ts",
      ".tsx",
      ".js",
      ".jsx"
    ],
    "ignorePatterns": [
      "**/node_modules/**",
      "**/*.d.ts",
      "**/types.ts",
      "**/config.ts",
      "**/exports.ts",
      "**/*.test.ts",
      "**/*.test.tsx",
      "**/scripts/**"
    ],
    "ignoreUnresolved": [
      "@src/*",
      "@/*"
    ],
    "moduleDirectory": [
      "node_modules",
      "src"
    ],
    "aliases": {
      "@src/*": [
        "src/*"
      ],
      "@/*": [
        "src/*"
      ]
    }
  },
  "lint-staged": {
    "src/**/*.{ts,tsx,js,jsx}": [
      "oxlint -c src/.oxlintrc.json --max-warnings 0"
    ],
    "*.{ts,tsx,js,jsx}": [
      "eslint --fix",
      "prettier --write"
    ],
    "*.{css,scss,md,json}": [
      "prettier --write"
    ]
  },
  "packageManager": "pnpm@9.15.4+sha512.b2dc20e2fc72b3e18848459b37359a32064663e5627a51e4c74b2c29dd8e8e0491483c3abb40789cfd578bf362fb6ba8261b05f0387d76792ed6e23ea3b1b6a0",
  "pnpm": {
    "overrides": {
      "sass-loader>node-sass": "-"
    },
    "patchedDependencies": {
      "@hugeicons/core-free-icons@4.3.0": "patches/@hugeicons__core-free-icons@4.3.0.patch"
    }
  }
}