tsarr 2.4.2 → 2.4.4

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.
@@ -1 +1 @@
1
- {"version":3,"file":"lidarr.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/lidarr.ts"],"names":[],"mappings":"AAwhBA,eAAO,MAAM,MAAM,qDAKlB,CAAC"}
1
+ {"version":3,"file":"lidarr.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/lidarr.ts"],"names":[],"mappings":"AA0hBA,eAAO,MAAM,MAAM,qDAKlB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"prowlarr.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/prowlarr.ts"],"names":[],"mappings":"AAuTA,eAAO,MAAM,QAAQ,qDAKpB,CAAC"}
1
+ {"version":3,"file":"prowlarr.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/prowlarr.ts"],"names":[],"mappings":"AAwTA,eAAO,MAAM,QAAQ,qDAKpB,CAAC"}
@@ -1,2 +1,4 @@
1
+ import type { ResourceDef } from './service.js';
2
+ export declare const resources: ResourceDef[];
1
3
  export declare const radarr: import("citty").CommandDef<import("citty").ArgsDef>;
2
4
  //# sourceMappingURL=radarr.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"radarr.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/radarr.ts"],"names":[],"mappings":"AAmjBA,eAAO,MAAM,MAAM,qDAKlB,CAAC"}
1
+ {"version":3,"file":"radarr.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/radarr.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,eAAO,MAAM,SAAS,EAAE,WAAW,EAmjBlC,CAAC;AAEF,eAAO,MAAM,MAAM,qDAKlB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"readarr.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/readarr.ts"],"names":[],"mappings":"AAyhBA,eAAO,MAAM,OAAO,qDAKnB,CAAC"}
1
+ {"version":3,"file":"readarr.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/readarr.ts"],"names":[],"mappings":"AA2hBA,eAAO,MAAM,OAAO,qDAKnB,CAAC"}
@@ -19,5 +19,7 @@ export interface ResourceDef {
19
19
  description: string;
20
20
  actions: ActionDef[];
21
21
  }
22
+ export declare const COMMAND_OUTPUT_COLUMNS: string[];
23
+ export declare function limitResults<T>(results: T[], limit: number | undefined): T[];
22
24
  export declare function buildServiceCommand(serviceName: string, description: string, clientFactory: (config: ServarrClientConfig) => any, resources: ResourceDef[]): import("citty").CommandDef<import("citty").ArgsDef>;
23
25
  //# sourceMappingURL=service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/service.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAK/D,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;CACxC;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,GAAG,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;CAC/D;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,SAAS,EAAE,CAAC;CACtB;AAED,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,GAAG,EACnD,SAAS,EAAE,WAAW,EAAE,uDA+JzB"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/service.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAK/D,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;CACxC;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,GAAG,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;CAC/D;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,SAAS,EAAE,CAAC;CACtB;AAED,eAAO,MAAM,sBAAsB,UAA0D,CAAC;AAE9F,wBAAgB,YAAY,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,CAAC,EAAE,CAM5E;AAED,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,GAAG,EACnD,SAAS,EAAE,WAAW,EAAE,uDA+JzB"}
@@ -1,2 +1,4 @@
1
+ import type { ResourceDef } from './service.js';
2
+ export declare const resources: ResourceDef[];
1
3
  export declare const sonarr: import("citty").CommandDef<import("citty").ArgsDef>;
2
4
  //# sourceMappingURL=sonarr.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sonarr.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/sonarr.ts"],"names":[],"mappings":"AAmmBA,eAAO,MAAM,MAAM,qDAKlB,CAAC"}
1
+ {"version":3,"file":"sonarr.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/sonarr.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,eAAO,MAAM,SAAS,EAAE,WAAW,EAomBlC,CAAC;AAEF,eAAO,MAAM,MAAM,qDAKlB,CAAC"}
package/dist/cli/index.js CHANGED
@@ -5059,6 +5059,14 @@ var init_output = __esm(() => {
5059
5059
  });
5060
5060
 
5061
5061
  // src/cli/commands/service.ts
5062
+ function limitResults(results, limit) {
5063
+ if (limit === undefined)
5064
+ return results;
5065
+ if (!Number.isInteger(limit) || limit < 1) {
5066
+ throw new Error("--limit must be a positive integer.");
5067
+ }
5068
+ return results.slice(0, limit);
5069
+ }
5062
5070
  function buildServiceCommand(serviceName, description, clientFactory, resources) {
5063
5071
  const subCommands = {};
5064
5072
  for (const resource of resources) {
@@ -5245,6 +5253,7 @@ Run \`tsarr doctor\` to diagnose.`);
5245
5253
  }
5246
5254
  process.exit(1);
5247
5255
  }
5256
+ var COMMAND_OUTPUT_COLUMNS;
5248
5257
  var init_service = __esm(() => {
5249
5258
  init_dist();
5250
5259
  init_dist2();
@@ -5252,11 +5261,13 @@ var init_service = __esm(() => {
5252
5261
  init_config();
5253
5262
  init_output();
5254
5263
  init_prompt2();
5264
+ COMMAND_OUTPUT_COLUMNS = ["id", "name", "status", "result", "queued", "trigger"];
5255
5265
  });
5256
5266
 
5257
5267
  // src/cli/commands/radarr.ts
5258
5268
  var exports_radarr3 = {};
5259
5269
  __export(exports_radarr3, {
5270
+ resources: () => resources,
5260
5271
  radarr: () => radarr
5261
5272
  });
5262
5273
  import { readFileSync as readFileSync2 } from "node:fs";
@@ -5330,10 +5341,16 @@ var init_radarr3 = __esm(() => {
5330
5341
  {
5331
5342
  name: "search",
5332
5343
  description: "Search for movies on TMDB",
5333
- args: [{ name: "term", description: "Search term", required: true }],
5344
+ args: [
5345
+ { name: "term", description: "Search term", required: true },
5346
+ { name: "limit", description: "Max results to show", type: "number" }
5347
+ ],
5334
5348
  columns: ["tmdbId", "title", "year", "overview"],
5335
5349
  idField: "tmdbId",
5336
- run: (c3, a2) => c3.searchMovies(a2.term)
5350
+ run: async (c3, a2) => {
5351
+ const results = unwrapData(await c3.searchMovies(a2.term));
5352
+ return limitResults(results, a2.limit);
5353
+ }
5337
5354
  },
5338
5355
  {
5339
5356
  name: "add",
@@ -5428,12 +5445,14 @@ var init_radarr3 = __esm(() => {
5428
5445
  name: "refresh",
5429
5446
  description: "Refresh movie metadata",
5430
5447
  args: [{ name: "id", description: "Movie ID", required: true, type: "number" }],
5448
+ columns: COMMAND_OUTPUT_COLUMNS,
5431
5449
  run: (c3, a2) => c3.runCommand({ name: "RefreshMovie", movieIds: [a2.id] })
5432
5450
  },
5433
5451
  {
5434
5452
  name: "manual-search",
5435
5453
  description: "Trigger a manual search for releases",
5436
5454
  args: [{ name: "id", description: "Movie ID", required: true, type: "number" }],
5455
+ columns: COMMAND_OUTPUT_COLUMNS,
5437
5456
  run: (c3, a2) => c3.runCommand({ name: "MoviesSearch", movieIds: [a2.id] })
5438
5457
  },
5439
5458
  {
@@ -8236,7 +8255,8 @@ var init_sonarr2 = __esm(() => {
8236
8255
  // src/cli/commands/sonarr.ts
8237
8256
  var exports_sonarr3 = {};
8238
8257
  __export(exports_sonarr3, {
8239
- sonarr: () => sonarr
8258
+ sonarr: () => sonarr,
8259
+ resources: () => resources2
8240
8260
  });
8241
8261
  import { readFileSync as readFileSync3 } from "node:fs";
8242
8262
  function unwrapData2(result) {
@@ -8353,9 +8373,15 @@ var init_sonarr3 = __esm(() => {
8353
8373
  {
8354
8374
  name: "search",
8355
8375
  description: "Search for TV series",
8356
- args: [{ name: "term", description: "Search term", required: true }],
8376
+ args: [
8377
+ { name: "term", description: "Search term", required: true },
8378
+ { name: "limit", description: "Max results to show", type: "number" }
8379
+ ],
8357
8380
  columns: ["tvdbId", "title", "year", "overview"],
8358
- run: (c3, a2) => c3.searchSeries(a2.term)
8381
+ run: async (c3, a2) => {
8382
+ const results = unwrapData2(await c3.searchSeries(a2.term));
8383
+ return limitResults(results, a2.limit);
8384
+ }
8359
8385
  },
8360
8386
  {
8361
8387
  name: "add",
@@ -8447,12 +8473,14 @@ var init_sonarr3 = __esm(() => {
8447
8473
  name: "refresh",
8448
8474
  description: "Refresh series metadata",
8449
8475
  args: [{ name: "id", description: "Series ID", required: true, type: "number" }],
8476
+ columns: COMMAND_OUTPUT_COLUMNS,
8450
8477
  run: (c3, a2) => c3.runCommand({ name: "RefreshSeries", seriesId: a2.id })
8451
8478
  },
8452
8479
  {
8453
8480
  name: "manual-search",
8454
8481
  description: "Trigger a manual search for releases",
8455
8482
  args: [{ name: "id", description: "Series ID", required: true, type: "number" }],
8483
+ columns: COMMAND_OUTPUT_COLUMNS,
8456
8484
  run: (c3, a2) => c3.runCommand({ name: "SeriesSearch", seriesId: a2.id })
8457
8485
  },
8458
8486
  {
@@ -8505,6 +8533,7 @@ var init_sonarr3 = __esm(() => {
8505
8533
  name: "search",
8506
8534
  description: "Trigger a search for an episode",
8507
8535
  args: [{ name: "id", description: "Episode ID", required: true, type: "number" }],
8536
+ columns: COMMAND_OUTPUT_COLUMNS,
8508
8537
  run: (c3, a2) => c3.runCommand({ name: "EpisodeSearch", episodeIds: [a2.id] })
8509
8538
  }
8510
8539
  ]
@@ -11396,12 +11425,14 @@ var init_lidarr3 = __esm(() => {
11396
11425
  name: "refresh",
11397
11426
  description: "Refresh artist metadata",
11398
11427
  args: [{ name: "id", description: "Artist ID", required: true, type: "number" }],
11428
+ columns: COMMAND_OUTPUT_COLUMNS,
11399
11429
  run: (c3, a2) => c3.runCommand({ name: "RefreshArtist", artistId: a2.id })
11400
11430
  },
11401
11431
  {
11402
11432
  name: "manual-search",
11403
11433
  description: "Trigger a manual search for releases",
11404
11434
  args: [{ name: "id", description: "Artist ID", required: true, type: "number" }],
11435
+ columns: COMMAND_OUTPUT_COLUMNS,
11405
11436
  run: (c3, a2) => c3.runCommand({ name: "ArtistSearch", artistId: a2.id })
11406
11437
  },
11407
11438
  {
@@ -14316,12 +14347,14 @@ var init_readarr3 = __esm(() => {
14316
14347
  name: "refresh",
14317
14348
  description: "Refresh author metadata",
14318
14349
  args: [{ name: "id", description: "Author ID", required: true, type: "number" }],
14350
+ columns: COMMAND_OUTPUT_COLUMNS,
14319
14351
  run: (c3, a2) => c3.runCommand({ name: "RefreshAuthor", authorId: a2.id })
14320
14352
  },
14321
14353
  {
14322
14354
  name: "manual-search",
14323
14355
  description: "Trigger a manual search for releases",
14324
14356
  args: [{ name: "id", description: "Author ID", required: true, type: "number" }],
14357
+ columns: COMMAND_OUTPUT_COLUMNS,
14325
14358
  run: (c3, a2) => c3.runCommand({ name: "AuthorSearch", authorId: a2.id })
14326
14359
  },
14327
14360
  {
@@ -16537,6 +16570,7 @@ var init_prowlarr3 = __esm(() => {
16537
16570
  {
16538
16571
  name: "sync",
16539
16572
  description: "Trigger app indexer sync",
16573
+ columns: COMMAND_OUTPUT_COLUMNS,
16540
16574
  run: (c3) => c3.runCommand({ name: "AppIndexerMapSync" })
16541
16575
  }
16542
16576
  ]
@@ -17818,8 +17852,7 @@ __export(exports_bazarr, {
17818
17852
  BazarrClient: () => BazarrClient
17819
17853
  });
17820
17854
  function getBazarrApiBaseUrl(baseUrl) {
17821
- const normalizedBaseUrl = baseUrl.replace(/\/$/, "");
17822
- return normalizedBaseUrl.endsWith("/api") ? normalizedBaseUrl : `${normalizedBaseUrl}/api`;
17855
+ return baseUrl.replace(/\/+$/, "").replace(/\/api$/, "");
17823
17856
  }
17824
17857
  function getBazarrHeaders(config) {
17825
17858
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"bazarr.d.ts","sourceRoot":"","sources":["../../src/clients/bazarr.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bazarr.d.ts","sourceRoot":"","sources":["../../src/clients/bazarr.ts"],"names":[],"mappings":"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"}
@@ -1192,8 +1192,7 @@ var postWebHooksSonarr = (options) => (options.client ?? client).post({
1192
1192
  });
1193
1193
  // src/clients/bazarr.ts
1194
1194
  function getBazarrApiBaseUrl(baseUrl) {
1195
- const normalizedBaseUrl = baseUrl.replace(/\/$/, "");
1196
- return normalizedBaseUrl.endsWith("/api") ? normalizedBaseUrl : `${normalizedBaseUrl}/api`;
1195
+ return baseUrl.replace(/\/+$/, "").replace(/\/api$/, "");
1197
1196
  }
1198
1197
  function getBazarrHeaders(config) {
1199
1198
  return {
package/dist/index.js CHANGED
@@ -4,7 +4,7 @@ var JS=Object.defineProperty;var XS=(e)=>e;function ZS(e,A){this[e]=XS.bind(null
4
4
 
5
5
  `);f=F.pop()??"";for(let Y of F){let h=Y.split(`
6
6
  `),O=[],$;for(let r of h)if(r.startsWith("data:"))O.push(r.replace(/^data:\s*/,""));else if(r.startsWith("event:"))$=r.replace(/^event:\s*/,"");else if(r.startsWith("id:"))I=r.replace(/^id:\s*/,"");else if(r.startsWith("retry:")){let j=Number.parseInt(r.replace(/^retry:\s*/,""),10);if(!Number.isNaN(j))L=j}let k,b=!1;if(O.length){let r=O.join(`
7
- `);try{k=JSON.parse(r),b=!0}catch{k=r}}if(b){if(R)await R(k);if(V)k=await V(k)}if(a?.({data:k,event:$,id:I,retry:L}),O.length)yield k}}}finally{x.removeEventListener("abort",U),C.releaseLock()}break}catch(Q){if(A?.(Q),B!==void 0&&m>=B)break;let N=Math.min(L*2**(m-1),d??30000);await M(N)}}}()}};var hS=(e)=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},cS=(e)=>{switch(e){case"form":return",";case"pipeDelimited":return"|";case"spaceDelimited":return"%20";default:return","}},KS=(e)=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},ge=({allowReserved:e,explode:A,name:a,style:V,value:R})=>{if(!A){let d=(e?R:R.map((u)=>encodeURIComponent(u))).join(cS(V));switch(V){case"label":return`.${d}`;case"matrix":return`;${a}=${d}`;case"simple":return d;default:return`${a}=${d}`}}let D=hS(V),B=R.map((d)=>{if(V==="label"||V==="simple")return e?d:encodeURIComponent(d);return K({allowReserved:e,name:a,value:d})}).join(D);return V==="label"||V==="matrix"?D+B:B},K=({allowReserved:e,name:A,value:a})=>{if(a===void 0||a===null)return"";if(typeof a==="object")throw Error("Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.");return`${A}=${e?a:encodeURIComponent(a)}`},ue=({allowReserved:e,explode:A,name:a,style:V,value:R,valueOnly:D})=>{if(R instanceof Date)return D?R.toISOString():`${a}=${R.toISOString()}`;if(V!=="deepObject"&&!A){let u=[];Object.entries(R).forEach(([l,I])=>{u=[...u,l,e?I:encodeURIComponent(I)]});let S=u.join(",");switch(V){case"form":return`${a}=${S}`;case"label":return`.${S}`;case"matrix":return`;${a}=${S}`;default:return S}}let B=KS(V),d=Object.entries(R).map(([u,S])=>K({allowReserved:e,name:V==="deepObject"?`${a}[${u}]`:u,value:S})).join(B);return V==="label"||V==="matrix"?B+d:d};var zS=/\{[^{}]+\}/g,_S=({path:e,url:A})=>{let a=A,V=A.match(zS);if(V)for(let R of V){let D=!1,B=R.substring(1,R.length-1),d="simple";if(B.endsWith("*"))D=!0,B=B.substring(0,B.length-1);if(B.startsWith("."))B=B.substring(1),d="label";else if(B.startsWith(";"))B=B.substring(1),d="matrix";let u=e[B];if(u===void 0||u===null)continue;if(Array.isArray(u)){a=a.replace(R,ge({explode:D,name:B,style:d,value:u}));continue}if(typeof u==="object"){a=a.replace(R,ue({explode:D,name:B,style:d,value:u,valueOnly:!0}));continue}if(d==="matrix"){a=a.replace(R,`;${K({name:B,value:u})}`);continue}let S=encodeURIComponent(d==="label"?`.${u}`:u);a=a.replace(R,S)}return a},t3=({baseUrl:e,path:A,query:a,querySerializer:V,url:R})=>{let D=R.startsWith("/")?R:`/${R}`,B=(e??"")+D;if(A)B=_S({path:A,url:B});let d=a?V(a):"";if(d.startsWith("?"))d=d.substring(1);if(d)B+=`?${d}`;return B};function Ny(e){let A=e.body!==void 0;if(A&&e.bodySerializer){if("serializedBody"in e)return e.serializedBody!==void 0&&e.serializedBody!==""?e.serializedBody:null;return e.body!==""?e.body:null}if(A)return e.body;return}var p3=async(e,A)=>{let a=typeof A==="function"?await A(e):A;if(!a)return;if(e.scheme==="bearer")return`Bearer ${a}`;if(e.scheme==="basic")return`Basic ${btoa(a)}`;return a};var f3=({parameters:e={},...A}={})=>{return(V)=>{let R=[];if(V&&typeof V==="object")for(let D in V){let B=V[D];if(B===void 0||B===null)continue;let d=e[D]||A;if(Array.isArray(B)){let u=ge({allowReserved:d.allowReserved,explode:!0,name:D,style:"form",value:B,...d.array});if(u)R.push(u)}else if(typeof B==="object"){let u=ue({allowReserved:d.allowReserved,explode:!0,name:D,style:"deepObject",value:B,...d.object});if(u)R.push(u)}else{let u=K({allowReserved:d.allowReserved,name:D,value:B});if(u)R.push(u)}}return R.join("&")}},C3=(e)=>{if(!e)return"stream";let A=e.split(";")[0]?.trim();if(!A)return;if(A.startsWith("application/json")||A.endsWith("+json"))return"json";if(A==="multipart/form-data")return"formData";if(["application/","audio/","image/","video/"].some((a)=>A.startsWith(a)))return"blob";if(A.startsWith("text/"))return"text";return},iS=(e,A)=>{if(!A)return!1;if(e.headers.has(A)||e.query?.[A]||e.headers.get("Cookie")?.includes(`${A}=`))return!0;return!1},s3=async({security:e,...A})=>{for(let a of e){if(iS(A,a.name))continue;let V=await p3(a,A.auth);if(!V)continue;let R=a.name??"Authorization";switch(a.in){case"query":if(!A.query)A.query={};A.query[R]=V;break;case"cookie":A.headers.append("Cookie",`${R}=${V}`);break;case"header":default:A.headers.set(R,V);break}}},ky=(e)=>t3({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:typeof e.querySerializer==="function"?e.querySerializer:f3(e.querySerializer),url:e.url}),wy=(e,A)=>{let a={...e,...A};if(a.baseUrl?.endsWith("/"))a.baseUrl=a.baseUrl.substring(0,a.baseUrl.length-1);return a.headers=me(e.headers,A.headers),a},vS=(e)=>{let A=[];return e.forEach((a,V)=>{A.push([V,a])}),A},me=(...e)=>{let A=new Headers;for(let a of e){if(!a)continue;let V=a instanceof Headers?vS(a):Object.entries(a);for(let[R,D]of V)if(D===null)A.delete(R);else if(Array.isArray(D))for(let B of D)A.append(R,B);else if(D!==void 0)A.set(R,typeof D==="object"?JSON.stringify(D):D)}return A};class Pe{fns=[];clear(){this.fns=[]}eject(e){let A=this.getInterceptorIndex(e);if(this.fns[A])this.fns[A]=null}exists(e){let A=this.getInterceptorIndex(e);return Boolean(this.fns[A])}getInterceptorIndex(e){if(typeof e==="number")return this.fns[e]?e:-1;return this.fns.indexOf(e)}update(e,A){let a=this.getInterceptorIndex(e);if(this.fns[a])return this.fns[a]=A,e;return!1}use(e){return this.fns.push(e),this.fns.length-1}}var S3=()=>({error:new Pe,request:new Pe,response:new Pe}),qS=f3({allowReserved:!1,array:{explode:!0,style:"form"},object:{explode:!0,style:"deepObject"}}),nS={"Content-Type":"application/json"},Ae=(e={})=>({...Qy,headers:nS,parseAs:"auto",querySerializer:qS,...e});var Wy=(e={})=>{let A=wy(Ae(),e),a=()=>({...A}),V=(l)=>{return A=wy(A,l),a()},R=S3(),D=async(l)=>{let I={...A,...l,fetch:l.fetch??A.fetch??globalThis.fetch,headers:me(A.headers,l.headers),serializedBody:void 0};if(I.security)await s3({...I,security:I.security});if(I.requestValidator)await I.requestValidator(I);if(I.body!==void 0&&I.bodySerializer)I.serializedBody=I.bodySerializer(I.body);if(I.body===void 0||I.serializedBody==="")I.headers.delete("Content-Type");let M=ky(I);return{opts:I,url:M}},B=async(l)=>{let{opts:I,url:M}=await D(l),H={redirect:"follow",...I,body:Ny(I)},T=new Request(M,H);for(let t of R.request.fns)if(t)T=await t(T,I);let L=I.fetch,m;try{m=await L(T)}catch(t){let C=t;for(let f of R.error.fns)if(f)C=await f(t,void 0,T,I);if(C=C||{},I.throwOnError)throw C;return I.responseStyle==="data"?void 0:{error:C,request:T,response:void 0}}for(let t of R.response.fns)if(t)m=await t(m,T,I);let x={request:T,response:m};if(m.ok){let t=(I.parseAs==="auto"?C3(m.headers.get("Content-Type")):I.parseAs)??"json";if(m.status===204||m.headers.get("Content-Length")==="0"){let f;switch(t){case"arrayBuffer":case"blob":case"text":f=await m[t]();break;case"formData":f=new FormData;break;case"stream":f=m.body;break;case"json":default:f={};break}return I.responseStyle==="data"?f:{data:f,...x}}let C;switch(t){case"arrayBuffer":case"blob":case"formData":case"text":C=await m[t]();break;case"json":{let f=await m.text();C=f?JSON.parse(f):{};break}case"stream":return I.responseStyle==="data"?m.body:{data:m.body,...x}}if(t==="json"){if(I.responseValidator)await I.responseValidator(C);if(I.responseTransformer)C=await I.responseTransformer(C)}return I.responseStyle==="data"?C:{data:C,...x}}let W=await m.text(),Q;try{Q=JSON.parse(W)}catch{}let N=Q??W,w=N;for(let t of R.error.fns)if(t)w=await t(N,m,T,I);if(w=w||{},I.throwOnError)throw w;return I.responseStyle==="data"?void 0:{error:w,...x}},d=(l)=>(I)=>B({...I,method:l}),u=(l)=>async(I)=>{let{opts:M,url:H}=await D(I);return l3({...M,body:M.body,headers:M.headers,method:l,onRequest:async(T,L)=>{let m=new Request(T,L);for(let x of R.request.fns)if(x)m=await x(m,M);return m},serializedBody:Ny(M),url:H})};return{buildUrl:(l)=>ky({...A,...l}),connect:d("CONNECT"),delete:d("DELETE"),get:d("GET"),getConfig:a,head:d("HEAD"),interceptors:R,options:d("OPTIONS"),patch:d("PATCH"),post:d("POST"),put:d("PUT"),request:B,setConfig:V,sse:{connect:u("CONNECT"),delete:u("DELETE"),get:u("GET"),head:u("HEAD"),options:u("OPTIONS"),patch:u("PATCH"),post:u("POST"),put:u("PUT"),trace:u("TRACE")},trace:d("TRACE")}};var s=Wy(Ae());var Hy={};c(Hy,{postWebHooksSonarr:()=>xA,postWebHooksRadarr:()=>SA,postWebHooksPlex:()=>sA,postSystemWebhookTest:()=>CA,postSystemTasks:()=>fA,postSystemJobs:()=>dA,postSystemBackups:()=>VA,postSystemAnnouncements:()=>oe,postSeries:()=>_e,postProviders:()=>Xe,postProviderMovies:()=>ce,postProviderEpisodes:()=>Ye,postPlexWebhookDelete:()=>$3,postPlexWebhookCreate:()=>F3,postPlexTestConnection:()=>U3,postPlexSelectServer:()=>O3,postPlexPin:()=>N3,postPlexLogout:()=>L3,postPlexEncryptApiKey:()=>T3,postPlexApiKey:()=>x3,postMoviesSubtitles:()=>be,postMoviesBlacklist:()=>Ee,postMovies:()=>We,postEpisodesSubtitles:()=>Me,postEpisodesBlacklist:()=>Ce,patchSystemJobs:()=>DA,patchSystemBackups:()=>aA,patchSubtitles:()=>ve,patchSeries:()=>ze,patchMoviesSubtitles:()=>$e,patchMovies:()=>we,patchEpisodesSubtitles:()=>xe,getSystemTasks:()=>pA,getSystemStatus:()=>tA,getSystemReleases:()=>mA,getSystemPing:()=>PA,getSystemLogs:()=>uA,getSystemJobs:()=>IA,getSystemHealth:()=>RA,getSystemBackups:()=>AA,getSystemAnnouncements:()=>ne,getSubtitles:()=>ie,getSubtitleNameInfo:()=>qe,getSeries:()=>Ke,getSearches:()=>lA,getProviders:()=>Je,getProviderMovies:()=>he,getProviderEpisodes:()=>Ze,getPlexWebhookList:()=>b3,getPlexValidate:()=>W3,getPlexTestConnection:()=>E3,getPlexServers:()=>w3,getPlexSelectServer:()=>H3,getPlexPinCheck:()=>k3,getPlexPin:()=>Q3,getPlexLibraries:()=>r3,getPlexAutopulseConfig:()=>M3,getMoviesWanted:()=>je,getMoviesHistory:()=>Ue,getMoviesBlacklist:()=>Oe,getMovies:()=>ke,getLanguagesProfiles:()=>yA,getLanguages:()=>GA,getHistoryStats:()=>Ne,getEpisodesWanted:()=>Te,getEpisodesHistory:()=>se,getEpisodesBlacklist:()=>fe,getEpisodes:()=>te,getBrowseSonarrFs:()=>Qe,getBrowseRadarrFs:()=>Le,getBrowseBazarrFs:()=>re,getBadges:()=>le,deleteSystemLogs:()=>gA,deleteSystemJobs:()=>BA,deleteSystemBackups:()=>eA,deleteMoviesSubtitles:()=>Fe,deleteMoviesBlacklist:()=>He,deleteEpisodesSubtitles:()=>Se,deleteEpisodesBlacklist:()=>pe});var le=(e)=>(e?.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/badges",...e}),te=(e)=>(e?.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/episodes",...e}),pe=(e)=>(e?.client??s).delete({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/episodes/blacklist",...e}),fe=(e)=>(e?.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/episodes/blacklist",...e}),Ce=(e)=>(e.client??s).post({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/episodes/blacklist",...e}),se=(e)=>(e?.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/episodes/history",...e}),Se=(e)=>(e.client??s).delete({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/episodes/subtitles",...e}),xe=(e)=>(e.client??s).patch({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/episodes/subtitles",...e}),Me=(e)=>(e.client??s).post({...ye,security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/episodes/subtitles",...e,headers:{"Content-Type":null,...e.headers}}),Te=(e)=>(e?.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/episodes/wanted",...e}),re=(e)=>(e?.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/files",...e}),Le=(e)=>(e?.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/files/radarr",...e}),Qe=(e)=>(e?.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/files/sonarr",...e}),Ne=(e)=>(e?.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/history/stats",...e}),ke=(e)=>(e?.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/movies",...e}),we=(e)=>(e?.client??s).patch({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/movies",...e}),We=(e)=>(e?.client??s).post({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/movies",...e}),He=(e)=>(e?.client??s).delete({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/movies/blacklist",...e}),Oe=(e)=>(e?.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/movies/blacklist",...e}),Ee=(e)=>(e.client??s).post({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/movies/blacklist",...e}),Ue=(e)=>(e?.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/movies/history",...e}),Fe=(e)=>(e.client??s).delete({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/movies/subtitles",...e}),$e=(e)=>(e.client??s).patch({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/movies/subtitles",...e}),be=(e)=>(e.client??s).post({...ye,security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/movies/subtitles",...e,headers:{"Content-Type":null,...e.headers}}),je=(e)=>(e?.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/movies/wanted",...e}),x3=(e)=>(e.client??s).post({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/plex/apikey",...e}),M3=(e)=>(e?.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/plex/autopulse/config",...e}),T3=(e)=>(e?.client??s).post({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/plex/encrypt-apikey",...e}),r3=(e)=>(e?.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/plex/oauth/libraries",...e}),L3=(e)=>(e?.client??s).post({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/plex/oauth/logout",...e}),Q3=(e)=>(e?.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/plex/oauth/pin",...e}),N3=(e)=>(e?.client??s).post({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/plex/oauth/pin",...e}),k3=(e)=>(e.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/plex/oauth/pin/{pin_id}/check",...e}),w3=(e)=>(e?.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/plex/oauth/servers",...e}),W3=(e)=>(e?.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/plex/oauth/validate",...e}),H3=(e)=>(e?.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/plex/select-server",...e}),O3=(e)=>(e.client??s).post({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/plex/select-server",...e,headers:{"Content-Type":"application/json",...e.headers}}),E3=(e)=>(e?.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/plex/test-connection",...e}),U3=(e)=>(e.client??s).post({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/plex/test-connection",...e}),F3=(e)=>(e?.client??s).post({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/plex/webhook/create",...e}),$3=(e)=>(e.client??s).post({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/plex/webhook/delete",...e}),b3=(e)=>(e?.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/plex/webhook/list",...e}),Je=(e)=>(e?.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/providers",...e}),Xe=(e)=>(e.client??s).post({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/providers",...e}),Ze=(e)=>(e.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/providers/episodes",...e}),Ye=(e)=>(e.client??s).post({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/providers/episodes",...e}),he=(e)=>(e.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/providers/movies",...e}),ce=(e)=>(e.client??s).post({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/providers/movies",...e}),Ke=(e)=>(e?.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/series",...e}),ze=(e)=>(e?.client??s).patch({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/series",...e}),_e=(e)=>(e?.client??s).post({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/series",...e}),ie=(e)=>(e.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/subtitles",...e}),ve=(e)=>(e.client??s).patch({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/subtitles",...e}),qe=(e)=>(e.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/subtitles/info",...e}),ne=(e)=>(e?.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/system/announcements",...e}),oe=(e)=>(e.client??s).post({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/system/announcements",...e}),eA=(e)=>(e.client??s).delete({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/system/backups",...e}),AA=(e)=>(e?.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/system/backups",...e}),aA=(e)=>(e.client??s).patch({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/system/backups",...e}),VA=(e)=>(e?.client??s).post({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/system/backups",...e}),RA=(e)=>(e?.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/system/health",...e}),BA=(e)=>(e.client??s).delete({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/system/jobs",...e}),IA=(e)=>(e?.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/system/jobs",...e}),DA=(e)=>(e.client??s).patch({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/system/jobs",...e}),dA=(e)=>(e.client??s).post({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/system/jobs",...e}),GA=(e)=>(e?.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/system/languages",...e}),yA=(e)=>(e?.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/system/languages/profiles",...e}),gA=(e)=>(e?.client??s).delete({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/system/logs",...e}),uA=(e)=>(e?.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/system/logs",...e}),PA=(e)=>(e?.client??s).get({url:"/api/system/ping",...e}),mA=(e)=>(e?.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/system/releases",...e}),lA=(e)=>(e.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/system/searches",...e}),tA=(e)=>(e?.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/system/status",...e}),pA=(e)=>(e?.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/system/tasks",...e}),fA=(e)=>(e.client??s).post({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/system/tasks",...e}),CA=(e)=>(e?.client??s).post({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/system/webhooks/test",...e}),sA=(e)=>(e.client??s).post({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/webhooks/plex",...e}),SA=(e)=>(e.client??s).post({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/webhooks/radarr",...e,headers:{"Content-Type":"application/json",...e.headers}}),xA=(e)=>(e.client??s).post({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/webhooks/sonarr",...e,headers:{"Content-Type":"application/json",...e.headers}});function j3(e){let A=e.replace(/\/$/,"");return A.endsWith("/api")?A:`${A}/api`}function J3(e){return{"Content-Type":"application/json",...e.config.headers??{}}}class X3{clientConfig;constructor(e){this.clientConfig=E(e),s.setConfig({baseUrl:j3(this.clientConfig.getBaseUrl()),headers:J3(this.clientConfig),auth:this.clientConfig.config.apiKey})}async getSystemStatus(){return tA()}async getSystemHealth(){return RA()}async ping(){return PA()}async getSystemReleases(){return mA()}async getSystemAnnouncements(){return ne()}async dismissAnnouncement(e){return oe({query:{hash:e}})}async getSystemLogs(){return uA()}async rotateLogs(){return gA()}async getSystemTasks(){return pA()}async runSystemTask(e){return fA({query:{taskid:e}})}async getBackups(){return AA()}async createBackup(){return VA()}async restoreBackup(e){return aA({query:{filename:e}})}async deleteBackup(e){return eA({query:{filename:e}})}async getJobs(e,A){let a={};if(e!==void 0)a.id=e;if(A)a.status=A;return IA(Object.keys(a).length>0?{query:a}:{})}async manageJob(e,A){return dA({query:{id:e,action:A}})}async deleteJob(e){return BA({query:{id:e}})}async emptyJobQueue(e){return DA({query:{queueName:e}})}async getLanguages(e){return GA(e?{query:{history:e}}:{})}async getLanguageProfiles(){return yA()}async getSeries(e,A,a){let V={};if(e)V["seriesid[]"]=e;if(A!==void 0)V.start=A;if(a!==void 0)V.length=a;return Ke(Object.keys(V).length>0?{query:V}:{})}async updateSeriesLanguageProfile(e,A){let a={};if(e)a.seriesid=e;if(A)a.profileid=A;return _e(Object.keys(a).length>0?{query:a}:{})}async runSeriesAction(e,A){let a={};if(e!==void 0)a.seriesid=e;if(A)a.action=A;return ze(Object.keys(a).length>0?{query:a}:{})}async getEpisodes(e,A){let a={};if(e)a["seriesid[]"]=e;if(A)a["episodeid[]"]=A;return te(Object.keys(a).length>0?{query:a}:{})}async getEpisodesWanted(e,A,a){let V={};if(e!==void 0)V.start=e;if(A!==void 0)V.length=A;if(a)V["episodeid[]"]=a;return Te(Object.keys(V).length>0?{query:V}:{})}async getEpisodesHistory(e,A,a){let V={};if(e!==void 0)V.start=e;if(A!==void 0)V.length=A;if(a!==void 0)V.episodeid=a;return se(Object.keys(V).length>0?{query:V}:{})}async downloadEpisodeSubtitles(e,A,a,V,R){return xe({query:{seriesid:e,episodeid:A,language:a,forced:V,hi:R}})}async uploadEpisodeSubtitles(e,A,a,V,R,D){return Me({body:{file:D},query:{seriesid:e,episodeid:A,language:a,forced:V,hi:R}})}async deleteEpisodeSubtitles(e,A,a,V,R,D){return Se({query:{seriesid:e,episodeid:A,language:a,forced:V,hi:R,path:D}})}async getEpisodesBlacklist(e,A){let a={};if(e!==void 0)a.start=e;if(A!==void 0)a.length=A;return fe(Object.keys(a).length>0?{query:a}:{})}async addEpisodeToBlacklist(e,A,a,V,R,D){return Ce({query:{seriesid:e,episodeid:A,provider:a,subs_id:V,language:R,subtitles_path:D}})}async removeEpisodeFromBlacklist(e,A,a){let V={};if(e)V.all=e;if(A)V.provider=A;if(a)V.subs_id=a;return pe(Object.keys(V).length>0?{query:V}:{})}async getMovies(e,A,a){let V={};if(e)V["radarrid[]"]=e;if(A!==void 0)V.start=A;if(a!==void 0)V.length=a;return ke(Object.keys(V).length>0?{query:V}:{})}async updateMoviesLanguageProfile(e,A){let a={};if(e)a.radarrid=e;if(A)a.profileid=A;return We(Object.keys(a).length>0?{query:a}:{})}async runMovieAction(e,A){let a={};if(e!==void 0)a.radarrid=e;if(A)a.action=A;return we(Object.keys(a).length>0?{query:a}:{})}async getMoviesWanted(e,A,a){let V={};if(e!==void 0)V.start=e;if(A!==void 0)V.length=A;if(a)V["radarrid[]"]=a;return je(Object.keys(V).length>0?{query:V}:{})}async getMoviesHistory(e,A,a){let V={};if(e!==void 0)V.start=e;if(A!==void 0)V.length=A;if(a!==void 0)V.radarrid=a;return Ue(Object.keys(V).length>0?{query:V}:{})}async downloadMovieSubtitles(e,A,a,V){return $e({query:{radarrid:e,language:A,forced:a,hi:V}})}async uploadMovieSubtitles(e,A,a,V,R){return be({body:{file:R},query:{radarrid:e,language:A,forced:a,hi:V}})}async deleteMovieSubtitles(e,A,a,V,R){return Fe({query:{radarrid:e,language:A,forced:a,hi:V,path:R}})}async getMoviesBlacklist(e,A){let a={};if(e!==void 0)a.start=e;if(A!==void 0)a.length=A;return Oe(Object.keys(a).length>0?{query:a}:{})}async addMovieToBlacklist(e,A,a,V,R){return Ee({query:{radarrid:e,provider:A,subs_id:a,language:V,subtitles_path:R}})}async removeMovieFromBlacklist(e,A,a){let V={};if(e)V.all=e;if(A)V.provider=A;if(a)V.subs_id=a;return He(Object.keys(V).length>0?{query:V}:{})}async getProviders(){return Je()}async resetProviders(){return Xe({query:{action:"reset"}})}async searchEpisodeSubtitles(e){return Ze({query:{episodeid:e}})}async downloadProviderEpisodeSubtitles(e,A,a,V,R,D,B){return Ye({query:{seriesid:e,episodeid:A,hi:a,forced:V,original_format:R,provider:D,subtitle:B}})}async searchMovieSubtitles(e){return he({query:{radarrid:e}})}async downloadProviderMovieSubtitles(e,A,a,V,R,D){return ce({query:{radarrid:e,hi:A,forced:a,original_format:V,provider:R,subtitle:D}})}async getSubtitles(e){return ie(e)}async applySubtitleMods(e){return ve(e)}async getSubtitleNameInfo(e){return qe(e)}async getHistoryStats(){return Ne()}async getBadges(){return le()}async search(e){return lA(e)}async browseBazarrFs(e){return re(e?{query:{path:e}}:{})}async browseRadarrFs(e){return Le(e?{query:{path:e}}:{})}async browseSonarrFs(e){return Qe(e?{query:{path:e}}:{})}async testWebhook(){return CA()}async triggerPlexWebhook(e){return sA({query:{payload:e}})}async triggerRadarrWebhook(e){return SA(e)}async triggerSonarrWebhook(e){return xA(e)}updateConfig(e){let A={...this.clientConfig.config,...e};return this.clientConfig=E(A),s.setConfig({baseUrl:j3(this.clientConfig.getBaseUrl()),headers:J3(this.clientConfig),auth:this.clientConfig.config.apiKey}),this.clientConfig.config}}var Z3=(e,A,a)=>{if(typeof a==="string"||a instanceof Blob)e.append(A,a);else if(a instanceof Date)e.append(A,a.toISOString());else e.append(A,JSON.stringify(a))};var Oy={bodySerializer:(e)=>{let A=new FormData;return Object.entries(e).forEach(([a,V])=>{if(V===void 0||V===null)return;if(Array.isArray(V))V.forEach((R)=>Z3(A,a,R));else Z3(A,a,V)}),A}},Ey={bodySerializer:(e)=>JSON.stringify(e,(A,a)=>typeof a==="bigint"?a.toString():a)};var Y3=({onRequest:e,onSseError:A,onSseEvent:a,responseTransformer:V,responseValidator:R,sseDefaultRetryDelay:D,sseMaxRetryAttempts:B,sseMaxRetryDelay:d,sseSleepFn:u,url:S,...l})=>{let I,M=u??((L)=>new Promise((m)=>setTimeout(m,L)));return{stream:async function*(){let L=D??3000,m=0,x=l.signal??new AbortController().signal;while(!0){if(x.aborted)break;m++;let W=l.headers instanceof Headers?l.headers:new Headers(l.headers);if(I!==void 0)W.set("Last-Event-ID",I);try{let Q={redirect:"follow",...l,body:l.serializedBody,headers:W,signal:x},N=new Request(S,Q);if(e)N=await e(S,Q);let t=await(l.fetch??globalThis.fetch)(N);if(!t.ok)throw Error(`SSE failed: ${t.status} ${t.statusText}`);if(!t.body)throw Error("No body in SSE response");let C=t.body.pipeThrough(new TextDecoderStream).getReader(),f="",U=()=>{try{C.cancel()}catch{}};x.addEventListener("abort",U);try{while(!0){let{done:X,value:Z}=await C.read();if(X)break;f+=Z,f=f.replace(/\r\n/g,`
7
+ `);try{k=JSON.parse(r),b=!0}catch{k=r}}if(b){if(R)await R(k);if(V)k=await V(k)}if(a?.({data:k,event:$,id:I,retry:L}),O.length)yield k}}}finally{x.removeEventListener("abort",U),C.releaseLock()}break}catch(Q){if(A?.(Q),B!==void 0&&m>=B)break;let N=Math.min(L*2**(m-1),d??30000);await M(N)}}}()}};var hS=(e)=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},cS=(e)=>{switch(e){case"form":return",";case"pipeDelimited":return"|";case"spaceDelimited":return"%20";default:return","}},KS=(e)=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},ge=({allowReserved:e,explode:A,name:a,style:V,value:R})=>{if(!A){let d=(e?R:R.map((u)=>encodeURIComponent(u))).join(cS(V));switch(V){case"label":return`.${d}`;case"matrix":return`;${a}=${d}`;case"simple":return d;default:return`${a}=${d}`}}let D=hS(V),B=R.map((d)=>{if(V==="label"||V==="simple")return e?d:encodeURIComponent(d);return K({allowReserved:e,name:a,value:d})}).join(D);return V==="label"||V==="matrix"?D+B:B},K=({allowReserved:e,name:A,value:a})=>{if(a===void 0||a===null)return"";if(typeof a==="object")throw Error("Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.");return`${A}=${e?a:encodeURIComponent(a)}`},ue=({allowReserved:e,explode:A,name:a,style:V,value:R,valueOnly:D})=>{if(R instanceof Date)return D?R.toISOString():`${a}=${R.toISOString()}`;if(V!=="deepObject"&&!A){let u=[];Object.entries(R).forEach(([l,I])=>{u=[...u,l,e?I:encodeURIComponent(I)]});let S=u.join(",");switch(V){case"form":return`${a}=${S}`;case"label":return`.${S}`;case"matrix":return`;${a}=${S}`;default:return S}}let B=KS(V),d=Object.entries(R).map(([u,S])=>K({allowReserved:e,name:V==="deepObject"?`${a}[${u}]`:u,value:S})).join(B);return V==="label"||V==="matrix"?B+d:d};var zS=/\{[^{}]+\}/g,_S=({path:e,url:A})=>{let a=A,V=A.match(zS);if(V)for(let R of V){let D=!1,B=R.substring(1,R.length-1),d="simple";if(B.endsWith("*"))D=!0,B=B.substring(0,B.length-1);if(B.startsWith("."))B=B.substring(1),d="label";else if(B.startsWith(";"))B=B.substring(1),d="matrix";let u=e[B];if(u===void 0||u===null)continue;if(Array.isArray(u)){a=a.replace(R,ge({explode:D,name:B,style:d,value:u}));continue}if(typeof u==="object"){a=a.replace(R,ue({explode:D,name:B,style:d,value:u,valueOnly:!0}));continue}if(d==="matrix"){a=a.replace(R,`;${K({name:B,value:u})}`);continue}let S=encodeURIComponent(d==="label"?`.${u}`:u);a=a.replace(R,S)}return a},t3=({baseUrl:e,path:A,query:a,querySerializer:V,url:R})=>{let D=R.startsWith("/")?R:`/${R}`,B=(e??"")+D;if(A)B=_S({path:A,url:B});let d=a?V(a):"";if(d.startsWith("?"))d=d.substring(1);if(d)B+=`?${d}`;return B};function Ny(e){let A=e.body!==void 0;if(A&&e.bodySerializer){if("serializedBody"in e)return e.serializedBody!==void 0&&e.serializedBody!==""?e.serializedBody:null;return e.body!==""?e.body:null}if(A)return e.body;return}var p3=async(e,A)=>{let a=typeof A==="function"?await A(e):A;if(!a)return;if(e.scheme==="bearer")return`Bearer ${a}`;if(e.scheme==="basic")return`Basic ${btoa(a)}`;return a};var f3=({parameters:e={},...A}={})=>{return(V)=>{let R=[];if(V&&typeof V==="object")for(let D in V){let B=V[D];if(B===void 0||B===null)continue;let d=e[D]||A;if(Array.isArray(B)){let u=ge({allowReserved:d.allowReserved,explode:!0,name:D,style:"form",value:B,...d.array});if(u)R.push(u)}else if(typeof B==="object"){let u=ue({allowReserved:d.allowReserved,explode:!0,name:D,style:"deepObject",value:B,...d.object});if(u)R.push(u)}else{let u=K({allowReserved:d.allowReserved,name:D,value:B});if(u)R.push(u)}}return R.join("&")}},C3=(e)=>{if(!e)return"stream";let A=e.split(";")[0]?.trim();if(!A)return;if(A.startsWith("application/json")||A.endsWith("+json"))return"json";if(A==="multipart/form-data")return"formData";if(["application/","audio/","image/","video/"].some((a)=>A.startsWith(a)))return"blob";if(A.startsWith("text/"))return"text";return},iS=(e,A)=>{if(!A)return!1;if(e.headers.has(A)||e.query?.[A]||e.headers.get("Cookie")?.includes(`${A}=`))return!0;return!1},s3=async({security:e,...A})=>{for(let a of e){if(iS(A,a.name))continue;let V=await p3(a,A.auth);if(!V)continue;let R=a.name??"Authorization";switch(a.in){case"query":if(!A.query)A.query={};A.query[R]=V;break;case"cookie":A.headers.append("Cookie",`${R}=${V}`);break;case"header":default:A.headers.set(R,V);break}}},ky=(e)=>t3({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:typeof e.querySerializer==="function"?e.querySerializer:f3(e.querySerializer),url:e.url}),wy=(e,A)=>{let a={...e,...A};if(a.baseUrl?.endsWith("/"))a.baseUrl=a.baseUrl.substring(0,a.baseUrl.length-1);return a.headers=me(e.headers,A.headers),a},vS=(e)=>{let A=[];return e.forEach((a,V)=>{A.push([V,a])}),A},me=(...e)=>{let A=new Headers;for(let a of e){if(!a)continue;let V=a instanceof Headers?vS(a):Object.entries(a);for(let[R,D]of V)if(D===null)A.delete(R);else if(Array.isArray(D))for(let B of D)A.append(R,B);else if(D!==void 0)A.set(R,typeof D==="object"?JSON.stringify(D):D)}return A};class Pe{fns=[];clear(){this.fns=[]}eject(e){let A=this.getInterceptorIndex(e);if(this.fns[A])this.fns[A]=null}exists(e){let A=this.getInterceptorIndex(e);return Boolean(this.fns[A])}getInterceptorIndex(e){if(typeof e==="number")return this.fns[e]?e:-1;return this.fns.indexOf(e)}update(e,A){let a=this.getInterceptorIndex(e);if(this.fns[a])return this.fns[a]=A,e;return!1}use(e){return this.fns.push(e),this.fns.length-1}}var S3=()=>({error:new Pe,request:new Pe,response:new Pe}),qS=f3({allowReserved:!1,array:{explode:!0,style:"form"},object:{explode:!0,style:"deepObject"}}),nS={"Content-Type":"application/json"},Ae=(e={})=>({...Qy,headers:nS,parseAs:"auto",querySerializer:qS,...e});var Wy=(e={})=>{let A=wy(Ae(),e),a=()=>({...A}),V=(l)=>{return A=wy(A,l),a()},R=S3(),D=async(l)=>{let I={...A,...l,fetch:l.fetch??A.fetch??globalThis.fetch,headers:me(A.headers,l.headers),serializedBody:void 0};if(I.security)await s3({...I,security:I.security});if(I.requestValidator)await I.requestValidator(I);if(I.body!==void 0&&I.bodySerializer)I.serializedBody=I.bodySerializer(I.body);if(I.body===void 0||I.serializedBody==="")I.headers.delete("Content-Type");let M=ky(I);return{opts:I,url:M}},B=async(l)=>{let{opts:I,url:M}=await D(l),H={redirect:"follow",...I,body:Ny(I)},T=new Request(M,H);for(let t of R.request.fns)if(t)T=await t(T,I);let L=I.fetch,m;try{m=await L(T)}catch(t){let C=t;for(let f of R.error.fns)if(f)C=await f(t,void 0,T,I);if(C=C||{},I.throwOnError)throw C;return I.responseStyle==="data"?void 0:{error:C,request:T,response:void 0}}for(let t of R.response.fns)if(t)m=await t(m,T,I);let x={request:T,response:m};if(m.ok){let t=(I.parseAs==="auto"?C3(m.headers.get("Content-Type")):I.parseAs)??"json";if(m.status===204||m.headers.get("Content-Length")==="0"){let f;switch(t){case"arrayBuffer":case"blob":case"text":f=await m[t]();break;case"formData":f=new FormData;break;case"stream":f=m.body;break;case"json":default:f={};break}return I.responseStyle==="data"?f:{data:f,...x}}let C;switch(t){case"arrayBuffer":case"blob":case"formData":case"text":C=await m[t]();break;case"json":{let f=await m.text();C=f?JSON.parse(f):{};break}case"stream":return I.responseStyle==="data"?m.body:{data:m.body,...x}}if(t==="json"){if(I.responseValidator)await I.responseValidator(C);if(I.responseTransformer)C=await I.responseTransformer(C)}return I.responseStyle==="data"?C:{data:C,...x}}let W=await m.text(),Q;try{Q=JSON.parse(W)}catch{}let N=Q??W,w=N;for(let t of R.error.fns)if(t)w=await t(N,m,T,I);if(w=w||{},I.throwOnError)throw w;return I.responseStyle==="data"?void 0:{error:w,...x}},d=(l)=>(I)=>B({...I,method:l}),u=(l)=>async(I)=>{let{opts:M,url:H}=await D(I);return l3({...M,body:M.body,headers:M.headers,method:l,onRequest:async(T,L)=>{let m=new Request(T,L);for(let x of R.request.fns)if(x)m=await x(m,M);return m},serializedBody:Ny(M),url:H})};return{buildUrl:(l)=>ky({...A,...l}),connect:d("CONNECT"),delete:d("DELETE"),get:d("GET"),getConfig:a,head:d("HEAD"),interceptors:R,options:d("OPTIONS"),patch:d("PATCH"),post:d("POST"),put:d("PUT"),request:B,setConfig:V,sse:{connect:u("CONNECT"),delete:u("DELETE"),get:u("GET"),head:u("HEAD"),options:u("OPTIONS"),patch:u("PATCH"),post:u("POST"),put:u("PUT"),trace:u("TRACE")},trace:d("TRACE")}};var s=Wy(Ae());var Hy={};c(Hy,{postWebHooksSonarr:()=>xA,postWebHooksRadarr:()=>SA,postWebHooksPlex:()=>sA,postSystemWebhookTest:()=>CA,postSystemTasks:()=>fA,postSystemJobs:()=>dA,postSystemBackups:()=>VA,postSystemAnnouncements:()=>oe,postSeries:()=>_e,postProviders:()=>Xe,postProviderMovies:()=>ce,postProviderEpisodes:()=>Ye,postPlexWebhookDelete:()=>$3,postPlexWebhookCreate:()=>F3,postPlexTestConnection:()=>U3,postPlexSelectServer:()=>O3,postPlexPin:()=>N3,postPlexLogout:()=>L3,postPlexEncryptApiKey:()=>T3,postPlexApiKey:()=>x3,postMoviesSubtitles:()=>be,postMoviesBlacklist:()=>Ee,postMovies:()=>We,postEpisodesSubtitles:()=>Me,postEpisodesBlacklist:()=>Ce,patchSystemJobs:()=>DA,patchSystemBackups:()=>aA,patchSubtitles:()=>ve,patchSeries:()=>ze,patchMoviesSubtitles:()=>$e,patchMovies:()=>we,patchEpisodesSubtitles:()=>xe,getSystemTasks:()=>pA,getSystemStatus:()=>tA,getSystemReleases:()=>mA,getSystemPing:()=>PA,getSystemLogs:()=>uA,getSystemJobs:()=>IA,getSystemHealth:()=>RA,getSystemBackups:()=>AA,getSystemAnnouncements:()=>ne,getSubtitles:()=>ie,getSubtitleNameInfo:()=>qe,getSeries:()=>Ke,getSearches:()=>lA,getProviders:()=>Je,getProviderMovies:()=>he,getProviderEpisodes:()=>Ze,getPlexWebhookList:()=>b3,getPlexValidate:()=>W3,getPlexTestConnection:()=>E3,getPlexServers:()=>w3,getPlexSelectServer:()=>H3,getPlexPinCheck:()=>k3,getPlexPin:()=>Q3,getPlexLibraries:()=>r3,getPlexAutopulseConfig:()=>M3,getMoviesWanted:()=>je,getMoviesHistory:()=>Ue,getMoviesBlacklist:()=>Oe,getMovies:()=>ke,getLanguagesProfiles:()=>yA,getLanguages:()=>GA,getHistoryStats:()=>Ne,getEpisodesWanted:()=>Te,getEpisodesHistory:()=>se,getEpisodesBlacklist:()=>fe,getEpisodes:()=>te,getBrowseSonarrFs:()=>Qe,getBrowseRadarrFs:()=>Le,getBrowseBazarrFs:()=>re,getBadges:()=>le,deleteSystemLogs:()=>gA,deleteSystemJobs:()=>BA,deleteSystemBackups:()=>eA,deleteMoviesSubtitles:()=>Fe,deleteMoviesBlacklist:()=>He,deleteEpisodesSubtitles:()=>Se,deleteEpisodesBlacklist:()=>pe});var le=(e)=>(e?.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/badges",...e}),te=(e)=>(e?.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/episodes",...e}),pe=(e)=>(e?.client??s).delete({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/episodes/blacklist",...e}),fe=(e)=>(e?.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/episodes/blacklist",...e}),Ce=(e)=>(e.client??s).post({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/episodes/blacklist",...e}),se=(e)=>(e?.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/episodes/history",...e}),Se=(e)=>(e.client??s).delete({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/episodes/subtitles",...e}),xe=(e)=>(e.client??s).patch({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/episodes/subtitles",...e}),Me=(e)=>(e.client??s).post({...ye,security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/episodes/subtitles",...e,headers:{"Content-Type":null,...e.headers}}),Te=(e)=>(e?.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/episodes/wanted",...e}),re=(e)=>(e?.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/files",...e}),Le=(e)=>(e?.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/files/radarr",...e}),Qe=(e)=>(e?.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/files/sonarr",...e}),Ne=(e)=>(e?.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/history/stats",...e}),ke=(e)=>(e?.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/movies",...e}),we=(e)=>(e?.client??s).patch({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/movies",...e}),We=(e)=>(e?.client??s).post({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/movies",...e}),He=(e)=>(e?.client??s).delete({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/movies/blacklist",...e}),Oe=(e)=>(e?.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/movies/blacklist",...e}),Ee=(e)=>(e.client??s).post({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/movies/blacklist",...e}),Ue=(e)=>(e?.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/movies/history",...e}),Fe=(e)=>(e.client??s).delete({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/movies/subtitles",...e}),$e=(e)=>(e.client??s).patch({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/movies/subtitles",...e}),be=(e)=>(e.client??s).post({...ye,security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/movies/subtitles",...e,headers:{"Content-Type":null,...e.headers}}),je=(e)=>(e?.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/movies/wanted",...e}),x3=(e)=>(e.client??s).post({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/plex/apikey",...e}),M3=(e)=>(e?.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/plex/autopulse/config",...e}),T3=(e)=>(e?.client??s).post({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/plex/encrypt-apikey",...e}),r3=(e)=>(e?.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/plex/oauth/libraries",...e}),L3=(e)=>(e?.client??s).post({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/plex/oauth/logout",...e}),Q3=(e)=>(e?.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/plex/oauth/pin",...e}),N3=(e)=>(e?.client??s).post({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/plex/oauth/pin",...e}),k3=(e)=>(e.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/plex/oauth/pin/{pin_id}/check",...e}),w3=(e)=>(e?.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/plex/oauth/servers",...e}),W3=(e)=>(e?.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/plex/oauth/validate",...e}),H3=(e)=>(e?.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/plex/select-server",...e}),O3=(e)=>(e.client??s).post({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/plex/select-server",...e,headers:{"Content-Type":"application/json",...e.headers}}),E3=(e)=>(e?.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/plex/test-connection",...e}),U3=(e)=>(e.client??s).post({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/plex/test-connection",...e}),F3=(e)=>(e?.client??s).post({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/plex/webhook/create",...e}),$3=(e)=>(e.client??s).post({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/plex/webhook/delete",...e}),b3=(e)=>(e?.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/plex/webhook/list",...e}),Je=(e)=>(e?.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/providers",...e}),Xe=(e)=>(e.client??s).post({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/providers",...e}),Ze=(e)=>(e.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/providers/episodes",...e}),Ye=(e)=>(e.client??s).post({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/providers/episodes",...e}),he=(e)=>(e.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/providers/movies",...e}),ce=(e)=>(e.client??s).post({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/providers/movies",...e}),Ke=(e)=>(e?.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/series",...e}),ze=(e)=>(e?.client??s).patch({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/series",...e}),_e=(e)=>(e?.client??s).post({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/series",...e}),ie=(e)=>(e.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/subtitles",...e}),ve=(e)=>(e.client??s).patch({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/subtitles",...e}),qe=(e)=>(e.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/subtitles/info",...e}),ne=(e)=>(e?.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/system/announcements",...e}),oe=(e)=>(e.client??s).post({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/system/announcements",...e}),eA=(e)=>(e.client??s).delete({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/system/backups",...e}),AA=(e)=>(e?.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/system/backups",...e}),aA=(e)=>(e.client??s).patch({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/system/backups",...e}),VA=(e)=>(e?.client??s).post({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/system/backups",...e}),RA=(e)=>(e?.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/system/health",...e}),BA=(e)=>(e.client??s).delete({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/system/jobs",...e}),IA=(e)=>(e?.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/system/jobs",...e}),DA=(e)=>(e.client??s).patch({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/system/jobs",...e}),dA=(e)=>(e.client??s).post({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/system/jobs",...e}),GA=(e)=>(e?.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/system/languages",...e}),yA=(e)=>(e?.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/system/languages/profiles",...e}),gA=(e)=>(e?.client??s).delete({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/system/logs",...e}),uA=(e)=>(e?.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/system/logs",...e}),PA=(e)=>(e?.client??s).get({url:"/api/system/ping",...e}),mA=(e)=>(e?.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/system/releases",...e}),lA=(e)=>(e.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/system/searches",...e}),tA=(e)=>(e?.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/system/status",...e}),pA=(e)=>(e?.client??s).get({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/system/tasks",...e}),fA=(e)=>(e.client??s).post({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/system/tasks",...e}),CA=(e)=>(e?.client??s).post({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/system/webhooks/test",...e}),sA=(e)=>(e.client??s).post({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/webhooks/plex",...e}),SA=(e)=>(e.client??s).post({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/webhooks/radarr",...e,headers:{"Content-Type":"application/json",...e.headers}}),xA=(e)=>(e.client??s).post({security:[{name:"X-API-KEY",type:"apiKey"}],url:"/api/webhooks/sonarr",...e,headers:{"Content-Type":"application/json",...e.headers}});function j3(e){return e.replace(/\/+$/,"").replace(/\/api$/,"")}function J3(e){return{"Content-Type":"application/json",...e.config.headers??{}}}class X3{clientConfig;constructor(e){this.clientConfig=E(e),s.setConfig({baseUrl:j3(this.clientConfig.getBaseUrl()),headers:J3(this.clientConfig),auth:this.clientConfig.config.apiKey})}async getSystemStatus(){return tA()}async getSystemHealth(){return RA()}async ping(){return PA()}async getSystemReleases(){return mA()}async getSystemAnnouncements(){return ne()}async dismissAnnouncement(e){return oe({query:{hash:e}})}async getSystemLogs(){return uA()}async rotateLogs(){return gA()}async getSystemTasks(){return pA()}async runSystemTask(e){return fA({query:{taskid:e}})}async getBackups(){return AA()}async createBackup(){return VA()}async restoreBackup(e){return aA({query:{filename:e}})}async deleteBackup(e){return eA({query:{filename:e}})}async getJobs(e,A){let a={};if(e!==void 0)a.id=e;if(A)a.status=A;return IA(Object.keys(a).length>0?{query:a}:{})}async manageJob(e,A){return dA({query:{id:e,action:A}})}async deleteJob(e){return BA({query:{id:e}})}async emptyJobQueue(e){return DA({query:{queueName:e}})}async getLanguages(e){return GA(e?{query:{history:e}}:{})}async getLanguageProfiles(){return yA()}async getSeries(e,A,a){let V={};if(e)V["seriesid[]"]=e;if(A!==void 0)V.start=A;if(a!==void 0)V.length=a;return Ke(Object.keys(V).length>0?{query:V}:{})}async updateSeriesLanguageProfile(e,A){let a={};if(e)a.seriesid=e;if(A)a.profileid=A;return _e(Object.keys(a).length>0?{query:a}:{})}async runSeriesAction(e,A){let a={};if(e!==void 0)a.seriesid=e;if(A)a.action=A;return ze(Object.keys(a).length>0?{query:a}:{})}async getEpisodes(e,A){let a={};if(e)a["seriesid[]"]=e;if(A)a["episodeid[]"]=A;return te(Object.keys(a).length>0?{query:a}:{})}async getEpisodesWanted(e,A,a){let V={};if(e!==void 0)V.start=e;if(A!==void 0)V.length=A;if(a)V["episodeid[]"]=a;return Te(Object.keys(V).length>0?{query:V}:{})}async getEpisodesHistory(e,A,a){let V={};if(e!==void 0)V.start=e;if(A!==void 0)V.length=A;if(a!==void 0)V.episodeid=a;return se(Object.keys(V).length>0?{query:V}:{})}async downloadEpisodeSubtitles(e,A,a,V,R){return xe({query:{seriesid:e,episodeid:A,language:a,forced:V,hi:R}})}async uploadEpisodeSubtitles(e,A,a,V,R,D){return Me({body:{file:D},query:{seriesid:e,episodeid:A,language:a,forced:V,hi:R}})}async deleteEpisodeSubtitles(e,A,a,V,R,D){return Se({query:{seriesid:e,episodeid:A,language:a,forced:V,hi:R,path:D}})}async getEpisodesBlacklist(e,A){let a={};if(e!==void 0)a.start=e;if(A!==void 0)a.length=A;return fe(Object.keys(a).length>0?{query:a}:{})}async addEpisodeToBlacklist(e,A,a,V,R,D){return Ce({query:{seriesid:e,episodeid:A,provider:a,subs_id:V,language:R,subtitles_path:D}})}async removeEpisodeFromBlacklist(e,A,a){let V={};if(e)V.all=e;if(A)V.provider=A;if(a)V.subs_id=a;return pe(Object.keys(V).length>0?{query:V}:{})}async getMovies(e,A,a){let V={};if(e)V["radarrid[]"]=e;if(A!==void 0)V.start=A;if(a!==void 0)V.length=a;return ke(Object.keys(V).length>0?{query:V}:{})}async updateMoviesLanguageProfile(e,A){let a={};if(e)a.radarrid=e;if(A)a.profileid=A;return We(Object.keys(a).length>0?{query:a}:{})}async runMovieAction(e,A){let a={};if(e!==void 0)a.radarrid=e;if(A)a.action=A;return we(Object.keys(a).length>0?{query:a}:{})}async getMoviesWanted(e,A,a){let V={};if(e!==void 0)V.start=e;if(A!==void 0)V.length=A;if(a)V["radarrid[]"]=a;return je(Object.keys(V).length>0?{query:V}:{})}async getMoviesHistory(e,A,a){let V={};if(e!==void 0)V.start=e;if(A!==void 0)V.length=A;if(a!==void 0)V.radarrid=a;return Ue(Object.keys(V).length>0?{query:V}:{})}async downloadMovieSubtitles(e,A,a,V){return $e({query:{radarrid:e,language:A,forced:a,hi:V}})}async uploadMovieSubtitles(e,A,a,V,R){return be({body:{file:R},query:{radarrid:e,language:A,forced:a,hi:V}})}async deleteMovieSubtitles(e,A,a,V,R){return Fe({query:{radarrid:e,language:A,forced:a,hi:V,path:R}})}async getMoviesBlacklist(e,A){let a={};if(e!==void 0)a.start=e;if(A!==void 0)a.length=A;return Oe(Object.keys(a).length>0?{query:a}:{})}async addMovieToBlacklist(e,A,a,V,R){return Ee({query:{radarrid:e,provider:A,subs_id:a,language:V,subtitles_path:R}})}async removeMovieFromBlacklist(e,A,a){let V={};if(e)V.all=e;if(A)V.provider=A;if(a)V.subs_id=a;return He(Object.keys(V).length>0?{query:V}:{})}async getProviders(){return Je()}async resetProviders(){return Xe({query:{action:"reset"}})}async searchEpisodeSubtitles(e){return Ze({query:{episodeid:e}})}async downloadProviderEpisodeSubtitles(e,A,a,V,R,D,B){return Ye({query:{seriesid:e,episodeid:A,hi:a,forced:V,original_format:R,provider:D,subtitle:B}})}async searchMovieSubtitles(e){return he({query:{radarrid:e}})}async downloadProviderMovieSubtitles(e,A,a,V,R,D){return ce({query:{radarrid:e,hi:A,forced:a,original_format:V,provider:R,subtitle:D}})}async getSubtitles(e){return ie(e)}async applySubtitleMods(e){return ve(e)}async getSubtitleNameInfo(e){return qe(e)}async getHistoryStats(){return Ne()}async getBadges(){return le()}async search(e){return lA(e)}async browseBazarrFs(e){return re(e?{query:{path:e}}:{})}async browseRadarrFs(e){return Le(e?{query:{path:e}}:{})}async browseSonarrFs(e){return Qe(e?{query:{path:e}}:{})}async testWebhook(){return CA()}async triggerPlexWebhook(e){return sA({query:{payload:e}})}async triggerRadarrWebhook(e){return SA(e)}async triggerSonarrWebhook(e){return xA(e)}updateConfig(e){let A={...this.clientConfig.config,...e};return this.clientConfig=E(A),s.setConfig({baseUrl:j3(this.clientConfig.getBaseUrl()),headers:J3(this.clientConfig),auth:this.clientConfig.config.apiKey}),this.clientConfig.config}}var Z3=(e,A,a)=>{if(typeof a==="string"||a instanceof Blob)e.append(A,a);else if(a instanceof Date)e.append(A,a.toISOString());else e.append(A,JSON.stringify(a))};var Oy={bodySerializer:(e)=>{let A=new FormData;return Object.entries(e).forEach(([a,V])=>{if(V===void 0||V===null)return;if(Array.isArray(V))V.forEach((R)=>Z3(A,a,R));else Z3(A,a,V)}),A}},Ey={bodySerializer:(e)=>JSON.stringify(e,(A,a)=>typeof a==="bigint"?a.toString():a)};var Y3=({onRequest:e,onSseError:A,onSseEvent:a,responseTransformer:V,responseValidator:R,sseDefaultRetryDelay:D,sseMaxRetryAttempts:B,sseMaxRetryDelay:d,sseSleepFn:u,url:S,...l})=>{let I,M=u??((L)=>new Promise((m)=>setTimeout(m,L)));return{stream:async function*(){let L=D??3000,m=0,x=l.signal??new AbortController().signal;while(!0){if(x.aborted)break;m++;let W=l.headers instanceof Headers?l.headers:new Headers(l.headers);if(I!==void 0)W.set("Last-Event-ID",I);try{let Q={redirect:"follow",...l,body:l.serializedBody,headers:W,signal:x},N=new Request(S,Q);if(e)N=await e(S,Q);let t=await(l.fetch??globalThis.fetch)(N);if(!t.ok)throw Error(`SSE failed: ${t.status} ${t.statusText}`);if(!t.body)throw Error("No body in SSE response");let C=t.body.pipeThrough(new TextDecoderStream).getReader(),f="",U=()=>{try{C.cancel()}catch{}};x.addEventListener("abort",U);try{while(!0){let{done:X,value:Z}=await C.read();if(X)break;f+=Z,f=f.replace(/\r\n/g,`
8
8
  `).replace(/\r/g,`
9
9
  `);let F=f.split(`
10
10
 
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tsarr",
3
- "version": "2.4.2",
3
+ "version": "2.4.4",
4
4
  "author": "Robbe Verhelst",
5
5
  "repository": {
6
6
  "type": "git",
Binary file