@passiveintent/core 1.0.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.
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Copyright (c) 2026 Purushottam <purushottam@passiveintent.dev>
3
+ *
4
+ * This source code is licensed under the AGPL-3.0-only license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import type { PerformanceReport } from './performance-instrumentation.js';
8
+ export interface SimulationConfig {
9
+ sessions: number;
10
+ transitionsPerSession: number;
11
+ stateSpaceSize: number;
12
+ entropyControl: number;
13
+ mode: 'baseline' | 'noisy' | 'adversarial' | 'random';
14
+ anomalySessionRate?: number;
15
+ seed?: number;
16
+ }
17
+ export interface DeterministicScenarioConfig {
18
+ seed: number;
19
+ sessions: number;
20
+ transitionsPerSession: number;
21
+ mode: 'baseline' | 'noisy' | 'adversarial' | 'random';
22
+ }
23
+ export interface SessionReplay {
24
+ stateSequence: string[];
25
+ entropyValues: number[];
26
+ divergenceValues: number[];
27
+ }
28
+ export interface ScenarioReplaySummary {
29
+ seed: number;
30
+ mode: DeterministicScenarioConfig['mode'];
31
+ sessions: number;
32
+ transitionsPerSession: number;
33
+ sessionReplays: SessionReplay[];
34
+ evaluation: EvaluationSummary;
35
+ }
36
+ export interface EvaluationSummary {
37
+ accuracy: number;
38
+ precision: number;
39
+ recall: number;
40
+ f1: number;
41
+ avgDetectionLatency: number;
42
+ avgHesitationAtTrigger: number;
43
+ entropyTriggerRate: number;
44
+ divergenceTriggerRate: number;
45
+ truePositiveRate: number;
46
+ falsePositiveRate: number;
47
+ }
48
+ export interface SimulationSummary {
49
+ totalTransitions: number;
50
+ cpuMsPer10kTransitions: number;
51
+ memoryGrowthBytes: number;
52
+ entropyTriggerRate: number;
53
+ divergenceTriggerRate: number;
54
+ evaluation: EvaluationSummary;
55
+ performanceReport: PerformanceReport;
56
+ }
57
+ interface SessionResult {
58
+ isGroundTruthHesitation: boolean;
59
+ entropyTriggered: boolean;
60
+ divergenceTriggered: boolean;
61
+ detectionLatency: number | null;
62
+ hesitationAtTrigger: number | null;
63
+ }
64
+ export declare function evaluatePredictionMatrix(results: SessionResult[]): EvaluationSummary;
65
+ export declare class BenchmarkSimulationEngine {
66
+ run(config: SimulationConfig): SimulationSummary;
67
+ simulateScenario(config: DeterministicScenarioConfig): ScenarioReplaySummary;
68
+ private runWithReplay;
69
+ }
70
+ export {};
71
+ //# sourceMappingURL=intent-sdk-performance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intent-sdk-performance.d.ts","sourceRoot":"","sources":["../src/intent-sdk-performance.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAQ1E,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,UAAU,GAAG,OAAO,GAAG,aAAa,GAAG,QAAQ,CAAC;IACtD,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,IAAI,EAAE,UAAU,GAAG,OAAO,GAAG,aAAa,GAAG,QAAQ,CAAC;CACvD;AAED,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,2BAA2B,CAAC,MAAM,CAAC,CAAC;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,cAAc,EAAE,aAAa,EAAE,CAAC;IAChC,UAAU,EAAE,iBAAiB,CAAC;CAC/B;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,mBAAmB,EAAE,MAAM,CAAC;IAC5B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,iBAAiB;IAChC,gBAAgB,EAAE,MAAM,CAAC;IACzB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,UAAU,EAAE,iBAAiB,CAAC;IAC9B,iBAAiB,EAAE,iBAAiB,CAAC;CACtC;AAED,UAAU,aAAa;IACrB,uBAAuB,EAAE,OAAO,CAAC;IACjC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC;AAyID,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,iBAAiB,CA8CpF;AAED,qBAAa,yBAAyB;IACpC,GAAG,CAAC,MAAM,EAAE,gBAAgB,GAAG,iBAAiB;IAIhD,gBAAgB,CAAC,MAAM,EAAE,2BAA2B,GAAG,qBAAqB;IAyB5E,OAAO,CAAC,aAAa;CA+HtB"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Copyright (c) 2026 Purushottam <purushottam@passiveintent.dev>
3
+ *
4
+ * This source code is licensed under the AGPL-3.0-only license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ /**
8
+ * PassiveIntent
9
+ * --------------------------------------------------------
10
+ * Goals:
11
+ * - Entirely local inference (no network/data egress)
12
+ * - Tiny footprint + predictable runtime
13
+ * - Sparse + quantized storage for state transitions
14
+ */
15
+ /**
16
+ * Backward-compatible facade module.
17
+ *
18
+ * Core implementation has been split across domain modules:
19
+ * - core/bloom
20
+ * - core/markov
21
+ * - engine/intent-manager
22
+ * - types/events
23
+ * - persistence/codec
24
+ */
25
+ export { BloomFilter, computeBloomConfig } from './core/bloom.js';
26
+ export { MarkovGraph } from './core/markov.js';
27
+ export { IntentManager } from './engine/intent-manager.js';
28
+ export { BroadcastSync, MAX_STATE_LENGTH } from './sync/broadcast-sync.js';
29
+ export { normalizeRouteState } from './utils/route-normalizer.js';
30
+ export { ATTENTION_RETURN_THRESHOLD_MS, IDLE_CHECK_INTERVAL_MS, MAX_PLAUSIBLE_DWELL_MS, SMOOTHING_EPSILON, USER_IDLE_THRESHOLD_MS, } from './engine/constants.js';
31
+ export { AnomalyDispatcher } from './engine/anomaly-dispatcher.js';
32
+ export { SignalEngine } from './engine/signal-engine.js';
33
+ export { EventEmitter } from './engine/event-emitter.js';
34
+ export { DriftProtectionPolicy } from './engine/policies/drift-protection-policy.js';
35
+ export { BenchmarkRecorder } from './performance-instrumentation.js';
36
+ export type { AnomalyDispatcherConfig, AnomalyEventEmitter, DriftProtectionPolicyLike, } from './engine/anomaly-dispatcher.js';
37
+ export type { AnomalyDecision, EntropyDecision, TrajectoryDecision, DwellDecision, } from './engine/anomaly-decisions.js';
38
+ export type { SignalEngineConfig } from './engine/signal-engine.js';
39
+ export { BrowserLifecycleAdapter } from './adapters.js';
40
+ export type { IntentEventName, IntentEventMap, HighEntropyPayload, TrajectoryAnomalyPayload, DwellTimeAnomalyPayload, StateChangePayload, BotDetectedPayload, HesitationDetectedPayload, SessionStalePayload, AttentionReturnPayload, UserIdlePayload, UserResumedPayload, ExitIntentPayload, ConversionPayload, PassiveIntentTelemetry, BloomFilterConfig, MarkovGraphConfig, IntentManagerConfig, DwellTimeConfig, PassiveIntentError, } from './types/events.js';
41
+ export type { SerializedMarkovGraph } from './core/markov.js';
42
+ export type { BenchmarkConfig, MemoryFootprintReport, OperationStats, PerformanceReport, } from './performance-instrumentation.js';
43
+ export type { StorageAdapter, AsyncStorageAdapter, LifecycleAdapter } from './adapters.js';
44
+ //# sourceMappingURL=intent-sdk.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intent-sdk.d.ts","sourceRoot":"","sources":["../src/intent-sdk.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;GAOG;AAEH;;;;;;;;;GASG;AAEH,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EACL,6BAA6B,EAC7B,sBAAsB,EACtB,sBAAsB,EACtB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AACrF,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAErE,YAAY,EACV,uBAAuB,EACvB,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,gCAAgC,CAAC;AACxC,YAAY,EACV,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,aAAa,GACd,MAAM,+BAA+B,CAAC;AACvC,YAAY,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAExD,YAAY,EACV,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,wBAAwB,EACxB,uBAAuB,EACvB,kBAAkB,EAClB,kBAAkB,EAClB,yBAAyB,EACzB,mBAAmB,EACnB,sBAAsB,EACtB,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EACf,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAE9D,YAAY,EACV,eAAe,EACf,qBAAqB,EACrB,cAAc,EACd,iBAAiB,GAClB,MAAM,kCAAkC,CAAC;AAE1C,YAAY,EAAE,cAAc,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Copyright (c) 2026 Purushottam <purushottam@passiveintent.dev>
3
+ *
4
+ * This source code is licensed under the AGPL-3.0-only license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ export interface BenchmarkConfig {
8
+ enabled?: boolean;
9
+ maxSamples?: number;
10
+ }
11
+ export interface OperationStats {
12
+ count: number;
13
+ avgMs: number;
14
+ p95Ms: number;
15
+ p99Ms: number;
16
+ maxMs: number;
17
+ }
18
+ export interface MemoryFootprintReport {
19
+ stateCount: number;
20
+ totalTransitions: number;
21
+ bloomBitsetBytes: number;
22
+ serializedGraphBytes: number;
23
+ }
24
+ export interface PerformanceReport {
25
+ benchmarkEnabled: boolean;
26
+ track: OperationStats;
27
+ bloomAdd: OperationStats;
28
+ bloomCheck: OperationStats;
29
+ incrementTransition: OperationStats;
30
+ entropyComputation: OperationStats;
31
+ divergenceComputation: OperationStats;
32
+ memoryFootprint: MemoryFootprintReport;
33
+ }
34
+ type OpName = 'track' | 'bloomAdd' | 'bloomCheck' | 'incrementTransition' | 'entropyComputation' | 'divergenceComputation';
35
+ /**
36
+ * Optional performance recorder for the SDK’s internal hot-path operations.
37
+ *
38
+ * Disabled by default (`enabled: false`) — all `now()` and `record()` calls
39
+ * are no-ops when disabled, so there is zero overhead in production unless
40
+ * callers explicitly opt in via `IntentManagerConfig.benchmark.enabled: true`.
41
+ *
42
+ * Exposes p95/p99 latency and a memory-footprint snapshot via `report()`.
43
+ */
44
+ export declare class BenchmarkRecorder {
45
+ readonly enabled: boolean;
46
+ private readonly maxSamples;
47
+ private readonly stats;
48
+ constructor(config?: BenchmarkConfig);
49
+ now(): number;
50
+ record(operation: OpName, startedAt: number): void;
51
+ report(memoryFootprint: MemoryFootprintReport): PerformanceReport;
52
+ serializedSizeBytes(payload: unknown): number;
53
+ }
54
+ export {};
55
+ //# sourceMappingURL=performance-instrumentation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"performance-instrumentation.d.ts","sourceRoot":"","sources":["../src/performance-instrumentation.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,iBAAiB;IAChC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,KAAK,EAAE,cAAc,CAAC;IACtB,QAAQ,EAAE,cAAc,CAAC;IACzB,UAAU,EAAE,cAAc,CAAC;IAC3B,mBAAmB,EAAE,cAAc,CAAC;IACpC,kBAAkB,EAAE,cAAc,CAAC;IACnC,qBAAqB,EAAE,cAAc,CAAC;IACtC,eAAe,EAAE,qBAAqB,CAAC;CACxC;AA2DD,KAAK,MAAM,GACP,OAAO,GACP,UAAU,GACV,YAAY,GACZ,qBAAqB,GACrB,oBAAoB,GACpB,uBAAuB,CAAC;AAE5B;;;;;;;;GAQG;AACH,qBAAa,iBAAiB;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAuC;gBAEjD,MAAM,GAAE,eAAoB;IAaxC,GAAG,IAAI,MAAM;IAIb,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAKlD,MAAM,CAAC,eAAe,EAAE,qBAAqB,GAAG,iBAAiB;IAajE,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM;CAI9C"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Copyright (c) 2026 Purushottam <purushottam@passiveintent.dev>
3
+ *
4
+ * This source code is licensed under the AGPL-3.0-only license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import type { EvaluationSummary } from './intent-sdk-performance.js';
8
+ export interface PerfSummaryInput {
9
+ avgTrackMs: number;
10
+ p95TrackMs: number;
11
+ p99TrackMs: number;
12
+ memoryUsageEstimate: number;
13
+ serializedGraphSizeBytes: number;
14
+ }
15
+ export declare function printPerfSummary(summary: PerfSummaryInput): string;
16
+ export declare function printAccuracySummary(summary: EvaluationSummary): string;
17
+ //# sourceMappingURL=reporting-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reporting-utils.d.ts","sourceRoot":"","sources":["../src/reporting-utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAErE,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,wBAAwB,EAAE,MAAM,CAAC;CAClC;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,CAalE;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,CAcvE"}
package/package.json ADDED
@@ -0,0 +1,99 @@
1
+ {
2
+ "name": "@passiveintent/core",
3
+ "version": "1.0.0",
4
+ "description": "Privacy-first, SSR-safe intent detection engine using local Markov-chain inference and Bloom filters.",
5
+ "keywords": [
6
+ "intent",
7
+ "analytics",
8
+ "privacy",
9
+ "markov-chain",
10
+ "churn-prevention",
11
+ "zero-egress",
12
+ "gdpr",
13
+ "bloom-filter",
14
+ "edge-computing",
15
+ "behavioral-analytics"
16
+ ],
17
+ "author": "Purushottam <purushottam@passiveintent.dev> (https://github.com/purushpsm147)",
18
+ "license": "AGPL-3.0-only",
19
+ "repository": {
20
+ "type": "git",
21
+ "url": "https://github.com/passiveintent/core.git",
22
+ "directory": "packages/core"
23
+ },
24
+ "homepage": "https://github.com/passiveintent/core#readme",
25
+ "engines": {
26
+ "node": ">=20"
27
+ },
28
+ "type": "module",
29
+ "main": "./dist/index.cjs",
30
+ "module": "./dist/index.js",
31
+ "types": "./dist/index.d.ts",
32
+ "exports": {
33
+ ".": {
34
+ "import": {
35
+ "types": "./dist/index.d.ts",
36
+ "default": "./dist/index.js"
37
+ },
38
+ "require": {
39
+ "types": "./dist/index.d.ts",
40
+ "default": "./dist/index.cjs"
41
+ }
42
+ },
43
+ "./calibration": {
44
+ "import": {
45
+ "types": "./dist/calibration.d.ts",
46
+ "default": "./dist/calibration.js"
47
+ },
48
+ "require": {
49
+ "types": "./dist/calibration.d.ts",
50
+ "default": "./dist/calibration.cjs"
51
+ }
52
+ }
53
+ },
54
+ "files": [
55
+ "dist/*.js",
56
+ "dist/*.js.map",
57
+ "dist/*.cjs",
58
+ "dist/*.cjs.map",
59
+ "dist/*.d.ts",
60
+ "dist/*.d.ts.map"
61
+ ],
62
+ "sideEffects": false,
63
+ "scripts": {
64
+ "clean": "node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"",
65
+ "build": "npm run clean && npm run build:js && npm run build:types",
66
+ "build:js": "tsup",
67
+ "build:types": "tsc --project tsconfig.types.json",
68
+ "build:tsc": "tsc --project tsconfig.json --declaration --sourceMap",
69
+ "release:pack": "npm run build && npm pack",
70
+ "release": "npm publish",
71
+ "test": "npm run test:unit",
72
+ "test:unit": "npm run build:tsc && node --test tests/*.test.mjs",
73
+ "test:coverage": "npm run build:tsc && c8 node --test tests/*.test.mjs",
74
+ "test:perf:run": "npm run build:tsc && node scripts/perf-runner.mjs",
75
+ "test:perf:assert": "node scripts/perf-regression.mjs",
76
+ "test:perf:matrix": "npm run build:tsc && node scripts/scenario-matrix.mjs --check-golden",
77
+ "test:perf:roc": "npm run build:tsc && node scripts/roc-experiment.mjs",
78
+ "bench:smoothing": "npm run build:tsc && node --test scripts/smoothing-alpha-benchmark.mjs",
79
+ "test:perf": "npm run test:perf:run && npm run test:perf:assert && npm run test:perf:matrix",
80
+ "test:perf:all": "npm run test:perf && npm run test:perf:roc",
81
+ "test:perf:update-baseline": "npm run build:tsc && node scripts/perf-runner.mjs --update-baseline",
82
+ "test:perf:update-matrix-golden": "npm run build:tsc && node scripts/scenario-matrix.mjs --update-golden",
83
+ "build:sandbox": "tsc --project tsconfig.sandbox.json",
84
+ "test:e2e": "npm run build:tsc && npm run build:sandbox && cypress run",
85
+ "test:e2e:headed": "npm run build:tsc && npm run build:sandbox && cypress run --headed --browser chrome",
86
+ "prepublishOnly": "npm run build",
87
+ "typecheck": "tsc --project tsconfig.json --noEmit",
88
+ "lint": "npm run typecheck",
89
+ "test:ci": "npm run lint && npm run build && npm run test:unit && npm run test:perf:assert",
90
+ "verify:package": "npm run build && node scripts/verify-package.mjs"
91
+ },
92
+ "devDependencies": {
93
+ "c8": "^10.1.3"
94
+ },
95
+ "publishConfig": {
96
+ "access": "public",
97
+ "registry": "https://registry.npmjs.org/"
98
+ }
99
+ }