@@ -275,6 +275,15 @@ struct SchemaFactSourceTests {
275275 #expect( connectedObserveIOS. nextAction? . args == [ " current " , " --platform " , " ios " , " --json " ] )
276276 #expect( connectedObserveIOS. evidence == [ " surface-tree " , " runtime-ax " , " host-layout " ] )
277277
278+ let mediaPlayback = try #require( connected [ " media-playback " ] )
279+ #expect( mediaPlayback. supported)
280+ #expect( mediaPlayback. group == " observe " )
281+ #expect( mediaPlayback. requiredBy. contains ( " assert " ) )
282+ #expect( mediaPlayback. requiredBy. contains ( " evidence " ) )
283+ #expect( mediaPlayback. nextAction? . command == " snapshot " )
284+ #expect( mediaPlayback. nextAction? . args == [ " --include " , " media,ax,screenshot-metadata " , " --json " ] )
285+ #expect( mediaPlayback. evidence == [ " runtime-media " , " runtime-ax " , " screenshot-metadata " ] )
286+
278287 let webViewList = try #require( disconnected [ " webview-list " ] )
279288 #expect( webViewList. supported)
280289 #expect( webViewList. group == " webview " )
@@ -536,7 +545,7 @@ struct SchemaFactSourceTests {
536545 let schemas = commandSchemaMap ( )
537546 let observeSchema = try #require( schemas [ " observe " ] )
538547 let nodeSchema = try #require( schemas [ " node " ] )
539- #expect( observeSchema. providedCapabilities == [ " observe " , " observe-ios " , " observe-android " , " observe-harmony " ] )
548+ #expect( observeSchema. providedCapabilities == [ " observe " , " observe-ios " , " media-playback " , " observe-android " , " observe-harmony " ] )
540549 #expect( nodeSchema. providedCapabilities == [ " node " , " node-resolve " ] )
541550
542551 let connected = connectedCapabilityMap ( )
@@ -556,6 +565,7 @@ struct SchemaFactSourceTests {
556565 ) ] = [
557566 ( " observe " , " observe " , [ " action " , " assert " , " evidence " ] , [ " surface-tree " , " runtime-ax " , " host-layout " ] , true , true , " observe " , [ " current " , " --json " ] , " observe " , [ " current " , " --json " ] ) ,
558567 ( " observe-ios " , " observe " , [ " action " , " assert " , " evidence " ] , [ " surface-tree " , " runtime-ax " , " host-layout " ] , true , false , " observe " , [ " current " , " --platform " , " ios " , " --json " ] , " observe " , [ " current " , " --platform " , " ios " , " --json " ] ) ,
568+ ( " media-playback " , " observe " , [ " assert " , " evidence " , " observe " ] , [ " runtime-media " , " runtime-ax " , " screenshot-metadata " ] , true , false , " snapshot " , [ " --include " , " media,ax,screenshot-metadata " , " --json " ] , " status " , [ " --json " ] ) ,
559569 ( " observe-android " , " observe " , [ " action " , " assert " , " evidence " ] , [ " surface-tree " , " runtime-ax " , " host-layout " ] , true , true , " observe " , [ " tree " , " --platform " , " android " , " --device " , " <selector> " , " --json " ] , " observe " , [ " tree " , " --platform " , " android " , " --device " , " <selector> " , " --json " ] ) ,
560570 ( " observe-harmony " , " observe " , [ " action " , " assert " , " evidence " ] , [ " surface-tree " , " runtime-ax " , " host-layout " ] , true , true , " observe " , [ " tree " , " --platform " , " harmony " , " --device " , " <selector> " , " --json " ] , " observe " , [ " tree " , " --platform " , " harmony " , " --device " , " <selector> " , " --json " ] ) ,
561571 ( " node " , " observe " , [ " action " , " assert " , " evidence " ] , [ " hierarchy-node " , " surface-tree " ] , true , false , " node " , [ " --oid " , " <oid> " , " --json " ] , " status " , [ " --json " ] ) ,
@@ -1273,7 +1283,7 @@ struct SchemaFactSourceTests {
12731283
12741284 let runtimeReasonCapabilities = Set ( [
12751285 " runtime-manifest " , " state-app " , " state-scene " , " state-route " , " state-responder " ,
1276- " snapshot " , " focus " , " set-text " , " select-segment " , " set-switch " , " semantic-action " , " ledger " ,
1286+ " snapshot " , " media-playback " , " focus " , " set-text " , " select-segment " , " set-switch " , " semantic-action " , " ledger " ,
12771287 " observe-ios " ,
12781288 " inspect " , " hierarchy " , " nodes " , " node " , " attrs " , " object " ,
12791289 " export-json " , " export-archive " , " geometry " , " ax " , " hit " , " screenshot " ,
@@ -1529,7 +1539,7 @@ struct SchemaFactSourceTests {
15291539 " target " : [ " target " ] ,
15301540 " runtime " : [ " runtime " , " state " , " snapshot " , " focus " , " set-text " , " select-segment " , " set-switch " , " ledger " , " schema " , " status " , " serve " ] ,
15311541 " host " : [ " device " , " sim " , " app " , " ax " ] ,
1532- " observe " : [ " observe " , " list " , " inspect " , " hierarchy " , " nodes " , " node " , " attrs " , " object " , " export " , " geometry " , " ax " , " screenshot " , " hit " , " wait " , " status " , " serve " ] ,
1542+ " observe " : [ " observe " , " snapshot " , " list " , " inspect " , " hierarchy " , " nodes " , " node " , " attrs " , " object " , " export " , " geometry " , " ax " , " screenshot " , " hit " , " wait " , " status " , " serve " ] ,
15331543 " webview " : [ " webview " ] ,
15341544 " route " : [ " route " ] ,
15351545 " evidence " : [ " evidence " , " status " , " serve " ] ,
@@ -3713,7 +3723,7 @@ struct SchemaFactSourceTests {
37133723 #expect( snapshot. nextCommands. contains ( " triton assert text-exists <text> --json " ) )
37143724 expectContract ( snapshot, selector: " runtime.snapshot " , fields: [
37153725 " ok " , " capturedAt " , " runtime " , " targetConnectionState " , " include " , " app " , " scene " ,
3716- " route " , " responder " , " geometry " , " ax " , " screenshot " , " artifacts " , " skipped " , " truncation " ,
3726+ " route " , " responder " , " media " , " geometry " , " ax " , " screenshot " , " artifacts " , " skipped " , " truncation " ,
37173727 ] )
37183728
37193729 #expect( observe. failureCodes. contains ( " target_not_found " ) )
@@ -4023,7 +4033,7 @@ private func capabilityEvidenceTaxonomy() -> Set<String> {
40234033 " host-layout " , " host-targets.json " , " hierarchy-node " , " input.result " ,
40244034 " page-events " , " provider-url " , " route-assertion " , " runtime-ax " ,
40254035 " runtime-ledger " , " runtime-manifest " , " runtime-provider " ,
4026- " runtime-samples " , " runtime-snapshot " , " screenshot " , " screenshot-metadata " ,
4036+ " runtime-media " , " runtime- samples" , " runtime-snapshot " , " screenshot " , " screenshot-metadata " ,
40274037 " smoke-summary " , " snapshot-json " , " status-json " , " stdout-json " ,
40284038 " surface-tree " , " target.resolution " , " trace " , " tritonplan " ,
40294039 " unsupported-envelope " , " wait.result " , " wait-samples " , " webview-candidates " ,
0 commit comments