@tantawowa/hosanna-tools 3.17.0 → 3.18.1
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 +85 -11
- package/dist/build-info.json +3 -3
- package/dist/capture/mcp-tools.d.ts +1 -0
- package/dist/capture/mcp-tools.js +3 -1
- package/dist/capture/mcp-tools.js.map +1 -1
- package/dist/capture/video-capture.d.ts +1 -1
- package/dist/cli.js +173 -58
- package/dist/cli.js.map +1 -1
- package/dist/device/device-cli.d.ts +11 -0
- package/dist/device/device-cli.js +36 -2
- package/dist/device/device-cli.js.map +1 -1
- package/dist/device/devices-file.js +8 -5
- package/dist/device/devices-file.js.map +1 -1
- package/dist/device/driver-registry.js +27 -3
- package/dist/device/driver-registry.js.map +1 -1
- package/dist/device/drivers/tizen-driver.d.ts +19 -0
- package/dist/device/drivers/tizen-driver.js +178 -0
- package/dist/device/drivers/tizen-driver.js.map +1 -0
- package/dist/device/drivers/webos-driver.d.ts +15 -0
- package/dist/device/drivers/webos-driver.js +175 -0
- package/dist/device/drivers/webos-driver.js.map +1 -0
- package/dist/device/external-command.d.ts +12 -0
- package/dist/device/external-command.js +56 -0
- package/dist/device/external-command.js.map +1 -0
- package/dist/device/setup.d.ts +39 -0
- package/dist/device/setup.js +168 -0
- package/dist/device/setup.js.map +1 -0
- package/dist/device/types.d.ts +5 -2
- package/dist/index.d.ts +11 -1
- package/dist/index.js +16 -2
- package/dist/index.js.map +1 -1
- package/dist/lib/env-info.d.ts +11 -3
- package/dist/lib/env-info.js +79 -4
- package/dist/lib/env-info.js.map +1 -1
- package/dist/lib/hosanna-config.d.ts +3 -0
- package/dist/lib/hosanna-config.js +51 -117
- package/dist/lib/hosanna-config.js.map +1 -1
- package/dist/lib/project-dependencies.d.ts +70 -0
- package/dist/lib/project-dependencies.js +699 -0
- package/dist/lib/project-dependencies.js.map +1 -0
- package/dist/lib/project-file-safety.d.ts +7 -0
- package/dist/lib/project-file-safety.js +32 -0
- package/dist/lib/project-file-safety.js.map +1 -0
- package/dist/native/native-project.d.ts +1 -0
- package/dist/native/native-project.js +41 -9
- package/dist/native/native-project.js.map +1 -1
- package/dist/native/templates/android/gradle-wrapper.jar +0 -0
- package/dist/native/templates/android/gradle-wrapper.properties +2 -0
- package/dist/native/templates/android/gradlew +247 -7
- package/dist/native/templates/android/gradlew.bat +92 -10
- package/dist/run/destination-picker.js +14 -8
- package/dist/run/destination-picker.js.map +1 -1
- package/dist/run/executor.d.ts +8 -0
- package/dist/run/executor.js +82 -21
- package/dist/run/executor.js.map +1 -1
- package/dist/run/planner.d.ts +16 -1
- package/dist/run/planner.js +302 -27
- package/dist/run/planner.js.map +1 -1
- package/dist/run/run-config.d.ts +6 -0
- package/dist/run/run-config.js +25 -6
- package/dist/run/run-config.js.map +1 -1
- package/dist/run/run-controller.d.ts +9 -3
- package/dist/run/run-controller.js +37 -20
- package/dist/run/run-controller.js.map +1 -1
- package/dist/run/session-manager.d.ts +3 -3
- package/dist/run/session-manager.js +14 -4
- package/dist/run/session-manager.js.map +1 -1
- package/dist/run/targets.js +28 -4
- package/dist/run/targets.js.map +1 -1
- package/dist/run/tv-build.d.ts +56 -0
- package/dist/run/tv-build.js +670 -0
- package/dist/run/tv-build.js.map +1 -0
- package/dist/run/tv-test-config.d.ts +13 -0
- package/dist/run/tv-test-config.js +70 -0
- package/dist/run/tv-test-config.js.map +1 -0
- package/dist/run/types.d.ts +5 -2
- package/dist/run/types.js +10 -4
- package/dist/run/types.js.map +1 -1
- package/dist/support-tools/build-config-resolver.d.ts +2 -0
- package/dist/support-tools/build-config-resolver.js +41 -3
- package/dist/support-tools/build-config-resolver.js.map +1 -1
- package/dist/support-tools/command-debugger.d.ts +2 -0
- package/dist/support-tools/command-debugger.js +12 -2
- package/dist/support-tools/command-debugger.js.map +1 -1
- package/dist/support-tools/dev-runner.d.ts +28 -0
- package/dist/support-tools/dev-runner.js +103 -33
- package/dist/support-tools/dev-runner.js.map +1 -1
- package/dist/support-tools/mcp-server/types.d.ts +2 -0
- package/dist/support-tools/mcp-server/types.js.map +1 -1
- package/dist/testing/client.d.ts +1 -0
- package/dist/testing/client.js +36 -0
- package/dist/testing/client.js.map +1 -1
- package/dist/testing/launcher.d.ts +9 -0
- package/dist/testing/launcher.js +72 -19
- package/dist/testing/launcher.js.map +1 -1
- package/dist/testing/native-simulator.d.ts +1 -0
- package/dist/testing/native-simulator.js +1 -1
- package/dist/testing/native-simulator.js.map +1 -1
- package/dist/testing/physical-tv.d.ts +11 -0
- package/dist/testing/physical-tv.js +52 -0
- package/dist/testing/physical-tv.js.map +1 -0
- package/dist/updater/framework-installer.d.ts +7 -0
- package/dist/updater/framework-installer.js +77 -74
- package/dist/updater/framework-installer.js.map +1 -1
- package/dist/updater/local-sdk-manager.d.ts +9 -1
- package/dist/updater/local-sdk-manager.js +30 -3
- package/dist/updater/local-sdk-manager.js.map +1 -1
- package/dist/updater/project-install-transaction.d.ts +78 -0
- package/dist/updater/project-install-transaction.js +414 -0
- package/dist/updater/project-install-transaction.js.map +1 -0
- package/dist/updater/sdk-manager.d.ts +9 -1
- package/dist/updater/sdk-manager.js +78 -12
- package/dist/updater/sdk-manager.js.map +1 -1
- package/package.json +4 -1
package/README.md
CHANGED
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
## Documentation
|
|
4
4
|
|
|
5
5
|
- **[MCP debugger](src/support-tools/mcp-server/README.md)** — `hst mcp:start`, debugger tools, commands by use case, examples, and RASP certification capture.
|
|
6
|
-
- **[Video capture](docs/video-capture.md)** — standalone, agent-driven, and test-run recording for Apple simulators,
|
|
6
|
+
- **[Video capture](docs/video-capture.md)** — standalone, agent-driven, and test-run recording for Apple simulators, physical-TV capture cards, and macOS windows.
|
|
7
|
+
- **[Browser, Tizen, and webOS](docs/browser-tizen-webos.md)** — canonical commands, desktop previews, package/device workflows, vendor trust, and CSP/LAN policy.
|
|
7
8
|
- **[docs/README.md](docs/README.md)** — index of docs in this repo (MCP + source-map note).
|
|
8
9
|
- **hosanna-ui** (separate repo): `docs/README.md` for agentic debugging and links back to this README.
|
|
9
10
|
|
|
@@ -99,10 +100,12 @@ Common build-script replacements:
|
|
|
99
100
|
| `npx hst capture ios --device 'iPhone 17 Pro'` | `await capture.start({ platform: 'ios', device: 'iPhone 17 Pro' })` |
|
|
100
101
|
| `npx hst secrets:check` | `await secrets.check({ cwd: process.cwd() })` |
|
|
101
102
|
| `npx hst env check` | `await env.check({ cwd: process.cwd() })` |
|
|
103
|
+
| `npx hst doctor` | `await env.check({ cwd: process.cwd() })` |
|
|
104
|
+
| `npx hst doctor --fix` | `await env.check({ cwd: process.cwd(), fix: true })` |
|
|
102
105
|
|
|
103
106
|
Long-running APIs such as `dev.run`, `debugger.start`, `mcp.start`, and RASP-owned certification capture workflows keep the same operational behavior as the corresponding CLI commands: they start services, attach to debuggers, or wait for user/session activity. `mcp.start` and `dev.run` are wired for programmatic no-exit behavior through the top-level API.
|
|
104
107
|
|
|
105
|
-
### Installable
|
|
108
|
+
### Installable Browser builds
|
|
106
109
|
|
|
107
110
|
`hosannaPwaPlugin` is a build-only Vite plugin for the generic install shell. The
|
|
108
111
|
host application supplies its identity, artwork, launch selection, offline page,
|
|
@@ -205,7 +208,7 @@ Useful commands:
|
|
|
205
208
|
```bash
|
|
206
209
|
npx hst app-config:compile --expression tv --platform web \
|
|
207
210
|
--static-bundle-manifest asset-bundles/static-bundles.json
|
|
208
|
-
npx hst run
|
|
211
|
+
npx hst run browser dev emulator --rebuild-app-config
|
|
209
212
|
npx hst app-config:clean --expression tv --platform web \
|
|
210
213
|
--static-bundle-manifest asset-bundles/static-bundles.json
|
|
211
214
|
```
|
|
@@ -303,8 +306,10 @@ Hosanna Tools is a comprehensive CLI toolset for the Hosanna framework that prov
|
|
|
303
306
|
The CLI commands are organized into logical groups using colon-separated namespacing:
|
|
304
307
|
|
|
305
308
|
### Development Commands
|
|
306
|
-
- `run` - Canonical cross-platform app launcher. Bare interactive runs show one destination picker; explicit platform options
|
|
307
|
-
- `
|
|
309
|
+
- `run` - Canonical cross-platform app launcher. Bare interactive runs show one destination picker; explicit platform options include Browser, Samsung Tizen, LG webOS, Roku, Apple, and Android hosts.
|
|
310
|
+
- `build` - Build/package without device discovery, deployment, launch, browser opening, or log streaming. Successful Tizen/webOS builds print their absolute `.wgt`/`.ipk` path.
|
|
311
|
+
- `device:setup <tizen|webos>` - Guided, dry-runnable vendor setup: connect/authorize Samsung with SDB and verify an external signing profile, or register an LG ares alias and optionally run the official interactive key flow. HST never stores keys, certificates, or passphrases.
|
|
312
|
+
- `capture` - Record an Apple simulator, a physical-TV capture-card input, or a macOS screen/window. The default timeout is 180 seconds; use `--timeout` to override it.
|
|
308
313
|
- `target:list` - List launch targets for humans or agents, including web emulators, sims, and physical devices.
|
|
309
314
|
- `dev:start` - Run dev processes: vite, generator watch, and optional debugger
|
|
310
315
|
- `debugger:start` - Start the command debugger WebSocket proxy (only one debugger is needed for multiple apps; if the port is already in use, a friendly message is shown instead of crashing)
|
|
@@ -314,7 +319,13 @@ Examples:
|
|
|
314
319
|
```bash
|
|
315
320
|
hst run
|
|
316
321
|
hst run --last
|
|
317
|
-
hst run
|
|
322
|
+
hst run browser dev emulator
|
|
323
|
+
hst run tizen dev emulator
|
|
324
|
+
hst run webos dev emulator
|
|
325
|
+
hst build tizen dev device --signing-profile samsung-tv-dev
|
|
326
|
+
hst build webos dev device
|
|
327
|
+
hst run tizen dev device "Samsung living room" --signing-profile samsung-tv-dev
|
|
328
|
+
hst run webos dev device "LG living room"
|
|
318
329
|
hst run --platform roku --target emulator
|
|
319
330
|
hst run --platform ios --target emulator
|
|
320
331
|
hst run --platform android --target emulator
|
|
@@ -337,7 +348,7 @@ hst target:list --form-factor tv --json
|
|
|
337
348
|
|
|
338
349
|
Bare `hst run` in an interactive terminal discovers runnable web previews, vendor simulators, and online physical devices, then presents one flat destination picker. The last selection is placed first, so pressing Enter repeats it; `hst run --last` skips discovery and immediately uses that remembered destination. The selection is stored in the user-level `~/.hosanna-tools/run.json`, preserving existing defaults. Explicit commands remain deterministic, and non-interactive runs never open the picker.
|
|
339
350
|
|
|
340
|
-
|
|
351
|
+
`browser` is the canonical public platform; legacy platform input `web` is normalized to `browser`. `emulator` is the public desktop-preview target and HST retains internal target kind `web`. For Tizen and webOS, emulator mode launches the target-specific Vite config so compile-time initializers are selected; it is not a vendor simulator. `--target sim` launches a real vendor virtual device only for supported Apple/Android platforms. `--target device` launches or deploys to physical local hardware. Device/sim runs record the target and refuse to overwrite a recorded session or safe-to-kill occupied resource in non-interactive mode unless `--replace` is passed. Tizen/webOS previews cannot reuse a Browser session because their compiled alias graphs differ. Preferred run defaults live in `.hosanna-tools/run.json`, and friendly device aliases live in `.hosanna-tools/devices.json` or `~/.hosanna-tools/devices.json`; signing keys and device passphrases remain in vendor stores.
|
|
341
352
|
|
|
342
353
|
### Roku Commands (`roku:*`) - Roku Deployment & Packaging
|
|
343
354
|
- `roku:run` - Deploy a Roku app to a device (supports .zip file or folder)
|
|
@@ -402,6 +413,14 @@ Production JavaScript bundles strip `console.*` calls by default. Configure this
|
|
|
402
413
|
|
|
403
414
|
Roku builds also populate `assetServer.baseUrl` when an overlay does not define it. `hst run` uses the resolved project Vite port and a reachable LAN IPv4 address. Override either the complete URL with `HS_ASSET_SERVER_BASE_URL`, or its parts with `HS_ASSET_SERVER_HOST` and `HS_ASSET_SERVER_PORT`; the equivalent `HOSANNA_ASSET_SERVER_*` names are also accepted. Explicit build-config overlays remain authoritative. The legacy `game.assetBaseUrl` setting is generated independently for backward compatibility.
|
|
404
415
|
|
|
416
|
+
Tizen/webOS builds prefer exact target overlays and fall back to the matching
|
|
417
|
+
Web overlay only when the exact file is absent. Physical development builds
|
|
418
|
+
resolve remote-debug loopback hosts to a reachable LAN address; override with
|
|
419
|
+
`HS_REMOTE_DEBUG_HOST`. Production TV builds force remote debugging off. Exact
|
|
420
|
+
non-secret service origins can be supplied with `--connect-origin` or
|
|
421
|
+
`HS_TV_CONNECT_ORIGINS`; unresolved package tokens and wildcard origins fail
|
|
422
|
+
staging. See [Browser, Tizen, and webOS](docs/browser-tizen-webos.md).
|
|
423
|
+
|
|
405
424
|
Native builds can resolve config immediately before the platform build:
|
|
406
425
|
|
|
407
426
|
```bash
|
|
@@ -432,10 +451,56 @@ npm run apple:build-code
|
|
|
432
451
|
Shared options: `--file` (secrets path), `--template` (template path for `check` / `init` / `list --template`), `--format text|json`.
|
|
433
452
|
|
|
434
453
|
### Environment Commands (`env ...`) - Environment Management
|
|
454
|
+
- `doctor` - Run the same read-only checks as `env check`, including required app packages
|
|
455
|
+
- `doctor --fix` - Run the same repair path as `env fix`
|
|
435
456
|
- `env check` - Print environment information and run checks
|
|
436
457
|
- `env fix` - Check and repair environment issues
|
|
437
458
|
- `env prepare-gitignore` - Ensure .gitignore contains required entries
|
|
438
459
|
|
|
460
|
+
#### Hosanna consumer dependencies
|
|
461
|
+
|
|
462
|
+
The installed SDK owns its app dependency contract in
|
|
463
|
+
`hosanna-ui/hosanna-consumer-dependencies.json`:
|
|
464
|
+
|
|
465
|
+
```json
|
|
466
|
+
{
|
|
467
|
+
"schemaVersion": 1,
|
|
468
|
+
"dependencies": { "lottie-web": "^5.13.0" },
|
|
469
|
+
"devDependencies": { "@types/crypto-js": "^4.2.2" }
|
|
470
|
+
}
|
|
471
|
+
```
|
|
472
|
+
|
|
473
|
+
Both maps are required. `hst doctor` and `hst env check` validate the exact
|
|
474
|
+
manifest, the app's direct `package.json` declarations, and the versions
|
|
475
|
+
actually available through the app's Node resolution path (including a
|
|
476
|
+
workspace-hoisted install). An older SDK without the manifest is reported as a
|
|
477
|
+
supported legacy install with no requirements.
|
|
478
|
+
|
|
479
|
+
`hst doctor --fix` and `hst env fix` add missing requirements and run one
|
|
480
|
+
app-root `npm install`. The repair is additive to the app's dependency set: it
|
|
481
|
+
does not remove unrelated packages. It may move a compatible required package
|
|
482
|
+
out of `devDependencies` or `optionalDependencies` so a runtime requirement is
|
|
483
|
+
installed reliably. Existing compatible app ranges are preserved. An existing
|
|
484
|
+
range that can select versions outside the SDK's required range is reported as
|
|
485
|
+
a conflict and is not overwritten.
|
|
486
|
+
|
|
487
|
+
Projects that select another package manager or ship its lockfile are left for
|
|
488
|
+
that package manager to repair. Workspace members are audited, but automatic
|
|
489
|
+
repair is blocked so an ancestor lockfile is never changed without a matching
|
|
490
|
+
rollback snapshot; run the workspace's package manager from its root instead.
|
|
491
|
+
If `npm install` fails, or the installed
|
|
492
|
+
versions still fail the audit afterward, `package.json` and npm lockfiles
|
|
493
|
+
(`package-lock.json` and `npm-shrinkwrap.json`) are restored to their original
|
|
494
|
+
contents. SDK installs and updates—including
|
|
495
|
+
Git, Keygen, local, embedded, and shared source modes—run the same reconciliation
|
|
496
|
+
after the new SDK is ready, so a framework upgrade cannot leave new app
|
|
497
|
+
requirements undeclared.
|
|
498
|
+
|
|
499
|
+
Library callers can inspect or run the same focused operation through
|
|
500
|
+
`env.dependencies.audit({ projectRoot })` and
|
|
501
|
+
`env.dependencies.reconcile({ projectRoot })`; both return structured audit and
|
|
502
|
+
repair results without exiting the process.
|
|
503
|
+
|
|
439
504
|
### Framework Source Symlinks (semver-keyed registry)
|
|
440
505
|
|
|
441
506
|
`hst` symlinks framework source folders from the `hosanna-ui/` checkout into the
|
|
@@ -511,7 +576,7 @@ silently break an install.
|
|
|
511
576
|
- `mcp:start` - Start the Hosanna MCP server for AI agent debugging
|
|
512
577
|
- `mcp:stop` - Stop the Hosanna MCP server
|
|
513
578
|
|
|
514
|
-
**Cursor and MCP:** Cursor does not magically attach to a terminal `hst mcp:start`. Add Hosanna as a Command MCP server (project **`.cursor/mcp.json`** or **Cursor Settings → MCP → Add Custom MCP**) so Cursor spawns **`hosanna-mcp`** over stdio. Start the command debugger/app explicitly with `hst run
|
|
579
|
+
**Cursor and MCP:** Cursor does not magically attach to a terminal `hst mcp:start`. Add Hosanna as a Command MCP server (project **`.cursor/mcp.json`** or **Cursor Settings → MCP → Add Custom MCP**) so Cursor spawns **`hosanna-mcp`** over stdio. Start the command debugger/app explicitly with `hst run browser dev emulator`, `hst run tizen dev emulator`, `hst run webos dev emulator`, or `hst run roku dev device`.
|
|
515
580
|
|
|
516
581
|
### Deterministic UI testing
|
|
517
582
|
|
|
@@ -534,8 +599,9 @@ defineHosannaTestConfig({
|
|
|
534
599
|
The finalized recording is written below
|
|
535
600
|
`test-results/<testRunId>/<platform>-<target>/` and embedded in the HTML report.
|
|
536
601
|
Browser targets use Playwright WebM. iOS/Apple TV simulators use `simctl` MP4.
|
|
537
|
-
Physical Roku targets use AVFoundation or a configured macOS
|
|
538
|
-
|
|
602
|
+
Physical Roku, Tizen, and webOS targets use AVFoundation or a configured macOS
|
|
603
|
+
screen/window source; HST does not claim vendor-native TV recording.
|
|
604
|
+
Native/device capture defaults to 180 seconds; override it with
|
|
539
605
|
`timeoutSeconds`. This is a review artifact, not a replay format or executable
|
|
540
606
|
test source.
|
|
541
607
|
|
|
@@ -611,7 +677,13 @@ For Roku device suites, the launcher builds and deploys before the test launch,
|
|
|
611
677
|
|
|
612
678
|
```bash
|
|
613
679
|
# Development workflow
|
|
614
|
-
hst run
|
|
680
|
+
hst run browser dev emulator # Canonical Browser host
|
|
681
|
+
hst run tizen dev emulator # Desktop Tizen composition preview
|
|
682
|
+
hst run webos dev emulator # Desktop webOS composition preview
|
|
683
|
+
hst build tizen dev device --signing-profile samsung-tv-dev
|
|
684
|
+
hst build webos dev device
|
|
685
|
+
hst run tizen dev device "Samsung living room" --signing-profile samsung-tv-dev
|
|
686
|
+
hst run webos dev device "LG living room"
|
|
615
687
|
hst run --platform roku --target emulator
|
|
616
688
|
hst run --platform ios --target emulator
|
|
617
689
|
hst run --platform android --target emulator
|
|
@@ -655,6 +727,8 @@ hst secrets:exec -- npm run build
|
|
|
655
727
|
hst secrets:init
|
|
656
728
|
|
|
657
729
|
# Environment management
|
|
730
|
+
hst doctor # Read-only environment and package audit
|
|
731
|
+
hst doctor --fix # Repair issues and install missing requirements
|
|
658
732
|
hst env fix # Check and fix environment issues
|
|
659
733
|
hst env prepare-gitignore # Update .gitignore
|
|
660
734
|
|
package/dist/build-info.json
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
2
2
|
import { type VideoCaptureManager } from './video-capture.js';
|
|
3
|
+
export declare const VIDEO_CAPTURE_PLATFORMS: readonly ["ios", "apple-tv", "roku", "tizen", "webos", "macos"];
|
|
3
4
|
export declare function registerVideoCaptureTools(server: McpServer, options?: {
|
|
4
5
|
cwd?: string;
|
|
5
6
|
manager?: VideoCaptureManager;
|
|
@@ -3,10 +3,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.VIDEO_CAPTURE_PLATFORMS = void 0;
|
|
6
7
|
exports.registerVideoCaptureTools = registerVideoCaptureTools;
|
|
7
8
|
const node_path_1 = __importDefault(require("node:path"));
|
|
8
9
|
const zod_1 = require("zod");
|
|
9
10
|
const video_capture_js_1 = require("./video-capture.js");
|
|
11
|
+
exports.VIDEO_CAPTURE_PLATFORMS = ['ios', 'apple-tv', 'roku', 'tizen', 'webos', 'macos'];
|
|
10
12
|
function registerVideoCaptureTools(server, options = {}) {
|
|
11
13
|
var _a, _b;
|
|
12
14
|
const cwd = node_path_1.default.resolve((_a = options.cwd) !== null && _a !== void 0 ? _a : process.cwd());
|
|
@@ -14,7 +16,7 @@ function registerVideoCaptureTools(server, options = {}) {
|
|
|
14
16
|
server.tool('start_video_capture', `Start an independent video capture session for an agent-driven scenario, manual demonstration, or test.
|
|
15
17
|
|
|
16
18
|
The capture stops and finalizes automatically after ${video_capture_js_1.DEFAULT_VIDEO_CAPTURE_TIMEOUT_SECONDS} seconds by default. Override timeoutSeconds for a shorter or longer recording. Only one capture can be active in this MCP process at a time.`, {
|
|
17
|
-
platform: zod_1.z.enum(
|
|
19
|
+
platform: zod_1.z.enum(exports.VIDEO_CAPTURE_PLATFORMS).describe('Platform being recorded'),
|
|
18
20
|
source: zod_1.z.enum(['apple-simulator', 'avfoundation', 'macos-screen', 'macos-window']).optional()
|
|
19
21
|
.describe('Capture source. Defaults from platform and supplied window/screen options.'),
|
|
20
22
|
outputPath: zod_1.z.string().optional().describe('Output video path, relative to the project when not absolute'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-tools.js","sourceRoot":"","sources":["../../src/capture/mcp-tools.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mcp-tools.js","sourceRoot":"","sources":["../../src/capture/mcp-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { spawn } from 'node:child_process';
|
|
|
2
2
|
import { listIosSimulatorTargets } from '../run/ios-simulator.js';
|
|
3
3
|
import { listAppleTvSimulatorTargets } from '../run/apple-tv.js';
|
|
4
4
|
export declare const DEFAULT_VIDEO_CAPTURE_TIMEOUT_SECONDS = 180;
|
|
5
|
-
export type VideoCapturePlatform = 'ios' | 'apple-tv' | 'roku' | 'macos';
|
|
5
|
+
export type VideoCapturePlatform = 'ios' | 'apple-tv' | 'roku' | 'tizen' | 'webos' | 'macos';
|
|
6
6
|
export type VideoCaptureSource = 'apple-simulator' | 'avfoundation' | 'macos-screen' | 'macos-window';
|
|
7
7
|
export type VideoCaptureStopReason = 'requested' | 'timeout' | 'signal' | 'shutdown' | 'process-exit' | 'start-failed';
|
|
8
8
|
export type VideoCaptureState = 'recording' | 'stopping' | 'completed' | 'failed';
|