@basmilius/apple-devices 0.0.70 → 0.0.72

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.
@@ -7,6 +7,7 @@ type EventMap = {
7
7
  readonly deviceInfo: [Proto.DeviceInfoMessage];
8
8
  readonly originClientProperties: [Proto.OriginClientPropertiesMessage];
9
9
  readonly playerClientProperties: [Proto.PlayerClientPropertiesMessage];
10
+ readonly removeClient: [Proto.RemoveClientMessage];
10
11
  readonly sendCommandResult: [Proto.SendCommandResultMessage];
11
12
  readonly setArtwork: [Proto.SetArtworkMessage];
12
13
  readonly setDefaultSupportedCommands: [Proto.SetDefaultSupportedCommandsMessage];
@@ -34,6 +35,7 @@ export default class extends EventEmitter<EventMap> {
34
35
  onDeviceInfo(message: Proto.DeviceInfoMessage): Promise<void>;
35
36
  onOriginClientProperties(message: Proto.OriginClientPropertiesMessage): Promise<void>;
36
37
  onPlayerClientProperties(message: Proto.PlayerClientPropertiesMessage): Promise<void>;
38
+ onRemoveClient(message: Proto.RemoveClientMessage): Promise<void>;
37
39
  onSendCommandResult(message: Proto.SendCommandResultMessage): Promise<void>;
38
40
  onSetArtwork(message: Proto.SetArtworkMessage): Promise<void>;
39
41
  onSetDefaultSupportedCommands(message: Proto.SetDefaultSupportedCommandsMessage): Promise<void>;
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- var ff=Object.defineProperty;var ho=(o,t)=>{for(var f in t)ff(o,f,{get:t[f],enumerable:!0,configurable:!0,set:(d)=>t[f]=()=>d})};var Uo=2000,E=Symbol("com.basmilius.airplay:protocol"),_=Symbol("com.basmilius.airplay:subscribe"),c=Symbol("com.basmilius.airplay:unsubscribe");import{EventEmitter as ui}from"node:events";import{AirPlay as Ei}from"@basmilius/apple-airplay";import{waitFor as hi}from"@basmilius/apple-common";import{reporter as V}from"@basmilius/apple-common";import{Proto as df}from"@basmilius/apple-airplay";import{waitFor as qo}from"@basmilius/apple-common";class Yo{get#o(){return this.#f.dataStream}get#f(){return this.#d[E]}#d;constructor(o){this.#d=o}async up(){await this.pressAndRelease(1,140)}async down(){await this.pressAndRelease(1,141)}async left(){await this.pressAndRelease(1,139)}async right(){await this.pressAndRelease(1,138)}async menu(){await this.pressAndRelease(1,134)}async play(){await this.pressAndRelease(12,176)}async playPause(){if(this.#d.state.nowPlayingClient?.playbackState===df.PlaybackState_Enum.Playing)await this.pause();else await this.play()}async pause(){await this.pressAndRelease(12,177)}async next(){await this.pressAndRelease(12,181)}async previous(){await this.pressAndRelease(12,182)}async suspend(){await this.pressAndRelease(1,130)}async select(){await this.pressAndRelease(1,137)}async wake(){await this.pressAndRelease(1,131)}async home(){await this.pressAndRelease(12,64)}async volumeUp(){await this.pressAndRelease(12,233)}async volumeDown(){await this.pressAndRelease(12,234)}async mute(){await this.pressAndRelease(12,226)}async doublePress(o,t){await this.pressAndRelease(o,t),await qo(150),await this.pressAndRelease(o,t)}async longPress(o,t,f=1000){await this.#o.exchange(this.#o.messages.sendHIDEvent(o,t,!0)),await qo(f),await this.#o.exchange(this.#o.messages.sendHIDEvent(o,t,!1))}async pressAndRelease(o,t){await this.#o.exchange(this.#o.messages.sendHIDEvent(o,t,!0)),await this.#o.exchange(this.#o.messages.sendHIDEvent(o,t,!1))}}import{EventEmitter as ai}from"node:events";import{Proto as wi}from"@basmilius/apple-airplay";import{Proto as Pi}from"@basmilius/apple-airplay";var mf=typeof global=="object"&&global&&global.Object===Object&&global,y=mf;var rf=typeof self=="object"&&self&&self.Object===Object&&self,xf=y||rf||Function("return this")(),a=xf;var nf=a.Symbol,K=nf;var Io=Object.prototype,pf=Io.hasOwnProperty,lf=Io.toString,z=K?K.toStringTag:void 0;function sf(o){var t=pf.call(o,z),f=o[z];try{o[z]=void 0;var d=!0}catch(r){}var i=lf.call(o);if(d)if(t)o[z]=f;else delete o[z];return i}var Bo=sf;var Pf=Object.prototype,af=Pf.toString;function wf(o){return af.call(o)}var No=wf;var uf="[object Null]",Ef="[object Undefined]",$o=K?K.toStringTag:void 0;function hf(o){if(o==null)return o===void 0?Ef:uf;return $o&&$o in Object(o)?Bo(o):No(o)}var h=hf;function Wf(o){return o!=null&&typeof o=="object"}var w=Wf;var Sf=Array.isArray,H=Sf;function Cf(o){var t=typeof o;return o!=null&&(t=="object"||t=="function")}var l=Cf;function Df(o){return o}var v=Df;var Rf="[object AsyncFunction]",Qf="[object Function]",Kf="[object GeneratorFunction]",Uf="[object Proxy]";function qf(o){if(!l(o))return!1;var t=h(o);return t==Qf||t==Kf||t==Rf||t==Uf}var U=qf;var Yf=a["__core-js_shared__"],T=Yf;var Zo=function(){var o=/[^.]+$/.exec(T&&T.keys&&T.keys.IE_PROTO||"");return o?"Symbol(src)_1."+o:""}();function If(o){return!!Zo&&Zo in o}var Jo=If;var Bf=Function.prototype,Nf=Bf.toString;function $f(o){if(o!=null){try{return Nf.call(o)}catch(t){}try{return o+""}catch(t){}}return""}var Xo=$f;var Zf=/[\\^$.*+?()[\]{}|]/g,Jf=/^\[object .+?Constructor\]$/,Xf=Function.prototype,Lf=Object.prototype,zf=Xf.toString,Hf=Lf.hasOwnProperty,Ff=RegExp("^"+zf.call(Hf).replace(Zf,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Mf(o){if(!l(o)||Jo(o))return!1;var t=U(o)?Ff:Jf;return t.test(Xo(o))}var Lo=Mf;function Gf(o,t){return o==null?void 0:o[t]}var zo=Gf;function Af(o,t){var f=zo(o,t);return Lo(f)?f:void 0}var q=Af;var Ho=Object.create,Of=function(){function o(){}return function(t){if(!l(t))return{};if(Ho)return Ho(t);o.prototype=t;var f=new o;return o.prototype=void 0,f}}(),Fo=Of;function Vf(o,t,f){switch(f.length){case 0:return o.call(t);case 1:return o.call(t,f[0]);case 2:return o.call(t,f[0],f[1]);case 3:return o.call(t,f[0],f[1],f[2])}return o.apply(t,f)}var Mo=Vf;function _f(o,t){var f=-1,d=o.length;t||(t=Array(d));while(++f<d)t[f]=o[f];return t}var Go=_f;var cf=800,yf=16,vf=Date.now;function Tf(o){var t=0,f=0;return function(){var d=vf(),i=yf-(d-f);if(f=d,i>0){if(++t>=cf)return arguments[0]}else t=0;return o.apply(void 0,arguments)}}var Ao=Tf;function kf(o){return function(){return o}}var Oo=kf;var bf=function(){try{var o=q(Object,"defineProperty");return o({},"",{}),o}catch(t){}}(),Y=bf;var gf=!Y?v:function(o,t){return Y(o,"toString",{configurable:!0,enumerable:!1,value:Oo(t),writable:!0})},Vo=gf;var jf=Ao(Vo),_o=jf;var ef=9007199254740991,od=/^(?:0|[1-9]\d*)$/;function td(o,t){var f=typeof o;return t=t==null?ef:t,!!t&&(f=="number"||f!="symbol"&&od.test(o))&&(o>-1&&o%1==0&&o<t)}var k=td;function fd(o,t,f){if(t=="__proto__"&&Y)Y(o,t,{configurable:!0,enumerable:!0,value:f,writable:!0});else o[t]=f}var I=fd;function dd(o,t){return o===t||o!==o&&t!==t}var W=dd;var md=Object.prototype,id=md.hasOwnProperty;function rd(o,t,f){var d=o[t];if(!(id.call(o,t)&&W(d,f))||f===void 0&&!(t in o))I(o,t,f)}var co=rd;function xd(o,t,f,d){var i=!f;f||(f={});var r=-1,n=t.length;while(++r<n){var m=t[r],p=d?d(f[m],o[m],m,f,o):void 0;if(p===void 0)p=o[m];if(i)I(f,m,p);else co(f,m,p)}return f}var yo=xd;var vo=Math.max;function nd(o,t,f){return t=vo(t===void 0?o.length-1:t,0),function(){var d=arguments,i=-1,r=vo(d.length-t,0),n=Array(r);while(++i<r)n[i]=d[t+i];i=-1;var m=Array(t+1);while(++i<t)m[i]=d[i];return m[t]=f(n),Mo(o,this,m)}}var To=nd;function pd(o,t){return _o(To(o,t,v),o+"")}var ko=pd;var ld=9007199254740991;function sd(o){return typeof o=="number"&&o>-1&&o%1==0&&o<=ld}var b=sd;function Pd(o){return o!=null&&b(o.length)&&!U(o)}var B=Pd;function ad(o,t,f){if(!l(f))return!1;var d=typeof t;if(d=="number"?B(f)&&k(t,f.length):d=="string"&&(t in f))return W(f[t],o);return!1}var bo=ad;function wd(o){return ko(function(t,f){var d=-1,i=f.length,r=i>1?f[i-1]:void 0,n=i>2?f[2]:void 0;if(r=o.length>3&&typeof r=="function"?(i--,r):void 0,n&&bo(f[0],f[1],n))r=i<3?void 0:r,i=1;t=Object(t);while(++d<i){var m=f[d];if(m)o(t,m,d,r)}return t})}var go=wd;var ud=Object.prototype;function Ed(o){var t=o&&o.constructor,f=typeof t=="function"&&t.prototype||ud;return o===f}var g=Ed;function hd(o,t){var f=-1,d=Array(o);while(++f<o)d[f]=t(f);return d}var jo=hd;var Wd="[object Arguments]";function Sd(o){return w(o)&&h(o)==Wd}var Wo=Sd;var eo=Object.prototype,Cd=eo.hasOwnProperty,Dd=eo.propertyIsEnumerable,Rd=Wo(function(){return arguments}())?Wo:function(o){return w(o)&&Cd.call(o,"callee")&&!Dd.call(o,"callee")},F=Rd;var e={};ho(e,{default:()=>M});function Qd(){return!1}var ot=Qd;var dt=typeof e=="object"&&e&&!e.nodeType&&e,tt=dt&&typeof j=="object"&&j&&!j.nodeType&&j,Kd=tt&&tt.exports===dt,ft=Kd?a.Buffer:void 0,Ud=ft?ft.isBuffer:void 0,qd=Ud||ot,M=qd;var Yd="[object Arguments]",Id="[object Array]",Bd="[object Boolean]",Nd="[object Date]",$d="[object Error]",Zd="[object Function]",Jd="[object Map]",Xd="[object Number]",Ld="[object Object]",zd="[object RegExp]",Hd="[object Set]",Fd="[object String]",Md="[object WeakMap]",Gd="[object ArrayBuffer]",Ad="[object DataView]",Od="[object Float32Array]",Vd="[object Float64Array]",_d="[object Int8Array]",cd="[object Int16Array]",yd="[object Int32Array]",vd="[object Uint8Array]",Td="[object Uint8ClampedArray]",kd="[object Uint16Array]",bd="[object Uint32Array]",x={};x[Od]=x[Vd]=x[_d]=x[cd]=x[yd]=x[vd]=x[Td]=x[kd]=x[bd]=!0;x[Yd]=x[Id]=x[Gd]=x[Bd]=x[Ad]=x[Nd]=x[$d]=x[Zd]=x[Jd]=x[Xd]=x[Ld]=x[zd]=x[Hd]=x[Fd]=x[Md]=!1;function gd(o){return w(o)&&b(o.length)&&!!x[h(o)]}var mt=gd;function jd(o){return function(t){return o(t)}}var it=jd;var to={};ho(to,{default:()=>fo});var rt=typeof to=="object"&&to&&!to.nodeType&&to,G=rt&&typeof oo=="object"&&oo&&!oo.nodeType&&oo,ed=G&&G.exports===rt,So=ed&&y.process,om=function(){try{var o=G&&G.require&&G.require("util").types;if(o)return o;return So&&So.binding&&So.binding("util")}catch(t){}}(),fo=om;var xt=fo&&fo.isTypedArray,tm=xt?it(xt):mt,mo=tm;var fm=Object.prototype,dm=fm.hasOwnProperty;function mm(o,t){var f=H(o),d=!f&&F(o),i=!f&&!d&&M(o),r=!f&&!d&&!i&&mo(o),n=f||d||i||r,m=n?jo(o.length,String):[],p=m.length;for(var P in o)if((t||dm.call(o,P))&&!(n&&(P=="length"||i&&(P=="offset"||P=="parent")||r&&(P=="buffer"||P=="byteLength"||P=="byteOffset")||k(P,p))))m.push(P);return m}var nt=mm;function im(o,t){return function(f){return o(t(f))}}var pt=im;function rm(o){var t=[];if(o!=null)for(var f in Object(o))t.push(f);return t}var lt=rm;var xm=Object.prototype,nm=xm.hasOwnProperty;function pm(o){if(!l(o))return lt(o);var t=g(o),f=[];for(var d in o)if(!(d=="constructor"&&(t||!nm.call(o,d))))f.push(d);return f}var st=pm;function lm(o){return B(o)?nt(o,!0):st(o)}var io=lm;var sm=q(Object,"create"),u=sm;function Pm(){this.__data__=u?u(null):{},this.size=0}var Pt=Pm;function am(o){var t=this.has(o)&&delete this.__data__[o];return this.size-=t?1:0,t}var at=am;var wm="__lodash_hash_undefined__",um=Object.prototype,Em=um.hasOwnProperty;function hm(o){var t=this.__data__;if(u){var f=t[o];return f===wm?void 0:f}return Em.call(t,o)?t[o]:void 0}var wt=hm;var Wm=Object.prototype,Sm=Wm.hasOwnProperty;function Cm(o){var t=this.__data__;return u?t[o]!==void 0:Sm.call(t,o)}var ut=Cm;var Dm="__lodash_hash_undefined__";function Rm(o,t){var f=this.__data__;return this.size+=this.has(o)?0:1,f[o]=u&&t===void 0?Dm:t,this}var Et=Rm;function N(o){var t=-1,f=o==null?0:o.length;this.clear();while(++t<f){var d=o[t];this.set(d[0],d[1])}}N.prototype.clear=Pt;N.prototype.delete=at;N.prototype.get=wt;N.prototype.has=ut;N.prototype.set=Et;var Co=N;function Qm(){this.__data__=[],this.size=0}var ht=Qm;function Km(o,t){var f=o.length;while(f--)if(W(o[f][0],t))return f;return-1}var S=Km;var Um=Array.prototype,qm=Um.splice;function Ym(o){var t=this.__data__,f=S(t,o);if(f<0)return!1;var d=t.length-1;if(f==d)t.pop();else qm.call(t,f,1);return--this.size,!0}var Wt=Ym;function Im(o){var t=this.__data__,f=S(t,o);return f<0?void 0:t[f][1]}var St=Im;function Bm(o){return S(this.__data__,o)>-1}var Ct=Bm;function Nm(o,t){var f=this.__data__,d=S(f,o);if(d<0)++this.size,f.push([o,t]);else f[d][1]=t;return this}var Dt=Nm;function $(o){var t=-1,f=o==null?0:o.length;this.clear();while(++t<f){var d=o[t];this.set(d[0],d[1])}}$.prototype.clear=ht;$.prototype.delete=Wt;$.prototype.get=St;$.prototype.has=Ct;$.prototype.set=Dt;var C=$;var $m=q(a,"Map"),ro=$m;function Zm(){this.size=0,this.__data__={hash:new Co,map:new(ro||C),string:new Co}}var Rt=Zm;function Jm(o){var t=typeof o;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?o!=="__proto__":o===null}var Qt=Jm;function Xm(o,t){var f=o.__data__;return Qt(t)?f[typeof t=="string"?"string":"hash"]:f.map}var D=Xm;function Lm(o){var t=D(this,o).delete(o);return this.size-=t?1:0,t}var Kt=Lm;function zm(o){return D(this,o).get(o)}var Ut=zm;function Hm(o){return D(this,o).has(o)}var qt=Hm;function Fm(o,t){var f=D(this,o),d=f.size;return f.set(o,t),this.size+=f.size==d?0:1,this}var Yt=Fm;function Z(o){var t=-1,f=o==null?0:o.length;this.clear();while(++t<f){var d=o[t];this.set(d[0],d[1])}}Z.prototype.clear=Rt;Z.prototype.delete=Kt;Z.prototype.get=Ut;Z.prototype.has=qt;Z.prototype.set=Yt;var It=Z;var Mm=pt(Object.getPrototypeOf,Object),xo=Mm;var Gm="[object Object]",Am=Function.prototype,Om=Object.prototype,Bt=Am.toString,Vm=Om.hasOwnProperty,_m=Bt.call(Object);function cm(o){if(!w(o)||h(o)!=Gm)return!1;var t=xo(o);if(t===null)return!0;var f=Vm.call(t,"constructor")&&t.constructor;return typeof f=="function"&&f instanceof f&&Bt.call(f)==_m}var Nt=cm;function ym(){this.__data__=new C,this.size=0}var $t=ym;function vm(o){var t=this.__data__,f=t.delete(o);return this.size=t.size,f}var Zt=vm;function Tm(o){return this.__data__.get(o)}var Jt=Tm;function km(o){return this.__data__.has(o)}var Xt=km;var bm=200;function gm(o,t){var f=this.__data__;if(f instanceof C){var d=f.__data__;if(!ro||d.length<bm-1)return d.push([o,t]),this.size=++f.size,this;f=this.__data__=new It(d)}return f.set(o,t),this.size=f.size,this}var Lt=gm;function J(o){var t=this.__data__=new C(o);this.size=t.size}J.prototype.clear=$t;J.prototype.delete=Zt;J.prototype.get=Jt;J.prototype.has=Xt;J.prototype.set=Lt;var zt=J;var po={};ho(po,{default:()=>Do});var Gt=typeof po=="object"&&po&&!po.nodeType&&po,Ht=Gt&&typeof no=="object"&&no&&!no.nodeType&&no,jm=Ht&&Ht.exports===Gt,Ft=jm?a.Buffer:void 0,Mt=Ft?Ft.allocUnsafe:void 0;function em(o,t){if(t)return o.slice();var f=o.length,d=Mt?Mt(f):new o.constructor(f);return o.copy(d),d}var Do=em;var oi=a.Uint8Array,Ro=oi;function ti(o){var t=new o.constructor(o.byteLength);return new Ro(t).set(new Ro(o)),t}var At=ti;function fi(o,t){var f=t?At(o.buffer):o.buffer;return new o.constructor(f,o.byteOffset,o.length)}var Ot=fi;function di(o){return typeof o.constructor=="function"&&!g(o)?Fo(xo(o)):{}}var Vt=di;function mi(o){return function(t,f,d){var i=-1,r=Object(t),n=d(t),m=n.length;while(m--){var p=n[o?m:++i];if(f(r[p],p,r)===!1)break}return t}}var _t=mi;var ii=_t(),ct=ii;function ri(o,t,f){if(f!==void 0&&!W(o[t],f)||f===void 0&&!(t in o))I(o,t,f)}var A=ri;function xi(o){return w(o)&&B(o)}var yt=xi;function ni(o,t){if(t==="constructor"&&typeof o[t]==="function")return;if(t=="__proto__")return;return o[t]}var O=ni;function pi(o){return yo(o,io(o))}var vt=pi;function li(o,t,f,d,i,r,n){var m=O(o,f),p=O(t,f),P=n.get(p);if(P){A(o,f,P);return}var s=r?r(m,p,f+"",o,t,n):void 0,L=s===void 0;if(L){var uo=H(p),Eo=!uo&&M(p),Ko=!uo&&!Eo&&mo(p);if(s=p,uo||Eo||Ko)if(H(m))s=m;else if(yt(m))s=Go(m);else if(Eo)L=!1,s=Do(p,!0);else if(Ko)L=!1,s=Ot(p,!0);else s=[];else if(Nt(p)||F(p)){if(s=m,F(m))s=vt(m);else if(!l(m)||U(m))s=Vt(p)}else L=!1}if(L)n.set(p,s),i(s,p,d,r,n),n.delete(p);A(o,f,s)}var Tt=li;function kt(o,t,f,d,i){if(o===t)return;ct(t,function(r,n){if(i||(i=new zt),l(r))Tt(o,t,n,f,kt,d,i);else{var m=d?d(O(o,n),r,n+"",o,t,i):void 0;if(m===void 0)m=r;A(o,n,m)}},io)}var bt=kt;var si=go(function(o,t,f){bt(o,t,f)}),Qo=si;class lo{get bundleIdentifier(){return this.#o}get displayName(){return this.#f}get playbackQueue(){return this.#d}get playbackState(){return this.#m}get playbackStateTimestamp(){return this.#t}get supportedCommands(){return this.#r}#o;#f;#d=null;#m;#t;#r=[];constructor(o,t){this.#o=o,this.#f=t,this.#m=Pi.PlaybackState_Enum.Unknown,this.#r=[]}isCommandSupported(o){return this.#r.some((t)=>t.command===o)}setPlaybackQueue(o){this.#d=o}setPlaybackState(o,t){this.#m=o,this.#t=t}setSupportedCommands(o){this.#r=o}updateContentItem(o){if(!this.#d)return;let t=this.#d.contentItems.findIndex((f)=>f.identifier===o.identifier);if(t===-1)return;this.#d.contentItems[t]=Qo(o,this.#d.contentItems[t])}}class gt extends ai{get#o(){return this.#f.dataStream}get#f(){return this.#d[E]}get clients(){return this.#m}get nowPlayingClient(){return this.#t?this.#m[this.#t]??null:null}get volume(){return this.#r}get volumeAvailable(){return this.#x}get volumeCapabilities(){return this.#n}#d;#m;#t;#r;#x;#n;constructor(o){super();this.#d=o,this.clear(),this.onDeviceInfo=this.onDeviceInfo.bind(this),this.onOriginClientProperties=this.onOriginClientProperties.bind(this),this.onPlayerClientProperties=this.onPlayerClientProperties.bind(this),this.onSendCommandResult=this.onSendCommandResult.bind(this),this.onSetArtwork=this.onSetArtwork.bind(this),this.onSetDefaultSupportedCommands=this.onSetDefaultSupportedCommands.bind(this),this.onSetNowPlayingClient=this.onSetNowPlayingClient.bind(this),this.onSetNowPlayingPlayer=this.onSetNowPlayingPlayer.bind(this),this.onSetState=this.onSetState.bind(this),this.onUpdateClient=this.onUpdateClient.bind(this),this.onUpdateContentItem=this.onUpdateContentItem.bind(this),this.onUpdateContentItemArtwork=this.onUpdateContentItemArtwork.bind(this),this.onUpdatePlayer=this.onUpdatePlayer.bind(this),this.onUpdateOutputDevice=this.onUpdateOutputDevice.bind(this),this.onVolumeControlAvailability=this.onVolumeControlAvailability.bind(this),this.onVolumeControlCapabilitiesDidChange=this.onVolumeControlCapabilitiesDidChange.bind(this),this.onVolumeDidChange=this.onVolumeDidChange.bind(this)}async[_](){this.#o.on("deviceInfo",this.onDeviceInfo),this.#o.on("originClientProperties",this.onOriginClientProperties),this.#o.on("playerClientProperties",this.onPlayerClientProperties),this.#o.on("sendCommandResult",this.onSendCommandResult),this.#o.on("setArtwork",this.onSetArtwork),this.#o.on("setDefaultSupportedCommands",this.onSetDefaultSupportedCommands),this.#o.on("setNowPlayingClient",this.onSetNowPlayingClient),this.#o.on("setNowPlayingPlayer",this.onSetNowPlayingPlayer),this.#o.on("setState",this.onSetState),this.#o.on("updateClient",this.onUpdateClient),this.#o.on("updateContentItem",this.onUpdateContentItem),this.#o.on("updateContentItemArtwork",this.onUpdateContentItemArtwork),this.#o.on("updatePlayer",this.onUpdatePlayer),this.#o.on("updateOutputDevice",this.onUpdateOutputDevice),this.#o.on("volumeControlAvailability",this.onVolumeControlAvailability),this.#o.on("volumeControlCapabilitiesDidChange",this.onVolumeControlCapabilitiesDidChange),this.#o.on("volumeDidChange",this.onVolumeDidChange)}async[c](){let o=this.#o;if(!o)return;o.off("deviceInfo",this.onDeviceInfo),o.off("originClientProperties",this.onOriginClientProperties),o.off("playerClientProperties",this.onPlayerClientProperties),o.off("sendCommandResult",this.onSendCommandResult),o.off("setArtwork",this.onSetArtwork),o.off("setDefaultSupportedCommands",this.onSetDefaultSupportedCommands),o.off("setNowPlayingClient",this.onSetNowPlayingClient),o.off("setNowPlayingPlayer",this.onSetNowPlayingPlayer),o.off("setState",this.onSetState),o.off("updateClient",this.onUpdateClient),o.off("updateContentItem",this.onUpdateContentItem),o.off("updateContentItemArtwork",this.onUpdateContentItemArtwork),o.off("updatePlayer",this.onUpdatePlayer),o.off("updateOutputDevice",this.onUpdateOutputDevice),o.off("volumeControlAvailability",this.onVolumeControlAvailability),o.off("volumeControlCapabilitiesDidChange",this.onVolumeControlCapabilitiesDidChange),o.off("volumeDidChange",this.onVolumeDidChange)}clear(){this.#m={},this.#t=void 0,this.#r=0,this.#x=!1,this.#n=wi.VolumeCapabilities_Enum.None}async onDeviceInfo(o){this.emit("deviceInfo",o)}async onOriginClientProperties(o){this.emit("originClientProperties",o)}async onPlayerClientProperties(o){this.emit("playerClientProperties",o)}async onSendCommandResult(o){this.emit("sendCommandResult",o)}async onSetArtwork(o){this.emit("setArtwork",o)}async onSetDefaultSupportedCommands(o){this.emit("setDefaultSupportedCommands",o)}async onSetNowPlayingClient(o){this.#t=o.client?.bundleIdentifier??null,this.emit("setNowPlayingClient",o)}async onSetNowPlayingPlayer(o){this.emit("setNowPlayingPlayer",o)}async onSetState(o){let t=this.#p(o.playerPath.client.bundleIdentifier,o.displayName);if(o.playbackState)t.setPlaybackState(o.playbackState,o.playbackStateTimestamp);if(o.supportedCommands)t.setSupportedCommands(o.supportedCommands.supportedCommands);if(o.playbackQueue)t.setPlaybackQueue(o.playbackQueue);this.emit("setState",o)}async onUpdateContentItem(o){let t=this.#p(o.playerPath.client.bundleIdentifier,o.playerPath.client.displayName);if(!t)return;for(let f of o.contentItems)t.updateContentItem(f);this.emit("updateContentItem",o)}async onUpdateContentItemArtwork(o){this.emit("updateContentItemArtwork",o)}async onUpdatePlayer(o){this.emit("updatePlayer",o)}async onUpdateClient(o){this.#p(o.client.bundleIdentifier,o.client.displayName),this.emit("clients",this.#m)}async onUpdateOutputDevice(o){this.emit("updateOutputDevice",o)}async onVolumeControlAvailability(o){this.#x=o.volumeControlAvailable,this.#n=o.volumeCapabilities,this.emit("volumeControlAvailability",o.volumeControlAvailable,o.volumeCapabilities)}async onVolumeControlCapabilitiesDidChange(o){this.#x=o.capabilities.volumeControlAvailable,this.#n=o.capabilities.volumeCapabilities,this.emit("volumeControlCapabilitiesDidChange",o.capabilities.volumeControlAvailable,o.capabilities.volumeCapabilities)}async onVolumeDidChange(o){this.#r=o.volume,this.emit("volumeDidChange",o.volume)}#p(o,t){if(o in this.#m)return this.#m[o];else{let f=new lo(o,t);return this.#m[o]=f,this.emit("clients",this.#m),f}}}class X extends ui{get[E](){return this.#i}get#o(){return this.#i.dataStream}get#f(){return this.#i.eventStream}get isConnected(){return this.#i?.rtsp?.isConnected??!1}get remote(){return this.#m}get state(){return this.#t}get timingServer(){return this.#l}set timingServer(o){this.#l=o}#d;#m;#t;#r;#x=!1;#n;#p;#i;#l;constructor(o){super();this.#d=o,this.#m=new Yo(this),this.#t=new gt(this)}async connect(){if(this.#x=!1,this.#t.clear(),this.#i=new Ei(this.#d),this.#i.rtsp.on("close",async()=>this.#u()),this.#i.rtsp.on("error",async(o)=>this.#s(o)),this.#i.rtsp.on("timeout",async()=>this.#P()),await this.#i.connect(),this.#r)this.#p=await this.#i.verify.start(this.#r);else await this.#i.pairing.start(),this.#p=await this.#i.pairing.transient();await this.#E(),this.emit("connected")}async disconnect(){this.#x=!0,clearInterval(this.#n),await this.#a(),await this.#i.disconnect(),this.emit("disconnected",!1)}async disconnectSafely(){try{await this.disconnect()}catch(o){}}async requestPlaybackQueue(o){await this.#o.exchange(this.#o.messages.playbackQueueRequest(0,o))}async sendCommand(o,t){await this.#o.exchange(this.#o.messages.sendCommand(o,t))}async setVolume(o){await this.#o.exchange(this.#o.messages.setVolume(o))}async setCredentials(o){this.#r=o}async#w(){try{await this.#i.feedback()}catch(o){V.error("Feedback error",o)}}async#u(){if(this.#x)return;clearInterval(this.#n),this.emit("disconnected",!0)}async#s(o){V.error("AirPlay error",o),await this.disconnectSafely(),this.emit("disconnected",!0)}async#P(){V.error("AirPlay timeout"),await this.disconnectSafely(),this.emit("disconnected",!0)}async#E(){let o=this.#p;if(await this.#i.rtsp.enableEncryption(o.accessoryToControllerKey,o.controllerToAccessoryKey),await this.#a(),this.#l)await this.#i.setupTimingServer(this.#l);await this.#i.setupEventStream(o.pairingId,o.sharedSecret),await this.#i.setupDataStream(o.sharedSecret),await this.#h(),this.#o.on("error",async(d)=>this.#s(d)),this.#o.on("timeout",async()=>this.#P()),this.#f.on("error",async(d)=>this.#s(d)),this.#f.on("timeout",async()=>this.#P()),this.#n=setInterval(async()=>await this.#w(),Uo);let t=this.#d.packet.additionals.find((d)=>("rdata"in d)&&typeof d.rdata==="object"&&("gid"in d.rdata))?.rdata.gid;if(t)await this.#o.exchange(this.#o.messages.configureConnection(t));if(await this.#o.exchange(this.#o.messages.deviceInfo(o.pairingId)),!await Promise.race([new Promise((d)=>{this.#o.on("deviceInfo",async()=>{await this.#o.exchange(this.#o.messages.setConnectionState()),await this.#o.exchange(this.#o.messages.clientUpdatesConfig()),d(!0)})}),async()=>{return await hi(3000),!1}]))await this.#s(Error("Device did not respond in time with its info."));else V.info("Device info received successfully, protocol should be ready.")}async#h(){await this.#t[_]()}async#a(){try{await this.#t[c]()}catch(o){V.error("State unsubscribe error",o)}}}var so=Symbol("com.basmilius.companion-link:protocol");import{EventEmitter as Wi}from"node:events";import{reporter as Po}from"@basmilius/apple-common";import{CompanionLink as Si,convertAttentionState as jt}from"@basmilius/apple-companion-link";class ao extends Wi{get[so](){return this.#t}get isConnected(){return this.#t?.socket?.isConnected??!1}#o;#f=!1;#d;#m;#t;constructor(o){super();this.#d=o,this.onSystemStatus=this.onSystemStatus.bind(this),this.onTVSystemStatus=this.onTVSystemStatus.bind(this)}async connect(){if(!this.#o)throw Error("Credentials are required to connect to a Companion Link device.");this.#f=!1,this.#t=new Si(this.#d),this.#t.socket.on("close",async()=>this.#r()),this.#t.socket.on("error",async(o)=>this.#x(o)),this.#t.socket.on("timeout",async()=>this.#n()),await this.#t.connect(),this.#m=await this.#t.verify.start(this.#o),await this.#p(),this.emit("connected")}async disconnect(){this.#f=!0,await this.#l(),await this.#t.disconnect(),this.emit("disconnected",!1)}async disconnectSafely(){try{await this.disconnect()}catch(o){}}async setCredentials(o){this.#o=o}async setDiscoveryResult(o){this.#d=o}async getAttentionState(){return await this.#t.api.getAttentionState()}async getLaunchableApps(){return await this.#t.api.getLaunchableApps()}async getUserAccounts(){return await this.#t.api.getUserAccounts()}async launchApp(o){await this.#t.api.launchApp(o)}async launchUrl(o){await this.#t.api.launchUrl(o)}async mediaControlCommand(o,t){await this.#t.api.mediaControlCommand(o,t)}async pressButton(o,t,f){await this.#t.api.pressButton(o,t,f)}async switchUserAccount(o){await this.#t.api.switchUserAccount(o)}async#r(){if(this.#f)return;this.emit("disconnected",!0)}async#x(o){Po.error("Companion Link error",o);try{await this.disconnect()}catch(t){}this.emit("disconnected",!0)}async#n(){Po.error("Companion Link timeout"),await this.disconnectSafely(),this.emit("disconnected",!0)}async#p(){let o=this.#m;await this.#t.socket.enableEncryption(o.accessoryToControllerKey,o.controllerToAccessoryKey),await this.#t.api._systemInfo(this.#o.pairingId),await this.#t.api._touchStart(),await this.#t.api._sessionStart(),await this.#t.api._tvrcSessionStart(),await this.#t.api._unsubscribe("_iMC"),await this.#i()}async#i(){await this.#t.api._subscribe("SystemStatus",this.onSystemStatus),await this.#t.api._subscribe("TVSystemStatus",this.onTVSystemStatus);let o=await this.getAttentionState();this.emit("power",o)}async#l(){await this.#t.api._unsubscribe("SystemStatus",this.onSystemStatus),await this.#t.api._unsubscribe("TVSystemStatus",this.onTVSystemStatus)}async onSystemStatus(o){Po.info("System Status",o),this.emit("power",jt(o.state))}async onTVSystemStatus(o){Po.info("TV System Status",o),this.emit("power",jt(o.state))}}import{EventEmitter as Ci}from"node:events";import{Proto as R}from"@basmilius/apple-airplay";class et extends Ci{get airplay(){return this.#o}get companionLink(){return this.#f}get bundleIdentifier(){return this.#o.state.nowPlayingClient?.bundleIdentifier??null}get displayName(){return this.#o.state.nowPlayingClient?.displayName??null}get isConnected(){return this.#o.isConnected&&this.#f.isConnected}get isPlaying(){return this.playbackState===R.PlaybackState_Enum.Playing}get playbackQueue(){return this.#o.state.nowPlayingClient?.playbackQueue??null}get playbackState(){return this.#o.state.nowPlayingClient?.playbackState??R.PlaybackState_Enum.Unknown}get playbackStateTimestamp(){return this.#o.state.nowPlayingClient?.playbackStateTimestamp??-1}#o;#f;#d=!1;constructor(o,t){super();this.#o=new X(o),this.#f=new ao(t),this.#o.on("connected",()=>this.#m()),this.#o.on("disconnected",(f)=>this.#t(f)),this.#f.on("connected",()=>this.#m()),this.#f.on("disconnected",(f)=>this.#t(f))}async connect(o){await this.#o.setCredentials(o),await this.#f.setCredentials(o),await this.#o.connect(),await this.#f.connect(),this.#d=!1}async disconnect(){await this.#o.disconnect(),await this.#f.disconnect()}async turnOff(){await this.#o.remote.suspend()}async turnOn(){await this.#o.remote.wake()}async pause(){await this.#o.sendCommand(R.Command.Pause)}async playPause(){await this.#o.sendCommand(R.Command.TogglePlayPause)}async play(){await this.#o.sendCommand(R.Command.Play)}async stop(){await this.#o.sendCommand(R.Command.Stop)}async next(){await this.#o.sendCommand(R.Command.NextInContext)}async previous(){await this.#o.sendCommand(R.Command.PreviousInContext)}async volumeDown(){await this.#o.remote.volumeDown()}async volumeMute(){await this.#o.remote.mute()}async volumeUp(){await this.#o.remote.volumeUp()}async getCommandInfo(o){let t=this.#o.state.nowPlayingClient;if(!t)return null;return t.supportedCommands.find((f)=>f.command===o)??null}async isCommandSupported(o){let t=this.#o.state.nowPlayingClient;if(!t)return!1;return t.isCommandSupported(o)}async#m(){if(!this.#o.isConnected||!this.#f.isConnected)return;this.emit("connected")}async#t(o){if(this.#d)return;this.#d=!0,await this.disconnect(),this.emit("disconnected",o)}}import{EventEmitter as Di}from"node:events";import{Proto as Q}from"@basmilius/apple-airplay";class wo extends Di{get airplay(){return this.#o}get bundleIdentifier(){return this.#o.state.nowPlayingClient?.bundleIdentifier??null}get displayName(){return this.#o.state.nowPlayingClient?.displayName??null}get isConnected(){return this.#o.isConnected}get isPlaying(){return this.playbackState===Q.PlaybackState_Enum.Playing}get playbackQueue(){return this.#o.state.nowPlayingClient?.playbackQueue??null}get playbackState(){return this.#o.state.nowPlayingClient?.playbackState??Q.PlaybackState_Enum.Unknown}get playbackStateTimestamp(){return this.#o.state.nowPlayingClient?.playbackStateTimestamp??-1}get volume(){return this.#o.state.volume??0}#o;#f=!1;constructor(o){super();this.#o=new X(o),this.#o.on("connected",()=>this.#d()),this.#o.on("disconnected",(t)=>this.#m(t))}async connect(){await this.#o.connect(),this.#f=!1}async disconnect(){await this.#o.disconnect()}async pause(){await this.#o.sendCommand(Q.Command.Pause)}async playPause(){await this.#o.sendCommand(Q.Command.TogglePlayPause)}async play(){await this.#o.sendCommand(Q.Command.Play)}async stop(){await this.#o.sendCommand(Q.Command.Stop)}async next(){await this.#o.sendCommand(Q.Command.NextInContext)}async previous(){await this.#o.sendCommand(Q.Command.PreviousInContext)}async setVolume(o){await this.#o.setVolume(o)}async getCommandInfo(o){let t=this.#o.state.nowPlayingClient;if(!t)return null;return t.supportedCommands.find((f)=>f.command===o)??null}async isCommandSupported(o){let t=this.#o.state.nowPlayingClient;if(!t)return!1;return t.isCommandSupported(o)}async#d(){this.emit("connected")}async#m(o){if(this.#f)return;this.#f=!0,await this.disconnect(),this.emit("disconnected",o)}}class of extends wo{}class tf extends wo{}export{tf as HomePodMini,of as HomePod,ao as CompanionLinkDevice,so as COMPANION_LINK,et as AppleTV,X as AirPlayDevice,E as AIRPLAY};
1
+ var ff=Object.defineProperty;var ho=(o,t)=>{for(var f in t)ff(o,f,{get:t[f],enumerable:!0,configurable:!0,set:(d)=>t[f]=()=>d})};var Uo=2000,E=Symbol("com.basmilius.airplay:protocol"),_=Symbol("com.basmilius.airplay:subscribe"),c=Symbol("com.basmilius.airplay:unsubscribe");import{EventEmitter as ui}from"node:events";import{AirPlay as Ei}from"@basmilius/apple-airplay";import{waitFor as hi}from"@basmilius/apple-common";import{reporter as V}from"@basmilius/apple-common";import{Proto as df}from"@basmilius/apple-airplay";import{waitFor as qo}from"@basmilius/apple-common";class Yo{get#o(){return this.#f.dataStream}get#f(){return this.#d[E]}#d;constructor(o){this.#d=o}async up(){await this.pressAndRelease(1,140)}async down(){await this.pressAndRelease(1,141)}async left(){await this.pressAndRelease(1,139)}async right(){await this.pressAndRelease(1,138)}async menu(){await this.pressAndRelease(1,134)}async play(){await this.pressAndRelease(12,176)}async playPause(){if(this.#d.state.nowPlayingClient?.playbackState===df.PlaybackState_Enum.Playing)await this.pause();else await this.play()}async pause(){await this.pressAndRelease(12,177)}async next(){await this.pressAndRelease(12,181)}async previous(){await this.pressAndRelease(12,182)}async suspend(){await this.pressAndRelease(1,130)}async select(){await this.pressAndRelease(1,137)}async wake(){await this.pressAndRelease(1,131)}async home(){await this.pressAndRelease(12,64)}async volumeUp(){await this.pressAndRelease(12,233)}async volumeDown(){await this.pressAndRelease(12,234)}async mute(){await this.pressAndRelease(12,226)}async doublePress(o,t){await this.pressAndRelease(o,t),await qo(150),await this.pressAndRelease(o,t)}async longPress(o,t,f=1000){await this.#o.exchange(this.#o.messages.sendHIDEvent(o,t,!0)),await qo(f),await this.#o.exchange(this.#o.messages.sendHIDEvent(o,t,!1))}async pressAndRelease(o,t){await this.#o.exchange(this.#o.messages.sendHIDEvent(o,t,!0)),await this.#o.exchange(this.#o.messages.sendHIDEvent(o,t,!1))}}import{EventEmitter as wi}from"node:events";import{Proto as ai}from"@basmilius/apple-airplay";import{Proto as si}from"@basmilius/apple-airplay";var mf=typeof global=="object"&&global&&global.Object===Object&&global,y=mf;var rf=typeof self=="object"&&self&&self.Object===Object&&self,xf=y||rf||Function("return this")(),w=xf;var pf=w.Symbol,K=pf;var Io=Object.prototype,nf=Io.hasOwnProperty,lf=Io.toString,z=K?K.toStringTag:void 0;function Pf(o){var t=nf.call(o,z),f=o[z];try{o[z]=void 0;var d=!0}catch(r){}var i=lf.call(o);if(d)if(t)o[z]=f;else delete o[z];return i}var Bo=Pf;var sf=Object.prototype,wf=sf.toString;function af(o){return wf.call(o)}var No=af;var uf="[object Null]",Ef="[object Undefined]",$o=K?K.toStringTag:void 0;function hf(o){if(o==null)return o===void 0?Ef:uf;return $o&&$o in Object(o)?Bo(o):No(o)}var h=hf;function Wf(o){return o!=null&&typeof o=="object"}var a=Wf;var Cf=Array.isArray,H=Cf;function Df(o){var t=typeof o;return o!=null&&(t=="object"||t=="function")}var l=Df;function Rf(o){return o}var v=Rf;var Sf="[object AsyncFunction]",Qf="[object Function]",Kf="[object GeneratorFunction]",Uf="[object Proxy]";function qf(o){if(!l(o))return!1;var t=h(o);return t==Qf||t==Kf||t==Sf||t==Uf}var U=qf;var Yf=w["__core-js_shared__"],T=Yf;var Zo=function(){var o=/[^.]+$/.exec(T&&T.keys&&T.keys.IE_PROTO||"");return o?"Symbol(src)_1."+o:""}();function If(o){return!!Zo&&Zo in o}var Jo=If;var Bf=Function.prototype,Nf=Bf.toString;function $f(o){if(o!=null){try{return Nf.call(o)}catch(t){}try{return o+""}catch(t){}}return""}var Xo=$f;var Zf=/[\\^$.*+?()[\]{}|]/g,Jf=/^\[object .+?Constructor\]$/,Xf=Function.prototype,Lf=Object.prototype,zf=Xf.toString,Hf=Lf.hasOwnProperty,Ff=RegExp("^"+zf.call(Hf).replace(Zf,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Mf(o){if(!l(o)||Jo(o))return!1;var t=U(o)?Ff:Jf;return t.test(Xo(o))}var Lo=Mf;function Gf(o,t){return o==null?void 0:o[t]}var zo=Gf;function Af(o,t){var f=zo(o,t);return Lo(f)?f:void 0}var q=Af;var Ho=Object.create,Of=function(){function o(){}return function(t){if(!l(t))return{};if(Ho)return Ho(t);o.prototype=t;var f=new o;return o.prototype=void 0,f}}(),Fo=Of;function Vf(o,t,f){switch(f.length){case 0:return o.call(t);case 1:return o.call(t,f[0]);case 2:return o.call(t,f[0],f[1]);case 3:return o.call(t,f[0],f[1],f[2])}return o.apply(t,f)}var Mo=Vf;function _f(o,t){var f=-1,d=o.length;t||(t=Array(d));while(++f<d)t[f]=o[f];return t}var Go=_f;var cf=800,yf=16,vf=Date.now;function Tf(o){var t=0,f=0;return function(){var d=vf(),i=yf-(d-f);if(f=d,i>0){if(++t>=cf)return arguments[0]}else t=0;return o.apply(void 0,arguments)}}var Ao=Tf;function kf(o){return function(){return o}}var Oo=kf;var bf=function(){try{var o=q(Object,"defineProperty");return o({},"",{}),o}catch(t){}}(),Y=bf;var gf=!Y?v:function(o,t){return Y(o,"toString",{configurable:!0,enumerable:!1,value:Oo(t),writable:!0})},Vo=gf;var jf=Ao(Vo),_o=jf;var ef=9007199254740991,od=/^(?:0|[1-9]\d*)$/;function td(o,t){var f=typeof o;return t=t==null?ef:t,!!t&&(f=="number"||f!="symbol"&&od.test(o))&&(o>-1&&o%1==0&&o<t)}var k=td;function fd(o,t,f){if(t=="__proto__"&&Y)Y(o,t,{configurable:!0,enumerable:!0,value:f,writable:!0});else o[t]=f}var I=fd;function dd(o,t){return o===t||o!==o&&t!==t}var W=dd;var md=Object.prototype,id=md.hasOwnProperty;function rd(o,t,f){var d=o[t];if(!(id.call(o,t)&&W(d,f))||f===void 0&&!(t in o))I(o,t,f)}var co=rd;function xd(o,t,f,d){var i=!f;f||(f={});var r=-1,p=t.length;while(++r<p){var m=t[r],n=d?d(f[m],o[m],m,f,o):void 0;if(n===void 0)n=o[m];if(i)I(f,m,n);else co(f,m,n)}return f}var yo=xd;var vo=Math.max;function pd(o,t,f){return t=vo(t===void 0?o.length-1:t,0),function(){var d=arguments,i=-1,r=vo(d.length-t,0),p=Array(r);while(++i<r)p[i]=d[t+i];i=-1;var m=Array(t+1);while(++i<t)m[i]=d[i];return m[t]=f(p),Mo(o,this,m)}}var To=pd;function nd(o,t){return _o(To(o,t,v),o+"")}var ko=nd;var ld=9007199254740991;function Pd(o){return typeof o=="number"&&o>-1&&o%1==0&&o<=ld}var b=Pd;function sd(o){return o!=null&&b(o.length)&&!U(o)}var B=sd;function wd(o,t,f){if(!l(f))return!1;var d=typeof t;if(d=="number"?B(f)&&k(t,f.length):d=="string"&&(t in f))return W(f[t],o);return!1}var bo=wd;function ad(o){return ko(function(t,f){var d=-1,i=f.length,r=i>1?f[i-1]:void 0,p=i>2?f[2]:void 0;if(r=o.length>3&&typeof r=="function"?(i--,r):void 0,p&&bo(f[0],f[1],p))r=i<3?void 0:r,i=1;t=Object(t);while(++d<i){var m=f[d];if(m)o(t,m,d,r)}return t})}var go=ad;var ud=Object.prototype;function Ed(o){var t=o&&o.constructor,f=typeof t=="function"&&t.prototype||ud;return o===f}var g=Ed;function hd(o,t){var f=-1,d=Array(o);while(++f<o)d[f]=t(f);return d}var jo=hd;var Wd="[object Arguments]";function Cd(o){return a(o)&&h(o)==Wd}var Wo=Cd;var eo=Object.prototype,Dd=eo.hasOwnProperty,Rd=eo.propertyIsEnumerable,Sd=Wo(function(){return arguments}())?Wo:function(o){return a(o)&&Dd.call(o,"callee")&&!Rd.call(o,"callee")},F=Sd;var e={};ho(e,{default:()=>M});function Qd(){return!1}var ot=Qd;var dt=typeof e=="object"&&e&&!e.nodeType&&e,tt=dt&&typeof j=="object"&&j&&!j.nodeType&&j,Kd=tt&&tt.exports===dt,ft=Kd?w.Buffer:void 0,Ud=ft?ft.isBuffer:void 0,qd=Ud||ot,M=qd;var Yd="[object Arguments]",Id="[object Array]",Bd="[object Boolean]",Nd="[object Date]",$d="[object Error]",Zd="[object Function]",Jd="[object Map]",Xd="[object Number]",Ld="[object Object]",zd="[object RegExp]",Hd="[object Set]",Fd="[object String]",Md="[object WeakMap]",Gd="[object ArrayBuffer]",Ad="[object DataView]",Od="[object Float32Array]",Vd="[object Float64Array]",_d="[object Int8Array]",cd="[object Int16Array]",yd="[object Int32Array]",vd="[object Uint8Array]",Td="[object Uint8ClampedArray]",kd="[object Uint16Array]",bd="[object Uint32Array]",x={};x[Od]=x[Vd]=x[_d]=x[cd]=x[yd]=x[vd]=x[Td]=x[kd]=x[bd]=!0;x[Yd]=x[Id]=x[Gd]=x[Bd]=x[Ad]=x[Nd]=x[$d]=x[Zd]=x[Jd]=x[Xd]=x[Ld]=x[zd]=x[Hd]=x[Fd]=x[Md]=!1;function gd(o){return a(o)&&b(o.length)&&!!x[h(o)]}var mt=gd;function jd(o){return function(t){return o(t)}}var it=jd;var to={};ho(to,{default:()=>fo});var rt=typeof to=="object"&&to&&!to.nodeType&&to,G=rt&&typeof oo=="object"&&oo&&!oo.nodeType&&oo,ed=G&&G.exports===rt,Co=ed&&y.process,om=function(){try{var o=G&&G.require&&G.require("util").types;if(o)return o;return Co&&Co.binding&&Co.binding("util")}catch(t){}}(),fo=om;var xt=fo&&fo.isTypedArray,tm=xt?it(xt):mt,mo=tm;var fm=Object.prototype,dm=fm.hasOwnProperty;function mm(o,t){var f=H(o),d=!f&&F(o),i=!f&&!d&&M(o),r=!f&&!d&&!i&&mo(o),p=f||d||i||r,m=p?jo(o.length,String):[],n=m.length;for(var s in o)if((t||dm.call(o,s))&&!(p&&(s=="length"||i&&(s=="offset"||s=="parent")||r&&(s=="buffer"||s=="byteLength"||s=="byteOffset")||k(s,n))))m.push(s);return m}var pt=mm;function im(o,t){return function(f){return o(t(f))}}var nt=im;function rm(o){var t=[];if(o!=null)for(var f in Object(o))t.push(f);return t}var lt=rm;var xm=Object.prototype,pm=xm.hasOwnProperty;function nm(o){if(!l(o))return lt(o);var t=g(o),f=[];for(var d in o)if(!(d=="constructor"&&(t||!pm.call(o,d))))f.push(d);return f}var Pt=nm;function lm(o){return B(o)?pt(o,!0):Pt(o)}var io=lm;var Pm=q(Object,"create"),u=Pm;function sm(){this.__data__=u?u(null):{},this.size=0}var st=sm;function wm(o){var t=this.has(o)&&delete this.__data__[o];return this.size-=t?1:0,t}var wt=wm;var am="__lodash_hash_undefined__",um=Object.prototype,Em=um.hasOwnProperty;function hm(o){var t=this.__data__;if(u){var f=t[o];return f===am?void 0:f}return Em.call(t,o)?t[o]:void 0}var at=hm;var Wm=Object.prototype,Cm=Wm.hasOwnProperty;function Dm(o){var t=this.__data__;return u?t[o]!==void 0:Cm.call(t,o)}var ut=Dm;var Rm="__lodash_hash_undefined__";function Sm(o,t){var f=this.__data__;return this.size+=this.has(o)?0:1,f[o]=u&&t===void 0?Rm:t,this}var Et=Sm;function N(o){var t=-1,f=o==null?0:o.length;this.clear();while(++t<f){var d=o[t];this.set(d[0],d[1])}}N.prototype.clear=st;N.prototype.delete=wt;N.prototype.get=at;N.prototype.has=ut;N.prototype.set=Et;var Do=N;function Qm(){this.__data__=[],this.size=0}var ht=Qm;function Km(o,t){var f=o.length;while(f--)if(W(o[f][0],t))return f;return-1}var C=Km;var Um=Array.prototype,qm=Um.splice;function Ym(o){var t=this.__data__,f=C(t,o);if(f<0)return!1;var d=t.length-1;if(f==d)t.pop();else qm.call(t,f,1);return--this.size,!0}var Wt=Ym;function Im(o){var t=this.__data__,f=C(t,o);return f<0?void 0:t[f][1]}var Ct=Im;function Bm(o){return C(this.__data__,o)>-1}var Dt=Bm;function Nm(o,t){var f=this.__data__,d=C(f,o);if(d<0)++this.size,f.push([o,t]);else f[d][1]=t;return this}var Rt=Nm;function $(o){var t=-1,f=o==null?0:o.length;this.clear();while(++t<f){var d=o[t];this.set(d[0],d[1])}}$.prototype.clear=ht;$.prototype.delete=Wt;$.prototype.get=Ct;$.prototype.has=Dt;$.prototype.set=Rt;var D=$;var $m=q(w,"Map"),ro=$m;function Zm(){this.size=0,this.__data__={hash:new Do,map:new(ro||D),string:new Do}}var St=Zm;function Jm(o){var t=typeof o;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?o!=="__proto__":o===null}var Qt=Jm;function Xm(o,t){var f=o.__data__;return Qt(t)?f[typeof t=="string"?"string":"hash"]:f.map}var R=Xm;function Lm(o){var t=R(this,o).delete(o);return this.size-=t?1:0,t}var Kt=Lm;function zm(o){return R(this,o).get(o)}var Ut=zm;function Hm(o){return R(this,o).has(o)}var qt=Hm;function Fm(o,t){var f=R(this,o),d=f.size;return f.set(o,t),this.size+=f.size==d?0:1,this}var Yt=Fm;function Z(o){var t=-1,f=o==null?0:o.length;this.clear();while(++t<f){var d=o[t];this.set(d[0],d[1])}}Z.prototype.clear=St;Z.prototype.delete=Kt;Z.prototype.get=Ut;Z.prototype.has=qt;Z.prototype.set=Yt;var It=Z;var Mm=nt(Object.getPrototypeOf,Object),xo=Mm;var Gm="[object Object]",Am=Function.prototype,Om=Object.prototype,Bt=Am.toString,Vm=Om.hasOwnProperty,_m=Bt.call(Object);function cm(o){if(!a(o)||h(o)!=Gm)return!1;var t=xo(o);if(t===null)return!0;var f=Vm.call(t,"constructor")&&t.constructor;return typeof f=="function"&&f instanceof f&&Bt.call(f)==_m}var Nt=cm;function ym(){this.__data__=new D,this.size=0}var $t=ym;function vm(o){var t=this.__data__,f=t.delete(o);return this.size=t.size,f}var Zt=vm;function Tm(o){return this.__data__.get(o)}var Jt=Tm;function km(o){return this.__data__.has(o)}var Xt=km;var bm=200;function gm(o,t){var f=this.__data__;if(f instanceof D){var d=f.__data__;if(!ro||d.length<bm-1)return d.push([o,t]),this.size=++f.size,this;f=this.__data__=new It(d)}return f.set(o,t),this.size=f.size,this}var Lt=gm;function J(o){var t=this.__data__=new D(o);this.size=t.size}J.prototype.clear=$t;J.prototype.delete=Zt;J.prototype.get=Jt;J.prototype.has=Xt;J.prototype.set=Lt;var zt=J;var no={};ho(no,{default:()=>Ro});var Gt=typeof no=="object"&&no&&!no.nodeType&&no,Ht=Gt&&typeof po=="object"&&po&&!po.nodeType&&po,jm=Ht&&Ht.exports===Gt,Ft=jm?w.Buffer:void 0,Mt=Ft?Ft.allocUnsafe:void 0;function em(o,t){if(t)return o.slice();var f=o.length,d=Mt?Mt(f):new o.constructor(f);return o.copy(d),d}var Ro=em;var oi=w.Uint8Array,So=oi;function ti(o){var t=new o.constructor(o.byteLength);return new So(t).set(new So(o)),t}var At=ti;function fi(o,t){var f=t?At(o.buffer):o.buffer;return new o.constructor(f,o.byteOffset,o.length)}var Ot=fi;function di(o){return typeof o.constructor=="function"&&!g(o)?Fo(xo(o)):{}}var Vt=di;function mi(o){return function(t,f,d){var i=-1,r=Object(t),p=d(t),m=p.length;while(m--){var n=p[o?m:++i];if(f(r[n],n,r)===!1)break}return t}}var _t=mi;var ii=_t(),ct=ii;function ri(o,t,f){if(f!==void 0&&!W(o[t],f)||f===void 0&&!(t in o))I(o,t,f)}var A=ri;function xi(o){return a(o)&&B(o)}var yt=xi;function pi(o,t){if(t==="constructor"&&typeof o[t]==="function")return;if(t=="__proto__")return;return o[t]}var O=pi;function ni(o){return yo(o,io(o))}var vt=ni;function li(o,t,f,d,i,r,p){var m=O(o,f),n=O(t,f),s=p.get(n);if(s){A(o,f,s);return}var P=r?r(m,n,f+"",o,t,p):void 0,L=P===void 0;if(L){var uo=H(n),Eo=!uo&&M(n),Ko=!uo&&!Eo&&mo(n);if(P=n,uo||Eo||Ko)if(H(m))P=m;else if(yt(m))P=Go(m);else if(Eo)L=!1,P=Ro(n,!0);else if(Ko)L=!1,P=Ot(n,!0);else P=[];else if(Nt(n)||F(n)){if(P=m,F(m))P=vt(m);else if(!l(m)||U(m))P=Vt(n)}else L=!1}if(L)p.set(n,P),i(P,n,d,r,p),p.delete(n);A(o,f,P)}var Tt=li;function kt(o,t,f,d,i){if(o===t)return;ct(t,function(r,p){if(i||(i=new zt),l(r))Tt(o,t,p,f,kt,d,i);else{var m=d?d(O(o,p),r,p+"",o,t,i):void 0;if(m===void 0)m=r;A(o,p,m)}},io)}var bt=kt;var Pi=go(function(o,t,f){bt(o,t,f)}),Qo=Pi;class lo{get bundleIdentifier(){return this.#o}get displayName(){return this.#f}get playbackQueue(){return this.#d}get playbackState(){return this.#m}get playbackStateTimestamp(){return this.#t}get supportedCommands(){return this.#r}#o;#f;#d=null;#m;#t;#r=[];constructor(o,t){this.#o=o,this.#f=t,this.#m=si.PlaybackState_Enum.Unknown,this.#r=[]}isCommandSupported(o){return this.#r.some((t)=>t.command===o)}setPlaybackQueue(o){this.#d=o}setPlaybackState(o,t){this.#m=o,this.#t=t}setSupportedCommands(o){this.#r=o}updateContentItem(o){if(!this.#d)return;let t=this.#d.contentItems.findIndex((f)=>f.identifier===o.identifier);if(t===-1)return;this.#d.contentItems[t]=Qo(o,this.#d.contentItems[t])}}class gt extends wi{get#o(){return this.#f.dataStream}get#f(){return this.#d[E]}get clients(){return this.#m}get nowPlayingClient(){return this.#t?this.#m[this.#t]??null:null}get volume(){return this.#r}get volumeAvailable(){return this.#x}get volumeCapabilities(){return this.#p}#d;#m;#t;#r;#x;#p;constructor(o){super();this.#d=o,this.clear(),this.onDeviceInfo=this.onDeviceInfo.bind(this),this.onOriginClientProperties=this.onOriginClientProperties.bind(this),this.onPlayerClientProperties=this.onPlayerClientProperties.bind(this),this.onRemoveClient=this.onRemoveClient.bind(this),this.onSendCommandResult=this.onSendCommandResult.bind(this),this.onSetArtwork=this.onSetArtwork.bind(this),this.onSetDefaultSupportedCommands=this.onSetDefaultSupportedCommands.bind(this),this.onSetNowPlayingClient=this.onSetNowPlayingClient.bind(this),this.onSetNowPlayingPlayer=this.onSetNowPlayingPlayer.bind(this),this.onSetState=this.onSetState.bind(this),this.onUpdateClient=this.onUpdateClient.bind(this),this.onUpdateContentItem=this.onUpdateContentItem.bind(this),this.onUpdateContentItemArtwork=this.onUpdateContentItemArtwork.bind(this),this.onUpdatePlayer=this.onUpdatePlayer.bind(this),this.onUpdateOutputDevice=this.onUpdateOutputDevice.bind(this),this.onVolumeControlAvailability=this.onVolumeControlAvailability.bind(this),this.onVolumeControlCapabilitiesDidChange=this.onVolumeControlCapabilitiesDidChange.bind(this),this.onVolumeDidChange=this.onVolumeDidChange.bind(this)}async[_](){this.#o.on("deviceInfo",this.onDeviceInfo),this.#o.on("originClientProperties",this.onOriginClientProperties),this.#o.on("playerClientProperties",this.onPlayerClientProperties),this.#o.on("removeClient",this.onRemoveClient),this.#o.on("sendCommandResult",this.onSendCommandResult),this.#o.on("setArtwork",this.onSetArtwork),this.#o.on("setDefaultSupportedCommands",this.onSetDefaultSupportedCommands),this.#o.on("setNowPlayingClient",this.onSetNowPlayingClient),this.#o.on("setNowPlayingPlayer",this.onSetNowPlayingPlayer),this.#o.on("setState",this.onSetState),this.#o.on("updateClient",this.onUpdateClient),this.#o.on("updateContentItem",this.onUpdateContentItem),this.#o.on("updateContentItemArtwork",this.onUpdateContentItemArtwork),this.#o.on("updatePlayer",this.onUpdatePlayer),this.#o.on("updateOutputDevice",this.onUpdateOutputDevice),this.#o.on("volumeControlAvailability",this.onVolumeControlAvailability),this.#o.on("volumeControlCapabilitiesDidChange",this.onVolumeControlCapabilitiesDidChange),this.#o.on("volumeDidChange",this.onVolumeDidChange)}async[c](){let o=this.#o;if(!o)return;o.off("deviceInfo",this.onDeviceInfo),o.off("originClientProperties",this.onOriginClientProperties),o.off("playerClientProperties",this.onPlayerClientProperties),o.off("removeClient",this.onRemoveClient),o.off("sendCommandResult",this.onSendCommandResult),o.off("setArtwork",this.onSetArtwork),o.off("setDefaultSupportedCommands",this.onSetDefaultSupportedCommands),o.off("setNowPlayingClient",this.onSetNowPlayingClient),o.off("setNowPlayingPlayer",this.onSetNowPlayingPlayer),o.off("setState",this.onSetState),o.off("updateClient",this.onUpdateClient),o.off("updateContentItem",this.onUpdateContentItem),o.off("updateContentItemArtwork",this.onUpdateContentItemArtwork),o.off("updatePlayer",this.onUpdatePlayer),o.off("updateOutputDevice",this.onUpdateOutputDevice),o.off("volumeControlAvailability",this.onVolumeControlAvailability),o.off("volumeControlCapabilitiesDidChange",this.onVolumeControlCapabilitiesDidChange),o.off("volumeDidChange",this.onVolumeDidChange)}clear(){this.#m={},this.#t=void 0,this.#r=0,this.#x=!1,this.#p=ai.VolumeCapabilities_Enum.None}async onDeviceInfo(o){this.emit("deviceInfo",o)}async onOriginClientProperties(o){this.emit("originClientProperties",o)}async onPlayerClientProperties(o){this.emit("playerClientProperties",o)}async onRemoveClient(o){if(!(o.client.bundleIdentifier in this.#m))return;delete this.#m[o.client.bundleIdentifier],this.emit("clients",this.#m)}async onSendCommandResult(o){this.emit("sendCommandResult",o)}async onSetArtwork(o){this.emit("setArtwork",o)}async onSetDefaultSupportedCommands(o){this.emit("setDefaultSupportedCommands",o)}async onSetNowPlayingClient(o){this.#t=o.client?.bundleIdentifier??null,this.emit("setNowPlayingClient",o)}async onSetNowPlayingPlayer(o){this.emit("setNowPlayingPlayer",o)}async onSetState(o){let t=this.#n(o.playerPath.client.bundleIdentifier,o.displayName);if(o.playbackState)t.setPlaybackState(o.playbackState,o.playbackStateTimestamp);if(o.supportedCommands)t.setSupportedCommands(o.supportedCommands.supportedCommands);if(o.playbackQueue)t.setPlaybackQueue(o.playbackQueue);this.emit("setState",o)}async onUpdateContentItem(o){let t=this.#n(o.playerPath.client.bundleIdentifier,o.playerPath.client.displayName);if(!t)return;for(let f of o.contentItems)t.updateContentItem(f);this.emit("updateContentItem",o)}async onUpdateContentItemArtwork(o){this.emit("updateContentItemArtwork",o)}async onUpdatePlayer(o){this.emit("updatePlayer",o)}async onUpdateClient(o){this.#n(o.client.bundleIdentifier,o.client.displayName),this.emit("clients",this.#m)}async onUpdateOutputDevice(o){this.emit("updateOutputDevice",o)}async onVolumeControlAvailability(o){this.#x=o.volumeControlAvailable,this.#p=o.volumeCapabilities,this.emit("volumeControlAvailability",o.volumeControlAvailable,o.volumeCapabilities)}async onVolumeControlCapabilitiesDidChange(o){this.#x=o.capabilities.volumeControlAvailable,this.#p=o.capabilities.volumeCapabilities,this.emit("volumeControlCapabilitiesDidChange",o.capabilities.volumeControlAvailable,o.capabilities.volumeCapabilities)}async onVolumeDidChange(o){this.#r=o.volume,this.emit("volumeDidChange",o.volume)}#n(o,t){if(o in this.#m)return this.#m[o];else{let f=new lo(o,t);return this.#m[o]=f,this.emit("clients",this.#m),f}}}class X extends ui{get[E](){return this.#i}get#o(){return this.#i.dataStream}get#f(){return this.#i.eventStream}get isConnected(){return this.#i?.rtsp?.isConnected??!1}get remote(){return this.#m}get state(){return this.#t}get timingServer(){return this.#l}set timingServer(o){this.#l=o}#d;#m;#t;#r;#x=!1;#p;#n;#i;#l;constructor(o){super();this.#d=o,this.#m=new Yo(this),this.#t=new gt(this)}async connect(){if(this.#x=!1,this.#t.clear(),this.#i=new Ei(this.#d),this.#i.rtsp.on("close",async()=>this.#u()),this.#i.rtsp.on("error",async(o)=>this.#P(o)),this.#i.rtsp.on("timeout",async()=>this.#s()),await this.#i.connect(),this.#r)this.#n=await this.#i.verify.start(this.#r);else await this.#i.pairing.start(),this.#n=await this.#i.pairing.transient();await this.#E(),this.emit("connected")}async disconnect(){this.#x=!0,clearInterval(this.#p),await this.#w(),await this.#i.disconnect(),this.emit("disconnected",!1)}async disconnectSafely(){try{await this.disconnect()}catch(o){}}async requestPlaybackQueue(o){await this.#o.exchange(this.#o.messages.playbackQueueRequest(0,o))}async sendCommand(o,t){await this.#o.exchange(this.#o.messages.sendCommand(o,t))}async setVolume(o){await this.#o.exchange(this.#o.messages.setVolume(o))}async setCredentials(o){this.#r=o}async#a(){try{await this.#i.feedback()}catch(o){V.error("Feedback error",o)}}async#u(){if(this.#x)return;clearInterval(this.#p),this.emit("disconnected",!0)}async#P(o){V.error("AirPlay error",o),await this.disconnectSafely(),this.emit("disconnected",!0)}async#s(){V.error("AirPlay timeout"),await this.disconnectSafely(),this.emit("disconnected",!0)}async#E(){let o=this.#n;if(await this.#i.rtsp.enableEncryption(o.accessoryToControllerKey,o.controllerToAccessoryKey),await this.#w(),this.#l)await this.#i.setupTimingServer(this.#l);await this.#i.setupEventStream(o.pairingId,o.sharedSecret),await this.#i.setupDataStream(o.sharedSecret),await this.#h(),this.#o.on("error",async(d)=>this.#P(d)),this.#o.on("timeout",async()=>this.#s()),this.#f.on("error",async(d)=>this.#P(d)),this.#f.on("timeout",async()=>this.#s()),this.#p=setInterval(async()=>await this.#a(),Uo);let t=this.#d.packet.additionals.find((d)=>("rdata"in d)&&typeof d.rdata==="object"&&("gid"in d.rdata))?.rdata.gid;if(t)await this.#o.exchange(this.#o.messages.configureConnection(t));if(await this.#o.exchange(this.#o.messages.deviceInfo(o.pairingId)),!await Promise.race([new Promise((d)=>{this.#o.on("deviceInfo",async()=>{await this.#o.exchange(this.#o.messages.setConnectionState()),await this.#o.exchange(this.#o.messages.clientUpdatesConfig()),d(!0)})}),async()=>{return await hi(3000),!1}]))await this.#P(Error("Device did not respond in time with its info."));else V.info("Device info received successfully, protocol should be ready.")}async#h(){await this.#t[_]()}async#w(){try{await this.#t[c]()}catch(o){V.error("State unsubscribe error",o)}}}var Po=Symbol("com.basmilius.companion-link:protocol");import{EventEmitter as Wi}from"node:events";import{reporter as so}from"@basmilius/apple-common";import{CompanionLink as Ci,convertAttentionState as jt}from"@basmilius/apple-companion-link";class wo extends Wi{get[Po](){return this.#t}get isConnected(){return this.#t?.socket?.isConnected??!1}#o;#f=!1;#d;#m;#t;constructor(o){super();this.#d=o,this.onSystemStatus=this.onSystemStatus.bind(this),this.onTVSystemStatus=this.onTVSystemStatus.bind(this)}async connect(){if(!this.#o)throw Error("Credentials are required to connect to a Companion Link device.");this.#f=!1,this.#t=new Ci(this.#d),this.#t.socket.on("close",async()=>this.#r()),this.#t.socket.on("error",async(o)=>this.#x(o)),this.#t.socket.on("timeout",async()=>this.#p()),await this.#t.connect(),this.#m=await this.#t.verify.start(this.#o),await this.#n(),this.emit("connected")}async disconnect(){this.#f=!0,await this.#l(),await this.#t.disconnect(),this.emit("disconnected",!1)}async disconnectSafely(){try{await this.disconnect()}catch(o){}}async setCredentials(o){this.#o=o}async setDiscoveryResult(o){this.#d=o}async getAttentionState(){return await this.#t.api.getAttentionState()}async getLaunchableApps(){return await this.#t.api.getLaunchableApps()}async getUserAccounts(){return await this.#t.api.getUserAccounts()}async launchApp(o){await this.#t.api.launchApp(o)}async launchUrl(o){await this.#t.api.launchUrl(o)}async mediaControlCommand(o,t){await this.#t.api.mediaControlCommand(o,t)}async pressButton(o,t,f){await this.#t.api.pressButton(o,t,f)}async switchUserAccount(o){await this.#t.api.switchUserAccount(o)}async#r(){if(this.#f)return;this.emit("disconnected",!0)}async#x(o){so.error("Companion Link error",o);try{await this.disconnect()}catch(t){}this.emit("disconnected",!0)}async#p(){so.error("Companion Link timeout"),await this.disconnectSafely(),this.emit("disconnected",!0)}async#n(){let o=this.#m;await this.#t.socket.enableEncryption(o.accessoryToControllerKey,o.controllerToAccessoryKey),await this.#t.api._systemInfo(this.#o.pairingId),await this.#t.api._touchStart(),await this.#t.api._sessionStart(),await this.#t.api._tvrcSessionStart(),await this.#t.api._unsubscribe("_iMC"),await this.#i()}async#i(){await this.#t.api._subscribe("SystemStatus",this.onSystemStatus),await this.#t.api._subscribe("TVSystemStatus",this.onTVSystemStatus);let o=await this.getAttentionState();this.emit("power",o)}async#l(){await this.#t.api._unsubscribe("SystemStatus",this.onSystemStatus),await this.#t.api._unsubscribe("TVSystemStatus",this.onTVSystemStatus)}async onSystemStatus(o){so.info("System Status",o),this.emit("power",jt(o.state))}async onTVSystemStatus(o){so.info("TV System Status",o),this.emit("power",jt(o.state))}}import{EventEmitter as Di}from"node:events";import{Proto as S}from"@basmilius/apple-airplay";class et extends Di{get airplay(){return this.#o}get companionLink(){return this.#f}get bundleIdentifier(){return this.#o.state.nowPlayingClient?.bundleIdentifier??null}get displayName(){return this.#o.state.nowPlayingClient?.displayName??null}get isConnected(){return this.#o.isConnected&&this.#f.isConnected}get isPlaying(){return this.playbackState===S.PlaybackState_Enum.Playing}get playbackQueue(){return this.#o.state.nowPlayingClient?.playbackQueue??null}get playbackState(){return this.#o.state.nowPlayingClient?.playbackState??S.PlaybackState_Enum.Unknown}get playbackStateTimestamp(){return this.#o.state.nowPlayingClient?.playbackStateTimestamp??-1}#o;#f;#d=!1;constructor(o,t){super();this.#o=new X(o),this.#f=new wo(t),this.#o.on("connected",()=>this.#m()),this.#o.on("disconnected",(f)=>this.#t(f)),this.#f.on("connected",()=>this.#m()),this.#f.on("disconnected",(f)=>this.#t(f))}async connect(o){await this.#o.setCredentials(o),await this.#f.setCredentials(o),await this.#o.connect(),await this.#f.connect(),this.#d=!1}async disconnect(){await this.#o.disconnect(),await this.#f.disconnect()}async turnOff(){await this.#o.remote.suspend()}async turnOn(){await this.#o.remote.wake()}async pause(){await this.#o.sendCommand(S.Command.Pause)}async playPause(){await this.#o.sendCommand(S.Command.TogglePlayPause)}async play(){await this.#o.sendCommand(S.Command.Play)}async stop(){await this.#o.sendCommand(S.Command.Stop)}async next(){await this.#o.sendCommand(S.Command.NextInContext)}async previous(){await this.#o.sendCommand(S.Command.PreviousInContext)}async volumeDown(){await this.#o.remote.volumeDown()}async volumeMute(){await this.#o.remote.mute()}async volumeUp(){await this.#o.remote.volumeUp()}async getCommandInfo(o){let t=this.#o.state.nowPlayingClient;if(!t)return null;return t.supportedCommands.find((f)=>f.command===o)??null}async isCommandSupported(o){let t=this.#o.state.nowPlayingClient;if(!t)return!1;return t.isCommandSupported(o)}async#m(){if(!this.#o.isConnected||!this.#f.isConnected)return;this.emit("connected")}async#t(o){if(this.#d)return;this.#d=!0,await this.disconnect(),this.emit("disconnected",o)}}import{EventEmitter as Ri}from"node:events";import{Proto as Q}from"@basmilius/apple-airplay";class ao extends Ri{get airplay(){return this.#o}get bundleIdentifier(){return this.#o.state.nowPlayingClient?.bundleIdentifier??null}get displayName(){return this.#o.state.nowPlayingClient?.displayName??null}get isConnected(){return this.#o.isConnected}get isPlaying(){return this.playbackState===Q.PlaybackState_Enum.Playing}get playbackQueue(){return this.#o.state.nowPlayingClient?.playbackQueue??null}get playbackState(){return this.#o.state.nowPlayingClient?.playbackState??Q.PlaybackState_Enum.Unknown}get playbackStateTimestamp(){return this.#o.state.nowPlayingClient?.playbackStateTimestamp??-1}get volume(){return this.#o.state.volume??0}#o;#f=!1;constructor(o){super();this.#o=new X(o),this.#o.on("connected",()=>this.#d()),this.#o.on("disconnected",(t)=>this.#m(t))}async connect(){await this.#o.connect(),this.#f=!1}async disconnect(){await this.#o.disconnect()}async pause(){await this.#o.sendCommand(Q.Command.Pause)}async playPause(){await this.#o.sendCommand(Q.Command.TogglePlayPause)}async play(){await this.#o.sendCommand(Q.Command.Play)}async stop(){await this.#o.sendCommand(Q.Command.Stop)}async next(){await this.#o.sendCommand(Q.Command.NextInContext)}async previous(){await this.#o.sendCommand(Q.Command.PreviousInContext)}async setVolume(o){await this.#o.setVolume(o)}async getCommandInfo(o){let t=this.#o.state.nowPlayingClient;if(!t)return null;return t.supportedCommands.find((f)=>f.command===o)??null}async isCommandSupported(o){let t=this.#o.state.nowPlayingClient;if(!t)return!1;return t.isCommandSupported(o)}async#d(){this.emit("connected")}async#m(o){if(this.#f)return;this.#f=!0,await this.disconnect(),this.emit("disconnected",o)}}class of extends ao{}class tf extends ao{}export{tf as HomePodMini,of as HomePod,wo as CompanionLinkDevice,Po as COMPANION_LINK,et as AppleTV,X as AirPlayDevice,E as AIRPLAY};
2
2
 
3
- //# debugId=0806BBA109354D8C64756E2164756E21
3
+ //# debugId=F2F30AA99DB45D7264756E2164756E21
4
4
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -5,7 +5,7 @@
5
5
  "export const FEEDBACK_INTERVAL = 2000;\n\nexport const PROTOCOL = Symbol('com.basmilius.airplay:protocol');\nexport const STATE_SUBSCRIBE_SYMBOL = Symbol('com.basmilius.airplay:subscribe');\nexport const STATE_UNSUBSCRIBE_SYMBOL = Symbol('com.basmilius.airplay:unsubscribe');\n",
6
6
  "import { EventEmitter } from 'node:events';\nimport type { AirPlayDataStream, AirPlayEventStream } from '@basmilius/apple-airplay';\nimport { AirPlay, Proto } from '@basmilius/apple-airplay';\nimport { type AccessoryCredentials, type AccessoryKeys, type DiscoveryResult, type TimingServer, waitFor } from '@basmilius/apple-common';\nimport { reporter } from '@basmilius/apple-common';\nimport { FEEDBACK_INTERVAL, PROTOCOL, STATE_SUBSCRIBE_SYMBOL, STATE_UNSUBSCRIBE_SYMBOL } from './const';\nimport Remote from './remote';\nimport State from './state';\n\ntype EventMap = {\n connected: [];\n disconnected: [unexpected: boolean];\n};\n\nexport default class extends EventEmitter<EventMap> {\n get [PROTOCOL](): AirPlay {\n return this.#protocol;\n }\n\n get #dataStream(): AirPlayDataStream {\n return this.#protocol.dataStream;\n }\n\n get #eventStream(): AirPlayEventStream {\n return this.#protocol.eventStream;\n }\n\n get isConnected(): boolean {\n return this.#protocol?.rtsp?.isConnected ?? false;\n }\n\n get remote(): Remote {\n return this.#remote;\n }\n\n get state(): State {\n return this.#state;\n }\n\n get timingServer(): TimingServer | undefined {\n return this.#timingServer;\n }\n\n set timingServer(timingServer: TimingServer | undefined) {\n this.#timingServer = timingServer;\n }\n\n readonly #discoveryResult: DiscoveryResult;\n readonly #remote: Remote;\n readonly #state: State;\n #credentials?: AccessoryCredentials;\n #disconnect: boolean = false;\n #feedbackInterval: NodeJS.Timeout;\n #keys: AccessoryKeys;\n #protocol!: AirPlay;\n #timingServer?: TimingServer;\n\n constructor(discoveryResult: DiscoveryResult) {\n super();\n\n this.#discoveryResult = discoveryResult;\n this.#remote = new Remote(this);\n this.#state = new State(this);\n }\n\n async connect(): Promise<void> {\n this.#disconnect = false;\n this.#state.clear();\n\n this.#protocol = new AirPlay(this.#discoveryResult);\n this.#protocol.rtsp.on('close', async () => this.#onClose());\n this.#protocol.rtsp.on('error', async (err: Error) => this.#onError(err));\n this.#protocol.rtsp.on('timeout', async () => this.#onTimeout());\n\n await this.#protocol.connect();\n\n if (this.#credentials) {\n this.#keys = await this.#protocol.verify.start(this.#credentials);\n } else {\n await this.#protocol.pairing.start();\n this.#keys = await this.#protocol.pairing.transient();\n }\n\n await this.#setup();\n\n this.emit('connected');\n }\n\n async disconnect(): Promise<void> {\n this.#disconnect = true;\n\n clearInterval(this.#feedbackInterval);\n\n await this.#unsubscribe();\n await this.#protocol.disconnect();\n\n this.emit('disconnected', false);\n }\n\n async disconnectSafely(): Promise<void> {\n try {\n await this.disconnect();\n } catch (_) {\n }\n }\n\n async requestPlaybackQueue(length: number): Promise<void> {\n await this.#dataStream.exchange(this.#dataStream.messages.playbackQueueRequest(0, length));\n }\n\n async sendCommand(command: Proto.Command, options?: Proto.CommandOptions): Promise<void> {\n await this.#dataStream.exchange(this.#dataStream.messages.sendCommand(command, options));\n }\n\n async setVolume(volume: number): Promise<void> {\n await this.#dataStream.exchange(this.#dataStream.messages.setVolume(volume));\n }\n\n async setCredentials(credentials: AccessoryCredentials): Promise<void> {\n this.#credentials = credentials;\n }\n\n async #feedback(): Promise<void> {\n try {\n await this.#protocol.feedback();\n } catch (err) {\n reporter.error('Feedback error', err);\n }\n }\n\n async #onClose(): Promise<void> {\n if (this.#disconnect) {\n return;\n }\n\n clearInterval(this.#feedbackInterval);\n\n this.emit('disconnected', true);\n }\n\n async #onError(err: Error): Promise<void> {\n reporter.error('AirPlay error', err);\n\n await this.disconnectSafely();\n\n this.emit('disconnected', true);\n }\n\n async #onTimeout(): Promise<void> {\n reporter.error('AirPlay timeout');\n\n await this.disconnectSafely();\n\n this.emit('disconnected', true);\n }\n\n async #setup(): Promise<void> {\n const keys = this.#keys;\n\n await this.#protocol.rtsp.enableEncryption(\n keys.accessoryToControllerKey,\n keys.controllerToAccessoryKey\n );\n\n await this.#unsubscribe();\n\n if (this.#timingServer) {\n await this.#protocol.setupTimingServer(this.#timingServer);\n }\n\n await this.#protocol.setupEventStream(keys.pairingId, keys.sharedSecret);\n await this.#protocol.setupDataStream(keys.sharedSecret);\n await this.#subscribe();\n\n this.#dataStream.on('error', async (err: Error) => this.#onError(err));\n this.#dataStream.on('timeout', async () => this.#onTimeout());\n this.#eventStream.on('error', async (err: Error) => this.#onError(err));\n this.#eventStream.on('timeout', async () => this.#onTimeout());\n\n this.#feedbackInterval = setInterval(async () => await this.#feedback(), FEEDBACK_INTERVAL);\n\n const gid = this.#discoveryResult.packet.additionals.find(a => 'rdata' in a && typeof a['rdata'] === 'object' && 'gid' in a['rdata'])?.['rdata']['gid'] as string;\n\n if (gid) {\n await this.#dataStream.exchange(this.#dataStream.messages.configureConnection(gid));\n }\n\n await this.#dataStream.exchange(this.#dataStream.messages.deviceInfo(keys.pairingId));\n\n const result = await Promise.race([\n new Promise(resolve => {\n this.#dataStream.on('deviceInfo', async () => {\n await this.#dataStream.exchange(this.#dataStream.messages.setConnectionState());\n await this.#dataStream.exchange(this.#dataStream.messages.clientUpdatesConfig());\n resolve(true);\n });\n }),\n async () => {\n await waitFor(3000);\n return false;\n }\n ]);\n\n if (!result) {\n await this.#onError(new Error('Device did not respond in time with its info.'));\n } else {\n reporter.info('Device info received successfully, protocol should be ready.');\n }\n }\n\n async #subscribe(): Promise<void> {\n await this.#state[STATE_SUBSCRIBE_SYMBOL]();\n }\n\n async #unsubscribe(): Promise<void> {\n try {\n await this.#state[STATE_UNSUBSCRIBE_SYMBOL]();\n } catch (err) {\n reporter.error('State unsubscribe error', err);\n }\n }\n}\n",
7
7
  "import type { AirPlay, AirPlayDataStream } from '@basmilius/apple-airplay';\nimport { Proto } from '@basmilius/apple-airplay';\nimport { waitFor } from '@basmilius/apple-common';\nimport { PROTOCOL } from './const';\nimport type Device from './device';\n\nexport default class {\n get #dataStream(): AirPlayDataStream {\n return this.#protocol.dataStream;\n }\n\n get #protocol(): AirPlay {\n return this.#device[PROTOCOL];\n }\n\n readonly #device: Device;\n\n constructor(device: Device) {\n this.#device = device;\n }\n\n async up(): Promise<void> {\n await this.pressAndRelease(1, 0x8C);\n }\n\n async down(): Promise<void> {\n await this.pressAndRelease(1, 0x8D);\n }\n\n async left(): Promise<void> {\n await this.pressAndRelease(1, 0x8B);\n }\n\n async right(): Promise<void> {\n await this.pressAndRelease(1, 0x8A);\n }\n\n async menu(): Promise<void> {\n await this.pressAndRelease(1, 0x86);\n }\n\n async play(): Promise<void> {\n await this.pressAndRelease(12, 0xB0);\n }\n\n async playPause(): Promise<void> {\n if (this.#device.state.nowPlayingClient?.playbackState === Proto.PlaybackState_Enum.Playing) {\n await this.pause();\n } else {\n await this.play();\n }\n }\n\n async pause(): Promise<void> {\n await this.pressAndRelease(12, 0xB1);\n }\n\n async next(): Promise<void> {\n await this.pressAndRelease(12, 0xB5);\n }\n\n async previous(): Promise<void> {\n await this.pressAndRelease(12, 0xB6);\n }\n\n async suspend(): Promise<void> {\n await this.pressAndRelease(1, 0x82);\n }\n\n async select(): Promise<void> {\n await this.pressAndRelease(1, 0x89);\n }\n\n async wake(): Promise<void> {\n await this.pressAndRelease(1, 0x83);\n }\n\n async home(): Promise<void> {\n await this.pressAndRelease(12, 0x40);\n }\n\n async volumeUp(): Promise<void> {\n await this.pressAndRelease(12, 0xE9);\n }\n\n async volumeDown(): Promise<void> {\n await this.pressAndRelease(12, 0xEA);\n }\n\n async mute(): Promise<void> {\n await this.pressAndRelease(12, 0xE2);\n }\n\n async doublePress(usePage: number, usage: number): Promise<void> {\n await this.pressAndRelease(usePage, usage);\n await waitFor(150);\n await this.pressAndRelease(usePage, usage);\n }\n\n async longPress(usePage: number, usage: number, duration: number = 1000): Promise<void> {\n await this.#dataStream.exchange(this.#dataStream.messages.sendHIDEvent(usePage, usage, true));\n await waitFor(duration);\n await this.#dataStream.exchange(this.#dataStream.messages.sendHIDEvent(usePage, usage, false));\n }\n\n async pressAndRelease(usePage: number, usage: number): Promise<void> {\n await this.#dataStream.exchange(this.#dataStream.messages.sendHIDEvent(usePage, usage, true));\n await this.#dataStream.exchange(this.#dataStream.messages.sendHIDEvent(usePage, usage, false));\n }\n}\n",
8
- "import { EventEmitter } from 'node:events';\nimport { type AirPlay, type AirPlayDataStream, Proto } from '@basmilius/apple-airplay';\nimport { PROTOCOL, STATE_SUBSCRIBE_SYMBOL, STATE_UNSUBSCRIBE_SYMBOL } from './const';\nimport Client from './client';\nimport type Device from './device';\n\ntype EventMap = {\n readonly clients: [Record<string, Client>];\n readonly deviceInfo: [Proto.DeviceInfoMessage];\n readonly originClientProperties: [Proto.OriginClientPropertiesMessage];\n readonly playerClientProperties: [Proto.PlayerClientPropertiesMessage];\n readonly sendCommandResult: [Proto.SendCommandResultMessage];\n readonly setArtwork: [Proto.SetArtworkMessage];\n readonly setDefaultSupportedCommands: [Proto.SetDefaultSupportedCommandsMessage];\n readonly setNowPlayingClient: [Proto.SetNowPlayingClientMessage];\n readonly setNowPlayingPlayer: [Proto.SetNowPlayingPlayerMessage];\n readonly setState: [Proto.SetStateMessage];\n readonly updateClient: [Proto.UpdateClientMessage];\n readonly updateContentItem: [Proto.UpdateContentItemMessage];\n readonly updateContentItemArtwork: [Proto.UpdateContentItemArtworkMessage];\n readonly updatePlayer: [Proto.UpdatePlayerMessage];\n readonly updateOutputDevice: [Proto.UpdateOutputDeviceMessage];\n readonly volumeControlAvailability: [boolean, Proto.VolumeCapabilities_Enum];\n readonly volumeControlCapabilitiesDidChange: [boolean, Proto.VolumeCapabilities_Enum];\n readonly volumeDidChange: [number];\n};\n\nexport default class extends EventEmitter<EventMap> {\n get #dataStream(): AirPlayDataStream {\n return this.#protocol.dataStream;\n }\n\n get #protocol(): AirPlay {\n return this.#device[PROTOCOL];\n }\n\n get clients(): Record<string, Client> {\n return this.#clients;\n }\n\n get nowPlayingClient(): Client | null {\n return this.#nowPlayingClientBundleIdentifier ? this.#clients[this.#nowPlayingClientBundleIdentifier] ?? null : null;\n }\n\n get volume(): number {\n return this.#volume;\n }\n\n get volumeAvailable(): boolean {\n return this.#volumeAvailable;\n }\n\n get volumeCapabilities(): Proto.VolumeCapabilities_Enum {\n return this.#volumeCapabilities;\n }\n\n readonly #device: Device;\n #clients: Record<string, Client>;\n #nowPlayingClientBundleIdentifier: string | null;\n #volume: number;\n #volumeAvailable: boolean;\n #volumeCapabilities: Proto.VolumeCapabilities_Enum;\n\n constructor(device: Device) {\n super();\n\n this.#device = device;\n this.clear();\n\n this.onDeviceInfo = this.onDeviceInfo.bind(this);\n this.onOriginClientProperties = this.onOriginClientProperties.bind(this);\n this.onPlayerClientProperties = this.onPlayerClientProperties.bind(this);\n this.onSendCommandResult = this.onSendCommandResult.bind(this);\n this.onSetArtwork = this.onSetArtwork.bind(this);\n this.onSetDefaultSupportedCommands = this.onSetDefaultSupportedCommands.bind(this);\n this.onSetNowPlayingClient = this.onSetNowPlayingClient.bind(this);\n this.onSetNowPlayingPlayer = this.onSetNowPlayingPlayer.bind(this);\n this.onSetState = this.onSetState.bind(this);\n this.onUpdateClient = this.onUpdateClient.bind(this);\n this.onUpdateContentItem = this.onUpdateContentItem.bind(this);\n this.onUpdateContentItemArtwork = this.onUpdateContentItemArtwork.bind(this);\n this.onUpdatePlayer = this.onUpdatePlayer.bind(this);\n this.onUpdateOutputDevice = this.onUpdateOutputDevice.bind(this);\n this.onVolumeControlAvailability = this.onVolumeControlAvailability.bind(this);\n this.onVolumeControlCapabilitiesDidChange = this.onVolumeControlCapabilitiesDidChange.bind(this);\n this.onVolumeDidChange = this.onVolumeDidChange.bind(this);\n }\n\n async [STATE_SUBSCRIBE_SYMBOL](): Promise<void> {\n this.#dataStream.on('deviceInfo', this.onDeviceInfo);\n this.#dataStream.on('originClientProperties', this.onOriginClientProperties);\n this.#dataStream.on('playerClientProperties', this.onPlayerClientProperties);\n this.#dataStream.on('sendCommandResult', this.onSendCommandResult);\n this.#dataStream.on('setArtwork', this.onSetArtwork);\n this.#dataStream.on('setDefaultSupportedCommands', this.onSetDefaultSupportedCommands);\n this.#dataStream.on('setNowPlayingClient', this.onSetNowPlayingClient);\n this.#dataStream.on('setNowPlayingPlayer', this.onSetNowPlayingPlayer);\n this.#dataStream.on('setState', this.onSetState);\n this.#dataStream.on('updateClient', this.onUpdateClient);\n this.#dataStream.on('updateContentItem', this.onUpdateContentItem);\n this.#dataStream.on('updateContentItemArtwork', this.onUpdateContentItemArtwork);\n this.#dataStream.on('updatePlayer', this.onUpdatePlayer);\n this.#dataStream.on('updateOutputDevice', this.onUpdateOutputDevice);\n this.#dataStream.on('volumeControlAvailability', this.onVolumeControlAvailability);\n this.#dataStream.on('volumeControlCapabilitiesDidChange', this.onVolumeControlCapabilitiesDidChange);\n this.#dataStream.on('volumeDidChange', this.onVolumeDidChange);\n }\n\n async [STATE_UNSUBSCRIBE_SYMBOL](): Promise<void> {\n const dataStream = this.#dataStream;\n\n if (!dataStream) {\n return;\n }\n\n dataStream.off('deviceInfo', this.onDeviceInfo);\n dataStream.off('originClientProperties', this.onOriginClientProperties);\n dataStream.off('playerClientProperties', this.onPlayerClientProperties);\n dataStream.off('sendCommandResult', this.onSendCommandResult);\n dataStream.off('setArtwork', this.onSetArtwork);\n dataStream.off('setDefaultSupportedCommands', this.onSetDefaultSupportedCommands);\n dataStream.off('setNowPlayingClient', this.onSetNowPlayingClient);\n dataStream.off('setNowPlayingPlayer', this.onSetNowPlayingPlayer);\n dataStream.off('setState', this.onSetState);\n dataStream.off('updateClient', this.onUpdateClient);\n dataStream.off('updateContentItem', this.onUpdateContentItem);\n dataStream.off('updateContentItemArtwork', this.onUpdateContentItemArtwork);\n dataStream.off('updatePlayer', this.onUpdatePlayer);\n dataStream.off('updateOutputDevice', this.onUpdateOutputDevice);\n dataStream.off('volumeControlAvailability', this.onVolumeControlAvailability);\n dataStream.off('volumeControlCapabilitiesDidChange', this.onVolumeControlCapabilitiesDidChange);\n dataStream.off('volumeDidChange', this.onVolumeDidChange);\n }\n\n clear(): void {\n this.#clients = {};\n this.#nowPlayingClientBundleIdentifier = undefined;\n this.#volume = 0;\n this.#volumeAvailable = false;\n this.#volumeCapabilities = Proto.VolumeCapabilities_Enum.None;\n }\n\n async onDeviceInfo(message: Proto.DeviceInfoMessage): Promise<void> {\n this.emit('deviceInfo', message);\n }\n\n async onOriginClientProperties(message: Proto.OriginClientPropertiesMessage): Promise<void> {\n this.emit('originClientProperties', message);\n }\n\n async onPlayerClientProperties(message: Proto.PlayerClientPropertiesMessage): Promise<void> {\n this.emit('playerClientProperties', message);\n }\n\n async onSendCommandResult(message: Proto.SendCommandResultMessage): Promise<void> {\n this.emit('sendCommandResult', message);\n }\n\n async onSetArtwork(message: Proto.SetArtworkMessage): Promise<void> {\n this.emit('setArtwork', message);\n }\n\n async onSetDefaultSupportedCommands(message: Proto.SetDefaultSupportedCommandsMessage): Promise<void> {\n this.emit('setDefaultSupportedCommands', message);\n }\n\n async onSetNowPlayingClient(message: Proto.SetNowPlayingClientMessage): Promise<void> {\n this.#nowPlayingClientBundleIdentifier = message.client?.bundleIdentifier ?? null;\n\n this.emit('setNowPlayingClient', message);\n }\n\n async onSetNowPlayingPlayer(message: Proto.SetNowPlayingPlayerMessage): Promise<void> {\n this.emit('setNowPlayingPlayer', message);\n }\n\n async onSetState(message: Proto.SetStateMessage): Promise<void> {\n const client = this.#client(message.playerPath.client.bundleIdentifier, message.displayName);\n\n if (message.playbackState) {\n client.setPlaybackState(message.playbackState, message.playbackStateTimestamp);\n }\n\n if (message.supportedCommands) {\n client.setSupportedCommands(message.supportedCommands.supportedCommands);\n }\n\n if (message.playbackQueue) {\n client.setPlaybackQueue(message.playbackQueue);\n }\n\n this.emit('setState', message);\n }\n\n async onUpdateContentItem(message: Proto.UpdateContentItemMessage): Promise<void> {\n const client = this.#client(message.playerPath.client.bundleIdentifier, message.playerPath.client.displayName);\n\n if (!client) {\n return;\n }\n\n for (const item of message.contentItems) {\n client.updateContentItem(item);\n }\n\n this.emit('updateContentItem', message);\n }\n\n async onUpdateContentItemArtwork(message: Proto.UpdateContentItemArtworkMessage): Promise<void> {\n this.emit('updateContentItemArtwork', message);\n }\n\n async onUpdatePlayer(message: Proto.UpdatePlayerMessage): Promise<void> {\n this.emit('updatePlayer', message);\n }\n\n async onUpdateClient(message: Proto.UpdateClientMessage): Promise<void> {\n this.#client(message.client.bundleIdentifier, message.client.displayName);\n\n this.emit('clients', this.#clients);\n }\n\n async onUpdateOutputDevice(message: Proto.UpdateOutputDeviceMessage): Promise<void> {\n this.emit('updateOutputDevice', message);\n }\n\n async onVolumeControlAvailability(message: Proto.VolumeControlAvailabilityMessage): Promise<void> {\n this.#volumeAvailable = message.volumeControlAvailable;\n this.#volumeCapabilities = message.volumeCapabilities;\n\n this.emit('volumeControlAvailability', message.volumeControlAvailable, message.volumeCapabilities);\n }\n\n async onVolumeControlCapabilitiesDidChange(message: Proto.VolumeControlCapabilitiesDidChangeMessage): Promise<void> {\n this.#volumeAvailable = message.capabilities.volumeControlAvailable;\n this.#volumeCapabilities = message.capabilities.volumeCapabilities;\n\n this.emit('volumeControlCapabilitiesDidChange', message.capabilities.volumeControlAvailable, message.capabilities.volumeCapabilities);\n }\n\n async onVolumeDidChange(message: Proto.VolumeDidChangeMessage): Promise<void> {\n this.#volume = message.volume;\n\n this.emit('volumeDidChange', message.volume);\n }\n\n #client(bundleIdentifier: string, displayName: string): Client {\n if (bundleIdentifier in this.#clients) {\n return this.#clients[bundleIdentifier];\n } else {\n const client = new Client(bundleIdentifier, displayName);\n this.#clients[bundleIdentifier] = client;\n\n this.emit('clients', this.#clients);\n\n return client;\n }\n }\n}\n",
8
+ "import { EventEmitter } from 'node:events';\nimport { type AirPlay, type AirPlayDataStream, Proto } from '@basmilius/apple-airplay';\nimport { PROTOCOL, STATE_SUBSCRIBE_SYMBOL, STATE_UNSUBSCRIBE_SYMBOL } from './const';\nimport Client from './client';\nimport type Device from './device';\n\ntype EventMap = {\n readonly clients: [Record<string, Client>];\n readonly deviceInfo: [Proto.DeviceInfoMessage];\n readonly originClientProperties: [Proto.OriginClientPropertiesMessage];\n readonly playerClientProperties: [Proto.PlayerClientPropertiesMessage];\n readonly removeClient: [Proto.RemoveClientMessage];\n readonly sendCommandResult: [Proto.SendCommandResultMessage];\n readonly setArtwork: [Proto.SetArtworkMessage];\n readonly setDefaultSupportedCommands: [Proto.SetDefaultSupportedCommandsMessage];\n readonly setNowPlayingClient: [Proto.SetNowPlayingClientMessage];\n readonly setNowPlayingPlayer: [Proto.SetNowPlayingPlayerMessage];\n readonly setState: [Proto.SetStateMessage];\n readonly updateClient: [Proto.UpdateClientMessage];\n readonly updateContentItem: [Proto.UpdateContentItemMessage];\n readonly updateContentItemArtwork: [Proto.UpdateContentItemArtworkMessage];\n readonly updatePlayer: [Proto.UpdatePlayerMessage];\n readonly updateOutputDevice: [Proto.UpdateOutputDeviceMessage];\n readonly volumeControlAvailability: [boolean, Proto.VolumeCapabilities_Enum];\n readonly volumeControlCapabilitiesDidChange: [boolean, Proto.VolumeCapabilities_Enum];\n readonly volumeDidChange: [number];\n};\n\nexport default class extends EventEmitter<EventMap> {\n get #dataStream(): AirPlayDataStream {\n return this.#protocol.dataStream;\n }\n\n get #protocol(): AirPlay {\n return this.#device[PROTOCOL];\n }\n\n get clients(): Record<string, Client> {\n return this.#clients;\n }\n\n get nowPlayingClient(): Client | null {\n return this.#nowPlayingClientBundleIdentifier ? this.#clients[this.#nowPlayingClientBundleIdentifier] ?? null : null;\n }\n\n get volume(): number {\n return this.#volume;\n }\n\n get volumeAvailable(): boolean {\n return this.#volumeAvailable;\n }\n\n get volumeCapabilities(): Proto.VolumeCapabilities_Enum {\n return this.#volumeCapabilities;\n }\n\n readonly #device: Device;\n #clients: Record<string, Client>;\n #nowPlayingClientBundleIdentifier: string | null;\n #volume: number;\n #volumeAvailable: boolean;\n #volumeCapabilities: Proto.VolumeCapabilities_Enum;\n\n constructor(device: Device) {\n super();\n\n this.#device = device;\n this.clear();\n\n this.onDeviceInfo = this.onDeviceInfo.bind(this);\n this.onOriginClientProperties = this.onOriginClientProperties.bind(this);\n this.onPlayerClientProperties = this.onPlayerClientProperties.bind(this);\n this.onRemoveClient = this.onRemoveClient.bind(this);\n this.onSendCommandResult = this.onSendCommandResult.bind(this);\n this.onSetArtwork = this.onSetArtwork.bind(this);\n this.onSetDefaultSupportedCommands = this.onSetDefaultSupportedCommands.bind(this);\n this.onSetNowPlayingClient = this.onSetNowPlayingClient.bind(this);\n this.onSetNowPlayingPlayer = this.onSetNowPlayingPlayer.bind(this);\n this.onSetState = this.onSetState.bind(this);\n this.onUpdateClient = this.onUpdateClient.bind(this);\n this.onUpdateContentItem = this.onUpdateContentItem.bind(this);\n this.onUpdateContentItemArtwork = this.onUpdateContentItemArtwork.bind(this);\n this.onUpdatePlayer = this.onUpdatePlayer.bind(this);\n this.onUpdateOutputDevice = this.onUpdateOutputDevice.bind(this);\n this.onVolumeControlAvailability = this.onVolumeControlAvailability.bind(this);\n this.onVolumeControlCapabilitiesDidChange = this.onVolumeControlCapabilitiesDidChange.bind(this);\n this.onVolumeDidChange = this.onVolumeDidChange.bind(this);\n }\n\n async [STATE_SUBSCRIBE_SYMBOL](): Promise<void> {\n this.#dataStream.on('deviceInfo', this.onDeviceInfo);\n this.#dataStream.on('originClientProperties', this.onOriginClientProperties);\n this.#dataStream.on('playerClientProperties', this.onPlayerClientProperties);\n this.#dataStream.on('removeClient', this.onRemoveClient);\n this.#dataStream.on('sendCommandResult', this.onSendCommandResult);\n this.#dataStream.on('setArtwork', this.onSetArtwork);\n this.#dataStream.on('setDefaultSupportedCommands', this.onSetDefaultSupportedCommands);\n this.#dataStream.on('setNowPlayingClient', this.onSetNowPlayingClient);\n this.#dataStream.on('setNowPlayingPlayer', this.onSetNowPlayingPlayer);\n this.#dataStream.on('setState', this.onSetState);\n this.#dataStream.on('updateClient', this.onUpdateClient);\n this.#dataStream.on('updateContentItem', this.onUpdateContentItem);\n this.#dataStream.on('updateContentItemArtwork', this.onUpdateContentItemArtwork);\n this.#dataStream.on('updatePlayer', this.onUpdatePlayer);\n this.#dataStream.on('updateOutputDevice', this.onUpdateOutputDevice);\n this.#dataStream.on('volumeControlAvailability', this.onVolumeControlAvailability);\n this.#dataStream.on('volumeControlCapabilitiesDidChange', this.onVolumeControlCapabilitiesDidChange);\n this.#dataStream.on('volumeDidChange', this.onVolumeDidChange);\n }\n\n async [STATE_UNSUBSCRIBE_SYMBOL](): Promise<void> {\n const dataStream = this.#dataStream;\n\n if (!dataStream) {\n return;\n }\n\n dataStream.off('deviceInfo', this.onDeviceInfo);\n dataStream.off('originClientProperties', this.onOriginClientProperties);\n dataStream.off('playerClientProperties', this.onPlayerClientProperties);\n dataStream.off('removeClient', this.onRemoveClient);\n dataStream.off('sendCommandResult', this.onSendCommandResult);\n dataStream.off('setArtwork', this.onSetArtwork);\n dataStream.off('setDefaultSupportedCommands', this.onSetDefaultSupportedCommands);\n dataStream.off('setNowPlayingClient', this.onSetNowPlayingClient);\n dataStream.off('setNowPlayingPlayer', this.onSetNowPlayingPlayer);\n dataStream.off('setState', this.onSetState);\n dataStream.off('updateClient', this.onUpdateClient);\n dataStream.off('updateContentItem', this.onUpdateContentItem);\n dataStream.off('updateContentItemArtwork', this.onUpdateContentItemArtwork);\n dataStream.off('updatePlayer', this.onUpdatePlayer);\n dataStream.off('updateOutputDevice', this.onUpdateOutputDevice);\n dataStream.off('volumeControlAvailability', this.onVolumeControlAvailability);\n dataStream.off('volumeControlCapabilitiesDidChange', this.onVolumeControlCapabilitiesDidChange);\n dataStream.off('volumeDidChange', this.onVolumeDidChange);\n }\n\n clear(): void {\n this.#clients = {};\n this.#nowPlayingClientBundleIdentifier = undefined;\n this.#volume = 0;\n this.#volumeAvailable = false;\n this.#volumeCapabilities = Proto.VolumeCapabilities_Enum.None;\n }\n\n async onDeviceInfo(message: Proto.DeviceInfoMessage): Promise<void> {\n this.emit('deviceInfo', message);\n }\n\n async onOriginClientProperties(message: Proto.OriginClientPropertiesMessage): Promise<void> {\n this.emit('originClientProperties', message);\n }\n\n async onPlayerClientProperties(message: Proto.PlayerClientPropertiesMessage): Promise<void> {\n this.emit('playerClientProperties', message);\n }\n\n async onRemoveClient(message: Proto.RemoveClientMessage): Promise<void> {\n if (!(message.client.bundleIdentifier in this.#clients)) {\n return;\n }\n\n delete this.#clients[message.client.bundleIdentifier];\n\n this.emit('clients', this.#clients);\n }\n\n async onSendCommandResult(message: Proto.SendCommandResultMessage): Promise<void> {\n this.emit('sendCommandResult', message);\n }\n\n async onSetArtwork(message: Proto.SetArtworkMessage): Promise<void> {\n this.emit('setArtwork', message);\n }\n\n async onSetDefaultSupportedCommands(message: Proto.SetDefaultSupportedCommandsMessage): Promise<void> {\n this.emit('setDefaultSupportedCommands', message);\n }\n\n async onSetNowPlayingClient(message: Proto.SetNowPlayingClientMessage): Promise<void> {\n this.#nowPlayingClientBundleIdentifier = message.client?.bundleIdentifier ?? null;\n\n this.emit('setNowPlayingClient', message);\n }\n\n async onSetNowPlayingPlayer(message: Proto.SetNowPlayingPlayerMessage): Promise<void> {\n this.emit('setNowPlayingPlayer', message);\n }\n\n async onSetState(message: Proto.SetStateMessage): Promise<void> {\n const client = this.#client(message.playerPath.client.bundleIdentifier, message.displayName);\n\n if (message.playbackState) {\n client.setPlaybackState(message.playbackState, message.playbackStateTimestamp);\n }\n\n if (message.supportedCommands) {\n client.setSupportedCommands(message.supportedCommands.supportedCommands);\n }\n\n if (message.playbackQueue) {\n client.setPlaybackQueue(message.playbackQueue);\n }\n\n this.emit('setState', message);\n }\n\n async onUpdateContentItem(message: Proto.UpdateContentItemMessage): Promise<void> {\n const client = this.#client(message.playerPath.client.bundleIdentifier, message.playerPath.client.displayName);\n\n if (!client) {\n return;\n }\n\n for (const item of message.contentItems) {\n client.updateContentItem(item);\n }\n\n this.emit('updateContentItem', message);\n }\n\n async onUpdateContentItemArtwork(message: Proto.UpdateContentItemArtworkMessage): Promise<void> {\n this.emit('updateContentItemArtwork', message);\n }\n\n async onUpdatePlayer(message: Proto.UpdatePlayerMessage): Promise<void> {\n this.emit('updatePlayer', message);\n }\n\n async onUpdateClient(message: Proto.UpdateClientMessage): Promise<void> {\n this.#client(message.client.bundleIdentifier, message.client.displayName);\n\n this.emit('clients', this.#clients);\n }\n\n async onUpdateOutputDevice(message: Proto.UpdateOutputDeviceMessage): Promise<void> {\n this.emit('updateOutputDevice', message);\n }\n\n async onVolumeControlAvailability(message: Proto.VolumeControlAvailabilityMessage): Promise<void> {\n this.#volumeAvailable = message.volumeControlAvailable;\n this.#volumeCapabilities = message.volumeCapabilities;\n\n this.emit('volumeControlAvailability', message.volumeControlAvailable, message.volumeCapabilities);\n }\n\n async onVolumeControlCapabilitiesDidChange(message: Proto.VolumeControlCapabilitiesDidChangeMessage): Promise<void> {\n this.#volumeAvailable = message.capabilities.volumeControlAvailable;\n this.#volumeCapabilities = message.capabilities.volumeCapabilities;\n\n this.emit('volumeControlCapabilitiesDidChange', message.capabilities.volumeControlAvailable, message.capabilities.volumeCapabilities);\n }\n\n async onVolumeDidChange(message: Proto.VolumeDidChangeMessage): Promise<void> {\n this.#volume = message.volume;\n\n this.emit('volumeDidChange', message.volume);\n }\n\n #client(bundleIdentifier: string, displayName: string): Client {\n if (bundleIdentifier in this.#clients) {\n return this.#clients[bundleIdentifier];\n } else {\n const client = new Client(bundleIdentifier, displayName);\n this.#clients[bundleIdentifier] = client;\n\n this.emit('clients', this.#clients);\n\n return client;\n }\n }\n}\n",
9
9
  "import { Proto } from '@basmilius/apple-airplay';\nimport { merge } from 'lodash-es';\n\nexport default class Client {\n get bundleIdentifier(): string {\n return this.#bundleIdentifier;\n }\n\n get displayName(): string {\n return this.#displayName;\n }\n\n get playbackQueue(): Proto.PlaybackQueue | null {\n return this.#playbackQueue;\n }\n\n get playbackState(): Proto.PlaybackState_Enum {\n return this.#playbackState;\n }\n\n get playbackStateTimestamp(): number {\n return this.#playbackStateTimestamp;\n }\n\n get supportedCommands(): Proto.CommandInfo[] {\n return this.#supportedCommands;\n }\n\n readonly #bundleIdentifier: string;\n readonly #displayName: string;\n #playbackQueue: Proto.PlaybackQueue | null = null;\n #playbackState: Proto.PlaybackState_Enum;\n #playbackStateTimestamp: number;\n #supportedCommands: Proto.CommandInfo[] = [];\n\n constructor(bundleIdentifier: string, displayName: string) {\n this.#bundleIdentifier = bundleIdentifier;\n this.#displayName = displayName;\n this.#playbackState = Proto.PlaybackState_Enum.Unknown;\n this.#supportedCommands = [];\n }\n\n isCommandSupported(command: Proto.Command): boolean {\n return this.#supportedCommands.some(c => c.command === command);\n }\n\n setPlaybackQueue(playbackQueue: Proto.PlaybackQueue): void {\n this.#playbackQueue = playbackQueue;\n }\n\n setPlaybackState(playbackState: Proto.PlaybackState_Enum, playbackStateTimestamp: number): void {\n this.#playbackState = playbackState;\n this.#playbackStateTimestamp = playbackStateTimestamp;\n }\n\n setSupportedCommands(supportedCommands: Proto.CommandInfo[]): void {\n this.#supportedCommands = supportedCommands;\n }\n \n updateContentItem(item: Proto.ContentItem): void {\n if (!this.#playbackQueue) {\n return;\n }\n\n const index = this.#playbackQueue.contentItems.findIndex(i => i.identifier === item.identifier);\n if (index === -1) {\n return;\n }\n\n this.#playbackQueue.contentItems[index] = merge(\n item,\n this.#playbackQueue.contentItems[index]\n );\n }\n}\n",
10
10
  "/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nexport default freeGlobal;\n",
11
11
  "import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nexport default root;\n",
@@ -110,7 +110,7 @@
110
110
  "import HomePodBase from './homepod-base';\n\nexport default class extends HomePodBase {}\n",
111
111
  "import HomePodBase from './homepod-base';\n\nexport default class extends HomePodBase {}\n"
112
112
  ],
113
- "mappings": "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",
114
- "debugId": "0806BBA109354D8C64756E2164756E21",
113
+ "mappings": "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",
114
+ "debugId": "F2F30AA99DB45D7264756E2164756E21",
115
115
  "names": []
116
116
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@basmilius/apple-devices",
3
3
  "description": "Exposes various Apple devices to connect with either AirPlay or Companion Link.",
4
- "version": "0.0.70",
4
+ "version": "0.0.72",
5
5
  "type": "module",
6
6
  "license": "MIT",
7
7
  "author": {
@@ -43,9 +43,9 @@
43
43
  }
44
44
  },
45
45
  "dependencies": {
46
- "@basmilius/apple-airplay": "0.0.70",
47
- "@basmilius/apple-common": "0.0.70",
48
- "@basmilius/apple-companion-link": "0.0.70",
46
+ "@basmilius/apple-airplay": "0.0.72",
47
+ "@basmilius/apple-common": "0.0.72",
48
+ "@basmilius/apple-companion-link": "0.0.72",
49
49
  "lodash-es": "^4.17.22"
50
50
  },
51
51
  "devDependencies": {