Files
callstack__agent-device/packages/capture-kit/package.json
Michał Pierzchała fef0b12cc5 chore: hoist shared snapshot/selector test fixtures into a single canonical location (#2419)
* chore: hoist shared snapshot/selector test fixtures into @agent-device/selectors

PR #2397 left two copies of the snapshot-state builder and duplicated
geometry/touch-point arbitraries (root's src/__tests__/test-utils/ and the
package's internal/__tests__/), because packages cannot import root src/.
Move the canonical versions into a new @agent-device/selectors/test-fixtures
subpath and have both root and the selectors package import from it, leaving
buildNodes and the root-only replay/gesture arbitraries in place.

Fixes #2402

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01USabYbQjD16A2UkkvMpf5x

* chore: exempt test-fixtures.ts's test-only arbitraries from dead-code check

PROPERTY_RUNS, scrollingContainerTypeArb, distinctRectPairArb, and
interactionTouchPointScenarioArb are consumed only by *.test.ts files, which
Fallow's --production analysis does not see, matching the existing pattern
for other workspace-package symbols reached only from the test tree.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01USabYbQjD16A2UkkvMpf5x

* chore: consolidate makeSnapshotState into capture-kit, rename fixtures file

An adversarial review of the #2402 fixture-hoisting change found a third
copy of makeSnapshotState in packages/capture-kit/src/snapshot-state.fixtures.ts,
predating PR #2397. Since @agent-device/selectors already depends on
capture-kit, make capture-kit's copy canonical (exported as
./snapshot-state-fixtures) and have the selectors package's fixtures module
re-export it instead of duplicating it a third time.

Also rename packages/selectors/src/test-fixtures.ts to
snapshot-geometry.fixtures.ts (subpath ./snapshot-geometry-fixtures) to match
every other test-fixture module's *.fixtures.ts convention in this repo,
which lets it fall under .fallowrc.json's existing blanket **/*.fixtures.ts
dead-code exemption instead of needing a bespoke per-symbol entry.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01USabYbQjD16A2UkkvMpf5x

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-09-09 13:56:40 +02:00

208 lines
7.2 KiB
JSON

{
"name": "@agent-device/capture-kit",
"version": "0.0.0",
"private": true,
"type": "module",
"description": "Private host and durable-capture mechanics shared by platform runtimes, providers, and daemon orchestration: process execution, diagnostics, archives, PNG tooling, and request-scoped plumbing.",
"dependencies": {
"@agent-device/contracts": "workspace:*",
"@agent-device/host-kit": "workspace:*",
"@agent-device/kernel": "workspace:*"
},
"exports": {
".": {
"types": "./src/index.ts",
"default": "./src/index.ts"
},
"./android-replacement-surface-occlusion": {
"types": "./src/snapshot/android-replacement-surface-occlusion.ts",
"default": "./src/snapshot/android-replacement-surface-occlusion.ts"
},
"./durable-capture": {
"types": "./src/durable-capture/index.ts",
"default": "./src/durable-capture/index.ts"
},
"./durable-json": {
"types": "./src/durable-json.ts",
"default": "./src/durable-json.ts"
},
"./ios-snapshot-acquisition": {
"types": "./src/ios-snapshot-acquisition.ts",
"default": "./src/ios-snapshot-acquisition.ts"
},
"./ios-snapshot-engine": {
"types": "./src/ios-snapshot-engine/index.ts",
"default": "./src/ios-snapshot-engine/index.ts"
},
"./ios-snapshot-planning": {
"types": "./src/ios-snapshot-planning.ts",
"default": "./src/ios-snapshot-planning.ts"
},
"./ios-snapshot-runtime": {
"types": "./src/snapshot/ios-snapshot-runtime.ts",
"default": "./src/snapshot/ios-snapshot-runtime.ts"
},
"./mobile-snapshot-semantics": {
"types": "./src/mobile-snapshot-semantics.ts",
"default": "./src/mobile-snapshot-semantics.ts"
},
"./png": {
"types": "./src/png.ts",
"default": "./src/png.ts"
},
"./png-crop": {
"types": "./src/png-crop.ts",
"default": "./src/png-crop.ts"
},
"./png-resize": {
"types": "./src/png-resize.ts",
"default": "./src/png-resize.ts"
},
"./png-rgb-difference": {
"types": "./src/png-rgb-difference.ts",
"default": "./src/png-rgb-difference.ts"
},
"./png-size": {
"types": "./src/png-size.ts",
"default": "./src/png-size.ts"
},
"./png-worker-client": {
"types": "./src/png-worker-client.ts",
"default": "./src/png-worker-client.ts"
},
"./post-gesture-stability": {
"types": "./src/post-gesture-stability.ts",
"default": "./src/post-gesture-stability.ts"
},
"./quality-warnings": {
"types": "./src/snapshot/snapshot-presentation/quality-warnings.ts",
"default": "./src/snapshot/snapshot-presentation/quality-warnings.ts"
},
"./react-native-overlay": {
"types": "./src/react-native-overlay.ts",
"default": "./src/react-native-overlay.ts"
},
"./recording-output-path": {
"types": "./src/recording/output-path.ts",
"default": "./src/recording/output-path.ts"
},
"./recording-overlay": {
"types": "./src/recording/overlay.ts",
"default": "./src/recording/overlay.ts"
},
"./recording-telemetry": {
"types": "./src/recording/telemetry.ts",
"default": "./src/recording/telemetry.ts"
},
"./recording-video": {
"types": "./src/recording/video.ts",
"default": "./src/recording/video.ts"
},
"./repeated-nav-subtree": {
"types": "./src/snapshot/snapshot-presentation/repeated-nav-subtree.ts",
"default": "./src/snapshot/snapshot-presentation/repeated-nav-subtree.ts"
},
"./screenshot-density": {
"types": "./src/screenshot-density.ts",
"default": "./src/screenshot-density.ts"
},
"./screenshot-diff-pixels": {
"types": "./src/screenshot-diff-pixels.ts",
"default": "./src/screenshot-diff-pixels.ts"
},
"./screenshot-overlay": {
"types": "./src/screenshot-overlay.ts",
"default": "./src/screenshot-overlay.ts"
},
"./scroll-edge-state": {
"types": "./src/snapshot/scroll-edge-state.ts",
"default": "./src/snapshot/scroll-edge-state.ts"
},
"./snapshot-chrome": {
"types": "./src/snapshot-chrome.ts",
"default": "./src/snapshot-chrome.ts"
},
"./snapshot-desktop-projection": {
"types": "./src/snapshot-desktop-projection.ts",
"default": "./src/snapshot-desktop-projection.ts"
},
"./snapshot-desktop-surface": {
"types": "./src/snapshot/snapshot-desktop-surface.ts",
"default": "./src/snapshot/snapshot-desktop-surface.ts"
},
"./snapshot-diff": {
"types": "./src/snapshot/snapshot-diff.ts",
"default": "./src/snapshot/snapshot-diff.ts"
},
"./snapshot-evidence": {
"types": "./src/snapshot/snapshot-evidence.ts",
"default": "./src/snapshot/snapshot-evidence.ts"
},
"./snapshot-freshness": {
"types": "./src/snapshot/snapshot-freshness/index.ts",
"default": "./src/snapshot/snapshot-freshness/index.ts"
},
"./snapshot-label-dedup": {
"types": "./src/snapshot/snapshot-label-dedup.ts",
"default": "./src/snapshot/snapshot-label-dedup.ts"
},
"./snapshot-lines": {
"types": "./src/snapshot/snapshot-lines.ts",
"default": "./src/snapshot/snapshot-lines.ts"
},
"./snapshot-node-lookup": {
"types": "./src/snapshot-node-lookup.ts",
"default": "./src/snapshot-node-lookup.ts"
},
"./snapshot-occlusion": {
"types": "./src/snapshot-occlusion.ts",
"default": "./src/snapshot-occlusion.ts"
},
"./snapshot-presentation-android-helper": {
"types": "./src/snapshot/snapshot-presentation/android/helper.ts",
"default": "./src/snapshot/snapshot-presentation/android/helper.ts"
},
"./snapshot-presentation-ios-transitions-fixtures": {
"types": "./src/snapshot/snapshot-presentation/ios/transitions.fixtures.ts",
"default": "./src/snapshot/snapshot-presentation/ios/transitions.fixtures.ts"
},
"./snapshot-quality-backend-capabilities": {
"types": "./src/snapshot-quality-backend-capabilities.ts",
"default": "./src/snapshot-quality-backend-capabilities.ts"
},
"./snapshot-quality-verdict": {
"types": "./src/snapshot-quality-verdict.ts",
"default": "./src/snapshot-quality-verdict.ts"
},
"./snapshot-rect-projection": {
"types": "./src/snapshot-rect-projection.ts",
"default": "./src/snapshot-rect-projection.ts"
},
"./snapshot-state": {
"types": "./src/snapshot-state.ts",
"default": "./src/snapshot-state.ts"
},
"./snapshot-state-fixtures": {
"types": "./src/snapshot-state.fixtures.ts",
"default": "./src/snapshot-state.fixtures.ts"
},
"./snapshot-timeout-policy": {
"types": "./src/snapshot/snapshot-timeout-policy.ts",
"default": "./src/snapshot/snapshot-timeout-policy.ts"
},
"./snapshot-visibility": {
"types": "./src/snapshot/snapshot-visibility.ts",
"default": "./src/snapshot/snapshot-visibility.ts"
},
"./text-surface": {
"types": "./src/snapshot/snapshot-presentation/text-surface.ts",
"default": "./src/snapshot/snapshot-presentation/text-surface.ts"
}
},
"devDependencies": {
"@types/pngjs": "^6.0.5",
"fast-check": "^4.9.0",
"pngjs": "^7.0.0"
}
}