{"_id":"@agentix-e/anomaly-detector-web","_rev":"2-b5e5c80e84dd06cd8ec0248cee3e610a","name":"@agentix-e/anomaly-detector-web","dist-tags":{"latest":"1.0.0"},"versions":{"0.0.0":{"name":"@agentix-e/anomaly-detector-web","version":"0.0.0","keywords":["oidc","trusted-publishing","setup"],"_id":"@agentix-e/anomaly-detector-web@0.0.0","maintainers":[{"name":"lambertyan","email":"853901691@qq.com"}],"dist":{"shasum":"e7786a74cdaacff43cfdc17d0813e25df680a270","tarball":"https://registry.npmjs.org/@agentix-e/anomaly-detector-web/-/anomaly-detector-web-0.0.0.tgz","fileCount":2,"integrity":"sha512-/Srv963zC5JwOGHklHsrLFzAhZayyhJ+BJQ8aB/iPU7tqEc5PgzPQopTdGlZw92N2D+hHSqyfnbrcHAmApt/6A==","signatures":[{"sig":"MEUCIGKRNjjEVJicIoga8aojaHuTgMYygNXWxpcn89Sr4i4cAiEAuQs3XAP7HpwA5wnS09xCEPqClBCdUuFTiENAfs/yw44=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2087},"_npmUser":{"name":"lambertyan","email":"853901691@qq.com"},"_npmVersion":"11.9.0","description":"OIDC trusted publishing setup package for @agentix-e/anomaly-detector-web","directories":{},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/anomaly-detector-web_0.0.0_1784462216856_0.13608674060822112","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@agentix-e/anomaly-detector-web","version":"1.0.0","description":"Browser entry for anomaly-detector — adds TimesFM foundation-model forecasting via ONNX Runtime Web. TimesFM is opt-in — install @agentix-e/timesfm-web separately.","keywords":["time-series","anomaly-detection","forecasting","timesfm","onnx","wasm","webgpu","aiops","typescript","agentix-e","browser"],"license":"MIT","author":{"name":"AgentiX-E"},"repository":{"type":"git","url":"git+https://github.com/AgentiX-E/anomaly-detector.git","directory":"packages/anomaly-detector-web"},"type":"module","main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"build":"tsup src/index.ts --format esm,cjs --dts --clean","dev":"tsup src/index.ts --format esm,cjs --dts --watch","test":"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage","test:browser":"vitest run --config vitest.browser.config.ts","lint":"eslint src/ --ext .ts","typecheck":"tsc --noEmit","clean":"rm -rf dist coverage"},"dependencies":{"@agentix-e/anomaly-detector-core":"workspace:*"},"devDependencies":{"@playwright/test":"^1.50.0","@types/node":"^22.0.0","@vitest/browser":"^3.0.0","@vitest/coverage-v8":"^3.0.0","eslint":"^9.0.0","tsup":"^8.0.0","typescript":"^5.7.0","vitest":"^3.0.0"},"publishConfig":{"access":"public","provenance":true},"optionalDependencies":{"@agentix-e/timesfm-web":"1.0.0"},"engines":{"node":">=22.0.0"},"gitHead":"17ffce3a04487626a746c97cfde9fad4d96c6604","_id":"@agentix-e/anomaly-detector-web@1.0.0","bugs":{"url":"https://github.com/AgentiX-E/anomaly-detector/issues"},"homepage":"https://github.com/AgentiX-E/anomaly-detector#readme","_nodeVersion":"24.18.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-+mRbPhNJsps0D2Al2q0YVSGvFvPLGtwbxNSMAQCWZiRdDNvPAz8TFI5LwSbxT0r7Nhi42rKRjaxEomGUE1TCog==","shasum":"0ae7575d5820cc7486327788b3facd6399c77203","tarball":"https://registry.npmjs.org/@agentix-e/anomaly-detector-web/-/anomaly-detector-web-1.0.0.tgz","fileCount":6,"unpackedSize":15631,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agentix-e%2fanomaly-detector-web@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIAQJJ9oaE5ECD0n6uQxWEsEaQtxnjz6AQS4Odx1gQdmzAiAHPEJotiZYT7qu2qQtTm5BI12JlTPvyKIW9XdqbeIo9w=="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:98a74e4b-c694-42da-b647-453907c09939"}},"directories":{},"maintainers":[{"name":"lambertyan","email":"853901691@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/anomaly-detector-web_1.0.0_1784477284962_0.9790572604514451"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-19T11:56:56.698Z","modified":"2026-07-19T16:08:05.414Z","0.0.0":"2026-07-19T11:56:56.996Z","1.0.0":"2026-07-19T16:08:05.099Z"},"keywords":["time-series","anomaly-detection","forecasting","timesfm","onnx","wasm","webgpu","aiops","typescript","agentix-e","browser"],"description":"Browser entry for anomaly-detector — adds TimesFM foundation-model forecasting via ONNX Runtime Web. TimesFM is opt-in — install @agentix-e/timesfm-web separately.","maintainers":[{"name":"lambertyan","email":"853901691@qq.com"}],"readme":"# @agentix-e/anomaly-detector-web\n\n> Browser entry for anomaly-detector — adds TimesFM foundation-model forecasting via ONNX Runtime Web. TimesFM is opt-in — install `@agentix-e/timesfm-web` separately.\n\n[![npm](https://img.shields.io/npm/v/@agentix-e/anomaly-detector-web?color=orange)](https://www.npmjs.com/package/@agentix-e/anomaly-detector-web)\n[![CI](https://github.com/AgentiX-E/anomaly-detector/actions/workflows/ci.yml/badge.svg)](https://github.com/AgentiX-E/anomaly-detector/actions/workflows/ci.yml)\n[![Coverage](https://img.shields.io/badge/coverage-report-blue)](https://agentix-e.github.io/anomaly-detector/coverage/)\n[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/AgentiX-E/anomaly-detector/blob/master/LICENSE)\n\n## Overview\n\n`@agentix-e/anomaly-detector-web` is the browser platform entry for the\nanomaly-detector ecosystem. It re-exports core types and adds optional\nTimesFM Web support — Google Research's foundation model running directly\nin the browser via ONNX Runtime Web (WebAssembly + WebGL).\n\nTimesFM is **opt-in**: the adapter uses dynamic `import()` and gracefully\nfalls back to anofox-forecast if `@agentix-e/timesfm-web` is not installed.\nThe adapter uses variable-based `import()` to prevent bundler static analysis\nand avoid tree-shaking failures.\n\n## Installation\n\n```bash\nnpm install @agentix-e/anomaly-detector-web\n```\n\nFor TimesFM Web support, install the optional dependency:\n\n```bash\nnpm install @agentix-e/timesfm-web onnxruntime-web\n```\n\n`onnxruntime-web` is a peer dependency of `@agentix-e/timesfm-web`.\n\n## Quick Start\n\n### Basic Usage (anofox-forecast via WASM — no extra deps)\n\n```ts\nimport { createWebDetector } from '@agentix-e/anomaly-detector-web'\n\nconst detector = createWebDetector()\n\nconst result = await detector.analyze(\n  { value: 95, timestamp: Date.now() },\n  [{ value: 50, timestamp: Date.now() - 60000 }]\n)\n\nconsole.log(result.jointConfidence)\n```\n\n### With TimesFM Web (opt-in)\n\n```bash\nnpm install @agentix-e/timesfm-web onnxruntime-web\n```\n\n```ts\nimport {\n  createWebDetector,\n  type TimesfmWebConfig\n} from '@agentix-e/anomaly-detector-web'\n\nconst timesfmConfig: TimesfmWebConfig = {\n  modelUrl: 'https://cdn.example.com/timesfm-2.0.onnx',\n  executionProvider: 'wasm',  // or 'webgl' for GPU acceleration\n}\n\nconst detector = createWebDetector({\n  forecaster: {\n    type: 'timesfm',\n    timesfm: timesfmConfig,\n  },\n})\n\nconst result = await detector.analyze(current, history)\n```\n\nIf TimesFM Web is requested but `@agentix-e/timesfm-web` is not installed,\nthe detector logs a warning and falls back to anofox-forecast.\n\n### Direct TimesFM Adapter Usage\n\n```ts\nimport { TimesfmWebAdapter } from '@agentix-e/anomaly-detector-web'\nimport { createDetector } from '@agentix-e/anomaly-detector-web'\n\nconst adapter = new TimesfmWebAdapter({\n  modelUrl: 'https://cdn.example.com/timesfm-2.0.onnx',\n})\n\nconst detector = createDetector({\n  _customForecaster: adapter,\n})\n```\n\n## API Documentation\n\n📚 **All core types and functions are re-exported from `@agentix-e/anomaly-detector-core`**.\nSee the [core README](../anomaly-detector-core/README.md) for the full API reference.\n\n### Key Exports\n\n| Export | Kind | Description |\n|--------|------|-------------|\n| `createWebDetector(config?)` | function | Creates a detector with TimesFM Web support (opt-in, graceful fallback) |\n| `TimesfmWebAdapter` | class | Browser TimesFM adapter — wraps `@agentix-e/timesfm-web` via onnxruntime-web |\n| `TimesfmWebConfig` | type | Configuration for TimesFM Web (modelUrl, executionProvider) |\n| `createDetector` | function | Re-exported from core — zero-config shortcut |\n| `IAnomalyDetector` | interface | Detector interface (re-exported) |\n| `DetectorConfig` | type | Full configuration type (re-exported) |\n\n## License\n\nMIT\n","readmeFilename":"README.md","homepage":"https://github.com/AgentiX-E/anomaly-detector#readme","repository":{"type":"git","url":"git+https://github.com/AgentiX-E/anomaly-detector.git","directory":"packages/anomaly-detector-web"},"author":{"name":"AgentiX-E"},"bugs":{"url":"https://github.com/AgentiX-E/anomaly-detector/issues"},"license":"MIT"}