Files
ruvnet__ruflo/v3/@claude-flow/watermark/web/index.d.ts
T
rUv fa13ee4ad6 feat(watermark): add browser/Deno ESM entry (@claude-flow/watermark 0.2.0) (#3041)
Adds a `@claude-flow/watermark/web` ESM entry (wasm-pack `--target web`) so the
package works in browsers, Deno, and bundlers — not just Node. Instantiate once
with `await init()` (auto-fetches the wasm in a browser; accepts bytes/URL/
Response), then the same ergonomic API (Watermarker, detect, detectSelfSync,
detectExact) as the Node build.

- package.json: conditional exports (`.` = Node CJS/ESM, `./web` = browser ESM,
  `./package.json` re-exported); web/ marked ESM via a nested package.json.
- build:wasm now builds both nodejs and web targets.
- Added test/smoke-web.mjs; `npm test` runs Node + web. Both verified, plus a
  fresh dual-entry tarball install (node z=64.7, web z=64.7).

Bumps to 0.2.0 (new capability, backward-compatible). No removal tooling.


Claude-Session: https://claude.ai/code/session_01VYDa3Hah5VJLS2ceEuTLKz
2026-08-15 19:18:24 -04:00

26 lines
1.1 KiB
TypeScript

// Types for @claude-flow/watermark/web (browser / Deno / bundler entry).
import type { Detection, Scheme, WatermarkerOptions, SelfSyncOptions } from '../index.d.ts';
export type { Detection, Scheme, WatermarkerOptions, SelfSyncOptions };
/** WASM init input: fetched URL/Response, raw bytes, or a compiled module. */
export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module;
/** Instantiate the WASM module. Await once before any other call. */
export function init(input?: InitInput | Promise<InitInput>): Promise<void>;
/** True once `init()` has completed. */
export function isReady(): boolean;
export class Watermarker {
constructor(opts: WatermarkerOptions);
step(tokens: Uint32Array | number[], probs: Float32Array | number[]): number;
free(): void;
}
export function detect(tokens: Uint32Array | number[], opts: WatermarkerOptions): Detection;
export function detectSelfSync(tokens: Uint32Array | number[], opts: SelfSyncOptions): Detection;
export function detectExact(tokens: Uint32Array | number[], opts: SelfSyncOptions): Detection;
export const SCHEMES: ReadonlySet<Scheme>;