stim 1.21.0 → 1.22.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 +60 -7
- package/dist/{acquire-artifact-CD4lbiWE.mjs → acquire-artifact-Co2k4f7O.mjs} +21 -3
- package/dist/{act-DHAw2A2S.mjs → act-DsuqEkiM.mjs} +298 -164
- package/dist/{activity-BzVfHSrY.mjs → activity-CMLmzp7o.mjs} +33 -12
- package/dist/{agent-device-usage-output-zh1vhbLp.mjs → agent-device-usage-output-DUFaTMdd.mjs} +7 -7
- package/dist/{android-BLgbNqox.mjs → android-ByRMUoiJ.mjs} +66 -52
- package/dist/{android-DUYkNF4u.mjs → android-C7sVmyI9.mjs} +160 -59
- package/dist/{android-CV_GCELZ.mjs → android-DGkNqa_c.mjs} +5 -5
- package/dist/{android-BEJ8Jpl7.mjs → android-DR5lZ2Az.mjs} +2 -2
- package/dist/android-cas-compiler.mjs +1 -1
- package/dist/{android-cas-Ct5b1xCK.mjs → android-cas-ngferVq2.mjs} +3 -3
- package/dist/{client-B7QVOlCr.d.mts → android-project-DVWyCbWU.d.mts} +145 -7
- package/dist/api.d.mts +132 -118
- package/dist/api.mjs +239 -42
- package/dist/{artifact-B8T3S5gi.mjs → artifact-8EY8SAPw.mjs} +40 -35
- package/dist/{artifact-DAuZ-FNU.mjs → artifact-DJPy518Y.mjs} +69 -40
- package/dist/artifact-platform-CXcmX_j3.mjs +27 -0
- package/dist/{browser-web-QQzVjz3O.mjs → browser-web-Bcv99PBM.mjs} +187 -59
- package/dist/{budget-Bs6SxxzO.mjs → budget-Cvwn54qV.mjs} +830 -699
- package/dist/{build-CoPzQRNw.mjs → build-CabC3G23.mjs} +34 -27
- package/dist/{build-cache-DmyR9Zzc.mjs → build-cache-Dv7RN200.mjs} +4 -4
- package/dist/{build-plan-CaFskB7_.mjs → build-plan-DUC8Ka9y.mjs} +74 -14
- package/dist/{cache-manifest-DkkqguoK.mjs → cache-manifest-DSeQjt-Q.mjs} +1 -1
- package/dist/cache-manifest.mjs +1 -1
- package/dist/{ccache-BJRZ9pG3.mjs → ccache-Btwc36-I.mjs} +6 -6
- package/dist/{cdp-CWmIUMbw.mjs → cdp-3fwICjzi.mjs} +1 -1
- package/dist/{chrome-B6tfCta1.mjs → chrome-Bbw689-6.mjs} +1 -1
- package/dist/{cli-0DYf8QhQ.mjs → cli-CHZa9Lvk.mjs} +20 -20
- package/dist/cli.mjs +1 -1
- package/dist/{client-UXD70ZbM.mjs → client-OyRoEuSr.mjs} +218 -47
- package/dist/collector-run.d.mts +1 -1
- package/dist/collector-run.mjs +6 -6
- package/dist/{command-output-B1UrjZHL.mjs → command-output-gwpm28fu.mjs} +1 -1
- package/dist/{config-CYcBF478.mjs → config-DlrsduwG.mjs} +17 -11
- package/dist/{created-devices-CqeBlrEn.mjs → created-devices-x9rN6bhs.mjs} +13 -3
- package/dist/{dependency-state-BbKQW83h.mjs → dependency-state-1I9KZT1Y.mjs} +2 -2
- package/dist/{detached-entry-DFRyG1_o.mjs → detached-entry-BwNEtIrP.mjs} +1 -1
- package/dist/{dev-client-UOeESKm6.mjs → dev-client-BSDR5h3F.mjs} +2 -2
- package/dist/{device-ExJq8Ei7.mjs → device-B-L3Fbxy.mjs} +71 -14
- package/dist/{device-DCxH7_By.mjs → device-DklWZLqb.mjs} +16 -16
- package/dist/{device-capacity-CMlqEcvw.mjs → device-capacity-DK5_EwRS.mjs} +9 -10
- package/dist/device-host-worker.mjs +25 -32
- package/dist/{device-ios-DRUeKaFV.mjs → device-ios-DoB6KFCO.mjs} +39 -16
- package/dist/{device-lease-run-C8raGFoP.mjs → device-lease-run-xJPQ_QQG.mjs} +5 -5
- package/dist/{device-pool-DMRpVX9a.mjs → device-pool-BMkdsefq.mjs} +3 -3
- package/dist/{doctor-DTvaDOda.mjs → doctor-Bo7BXLux.mjs} +24 -37
- package/dist/{doctor-Dhqebm0q.mjs → doctor-D5_EzwfA.mjs} +19 -16
- package/dist/doctor-fingerprint-DZLoYFVb.mjs +16 -0
- package/dist/doctor-fingerprint.mjs +1 -1
- package/dist/{doctor-BLHCYxzi.mjs → doctor-thjWAV0z.mjs} +1 -1
- package/dist/{doctor-watchman-Cv1F10Kj.mjs → doctor-watchman-N2wDotwQ.mjs} +5 -5
- package/dist/{eas-build-BomfRnFT.mjs → eas-build-CwknaQYj.mjs} +4 -4
- package/dist/{eas-fallback-DJwZpy0c.mjs → eas-fallback-CSgAulr5.mjs} +27 -18
- package/dist/{eas-session-ledger-op6A54yi.mjs → eas-session-ledger-DlY_serQ.mjs} +8 -7
- package/dist/{error-diagnostics-Bf0rZvG9.mjs → error-diagnostics-DBWO2rxE.mjs} +10 -10
- package/dist/{exec-_UbtCQcG.mjs → exec-DEoAhcze.mjs} +155 -47
- package/dist/{exec-H20xSg2T.d.mts → exec-DnYc4HGH.d.mts} +17 -4
- package/dist/{gc-_-dCXdyL.mjs → gc-CXxN-4SE.mjs} +587 -313
- package/dist/gc-DnNDQyaP.mjs +3 -0
- package/dist/{guide-Yqwt2bd6.mjs → guide-Br0LEfKy.mjs} +239 -43
- package/dist/{hosted-android-Bw-honsd.mjs → hosted-android-B-9f-jkd.mjs} +6 -6
- package/dist/{hosted-client-DB_gBPfY.mjs → hosted-client-DZAPrcro.mjs} +4 -4
- package/dist/{hosted-ios-CUvOf4Vr.mjs → hosted-ios-CsCS21hn.mjs} +1 -1
- package/dist/{hosted-logs-DL_P5AdN.mjs → hosted-logs-FIRx9X2f.mjs} +5 -5
- package/dist/{hosted-macos-QI141yKk.mjs → hosted-macos-_awYSpfv.mjs} +21 -12
- package/dist/{hosted-native-Ksyjgzq-.mjs → hosted-native-BdzE668-.mjs} +27 -14
- package/dist/{idle-BVeRGroT.d.mts → idle-C4cZ757K.d.mts} +3 -3
- package/dist/{idle-shutdown-DaKmZi0z.mjs → idle-shutdown-DDg3SdvY.mjs} +7 -7
- package/dist/ios-CDvlmUs7.d.mts +24 -0
- package/dist/{ios-CQ68hG9s.mjs → ios-Ds1clbIt.mjs} +8 -8
- package/dist/{ios-device-CwFMehUS.mjs → ios-device--h_-8ENa.mjs} +3 -3
- package/dist/{ios-device-CXGP1bsD.mjs → ios-device-BXZ0c7Kb.mjs} +1 -1
- package/dist/{ios-CpByZy12.mjs → ios-hcBpnEGk.mjs} +81 -34
- package/dist/{ios-ubFsBzwq.mjs → ios-pm4nL6By.mjs} +59 -50
- package/dist/{ios-project-WuwwBdvW.mjs → ios-project-CZhKODF3.mjs} +5 -5
- package/dist/{ios-signing-DTTIChGs.mjs → ios-signing-BtAffm0A.mjs} +2 -2
- package/dist/{ios-state-DvFX-K_l.mjs → ios-state-Dtw5K2aI.mjs} +1 -1
- package/dist/{ios-qNJt4dFm.mjs → ios-xtlRHaeB.mjs} +1 -1
- package/dist/{js-swap-Cc1dttps.mjs → js-swap-Bwhh4S7V.mjs} +7 -29
- package/dist/{launch-Zq2mOSDy.mjs → launch-BjxemNpK.mjs} +40 -39
- package/dist/{launch-CD1yVc7U.mjs → launch-CCzXlc8r.mjs} +16 -16
- package/dist/{logs-BS00Anxf.mjs → logs-BfwwadsZ.mjs} +151 -24
- package/dist/{logs-CMm05HxN.mjs → logs-jTS_lHSo.mjs} +10 -17
- package/dist/{macos-B65--pPd.mjs → macos-DVlSSyUg.mjs} +1 -1
- package/dist/{macos-C-0qJ6zq.mjs → macos-NfV2D7dO.mjs} +143 -46
- package/dist/macos-run.mjs +1 -1
- package/dist/maintenance-run.mjs +8 -8
- package/dist/{metro-DEXpIhHC.mjs → metro-DiXtA3Ty.mjs} +59 -37
- package/dist/{metro-gateway-BMJNlj3E.mjs → metro-gateway-CKZqKqx7.mjs} +120 -22
- package/dist/{named-ports-BWTzt6mu.mjs → named-ports-DkEzOfzO.mjs} +40 -33
- package/dist/{native-android-JACyjTZs.mjs → native-android-CqgnOgsT.mjs} +43 -242
- package/dist/native-gradle-artifact-inputs-DHFnmrVf.mjs +270 -0
- package/dist/{native-gradle-inputs-Bep9JcSF.mjs → native-gradle-inputs-Dnh84Zbd.mjs} +3 -129
- package/dist/{native-run-DY_RLx3C.mjs → native-run-NwUuxbkg.mjs} +4 -5
- package/dist/{native-runtime-Dg1Q7tfF.mjs → native-runtime-B7KIafpM.mjs} +8 -7
- package/dist/native-source-Y0yLhFyQ.mjs +133 -0
- package/dist/{native-xcode-inputs-CB2iQeWq.mjs → native-xcode-inputs-D_VOfFL7.mjs} +2 -3
- package/dist/{native-xcode-ios-CXX39F7o.mjs → native-xcode-ios-BYDOHWLN.mjs} +27 -32
- package/dist/offload-worker.d.mts +65 -2
- package/dist/offload-worker.mjs +305 -73
- package/dist/operation-exec-BW0em61G.mjs +171 -0
- package/dist/{ownership-DEmM5vhh.mjs → ownership-C5fo5Edb.mjs} +3 -3
- package/dist/{page-CPaHeYqj.mjs → page-DBL2PiUU.mjs} +8 -4
- package/dist/{placement-log-BqGbTa61.mjs → placement-log-BnGgJRRZ.mjs} +1 -1
- package/dist/{plan-placement-Bwj-IjY1.mjs → plan-placement-DIsMtN-d.mjs} +12 -8
- package/dist/{ports-D-MmCTdv.mjs → ports-Cy1RkmuQ.mjs} +3 -3
- package/dist/{prebuild-uD_ipCxF.mjs → prebuild-D4JoEAEs.mjs} +49 -14
- package/dist/{project-BZNjmW_8.mjs → project-wM_XFTvE.mjs} +16 -16
- package/dist/{pull-request-Lfetn8Kr.mjs → pull-request-W1IuLXDt.mjs} +102 -20
- package/dist/{pull-request-zjCSAryH.d.mts → pull-request-eODyIqZF.d.mts} +6 -2
- package/dist/pull-requests.d.mts +2 -2
- package/dist/pull-requests.mjs +2 -2
- package/dist/{react-native-android-DuzH0cn3.mjs → react-native-android-6OZ7MSM7.mjs} +71 -48
- package/dist/{react-native-build-rhk4smwQ.mjs → react-native-build-Dvd8hC21.mjs} +8 -8
- package/dist/{react-native-doctor-CQpuIMso.mjs → react-native-doctor-DsoSF1Y9.mjs} +7 -7
- package/dist/{react-native-ios-Bhq1rJeV.mjs → react-native-ios-4u1Rn-GR.mjs} +40 -26
- package/dist/{recordings-DYteQSu4.mjs → recordings-CQmfzAh7.mjs} +1 -1
- package/dist/registration-BcRgF6Ox.mjs +51 -0
- package/dist/{reload-CmTRFJaX.mjs → reload-BzkYabB-.mjs} +16 -15
- package/dist/{reload-DzjSl5P_.mjs → reload-D7AVlb8N.mjs} +1 -1
- package/dist/{remote-ByYkXdGD.mjs → remote-DjGDmlTZ.mjs} +18 -15
- package/dist/{result-DNiS-tTP.mjs → result-D2Ykz_iD.mjs} +24 -23
- package/dist/{run-D23HmJMs.mjs → run-DidHghD1.mjs} +3 -2
- package/dist/{selection-CSl9i5qU.mjs → selection-DSMbWEX2.mjs} +6 -5
- package/dist/{server-bare-CxTrvDg8.mjs → server-bare-CafzuyFB.mjs} +2 -2
- package/dist/{server-command-CtzloH3v.mjs → server-command-C6QjeupS.mjs} +5 -5
- package/dist/{server-expo-DT_F_uVI.mjs → server-expo-CrjB29pq.mjs} +7 -5
- package/dist/server-expo-D58c9L0M.mjs +2 -0
- package/dist/{settings-CsJDEXgK.mjs → settings-C7O8A6ZI.mjs} +223 -243
- package/dist/{settings-T1gtc3bf.mjs → settings-DpR-1Wnn.mjs} +1 -1
- package/dist/{settings-write-HyVZ8eQ8.mjs → settings-write-CzD60rOD.mjs} +7 -6
- package/dist/settings.schema.json +13 -0
- package/dist/{simslim-Cgk17SXV.mjs → simslim-BNckWpXi.mjs} +2 -2
- package/dist/{slot-launch-DF8VfT64.mjs → slot-launch-CbfmNgM6.mjs} +6 -6
- package/dist/{stage-BIS0ydsV.mjs → stage-Bps5oius.mjs} +21 -4
- package/dist/{start-RChynRDp.mjs → start-Br-oxqMD.mjs} +1 -1
- package/dist/{start-7lpH7hmN.mjs → start-EojN4WFz.mjs} +622 -393
- package/dist/{state-C4ZtUisW.mjs → state--smjFSTL.mjs} +22 -7
- package/dist/{state-XMziexv2.mjs → state-08I3hw3_.mjs} +2 -2
- package/dist/{stats-53T7OTb9.mjs → stats-D3GerlFW.mjs} +5 -5
- package/dist/{stats-report-BFfMpWWF.mjs → stats-report-BzaPrRm6.mjs} +1 -1
- package/dist/{status-DqEUSSxs.mjs → status-BRROykC8.mjs} +2 -2
- package/dist/{status-CSi6tlRq.mjs → status-EvrK72L2.mjs} +1 -1
- package/dist/{status-BL7jVyAB.mjs → status-WBDajew2.mjs} +43 -29
- package/dist/{status-watch-GDCfqpTE.mjs → status-watch-Bg_u-pwR.mjs} +48 -16
- package/dist/status-worker.mjs +1 -1
- package/dist/{stim-desktop-C12we7lz.mjs → stim-desktop-D5OGpYZM.mjs} +2 -2
- package/dist/{stop-Bk_1qiV6.mjs → stop-DTZ9uTw3.mjs} +2 -2
- package/dist/{stop-D7h6jAXQ.mjs → stop-Dky10AEJ.mjs} +31 -22
- package/dist/{stop-CPzlM1L-.mjs → stop-Mv6W9FAk.mjs} +15 -16
- package/dist/supervisor-run.d.mts +3 -3
- package/dist/supervisor-run.mjs +28 -36
- package/dist/{support-Dlu37g6H.mjs → support-CNioewsd.mjs} +10 -10
- package/dist/{support-67vraa1Q.mjs → support-yUiOjnVY.mjs} +8 -8
- package/dist/swiftpm-artifact-inputs-DFcGsXDP.mjs +153 -0
- package/dist/swiftpm-macos-BIak-Rxv.mjs +532 -0
- package/dist/toolchain-BY8X8HXx.mjs +2 -0
- package/dist/{toolchain-Hp9sCpK4.mjs → toolchain-DpJMHq0n.mjs} +9 -6
- package/dist/{trigger-BAahxUPq.mjs → trigger-Cbyc41d_.mjs} +3 -3
- package/dist/trigger-yb_nFzPF.mjs +2 -0
- package/dist/{warm-progress-BHX5r0Ei.mjs → warm-progress-CA3TgT3-.mjs} +29 -16
- package/dist/web-CZ07gd77.mjs +2 -0
- package/dist/{web-CJmIj6AI.mjs → web-DKx6yoFA.mjs} +11 -10
- package/dist/web-run.mjs +11 -9
- package/dist/windows-report.mjs +1 -1
- package/dist/{workspace-state-Cjuigeeu.mjs → workspace-state-U08dEzhG.mjs} +3 -3
- package/dist/{workspaces-BccMFmGQ.mjs → workspaces-CpANmBlq.mjs} +594 -266
- package/dist/{worktree-DQ6Zi2Mv.mjs → worktree-CHecZ4Oq.mjs} +850 -551
- package/dist/worktree-ZqZVjD9K.mjs +2 -0
- package/dist/{xcode-Zlx3qjEs.mjs → xcode-BXn9-xYx.mjs} +5 -5
- package/package.json +7 -7
- package/shim/android-audio/Main.java +24 -0
- package/shim/android-audio/README.md +17 -0
- package/shim/android-audio.jar +0 -0
- package/dist/gc-C-WwL0yi.mjs +0 -3
- package/dist/git-C3iTsJaZ.mjs +0 -73
- package/dist/server-expo-C-90EhcG.mjs +0 -2
- package/dist/settings-DkdmlelE.d.mts +0 -15
- package/dist/swiftpm-macos-p8WZbxKU.mjs +0 -130
- package/dist/toolchain-DhKwp9iI.mjs +0 -2
- package/dist/trigger-Bf3uDcpv.mjs +0 -2
- package/dist/web-DknQETPs.mjs +0 -2
- package/dist/workspace-process-lock-1_1OoVW5.mjs +0 -57
- package/dist/worktree-CK2MpJW5.mjs +0 -2
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { _ as worktreeCommand, a as matchWorktreeEntry, c as reclaimKeys, d as removalBlockers, f as removalPath, g as warmedWorkspace, h as warmWorktreeTarget, i as excludeWatchmanCookies, l as registerRemove, m as removeWorktreeTarget, n as dependencyInstallCommand, o as nestedWorktrees, p as removalRemedy, r as excludePodChurn, s as porcelainPath, t as customIosDirs, u as registerWarm } from "./worktree-CHecZ4Oq.mjs";
|
|
2
|
+
export { customIosDirs, worktreeCommand as default, dependencyInstallCommand, excludePodChurn, excludeWatchmanCookies, matchWorktreeEntry, nestedWorktrees, porcelainPath, reclaimKeys, registerRemove, registerWarm, removalBlockers, removalPath, removalRemedy, removeWorktreeTarget, warmWorktreeTarget, warmedWorkspace };
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { c as
|
|
1
|
+
import { c as declareSpawnsOn, d as spawnDeclared, f as stopDeclaringSpawnsOn, t as getExecutor, x as ownership_claim_exports } from "./exec-DEoAhcze.mjs";
|
|
2
2
|
import { u as workspaceDerivedData } from "./paths-DQtTgsBf.mjs";
|
|
3
3
|
import { t as createLineReader } from "./process-output-Fpl8PYi8.mjs";
|
|
4
|
-
import { a as formatElapsed, l as phaseLine } from "./command-output-
|
|
5
|
-
import {
|
|
6
|
-
import { d as runCancellationSignal, h as shareCompilationCache } from "./native-run-
|
|
4
|
+
import { a as formatElapsed, l as phaseLine } from "./command-output-gwpm28fu.mjs";
|
|
5
|
+
import { a as killOnAbort } from "./operation-exec-BW0em61G.mjs";
|
|
6
|
+
import { d as runCancellationSignal, h as shareCompilationCache } from "./native-run-NwUuxbkg.mjs";
|
|
7
7
|
import { p as resolveOptimizations } from "./errors-ccaPc4ox.mjs";
|
|
8
|
-
import { t as cleanLine } from "./server-expo-
|
|
8
|
+
import { t as cleanLine } from "./server-expo-CrjB29pq.mjs";
|
|
9
9
|
import { createHash } from "node:crypto";
|
|
10
10
|
import { existsSync, readFileSync, readdirSync, realpathSync, statSync } from "node:fs";
|
|
11
11
|
import { basename, isAbsolute, join, relative, resolve, sep } from "node:path";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "stim",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.22.0",
|
|
4
4
|
"description": "Stim: fast, isolated React Native environments for coding agents",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"agent",
|
|
@@ -53,11 +53,11 @@
|
|
|
53
53
|
},
|
|
54
54
|
"dependencies": {
|
|
55
55
|
"@expo/fingerprint": "^0.20.10",
|
|
56
|
-
"@stim-cli/agent-driver": "^1.
|
|
57
|
-
"@stim-cli/agent-driver-agent-device": "^1.
|
|
58
|
-
"@stim-cli/cache": "^1.
|
|
59
|
-
"@stim-cli/core": "^1.
|
|
60
|
-
"@stim-cli/metro": "^1.
|
|
56
|
+
"@stim-cli/agent-driver": "^1.22.0",
|
|
57
|
+
"@stim-cli/agent-driver-agent-device": "^1.22.0",
|
|
58
|
+
"@stim-cli/cache": "^1.22.0",
|
|
59
|
+
"@stim-cli/core": "^1.22.0",
|
|
60
|
+
"@stim-cli/metro": "^1.22.0",
|
|
61
61
|
"@xmldom/xmldom": "0.9.12",
|
|
62
62
|
"chalk": "^6.0.0",
|
|
63
63
|
"commander": "^15.0.0",
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
"ws": "^8.21.3"
|
|
67
67
|
},
|
|
68
68
|
"devDependencies": {
|
|
69
|
-
"@stim-cli/expo-build-cache": "1.
|
|
69
|
+
"@stim-cli/expo-build-cache": "1.22.0",
|
|
70
70
|
"@types/cross-spawn": "^6.0.6",
|
|
71
71
|
"@types/which": "^3.0.4",
|
|
72
72
|
"@types/ws": "^8.18.1",
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
package dev.stim.audio;
|
|
2
|
+
|
|
3
|
+
import android.content.Context;
|
|
4
|
+
import android.media.AudioManager;
|
|
5
|
+
import android.os.Looper;
|
|
6
|
+
|
|
7
|
+
public final class Main {
|
|
8
|
+
public static void main(String[] args) throws Exception {
|
|
9
|
+
if (args.length != 1) throw new IllegalArgumentException("Expected one media volume index");
|
|
10
|
+
Looper.prepareMainLooper();
|
|
11
|
+
Class<?> activityThread = Class.forName("android.app.ActivityThread");
|
|
12
|
+
Object thread = activityThread.getDeclaredMethod("systemMain").invoke(null);
|
|
13
|
+
Context system = (Context) activityThread.getDeclaredMethod("getSystemContext").invoke(thread);
|
|
14
|
+
// AudioService's AppOps check requires the shell UID's actual package.
|
|
15
|
+
Context shell = system.createPackageContext("com.android.shell", 0);
|
|
16
|
+
AudioManager audio = (AudioManager) shell.getSystemService(Context.AUDIO_SERVICE);
|
|
17
|
+
int volume = Integer.parseInt(args[0]);
|
|
18
|
+
if (volume < 0 || volume > audio.getStreamMaxVolume(AudioManager.STREAM_MUSIC)) {
|
|
19
|
+
throw new IllegalArgumentException("Media volume out of range");
|
|
20
|
+
}
|
|
21
|
+
audio.setStreamVolume(AudioManager.STREAM_MUSIC, volume, 0);
|
|
22
|
+
System.out.println(audio.getStreamVolume(AudioManager.STREAM_MUSIC));
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Android media control
|
|
2
|
+
|
|
3
|
+
`Main.java` calls Android's media-volume API with the shell package identity.
|
|
4
|
+
The CLI and Desktop bundle the same small helper; users do not need a host JDK.
|
|
5
|
+
Desktop stores its copy as base64 so its Sources tree remains ASCII-only.
|
|
6
|
+
|
|
7
|
+
To rebuild both checked-in artifacts, use JDK 17 or later, Android SDK Platform
|
|
8
|
+
34 and Build Tools 35.0.1, then run from the repository root:
|
|
9
|
+
|
|
10
|
+
```sh
|
|
11
|
+
ANDROID_HOME=/path/to/android-sdk node scripts/build-android-audio.mjs
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
The build pins the Android inputs and jar timestamps. Runtime callers transfer
|
|
15
|
+
an invocation-specific file only to their verified emulator and remove it after
|
|
16
|
+
use. They confirm the requested media volume independently; ringtone and alarm
|
|
17
|
+
streams are unchanged.
|
|
Binary file
|
package/dist/gc-C-WwL0yi.mjs
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import { Ct as describeParkedSims, Dt as findOrphanedDevices, Ot as findStaleDeviceRecords, it as selectCaches, kt as findStaleProjectDevices, wt as describeUnverifiableDevices, xt as deleteParkedSims } from "./budget-Bs6SxxzO.mjs";
|
|
2
|
-
import { a as formatGcReport, i as runGc, n as gcCommand, r as readGcReport, t as collectGcReport } from "./gc-_-dCXdyL.mjs";
|
|
3
|
-
export { collectGcReport, gcCommand as default, deleteParkedSims, describeParkedSims, describeUnverifiableDevices, findOrphanedDevices, findStaleDeviceRecords, findStaleProjectDevices, formatGcReport, readGcReport, runGc, selectCaches };
|
package/dist/git-C3iTsJaZ.mjs
DELETED
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import { t as getExecutor } from "./exec-_UbtCQcG.mjs";
|
|
2
|
-
//#region src/workspace/git.ts
|
|
3
|
-
const GIT_TIMEOUT_MS = 1e4;
|
|
4
|
-
const GIT_CONCURRENCY = 6;
|
|
5
|
-
function gitCall(cwd, args, { write, signal: _signal, timeoutMs = GIT_TIMEOUT_MS, ...opts }) {
|
|
6
|
-
return {
|
|
7
|
-
args: [
|
|
8
|
-
...write ? [] : ["--no-optional-locks"],
|
|
9
|
-
"-C",
|
|
10
|
-
cwd,
|
|
11
|
-
...args
|
|
12
|
-
],
|
|
13
|
-
opts: {
|
|
14
|
-
...opts,
|
|
15
|
-
timeoutMs
|
|
16
|
-
}
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
/** Runs git in `cwd`, bounded by `timeoutMs` (10 s by default); throws like `runFile`. */
|
|
20
|
-
function git(cwd, args, opts = {}) {
|
|
21
|
-
const call = gitCall(cwd, args, opts);
|
|
22
|
-
return getExecutor().runFile("git", call.args, call.opts);
|
|
23
|
-
}
|
|
24
|
-
/** `git`, returning null instead of throwing. */
|
|
25
|
-
function gitQuiet(cwd, args, opts = {}) {
|
|
26
|
-
const call = gitCall(cwd, args, opts);
|
|
27
|
-
return getExecutor().runFileQuiet("git", call.args, call.opts);
|
|
28
|
-
}
|
|
29
|
-
const queue = [];
|
|
30
|
-
let running = 0;
|
|
31
|
-
/** `git` without blocking the event loop, at most six at a time; the budget starts when the call leaves the queue. */
|
|
32
|
-
async function gitAsync(cwd, args, opts = {}) {
|
|
33
|
-
const signal = opts.signal ?? getExecutor().reportSignal?.();
|
|
34
|
-
signal?.throwIfAborted();
|
|
35
|
-
if (running < GIT_CONCURRENCY) running++;
|
|
36
|
-
else await new Promise((resolve, reject) => {
|
|
37
|
-
const proceed = () => {
|
|
38
|
-
signal?.removeEventListener("abort", cancel);
|
|
39
|
-
resolve();
|
|
40
|
-
};
|
|
41
|
-
const cancel = () => {
|
|
42
|
-
const index = queue.indexOf(proceed);
|
|
43
|
-
if (index !== -1) queue.splice(index, 1);
|
|
44
|
-
reject(signal?.reason);
|
|
45
|
-
};
|
|
46
|
-
queue.push(proceed);
|
|
47
|
-
signal?.addEventListener("abort", cancel, { once: true });
|
|
48
|
-
if (signal?.aborted) cancel();
|
|
49
|
-
});
|
|
50
|
-
try {
|
|
51
|
-
signal?.throwIfAborted();
|
|
52
|
-
const call = gitCall(cwd, args, opts);
|
|
53
|
-
return await getExecutor().runFileAsync("git", call.args, {
|
|
54
|
-
...call.opts,
|
|
55
|
-
signal
|
|
56
|
-
});
|
|
57
|
-
} finally {
|
|
58
|
-
const next = queue.shift();
|
|
59
|
-
if (next) next();
|
|
60
|
-
else running--;
|
|
61
|
-
signal?.throwIfAborted();
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
/** `gitAsync`, returning null instead of throwing. */
|
|
65
|
-
async function gitQuietAsync(cwd, args, opts = {}) {
|
|
66
|
-
try {
|
|
67
|
-
return await gitAsync(cwd, args, opts);
|
|
68
|
-
} catch {
|
|
69
|
-
return null;
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
//#endregion
|
|
73
|
-
export { gitQuietAsync as i, gitAsync as n, gitQuiet as r, git as t };
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import "./exec-H20xSg2T.mjs";
|
|
2
|
-
import { StimContext } from "@stim-cli/core";
|
|
3
|
-
import { SettingScope, SettingsObject, WebViewport } from "@stim-cli/core/state";
|
|
4
|
-
import { ProcessRecord } from "@stim-cli/core/process-identity";
|
|
5
|
-
import "@stim-cli/cache";
|
|
6
|
-
//#region src/supervisor/state.d.ts
|
|
7
|
-
declare const MODE_BARE = "bare-inproc";
|
|
8
|
-
declare const MODE_EXPO = "expo-child";
|
|
9
|
-
type WorkspaceLaunchPlatform = "ios" | "android";
|
|
10
|
-
declare function clearWorkspaceSupervisor(root: string, expected?: ProcessRecord | null): boolean;
|
|
11
|
-
declare function clearExpoMetroTunnel(root: string): void;
|
|
12
|
-
declare function writePidFile(root: string, pid: number): string;
|
|
13
|
-
declare function readPidFile(root: string): number | null;
|
|
14
|
-
//#endregion
|
|
15
|
-
export { clearExpoMetroTunnel as a, writePidFile as c, WorkspaceLaunchPlatform as i, MODE_BARE as n, clearWorkspaceSupervisor as o, MODE_EXPO as r, readPidFile as s, SettingsObject as t };
|
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
import { s as spawnDeclared, t as getExecutor } from "./exec-_UbtCQcG.mjs";
|
|
2
|
-
import { It as repoRootAsync } from "./settings-CsJDEXgK.mjs";
|
|
3
|
-
import { c as macosToolchainAsync } from "./toolchain-Hp9sCpK4.mjs";
|
|
4
|
-
import { i as validateInfoPlist, n as setBundleName, r as stageBundle, t as resolveBundleExtras } from "./stage-BIS0ydsV.mjs";
|
|
5
|
-
import { t as logLines } from "./run-D23HmJMs.mjs";
|
|
6
|
-
import { existsSync, realpathSync } from "node:fs";
|
|
7
|
-
import { join, relative, resolve } from "node:path";
|
|
8
|
-
//#region src/integrations/swiftpm-macos.ts
|
|
9
|
-
function swiftpmMacosProject(root) {
|
|
10
|
-
return { async prepare(context, settings) {
|
|
11
|
-
const macos = settings.macos;
|
|
12
|
-
if (!macos?.product || !macos.infoPlist) throw Object.assign(/* @__PURE__ */ new Error("Set macos.product and macos.infoPlist explicitly in .stim.json. See stim guide macos."), { code: "STIM_BAD_ARG" });
|
|
13
|
-
const { product, infoPlist } = macos;
|
|
14
|
-
const { bundleId } = await validateInfoPlist(context, root, product, infoPlist);
|
|
15
|
-
const repository = realpathSync(await repoRootAsync(root, {
|
|
16
|
-
env: context.env,
|
|
17
|
-
signal: context.signal
|
|
18
|
-
}) ?? root);
|
|
19
|
-
const extras = resolveBundleExtras(root, repository, macos.resources, macos.assetCatalog);
|
|
20
|
-
return {
|
|
21
|
-
product,
|
|
22
|
-
arguments: macos.arguments ?? [],
|
|
23
|
-
bundleId,
|
|
24
|
-
async compile({ scratch, writer, note }) {
|
|
25
|
-
await tool(context, root, [
|
|
26
|
-
"build",
|
|
27
|
-
"-c",
|
|
28
|
-
"debug",
|
|
29
|
-
"--product",
|
|
30
|
-
product,
|
|
31
|
-
"--scratch-path",
|
|
32
|
-
scratch,
|
|
33
|
-
"--jobs",
|
|
34
|
-
"2"
|
|
35
|
-
], writer, note);
|
|
36
|
-
return tool(context, root, [
|
|
37
|
-
"build",
|
|
38
|
-
"-c",
|
|
39
|
-
"debug",
|
|
40
|
-
"--scratch-path",
|
|
41
|
-
scratch,
|
|
42
|
-
"--show-bin-path"
|
|
43
|
-
], writer, () => {}, true);
|
|
44
|
-
},
|
|
45
|
-
stage: (bin, bundle, id, displayName) => stageBundle(context, root, product, infoPlist, bin, bundle, id, extras, displayName),
|
|
46
|
-
async validateFetched(bundle, id, displayName) {
|
|
47
|
-
const executable = join(bundle, "Contents", "MacOS", product);
|
|
48
|
-
const plist = JSON.parse(await getExecutor().runFileAsync("plutil", [
|
|
49
|
-
"-convert",
|
|
50
|
-
"json",
|
|
51
|
-
"-o",
|
|
52
|
-
"-",
|
|
53
|
-
join(bundle, "Contents", "Info.plist")
|
|
54
|
-
], {
|
|
55
|
-
timeoutMs: 1e4,
|
|
56
|
-
declareFor: context
|
|
57
|
-
}));
|
|
58
|
-
if (plist.CFBundleIdentifier !== id || plist.CFBundleExecutable !== product || !existsSync(executable)) throw new Error("The fetched macOS bundle does not match the requested identity and executable.");
|
|
59
|
-
for (const destination of [...Object.keys(extras.resources), ...extras.assetCatalog ? ["Assets.car"] : []]) if (!existsSync(join(bundle, "Contents", "Resources", destination))) throw new Error(`The fetched macOS bundle lacks declared resource ${destination}.`);
|
|
60
|
-
if (displayName !== void 0) {
|
|
61
|
-
await setBundleName(context, join(bundle, "Contents", "Info.plist"), displayName);
|
|
62
|
-
await getExecutor().runFileAsync("codesign", [
|
|
63
|
-
"--force",
|
|
64
|
-
"--sign",
|
|
65
|
-
"-",
|
|
66
|
-
bundle
|
|
67
|
-
], {
|
|
68
|
-
timeoutMs: "unbounded",
|
|
69
|
-
declareFor: context
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
|
-
await getExecutor().runFileAsync("codesign", [
|
|
73
|
-
"--verify",
|
|
74
|
-
"--strict",
|
|
75
|
-
bundle
|
|
76
|
-
], {
|
|
77
|
-
timeoutMs: "unbounded",
|
|
78
|
-
declareFor: context
|
|
79
|
-
});
|
|
80
|
-
},
|
|
81
|
-
offload: {
|
|
82
|
-
target: async () => ({
|
|
83
|
-
platform: "macos",
|
|
84
|
-
local: await macosToolchainAsync()
|
|
85
|
-
}),
|
|
86
|
-
request: (id) => ({
|
|
87
|
-
platform: "macos",
|
|
88
|
-
product,
|
|
89
|
-
infoPlist: relative(root, resolve(root, infoPlist)),
|
|
90
|
-
bundleId: id,
|
|
91
|
-
resources: Object.fromEntries(Object.entries(extras.resources).map(([destination, source]) => [destination, relative(repository, source)])),
|
|
92
|
-
assetCatalog: extras.assetCatalog ? relative(repository, extras.assetCatalog) : null
|
|
93
|
-
})
|
|
94
|
-
}
|
|
95
|
-
};
|
|
96
|
-
} };
|
|
97
|
-
}
|
|
98
|
-
async function tool(context, root, args, writer, note, capture = false) {
|
|
99
|
-
const child = spawnDeclared(context, () => getExecutor().spawn("swift", args, {
|
|
100
|
-
cwd: root,
|
|
101
|
-
detached: true,
|
|
102
|
-
stdio: [
|
|
103
|
-
"ignore",
|
|
104
|
-
"pipe",
|
|
105
|
-
"pipe"
|
|
106
|
-
]
|
|
107
|
-
}));
|
|
108
|
-
let stdout = "";
|
|
109
|
-
child.stdout?.on("data", (chunk) => {
|
|
110
|
-
if (capture) stdout += chunk.toString("utf8");
|
|
111
|
-
});
|
|
112
|
-
const write = (msg) => {
|
|
113
|
-
writer.write({
|
|
114
|
-
src: "build",
|
|
115
|
-
platform: "macos",
|
|
116
|
-
level: "debug",
|
|
117
|
-
msg
|
|
118
|
-
});
|
|
119
|
-
note(msg);
|
|
120
|
-
};
|
|
121
|
-
if (child.stdout) logLines(child.stdout, write);
|
|
122
|
-
if (child.stderr) logLines(child.stderr, write);
|
|
123
|
-
await new Promise((done, reject) => {
|
|
124
|
-
child.once("error", reject);
|
|
125
|
-
child.once("close", (code) => code === 0 ? done() : reject(/* @__PURE__ */ new Error(`swift ${args[0]} failed (${code}). See stim logs --source build.`)));
|
|
126
|
-
});
|
|
127
|
-
return stdout.trim();
|
|
128
|
-
}
|
|
129
|
-
//#endregion
|
|
130
|
-
export { swiftpmMacosProject };
|
package/dist/web-DknQETPs.mjs
DELETED
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { c as stopDeclaringSpawnsOn, f as ownership_claim_exports, i as declareSpawnsOn } from "./exec-_UbtCQcG.mjs";
|
|
2
|
-
import { join } from "node:path";
|
|
3
|
-
import { setTimeout } from "node:timers/promises";
|
|
4
|
-
//#region src/engine/workspace-process-lock.ts
|
|
5
|
-
const DEFAULT_WAIT_MS = 6e4;
|
|
6
|
-
const POLL_MS = 25;
|
|
7
|
-
function workspaceProcessLockError(err) {
|
|
8
|
-
const code = err?.code;
|
|
9
|
-
if (code === "STIM_LOCK_REFUSED") return "refused";
|
|
10
|
-
if (code === "STIM_LOCK_TIMEOUT") return "timeout";
|
|
11
|
-
return null;
|
|
12
|
-
}
|
|
13
|
-
function workspaceProcessLockPath(root, name, external) {
|
|
14
|
-
return external ? join(root, `${name}.lock`) : join(root, ".stim", `${name}.lock`);
|
|
15
|
-
}
|
|
16
|
-
async function withWorkspaceProcessLock(root, name, fn, { now = Date.now, signal, sleep = (ms) => setTimeout(ms, void 0, { signal }), waitMs = DEFAULT_WAIT_MS, ownerPurpose, details = {}, onHeld, rejectOwnerPurposes = [], external = false, declareSpawnsFor } = {}) {
|
|
17
|
-
const path = workspaceProcessLockPath(root, name, external);
|
|
18
|
-
const deadline = now() + waitMs;
|
|
19
|
-
for (;;) {
|
|
20
|
-
signal?.throwIfAborted();
|
|
21
|
-
const attempt = (0, ownership_claim_exports.tryAcquireClaim)({
|
|
22
|
-
root: path,
|
|
23
|
-
mode: "exclusive",
|
|
24
|
-
label: `${name} lock`,
|
|
25
|
-
details: ownerPurpose ? {
|
|
26
|
-
...details,
|
|
27
|
-
purpose: ownerPurpose
|
|
28
|
-
} : details
|
|
29
|
-
});
|
|
30
|
-
if (attempt.pending) (0, ownership_claim_exports.releaseClaim)(attempt.pending);
|
|
31
|
-
if (attempt.acquired) {
|
|
32
|
-
if (declareSpawnsFor) declareSpawnsOn(declareSpawnsFor, attempt.acquired);
|
|
33
|
-
try {
|
|
34
|
-
return await fn(attempt.acquired);
|
|
35
|
-
} finally {
|
|
36
|
-
if (declareSpawnsFor) stopDeclaringSpawnsOn(declareSpawnsFor, attempt.acquired);
|
|
37
|
-
(0, ownership_claim_exports.releaseClaim)(attempt.acquired);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
const holder = attempt.held ?? attempt.waitingFor?.[0];
|
|
41
|
-
const purpose = holder?.details.purpose;
|
|
42
|
-
if (typeof purpose === "string" && rejectOwnerPurposes.includes(purpose)) {
|
|
43
|
-
const error = /* @__PURE__ */ new Error(`The ${name} lock at ${path} is held for ${purpose}.`);
|
|
44
|
-
error.code = "STIM_LOCK_REFUSED";
|
|
45
|
-
throw error;
|
|
46
|
-
}
|
|
47
|
-
if (holder && onHeld) await onHeld(holder);
|
|
48
|
-
if (now() >= deadline) {
|
|
49
|
-
const error = /* @__PURE__ */ new Error(`Timed out waiting for the ${name} lock at ${path}.`);
|
|
50
|
-
error.code = "STIM_LOCK_TIMEOUT";
|
|
51
|
-
throw error;
|
|
52
|
-
}
|
|
53
|
-
await sleep(POLL_MS);
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
//#endregion
|
|
57
|
-
export { workspaceProcessLockError as n, workspaceProcessLockPath as r, withWorkspaceProcessLock as t };
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import { a as matchWorktreeEntry, c as reclaimKeys, d as removalBlockers, f as removalPath, g as worktreeCommand, h as warmedWorkspace, i as excludeWatchmanCookies, l as registerRemove, m as removeWorktreeTarget, n as dependencyInstallCommand, o as nestedWorktrees, p as removalRemedy, r as excludePodChurn, s as porcelainPath, t as customIosDirs, u as registerWarm } from "./worktree-DQ6Zi2Mv.mjs";
|
|
2
|
-
export { customIosDirs, worktreeCommand as default, dependencyInstallCommand, excludePodChurn, excludeWatchmanCookies, matchWorktreeEntry, nestedWorktrees, porcelainPath, reclaimKeys, registerRemove, registerWarm, removalBlockers, removalPath, removalRemedy, removeWorktreeTarget, warmedWorkspace };
|