@entros/pulse-sdk 3.1.0 → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -3,7 +3,7 @@
3
3
  [![npm version](https://img.shields.io/npm/v/@entros/pulse-sdk.svg)](https://www.npmjs.com/package/@entros/pulse-sdk)
4
4
  [![npm downloads](https://img.shields.io/npm/dm/@entros/pulse-sdk.svg)](https://www.npmjs.com/package/@entros/pulse-sdk)
5
5
 
6
- Client-side SDK for the Entros Protocol. Captures behavioral biometrics (voice, motion, touch), extracts a 308-dimensional statistical feature vector (v3 expansion: MFCCs with pre-emphasis (C1-C12, MFCC[0] dropped), LPC coefficients, formant trajectories, voice quality, pitch contour shape, IMU FFT-band tremor, cross-axis covariance, mouse-derived FFT / autocorrelation analogues for desktop, touch curvature, gap distribution, path efficiency — see `docs/master/BLUEPRINT-feature-pipeline-v2.md`), generates a Groth16 zero-knowledge proof, and submits for on-chain verification on Solana. Raw biometric data stays on-device — only derived features and the proof are transmitted.
6
+ Client-side SDK for the Entros Protocol. Captures behavioral biometrics (voice, motion, touch), extracts a 308-dimensional statistical feature vector (v3 expansion: MFCCs with pre-emphasis (C1-C12, MFCC[0] dropped), LPC coefficients, formant trajectories, voice quality, pitch contour shape, IMU FFT-band tremor, cross-axis covariance, mouse-derived FFT / autocorrelation analogues for desktop, touch curvature, gap distribution, path efficiency — see `docs/master/BLUEPRINT-feature-pipeline-v2.md`), generates a Groth16 zero-knowledge proof, and submits for on-chain verification on Solana. Raw biometric data never persists — only derived features and the proof are retained.
7
7
 
8
8
  > **Looking for a drop-in?** Most integrators want [`@entros/verify`](https://github.com/entros-protocol/entros-verify) — a popup-pattern React component that wraps this SDK and ships verification in five lines of JSX. Use this package directly when you need to own the verification UX (custom capture canvas, branded loading states, mobile-native).
9
9
 
package/dist/index.d.mts CHANGED
@@ -316,23 +316,6 @@ interface FeatureVector {
316
316
  /** Concatenated feature vector for SimHash input */
317
317
  type FusedFeatureVector = number[];
318
318
 
319
- declare function mean(values: number[]): number;
320
- declare function variance(values: number[], mu?: number): number;
321
- declare function skewness(values: number[]): number;
322
- declare function kurtosis(values: number[]): number;
323
- declare function condense(values: number[]): StatsSummary;
324
- /**
325
- * Shannon entropy over histogram bins. Measures information density.
326
- * Real human data has moderate entropy (varied but structured).
327
- * Synthetic data is either too uniform (high entropy) or too structured (low entropy).
328
- */
329
- declare function entropy(values: number[], bins?: number): number;
330
- /**
331
- * Autocorrelation at a given lag. Detects periodic synthetic patterns.
332
- * Real human data has low autocorrelation at most lags (chaotic/noisy).
333
- * Synthetic data often has high autocorrelation (periodic/smooth).
334
- */
335
- declare function autocorrelation(values: number[], lag?: number): number;
336
319
  /**
337
320
  * Concatenate raw features without normalization.
338
321
  * Used for server-side validation where physical units matter.
@@ -787,4 +770,4 @@ declare function fetchChallenge(executorUrl: string, walletAddress: string, apiK
787
770
  */
788
771
  declare function encodeAudioAsBase64(samples: Float32Array): string;
789
772
 
790
- export { type AgentHumanOperator, type AudioCapture, type CaptureOptions, type CaptureStage, type ChallengeResponse, type CircuitInput, DEFAULT_CAPTURE_MS, DEFAULT_MIN_DISTANCE, DEFAULT_THRESHOLD, type EntrosAttestation, FINGERPRINT_BITS, type FeatureVector, type FusedFeatureVector, type IdentityState, type LissajousParams, MAX_CAPTURE_MS, MIN_AUDIO_SAMPLES, MIN_CAPTURE_MS, MIN_MOTION_SAMPLES, MIN_TOUCH_SAMPLES, MOTION_FEATURE_COUNT, type MotionSample, PROGRAM_IDS, type PackedFingerprint, type Point2D, type ProofResult, type PulseConfig, PulseSDK, PulseSession, SPEAKER_FEATURE_COUNT, type SensorData, type SolanaProof, type StageState, type StatsSummary, type StoredVerificationData, type SubmissionResult, type TBH, TOUCH_FEATURE_COUNT, type TemporalFingerprint, type TouchSample, type VerificationResult, attestAgentOperator, autocorrelation, bigintToBytes32, computeCommitment, condense, encodeAudioAsBase64, entropy, extractAccelerationMagnitude, extractMotionFeatures, extractMouseDynamics, extractSpeakerFeatures, extractSpeakerFeaturesDetailed, extractTouchFeatures, fetchChallenge, fetchIdentityState, fuseFeatures, fuseRawFeatures, generateLissajousPoints, generateLissajousSequence, generatePhrase, generatePhraseSequence, generateProof, generateSalt, generateSolanaProof, generateTBH, getAgentHumanOperator, hammingDistance, kurtosis, loadVerificationData, mean, packBits, prepareCircuitInput, randomLissajousParams, serializeProof, simhash, skewness, storeVerificationData, submitResetViaWallet, submitViaRelayer, submitViaWallet, toBigEndian32, variance, verifyEntrosAttestation };
773
+ export { type AgentHumanOperator, type AudioCapture, type CaptureOptions, type CaptureStage, type ChallengeResponse, type CircuitInput, DEFAULT_CAPTURE_MS, DEFAULT_MIN_DISTANCE, DEFAULT_THRESHOLD, type EntrosAttestation, FINGERPRINT_BITS, type FeatureVector, type FusedFeatureVector, type IdentityState, type LissajousParams, MAX_CAPTURE_MS, MIN_AUDIO_SAMPLES, MIN_CAPTURE_MS, MIN_MOTION_SAMPLES, MIN_TOUCH_SAMPLES, MOTION_FEATURE_COUNT, type MotionSample, PROGRAM_IDS, type PackedFingerprint, type Point2D, type ProofResult, type PulseConfig, PulseSDK, PulseSession, SPEAKER_FEATURE_COUNT, type SensorData, type SolanaProof, type StageState, type StatsSummary, type StoredVerificationData, type SubmissionResult, type TBH, TOUCH_FEATURE_COUNT, type TemporalFingerprint, type TouchSample, type VerificationResult, attestAgentOperator, bigintToBytes32, computeCommitment, encodeAudioAsBase64, extractAccelerationMagnitude, extractMotionFeatures, extractMouseDynamics, extractSpeakerFeatures, extractSpeakerFeaturesDetailed, extractTouchFeatures, fetchChallenge, fetchIdentityState, fuseFeatures, fuseRawFeatures, generateLissajousPoints, generateLissajousSequence, generatePhrase, generatePhraseSequence, generateProof, generateSalt, generateSolanaProof, generateTBH, getAgentHumanOperator, hammingDistance, loadVerificationData, packBits, prepareCircuitInput, randomLissajousParams, serializeProof, simhash, storeVerificationData, submitResetViaWallet, submitViaRelayer, submitViaWallet, toBigEndian32, verifyEntrosAttestation };
package/dist/index.d.ts CHANGED
@@ -316,23 +316,6 @@ interface FeatureVector {
316
316
  /** Concatenated feature vector for SimHash input */
317
317
  type FusedFeatureVector = number[];
318
318
 
319
- declare function mean(values: number[]): number;
320
- declare function variance(values: number[], mu?: number): number;
321
- declare function skewness(values: number[]): number;
322
- declare function kurtosis(values: number[]): number;
323
- declare function condense(values: number[]): StatsSummary;
324
- /**
325
- * Shannon entropy over histogram bins. Measures information density.
326
- * Real human data has moderate entropy (varied but structured).
327
- * Synthetic data is either too uniform (high entropy) or too structured (low entropy).
328
- */
329
- declare function entropy(values: number[], bins?: number): number;
330
- /**
331
- * Autocorrelation at a given lag. Detects periodic synthetic patterns.
332
- * Real human data has low autocorrelation at most lags (chaotic/noisy).
333
- * Synthetic data often has high autocorrelation (periodic/smooth).
334
- */
335
- declare function autocorrelation(values: number[], lag?: number): number;
336
319
  /**
337
320
  * Concatenate raw features without normalization.
338
321
  * Used for server-side validation where physical units matter.
@@ -787,4 +770,4 @@ declare function fetchChallenge(executorUrl: string, walletAddress: string, apiK
787
770
  */
788
771
  declare function encodeAudioAsBase64(samples: Float32Array): string;
789
772
 
790
- export { type AgentHumanOperator, type AudioCapture, type CaptureOptions, type CaptureStage, type ChallengeResponse, type CircuitInput, DEFAULT_CAPTURE_MS, DEFAULT_MIN_DISTANCE, DEFAULT_THRESHOLD, type EntrosAttestation, FINGERPRINT_BITS, type FeatureVector, type FusedFeatureVector, type IdentityState, type LissajousParams, MAX_CAPTURE_MS, MIN_AUDIO_SAMPLES, MIN_CAPTURE_MS, MIN_MOTION_SAMPLES, MIN_TOUCH_SAMPLES, MOTION_FEATURE_COUNT, type MotionSample, PROGRAM_IDS, type PackedFingerprint, type Point2D, type ProofResult, type PulseConfig, PulseSDK, PulseSession, SPEAKER_FEATURE_COUNT, type SensorData, type SolanaProof, type StageState, type StatsSummary, type StoredVerificationData, type SubmissionResult, type TBH, TOUCH_FEATURE_COUNT, type TemporalFingerprint, type TouchSample, type VerificationResult, attestAgentOperator, autocorrelation, bigintToBytes32, computeCommitment, condense, encodeAudioAsBase64, entropy, extractAccelerationMagnitude, extractMotionFeatures, extractMouseDynamics, extractSpeakerFeatures, extractSpeakerFeaturesDetailed, extractTouchFeatures, fetchChallenge, fetchIdentityState, fuseFeatures, fuseRawFeatures, generateLissajousPoints, generateLissajousSequence, generatePhrase, generatePhraseSequence, generateProof, generateSalt, generateSolanaProof, generateTBH, getAgentHumanOperator, hammingDistance, kurtosis, loadVerificationData, mean, packBits, prepareCircuitInput, randomLissajousParams, serializeProof, simhash, skewness, storeVerificationData, submitResetViaWallet, submitViaRelayer, submitViaWallet, toBigEndian32, variance, verifyEntrosAttestation };
773
+ export { type AgentHumanOperator, type AudioCapture, type CaptureOptions, type CaptureStage, type ChallengeResponse, type CircuitInput, DEFAULT_CAPTURE_MS, DEFAULT_MIN_DISTANCE, DEFAULT_THRESHOLD, type EntrosAttestation, FINGERPRINT_BITS, type FeatureVector, type FusedFeatureVector, type IdentityState, type LissajousParams, MAX_CAPTURE_MS, MIN_AUDIO_SAMPLES, MIN_CAPTURE_MS, MIN_MOTION_SAMPLES, MIN_TOUCH_SAMPLES, MOTION_FEATURE_COUNT, type MotionSample, PROGRAM_IDS, type PackedFingerprint, type Point2D, type ProofResult, type PulseConfig, PulseSDK, PulseSession, SPEAKER_FEATURE_COUNT, type SensorData, type SolanaProof, type StageState, type StatsSummary, type StoredVerificationData, type SubmissionResult, type TBH, TOUCH_FEATURE_COUNT, type TemporalFingerprint, type TouchSample, type VerificationResult, attestAgentOperator, bigintToBytes32, computeCommitment, encodeAudioAsBase64, extractAccelerationMagnitude, extractMotionFeatures, extractMouseDynamics, extractSpeakerFeatures, extractSpeakerFeaturesDetailed, extractTouchFeatures, fetchChallenge, fetchIdentityState, fuseFeatures, fuseRawFeatures, generateLissajousPoints, generateLissajousSequence, generatePhrase, generatePhraseSequence, generateProof, generateSalt, generateSolanaProof, generateTBH, getAgentHumanOperator, hammingDistance, loadVerificationData, packBits, prepareCircuitInput, randomLissajousParams, serializeProof, simhash, storeVerificationData, submitResetViaWallet, submitViaRelayer, submitViaWallet, toBigEndian32, verifyEntrosAttestation };
package/dist/index.js CHANGED
@@ -46,12 +46,9 @@ __export(index_exports, {
46
46
  SPEAKER_FEATURE_COUNT: () => SPEAKER_FEATURE_COUNT,
47
47
  TOUCH_FEATURE_COUNT: () => TOUCH_FEATURE_COUNT,
48
48
  attestAgentOperator: () => attestAgentOperator,
49
- autocorrelation: () => autocorrelation,
50
49
  bigintToBytes32: () => bigintToBytes32,
51
50
  computeCommitment: () => computeCommitment,
52
- condense: () => condense,
53
51
  encodeAudioAsBase64: () => encodeAudioAsBase64,
54
- entropy: () => entropy,
55
52
  extractAccelerationMagnitude: () => extractAccelerationMagnitude,
56
53
  extractMotionFeatures: () => extractMotionFeatures,
57
54
  extractMouseDynamics: () => extractMouseDynamics,
@@ -72,21 +69,17 @@ __export(index_exports, {
72
69
  generateTBH: () => generateTBH,
73
70
  getAgentHumanOperator: () => getAgentHumanOperator,
74
71
  hammingDistance: () => hammingDistance,
75
- kurtosis: () => kurtosis,
76
72
  loadVerificationData: () => loadVerificationData,
77
- mean: () => mean,
78
73
  packBits: () => packBits,
79
74
  prepareCircuitInput: () => prepareCircuitInput,
80
75
  randomLissajousParams: () => randomLissajousParams,
81
76
  serializeProof: () => serializeProof,
82
77
  simhash: () => simhash,
83
- skewness: () => skewness,
84
78
  storeVerificationData: () => storeVerificationData,
85
79
  submitResetViaWallet: () => submitResetViaWallet,
86
80
  submitViaRelayer: () => submitViaRelayer,
87
81
  submitViaWallet: () => submitViaWallet,
88
82
  toBigEndian32: () => toBigEndian32,
89
- variance: () => variance,
90
83
  verifyEntrosAttestation: () => verifyEntrosAttestation
91
84
  });
92
85
  module.exports = __toCommonJS(index_exports);
@@ -6442,12 +6435,9 @@ async function fetchChallenge(executorUrl, walletAddress, apiKey) {
6442
6435
  SPEAKER_FEATURE_COUNT,
6443
6436
  TOUCH_FEATURE_COUNT,
6444
6437
  attestAgentOperator,
6445
- autocorrelation,
6446
6438
  bigintToBytes32,
6447
6439
  computeCommitment,
6448
- condense,
6449
6440
  encodeAudioAsBase64,
6450
- entropy,
6451
6441
  extractAccelerationMagnitude,
6452
6442
  extractMotionFeatures,
6453
6443
  extractMouseDynamics,
@@ -6468,21 +6458,17 @@ async function fetchChallenge(executorUrl, walletAddress, apiKey) {
6468
6458
  generateTBH,
6469
6459
  getAgentHumanOperator,
6470
6460
  hammingDistance,
6471
- kurtosis,
6472
6461
  loadVerificationData,
6473
- mean,
6474
6462
  packBits,
6475
6463
  prepareCircuitInput,
6476
6464
  randomLissajousParams,
6477
6465
  serializeProof,
6478
6466
  simhash,
6479
- skewness,
6480
6467
  storeVerificationData,
6481
6468
  submitResetViaWallet,
6482
6469
  submitViaRelayer,
6483
6470
  submitViaWallet,
6484
6471
  toBigEndian32,
6485
- variance,
6486
6472
  verifyEntrosAttestation
6487
6473
  });
6488
6474
  //# sourceMappingURL=index.js.map