@swmansion/argent 0.32.1-next.19 → 0.32.1-next.20
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/assets/manifest.json +2 -2
- package/bin/argent-android-devtools-0.4.0.apk +0 -0
- package/bin/darwin/argent-macos-helper +0 -0
- package/bin/darwin/ax-service +0 -0
- package/bin/darwin/tvos-ax-service +0 -0
- package/bin/darwin/tvos-hid-daemon +0 -0
- package/bin/network-inspector/network-inspector.jar +0 -0
- package/bin/tcp/ax-service +0 -0
- package/dist/cli-cmds.mjs +1 -1
- package/dist/installer.mjs +1 -1
- package/dist/tool-server.cjs +41 -23
- package/dylibs/libArgentInjectionBootstrap.dylib +0 -0
- package/dylibs/libKeyboardPatch.dylib +0 -0
- package/dylibs/libNativeDevtoolsIos.dylib +0 -0
- package/dylibs/macos/libArgentInjectionBootstrap.dylib +0 -0
- package/dylibs/macos/libNativeDevtoolsMacos.dylib +0 -0
- package/dylibs/tcp/libArgentInjectionBootstrap.dylib +0 -0
- package/dylibs/tcp/libKeyboardPatch.dylib +0 -0
- package/dylibs/tcp/libNativeDevtoolsIos.dylib +0 -0
- package/dylibs/tvos/libArgentInjectionBootstrap.dylib +0 -0
- package/dylibs/tvos/libKeyboardPatch.dylib +0 -0
- package/dylibs/tvos/libNativeDevtoolsIos.dylib +0 -0
- package/package.json +1 -1
- package/bin/argent-android-devtools-0.3.0.apk +0 -0
package/assets/manifest.json
CHANGED
|
Binary file
|
|
Binary file
|
package/bin/darwin/ax-service
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/bin/tcp/ax-service
CHANGED
|
Binary file
|
package/dist/cli-cmds.mjs
CHANGED
|
@@ -35871,7 +35871,7 @@ var _CI_VENDOR_COUNT_FOR_TEST = vendors_default.length;
|
|
|
35871
35871
|
var SESSION_ID2 = randomUUID5();
|
|
35872
35872
|
function readCliVersion() {
|
|
35873
35873
|
if (true) {
|
|
35874
|
-
return "0.32.1-next.
|
|
35874
|
+
return "0.32.1-next.20";
|
|
35875
35875
|
}
|
|
35876
35876
|
return "0.0.0";
|
|
35877
35877
|
}
|
package/dist/installer.mjs
CHANGED
|
@@ -16981,7 +16981,7 @@ var _CI_VENDOR_COUNT_FOR_TEST = vendors_default.length;
|
|
|
16981
16981
|
var SESSION_ID = randomUUID4();
|
|
16982
16982
|
function readCliVersion() {
|
|
16983
16983
|
if (true) {
|
|
16984
|
-
return "0.32.1-next.
|
|
16984
|
+
return "0.32.1-next.20";
|
|
16985
16985
|
}
|
|
16986
16986
|
return "0.0.0";
|
|
16987
16987
|
}
|
package/dist/tool-server.cjs
CHANGED
|
@@ -79538,14 +79538,18 @@ function platformMatrix(platform, capability41) {
|
|
|
79538
79538
|
return capability41.macos;
|
|
79539
79539
|
}
|
|
79540
79540
|
}
|
|
79541
|
+
function macosAppsUnavailableReason() {
|
|
79542
|
+
if (!isFlagEnabled(MACOS_APPS_FLAG)) return MACOS_APPS_FLAG_OFF_REASON;
|
|
79543
|
+
if (process.platform !== "darwin") return "native Mac apps can only be driven on macOS";
|
|
79544
|
+
return null;
|
|
79545
|
+
}
|
|
79541
79546
|
function assertSupported(toolId, capability41, device) {
|
|
79542
79547
|
if (!capability41) return;
|
|
79543
79548
|
if (device.platform === "harmony" && !isHarmonyEnabled()) {
|
|
79544
79549
|
throw new UnsupportedOperationError(toolId, device, HARMONY_DISABLED_REASON);
|
|
79545
79550
|
}
|
|
79546
|
-
|
|
79547
|
-
|
|
79548
|
-
}
|
|
79551
|
+
const macosRefusal = device.platform === "macos" ? macosAppsUnavailableReason() : null;
|
|
79552
|
+
if (macosRefusal) throw new UnsupportedOperationError(toolId, device, macosRefusal);
|
|
79549
79553
|
const matrix = platformMatrix(device.platform, capability41);
|
|
79550
79554
|
if (!matrix) {
|
|
79551
79555
|
const reason2 = (device.platform === "macos" ? MACOS_REFUSAL_REASONS[toolId] : void 0) ?? `no ${device.platform} support declared`;
|
|
@@ -101252,7 +101256,7 @@ var _CI_VENDOR_COUNT_FOR_TEST = vendors_default.length;
|
|
|
101252
101256
|
var SESSION_ID = (0, import_node_crypto3.randomUUID)();
|
|
101253
101257
|
function readCliVersion() {
|
|
101254
101258
|
if (true) {
|
|
101255
|
-
return "0.32.1-next.
|
|
101259
|
+
return "0.32.1-next.20";
|
|
101256
101260
|
}
|
|
101257
101261
|
return "0.0.0";
|
|
101258
101262
|
}
|
|
@@ -125696,11 +125700,12 @@ function isMacosAppsEnabled() {
|
|
|
125696
125700
|
return isFlagEnabled(MACOS_APPS_FLAG);
|
|
125697
125701
|
}
|
|
125698
125702
|
function assertMacosAppsEnabled(toolId, device) {
|
|
125699
|
-
|
|
125703
|
+
const reason2 = macosAppsUnavailableReason();
|
|
125704
|
+
if (!reason2) return;
|
|
125700
125705
|
throw new UnsupportedOperationError(
|
|
125701
125706
|
toolId,
|
|
125702
125707
|
device ?? { id: MACOS_APP_ID_PREFIX, platform: "macos", kind: "app" },
|
|
125703
|
-
|
|
125708
|
+
reason2
|
|
125704
125709
|
);
|
|
125705
125710
|
}
|
|
125706
125711
|
function macosFailure(message, error_code, failure_stage, error_kind, cause) {
|
|
@@ -143560,10 +143565,14 @@ function extractBearerToken(authHeader) {
|
|
|
143560
143565
|
}
|
|
143561
143566
|
function isToolExposed(def) {
|
|
143562
143567
|
if (!def) return false;
|
|
143563
|
-
if (def.featureFlag && !
|
|
143568
|
+
if (def.featureFlag && !isFlagOffered(def.featureFlag)) return false;
|
|
143564
143569
|
if (def.hideWhen?.()) return false;
|
|
143565
143570
|
return true;
|
|
143566
143571
|
}
|
|
143572
|
+
function isFlagOffered(flag) {
|
|
143573
|
+
if (flag === MACOS_APPS_FLAG) return macosAppsUnavailableReason() === null;
|
|
143574
|
+
return isFlagEnabled(flag);
|
|
143575
|
+
}
|
|
143567
143576
|
function findDependencyMissing(err) {
|
|
143568
143577
|
return findErrorInCauseChain(err, DependencyMissingError);
|
|
143569
143578
|
}
|
|
@@ -143896,18 +143905,18 @@ function createHttpApp(registry2, options) {
|
|
|
143896
143905
|
const tools = snapshot.tools.map((id) => registry2.getTool(id)).filter((def) => isToolExposed(def)).flatMap((def) => {
|
|
143897
143906
|
const entry = {
|
|
143898
143907
|
name: def.id,
|
|
143899
|
-
description: renderFlagGated(def.description ?? "",
|
|
143908
|
+
description: renderFlagGated(def.description ?? "", isFlagOffered),
|
|
143900
143909
|
inputSchema: renderFlagGated(
|
|
143901
143910
|
def.inputSchema ?? { type: "object", properties: {} },
|
|
143902
|
-
|
|
143911
|
+
isFlagOffered
|
|
143903
143912
|
)
|
|
143904
143913
|
};
|
|
143905
|
-
if (def.outputHint) entry.outputHint = renderFlagGated(def.outputHint,
|
|
143914
|
+
if (def.outputHint) entry.outputHint = renderFlagGated(def.outputHint, isFlagOffered);
|
|
143906
143915
|
if (def.fileInputs && def.fileInputs.length > 0) {
|
|
143907
143916
|
entry.fileInputs = withFormerParamSpecs(def.id, def.fileInputs);
|
|
143908
143917
|
}
|
|
143909
143918
|
if (def.alwaysLoad) entry.alwaysLoad = true;
|
|
143910
|
-
if (def.searchHint) entry.searchHint = renderFlagGated(def.searchHint,
|
|
143919
|
+
if (def.searchHint) entry.searchHint = renderFlagGated(def.searchHint, isFlagOffered);
|
|
143911
143920
|
if (def.longRunning) entry.longRunning = true;
|
|
143912
143921
|
if (def.hideFromMcp) entry.hideFromMcp = true;
|
|
143913
143922
|
if (def.readOnly) entry.readOnly = true;
|
|
@@ -146507,6 +146516,8 @@ function toRequestLine(record2) {
|
|
|
146507
146516
|
// ../tool-server/src/tools/native-devtools/native-find-views.ts
|
|
146508
146517
|
init_zod();
|
|
146509
146518
|
init_src2();
|
|
146519
|
+
init_device_info();
|
|
146520
|
+
var MACOS_NO_MATCH_NOTE = "No NSView matched. SwiftUI sets a control's identifier and label on an accessibility element, not on an NSView, so this search does not find SwiftUI controls: describe lists them with their identifiers and frames.";
|
|
146510
146521
|
var zodSchema5 = external_exports.object({
|
|
146511
146522
|
...nativeAppTarget,
|
|
146512
146523
|
className: external_exports.string().optional().describe("UIView class name to match (exact, e.g. UIButton)"),
|
|
@@ -146525,7 +146536,7 @@ var nativeFindViewsTool = {
|
|
|
146525
146536
|
description: `Search for specific UIViews in the running app by class name, accessibility identifier, accessibility label, tag or React Native nativeID; at least one of these params is required.
|
|
146526
146537
|
Use when you need to locate a specific view by its properties without dumping the entire native-full-hierarchy.
|
|
146527
146538
|
Returns { status: "ok", matches }: the matching views with their frames, properties, optional ancestors and optional children. Frames are in points. frame and center are relative to the superview, and windowFrame turns with the UI. To tap a view, divide the centre of its screenFrame by the screen size in points, which native-full-hierarchy returns as screen (maxDepth: 1 is enough), and pass the result to gesture-tap. Matches are not filtered for visibility. Before tapping, call native-user-interactable-view-at-point at that centre with skipClasses ["UITextEffectsWindow"]. If it does not return the match or a descendant, check a screenshot.
|
|
146528
|
-
<flag:macos-apps>On a Mac app it searches the NSViews of every visible window: className is the NSView class, and identifier matches the accessibility identifier or the view identifier. The tap recipe above and the statuses below are iOS only.
|
|
146539
|
+
<flag:macos-apps>On a Mac app it searches the NSViews of every visible window: className is the NSView class, and identifier matches the accessibility identifier or the view identifier. SwiftUI sets a control's identifier and label on an accessibility element, not on an NSView, so an identifier or label search does not find SwiftUI controls: describe lists them with their identifiers and frames. The tap recipe above and the statuses below are iOS only.
|
|
146529
146540
|
</flag:macos-apps>If status is restart_required: follow the message (usually restart-app), then retry. If status is service_stale: the app is already injected, so restarting it cannot help. Restart the tool-server (\`argent server stop && argent server start --detach\`) and retry. If the same status comes back after that restart, stop restarting: follow the message, which names the terminal fallback. If status is connect_pending: the app is injected and still connecting. Do not restart it, wait a few seconds and retry. If status is init_failed: follow the message (re-boot the simulator) rather than retrying.
|
|
146530
146541
|
An Apple system app is rejected outright (terminal: never retry it).`,
|
|
146531
146542
|
zodSchema: zodSchema5,
|
|
@@ -146544,17 +146555,24 @@ An Apple system app is rejected outright (terminal: never retry it).`,
|
|
|
146544
146555
|
macos: { app: true }
|
|
146545
146556
|
},
|
|
146546
146557
|
services: nativeAppServices,
|
|
146547
|
-
execute: (services, params) =>
|
|
146548
|
-
|
|
146549
|
-
|
|
146550
|
-
|
|
146551
|
-
|
|
146552
|
-
|
|
146553
|
-
|
|
146554
|
-
|
|
146555
|
-
|
|
146556
|
-
|
|
146557
|
-
|
|
146558
|
+
execute: (services, params) => {
|
|
146559
|
+
const noteOnEmpty = resolveDevice(params.udid).platform === "macos" && (params.identifier !== void 0 || params.label !== void 0);
|
|
146560
|
+
return queryViewHierarchyFor(
|
|
146561
|
+
services,
|
|
146562
|
+
params,
|
|
146563
|
+
"native-find-views",
|
|
146564
|
+
"ViewHierarchy.findViews",
|
|
146565
|
+
FAILURE_CODES.NATIVE_DEVTOOLS_FIND_VIEWS_ERROR,
|
|
146566
|
+
(result) => {
|
|
146567
|
+
const matches2 = result.matches ?? [];
|
|
146568
|
+
return {
|
|
146569
|
+
status: "ok",
|
|
146570
|
+
matches: matches2,
|
|
146571
|
+
...noteOnEmpty && matches2.length === 0 ? { note: MACOS_NO_MATCH_NOTE } : {}
|
|
146572
|
+
};
|
|
146573
|
+
}
|
|
146574
|
+
);
|
|
146575
|
+
}
|
|
146558
146576
|
};
|
|
146559
146577
|
|
|
146560
146578
|
// ../tool-server/src/tools/native-devtools/native-full-hierarchy.ts
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@swmansion/argent",
|
|
3
|
-
"version": "0.32.1-next.
|
|
3
|
+
"version": "0.32.1-next.20",
|
|
4
4
|
"mcpName": "io.github.software-mansion/argent",
|
|
5
5
|
"description": "MCP server for iOS Simulator, Android Emulator, Chromium app and Mac app control",
|
|
6
6
|
"license": "Apache-2.0",
|
|
Binary file
|