/* tslint:disable */ /* eslint-disable */ /* auto-generated by NAPI-RS */ /** Get the library version. */ export declare function version(): string /** Module initialization message. */ export declare function init(): string /** * Graph Transformer with proof-gated operations for Node.js. * * Provides sublinear attention over graph structures, physics-informed * layers (Hamiltonian dynamics), biologically-inspired learning (spiking * networks, Hebbian plasticity), and verified training with proof receipts. * * # Example * ```javascript * const { GraphTransformer } = require('ruvector-graph-transformer-node'); * const gt = new GraphTransformer(); * console.log(gt.version()); * ``` */ export declare class GraphTransformer { /** * Create a new Graph Transformer instance. * * # Arguments * * `config` - Optional JSON configuration (reserved for future use) * * # Example * ```javascript * const gt = new GraphTransformer(); * const gt2 = new GraphTransformer({ maxFuel: 10000 }); * ``` */ constructor(config?: any | undefined | null) /** * Get the library version string. * * # Example * ```javascript * console.log(gt.version()); // "2.0.4" * ``` */ version(): string /** * Create a proof gate for a given dimension. * * Returns a JSON object describing the gate (id, dimension, verified). * * # Arguments * * `dim` - The dimension to gate on * * # Example * ```javascript * const gate = gt.createProofGate(128); * console.log(gate.dimension); // 128 * ``` */ createProofGate(dim: number): any /** * Prove that two dimensions are equal. * * Returns a proof result with proof_id, expected, actual, and verified fields. * * # Arguments * * `expected` - The expected dimension * * `actual` - The actual dimension * * # Example * ```javascript * const proof = gt.proveDimension(128, 128); * console.log(proof.verified); // true * ``` */ proveDimension(expected: number, actual: number): any /** * Create a proof attestation (serializable receipt) for a given proof ID. * * Returns the attestation as a byte buffer (82 bytes) that can be * embedded in RVF WITNESS_SEG entries. * * # Arguments * * `proof_id` - The proof term ID to create an attestation for * * # Example * ```javascript * const proof = gt.proveDimension(64, 64); * const attestation = gt.createAttestation(proof.proof_id); * console.log(attestation.length); // 82 * ``` */ createAttestation(proofId: number): Array /** * Compose a chain of pipeline stages, verifying type compatibility. * * Each stage must have `name`, `input_type_id`, and `output_type_id`. * Returns a composed proof with the overall input/output types and * the number of stages verified. * * # Arguments * * `stages` - Array of stage descriptors as JSON objects * * # Example * ```javascript * const composed = gt.composeProofs([ * { name: 'embed', input_type_id: 1, output_type_id: 2 }, * { name: 'align', input_type_id: 2, output_type_id: 3 }, * ]); * console.log(composed.chain_name); // "embed >> align" * ``` */ composeProofs(stages: Array): any /** * Verify an attestation from its byte representation. * * Returns `true` if the attestation is structurally valid. * * # Arguments * * `bytes` - The attestation bytes (82 bytes minimum) * * # Example * ```javascript * const valid = gt.verifyAttestation(attestationBytes); * ``` */ verifyAttestation(bytes: Array): boolean /** * Sublinear graph attention using personalized PageRank sparsification. * * Instead of attending to all N nodes (O(N*d)), uses PPR to select * the top-k most relevant nodes, achieving O(k*d) complexity. * * # Arguments * * `query` - Query vector (length must equal `dim`) * * `edges` - Adjacency list: edges[i] is the list of neighbor indices for node i * * `dim` - Dimension of the query vector * * `k` - Number of top nodes to attend to * * # Returns * JSON object with `scores`, `top_k_indices`, and `sparsity_ratio` * * # Example * ```javascript * const result = gt.sublinearAttention([1.0, 0.5], [[1, 2], [0, 2], [0, 1]], 2, 2); * console.log(result.top_k_indices); * ``` */ sublinearAttention(query: Array, edges: Array>, dim: number, k: number): any /** * Compute personalized PageRank scores from a source node. * * # Arguments * * `source` - Source node index * * `adjacency` - Adjacency list for the graph * * `alpha` - Teleport probability (typically 0.15) * * # Returns * Array of PPR scores, one per node * * # Example * ```javascript * const scores = gt.pprScores(0, [[1], [0, 2], [1]], 0.15); * ``` */ pprScores(source: number, adjacency: Array>, alpha: number): Array /** * Symplectic integrator step (leapfrog / Stormer-Verlet). * * Integrates Hamiltonian dynamics with a harmonic potential V(q) = 0.5*|q|^2, * preserving the symplectic structure (energy-conserving). * * # Arguments * * `positions` - Position coordinates * * `momenta` - Momentum coordinates (same length as positions) * * `dt` - Time step * * # Returns * JSON object with `positions`, `momenta`, and `energy` * * # Example * ```javascript * const state = gt.hamiltonianStep([1.0, 0.0], [0.0, 1.0], 0.01); * console.log(state.energy); * ``` */ hamiltonianStep(positions: Array, momenta: Array, dt: number): any /** * Hamiltonian step with graph edge interactions. * * `positions` and `momenta` are arrays of coordinates. `edges` is an * array of `{ src, tgt }` objects defining graph interactions. * * # Returns * JSON object with `positions`, `momenta`, `energy`, and `energy_conserved` * * # Example * ```javascript * const state = gt.hamiltonianStepGraph( * [1.0, 0.0], [0.0, 1.0], * [{ src: 0, tgt: 1 }], 0.01 * ); * ``` */ hamiltonianStepGraph(positions: Array, momenta: Array, edges: Array, dt: number): any /** * Spiking neural attention: event-driven sparse attention. * * Nodes emit attention only when their membrane potential exceeds * a threshold, producing sparse activation patterns. * * # Arguments * * `spikes` - Membrane potentials for each node * * `edges` - Adjacency list for the graph * * `threshold` - Firing threshold * * # Returns * Output activation vector (one value per node) * * # Example * ```javascript * const output = gt.spikingAttention([0.5, 1.5, 0.3], [[1], [0, 2], [1]], 1.0); * ``` */ spikingAttention(spikes: Array, edges: Array>, threshold: number): Array /** * Hebbian learning rule update. * * Applies the outer-product Hebbian rule: w_ij += lr * pre_i * post_j. * The weight vector is a flattened (pre.len * post.len) matrix. * * # Arguments * * `pre` - Pre-synaptic activations * * `post` - Post-synaptic activations * * `weights` - Current weight vector (flattened matrix) * * `lr` - Learning rate * * # Returns * Updated weight vector * * # Example * ```javascript * const updated = gt.hebbianUpdate([1.0, 0.0], [0.0, 1.0], [0, 0, 0, 0], 0.1); * ``` */ hebbianUpdate(pre: Array, post: Array, weights: Array, lr: number): Array /** * Spiking step over 2D node features with adjacency matrix. * * `features` is an array of arrays (n x dim). `adjacency` is a flat * row-major array (n x n). Returns `{ features, spikes, weights }`. * * # Example * ```javascript * const result = gt.spikingStep( * [[0.8, 0.6], [0.1, 0.2]], * [0, 0.5, 0.3, 0] * ); * ``` */ spikingStep(features: Array>, adjacency: Array): any /** * A single verified SGD step with proof of gradient application. * * Applies w' = w - lr * grad and returns the new weights along with * a proof receipt, loss before/after, and gradient norm. * * # Arguments * * `weights` - Current weight vector * * `gradients` - Gradient vector (same length as weights) * * `lr` - Learning rate * * # Returns * JSON object with `weights`, `proof_id`, `loss_before`, `loss_after`, `gradient_norm` * * # Example * ```javascript * const result = gt.verifiedStep([1.0, 2.0], [0.1, 0.2], 0.01); * console.log(result.loss_after < result.loss_before); // true * ``` */ verifiedStep(weights: Array, gradients: Array, lr: number): any /** * Verified training step with features, targets, and weights. * * Computes MSE loss, applies SGD, and produces a training certificate. * * # Arguments * * `features` - Input feature vector * * `targets` - Target values * * `weights` - Current weight vector * * # Returns * JSON object with `weights`, `certificate_id`, `loss`, * `loss_monotonic`, `lipschitz_satisfied` * * # Example * ```javascript * const result = gt.verifiedTrainingStep([1.0, 2.0], [0.5, 1.0], [0.5, 0.5]); * ``` */ verifiedTrainingStep(features: Array, targets: Array, weights: Array): any /** * Product manifold distance (mixed curvature spaces). * * Splits vectors into sub-spaces according to the curvatures array: * - curvature > 0: spherical distance * - curvature < 0: hyperbolic distance * - curvature == 0: Euclidean distance * * # Arguments * * `a` - First point * * `b` - Second point (same length as `a`) * * `curvatures` - Curvature for each sub-space * * # Returns * The product manifold distance as a number * * # Example * ```javascript * const d = gt.productManifoldDistance([1, 0, 0, 1], [0, 1, 1, 0], [0.0, -1.0]); * ``` */ productManifoldDistance(a: Array, b: Array, curvatures: Array): number /** * Product manifold attention with mixed curvatures. * * Computes attention in a product of spherical, hyperbolic, and * Euclidean subspaces, combining the results. * * # Arguments * * `features` - Input feature vector * * `edges` - Array of `{ src, tgt }` objects * * # Returns * JSON object with `output`, `curvatures`, `distances` * * # Example * ```javascript * const result = gt.productManifoldAttention( * [1.0, 0.5, -0.3, 0.8], * [{ src: 0, tgt: 1 }] * ); * ``` */ productManifoldAttention(features: Array, edges: Array): any /** * Causal attention with temporal ordering. * * Attention scores are masked so that a key at time t_j can only * attend to queries at time t_i <= t_j (no information leakage * from the future). * * # Arguments * * `query` - Query vector * * `keys` - Array of key vectors * * `timestamps` - Timestamp for each key (same length as keys) * * # Returns * Softmax attention weights (one per key, sums to 1.0) * * # Example * ```javascript * const scores = gt.causalAttention( * [1.0, 0.0], * [[1.0, 0.0], [0.0, 1.0], [0.5, 0.5]], * [1.0, 2.0, 3.0] * ); * ``` */ causalAttention(query: Array, keys: Array>, timestamps: Array): Array /** * Causal attention over features, timestamps, and graph edges. * * Returns attention-weighted output features where each node can * only attend to neighbors with earlier or equal timestamps. * * # Arguments * * `features` - Feature value for each node * * `timestamps` - Timestamp for each node * * `edges` - Array of `{ src, tgt }` objects * * # Returns * Array of attention-weighted output values * * # Example * ```javascript * const output = gt.causalAttentionGraph( * [1.0, 0.5, 0.8], * [1.0, 2.0, 3.0], * [{ src: 0, tgt: 1 }, { src: 1, tgt: 2 }] * ); * ``` */ causalAttentionGraph(features: Array, timestamps: Array, edges: Array): Array /** * Extract Granger causality DAG from attention history. * * Tests pairwise Granger causality between all nodes and returns * edges where the F-statistic exceeds the significance threshold. * * # Arguments * * `attention_history` - Flat array (T x N, row-major) * * `num_nodes` - Number of nodes N * * `num_steps` - Number of time steps T * * # Returns * JSON object with `edges` and `num_nodes` * * # Example * ```javascript * const dag = gt.grangerExtract(flatHistory, 3, 20); * console.log(dag.edges); // [{ source, target, f_statistic, is_causal }] * ``` */ grangerExtract(attentionHistory: Array, numNodes: number, numSteps: number): any /** * Game-theoretic attention: computes Nash equilibrium allocations. * * Each node is a player with features as utility parameters. Edges * define strategic interactions. Uses best-response iteration to * converge to Nash equilibrium. * * # Arguments * * `features` - Feature/utility value for each node * * `edges` - Array of `{ src, tgt }` objects * * # Returns * JSON object with `allocations`, `utilities`, `nash_gap`, `converged` * * # Example * ```javascript * const result = gt.gameTheoreticAttention( * [1.0, 0.5, 0.8], * [{ src: 0, tgt: 1 }, { src: 1, tgt: 2 }] * ); * console.log(result.converged); // true * ``` */ gameTheoreticAttention(features: Array, edges: Array): any /** * Get aggregate statistics as a JSON object. * * # Example * ```javascript * const stats = gt.stats(); * console.log(stats.proofs_verified); * ``` */ stats(): any /** * Reset all internal state (caches, counters, gates). * * # Example * ```javascript * gt.reset(); * ``` */ reset(): void }