Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 10 additions & 10 deletions .fallowrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,16 @@
"$schema": "https://raw.githubusercontent.com/fallow-rs/fallow/main/schema.json",
"entry": [
"rslib.config.ts",
"src/index.ts",
"src/io.ts",
"src/artifacts.ts",
"src/metro.ts",
"src/remote-config.ts",
"src/install-source.ts",
"src/android-adb.ts",
"src/contracts.ts",
"src/selectors.ts",
"src/finders.ts",
"src/sdk/index.ts",
"src/sdk/io.ts",
"src/sdk/artifacts.ts",
"src/sdk/metro.ts",
"src/sdk/remote-config.ts",
"src/sdk/install-source.ts",
"src/sdk/android-adb.ts",
"src/sdk/contracts.ts",
"src/sdk/selectors.ts",
"src/sdk/finders.ts",
"src/bin.ts",
"src/client/companion-tunnel.ts",
"src/daemon.ts",
Expand Down
22 changes: 11 additions & 11 deletions rslib.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,17 +22,17 @@ export default defineConfig({
},
source: {
entry: {
index: 'src/index.ts',
io: 'src/io.ts',
artifacts: 'src/artifacts.ts',
batch: 'src/batch.ts',
metro: 'src/metro.ts',
'remote-config': 'src/remote-config.ts',
'install-source': 'src/install-source.ts',
'android-adb': 'src/android-adb.ts',
contracts: 'src/contracts.ts',
selectors: 'src/selectors.ts',
finders: 'src/finders.ts',
index: 'src/sdk/index.ts',
io: 'src/sdk/io.ts',
artifacts: 'src/sdk/artifacts.ts',
batch: 'src/sdk/batch.ts',
metro: 'src/sdk/metro.ts',
'remote-config': 'src/sdk/remote-config.ts',
'install-source': 'src/sdk/install-source.ts',
'android-adb': 'src/sdk/android-adb.ts',
contracts: 'src/sdk/contracts.ts',
selectors: 'src/sdk/selectors.ts',
finders: 'src/sdk/finders.ts',
'internal/bin': 'src/bin.ts',
'internal/companion-tunnel': 'src/client/companion-tunnel.ts',
'internal/daemon': 'src/daemon.ts',
Expand Down
2 changes: 1 addition & 1 deletion src/__tests__/android-adb-public.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import assert from 'node:assert/strict';
import { test } from 'vitest';

test('public android-adb entrypoint exposes helpers but not resolver internals', async () => {
const androidAdb = await import('../android-adb.ts');
const androidAdb = await import('../sdk/android-adb.ts');

assert.equal(typeof androidAdb.createAndroidPortReverseManager, 'function');
assert.equal(typeof androidAdb.captureAndroidLogcatWithAdb, 'function');
Expand Down
6 changes: 3 additions & 3 deletions src/__tests__/contracts-schema-public.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { test } from 'vitest';
import assert from 'node:assert/strict';
import fs from 'node:fs';
import path from 'node:path';
import { AppError } from '../index.ts';
import { AppError } from '../sdk/index.ts';
import type { CommandResult } from '../core/command-descriptor/command-result.ts';
import type { AppStateCommandResult } from '../contracts/app-state.ts';
import type { ClipboardCommandResult } from '../contracts/clipboard.ts';
Expand All @@ -14,7 +14,7 @@ import type {
RotateCommandResult,
} from '../contracts/navigation.ts';
import type { ViewportCommandResult } from '../contracts/viewport.ts';
import { centerOfRect, defaultHintForCode, normalizeError } from '../contracts.ts';
import { centerOfRect, defaultHintForCode, normalizeError } from '../sdk/contracts.ts';
import {
daemonCommandRequestSchema,
daemonRuntimeSchema,
Expand Down Expand Up @@ -48,7 +48,7 @@ test('public contracts error helpers do not load diagnostics module', () => {
});

test('public contract facade does not expose parser schemas', async () => {
const publicContracts = (await import('../contracts.ts')) as Record<string, unknown>;
const publicContracts = (await import('../sdk/contracts.ts')) as Record<string, unknown>;

assert.equal(publicContracts.daemonCommandRequestSchema, undefined);
assert.equal(publicContracts.daemonRuntimeSchema, undefined);
Expand Down
2 changes: 1 addition & 1 deletion src/__tests__/install-source-public.test.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import assert from 'node:assert/strict';
import { test } from 'vitest';

import { isTrustedInstallSourceUrl, validateDownloadSourceUrl } from '../install-source.ts';
import { isTrustedInstallSourceUrl, validateDownloadSourceUrl } from '../sdk/install-source.ts';

test('public install-source entrypoint re-exports pure helpers', () => {
assert.equal(
Expand Down
2 changes: 1 addition & 1 deletion src/__tests__/metro-protocol-public.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import {
type MetroBridgeDescriptor,
type MetroTunnelRequestMessage,
type MetroTunnelResponseMessage,
} from '../metro.ts';
} from '../sdk/metro.ts';

// Type-only contract fixtures — these verify that the public subpath types
// remain structurally stable. A rename or breaking shape change will fail
Expand Down
4 changes: 2 additions & 2 deletions src/__tests__/metro-public.test.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { test } from 'vitest';
import assert from 'node:assert/strict';
import { buildBundleUrl, normalizeBaseUrl, resolveRuntimeTransport } from '../metro.ts';
import { buildBundleUrl, normalizeBaseUrl, resolveRuntimeTransport } from '../sdk/metro.ts';

test('public metro entrypoint exposes url and transport helpers', () => {
assert.equal(normalizeBaseUrl('https://bridge.example.test///'), 'https://bridge.example.test');
Expand All @@ -22,7 +22,7 @@ test('public metro entrypoint exposes url and transport helpers', () => {
});

test('public metro entrypoint does not expose runtime hint builders', async () => {
const metro = (await import('../metro.ts')) as Record<string, unknown>;
const metro = (await import('../sdk/metro.ts')) as Record<string, unknown>;

assert.equal(metro.buildIosRuntimeHints, undefined);
assert.equal(metro.buildAndroidRuntimeHints, undefined);
Expand Down
2 changes: 1 addition & 1 deletion src/__tests__/selectors-public.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import {
tryParseSelectorChain,
type SelectorChain,
type SelectorDiagnostics,
} from '../selectors.ts';
} from '../sdk/selectors.ts';
import type { SnapshotNode } from '../kernel/snapshot.ts';

const nodes: SnapshotNode[] = [
Expand Down
1 change: 0 additions & 1 deletion src/artifacts.ts

This file was deleted.

1 change: 0 additions & 1 deletion src/batch.ts

This file was deleted.

2 changes: 1 addition & 1 deletion src/commands/batch/public.test.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { test } from 'vitest';
import assert from 'node:assert/strict';
import { runBatch } from '../../batch.ts';
import { runBatch } from '../../sdk/batch.ts';
import type { DaemonRequest } from '../../kernel/contracts.ts';

test('public batch entrypoint exports daemon-compatible orchestration helpers', async () => {
Expand Down
7 changes: 2 additions & 5 deletions src/commands/interaction/runtime/resolution.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,8 @@ import type { Point, SnapshotNode, SnapshotState } from '../../../kernel/snapsho
import { findNodeByRef, normalizeRef } from '../../../kernel/snapshot.ts';
import { resolveRectCenter } from '../../../utils/rect-center.ts';
import type { AgentDeviceRuntime, CommandContext } from '../../../runtime-contract.ts';
import {
formatSelectorFailure,
parseSelectorChain,
resolveSelectorChain,
} from '../../../selectors.ts';
import { parseSelectorChain } from '../../../utils/selectors-parse.ts';
import { formatSelectorFailure, resolveSelectorChain } from '../../../daemon/selectors.ts';
import { buildSelectorChainForNode } from '../../../utils/selector-build.ts';
import { findNodeByLabel, resolveRefLabel } from '../../../snapshot/snapshot-processing.ts';
import {
Expand Down
5 changes: 2 additions & 3 deletions src/commands/interaction/runtime/selector-read.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,12 @@ import {
} from '../../../snapshot/snapshot-quality.ts';
import type { AgentDeviceRuntime, CommandContext } from '../../../runtime-contract.ts';
import { AppError } from '../../../kernel/errors.ts';
import { parseSelectorChain, type SelectorChain } from '../../../utils/selectors-parse.ts';
import {
findSelectorChainMatch,
formatSelectorFailure,
parseSelectorChain,
resolveSelectorChain,
type SelectorChain,
} from '../../../selectors.ts';
} from '../../../daemon/selectors.ts';
import { buildSelectorChainForNode } from '../../../utils/selector-build.ts';
import {
evaluateIsPredicate,
Expand Down
3 changes: 2 additions & 1 deletion src/daemon/handlers/find.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,8 @@ import {
isSparseSnapshotQualityVerdict,
type SnapshotQualityVerdict,
} from '../../snapshot/snapshot-quality.ts';
import { resolveSelectorChain, type SelectorChain } from '../../selectors.ts';
import { resolveSelectorChain } from '../selectors.ts';
import type { SelectorChain } from '../../utils/selectors-parse.ts';

export { parseFindArgs } from '../../utils/finders.ts';

Expand Down
6 changes: 0 additions & 6 deletions src/install-source.ts

This file was deleted.

7 changes: 0 additions & 7 deletions src/metro.ts

This file was deleted.

1 change: 0 additions & 1 deletion src/remote-config.ts

This file was deleted.

10 changes: 5 additions & 5 deletions src/android-adb.ts → src/sdk/android-adb.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,19 @@ export {
type AndroidAdbExecutor,
type AndroidAdbExecutorOptions,
type AndroidPortReverseEndpoint,
} from './platforms/android/adb-executor.ts';
} from '../platforms/android/adb-executor.ts';
export {
getAndroidAppStateWithAdb,
listAndroidAppsWithAdb,
} from './platforms/android/app-helpers.ts';
} from '../platforms/android/app-helpers.ts';
export {
forceStopAndroidAppWithAdb,
openAndroidAppWithAdb,
} from './platforms/android/app-control.ts';
export { captureAndroidLogcatWithAdb } from './platforms/android/logcat.ts';
} from '../platforms/android/app-control.ts';
export { captureAndroidLogcatWithAdb } from '../platforms/android/logcat.ts';
export {
dismissAndroidKeyboardWithAdb,
getAndroidKeyboardStatusWithAdb,
readAndroidClipboardWithAdb,
writeAndroidClipboardWithAdb,
} from './platforms/android/device-input-state.ts';
} from '../platforms/android/device-input-state.ts';
1 change: 1 addition & 0 deletions src/sdk/artifacts.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export { resolveAndroidArchivePackageName } from '../platforms/android/manifest.ts';
1 change: 1 addition & 0 deletions src/sdk/batch.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export { runBatch } from '../core/batch.ts';
4 changes: 2 additions & 2 deletions src/contracts.ts → src/sdk/contracts.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,6 @@ export type {
LeaseHeartbeatPayload,
LeaseReleasePayload,
SessionRuntimeHints,
} from './kernel/contracts.ts';
} from '../kernel/contracts.ts';

export { centerOfRect, defaultHintForCode, normalizeError } from './kernel/contracts.ts';
export { centerOfRect, defaultHintForCode, normalizeError } from '../kernel/contracts.ts';
1 change: 1 addition & 0 deletions src/sdk/finders.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export * from '../finders.ts';
12 changes: 6 additions & 6 deletions src/index.ts → src/sdk/index.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
export { createAgentDeviceClient } from './client/client.ts';
export { createLocalArtifactAdapter } from './io.ts';
export { AppError, isAgentDeviceError, normalizeAgentDeviceError } from './kernel/errors.ts';
export { centerOfRect } from './kernel/snapshot.ts';
export { createAgentDeviceClient } from '../client/client.ts';
export { createLocalArtifactAdapter } from '../io.ts';
export { AppError, isAgentDeviceError, normalizeAgentDeviceError } from '../kernel/errors.ts';
export { centerOfRect } from '../kernel/snapshot.ts';

export type {
AgentDeviceDaemonTransport,
Expand All @@ -18,6 +18,6 @@ export type {
RotateCommandOptions,
RotateCommandResult,
ScrollOptions,
} from './client/client.ts';
} from '../client/client.ts';

export type { SnapshotNode } from './kernel/snapshot.ts';
export type { SnapshotNode } from '../kernel/snapshot.ts';
6 changes: 6 additions & 0 deletions src/sdk/install-source.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
export {
isTrustedInstallSourceUrl,
validateDownloadSourceUrl,
} from '../platforms/install-source.ts';

export type { MaterializeInstallSource } from '../platforms/install-source.ts';
1 change: 1 addition & 0 deletions src/sdk/io.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export * from '../io.ts';
7 changes: 7 additions & 0 deletions src/sdk/metro.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
export { buildBundleUrl, normalizeBaseUrl } from '../utils/url.ts';
export type {
MetroBridgeDescriptor,
MetroTunnelRequestMessage,
MetroTunnelResponseMessage,
} from '../metro/metro.ts';
export { resolveRuntimeTransport } from '../metro/metro.ts';
1 change: 1 addition & 0 deletions src/sdk/remote-config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export type { RemoteConfigProfile } from '../remote/remote-config-schema.ts';
15 changes: 15 additions & 0 deletions src/sdk/selectors.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
export type { SelectorChain } from '../utils/selectors-parse.ts';
export type { SelectorDiagnostics } from '../daemon/selectors.ts';

export {
isSelectorToken,
parseSelectorChain,
tryParseSelectorChain,
} from '../utils/selectors-parse.ts';
export {
findSelectorChainMatch,
formatSelectorFailure,
isNodeEditable,
isNodeVisible,
resolveSelectorChain,
} from '../daemon/selectors.ts';
15 changes: 0 additions & 15 deletions src/selectors.ts

This file was deleted.

7 changes: 1 addition & 6 deletions vitest.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,16 +29,11 @@ export default defineConfig({
'src/**/__tests__/**',
'src/**/*-types.ts',
'src/**/types.ts',
'src/android-adb.ts',
'src/artifacts.ts',
'src/batch.ts',
'src/sdk/**',
'src/bin.ts',
'src/client/client-types.ts',
'src/core/interactor-types.ts',
'src/index.ts',
'src/install-source.ts',
'src/remote/remote-config.ts',
'src/selectors.ts',
],
},
},
Expand Down
Loading