github TypeScript analyzed e5e6db7

agentic-web-labs/agentic-web-labs

github

Agentic Web Labs

maintainer
agentic-web-labs
licence
Apache-2.0
first seen
2026-08-28
last seen
2026-08-28
releases · 30d
0
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 7 tools
transport stdio · streamable-http · http counts 7 tools · 0 res · 0 prompts permission surface via code analysis

tools

  • analyze_package_json
  • analyze_project
  • dummyTool
  • extension_tool_check_available_apis
  • get_package_stats
  • list_known_vscode_projects
  • list_workspace_dependencies
skills & danger signals github-tarball
code evidence vnpm-advisor@0.3.0 · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

code files: 1243

filesystem 49

  • fs (weak) agentic-web-labs-agentic-web-labs-e5e6db7/packages/extensions/awl/scripts/contentScript.config.ts :6 import { readdirSync } from 'node:fs';
  • fs (weak) agentic-web-labs-agentic-web-labs-e5e6db7/packages/extensions/awl/vite.config.ts :7 import { readdirSync } from 'node:fs';
  • fs (weak) agentic-web-labs-agentic-web-labs-e5e6db7/packages/extensions/npm-advisor/vite.config.ts :8 import { readdirSync } from "fs";
  • fs (weak) agentic-web-labs-agentic-web-labs-e5e6db7/packages/extensions/vscode/esbuild.config.js :2 const { mkdirSync, copyFileSync, existsSync, chmodSync } = require("node:fs");
  • fs (weak) agentic-web-labs-agentic-web-labs-e5e6db7/packages/extensions/vscode/scripts/applyPublishIdentity.mjs :4 import { readFileSync, writeFileSync, existsSync } from "node:fs";
  • fs agentic-web-labs-agentic-web-labs-e5e6db7/packages/extensions/vscode/src/mcp/clientDetection.ts :4 import { existsSync } from "node:fs";
  • fs agentic-web-labs-agentic-web-labs-e5e6db7/packages/extensions/vscode/src/mcp/operations.ts :12 } from "node:fs";
  • fs (weak) agentic-web-labs-agentic-web-labs-e5e6db7/packages/extensions/vscode/src/mcp/tests/operations.test.ts :12 } from "node:fs";
  • fs agentic-web-labs-agentic-web-labs-e5e6db7/packages/extensions/vscode/src/mcp/wizard/mcpSetupPanel.ts :5 import { existsSync, mkdirSync, writeFileSync } from "node:fs";
  • fs agentic-web-labs-agentic-web-labs-e5e6db7/packages/extensions/vscode/src/projectHealth/manifestReader.ts :49 const buffer = await vscode.workspace.fs.readFile(vscode.Uri.parse(uri));
  • fs (weak) agentic-web-labs-agentic-web-labs-e5e6db7/packages/extensions/vscode/src/projectHealth/tests/projectHealthReport.test.ts :197 replacements: ["native fs.promises.rm"],
  • fs agentic-web-labs-agentic-web-labs-e5e6db7/packages/extensions/vscode/src/services/recentProjectsRegistry.ts :6 import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
show 28 more
  • fs agentic-web-labs-agentic-web-labs-e5e6db7/packages/extensions/vscode/src/services/recentProjectsTracker.ts :5 import { existsSync, readFileSync } from "node:fs";
  • fs agentic-web-labs-agentic-web-labs-e5e6db7/packages/extensions/vscode/src/workspace/lockfileResolver.ts :4 import * as fs from "node:fs/promises";
  • fs agentic-web-labs-agentic-web-labs-e5e6db7/packages/extensions/vscode/src/workspace/packageJsonScanner.ts :101 const buffer = await vscode.workspace.fs.readFile(uri);
  • fs (weak) agentic-web-labs-agentic-web-labs-e5e6db7/packages/extensions/vscode/src/workspace/tests/lockfileResolver.test.ts :4 import * as fs from "node:fs/promises";
  • fs (weak) agentic-web-labs-agentic-web-labs-e5e6db7/packages/mcp/npm-advisor-mcp/esbuild.config.js :2 import { chmodSync, readFileSync } from "node:fs";
  • fs agentic-web-labs-agentic-web-labs-e5e6db7/packages/mcp/npm-advisor-mcp/src/lib/recentProjectsRegistry.ts :4 import { existsSync, readFileSync } from "node:fs";
  • fs (weak) agentic-web-labs-agentic-web-labs-e5e6db7/packages/mcp/npm-advisor-mcp/src/tests/version.test.ts :4 import { readFileSync } from "node:fs";
  • fs (weak) agentic-web-labs-agentic-web-labs-e5e6db7/packages/mcp/npm-advisor-mcp/src/tools/tests/analyzePackageJson.test.ts :5 import { mkdirSync, mkdtempSync, rmSync, writeFileSync } from "node:fs";
  • fs (weak) agentic-web-labs-agentic-web-labs-e5e6db7/packages/mcp/npm-advisor-mcp/src/tools/tests/analyzeProject.test.ts :5 import { mkdtempSync, rmSync, writeFileSync } from "node:fs";
  • fs (weak) agentic-web-labs-agentic-web-labs-e5e6db7/packages/mcp/npm-advisor-mcp/src/tools/tests/getPackageStats.test.ts :5 import { mkdirSync, mkdtempSync, rmSync, writeFileSync } from "node:fs";
  • fs (weak) agentic-web-labs-agentic-web-labs-e5e6db7/packages/mcp/npm-advisor-mcp/src/tools/tests/listKnownVscodeProjects.test.ts :5 import { mkdtempSync, mkdirSync, rmSync, writeFileSync } from "node:fs";
  • fs (weak) agentic-web-labs-agentic-web-labs-e5e6db7/packages/mcp/npm-advisor-mcp/src/tools/tests/listWorkspaceDependencies.test.ts :5 import { mkdtemp, mkdir, rm, writeFile } from "node:fs/promises";
  • fs agentic-web-labs-agentic-web-labs-e5e6db7/packages/mcp/npm-advisor-mcp/src/version.ts :4 import { readFileSync } from "node:fs";
  • fs agentic-web-labs-agentic-web-labs-e5e6db7/packages/mcp/npm-advisor-mcp/src/workspace/findLockfile.ts :4 import { readFile } from "node:fs/promises";
  • fs agentic-web-labs-agentic-web-labs-e5e6db7/packages/mcp/npm-advisor-mcp/src/workspace/findPackageJsonFiles.ts :4 import { readdir, readFile } from "node:fs/promises";
  • fs agentic-web-labs-agentic-web-labs-e5e6db7/packages/mcp/npm-advisor-mcp/src/workspace/findWorkspaceRoot.ts :4 import { existsSync } from "node:fs";
  • fs (weak) agentic-web-labs-agentic-web-labs-e5e6db7/packages/mcp/npm-advisor-mcp/src/workspace/tests/findLockfile.test.ts :5 import { mkdirSync, mkdtempSync, rmSync, writeFileSync } from "node:fs";
  • fs (weak) agentic-web-labs-agentic-web-labs-e5e6db7/packages/mcp/npm-advisor-mcp/src/workspace/tests/findPackageJsonFiles.test.ts :5 import { mkdtemp, mkdir, rm, writeFile } from "node:fs/promises";
  • fs (weak) agentic-web-labs-agentic-web-labs-e5e6db7/packages/mcp/npm-advisor-mcp/src/workspace/tests/findWorkspaceRoot.test.ts :5 import { mkdtemp, mkdir, rm, writeFile } from "node:fs/promises";
  • fs (weak) agentic-web-labs-agentic-web-labs-e5e6db7/packages/shared/package-analyzer-core/src/utils/tests/parseLockfile.test.ts :4 import { readFileSync } from "node:fs";
  • fs agentic-web-labs-agentic-web-labs-e5e6db7/packages/shared/project-analyzer-core/src/lib/findCircularDependencies.ts :6 import * as fs from "node:fs/promises";
  • fs agentic-web-labs-agentic-web-labs-e5e6db7/packages/shared/project-analyzer-core/src/lib/findReplacementOpportunities.ts :5 import * as fs from "node:fs/promises";
  • fs agentic-web-labs-agentic-web-labs-e5e6db7/packages/shared/project-analyzer-core/src/lib/runMigrationCodemods.ts :4 import * as fs from "node:fs/promises";
  • fs agentic-web-labs-agentic-web-labs-e5e6db7/packages/shared/project-analyzer-core/src/lib/runPublint.ts :7 import type { Dirent } from "node:fs";
  • fs (weak) agentic-web-labs-agentic-web-labs-e5e6db7/packages/shared/project-analyzer-core/src/lib/tests/analyzeProject.test.ts :5 import * as fs from "node:fs/promises";
  • fs (weak) agentic-web-labs-agentic-web-labs-e5e6db7/packages/shared/project-analyzer-core/src/lib/tests/findCircularDependencies.test.ts :5 import * as fs from "node:fs/promises";
  • fs (weak) agentic-web-labs-agentic-web-labs-e5e6db7/packages/shared/project-analyzer-core/src/lib/tests/findReplacementOpportunities.test.ts :5 import * as fs from "node:fs/promises";
  • fs (weak) agentic-web-labs-agentic-web-labs-e5e6db7/packages/shared/project-analyzer-core/src/lib/tests/runMigrationCodemods.test.ts :5 import * as fs from "node:fs/promises";

9 more not shown — this panel samples each group; the count above is the real total.

shell / exec 1

  • shell (weak) agentic-web-labs-agentic-web-labs-e5e6db7/packages/extensions/vscode/esbuild.config.js :3 const { spawn, spawnSync } = require("node:child_process");

network 25

  • net agentic-web-labs-agentic-web-labs-e5e6db7/packages/extensions/awl/src/view/options/components/models/singleProviderAccordion.tsx :77 const result = await fetch(url, {
  • net agentic-web-labs-agentic-web-labs-e5e6db7/packages/extensions/awl/src/view/options/providers/mcpProvider/StatelessHTTPClientTransport.ts :31 const response = await fetch(this._url, {
  • net (weak) agentic-web-labs-agentic-web-labs-e5e6db7/packages/extensions/awl/tests/jest.setup.cjs :6 const fetch = require('node-fetch');
  • net agentic-web-labs-agentic-web-labs-e5e6db7/packages/extensions/npm-advisor/src/contentScript/contentScript.tsx :79 const response = await fetch(rawUrl);
  • net agentic-web-labs-agentic-web-labs-e5e6db7/packages/extensions/npm-advisor/src/contentScript/githubLockfile.ts :125 const response = await fetch(url);
  • net agentic-web-labs-agentic-web-labs-e5e6db7/packages/extensions/npm-advisor/src/serviceWorker/services/npmSearch.ts :54 const response = await fetch(url, {
  • net agentic-web-labs-agentic-web-labs-e5e6db7/packages/extensions/npm-advisor/src/view/options/tabs/models/singleProviderAccordion.tsx :77 const result = await fetch(url, { headers });
  • net agentic-web-labs-agentic-web-labs-e5e6db7/packages/extensions/npm-advisor/src/view/options/tabs/settings/githubAuthSection.tsx :28 const response = await fetch("https://api.github.com/user", {
  • net agentic-web-labs-agentic-web-labs-e5e6db7/packages/extensions/npm-advisor/src/view/sidepanel/hooks/usePackageStats.ts :236 const response = await fetch(rawUrl);
  • net agentic-web-labs-agentic-web-labs-e5e6db7/packages/mcp/awl-mcp-inspector/src/stateProvider/mcpClient/provider.tsx :380 fetch(`${getMCPProxyAddress(config)}/config`, { headers })
  • net (weak) agentic-web-labs-agentic-web-labs-e5e6db7/packages/mcp/npm-advisor-mcp/src/resources/tests/resources.test.ts :108 // since analyzer-core's fetchWithCache eventually calls fetch().
  • net agentic-web-labs-agentic-web-labs-e5e6db7/packages/mcp/npm-advisor-mcp/src/transports/bearerAuth.ts :4 import type { IncomingMessage } from "node:http";
show 13 more
  • net agentic-web-labs-agentic-web-labs-e5e6db7/packages/mcp/npm-advisor-mcp/src/transports/httpTransport.ts :7 } from "node:http";
  • net agentic-web-labs-agentic-web-labs-e5e6db7/packages/mcp/npm-advisor-mcp/src/transports/requestRouter.ts :4 import type { IncomingMessage, ServerResponse } from "node:http";
  • net (weak) agentic-web-labs-agentic-web-labs-e5e6db7/packages/mcp/npm-advisor-mcp/src/transports/tests/httpTransport.test.ts :52 const response = await fetch(`${baseUrl}/health`);
  • net (weak) agentic-web-labs-agentic-web-labs-e5e6db7/packages/shared/chatbot/tests/jest.setup.cjs :6 const fetch = require('node-fetch');
  • net (weak) agentic-web-labs-agentic-web-labs-e5e6db7/packages/shared/common/tests/jest.setup.cjs :6 const fetch = require('node-fetch');
  • net (weak) agentic-web-labs-agentic-web-labs-e5e6db7/packages/shared/design-system/tests/jest.setup.cjs :6 const fetch = require('node-fetch');
  • net agentic-web-labs-agentic-web-labs-e5e6db7/packages/shared/package-analyzer-core/src/lib/computeScoreBreakdown.ts :78 // - the caller asked us to skip the bundlephobia fetch (deferred until
  • net agentic-web-labs-agentic-web-labs-e5e6db7/packages/shared/package-analyzer-core/src/lib/getDependencyTree.ts :19 * @param version - The version or tag to fetch (defaults to 'latest').
  • net agentic-web-labs-agentic-web-labs-e5e6db7/packages/shared/package-analyzer-core/src/utils/fetchOsvAdvisories.ts :168 const response = await fetch("https://api.osv.dev/v1/query", {
  • net agentic-web-labs-agentic-web-labs-e5e6db7/packages/shared/package-analyzer-core/src/utils/fetchOsvAdvisoriesBatch.ts :268 return await fetch(url, { ...init, signal: controller.signal });
  • net agentic-web-labs-agentic-web-labs-e5e6db7/packages/shared/package-analyzer-core/src/utils/fetchWithCache.ts :101 const response = await fetch(url, {
  • net agentic-web-labs-agentic-web-labs-e5e6db7/packages/shared/package-analyzer-core/src/utils/githubFetch.ts :103 const response = await fetch(url, { headers });
  • net (weak) agentic-web-labs-agentic-web-labs-e5e6db7/skills/web-compat-audit/evals/fixtures/performance.js :11 fetch('/api/analytics', {

secrets 1

  • secrets agentic-web-labs-agentic-web-labs-e5e6db7/packages/mcp/npm-advisor-mcp/src/server.ts :41 const token = process.env.GITHUB_TOKEN ?? process.env.GH_TOKEN ?? null;

tool registrations 7

  • extension_tool_check_available_apis agentic-web-labs-agentic-web-labs-e5e6db7/packages/extensions/awl/src/serviceWorker/mcpHub.ts :171
  • dummyTool agentic-web-labs-agentic-web-labs-e5e6db7/packages/extensions/awl/src/serviceWorker/utils/createAndAssignHub.ts :148
  • get_package_stats agentic-web-labs-agentic-web-labs-e5e6db7/packages/mcp/npm-advisor-mcp/src/server.ts :73
  • list_known_vscode_projects agentic-web-labs-agentic-web-labs-e5e6db7/packages/mcp/npm-advisor-mcp/src/server.ts :130
  • list_workspace_dependencies agentic-web-labs-agentic-web-labs-e5e6db7/packages/mcp/npm-advisor-mcp/src/server.ts :143
  • analyze_package_json agentic-web-labs-agentic-web-labs-e5e6db7/packages/mcp/npm-advisor-mcp/src/server.ts :167
  • analyze_project agentic-web-labs-agentic-web-labs-e5e6db7/packages/mcp/npm-advisor-mcp/src/server.ts :205

install hooks 3

  • preinstall agentic-web-labs-agentic-web-labs-e5e6db7/package.json :54 npx only-allow pnpm
  • prepare agentic-web-labs-agentic-web-labs-e5e6db7/package.json :115 husky
  • prepublishOnly agentic-web-labs-agentic-web-labs-e5e6db7/packages/mcp/npm-advisor-mcp/package.json :59 pnpm run build

declared dependencies 4

  • eslint@^9.39.2
  • husky@^9.1.7
  • lint-staged@^16.2.7
  • prettier@^3.7.4

transport_posture 1

  • network-listening, binds all interfaces, no auth detected agentic-web-labs-agentic-web-labs-e5e6db7/packages/mcp/npm-advisor-mcp/src/lib/tests/parseCliArgs.test.ts :46 host: "0.0.0.0",