caverna_creating-package2 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/Readme.md ADDED
@@ -0,0 +1 @@
1
+ # Teste
@@ -0,0 +1,51 @@
1
+ import type { MediaMtxBaseResponse, MediaMtxBaseResponseWithPagination, MediaMtxGlobalConfig, MediaMtxPagination, MediaMtxPathConfig, MediaMtxPathDefaultsConfig, MediaMtxRecordItem, MediaMtxStatus } from "../types/MediaMtx.js";
2
+ export declare class MediaMtx implements MediaMtx {
3
+ private axiosApiClient;
4
+ private options;
5
+ constructor(options: {
6
+ protocol: "http" | "https";
7
+ address: string;
8
+ apiPort?: number;
9
+ playbackPort?: number;
10
+ timeout?: number;
11
+ headers?: Record<string, string>;
12
+ auth: {
13
+ username: string;
14
+ password: string;
15
+ };
16
+ advanced?: {
17
+ persistConfig?: boolean;
18
+ configFilePath?: string;
19
+ ignoreRpi?: boolean;
20
+ saveArchiveConfigFile?: boolean;
21
+ };
22
+ });
23
+ status: {
24
+ get: () => Promise<MediaMtxStatus>;
25
+ };
26
+ globalConfig: {
27
+ get: () => Promise<MediaMtxGlobalConfig>;
28
+ patch: (data: Partial<MediaMtxGlobalConfig>) => Promise<MediaMtxBaseResponse>;
29
+ };
30
+ pathDefaultConfig: {
31
+ get: () => Promise<MediaMtxPathDefaultsConfig>;
32
+ patch: (data: Partial<MediaMtxPathDefaultsConfig>) => Promise<MediaMtxBaseResponse>;
33
+ };
34
+ pathConfig: {
35
+ create: (name: string, data: Partial<MediaMtxPathConfig>) => Promise<MediaMtxBaseResponse>;
36
+ get: (name: string) => Promise<MediaMtxPathConfig>;
37
+ list: (pagination?: MediaMtxPagination) => Promise<MediaMtxBaseResponseWithPagination<MediaMtxPathConfig>>;
38
+ patch: (name: string, data: Partial<MediaMtxPathConfig>) => Promise<MediaMtxBaseResponse>;
39
+ delete: (name: string) => Promise<MediaMtxBaseResponse>;
40
+ };
41
+ records: {
42
+ list: (pagination?: MediaMtxPagination) => Promise<MediaMtxBaseResponseWithPagination<MediaMtxRecordItem>>;
43
+ get: (name: string) => Promise<MediaMtxRecordItem>;
44
+ delete: (path: string, start: string) => Promise<MediaMtxBaseResponse>;
45
+ };
46
+ private getGlobalConfigAsYml;
47
+ private getPathDefaultsConfigAsYml;
48
+ private getPathsConfigAsYml;
49
+ private saveConfigFile;
50
+ }
51
+ //# sourceMappingURL=MediaMtx.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MediaMtx.d.ts","sourceRoot":"","sources":["../../src/MediaMTX/MediaMtx.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,oBAAoB,EACpB,kCAAkC,EAElC,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,0BAA0B,EAC1B,kBAAkB,EAClB,cAAc,EACf,MAAM,sBAAsB,CAAC;AAI9B,qBAAa,QAAS,YAAW,QAAQ;IACvC,OAAO,CAAC,cAAc,CAAgB;IAEtC,OAAO,CAAC,OAAO,CAAiB;gBAEpB,OAAO,EAAE;QACnB,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;QAC3B,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,IAAI,EAAE;YACJ,QAAQ,EAAE,MAAM,CAAC;YACjB,QAAQ,EAAE,MAAM,CAAC;SAClB,CAAC;QACF,QAAQ,CAAC,EAAE;YACT,aAAa,CAAC,EAAE,OAAO,CAAC;YACxB,cAAc,CAAC,EAAE,MAAM,CAAC;YACxB,SAAS,CAAC,EAAE,OAAO,CAAC;YACpB,qBAAqB,CAAC,EAAE,OAAO,CAAC;SACjC,CAAC;KACH;IAkCD,MAAM;mBACW,OAAO,CAAC,cAAc,CAAC;MAatC;IAEF,YAAY;mBACK,OAAO,CAAC,oBAAoB,CAAC;sBAepC,OAAO,CAAC,oBAAoB,CAAC,KAClC,OAAO,CAAC,oBAAoB,CAAC;MAehC;IAEF,iBAAiB;mBACA,OAAO,CAAC,0BAA0B,CAAC;sBAc1C,OAAO,CAAC,0BAA0B,CAAC,KACxC,OAAO,CAAC,oBAAoB,CAAC;MAchC;IAEF,UAAU;uBAEA,MAAM,QACN,OAAO,CAAC,kBAAkB,CAAC,KAChC,OAAO,CAAC,oBAAoB,CAAC;oBAed,MAAM,KAAG,OAAO,CAAC,kBAAkB,CAAC;4BAcvC,kBAAkB,KAC9B,OAAO,CAAC,kCAAkC,CAAC,kBAAkB,CAAC,CAAC;sBAgB1D,MAAM,QACN,OAAO,CAAC,kBAAkB,CAAC,KAChC,OAAO,CAAC,oBAAoB,CAAC;uBAeX,MAAM,KAAG,OAAO,CAAC,oBAAoB,CAAC;MAc3D;IAEF,OAAO;4BAEU,kBAAkB,KAC9B,OAAO,CAAC,kCAAkC,CAAC,kBAAkB,CAAC,CAAC;oBAahD,MAAM,KAAG,OAAO,CAAC,kBAAkB,CAAC;uBAc9C,MAAM,SACL,MAAM,KACZ,OAAO,CAAC,oBAAoB,CAAC;MAYhC;YAIY,oBAAoB;YAQpB,0BAA0B;YAmB1B,mBAAmB;YAyCnB,cAAc;CAgE7B"}
@@ -0,0 +1,256 @@
1
+ import fs from "node:fs/promises";
2
+ import axios from "axios";
3
+ import { MediaMtxError } from "../errors/MediaMtxError.js";
4
+ import { cleanRegexData } from "../utils/cleanRegexData.js";
5
+ import { objectToYml } from "../utils/objectToYml.js";
6
+ export class MediaMtx {
7
+ axiosApiClient;
8
+ //private axiosPlaybackClient: AxiosInstance
9
+ options;
10
+ constructor(options) {
11
+ this.options = {
12
+ protocol: options.protocol,
13
+ address: options.address,
14
+ apiPort: options.apiPort || 9997,
15
+ playbackPort: options.playbackPort || 9996,
16
+ timeout: options.timeout || 5000,
17
+ headers: options.headers || {},
18
+ auth: options.auth,
19
+ advanced: {
20
+ persistConfig: options.advanced?.persistConfig || true,
21
+ configFilePath: options.advanced?.configFilePath || "/tmp",
22
+ ignoreRpi: options.advanced?.ignoreRpi || false,
23
+ saveArchiveConfigFile: options.advanced?.saveArchiveConfigFile || false,
24
+ },
25
+ };
26
+ this.axiosApiClient = axios.create({
27
+ // biome-ignore lint/style/useNamingConvention: <axios baseURL>
28
+ baseURL: `${this.options.protocol}://${this.options.address}:${this.options.apiPort}`,
29
+ timeout: this.options.timeout || 5000,
30
+ headers: this.options.headers || {},
31
+ auth: this.options.auth,
32
+ });
33
+ /* this.axiosPlaybackClient = axios.create({
34
+ // biome-ignore lint/style/useNamingConvention: <axios baseURL>
35
+ baseURL: `${this.options.protocol}://${this.options.address}:${this.options.playbackPort}`,
36
+ timeout: this.options.timeout || 5000,
37
+ headers: this.options.headers || {},
38
+ auth: this.options.auth,
39
+ }) */
40
+ }
41
+ status = {
42
+ get: async () => {
43
+ const response = await this.axiosApiClient
44
+ .get("/v3/info")
45
+ .catch((error) => {
46
+ throw new MediaMtxError("Error getting Status from MediaMTX API", {}, error);
47
+ });
48
+ return response.data;
49
+ },
50
+ };
51
+ globalConfig = {
52
+ get: async () => {
53
+ const response = await this.axiosApiClient
54
+ .get("/v3/config/global/get")
55
+ .catch((error) => {
56
+ throw new MediaMtxError("Error getting Global Config from MediaMTX API", {}, error);
57
+ });
58
+ return response.data;
59
+ },
60
+ patch: async (data) => {
61
+ const response = await this.axiosApiClient
62
+ .patch("/v3/config/global/patch", data)
63
+ .catch((error) => {
64
+ throw new MediaMtxError("Error patching Global Config from MediaMTX API", {}, error);
65
+ });
66
+ await this.saveConfigFile();
67
+ return response.data;
68
+ },
69
+ };
70
+ pathDefaultConfig = {
71
+ get: async () => {
72
+ const response = await this.axiosApiClient
73
+ .get("/v3/config/pathdefaults/get")
74
+ .catch((error) => {
75
+ throw new MediaMtxError("Error getting Path Defaults Config from MediaMTX API", error);
76
+ });
77
+ return response.data;
78
+ },
79
+ patch: async (data) => {
80
+ const response = await this.axiosApiClient
81
+ .patch("/v3/config/pathdefaults/patch", data)
82
+ .catch((error) => {
83
+ throw new MediaMtxError("Error patching Path Defaults Config from MediaMTX API", error);
84
+ });
85
+ await this.saveConfigFile();
86
+ return response.data;
87
+ },
88
+ };
89
+ pathConfig = {
90
+ create: async (name, data) => {
91
+ const response = await this.axiosApiClient
92
+ .post(`/v3/config/paths/add/${name}`, data)
93
+ .catch((error) => {
94
+ throw new MediaMtxError("Error creating Path Config from MediaMTX API", error);
95
+ });
96
+ await this.saveConfigFile();
97
+ return response.data;
98
+ },
99
+ get: async (name) => {
100
+ const response = await this.axiosApiClient
101
+ .get(`/v3/config/paths/get/${name}`)
102
+ .catch((error) => {
103
+ throw new MediaMtxError("Error getting Path Config from MediaMTX API", error);
104
+ });
105
+ return response.data;
106
+ },
107
+ list: async (pagination) => {
108
+ const response = await this.axiosApiClient
109
+ .get("/v3/paths/list", { params: { ...pagination } })
110
+ .catch((error) => {
111
+ throw new MediaMtxError("Error listing Path Configs from MediaMTX API", error);
112
+ });
113
+ return response.data;
114
+ },
115
+ patch: async (name, data) => {
116
+ const response = await this.axiosApiClient
117
+ .patch(`/v3/paths/patch/${name}`, data)
118
+ .catch((error) => {
119
+ throw new MediaMtxError("Error patching Path Config from MediaMTX API", error);
120
+ });
121
+ await this.saveConfigFile();
122
+ return response.data;
123
+ },
124
+ delete: async (name) => {
125
+ const response = await this.axiosApiClient
126
+ .delete(`/v3/paths/patch/${name}`)
127
+ .catch((error) => {
128
+ throw new MediaMtxError("Error deleting Path Config from MediaMTX API", error);
129
+ });
130
+ await this.saveConfigFile();
131
+ return response.data;
132
+ },
133
+ };
134
+ records = {
135
+ list: async (pagination) => {
136
+ const response = await this.axiosApiClient
137
+ .get("/v3/recordings/list", { params: { ...pagination } })
138
+ .catch((error) => {
139
+ throw new MediaMtxError("Error listing Records from MediaMTX API", error);
140
+ });
141
+ return response.data;
142
+ },
143
+ get: async (name) => {
144
+ const response = await this.axiosApiClient
145
+ .get(`/v3/recordins/get/${name}`)
146
+ .catch((error) => {
147
+ throw new MediaMtxError("Error getting Record from MediaMTX API", error);
148
+ });
149
+ return response.data;
150
+ },
151
+ delete: async (path, start) => {
152
+ const response = await this.axiosApiClient
153
+ .delete("/v3/recordings/deletesegment", { params: { path, start } })
154
+ .catch((error) => {
155
+ throw new MediaMtxError("Error deleting Record Segment from MediaMTX API", error);
156
+ });
157
+ return response.data;
158
+ },
159
+ };
160
+ //Private Functions
161
+ async getGlobalConfigAsYml() {
162
+ const globalConfigs = await this.globalConfig.get().catch((error) => {
163
+ throw new MediaMtxError("Unable to read GlobalConfig", error);
164
+ });
165
+ return objectToYml(globalConfigs);
166
+ }
167
+ async getPathDefaultsConfigAsYml() {
168
+ const pathDefaultsConfigs = await this.pathDefaultConfig
169
+ .get()
170
+ .catch((error) => {
171
+ throw new MediaMtxError("Unable to read PathDefaultsConfig", error);
172
+ });
173
+ if (this.options.advanced.ignoreRpi) {
174
+ for (const key of Object.keys(pathDefaultsConfigs)) {
175
+ if (key.startsWith("rpiCamera")) {
176
+ //@ts-expect-error
177
+ delete pathDefaultsConfigs[key];
178
+ }
179
+ }
180
+ }
181
+ return objectToYml(pathDefaultsConfigs);
182
+ }
183
+ async getPathsConfigAsYml() {
184
+ const pagination = {
185
+ page: 0,
186
+ itemsPerPage: 1000,
187
+ };
188
+ const pathConfigs = (await this.pathConfig.list(pagination).catch((error) => {
189
+ throw new MediaMtxError("Unable to read Paths Config", error);
190
+ })).items || [];
191
+ if (this.options.advanced.ignoreRpi) {
192
+ for (const pathConfig of pathConfigs) {
193
+ for (const key of Object.keys(pathConfig)) {
194
+ if (key.startsWith("rpiCamera")) {
195
+ //@ts-expect-error
196
+ delete pathConfig[key];
197
+ }
198
+ }
199
+ }
200
+ }
201
+ const finalPathsConfig = { paths: {} };
202
+ for (const pathConfig of pathConfigs) {
203
+ if (pathConfig.name) {
204
+ pathConfig.name = `-----${pathConfig.name}-----`;
205
+ }
206
+ // biome-ignore lint/style/noNonNullAssertion: <there's no way pathConfig.name doesnt exist>
207
+ finalPathsConfig.paths[pathConfig.name] = pathConfig;
208
+ }
209
+ const yml = objectToYml(finalPathsConfig);
210
+ return cleanRegexData(yml);
211
+ }
212
+ async saveConfigFile() {
213
+ const persistConfig = this.options.advanced.persistConfig;
214
+ const saveArchiveConfFiles = this.options.advanced.saveArchiveConfigFile;
215
+ const configFilePath = this.options.advanced.configFilePath;
216
+ if (persistConfig) {
217
+ console.log("Saving config as yml");
218
+ const [globalConfigYml, pathDefaultsConfigYml, pathsConfigYml] = await Promise.all([
219
+ this.getGlobalConfigAsYml(),
220
+ this.getPathDefaultsConfigAsYml(),
221
+ this.getPathsConfigAsYml(),
222
+ ]).catch((error) => {
223
+ console.error(error);
224
+ throw new MediaMtxError("Unable to fetch config files", error);
225
+ });
226
+ if (saveArchiveConfFiles) {
227
+ console.log("Saving archives config files");
228
+ //vamos salvar os arquivos separadamente para archive
229
+ const dirName = new Date()
230
+ .toISOString()
231
+ .replaceAll("-", "")
232
+ .replaceAll(":", "")
233
+ .replaceAll("T", "")
234
+ .replaceAll("Z", "")
235
+ .split(".")[0];
236
+ await Promise.all([
237
+ fs.writeFile(`${configFilePath}/archive/${dirName}/globalConfig.yml`, globalConfigYml, "utf-8"),
238
+ fs.writeFile(`${configFilePath}/archive/${dirName}/pathDefaultsConfig.yml`, pathDefaultsConfigYml, "utf-8"),
239
+ fs.writeFile(`${configFilePath}/archive/${dirName}/pathsConfig.yml`, pathsConfigYml, "utf-8"),
240
+ ]).catch((error) => {
241
+ throw new MediaMtxError("Unable to save archive files", error);
242
+ });
243
+ console.log(`Archive files saved in ${configFilePath}/archive/${dirName}`);
244
+ }
245
+ const configFileAsYaml = `### Automatically generated on ${new Date()} ###\n\n\n# Global Config\n${globalConfigYml}\n\n\n# PathDefaults Config\n${pathDefaultsConfigYml}\n\n\n# Paths\n${pathsConfigYml}`;
246
+ await fs
247
+ .writeFile(`${configFilePath}/mediamtx.yml`, configFileAsYaml, "utf-8")
248
+ .catch((error) => {
249
+ throw new MediaMtxError("Unable to save config file", error);
250
+ });
251
+ console.log(`Config file saved as yml in ${configFilePath}/mediamtx.yml`);
252
+ }
253
+ return;
254
+ }
255
+ }
256
+ //# sourceMappingURL=MediaMtx.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MediaMtx.js","sourceRoot":"","sources":["../../src/MediaMTX/MediaMtx.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export declare class MediaMtxError extends Error {
2
+ origin?: string;
3
+ statusCode?: number;
4
+ constructor(message?: string, options?: {
5
+ cause?: string;
6
+ }, error?: unknown);
7
+ }
8
+ //# sourceMappingURL=MediaMtxError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MediaMtxError.d.ts","sourceRoot":"","sources":["../../src/errors/MediaMtxError.ts"],"names":[],"mappings":"AAGA,qBAAa,aAAc,SAAQ,KAAK;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;gBAER,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,KAAK,CAAC,EAAE,OAAO;CA4B5E"}
@@ -0,0 +1,33 @@
1
+ import { AxiosError } from "axios";
2
+ import z, { ZodError } from "zod";
3
+ export class MediaMtxError extends Error {
4
+ origin;
5
+ statusCode;
6
+ constructor(message, options, error) {
7
+ super(message);
8
+ this.name = "MediaMtxError";
9
+ this.origin = "MediaMtxClient";
10
+ this.message = message || "Unknown error";
11
+ this.cause = options?.cause || "unknown";
12
+ this.statusCode = this.statusCode || 500;
13
+ if (error instanceof AxiosError) {
14
+ this.origin = "Axios";
15
+ this.message = error.response ? error.response.data : message;
16
+ this.cause = error.cause;
17
+ this.statusCode = error.status;
18
+ }
19
+ if (error instanceof ZodError) {
20
+ this.origin = "Zod";
21
+ this.message = z.prettifyError(error);
22
+ this.cause = error.issues;
23
+ this.statusCode = 400;
24
+ }
25
+ if (error.code) {
26
+ this.origin = "NodeJS";
27
+ this.message = error.message;
28
+ this.cause = error.cause;
29
+ }
30
+ Object.setPrototypeOf(this, MediaMtxError.prototype);
31
+ }
32
+ }
33
+ //# sourceMappingURL=MediaMtxError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MediaMtxError.js","sourceRoot":"","sources":["../../src/errors/MediaMtxError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAElC,MAAM,OAAO,aAAc,SAAQ,KAAK;IACtC,MAAM,CAAU;IAChB,UAAU,CAAU;IAEpB,YAAY,OAAgB,EAAE,OAA4B,EAAE,KAAe;QACzE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,gBAAgB,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,eAAe,CAAC;QAC1C,IAAI,CAAC,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,SAAS,CAAC;QACzC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,GAAG,CAAC;QAEzC,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;YAChC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;YACtB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;YAC9D,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YACzB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC;QACjC,CAAC;QACD,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACpB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACtC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;YAC1B,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QACxB,CAAC;QACD,IAAK,KAA+B,CAAC,IAAI,EAAE,CAAC;YAC1C,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;YACvB,IAAI,CAAC,OAAO,GAAI,KAA+B,CAAC,OAAO,CAAC;YACxD,IAAI,CAAC,KAAK,GAAI,KAA+B,CAAC,KAAK,CAAC;QACtD,CAAC;QAED,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACvD,CAAC;CACF"}
@@ -0,0 +1,3 @@
1
+ export { MediaMtx } from "./MediaMTX/MediaMtx.js";
2
+ export type * from "./types/MediaMtx.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,mBAAmB,qBAAqB,CAAC"}
package/build/index.js ADDED
@@ -0,0 +1,2 @@
1
+ export { MediaMtx } from "./MediaMTX/MediaMtx.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,357 @@
1
+ /** biome-ignore-all lint/style/useNamingConvention: <Axios and MediaMTX param names> */
2
+ export type MediaMtxConfig = {
3
+ protocol: "http" | "https";
4
+ address: string;
5
+ apiPort: number;
6
+ playbackPort: number;
7
+ timeout: number;
8
+ headers: Record<string, string>;
9
+ auth: {
10
+ username: string;
11
+ password: string;
12
+ };
13
+ advanced: {
14
+ persistConfig: boolean;
15
+ configFilePath: string;
16
+ ignoreRpi: boolean;
17
+ saveArchiveConfigFile: boolean;
18
+ };
19
+ };
20
+ export type MediaMtxStatus = {
21
+ version: string;
22
+ started: string;
23
+ };
24
+ export type MediaMtxGlobalConfig = {
25
+ logLevel?: "error" | "warn" | "info" | "debug";
26
+ logDestinations?: ("stdout" | "file" | "syslog")[];
27
+ logStructured?: boolean;
28
+ logFile?: string;
29
+ sysLogPrefix?: string;
30
+ dumpPackets?: boolean;
31
+ readTimeout?: string;
32
+ writeTimeout?: string;
33
+ writeQueueSize?: number;
34
+ udpMaxPayloadSize?: number;
35
+ udpReadBufferSize?: number;
36
+ runOnConnect?: string;
37
+ runOnConnectRestart?: string;
38
+ runOnDisconnet?: boolean;
39
+ authMethod?: "internal" | "http" | "jwt";
40
+ authInternalUsers?: {
41
+ user: string;
42
+ pass: string;
43
+ ips: string[];
44
+ permissions: {
45
+ action: "publish" | "read" | "playback" | "api" | "metrics" | "pprof";
46
+ path: string;
47
+ };
48
+ }[];
49
+ authHTTPAddress?: string;
50
+ authHTTPFingerprint?: string;
51
+ authHTTPExcluse?: {
52
+ action: "publish" | "read" | "playback" | "api" | "metrics" | "pprof";
53
+ path?: string;
54
+ }[];
55
+ authJWTJWKS?: string;
56
+ authJWTJWKSFingerprint?: string;
57
+ authJWTClaimKey?: string;
58
+ authJWTExclude?: string[];
59
+ authJWTInHTTPQuery?: boolean;
60
+ api?: boolean;
61
+ apiAddress?: string;
62
+ apiEncryption?: boolean;
63
+ apiServerKey?: string;
64
+ apiServerCert?: string;
65
+ apiAllowOrigins?: string[];
66
+ apiTrustedProxies?: string[];
67
+ metrics?: boolean;
68
+ metricsAddress?: string;
69
+ metricsEncryption?: boolean;
70
+ metricsServerKey?: string;
71
+ metricsServerCert?: string;
72
+ metricsAllowOrigins?: string[];
73
+ metricsTrustedProxies?: string[];
74
+ pprof?: boolean;
75
+ pprofAddress?: string;
76
+ pprofEncryption?: boolean;
77
+ pprofServerKey?: string;
78
+ pprofServerCert?: string;
79
+ pprofAllowOrigins?: string[];
80
+ pprofTrustedProxies?: string[];
81
+ playback?: boolean;
82
+ playbackAddress?: string;
83
+ playbackEncryption?: boolean;
84
+ playbackServerKey?: string;
85
+ playbackServerCert?: string;
86
+ playbackAllowOrigins?: string[];
87
+ playbackTrustedProxies?: string[];
88
+ rtsp?: boolean;
89
+ rtspTransports?: ("udp" | "multicast" | "tcp")[];
90
+ rtspEncryption?: "no" | "strict" | "optional";
91
+ rtspAddress?: string;
92
+ rtspsAddress?: string;
93
+ rtpAddress?: string;
94
+ rtcpAddress?: string;
95
+ multicastIPRange?: string;
96
+ multicastRTPPort?: number;
97
+ multicastRTCPPort?: number;
98
+ srtpAddress?: string;
99
+ srtcpAddress?: string;
100
+ multicastSRTPPort?: number;
101
+ multicastSRTCPPort?: number;
102
+ rtspServerKey?: string;
103
+ rtspServerCert?: string;
104
+ rtspAuthMethods?: string;
105
+ rtmp?: boolean;
106
+ rtmpEncryption?: "no" | "strict" | "optional";
107
+ rtmpAddress?: string;
108
+ rtmpsAddress?: string;
109
+ rtmpServerKey?: string;
110
+ rtmpServerCert?: string;
111
+ hls?: boolean;
112
+ hlsAddress?: string;
113
+ hlsEncryption?: string;
114
+ hlsServerKey?: string;
115
+ hlsServerCert?: string;
116
+ hlsAllowOrigins?: string[];
117
+ hlsTrustedProxies?: string[];
118
+ hlsAlwaysRemux?: boolean;
119
+ hlsVariant?: "mpegts" | "fmp4" | "lowLatency";
120
+ hlsSegmentCount?: number;
121
+ hlsSegmentDuration?: string;
122
+ hlsPartDuration?: string;
123
+ hlsSegmentMaxSiz?: string;
124
+ hlsDirectory?: string;
125
+ hlsMuxerCloseAfter?: string;
126
+ webrt?: boolean;
127
+ webrtcAddress?: string;
128
+ webrtcEncryption?: boolean;
129
+ webrtcServerKey?: string;
130
+ webrtcServerCert?: string;
131
+ webrtcAllowOrigins?: string[];
132
+ webrtcTrustedProxies?: string[];
133
+ webrtcLocalUDPAddress?: string;
134
+ webrtcLocalTCPAddress?: string;
135
+ webrtcIPsFromInterfaces?: boolean;
136
+ webrtcIPsFromInterfacesList?: string[];
137
+ webrtcAdditionalHosts?: string[];
138
+ webrtcICEServers2?: string[];
139
+ webrtcSTUNGatherTimeout?: string;
140
+ webrtcHandshakeTimeout?: string;
141
+ webrtcTrackGatherTimeout?: string;
142
+ srt?: boolean;
143
+ srtAddress?: string;
144
+ };
145
+ export type MediaMtxPathDefaultsConfig = {
146
+ source?: string;
147
+ sourceFingerprint?: string;
148
+ sourceOnDemand?: boolean;
149
+ sourceOnDemandStartTimeout?: string;
150
+ sourceOnDemandCloseAfter?: string;
151
+ maxReaders?: number;
152
+ srtReadPassphrase?: string;
153
+ useAbsoluteTimestamp?: boolean;
154
+ alwaysAvailable?: boolean;
155
+ alwaysAvailableTracks?: string[];
156
+ alwaysAvailableFile?: string;
157
+ record?: boolean;
158
+ recordPath?: string;
159
+ recordFormat?: "fmp4" | "mpegts";
160
+ recordPartDuration?: string;
161
+ recordMaxPartSize?: string;
162
+ recordSegmentDuration?: string;
163
+ recordDeleteAfter?: string;
164
+ overridePublisher?: boolean;
165
+ srtPublishPassphrase?: string;
166
+ rtspTransport?: "automatic" | "udp" | "multicast" | "tcp";
167
+ rtspAnyPort?: boolean;
168
+ rtspRangeType?: "clock" | "npt" | "smpte";
169
+ rtspRangeStart?: string;
170
+ rtspUDPSourcePortRange?: [number, number];
171
+ rtpSDP?: string;
172
+ whepBearerToken?: string;
173
+ whepSTUNGatherTimeout?: string;
174
+ whepHandshakeTimeout?: string;
175
+ whepTrackGatherTimeout?: string;
176
+ sourceRedirect?: string;
177
+ rpiCameraCamID?: number;
178
+ rpiCameraSecondary?: boolean;
179
+ rpiCameraWidth?: number;
180
+ rpiCameraHeight?: number;
181
+ rpiCameraHFlip?: boolean;
182
+ rpiCameraVFlip?: boolean;
183
+ rpiCameraBrightness?: number;
184
+ rpiCameraContrast?: number;
185
+ rpiCameraSaturation?: number;
186
+ rpiCameraSharpness?: number;
187
+ rpiCameraExposure?: "normal" | "short" | "long" | "custom";
188
+ rpiCameraAWB: "auto" | "incandescent" | "tungsten" | "fluorescent" | "indoor" | "daylight" | "cloudy" | "custom";
189
+ rpiCameraAWBGains?: [number, number];
190
+ rpiCameraDenoise?: "off" | "cnd_off" | "cdn_fast" | "cdn_hq";
191
+ rpiCameraShutter?: number;
192
+ rpiCameraMetering?: "centre" | "spot" | "matrix" | "custom";
193
+ rpiCameraGain?: number;
194
+ rpiCameraEV?: number;
195
+ rpiCameraROI?: string;
196
+ rpiCameraHDR?: boolean;
197
+ rpiCameraTuningFile?: string;
198
+ rpiCameraMode?: string;
199
+ rpiCameraFPS?: number;
200
+ rpiCameraAfMode?: "auto" | "manual" | "continuous";
201
+ rpiCameraAfRange?: "normal" | "macro" | "full";
202
+ rpiCameraAfSpeed?: "normal" | "fast";
203
+ rpiCameraLensPosition?: number;
204
+ rpiCameraAfWindow?: string;
205
+ rpiCameraFlickerPeriod?: number;
206
+ rpiCameraTextOverlayEnable?: boolean;
207
+ rpiCameraTextOverlay?: string;
208
+ rpiCameraCodec?: "auto" | "hardwareH264" | "softwareH264 " | "mjpeg";
209
+ rpiCameraIDRPeriod?: number;
210
+ rpiCameraBitrate?: number;
211
+ rpiCameraHardwareH264Profile?: "baseline" | "main" | "high";
212
+ rpiCameraHardwareH264Level?: "4.0" | "4.1" | "4.2";
213
+ rpiCameraSoftwareH264Profile?: "baseline" | "main" | "high";
214
+ rpiCameraSoftwareH264Level?: "4.0" | "4.1" | "4.2";
215
+ rpiCameraMJPEGQuality?: number;
216
+ runOnInit?: string;
217
+ runOnInitRestart?: boolean;
218
+ runOnDemand?: string;
219
+ runOnDemandRestart?: boolean;
220
+ runOnDemandStartTimeout?: string;
221
+ runOnDemandCloseAfter?: string;
222
+ runOnUnDemand?: string;
223
+ runOnReady?: string;
224
+ runOnReadyRestart?: boolean;
225
+ runOnNotReady?: string;
226
+ runOnRead?: string;
227
+ runOnReadRestart?: boolean;
228
+ runOnUnread?: string;
229
+ runOnRecordSegmentCreate?: string;
230
+ runOnRecordSegmentComplete?: string;
231
+ };
232
+ export type MediaMtxPathConfig = {
233
+ name?: string;
234
+ source?: string;
235
+ sourceFingerprint?: string;
236
+ sourceOnDemand?: boolean;
237
+ sourceOnDemandStartTimeout?: string;
238
+ sourceOnDemandCloseAfter?: string;
239
+ maxReaders?: number;
240
+ srtReadPassphrase?: string;
241
+ useAbsoluteTimestamp?: boolean;
242
+ alwaysAvailable?: boolean;
243
+ alwaysAvailableTracks?: string[];
244
+ alwaysAvailableFile?: string;
245
+ record?: boolean;
246
+ recordPath?: string;
247
+ recordFormat?: "fmp4" | "mpegts";
248
+ recordPartDuration?: string;
249
+ recordMaxPartSize?: string;
250
+ recordSegmentDuration?: string;
251
+ recordDeleteAfter?: string;
252
+ overridePublisher?: boolean;
253
+ srtPublishPassphrase?: string;
254
+ rtspTransport?: "automatic" | "udp" | "multicast" | "tcp";
255
+ rtspAnyPort?: boolean;
256
+ rtspRangeType?: "clock" | "npt" | "smpte";
257
+ rtspRangeStart?: string;
258
+ rtspUDPSourcePortRange?: [number, number];
259
+ rtpSDP?: string;
260
+ whepBearerToken?: string;
261
+ whepSTUNGatherTimeout?: string;
262
+ whepHandshakeTimeout?: string;
263
+ whepTrackGatherTimeout?: string;
264
+ sourceRedirect?: string;
265
+ rpiCameraCamID?: number;
266
+ rpiCameraSecondary?: boolean;
267
+ rpiCameraWidth?: number;
268
+ rpiCameraHeight?: number;
269
+ rpiCameraHFlip?: boolean;
270
+ rpiCameraVFlip?: boolean;
271
+ rpiCameraBrightness?: number;
272
+ rpiCameraContrast?: number;
273
+ rpiCameraSaturation?: number;
274
+ rpiCameraSharpness?: number;
275
+ rpiCameraExposure?: "normal" | "short" | "long" | "custom";
276
+ rpiCameraAWB: "auto" | "incandescent" | "tungsten" | "fluorescent" | "indoor" | "daylight" | "cloudy" | "custom";
277
+ rpiCameraAWBGains?: [number, number];
278
+ rpiCameraDenoise?: "off" | "cnd_off" | "cdn_fast" | "cdn_hq";
279
+ rpiCameraShutter?: number;
280
+ rpiCameraMetering?: "centre" | "spot" | "matrix" | "custom";
281
+ rpiCameraGain?: number;
282
+ rpiCameraEV?: number;
283
+ rpiCameraROI?: string;
284
+ rpiCameraHDR?: boolean;
285
+ rpiCameraTuningFile?: string;
286
+ rpiCameraMode?: string;
287
+ rpiCameraFPS?: number;
288
+ rpiCameraAfMode?: "auto" | "manual" | "continuous";
289
+ rpiCameraAfRange?: "normal" | "macro" | "full";
290
+ rpiCameraAfSpeed?: "normal" | "fast";
291
+ rpiCameraLensPosition?: number;
292
+ rpiCameraAfWindow?: string;
293
+ rpiCameraFlickerPeriod?: number;
294
+ rpiCameraTextOverlayEnable?: boolean;
295
+ rpiCameraTextOverlay?: string;
296
+ rpiCameraCodec?: "auto" | "hardwareH264" | "softwareH264 " | "mjpeg";
297
+ rpiCameraIDRPeriod?: number;
298
+ rpiCameraBitrate?: number;
299
+ rpiCameraHardwareH264Profile?: "baseline" | "main" | "high";
300
+ rpiCameraHardwareH264Level?: "4.0" | "4.1" | "4.2";
301
+ rpiCameraSoftwareH264Profile?: "baseline" | "main" | "high";
302
+ rpiCameraSoftwareH264Level?: "4.0" | "4.1" | "4.2";
303
+ rpiCameraMJPEGQuality?: number;
304
+ runOnInit?: string;
305
+ runOnInitRestart?: boolean;
306
+ runOnDemand?: string;
307
+ runOnDemandRestart?: boolean;
308
+ runOnDemandStartTimeout?: string;
309
+ runOnDemandCloseAfter?: string;
310
+ runOnUnDemand?: string;
311
+ runOnReady?: string;
312
+ runOnReadyRestart?: boolean;
313
+ runOnNotReady?: string;
314
+ runOnRead?: string;
315
+ runOnReadRestart?: boolean;
316
+ runOnUnread?: string;
317
+ runOnRecordSegmentCreate?: string;
318
+ runOnRecordSegmentComplete?: string;
319
+ };
320
+ export type MediaMtxStreamSource = {
321
+ type: string;
322
+ id: string;
323
+ };
324
+ export type MediaMtxStreamReader = {
325
+ type: string;
326
+ id: string;
327
+ };
328
+ export type MediaMtxStreamItem = {
329
+ name: string;
330
+ confgName: string;
331
+ source: MediaMtxStreamSource;
332
+ ready: boolean;
333
+ readyTime: string;
334
+ tracks: string[];
335
+ bytesReceived: number;
336
+ bytesSent: number;
337
+ readers: MediaMtxStreamReader;
338
+ };
339
+ export type MediaMtxRecordItem = {
340
+ name: string;
341
+ segmentes: {
342
+ start: string;
343
+ }[];
344
+ };
345
+ export type MediaMtxBaseResponse = {
346
+ status: string;
347
+ };
348
+ export type MediaMtxBaseResponseWithPagination<T = unknown> = {
349
+ pageCount: number;
350
+ itemCount: number;
351
+ items: T[];
352
+ };
353
+ export type MediaMtxPagination = {
354
+ page: number;
355
+ itemsPerPage: number;
356
+ };
357
+ //# sourceMappingURL=MediaMtx.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MediaMtx.d.ts","sourceRoot":"","sources":["../../src/types/MediaMtx.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ /** biome-ignore-all lint/style/useNamingConvention: <Axios and MediaMTX param names> */
2
+ export {};
3
+ //# sourceMappingURL=MediaMtx.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MediaMtx.js","sourceRoot":"","sources":["../../src/types/MediaMtx.ts"],"names":[],"mappings":"AAAA,wFAAwF"}
@@ -0,0 +1,2 @@
1
+ export declare function cleanRegexData(input: string): string;
2
+ //# sourceMappingURL=cleanRegexData.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cleanRegexData.d.ts","sourceRoot":"","sources":["../../src/utils/cleanRegexData.ts"],"names":[],"mappings":"AAAA,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGpD"}
@@ -0,0 +1,5 @@
1
+ export function cleanRegexData(input) {
2
+ const regex = /-----(.*?)-----/g;
3
+ return input.replace(regex, (_, match) => `"${match}"`);
4
+ }
5
+ //# sourceMappingURL=cleanRegexData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cleanRegexData.js","sourceRoot":"","sources":["../../src/utils/cleanRegexData.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,MAAM,KAAK,GAAG,kBAAkB,CAAA;IAChC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,KAAK,GAAG,CAAC,CAAA;AACzD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function objectToYml(data: unknown): string;
2
+ //# sourceMappingURL=objectToYml.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"objectToYml.d.ts","sourceRoot":"","sources":["../../src/utils/objectToYml.ts"],"names":[],"mappings":"AAEA,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAEjD"}
@@ -0,0 +1,5 @@
1
+ import YAML from 'yaml';
2
+ export function objectToYml(data) {
3
+ return data ? YAML.stringify(data, { singleQuote: true, version: '1.2', schema: 'json' }) : '';
4
+ }
5
+ //# sourceMappingURL=objectToYml.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"objectToYml.js","sourceRoot":"","sources":["../../src/utils/objectToYml.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAA;AAEvB,MAAM,UAAU,WAAW,CAAC,IAAa;IACvC,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;AAChG,CAAC"}
package/package.json ADDED
@@ -0,0 +1,35 @@
1
+ {
2
+ "name": "caverna_creating-package2",
3
+ "version": "1.0.1",
4
+ "description": "",
5
+ "type": "module",
6
+ "main": "./build/index.js",
7
+ "types": "./build/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "import": "./build/index.js",
11
+ "require": "./build/index.js",
12
+ "types": "./build/index.d.ts"
13
+ }
14
+ },
15
+ "files": [
16
+ "build/**/*",
17
+ "Readme.md"
18
+ ],
19
+ "scripts": {
20
+ "build": "npx tsc"
21
+ },
22
+ "keywords": [],
23
+ "author": "",
24
+ "license": "ISC",
25
+ "packageManager": "pnpm@10.28.1",
26
+ "devDependencies": {
27
+ "@types/node": "^25.3.5",
28
+ "typescript": "^5.9.3"
29
+ },
30
+ "dependencies": {
31
+ "axios": "^1.13.6",
32
+ "yaml": "^2.8.2",
33
+ "zod": "^4.3.6"
34
+ }
35
+ }