@praeko/cli 0.1.0 → 0.2.0
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/CHANGELOG.md +10 -2
- package/README.md +2 -2
- package/dist/chunks/{adaptadores-X3NUBMLT.mjs → adaptadores-73I3A475.mjs} +5 -5
- package/dist/chunks/{buffer-5TUDOBVN.mjs → buffer-7UXG3MU4.mjs} +5 -5
- package/dist/chunks/{chunk-QDZLRBTP.mjs → chunk-FZ2EWUHA.mjs} +133 -57
- package/dist/chunks/{chunk-SAHLBARV.mjs → chunk-K5RD3QB7.mjs} +12 -12
- package/dist/chunks/{chunk-Z325UM27.mjs → chunk-SL4UDIFM.mjs} +1 -1
- package/dist/chunks/{chunk-IZEX746E.mjs → chunk-SPELUAPP.mjs} +15 -15
- package/dist/chunks/chunk-SSYEOFS5.mjs +56 -0
- package/dist/chunks/{chunk-LLXYUCTT.mjs → chunk-TDQGKU7I.mjs} +9 -8
- package/dist/chunks/{chunk-UK3UKRPR.mjs → chunk-V3GB2IUZ.mjs} +20 -3
- package/dist/chunks/{instagram-GNY73ESY.mjs → instagram-3P4ROM45.mjs} +1 -1
- package/dist/chunks/{instagram-meta-COY6BTNX.mjs → instagram-meta-ANEWEJV7.mjs} +2 -1
- package/dist/chunks/{local-EUJHQ76T.mjs → local-QWOY7WI5.mjs} +3 -3
- package/dist/chunks/{registro-FL2CVMYM.mjs → registro-2EE55WTS.mjs} +1 -1
- package/dist/chunks/{remoto-OAB5Y2MS.mjs → remoto-HPELHT4F.mjs} +2 -2
- package/dist/chunks/{tiktok-QOUHOWDU.mjs → tiktok-DVG5JNJE.mjs} +1 -1
- package/dist/chunks/{tiktok-api-36DV2H43.mjs → tiktok-api-2CYJNS73.mjs} +1 -1
- package/dist/chunks/{youtube-RZ4XTUZW.mjs → youtube-EZL4SNMO.mjs} +4 -2
- package/dist/chunks/{youtube-analytics-3KIW2ZIW.mjs → youtube-analytics-74ZDYCY6.mjs} +2 -2
- package/dist/chunks/{youtube-api-Z2RP5D2V.mjs → youtube-api-QVEOU2L7.mjs} +3 -1
- package/dist/chunks/{youtube-comunidade-OAK5GGK4.mjs → youtube-comunidade-GJBG2XR7.mjs} +2 -2
- package/dist/praeko.mjs +851 -8
- package/package.json +5 -5
- package/dist/arauto.mjs +0 -11
- package/dist/chunks/chunk-6YARHJZ2.mjs +0 -56
- package/dist/chunks/chunk-XQO6MI7C.mjs +0 -851
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
carregarTodos
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-SSYEOFS5.mjs";
|
|
5
5
|
import {
|
|
6
6
|
PROVEDORES,
|
|
7
7
|
validarPedido
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-SL4UDIFM.mjs";
|
|
9
9
|
import {
|
|
10
10
|
__export,
|
|
11
11
|
__glob
|
|
12
12
|
} from "./chunk-LCFK6X55.mjs";
|
|
13
13
|
|
|
14
|
-
// ../core/src/adaptadores/local.
|
|
14
|
+
// ../core/src/adaptadores/local.ts
|
|
15
15
|
var local_exports = {};
|
|
16
16
|
__export(local_exports, {
|
|
17
17
|
MODO_PADRAO: () => MODO_PADRAO,
|
|
@@ -19,12 +19,12 @@ __export(local_exports, {
|
|
|
19
19
|
estadoDe: () => estadoDe
|
|
20
20
|
});
|
|
21
21
|
|
|
22
|
-
// ../core/src/fila.
|
|
22
|
+
// ../core/src/fila.ts
|
|
23
23
|
import { existsSync as existsSync2, mkdirSync, readFileSync, renameSync, writeFileSync } from "node:fs";
|
|
24
24
|
import { dirname } from "node:path";
|
|
25
25
|
import { randomBytes } from "node:crypto";
|
|
26
26
|
|
|
27
|
-
// ../core/src/estado.
|
|
27
|
+
// ../core/src/estado.ts
|
|
28
28
|
import { existsSync } from "node:fs";
|
|
29
29
|
import { join } from "node:path";
|
|
30
30
|
var PASTA_ESTADO = ".praeko";
|
|
@@ -38,7 +38,7 @@ function caminhoLeitura(raiz, ...nome) {
|
|
|
38
38
|
return existsSync(velho) ? velho : novo;
|
|
39
39
|
}
|
|
40
40
|
|
|
41
|
-
// ../core/src/fila.
|
|
41
|
+
// ../core/src/fila.ts
|
|
42
42
|
var MAX_TENTATIVAS = 3;
|
|
43
43
|
var arquivoFila = (raiz) => caminhoEstado(raiz, "fila.json");
|
|
44
44
|
function lerFila(raiz) {
|
|
@@ -142,23 +142,23 @@ function plistLaunchd({ rotulo = "br.praeko.fila", node, praeko, arauto, cwd, mi
|
|
|
142
142
|
`;
|
|
143
143
|
}
|
|
144
144
|
|
|
145
|
-
// import("./adaptadores/**/*.
|
|
146
|
-
var
|
|
147
|
-
"./adaptadores/buffer.
|
|
148
|
-
"./adaptadores/index.
|
|
149
|
-
"./adaptadores/local.
|
|
150
|
-
"./adaptadores/remoto.
|
|
145
|
+
// import("./adaptadores/**/*.ts") in ../core/src/publicador.ts
|
|
146
|
+
var globImport_adaptadores_ts = __glob({
|
|
147
|
+
"./adaptadores/buffer.ts": () => import("./buffer-7UXG3MU4.mjs"),
|
|
148
|
+
"./adaptadores/index.ts": () => import("./adaptadores-73I3A475.mjs"),
|
|
149
|
+
"./adaptadores/local.ts": () => import("./local-QWOY7WI5.mjs"),
|
|
150
|
+
"./adaptadores/remoto.ts": () => import("./remoto-HPELHT4F.mjs")
|
|
151
151
|
});
|
|
152
152
|
|
|
153
|
-
// ../core/src/publicador.
|
|
153
|
+
// ../core/src/publicador.ts
|
|
154
154
|
async function criarPublicador({ config, provedor, ctx } = {}) {
|
|
155
155
|
const nome = provedor || config?.provedor || "buffer";
|
|
156
156
|
if (!PROVEDORES.includes(nome)) throw new Error(`provedor "${nome}" desconhecido (use ${PROVEDORES.join(", ")})`);
|
|
157
|
-
const mod = await
|
|
157
|
+
const mod = await globImport_adaptadores_ts(`./adaptadores/${nome}.ts`);
|
|
158
158
|
return mod.criar({ config, ctx });
|
|
159
159
|
}
|
|
160
160
|
|
|
161
|
-
// ../core/src/adaptadores/local.
|
|
161
|
+
// ../core/src/adaptadores/local.ts
|
|
162
162
|
import { randomBytes as randomBytes2 } from "node:crypto";
|
|
163
163
|
var MODO_PADRAO = { youtube: "privado", tiktok: "rascunho", instagram: "agora" };
|
|
164
164
|
function estadoDe(it) {
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
__export,
|
|
4
|
+
__glob
|
|
5
|
+
} from "./chunk-LCFK6X55.mjs";
|
|
6
|
+
|
|
7
|
+
// ../core/src/provedores/registro.ts
|
|
8
|
+
var registro_exports = {};
|
|
9
|
+
__export(registro_exports, {
|
|
10
|
+
NOMES: () => NOMES,
|
|
11
|
+
carregar: () => carregar,
|
|
12
|
+
carregarTodos: () => carregarTodos
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
// import("./**/*.ts") in ../core/src/provedores/registro.ts
|
|
16
|
+
var globImport_ts = __glob({
|
|
17
|
+
"./instagram-meta.ts": () => import("./instagram-meta-ANEWEJV7.mjs"),
|
|
18
|
+
"./instagram.ts": () => import("./instagram-3P4ROM45.mjs"),
|
|
19
|
+
"./registro.ts": () => import("./registro-2EE55WTS.mjs"),
|
|
20
|
+
"./tiktok-api.ts": () => import("./tiktok-api-2CYJNS73.mjs"),
|
|
21
|
+
"./tiktok.ts": () => import("./tiktok-DVG5JNJE.mjs"),
|
|
22
|
+
"./youtube-analytics.ts": () => import("./youtube-analytics-74ZDYCY6.mjs"),
|
|
23
|
+
"./youtube-api.ts": () => import("./youtube-api-QVEOU2L7.mjs"),
|
|
24
|
+
"./youtube-comunidade.ts": () => import("./youtube-comunidade-GJBG2XR7.mjs"),
|
|
25
|
+
"./youtube.ts": () => import("./youtube-EZL4SNMO.mjs")
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
// ../core/src/provedores/registro.ts
|
|
29
|
+
var NOMES = ["youtube", "instagram", "tiktok"];
|
|
30
|
+
async function carregar(nome) {
|
|
31
|
+
if (!NOMES.includes(nome)) throw new Error(`provedor desconhecido: ${nome}`);
|
|
32
|
+
try {
|
|
33
|
+
return await globImport_ts(`./${nome}.ts`);
|
|
34
|
+
} catch (e) {
|
|
35
|
+
if (e.code === "ERR_MODULE_NOT_FOUND" && String(e.message).includes(`${nome}.ts`)) throw new Error(`provedor "${nome}" ainda n\xE3o foi escrito`);
|
|
36
|
+
throw e;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
async function carregarTodos() {
|
|
40
|
+
const o = {};
|
|
41
|
+
for (const n of NOMES) {
|
|
42
|
+
try {
|
|
43
|
+
o[n] = await carregar(n);
|
|
44
|
+
} catch (e) {
|
|
45
|
+
if (!/ainda não foi escrito/.test(e.message)) throw e;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return o;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export {
|
|
52
|
+
NOMES,
|
|
53
|
+
carregar,
|
|
54
|
+
carregarTodos,
|
|
55
|
+
registro_exports
|
|
56
|
+
};
|
|
@@ -4,9 +4,9 @@ import {
|
|
|
4
4
|
api,
|
|
5
5
|
canalId,
|
|
6
6
|
falha
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-V3GB2IUZ.mjs";
|
|
8
8
|
|
|
9
|
-
// ../core/src/provedores/youtube-comunidade.
|
|
9
|
+
// ../core/src/provedores/youtube-comunidade.ts
|
|
10
10
|
var lerJson = async (r) => {
|
|
11
11
|
const t = await r.text();
|
|
12
12
|
if (!r.ok) throw falha(r.status, t);
|
|
@@ -53,8 +53,9 @@ async function apagarVideo({ ctx, videoId }) {
|
|
|
53
53
|
if (r.status < 200 || r.status > 299) throw Object.assign(new Error(`o YouTube recusou apagar o v\xEDdeo (HTTP ${r.status})`), { status: r.status });
|
|
54
54
|
return { id: videoId, apagado: true };
|
|
55
55
|
}
|
|
56
|
-
async function editarVideo({ ctx, videoId, titulo, descricao, tags, simular = false }) {
|
|
57
|
-
if (titulo === void 0 && descricao === void 0 && tags === void 0) throw new Error("nada para mudar: informe titulo, descricao ou
|
|
56
|
+
async function editarVideo({ ctx, videoId, titulo, descricao, tags, categoriaId, simular = false }) {
|
|
57
|
+
if (titulo === void 0 && descricao === void 0 && tags === void 0 && categoriaId === void 0) throw new Error("nada para mudar: informe titulo, descricao, tags ou categoriaId");
|
|
58
|
+
if (categoriaId !== void 0 && !/^\d{1,3}$/.test(String(categoriaId))) throw new Error("categoriaId inv\xE1lido: n\xFAmero da categoria do YouTube (ex.: 28)");
|
|
58
59
|
if (titulo !== void 0 && (!titulo.trim() || titulo.length > 100 || !semAngulos(titulo))) throw new Error("t\xEDtulo inv\xE1lido: de 1 a 100 caracteres e sem < ou >");
|
|
59
60
|
if (descricao !== void 0 && (descricao.length > 5e3 || !semAngulos(descricao))) throw new Error("descri\xE7\xE3o inv\xE1lida: at\xE9 5000 caracteres e sem < ou >");
|
|
60
61
|
if (tags !== void 0 && (!Array.isArray(tags) || tags.join(",").length > 500)) throw new Error("tags inv\xE1lidas: lista de at\xE9 500 caracteres no total");
|
|
@@ -63,9 +64,9 @@ async function editarVideo({ ctx, videoId, titulo, descricao, tags, simular = fa
|
|
|
63
64
|
if (!v) throw Object.assign(new Error(`o v\xEDdeo ${videoId} n\xE3o existe neste canal`), { status: 404 });
|
|
64
65
|
const atual = {};
|
|
65
66
|
for (const k of CAMPOS_SNIPPET) if (v.snippet?.[k] !== void 0) atual[k] = v.snippet[k];
|
|
66
|
-
const novo = { ...atual, ...titulo !== void 0 ? { title: titulo } : {}, ...descricao !== void 0 ? { description: descricao } : {}, ...tags !== void 0 ? { tags } : {} };
|
|
67
|
-
const antes = { titulo: atual.title, descricao: atual.description, tags: atual.tags || [] };
|
|
68
|
-
const depois = { titulo: novo.title, descricao: novo.description, tags: novo.tags || [] };
|
|
67
|
+
const novo = { ...atual, ...titulo !== void 0 ? { title: titulo } : {}, ...descricao !== void 0 ? { description: descricao } : {}, ...tags !== void 0 ? { tags } : {}, ...categoriaId !== void 0 ? { categoryId: String(categoriaId) } : {} };
|
|
68
|
+
const antes = { titulo: atual.title, descricao: atual.description, tags: atual.tags || [], categoriaId: atual.categoryId };
|
|
69
|
+
const depois = { titulo: novo.title, descricao: novo.description, tags: novo.tags || [], categoriaId: novo.categoryId };
|
|
69
70
|
const mudou = JSON.stringify(antes) !== JSON.stringify(depois);
|
|
70
71
|
if (simular || !mudou) return { id: videoId, antes, depois, mudou, escrito: false };
|
|
71
72
|
await lerJson(await api(ctx, `${API}/videos?part=snippet`, { method: "PUT", headers: { "content-type": "application/json" }, body: JSON.stringify({ id: videoId, snippet: novo }) }));
|
|
@@ -148,7 +149,7 @@ async function estatisticasVideos({ ctx, ids }) {
|
|
|
148
149
|
const saida = /* @__PURE__ */ new Map(), unicos = [...new Set(ids)];
|
|
149
150
|
for (let i = 0; i < unicos.length; i += 50) {
|
|
150
151
|
const lote = unicos.slice(i, i + 50);
|
|
151
|
-
const d = await lerJson(await api(ctx, `${API}/videos?part=snippet,status,statistics&id=${lote.map(encodeURIComponent).join(",")}&maxResults=50`));
|
|
152
|
+
const d = await lerJson(await api(ctx, `${API}/videos?part=snippet,status,statistics&id=${lote.map((x) => encodeURIComponent(x)).join(",")}&maxResults=50`));
|
|
152
153
|
for (const v of d.items || []) {
|
|
153
154
|
saida.set(v.id, {
|
|
154
155
|
views: num(v.statistics?.viewCount),
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);
|
|
2
2
|
|
|
3
|
-
// ../core/src/provedores/youtube-api.
|
|
3
|
+
// ../core/src/provedores/youtube-api.ts
|
|
4
4
|
var nome = "youtube";
|
|
5
5
|
var rede = "youtube";
|
|
6
6
|
var imediato = true;
|
|
@@ -309,10 +309,26 @@ async function agendarPublicacao({ item, ctx, agora = Date.now() }) {
|
|
|
309
309
|
const v = (await r0.json()).items?.[0];
|
|
310
310
|
if (!v) throw new Error(`o v\xEDdeo ${item.videoId} n\xE3o existe neste canal`);
|
|
311
311
|
const st = v.status || {};
|
|
312
|
+
if (st.privacyStatus && st.privacyStatus !== "private") throw Object.assign(new Error(`o v\xEDdeo ${item.videoId} j\xE1 est\xE1 ${st.privacyStatus} no YouTube: o hor\xE1rio s\xF3 muda enquanto ele est\xE1 privado e agendado`), { videoPublicado: true });
|
|
313
|
+
const novoPublishAt = quando.toISOString();
|
|
314
|
+
if (st.privacyStatus === "private" && st.publishAt && new Date(st.publishAt).toISOString() === novoPublishAt) return { id: item.videoId, publishAt: novoPublishAt, privacidade: "private", url: `https://youtu.be/${item.videoId}`, alterado: false };
|
|
312
315
|
const status2 = { privacyStatus: "private", publishAt: quando.toISOString(), embeddable: st.embeddable ?? true, license: st.license || "youtube", publicStatsViewable: st.publicStatsViewable ?? true, selfDeclaredMadeForKids: st.selfDeclaredMadeForKids ?? false };
|
|
313
316
|
const r = await api(ctx, `${API}/videos?part=status`, { method: "PUT", headers: { "content-type": "application/json" }, body: JSON.stringify({ id: item.videoId, status: status2 }) });
|
|
314
317
|
if (!r.ok) throw falha(r.status, await r.text());
|
|
315
|
-
return { id: item.videoId, publishAt: status2.publishAt, privacidade: "private", url: `https://youtu.be/${item.videoId}
|
|
318
|
+
return { id: item.videoId, publishAt: status2.publishAt, privacidade: "private", url: `https://youtu.be/${item.videoId}`, alterado: true };
|
|
319
|
+
}
|
|
320
|
+
async function removerAgendamento({ item, ctx }) {
|
|
321
|
+
const r0 = await api(ctx, `${API}/videos?part=status&id=${encodeURIComponent(item.videoId)}`);
|
|
322
|
+
if (!r0.ok) throw falha(r0.status, await r0.text());
|
|
323
|
+
const v = (await r0.json()).items?.[0];
|
|
324
|
+
if (!v) throw Object.assign(new Error(`o v\xEDdeo ${item.videoId} n\xE3o existe neste canal`), { status: 404 });
|
|
325
|
+
const st = v.status || {};
|
|
326
|
+
if (st.privacyStatus !== "private") throw Object.assign(new Error(`o v\xEDdeo ${item.videoId} j\xE1 est\xE1 ${st.privacyStatus || "publicado"} no YouTube`), { videoPublicado: true });
|
|
327
|
+
if (!st.publishAt) return { id: item.videoId, privacidade: "private", alterado: false };
|
|
328
|
+
const status2 = { privacyStatus: "private", embeddable: st.embeddable ?? true, license: st.license || "youtube", publicStatsViewable: st.publicStatsViewable ?? true, selfDeclaredMadeForKids: st.selfDeclaredMadeForKids ?? false };
|
|
329
|
+
const r = await api(ctx, `${API}/videos?part=status`, { method: "PUT", headers: { "content-type": "application/json" }, body: JSON.stringify({ id: item.videoId, status: status2 }) });
|
|
330
|
+
if (!r.ok) throw falha(r.status, await r.text());
|
|
331
|
+
return { id: item.videoId, privacidade: "private", alterado: true };
|
|
316
332
|
}
|
|
317
333
|
|
|
318
334
|
export {
|
|
@@ -359,5 +375,6 @@ export {
|
|
|
359
375
|
comentar,
|
|
360
376
|
canalId,
|
|
361
377
|
planejar,
|
|
362
|
-
agendarPublicacao
|
|
378
|
+
agendarPublicacao,
|
|
379
|
+
removerAgendamento
|
|
363
380
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);
|
|
2
2
|
import "./chunk-LCFK6X55.mjs";
|
|
3
3
|
|
|
4
|
-
// ../core/src/provedores/instagram.
|
|
4
|
+
// ../core/src/provedores/instagram.ts
|
|
5
5
|
import { spawnSync } from "node:child_process";
|
|
6
6
|
import { existsSync, statSync } from "node:fs";
|
|
7
7
|
import { tmpdir } from "node:os";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);
|
|
2
2
|
import "./chunk-LCFK6X55.mjs";
|
|
3
3
|
|
|
4
|
-
// ../core/src/provedores/instagram-meta.
|
|
4
|
+
// ../core/src/provedores/instagram-meta.ts
|
|
5
5
|
var REF_META = "instagram/meta";
|
|
6
6
|
var HOST_PADRAO = "https://graph.facebook.com";
|
|
7
7
|
var VERSAO = "v23.0";
|
|
@@ -66,6 +66,7 @@ async function inspecionarToken(ctx, { appId, appSecret, token }) {
|
|
|
66
66
|
const iso = (n) => n ? new Date(Number(n) * 1e3).toISOString() : null;
|
|
67
67
|
return {
|
|
68
68
|
tipo: d.type || null,
|
|
69
|
+
userId: d.user_id ? String(d.user_id) : null,
|
|
69
70
|
valido: d.is_valid ?? null,
|
|
70
71
|
expiraEm: d.expires_at ? iso(d.expires_at) : null,
|
|
71
72
|
dadosExpiramEm: d.data_access_expires_at ? iso(d.data_access_expires_at) : null,
|
|
@@ -3,9 +3,9 @@ import {
|
|
|
3
3
|
MODO_PADRAO,
|
|
4
4
|
criar,
|
|
5
5
|
estadoDe
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-SPELUAPP.mjs";
|
|
7
|
+
import "./chunk-SSYEOFS5.mjs";
|
|
8
|
+
import "./chunk-SL4UDIFM.mjs";
|
|
9
9
|
import "./chunk-LCFK6X55.mjs";
|
|
10
10
|
export {
|
|
11
11
|
MODO_PADRAO,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);
|
|
2
2
|
import "./chunk-LCFK6X55.mjs";
|
|
3
3
|
|
|
4
|
-
// ../core/src/provedores/tiktok.
|
|
4
|
+
// ../core/src/provedores/tiktok.ts
|
|
5
5
|
import { closeSync, openSync, readSync, statSync } from "node:fs";
|
|
6
6
|
import { createHash, randomBytes } from "node:crypto";
|
|
7
7
|
import { spawnSync } from "node:child_process";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);
|
|
2
2
|
import "./chunk-LCFK6X55.mjs";
|
|
3
3
|
|
|
4
|
-
// ../core/src/provedores/tiktok-api.
|
|
4
|
+
// ../core/src/provedores/tiktok-api.ts
|
|
5
5
|
var nome = "tiktok";
|
|
6
6
|
var rede = "tiktok";
|
|
7
7
|
var imediato = true;
|
|
@@ -38,16 +38,17 @@ import {
|
|
|
38
38
|
publicar,
|
|
39
39
|
rede,
|
|
40
40
|
registroToken,
|
|
41
|
+
removerAgendamento,
|
|
41
42
|
revogar,
|
|
42
43
|
sincronizarUpload,
|
|
43
44
|
status,
|
|
44
45
|
tokenValido,
|
|
45
46
|
trocarCodigo,
|
|
46
47
|
urlAutorizacao
|
|
47
|
-
} from "./chunk-
|
|
48
|
+
} from "./chunk-V3GB2IUZ.mjs";
|
|
48
49
|
import "./chunk-LCFK6X55.mjs";
|
|
49
50
|
|
|
50
|
-
// ../core/src/provedores/youtube.
|
|
51
|
+
// ../core/src/provedores/youtube.ts
|
|
51
52
|
import { createServer } from "node:http";
|
|
52
53
|
import { createHash, randomBytes } from "node:crypto";
|
|
53
54
|
import { closeSync, fstatSync, openSync, readSync, statSync } from "node:fs";
|
|
@@ -190,6 +191,7 @@ export {
|
|
|
190
191
|
publicar2 as publicar,
|
|
191
192
|
rede,
|
|
192
193
|
registroToken,
|
|
194
|
+
removerAgendamento,
|
|
193
195
|
revogar,
|
|
194
196
|
sincronizarUpload,
|
|
195
197
|
status2 as status,
|
|
@@ -5,10 +5,10 @@ import {
|
|
|
5
5
|
REF_TOKEN,
|
|
6
6
|
api,
|
|
7
7
|
falha
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-V3GB2IUZ.mjs";
|
|
9
9
|
import "./chunk-LCFK6X55.mjs";
|
|
10
10
|
|
|
11
|
-
// ../core/src/provedores/youtube-analytics.
|
|
11
|
+
// ../core/src/provedores/youtube-analytics.ts
|
|
12
12
|
var ANALYTICS = "https://youtubeanalytics.googleapis.com/v2/reports";
|
|
13
13
|
var REPORTING = "https://youtubereporting.googleapis.com/v1";
|
|
14
14
|
var TIPO_RELATORIO_ALCANCE = "channel_reach_basic_a1";
|
|
@@ -38,13 +38,14 @@ import {
|
|
|
38
38
|
publicar,
|
|
39
39
|
rede,
|
|
40
40
|
registroToken,
|
|
41
|
+
removerAgendamento,
|
|
41
42
|
revogar,
|
|
42
43
|
sincronizarUpload,
|
|
43
44
|
status,
|
|
44
45
|
tokenValido,
|
|
45
46
|
trocarCodigo,
|
|
46
47
|
urlAutorizacao
|
|
47
|
-
} from "./chunk-
|
|
48
|
+
} from "./chunk-V3GB2IUZ.mjs";
|
|
48
49
|
import "./chunk-LCFK6X55.mjs";
|
|
49
50
|
export {
|
|
50
51
|
API,
|
|
@@ -85,6 +86,7 @@ export {
|
|
|
85
86
|
publicar,
|
|
86
87
|
rede,
|
|
87
88
|
registroToken,
|
|
89
|
+
removerAgendamento,
|
|
88
90
|
revogar,
|
|
89
91
|
sincronizarUpload,
|
|
90
92
|
status,
|
|
@@ -9,8 +9,8 @@ import {
|
|
|
9
9
|
listarVideos,
|
|
10
10
|
responderComentario,
|
|
11
11
|
trocarHashtags
|
|
12
|
-
} from "./chunk-
|
|
13
|
-
import "./chunk-
|
|
12
|
+
} from "./chunk-TDQGKU7I.mjs";
|
|
13
|
+
import "./chunk-V3GB2IUZ.mjs";
|
|
14
14
|
import "./chunk-LCFK6X55.mjs";
|
|
15
15
|
export {
|
|
16
16
|
apagarVideo,
|