kbot salamand
This commit is contained in:
parent
9bafb02aa9
commit
20562ef469
25
packages/ai-tools/dist/types_kbot.d.ts
vendored
25
packages/ai-tools/dist/types_kbot.d.ts
vendored
@ -33,8 +33,6 @@ export interface IKBotOptions {
|
||||
[35m[1m[22m[39m
|
||||
agentica-org/deepcoder-14b-preview | paid
|
||||
agentica-org/deepcoder-14b-preview:free | free
|
||||
ai21/jamba-1.6-large | paid
|
||||
ai21/jamba-1.6-mini | paid
|
||||
aion-labs/aion-1.0 | paid
|
||||
aion-labs/aion-1.0-mini | paid
|
||||
aion-labs/aion-rp-llama-3.1-8b | paid
|
||||
@ -102,7 +100,6 @@ export interface IKBotOptions {
|
||||
cognitivecomputations/dolphin3.0-r1-mistral-24b | paid
|
||||
cognitivecomputations/dolphin3.0-r1-mistral-24b:free | free
|
||||
eleutherai/llemma_7b | paid
|
||||
sao10k/fimbulvetr-11b-v2 | paid
|
||||
alpindale/goliath-120b | paid
|
||||
google/gemini-flash-1.5 | paid
|
||||
google/gemini-flash-1.5-8b | paid
|
||||
@ -129,7 +126,6 @@ export interface IKBotOptions {
|
||||
google/gemma-3n-e2b-it:free | free
|
||||
google/gemma-3n-e4b-it | paid
|
||||
google/gemma-3n-e4b-it:free | free
|
||||
openrouter/horizon-beta | paid
|
||||
inception/mercury | paid
|
||||
inception/mercury-coder | paid
|
||||
infermatic/mn-inferor-12b | paid
|
||||
@ -230,8 +226,6 @@ export interface IKBotOptions {
|
||||
nvidia/llama-3.3-nemotron-super-49b-v1 | paid
|
||||
openai/chatgpt-4o-latest | paid
|
||||
openai/codex-mini | paid
|
||||
openai/gpt-oss-120b | paid
|
||||
openai/gpt-oss-20b | paid
|
||||
openai/gpt-3.5-turbo | paid
|
||||
openai/gpt-3.5-turbo-0613 | paid
|
||||
openai/gpt-3.5-turbo-16k | paid
|
||||
@ -253,6 +247,13 @@ export interface IKBotOptions {
|
||||
openai/gpt-4o-mini | paid
|
||||
openai/gpt-4o-mini-2024-07-18 | paid
|
||||
openai/gpt-4o-mini-search-preview | paid
|
||||
openai/gpt-5 | paid
|
||||
openai/gpt-5-chat | paid
|
||||
openai/gpt-5-mini | paid
|
||||
openai/gpt-5-nano | paid
|
||||
openai/gpt-oss-120b | paid
|
||||
openai/gpt-oss-20b | paid
|
||||
openai/gpt-oss-20b:free | free
|
||||
openai/o1 | paid
|
||||
openai/o1-mini | paid
|
||||
openai/o1-mini-2024-09-12 | paid
|
||||
@ -330,7 +331,6 @@ export interface IKBotOptions {
|
||||
tngtech/deepseek-r1t-chimera | paid
|
||||
tngtech/deepseek-r1t-chimera:free | free
|
||||
tngtech/deepseek-r1t2-chimera:free | free
|
||||
undi95/toppy-m-7b | paid
|
||||
scb10x/llama3.1-typhoon2-70b-instruct | paid
|
||||
cognitivecomputations/dolphin-mistral-24b-venice-edition:free | free
|
||||
microsoft/wizardlm-2-8x22b | paid
|
||||
@ -399,6 +399,13 @@ export interface IKBotOptions {
|
||||
gpt-4o-search-preview
|
||||
gpt-4o-search-preview-2025-03-11
|
||||
gpt-4o-transcribe
|
||||
gpt-5
|
||||
gpt-5-2025-08-07
|
||||
gpt-5-chat-latest
|
||||
gpt-5-mini
|
||||
gpt-5-mini-2025-08-07
|
||||
gpt-5-nano
|
||||
gpt-5-nano-2025-08-07
|
||||
gpt-image-1
|
||||
o1
|
||||
o1-2024-12-17
|
||||
@ -406,6 +413,8 @@ export interface IKBotOptions {
|
||||
o1-mini-2024-09-12
|
||||
o1-pro
|
||||
o1-pro-2025-03-19
|
||||
o3
|
||||
o3-2025-04-16
|
||||
o3-mini
|
||||
o3-mini-2025-01-31
|
||||
o4-mini
|
||||
@ -459,6 +468,8 @@ export interface IKBotOptions {
|
||||
logs?: string;
|
||||
/** Enable streaming (verbose LLM output) */
|
||||
stream?: boolean;
|
||||
/** Use alternate tokenizer & instead of $ */
|
||||
alt?: boolean;
|
||||
/** Environment (in profile) */
|
||||
env?: string;
|
||||
variables?: {
|
||||
|
||||
@ -33,8 +33,6 @@ export interface IKBotOptions {
|
||||
[35m[1m[22m[39m
|
||||
agentica-org/deepcoder-14b-preview | paid
|
||||
agentica-org/deepcoder-14b-preview:free | free
|
||||
ai21/jamba-1.6-large | paid
|
||||
ai21/jamba-1.6-mini | paid
|
||||
aion-labs/aion-1.0 | paid
|
||||
aion-labs/aion-1.0-mini | paid
|
||||
aion-labs/aion-rp-llama-3.1-8b | paid
|
||||
@ -102,7 +100,6 @@ export interface IKBotOptions {
|
||||
cognitivecomputations/dolphin3.0-r1-mistral-24b | paid
|
||||
cognitivecomputations/dolphin3.0-r1-mistral-24b:free | free
|
||||
eleutherai/llemma_7b | paid
|
||||
sao10k/fimbulvetr-11b-v2 | paid
|
||||
alpindale/goliath-120b | paid
|
||||
google/gemini-flash-1.5 | paid
|
||||
google/gemini-flash-1.5-8b | paid
|
||||
@ -129,7 +126,6 @@ export interface IKBotOptions {
|
||||
google/gemma-3n-e2b-it:free | free
|
||||
google/gemma-3n-e4b-it | paid
|
||||
google/gemma-3n-e4b-it:free | free
|
||||
openrouter/horizon-beta | paid
|
||||
inception/mercury | paid
|
||||
inception/mercury-coder | paid
|
||||
infermatic/mn-inferor-12b | paid
|
||||
@ -230,8 +226,6 @@ export interface IKBotOptions {
|
||||
nvidia/llama-3.3-nemotron-super-49b-v1 | paid
|
||||
openai/chatgpt-4o-latest | paid
|
||||
openai/codex-mini | paid
|
||||
openai/gpt-oss-120b | paid
|
||||
openai/gpt-oss-20b | paid
|
||||
openai/gpt-3.5-turbo | paid
|
||||
openai/gpt-3.5-turbo-0613 | paid
|
||||
openai/gpt-3.5-turbo-16k | paid
|
||||
@ -253,6 +247,13 @@ export interface IKBotOptions {
|
||||
openai/gpt-4o-mini | paid
|
||||
openai/gpt-4o-mini-2024-07-18 | paid
|
||||
openai/gpt-4o-mini-search-preview | paid
|
||||
openai/gpt-5 | paid
|
||||
openai/gpt-5-chat | paid
|
||||
openai/gpt-5-mini | paid
|
||||
openai/gpt-5-nano | paid
|
||||
openai/gpt-oss-120b | paid
|
||||
openai/gpt-oss-20b | paid
|
||||
openai/gpt-oss-20b:free | free
|
||||
openai/o1 | paid
|
||||
openai/o1-mini | paid
|
||||
openai/o1-mini-2024-09-12 | paid
|
||||
@ -330,7 +331,6 @@ export interface IKBotOptions {
|
||||
tngtech/deepseek-r1t-chimera | paid
|
||||
tngtech/deepseek-r1t-chimera:free | free
|
||||
tngtech/deepseek-r1t2-chimera:free | free
|
||||
undi95/toppy-m-7b | paid
|
||||
scb10x/llama3.1-typhoon2-70b-instruct | paid
|
||||
cognitivecomputations/dolphin-mistral-24b-venice-edition:free | free
|
||||
microsoft/wizardlm-2-8x22b | paid
|
||||
@ -399,6 +399,13 @@ export interface IKBotOptions {
|
||||
gpt-4o-search-preview
|
||||
gpt-4o-search-preview-2025-03-11
|
||||
gpt-4o-transcribe
|
||||
gpt-5
|
||||
gpt-5-2025-08-07
|
||||
gpt-5-chat-latest
|
||||
gpt-5-mini
|
||||
gpt-5-mini-2025-08-07
|
||||
gpt-5-nano
|
||||
gpt-5-nano-2025-08-07
|
||||
gpt-image-1
|
||||
o1
|
||||
o1-2024-12-17
|
||||
@ -406,6 +413,8 @@ export interface IKBotOptions {
|
||||
o1-mini-2024-09-12
|
||||
o1-pro
|
||||
o1-pro-2025-03-19
|
||||
o3
|
||||
o3-2025-04-16
|
||||
o3-mini
|
||||
o3-mini-2025-01-31
|
||||
o4-mini
|
||||
@ -459,6 +468,8 @@ export interface IKBotOptions {
|
||||
logs?: string;
|
||||
/** Enable streaming (verbose LLM output) */
|
||||
stream?: boolean;
|
||||
/** Use alternate tokenizer & instead of $ */
|
||||
alt?: boolean;
|
||||
/** Environment (in profile) */
|
||||
env?: string;
|
||||
variables?: {
|
||||
|
||||
14
packages/commons/src/schemas/media.code-workspace
Normal file
14
packages/commons/src/schemas/media.code-workspace
Normal file
@ -0,0 +1,14 @@
|
||||
{
|
||||
"folders": [
|
||||
{
|
||||
"path": "../../../media"
|
||||
},
|
||||
{
|
||||
"path": "../.."
|
||||
},
|
||||
{
|
||||
"path": "../../../kbot"
|
||||
}
|
||||
],
|
||||
"settings": {}
|
||||
}
|
||||
@ -15,11 +15,10 @@ export const onCompletion = async (result = "", options) => {
|
||||
MODEL: options.model ? path.parse(options.model).name : 'unknown_model',
|
||||
ROUTER: options.router || 'unknown_router',
|
||||
};
|
||||
const dstPath = path.resolve(resolve(options.dst, false, vars));
|
||||
const dstPath = path.resolve(resolve(options.dst, options.alt, vars));
|
||||
writeOrAppend(dstPath, result, options.append);
|
||||
const action = options.append ? `${options.append} content to` : 'Wrote completion result to';
|
||||
options.logger?.debug(`${action} ${dstPath} : ${options.dst}`);
|
||||
console.log(`wrote ${action} ${dstPath} : ${options.dst}`);
|
||||
}
|
||||
else {
|
||||
marked.use(markedTerminal({
|
||||
@ -49,4 +48,4 @@ export const runCompletion = async (client, params, options) => {
|
||||
result = await onCompletion(result, options);
|
||||
return result;
|
||||
};
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuLWNvbXBsZXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbWFuZHMvcnVuLWNvbXBsZXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQTtBQUMvQixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDaEQsT0FBTyxLQUFLLElBQUksTUFBTSxXQUFXLENBQUE7QUFDakMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBRzNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUNqRCxPQUFPLEVBQUUsWUFBWSxFQUFVLE1BQU0sZUFBZSxDQUFBO0FBQ3BELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFHakQsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLEtBQUssRUFBRSxTQUFjLEVBQUUsRUFBRSxPQUFrQixFQUFFLEVBQUU7SUFDekUsTUFBTSxHQUFHLFlBQVksQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLE9BQW1CLElBQUksRUFBRSxDQUFDLENBQUE7SUFDaEUsSUFBSSxJQUFJLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQzdCLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLElBQUksR0FBRztZQUNMLEdBQUcsSUFBSTtZQUNQLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGVBQWU7WUFDdkUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNLElBQUksZ0JBQWdCO1NBQzNDLENBQUE7UUFDRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFBO1FBQy9ELGFBQWEsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUEwQixDQUFDLENBQUE7UUFDbEUsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxhQUFhLENBQUMsQ0FBQyxDQUFDLDRCQUE0QixDQUFBO1FBQzdGLE9BQU8sQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLEdBQUcsTUFBTSxJQUFJLE9BQU8sTUFBTSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQTtRQUM5RCxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsTUFBTSxJQUFJLE9BQU8sTUFBTSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQTtJQUM1RCxDQUFDO1NBQU0sQ0FBQztRQUNOLE1BQU0sQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDO1lBQ3hCLEtBQUssRUFBRSxLQUFLO1NBQ2IsQ0FBQyxDQUFDLENBQUE7UUFDSCxNQUFNLE9BQU8sR0FBVyxNQUFNLENBQUMsTUFBTSxDQUFXLENBQUM7UUFDakQsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDL0IsQ0FBQztJQUNELFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUNyQixrQkFBa0I7SUFDbEIsT0FBTyxNQUFNLENBQUE7QUFDZixDQUFDLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsS0FBSyxFQUFFLE1BQWMsRUFBRSxNQUFXLEVBQUUsT0FBa0IsRUFBRSxFQUFFO0lBQ3JGLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLDZCQUE2QixDQUFDLENBQUE7UUFDbEQsT0FBTyxLQUFLLENBQUE7SUFDZCxDQUFDO0lBQ0QsTUFBTSxVQUFVLEdBQUcsTUFBTSxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUM7UUFDdEQsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLO1FBQ3BCLFFBQVEsRUFBRSxNQUFNLENBQUMsUUFBUTtRQUN6QixlQUFlLEVBQUUsT0FBTyxDQUFDLE1BQWE7S0FDdkMsQ0FBQyxDQUFBO0lBQ0YsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM3SSxPQUFPLEVBQUUsQ0FBQTtJQUNYLENBQUM7SUFDRCxJQUFJLE1BQU0sR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUE7SUFDbEQsTUFBTSxHQUFHLE1BQU0sWUFBWSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQTtJQUM1QyxPQUFPLE1BQU0sQ0FBQTtBQUNmLENBQUMsQ0FBQSJ9
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuLWNvbXBsZXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbWFuZHMvcnVuLWNvbXBsZXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQTtBQUMvQixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDaEQsT0FBTyxLQUFLLElBQUksTUFBTSxXQUFXLENBQUE7QUFDakMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBRzNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUNqRCxPQUFPLEVBQUUsWUFBWSxFQUFVLE1BQU0sZUFBZSxDQUFBO0FBQ3BELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFHakQsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLEtBQUssRUFBRSxTQUFjLEVBQUUsRUFBRSxPQUFrQixFQUFFLEVBQUU7SUFDekUsTUFBTSxHQUFHLFlBQVksQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLE9BQW1CLElBQUksRUFBRSxDQUFDLENBQUE7SUFDaEUsSUFBSSxJQUFJLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQzdCLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLElBQUksR0FBRztZQUNMLEdBQUcsSUFBSTtZQUNQLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGVBQWU7WUFDdkUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNLElBQUksZ0JBQWdCO1NBQzNDLENBQUE7UUFDRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQTtRQUNyRSxhQUFhLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBMEIsQ0FBQyxDQUFBO1FBQ2xFLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sYUFBYSxDQUFDLENBQUMsQ0FBQyw0QkFBNEIsQ0FBQTtRQUM3RixPQUFPLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxHQUFHLE1BQU0sSUFBSSxPQUFPLE1BQU0sT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUE7SUFDaEUsQ0FBQztTQUFNLENBQUM7UUFDTixNQUFNLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQztZQUN4QixLQUFLLEVBQUUsS0FBSztTQUNiLENBQUMsQ0FBQyxDQUFBO1FBQ0gsTUFBTSxPQUFPLEdBQVcsTUFBTSxDQUFDLE1BQU0sQ0FBVyxDQUFDO1FBQ2pELE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQy9CLENBQUM7SUFDRCxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDckIsa0JBQWtCO0lBQ2xCLE9BQU8sTUFBTSxDQUFBO0FBQ2YsQ0FBQyxDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLEtBQUssRUFBRSxNQUFjLEVBQUUsTUFBVyxFQUFFLE9BQWtCLEVBQUUsRUFBRTtJQUNyRixJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNoQixPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxDQUFBO1FBQ2xELE9BQU8sS0FBSyxDQUFBO0lBQ2QsQ0FBQztJQUNELE1BQU0sVUFBVSxHQUFHLE1BQU0sTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDO1FBQ3RELEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSztRQUNwQixRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVE7UUFDekIsZUFBZSxFQUFFLE9BQU8sQ0FBQyxNQUFhO0tBQ3ZDLENBQUMsQ0FBQTtJQUNGLElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDN0ksT0FBTyxFQUFFLENBQUE7SUFDWCxDQUFDO0lBQ0QsSUFBSSxNQUFNLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFBO0lBQ2xELE1BQU0sR0FBRyxNQUFNLFlBQVksQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUE7SUFDNUMsT0FBTyxNQUFNLENBQUE7QUFDZixDQUFDLENBQUEifQ==
|
||||
File diff suppressed because one or more lines are too long
25
packages/kbot/dist-in/zod_types.d.ts
vendored
25
packages/kbot/dist-in/zod_types.d.ts
vendored
@ -33,8 +33,6 @@ export interface IKBotOptions {
|
||||
[35m[1m[22m[39m
|
||||
agentica-org/deepcoder-14b-preview | paid
|
||||
agentica-org/deepcoder-14b-preview:free | free
|
||||
ai21/jamba-1.6-large | paid
|
||||
ai21/jamba-1.6-mini | paid
|
||||
aion-labs/aion-1.0 | paid
|
||||
aion-labs/aion-1.0-mini | paid
|
||||
aion-labs/aion-rp-llama-3.1-8b | paid
|
||||
@ -102,7 +100,6 @@ export interface IKBotOptions {
|
||||
cognitivecomputations/dolphin3.0-r1-mistral-24b | paid
|
||||
cognitivecomputations/dolphin3.0-r1-mistral-24b:free | free
|
||||
eleutherai/llemma_7b | paid
|
||||
sao10k/fimbulvetr-11b-v2 | paid
|
||||
alpindale/goliath-120b | paid
|
||||
google/gemini-flash-1.5 | paid
|
||||
google/gemini-flash-1.5-8b | paid
|
||||
@ -129,7 +126,6 @@ export interface IKBotOptions {
|
||||
google/gemma-3n-e2b-it:free | free
|
||||
google/gemma-3n-e4b-it | paid
|
||||
google/gemma-3n-e4b-it:free | free
|
||||
openrouter/horizon-beta | paid
|
||||
inception/mercury | paid
|
||||
inception/mercury-coder | paid
|
||||
infermatic/mn-inferor-12b | paid
|
||||
@ -230,8 +226,6 @@ export interface IKBotOptions {
|
||||
nvidia/llama-3.3-nemotron-super-49b-v1 | paid
|
||||
openai/chatgpt-4o-latest | paid
|
||||
openai/codex-mini | paid
|
||||
openai/gpt-oss-120b | paid
|
||||
openai/gpt-oss-20b | paid
|
||||
openai/gpt-3.5-turbo | paid
|
||||
openai/gpt-3.5-turbo-0613 | paid
|
||||
openai/gpt-3.5-turbo-16k | paid
|
||||
@ -253,6 +247,13 @@ export interface IKBotOptions {
|
||||
openai/gpt-4o-mini | paid
|
||||
openai/gpt-4o-mini-2024-07-18 | paid
|
||||
openai/gpt-4o-mini-search-preview | paid
|
||||
openai/gpt-5 | paid
|
||||
openai/gpt-5-chat | paid
|
||||
openai/gpt-5-mini | paid
|
||||
openai/gpt-5-nano | paid
|
||||
openai/gpt-oss-120b | paid
|
||||
openai/gpt-oss-20b | paid
|
||||
openai/gpt-oss-20b:free | free
|
||||
openai/o1 | paid
|
||||
openai/o1-mini | paid
|
||||
openai/o1-mini-2024-09-12 | paid
|
||||
@ -330,7 +331,6 @@ export interface IKBotOptions {
|
||||
tngtech/deepseek-r1t-chimera | paid
|
||||
tngtech/deepseek-r1t-chimera:free | free
|
||||
tngtech/deepseek-r1t2-chimera:free | free
|
||||
undi95/toppy-m-7b | paid
|
||||
scb10x/llama3.1-typhoon2-70b-instruct | paid
|
||||
cognitivecomputations/dolphin-mistral-24b-venice-edition:free | free
|
||||
microsoft/wizardlm-2-8x22b | paid
|
||||
@ -399,6 +399,13 @@ export interface IKBotOptions {
|
||||
gpt-4o-search-preview
|
||||
gpt-4o-search-preview-2025-03-11
|
||||
gpt-4o-transcribe
|
||||
gpt-5
|
||||
gpt-5-2025-08-07
|
||||
gpt-5-chat-latest
|
||||
gpt-5-mini
|
||||
gpt-5-mini-2025-08-07
|
||||
gpt-5-nano
|
||||
gpt-5-nano-2025-08-07
|
||||
gpt-image-1
|
||||
o1
|
||||
o1-2024-12-17
|
||||
@ -406,6 +413,8 @@ export interface IKBotOptions {
|
||||
o1-mini-2024-09-12
|
||||
o1-pro
|
||||
o1-pro-2025-03-19
|
||||
o3
|
||||
o3-2025-04-16
|
||||
o3-mini
|
||||
o3-mini-2025-01-31
|
||||
o4-mini
|
||||
@ -459,6 +468,8 @@ export interface IKBotOptions {
|
||||
logs?: string;
|
||||
/** Enable streaming (verbose LLM output) */
|
||||
stream?: boolean;
|
||||
/** Use alternate tokenizer & instead of $ */
|
||||
alt?: boolean;
|
||||
/** Environment (in profile) */
|
||||
env?: string;
|
||||
variables?: {
|
||||
|
||||
@ -23,6 +23,7 @@
|
||||
"start": "node dist/index.js",
|
||||
"dev": "tsc -p . --watch",
|
||||
"lint": "eslint src --ext .ts",
|
||||
"register-commands": "pm-cli register-commands --config=salamand.json --group=kbot",
|
||||
"test": "vitest run",
|
||||
"test:basic": "vitest run tests/unit/basic.test.ts",
|
||||
"test:math": "vitest run tests/unit/math.test.ts",
|
||||
|
||||
8
packages/kbot/salamand.json
Normal file
8
packages/kbot/salamand.json
Normal file
@ -0,0 +1,8 @@
|
||||
{
|
||||
"resize": {
|
||||
"name": "Product Discription",
|
||||
"command": "kbot-d",
|
||||
"args": "modify --prompt=\"as short product description, in markdown - if possible extract product name, and specifications\" --alt=true --logLevel=3 --include=\"$(FullName)\" --dst=\"&{SRC_DIR}/&{SRC_NAME}_description.md\" --mode=completion",
|
||||
"description": "Resize images"
|
||||
}
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -20,11 +20,10 @@ export const onCompletion = async (result: any = "", options: IKBotTask) => {
|
||||
MODEL: options.model ? path.parse(options.model).name : 'unknown_model',
|
||||
ROUTER: options.router || 'unknown_router',
|
||||
}
|
||||
const dstPath = path.resolve(resolve(options.dst, false, vars))
|
||||
const dstPath = path.resolve(resolve(options.dst, options.alt, vars))
|
||||
writeOrAppend(dstPath, result, options.append as E_AppendModeType)
|
||||
const action = options.append ? `${options.append} content to` : 'Wrote completion result to'
|
||||
options.logger?.debug(`${action} ${dstPath} : ${options.dst}`)
|
||||
console.log(`wrote ${action} ${dstPath} : ${options.dst}`)
|
||||
} else {
|
||||
marked.use(markedTerminal({
|
||||
emoji: false,
|
||||
|
||||
@ -229,6 +229,12 @@ export const OptionsSchema = (opts?: any): any => {
|
||||
.default(false)
|
||||
.describe('Enable streaming (verbose LLM output)')
|
||||
)
|
||||
.add(
|
||||
'alt',
|
||||
z.boolean()
|
||||
.default(false)
|
||||
.describe('Use alternate tokenizer & instead of $')
|
||||
)
|
||||
.add(
|
||||
'env',
|
||||
z.string()
|
||||
|
||||
@ -33,8 +33,6 @@ export interface IKBotOptions {
|
||||
[35m[1m[22m[39m
|
||||
agentica-org/deepcoder-14b-preview | paid
|
||||
agentica-org/deepcoder-14b-preview:free | free
|
||||
ai21/jamba-1.6-large | paid
|
||||
ai21/jamba-1.6-mini | paid
|
||||
aion-labs/aion-1.0 | paid
|
||||
aion-labs/aion-1.0-mini | paid
|
||||
aion-labs/aion-rp-llama-3.1-8b | paid
|
||||
@ -102,7 +100,6 @@ export interface IKBotOptions {
|
||||
cognitivecomputations/dolphin3.0-r1-mistral-24b | paid
|
||||
cognitivecomputations/dolphin3.0-r1-mistral-24b:free | free
|
||||
eleutherai/llemma_7b | paid
|
||||
sao10k/fimbulvetr-11b-v2 | paid
|
||||
alpindale/goliath-120b | paid
|
||||
google/gemini-flash-1.5 | paid
|
||||
google/gemini-flash-1.5-8b | paid
|
||||
@ -129,7 +126,6 @@ export interface IKBotOptions {
|
||||
google/gemma-3n-e2b-it:free | free
|
||||
google/gemma-3n-e4b-it | paid
|
||||
google/gemma-3n-e4b-it:free | free
|
||||
openrouter/horizon-beta | paid
|
||||
inception/mercury | paid
|
||||
inception/mercury-coder | paid
|
||||
infermatic/mn-inferor-12b | paid
|
||||
@ -230,8 +226,6 @@ export interface IKBotOptions {
|
||||
nvidia/llama-3.3-nemotron-super-49b-v1 | paid
|
||||
openai/chatgpt-4o-latest | paid
|
||||
openai/codex-mini | paid
|
||||
openai/gpt-oss-120b | paid
|
||||
openai/gpt-oss-20b | paid
|
||||
openai/gpt-3.5-turbo | paid
|
||||
openai/gpt-3.5-turbo-0613 | paid
|
||||
openai/gpt-3.5-turbo-16k | paid
|
||||
@ -253,6 +247,13 @@ export interface IKBotOptions {
|
||||
openai/gpt-4o-mini | paid
|
||||
openai/gpt-4o-mini-2024-07-18 | paid
|
||||
openai/gpt-4o-mini-search-preview | paid
|
||||
openai/gpt-5 | paid
|
||||
openai/gpt-5-chat | paid
|
||||
openai/gpt-5-mini | paid
|
||||
openai/gpt-5-nano | paid
|
||||
openai/gpt-oss-120b | paid
|
||||
openai/gpt-oss-20b | paid
|
||||
openai/gpt-oss-20b:free | free
|
||||
openai/o1 | paid
|
||||
openai/o1-mini | paid
|
||||
openai/o1-mini-2024-09-12 | paid
|
||||
@ -330,7 +331,6 @@ export interface IKBotOptions {
|
||||
tngtech/deepseek-r1t-chimera | paid
|
||||
tngtech/deepseek-r1t-chimera:free | free
|
||||
tngtech/deepseek-r1t2-chimera:free | free
|
||||
undi95/toppy-m-7b | paid
|
||||
scb10x/llama3.1-typhoon2-70b-instruct | paid
|
||||
cognitivecomputations/dolphin-mistral-24b-venice-edition:free | free
|
||||
microsoft/wizardlm-2-8x22b | paid
|
||||
@ -399,6 +399,13 @@ export interface IKBotOptions {
|
||||
gpt-4o-search-preview
|
||||
gpt-4o-search-preview-2025-03-11
|
||||
gpt-4o-transcribe
|
||||
gpt-5
|
||||
gpt-5-2025-08-07
|
||||
gpt-5-chat-latest
|
||||
gpt-5-mini
|
||||
gpt-5-mini-2025-08-07
|
||||
gpt-5-nano
|
||||
gpt-5-nano-2025-08-07
|
||||
gpt-image-1
|
||||
o1
|
||||
o1-2024-12-17
|
||||
@ -406,6 +413,8 @@ export interface IKBotOptions {
|
||||
o1-mini-2024-09-12
|
||||
o1-pro
|
||||
o1-pro-2025-03-19
|
||||
o3
|
||||
o3-2025-04-16
|
||||
o3-mini
|
||||
o3-mini-2025-01-31
|
||||
o4-mini
|
||||
@ -459,6 +468,8 @@ export interface IKBotOptions {
|
||||
logs?: string;
|
||||
/** Enable streaming (verbose LLM output) */
|
||||
stream?: boolean;
|
||||
/** Use alternate tokenizer & instead of $ */
|
||||
alt?: boolean;
|
||||
/** Environment (in profile) */
|
||||
env?: string;
|
||||
variables?: {
|
||||
|
||||
@ -1,36 +0,0 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.register = exports.defaultOptions = void 0;
|
||||
const __1 = require("../");
|
||||
const convert_1 = require("../lib/media/audio/convert");
|
||||
const _cli_1 = require("../_cli");
|
||||
const defaultOptions = (yargs) => {
|
||||
return yargs.option('src', {
|
||||
describe: 'FILE|FOLDER|GLOB',
|
||||
demandOption: true
|
||||
}).option('dst', {
|
||||
describe: 'FILE|FOLDER|GLOB'
|
||||
}).option('debug', {
|
||||
default: false,
|
||||
describe: 'Enable internal debug messages',
|
||||
type: 'boolean'
|
||||
}).option('alt', {
|
||||
default: false,
|
||||
describe: 'Use alternate tokenizer, & instead of $',
|
||||
type: 'boolean'
|
||||
});
|
||||
};
|
||||
exports.defaultOptions = defaultOptions;
|
||||
let options = (yargs) => (0, exports.defaultOptions)(yargs);
|
||||
const register = (cli) => {
|
||||
return cli.command('video <verb>', 'Convert video', options, (argv) => {
|
||||
(0, _cli_1.defaults)();
|
||||
const options = (0, _cli_1.sanitizeVideo)(argv);
|
||||
__1.logger.info("options " + argv.dst, options);
|
||||
if (argv.verb = 'convert') {
|
||||
return (0, convert_1.convert)(options);
|
||||
}
|
||||
});
|
||||
};
|
||||
exports.register = register;
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaW8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29tbWFuZHMvYXVkaW8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsMkJBQTRCO0FBQzVCLHdEQUFvRDtBQUVwRCxrQ0FBaUQ7QUFHMUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxLQUFlLEVBQUUsRUFBRTtJQUM5QyxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO1FBQ3ZCLFFBQVEsRUFBRSxrQkFBa0I7UUFDNUIsWUFBWSxFQUFFLElBQUk7S0FDckIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUU7UUFDYixRQUFRLEVBQUUsa0JBQWtCO0tBQy9CLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFO1FBQ2YsT0FBTyxFQUFFLEtBQUs7UUFDZCxRQUFRLEVBQUUsZ0NBQWdDO1FBQzFDLElBQUksRUFBRSxTQUFTO0tBQ2xCLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO1FBQ2IsT0FBTyxFQUFFLEtBQUs7UUFDZCxRQUFRLEVBQUUseUNBQXlDO1FBQ25ELElBQUksRUFBRSxTQUFTO0tBQ2xCLENBQUMsQ0FBQTtBQUNOLENBQUMsQ0FBQTtBQWZZLFFBQUEsY0FBYyxrQkFlMUI7QUFFRCxJQUFJLE9BQU8sR0FBRyxDQUFDLEtBQWUsRUFBRSxFQUFFLENBQUMsSUFBQSxzQkFBYyxFQUFDLEtBQUssQ0FBQyxDQUFBO0FBRWpELE1BQU0sUUFBUSxHQUFHLENBQUMsR0FBYSxFQUFFLEVBQUU7SUFDdEMsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLENBQUMsSUFBbUIsRUFBRSxFQUFFO1FBQ2pGLElBQUEsZUFBUSxHQUFFLENBQUE7UUFDVixNQUFNLE9BQU8sR0FBRyxJQUFBLG9CQUFhLEVBQUMsSUFBSSxDQUF5QixDQUFBO1FBQzNELFVBQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUE7UUFDM0MsSUFBSSxJQUFJLENBQUMsSUFBSSxHQUFHLFNBQVMsRUFBRTtZQUN2QixPQUFPLElBQUEsaUJBQU8sRUFBQyxPQUFPLENBQUMsQ0FBQTtTQUMxQjtJQUNMLENBQUMsQ0FBQyxDQUFBO0FBQ04sQ0FBQyxDQUFBO0FBVFksUUFBQSxRQUFRLFlBU3BCIn0=
|
||||
@ -1,10 +0,0 @@
|
||||
import * as CLI from 'yargs';
|
||||
export declare const register: (cli: CLI.Argv) => CLI.Argv<{
|
||||
input: string;
|
||||
} & {
|
||||
slugify: string;
|
||||
} & {
|
||||
debug: string;
|
||||
} & {
|
||||
dry: string;
|
||||
}>;
|
||||
@ -1,69 +0,0 @@
|
||||
"use strict";
|
||||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
||||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
||||
return new (P || (P = Promise))(function (resolve, reject) {
|
||||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
||||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
||||
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
||||
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
||||
});
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.register = void 0;
|
||||
const path = require("path");
|
||||
const fs_1 = require("fs");
|
||||
const fs_2 = require("../../lib/fs");
|
||||
const __1 = require("../..");
|
||||
const sanitize = require("sanitize-filename");
|
||||
const filenamify = require('filenamify');
|
||||
const slugify = require('slugify');
|
||||
const defaultOptions = (yargs) => {
|
||||
return yargs.option('input', {
|
||||
default: './',
|
||||
describe: 'The sources'
|
||||
}).option('slugify', {
|
||||
default: 'false',
|
||||
describe: 'convert whitespaces to dashes, remove special ASCIs'
|
||||
}).option('debug', {
|
||||
default: 'false',
|
||||
describe: 'debug messages'
|
||||
}).option('dry', {
|
||||
default: 'false',
|
||||
describe: 'dry run, dont modify'
|
||||
});
|
||||
};
|
||||
let options = (yargs) => defaultOptions(yargs);
|
||||
const prep = (file) => {
|
||||
const parts = path.parse(file);
|
||||
const stats = (0, fs_1.lstatSync)(file);
|
||||
if (stats.isFile()) {
|
||||
console.log('p', parts);
|
||||
// return parts.name.trim() + parts.ext.trim().split('.')[1].trim();
|
||||
return filenamify(parts.name + parts.ext);
|
||||
}
|
||||
return prep;
|
||||
};
|
||||
// npm run build ; node ./build/main.js sanitize-filenames --input=.
|
||||
const register = (cli) => {
|
||||
return cli.command('sanitize-filename', 'Removes invalid chars in filenames', options, (argv) => __awaiter(void 0, void 0, void 0, function* () {
|
||||
if (argv.help) {
|
||||
return;
|
||||
}
|
||||
const _debug = argv.debug === 'true';
|
||||
const _dry = argv.dry === 'true';
|
||||
const src = path.resolve('' + argv.input);
|
||||
_debug && __1.logger.info(`sanitize ${src}`);
|
||||
if ((0, fs_1.existsSync)(src)) {
|
||||
!_dry && sanitize(src);
|
||||
if (argv.slugify === 'true') {
|
||||
let _files = (0, fs_2.files)(src, '**/**').map(prep).map(slugify);
|
||||
__1.logger.info('files', _files);
|
||||
}
|
||||
}
|
||||
else {
|
||||
_debug && __1.logger.error(`doesnt exists : ${src} `);
|
||||
}
|
||||
}));
|
||||
};
|
||||
exports.register = register;
|
||||
//# sourceMappingURL=sanitize-filename.js.map
|
||||
@ -1 +0,0 @@
|
||||
{"version":3,"file":"sanitize-filename.js","sourceRoot":"","sources":["../../src/commands/common/sanitize-filename.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,6BAA6B;AAC7B,2BAA2C;AAC3C,qCAAqC;AAErC,6BAA+B;AAE/B,MAAM,QAAQ,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAC9C,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;AACzC,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AAEnC,MAAM,cAAc,GAAG,CAAC,KAAe,EAAE,EAAE;IACvC,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE;QACzB,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,aAAa;KAC1B,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE;QACjB,OAAO,EAAE,OAAO;QAChB,QAAQ,EAAE,qDAAqD;KAClE,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE;QACf,OAAO,EAAE,OAAO;QAChB,QAAQ,EAAE,gBAAgB;KAC7B,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE;QACb,OAAO,EAAE,OAAO;QAChB,QAAQ,EAAE,sBAAsB;KACnC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,IAAI,OAAO,GAAG,CAAC,KAAe,EAAE,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AAEzD,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,EAAE;IAE1B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,KAAK,GAAG,IAAA,cAAS,EAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE;QAChB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAC,KAAK,CAAC,CAAC;QAC/B,2EAA2E;QACnE,OAAO,UAAU,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;KAC7C;IACD,OAAO,IAAI,CAAC;AAChB,CAAC,CAAA;AAED,oEAAoE;AAC7D,MAAM,QAAQ,GAAG,CAAC,GAAa,EAAE,EAAE;IACtC,OAAO,GAAG,CAAC,OAAO,CAAC,mBAAmB,EAAE,oCAAoC,EAAE,OAAO,EAAE,CAAO,IAAmB,EAAE,EAAE;QACjH,IAAI,IAAI,CAAC,IAAI,EAAE;YAAE,OAAO;SAAE;QAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,KAAM,MAAM,CAAC;QAClC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,IAAI,UAAM,CAAC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC,CAAC;QACzC,IAAI,IAAA,eAAU,EAAC,GAAG,CAAC,EAAE;YAEjB,CAAC,IAAI,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC;YACvB,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM,EAAE;gBACzB,IAAI,MAAM,GAAG,IAAA,UAAK,EAAC,GAAG,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACxD,UAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;aAChC;SACJ;aAAM;YACH,MAAM,IAAI,UAAM,CAAC,KAAK,CAAC,mBAAmB,GAAG,GAAG,CAAC,CAAC;SACrD;IACL,CAAC,CAAA,CAAC,CAAC;AACP,CAAC,CAAC;AAlBW,QAAA,QAAQ,YAkBnB"}
|
||||
@ -1,42 +0,0 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.register = exports.defaultOptions = void 0;
|
||||
const __1 = require("../");
|
||||
const images_1 = require("../lib/media/images");
|
||||
const _cli_1 = require("../_cli");
|
||||
const defaultOptions = (yargs) => {
|
||||
return yargs.option('src', {
|
||||
describe: 'FILE|FOLDER|GLOB',
|
||||
demandOption: true
|
||||
}).option('dst', {
|
||||
describe: 'FILE|FOLDER|GLOB'
|
||||
}).option('debug', {
|
||||
default: false,
|
||||
describe: 'Enable internal debug messages',
|
||||
type: 'boolean'
|
||||
}).option('alt', {
|
||||
default: false,
|
||||
describe: 'Use alternate tokenizer, & instead of $',
|
||||
type: 'boolean'
|
||||
}).option('dry', {
|
||||
default: false,
|
||||
describe: 'Run without conversion',
|
||||
type: 'boolean'
|
||||
}).option('verbose', {
|
||||
default: false,
|
||||
describe: 'Show internal messages',
|
||||
type: 'boolean'
|
||||
});
|
||||
};
|
||||
exports.defaultOptions = defaultOptions;
|
||||
let options = (yargs) => (0, exports.defaultOptions)(yargs);
|
||||
const register = (cli) => {
|
||||
return cli.command('convert', 'Convert files', options, (argv) => {
|
||||
(0, _cli_1.defaults)();
|
||||
const options = (0, _cli_1.sanitizeVideo)(argv);
|
||||
options.debug && __1.logger.info("options " + argv.dst, options);
|
||||
return (0, images_1.convert)(options);
|
||||
});
|
||||
};
|
||||
exports.register = register;
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21tYW5kcy9jb252ZXJ0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLDJCQUE0QjtBQUU1QixnREFFNEI7QUFFNUIsa0NBSWdCO0FBT1QsTUFBTSxjQUFjLEdBQUcsQ0FBQyxLQUFlLEVBQUUsRUFBRTtJQUM5QyxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO1FBQ3ZCLFFBQVEsRUFBRSxrQkFBa0I7UUFDNUIsWUFBWSxFQUFFLElBQUk7S0FDckIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUU7UUFDYixRQUFRLEVBQUUsa0JBQWtCO0tBQy9CLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFO1FBQ2YsT0FBTyxFQUFFLEtBQUs7UUFDZCxRQUFRLEVBQUUsZ0NBQWdDO1FBQzFDLElBQUksRUFBRSxTQUFTO0tBQ2xCLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO1FBQ2IsT0FBTyxFQUFFLEtBQUs7UUFDZCxRQUFRLEVBQUUseUNBQXlDO1FBQ25ELElBQUksRUFBRSxTQUFTO0tBQ2xCLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO1FBQ2IsT0FBTyxFQUFFLEtBQUs7UUFDZCxRQUFRLEVBQUUsd0JBQXdCO1FBQ2xDLElBQUksRUFBRSxTQUFTO0tBQ2xCLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFO1FBQ2pCLE9BQU8sRUFBRSxLQUFLO1FBQ2QsUUFBUSxFQUFFLHdCQUF3QjtRQUNsQyxJQUFJLEVBQUUsU0FBUztLQUNsQixDQUFDLENBQUE7QUFDTixDQUFDLENBQUE7QUF2QlksUUFBQSxjQUFjLGtCQXVCMUI7QUFFRCxJQUFJLE9BQU8sR0FBRyxDQUFDLEtBQWUsRUFBRSxFQUFFLENBQUMsSUFBQSxzQkFBYyxFQUFDLEtBQUssQ0FBQyxDQUFBO0FBRWpELE1BQU0sUUFBUSxHQUFHLENBQUMsR0FBYSxFQUFFLEVBQUU7SUFDdEMsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLENBQUMsSUFBbUIsRUFBRSxFQUFFO1FBQzVFLElBQUEsZUFBUSxHQUFFLENBQUE7UUFDVixNQUFNLE9BQU8sR0FBRyxJQUFBLG9CQUFhLEVBQUMsSUFBSSxDQUFhLENBQUE7UUFDL0MsT0FBTyxDQUFDLEtBQUssSUFBSSxVQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFBO1FBQzVELE9BQU8sSUFBQSxnQkFBTyxFQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQzNCLENBQUMsQ0FBQyxDQUFBO0FBQ04sQ0FBQyxDQUFBO0FBUFksUUFBQSxRQUFRLFlBT3BCIn0=
|
||||
1
packages/media/commands/pdf2jpg.d.ts
vendored
1
packages/media/commands/pdf2jpg.d.ts
vendored
@ -1 +0,0 @@
|
||||
export declare const register: (cli: CLI.Argv) => any;
|
||||
@ -1,53 +0,0 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.register = void 0;
|
||||
const __1 = require("../");
|
||||
const path = require("path");
|
||||
const index_1 = require("../lib/process/index");
|
||||
const pMap = require("p-map");
|
||||
const fg = require('fast-glob');
|
||||
const defaultOptions = (yargs) => {
|
||||
return yargs.option('input', {
|
||||
default: './',
|
||||
describe: 'The sources'
|
||||
}).option('debug', {
|
||||
default: 'false',
|
||||
describe: 'Enable internal debug message'
|
||||
});
|
||||
};
|
||||
let options = (yargs) => defaultOptions(yargs);
|
||||
async function convertFiles(files) {
|
||||
return pMap(files, (file) => {
|
||||
const inParts = path.parse(file);
|
||||
// magick convert leg.pdf -quality 100 -density 250 -trim -flatten -resize 200% -sharpen 0x1.0 leg.jpg
|
||||
const promise = index_1.Helper.run(inParts.dir, 'convert', [
|
||||
`"${inParts.base}[0]"`,
|
||||
'-quality 80',
|
||||
'-density 250',
|
||||
'-trim',
|
||||
'-flatten',
|
||||
'-sharpen 0x1.0',
|
||||
`"${inParts.name}.jpg"`
|
||||
]);
|
||||
return promise;
|
||||
}, { concurrency: 1 });
|
||||
}
|
||||
// node ./build/main.js pdf2jpg --input=../drawings
|
||||
const register = (cli) => {
|
||||
return cli.command('pdf2jpg', '', options, async (argv) => {
|
||||
if (argv.help) {
|
||||
return;
|
||||
}
|
||||
const src = path.resolve('' + argv.input);
|
||||
if (argv.debug) {
|
||||
__1.logger.debug(`Begin convert PDF files${src}`);
|
||||
}
|
||||
const files = fg.sync('*.pdf|*.PDF', { dot: true, cwd: src, absolute: true });
|
||||
await convertFiles(files);
|
||||
if (argv.debug) {
|
||||
__1.logger.debug(`Converted ${files.length} files`);
|
||||
}
|
||||
});
|
||||
};
|
||||
exports.register = register;
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmMmpwZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21tYW5kcy9wZGYyanBnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLDJCQUE0QjtBQUM1Qiw2QkFBNEI7QUFDNUIsZ0RBQTZDO0FBQzdDLDhCQUE2QjtBQUU3QixNQUFNLEVBQUUsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUE7QUFFL0IsTUFBTSxjQUFjLEdBQUcsQ0FBQyxLQUFlLEVBQUUsRUFBRTtJQUN2QyxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFO1FBQ3pCLE9BQU8sRUFBRSxJQUFJO1FBQ2IsUUFBUSxFQUFFLGFBQWE7S0FDMUIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUU7UUFDZixPQUFPLEVBQUUsT0FBTztRQUNoQixRQUFRLEVBQUUsK0JBQStCO0tBQzVDLENBQUMsQ0FBQTtBQUNOLENBQUMsQ0FBQztBQUVGLElBQUksT0FBTyxHQUFHLENBQUMsS0FBZSxFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7QUFFekQsS0FBSyxVQUFVLFlBQVksQ0FBQyxLQUFLO0lBQzdCLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBQyxDQUFDLElBQVMsRUFBRSxFQUFFO1FBQzVCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakMsc0dBQXNHO1FBQ3RHLE1BQU0sT0FBTyxHQUFHLGNBQU0sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxTQUFTLEVBQ2pEO1lBQ0ksSUFBSSxPQUFPLENBQUMsSUFBSSxNQUFNO1lBQ3RCLGFBQWE7WUFDYixjQUFjO1lBQ2QsT0FBTztZQUNQLFVBQVU7WUFDVixnQkFBZ0I7WUFDaEIsSUFBSSxPQUFPLENBQUMsSUFBSSxPQUFPO1NBQzFCLENBQUMsQ0FBQztRQUNILE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUMsRUFBQyxFQUFFLFdBQVcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQzFCLENBQUM7QUFFRCxtREFBbUQ7QUFDNUMsTUFBTSxRQUFRLEdBQUcsQ0FBQyxHQUFhLEVBQUUsRUFBRTtJQUN0QyxPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQW1CLEVBQUUsRUFBRTtRQUNyRSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFBRSxPQUFPO1NBQUU7UUFDMUIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFDLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNaLFVBQU0sQ0FBQyxLQUFLLENBQUMsMEJBQTBCLEdBQUcsRUFBRSxDQUFDLENBQUM7U0FDakQ7UUFDRCxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUM5RSxNQUFNLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxQixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDWixVQUFNLENBQUMsS0FBSyxDQUFDLGFBQWEsS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDLENBQUM7U0FDbkQ7SUFDTCxDQUFDLENBQUMsQ0FBQTtBQUNOLENBQUMsQ0FBQTtBQWJZLFFBQUEsUUFBUSxZQWFwQiJ9
|
||||
@ -1 +0,0 @@
|
||||
{"version":3,"file":"pdf2jpg.js","sourceRoot":"","sources":["../src/commands/pdf2jpg.ts"],"names":[],"mappings":";;;AACA,2BAA6B;AAC7B,6BAA6B;AAC7B,gDAA8C;AAC9C,qCAAqC;AAErC,MAAM,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AAEhC,MAAM,cAAc,GAAG,CAAC,KAAe,EAAE,EAAE;IACvC,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE;QACzB,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,aAAa;KAC1B,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE;QACf,OAAO,EAAE,OAAO;QAChB,QAAQ,EAAE,+BAA+B;KAC5C,CAAC,CAAA;AACN,CAAC,CAAC;AAEF,IAAI,OAAO,GAAG,CAAC,KAAe,EAAE,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AAEzD,KAAK,UAAU,YAAY,CAAC,KAAK;IAC7B,OAAO,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE;QAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjC,sGAAsG;QACtG,MAAM,OAAO,GAAG,cAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,EACjD;YACI,IAAI,OAAO,CAAC,IAAI,MAAM;YACtB,aAAa;YACb,cAAc;YACd,OAAO;YACP,UAAU;YACV,gBAAgB;YAChB,IAAI,OAAO,CAAC,IAAI,OAAO;SAC1B,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IACnB,CAAC,EAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;AAC1B,CAAC;AAED,mDAAmD;AAC5C,MAAM,QAAQ,GAAG,CAAC,GAAa,EAAE,EAAE;IACtC,OAAO,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,IAAmB,EAAE,EAAE;QACrE,IAAI,IAAI,CAAC,IAAI,EAAE;YAAE,OAAO;SAAE;QAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,IAAI,CAAC,KAAK,EAAE;YACZ,UAAM,CAAC,KAAK,CAAC,0BAA0B,GAAG,EAAE,CAAC,CAAC;SACjD;QACD,MAAM,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9E,MAAM,YAAY,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,IAAI,CAAC,KAAK,EAAE;YACZ,UAAM,CAAC,KAAK,CAAC,aAAa,KAAK,CAAC,MAAM,QAAQ,CAAC,CAAC;SACnD;IACL,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAbW,QAAA,QAAQ,YAanB"}
|
||||
2
packages/media/commands/resize.d.ts
vendored
2
packages/media/commands/resize.d.ts
vendored
@ -1,2 +0,0 @@
|
||||
export declare const defaultOptions: (yargs: CLI.Argv) => any;
|
||||
export declare const register: (cli: CLI.Argv) => any;
|
||||
@ -1,71 +0,0 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.register = exports.defaultOptions = void 0;
|
||||
const index_1 = require("../index");
|
||||
const resize_1 = require("../lib/media/images/resize");
|
||||
const _cli_1 = require("../_cli");
|
||||
const defaultOptions = (yargs) => {
|
||||
return yargs.option('src', {
|
||||
describe: 'FILE|FOLDER|GLOB',
|
||||
demandOption: true
|
||||
}).option('dst', {
|
||||
describe: 'FILE|FOLDER|GLOB'
|
||||
}).option('debug', {
|
||||
default: false,
|
||||
describe: 'Enable internal debug messages',
|
||||
type: 'boolean'
|
||||
}).option('alt', {
|
||||
default: false,
|
||||
describe: 'Use alternate tokenizer, & instead of $',
|
||||
type: 'boolean'
|
||||
}).option('dry', {
|
||||
default: false,
|
||||
describe: 'Run without conversion',
|
||||
type: 'boolean'
|
||||
}).option('verbose', {
|
||||
default: false,
|
||||
describe: 'Show internal messages',
|
||||
type: 'boolean'
|
||||
}).option('percent', {
|
||||
default: false,
|
||||
describe: 'Resize image with percent',
|
||||
type: 'number'
|
||||
}).option('width', {
|
||||
describe: 'Resize image with',
|
||||
type: 'number'
|
||||
}).option('height', {
|
||||
describe: 'Resize image height',
|
||||
type: 'number'
|
||||
}).option('minHeight', {
|
||||
describe: 'Resize image minimum height',
|
||||
type: 'number'
|
||||
}).option('minWidth', {
|
||||
describe: 'Resize image minimum width',
|
||||
type: 'number'
|
||||
}).option('minSize', {
|
||||
describe: 'Resize image size (bytes)',
|
||||
type: 'number'
|
||||
}).option('percent', {
|
||||
describe: 'Resize image in percent (width)',
|
||||
type: 'number'
|
||||
}).option('logLevel', {
|
||||
describe: 'Log level : warn, info, debug, error',
|
||||
type: 'string',
|
||||
default: 'info'
|
||||
});
|
||||
};
|
||||
exports.defaultOptions = defaultOptions;
|
||||
let options = (yargs) => (0, exports.defaultOptions)(yargs);
|
||||
const register = (cli) => {
|
||||
return cli.command('resize', 'Resizes files', options, async (argv) => {
|
||||
(0, _cli_1.defaults)();
|
||||
const options = (0, _cli_1.sanitize)(argv);
|
||||
index_1.logger.setSettings({
|
||||
minLevel: options.logLevel
|
||||
});
|
||||
index_1.logger.info("options " + argv.dst, options);
|
||||
await (0, resize_1.resize)(options);
|
||||
});
|
||||
};
|
||||
exports.register = register;
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXplLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbW1hbmRzL3Jlc2l6ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxvQ0FBaUM7QUFDakMsdURBRW1DO0FBRW5DLGtDQUdnQjtBQU1ULE1BQU0sY0FBYyxHQUFHLENBQUMsS0FBZSxFQUFFLEVBQUU7SUFDOUMsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRTtRQUN2QixRQUFRLEVBQUUsa0JBQWtCO1FBQzVCLFlBQVksRUFBRSxJQUFJO0tBQ3JCLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO1FBQ2IsUUFBUSxFQUFFLGtCQUFrQjtLQUMvQixDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRTtRQUNmLE9BQU8sRUFBRSxLQUFLO1FBQ2QsUUFBUSxFQUFFLGdDQUFnQztRQUMxQyxJQUFJLEVBQUUsU0FBUztLQUNsQixDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRTtRQUNiLE9BQU8sRUFBRSxLQUFLO1FBQ2QsUUFBUSxFQUFFLHlDQUF5QztRQUNuRCxJQUFJLEVBQUUsU0FBUztLQUNsQixDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRTtRQUNiLE9BQU8sRUFBRSxLQUFLO1FBQ2QsUUFBUSxFQUFFLHdCQUF3QjtRQUNsQyxJQUFJLEVBQUUsU0FBUztLQUNsQixDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRTtRQUNqQixPQUFPLEVBQUUsS0FBSztRQUNkLFFBQVEsRUFBRSx3QkFBd0I7UUFDbEMsSUFBSSxFQUFFLFNBQVM7S0FDbEIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUU7UUFDakIsT0FBTyxFQUFFLEtBQUs7UUFDZCxRQUFRLEVBQUUsMkJBQTJCO1FBQ3JDLElBQUksRUFBRSxRQUFRO0tBQ2pCLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFO1FBQ2YsUUFBUSxFQUFFLG1CQUFtQjtRQUM3QixJQUFJLEVBQUUsUUFBUTtLQUNqQixDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRTtRQUNoQixRQUFRLEVBQUUscUJBQXFCO1FBQy9CLElBQUksRUFBRSxRQUFRO0tBQ2pCLENBQUMsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFO1FBQ25CLFFBQVEsRUFBRSw2QkFBNkI7UUFDdkMsSUFBSSxFQUFFLFFBQVE7S0FDakIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUU7UUFDbEIsUUFBUSxFQUFFLDRCQUE0QjtRQUN0QyxJQUFJLEVBQUUsUUFBUTtLQUNqQixDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRTtRQUNqQixRQUFRLEVBQUUsMkJBQTJCO1FBQ3JDLElBQUksRUFBRSxRQUFRO0tBQ2pCLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFO1FBQ2pCLFFBQVEsRUFBRSxpQ0FBaUM7UUFDM0MsSUFBSSxFQUFFLFFBQVE7S0FDakIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUU7UUFDbEIsUUFBUSxFQUFFLHNDQUFzQztRQUNoRCxJQUFJLEVBQUUsUUFBUTtRQUNkLE9BQU8sRUFBRSxNQUFNO0tBQ2xCLENBQUMsQ0FBQTtBQUNOLENBQUMsQ0FBQTtBQWpEWSxRQUFBLGNBQWMsa0JBaUQxQjtBQUVELElBQUksT0FBTyxHQUFHLENBQUMsS0FBZSxFQUFFLEVBQUUsQ0FBQyxJQUFBLHNCQUFjLEVBQUMsS0FBSyxDQUFDLENBQUE7QUFFakQsTUFBTSxRQUFRLEdBQUcsQ0FBQyxHQUFhLEVBQUUsRUFBRTtJQUN0QyxPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQW1CLEVBQUUsRUFBRTtRQUNqRixJQUFBLGVBQVEsR0FBRSxDQUFBO1FBQ1YsTUFBTSxPQUFPLEdBQUcsSUFBQSxlQUFRLEVBQUMsSUFBSSxDQUFhLENBQUE7UUFDMUMsY0FBTSxDQUFDLFdBQVcsQ0FBQztZQUNmLFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBZTtTQUNwQyxDQUFDLENBQUE7UUFDRixjQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFBO1FBQzNDLE1BQU0sSUFBQSxlQUFNLEVBQUMsT0FBTyxDQUFDLENBQUE7SUFDekIsQ0FBQyxDQUFDLENBQUE7QUFDTixDQUFDLENBQUE7QUFWWSxRQUFBLFFBQVEsWUFVcEIifQ==
|
||||
@ -1,49 +0,0 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.register = void 0;
|
||||
const debug_1 = require("@plastichub/core/debug");
|
||||
const path = require("path");
|
||||
const index_1 = require("../lib/process/index");
|
||||
const bluebird = require("bluebird");
|
||||
const fg = require('fast-glob');
|
||||
const defaultOptions = (yargs) => {
|
||||
return yargs.option('input', {
|
||||
default: './',
|
||||
describe: 'The sources'
|
||||
}).option('debug', {
|
||||
default: 'false',
|
||||
describe: 'Enable internal debug message'
|
||||
});
|
||||
};
|
||||
let options = (yargs) => defaultOptions(yargs);
|
||||
async function convertFiles(files) {
|
||||
return bluebird.mapSeries(files, (file) => {
|
||||
const inParts = path.parse(file);
|
||||
const promise = index_1.Helper.run(inParts.dir, 'convert', [
|
||||
`"${inParts.base}"`,
|
||||
'-quality 40',
|
||||
'-sharpen 0x1.0',
|
||||
`"${inParts.name}.jpg"`
|
||||
]);
|
||||
return promise;
|
||||
});
|
||||
}
|
||||
//node ./build/main.js svg2jpg --input=../tests/svg/
|
||||
const register = (cli) => {
|
||||
return cli.command('svg2jpg', '', options, async (argv) => {
|
||||
if (argv.help) {
|
||||
return;
|
||||
}
|
||||
const src = path.resolve('' + argv.input);
|
||||
const files = fg.sync('*.svg|*.SVG', { dot: true, cwd: src, absolute: true });
|
||||
if (argv.debug) {
|
||||
(0, debug_1.debug)(`Begin convert SVG files at ${src} ${files}`);
|
||||
}
|
||||
await convertFiles(files);
|
||||
if (argv.debug) {
|
||||
(0, debug_1.debug)(`Converted ${files.length} files`);
|
||||
}
|
||||
});
|
||||
};
|
||||
exports.register = register;
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ZnMmpwZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21tYW5kcy9zdmcyanBnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLGtEQUE4QztBQUM5Qyw2QkFBNkI7QUFDN0IsZ0RBQThDO0FBQzlDLHFDQUFxQztBQUVyQyxNQUFNLEVBQUUsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7QUFFaEMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxLQUFlLEVBQUUsRUFBRTtJQUN2QyxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFO1FBQ3pCLE9BQU8sRUFBRSxJQUFJO1FBQ2IsUUFBUSxFQUFFLGFBQWE7S0FDMUIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUU7UUFDZixPQUFPLEVBQUUsT0FBTztRQUNoQixRQUFRLEVBQUUsK0JBQStCO0tBQzVDLENBQUMsQ0FBQTtBQUNOLENBQUMsQ0FBQztBQUVGLElBQUksT0FBTyxHQUFHLENBQUMsS0FBZSxFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7QUFFekQsS0FBSyxVQUFVLFlBQVksQ0FBQyxLQUFLO0lBQzdCLE9BQU8sUUFBUSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxJQUFZLEVBQUUsRUFBRTtRQUM5QyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pDLE1BQU0sT0FBTyxHQUFHLGNBQU0sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxTQUFTLEVBQ2pEO1lBQ0ksSUFBSSxPQUFPLENBQUMsSUFBSSxHQUFHO1lBQ25CLGFBQWE7WUFDYixnQkFBZ0I7WUFDaEIsSUFBSSxPQUFPLENBQUMsSUFBSSxPQUFPO1NBQzFCLENBQUMsQ0FBQztRQUNILE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQztBQUNELG9EQUFvRDtBQUU3QyxNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQWEsRUFBRSxFQUFFO0lBQ3RDLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBbUIsRUFBRSxFQUFFO1FBQ3JFLElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtZQUFFLE9BQU87U0FBRTtRQUMxQixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUMsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDOUUsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1osSUFBQSxhQUFLLEVBQUMsOEJBQThCLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1NBQ3ZEO1FBQ0QsTUFBTSxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUIsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1osSUFBQSxhQUFLLEVBQUMsYUFBYSxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUMsQ0FBQztTQUM1QztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDO0FBYlcsUUFBQSxRQUFRLFlBYW5CIn0=
|
||||
@ -1 +0,0 @@
|
||||
{"version":3,"file":"svg2jpg.js","sourceRoot":"","sources":["../src/commands/svg2jpg.ts"],"names":[],"mappings":";;;AACA,kDAA8C;AAC9C,6BAA6B;AAC7B,gDAA8C;AAC9C,qCAAqC;AAErC,MAAM,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AAEhC,MAAM,cAAc,GAAG,CAAC,KAAe,EAAE,EAAE;IACvC,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE;QACzB,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,aAAa;KAC1B,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE;QACf,OAAO,EAAE,OAAO;QAChB,QAAQ,EAAE,+BAA+B;KAC5C,CAAC,CAAA;AACN,CAAC,CAAC;AAEF,IAAI,OAAO,GAAG,CAAC,KAAe,EAAE,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AAEzD,KAAK,UAAU,YAAY,CAAC,KAAK;IAC7B,OAAO,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,IAAY,EAAE,EAAE;QAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,OAAO,GAAG,cAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,EACjD;YACI,IAAI,OAAO,CAAC,IAAI,GAAG;YACnB,aAAa;YACb,gBAAgB;YAChB,IAAI,OAAO,CAAC,IAAI,OAAO;SAC1B,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IACnB,CAAC,CAAC,CAAC;AACP,CAAC;AACD,oDAAoD;AAE7C,MAAM,QAAQ,GAAG,CAAC,GAAa,EAAE,EAAE;IACtC,OAAO,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,IAAmB,EAAE,EAAE;QACrE,IAAI,IAAI,CAAC,IAAI,EAAE;YAAE,OAAO;SAAE;QAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9E,IAAI,IAAI,CAAC,KAAK,EAAE;YACZ,IAAA,aAAK,EAAC,8BAA8B,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC;SACvD;QACD,MAAM,YAAY,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,IAAI,CAAC,KAAK,EAAE;YACZ,IAAA,aAAK,EAAC,aAAa,KAAK,CAAC,MAAM,QAAQ,CAAC,CAAC;SAC5C;IACL,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAbW,QAAA,QAAQ,YAanB"}
|
||||
2
packages/media/commands/video.d.ts
vendored
2
packages/media/commands/video.d.ts
vendored
@ -1,2 +0,0 @@
|
||||
export declare const defaultOptions: (yargs: CLI.Argv) => any;
|
||||
export declare const register: (cli: CLI.Argv) => any;
|
||||
@ -1,39 +0,0 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.register = exports.defaultOptions = void 0;
|
||||
const __1 = require("../");
|
||||
const video_1 = require("../lib/media/video");
|
||||
const _cli_1 = require("../_cli");
|
||||
const defaultOptions = (yargs) => {
|
||||
return yargs.option('src', {
|
||||
describe: 'FILE|FOLDER|GLOB',
|
||||
demandOption: true
|
||||
}).option('dst', {
|
||||
describe: 'FILE|FOLDER|GLOB'
|
||||
}).option('debug', {
|
||||
default: false,
|
||||
describe: 'Enable internal debug messages',
|
||||
type: 'boolean'
|
||||
}).option('alt', {
|
||||
default: false,
|
||||
describe: 'Use alternate tokenizer, & instead of $',
|
||||
type: 'boolean'
|
||||
});
|
||||
};
|
||||
exports.defaultOptions = defaultOptions;
|
||||
let options = (yargs) => (0, exports.defaultOptions)(yargs);
|
||||
const register = (cli) => {
|
||||
return cli.command('video <verb>', 'Convert video', options, async (argv) => {
|
||||
(0, _cli_1.defaults)();
|
||||
const options = (0, _cli_1.sanitizeVideo)(argv);
|
||||
__1.logger.info("options " + argv.dst, options);
|
||||
if (options.verb == 'convert') {
|
||||
return (0, video_1.convert)(options);
|
||||
}
|
||||
if (options.verb == 'merge') {
|
||||
return (0, video_1.merge)(options);
|
||||
}
|
||||
});
|
||||
};
|
||||
exports.register = register;
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlkZW8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29tbWFuZHMvdmlkZW8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsMkJBQTRCO0FBQzVCLDhDQUFtRDtBQUNuRCxrQ0FBaUQ7QUFHMUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxLQUFlLEVBQUUsRUFBRTtJQUM5QyxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO1FBQ3ZCLFFBQVEsRUFBRSxrQkFBa0I7UUFDNUIsWUFBWSxFQUFFLElBQUk7S0FDckIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUU7UUFDYixRQUFRLEVBQUUsa0JBQWtCO0tBQy9CLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFO1FBQ2YsT0FBTyxFQUFFLEtBQUs7UUFDZCxRQUFRLEVBQUUsZ0NBQWdDO1FBQzFDLElBQUksRUFBRSxTQUFTO0tBQ2xCLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO1FBQ2IsT0FBTyxFQUFFLEtBQUs7UUFDZCxRQUFRLEVBQUUseUNBQXlDO1FBQ25ELElBQUksRUFBRSxTQUFTO0tBQ2xCLENBQUMsQ0FBQTtBQUNOLENBQUMsQ0FBQTtBQWZZLFFBQUEsY0FBYyxrQkFlMUI7QUFFRCxJQUFJLE9BQU8sR0FBRyxDQUFDLEtBQWUsRUFBRSxFQUFFLENBQUMsSUFBQSxzQkFBYyxFQUFDLEtBQUssQ0FBQyxDQUFBO0FBRWpELE1BQU0sUUFBUSxHQUFHLENBQUMsR0FBYSxFQUFFLEVBQUU7SUFDdEMsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFtQixFQUFFLEVBQUU7UUFDdkYsSUFBQSxlQUFRLEdBQUUsQ0FBQTtRQUNWLE1BQU0sT0FBTyxHQUFHLElBQUEsb0JBQWEsRUFBQyxJQUFJLENBQXlCLENBQUE7UUFDM0QsVUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQTtRQUMzQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLElBQUksU0FBUyxFQUFFO1lBQzNCLE9BQU8sSUFBQSxlQUFPLEVBQUMsT0FBTyxDQUFDLENBQUE7U0FDMUI7UUFDRCxJQUFJLE9BQU8sQ0FBQyxJQUFJLElBQUksT0FBTyxFQUFFO1lBQ3pCLE9BQU8sSUFBQSxhQUFLLEVBQUMsT0FBTyxDQUFRLENBQUE7U0FDL0I7SUFDTCxDQUFDLENBQUMsQ0FBQTtBQUNOLENBQUMsQ0FBQTtBQVpZLFFBQUEsUUFBUSxZQVlwQiJ9
|
||||
2
packages/media/commands/watermark.d.ts
vendored
2
packages/media/commands/watermark.d.ts
vendored
@ -1,2 +0,0 @@
|
||||
export declare const defaultOptions: (yargs: CLI.Argv) => any;
|
||||
export declare const register: (cli: CLI.Argv) => any;
|
||||
@ -1,75 +0,0 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.register = exports.defaultOptions = void 0;
|
||||
const commons_1 = require("@polymech/commons");
|
||||
const index_1 = require("../index");
|
||||
const images_1 = require("../lib/media/images");
|
||||
const _cli_1 = require("../_cli");
|
||||
const defaultOptions = (yargs) => {
|
||||
return yargs.option('src', {
|
||||
describe: 'FILE|FOLDER|GLOB',
|
||||
demandOption: true
|
||||
}).option('dst', {
|
||||
describe: 'FILE|FOLDER|GLOB'
|
||||
}).option('debug', {
|
||||
default: false,
|
||||
describe: 'Enable internal debug messages',
|
||||
type: 'boolean'
|
||||
}).option('alt', {
|
||||
default: false,
|
||||
describe: 'Use alternate tokenizer, & instead of $',
|
||||
type: 'boolean'
|
||||
}).option('dry', {
|
||||
default: false,
|
||||
describe: 'Run without conversion',
|
||||
type: 'boolean'
|
||||
}).option('verbose', {
|
||||
default: false,
|
||||
describe: 'Show internal messages',
|
||||
type: 'boolean'
|
||||
}).option('percent', {
|
||||
default: false,
|
||||
describe: 'Resize image with percent',
|
||||
type: 'number'
|
||||
}).option('width', {
|
||||
default: false,
|
||||
describe: 'Resize image with',
|
||||
type: 'number'
|
||||
}).option('height', {
|
||||
default: false,
|
||||
describe: 'Resize image height',
|
||||
type: 'number'
|
||||
}).option('minHeight', {
|
||||
describe: 'Resize image minimum height',
|
||||
type: 'number'
|
||||
}).option('minWidth', {
|
||||
describe: 'Resize image minimum width',
|
||||
type: 'number'
|
||||
}).option('minSize', {
|
||||
describe: 'Resize image size (bytes)',
|
||||
type: 'number'
|
||||
}).option('percent', {
|
||||
describe: 'Resize image in percent (width)',
|
||||
type: 'number'
|
||||
}).option('key', {
|
||||
describe: 'API Key',
|
||||
type: 'string'
|
||||
});
|
||||
};
|
||||
exports.defaultOptions = defaultOptions;
|
||||
const options = (yargs) => (0, exports.defaultOptions)(yargs);
|
||||
const register = (cli) => {
|
||||
return cli.command('watermark', 'Remove watermark : FILE|GLOB', options, async (argv) => {
|
||||
(0, _cli_1.defaults)();
|
||||
const options = (0, _cli_1.sanitize)(argv);
|
||||
const config = (0, commons_1.CONFIG_DEFAULT)();
|
||||
if (!config.novita) {
|
||||
index_1.logger.error("Novita key not found");
|
||||
return;
|
||||
}
|
||||
options.debug && index_1.logger.info("Watermark Options " + argv.dst, options);
|
||||
return (0, images_1.watermark)({ ...options, key: config.novita.key });
|
||||
});
|
||||
};
|
||||
exports.register = register;
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0ZXJtYXJrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbW1hbmRzL3dhdGVybWFyay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrQ0FBa0Q7QUFFbEQsb0NBQWlDO0FBQ2pDLGdEQUU0QjtBQUU1QixrQ0FHZ0I7QUFNVCxNQUFNLGNBQWMsR0FBRyxDQUFDLEtBQWUsRUFBRSxFQUFFO0lBQ2hELE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUU7UUFDekIsUUFBUSxFQUFFLGtCQUFrQjtRQUM1QixZQUFZLEVBQUUsSUFBSTtLQUNuQixDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRTtRQUNmLFFBQVEsRUFBRSxrQkFBa0I7S0FDN0IsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUU7UUFDakIsT0FBTyxFQUFFLEtBQUs7UUFDZCxRQUFRLEVBQUUsZ0NBQWdDO1FBQzFDLElBQUksRUFBRSxTQUFTO0tBQ2hCLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO1FBQ2YsT0FBTyxFQUFFLEtBQUs7UUFDZCxRQUFRLEVBQUUseUNBQXlDO1FBQ25ELElBQUksRUFBRSxTQUFTO0tBQ2hCLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO1FBQ2YsT0FBTyxFQUFFLEtBQUs7UUFDZCxRQUFRLEVBQUUsd0JBQXdCO1FBQ2xDLElBQUksRUFBRSxTQUFTO0tBQ2hCLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFO1FBQ25CLE9BQU8sRUFBRSxLQUFLO1FBQ2QsUUFBUSxFQUFFLHdCQUF3QjtRQUNsQyxJQUFJLEVBQUUsU0FBUztLQUNoQixDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRTtRQUNuQixPQUFPLEVBQUUsS0FBSztRQUNkLFFBQVEsRUFBRSwyQkFBMkI7UUFDckMsSUFBSSxFQUFFLFFBQVE7S0FDZixDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRTtRQUNqQixPQUFPLEVBQUUsS0FBSztRQUNkLFFBQVEsRUFBRSxtQkFBbUI7UUFDN0IsSUFBSSxFQUFFLFFBQVE7S0FDZixDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRTtRQUNsQixPQUFPLEVBQUUsS0FBSztRQUNkLFFBQVEsRUFBRSxxQkFBcUI7UUFDL0IsSUFBSSxFQUFFLFFBQVE7S0FDZixDQUFDLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRTtRQUNyQixRQUFRLEVBQUUsNkJBQTZCO1FBQ3ZDLElBQUksRUFBRSxRQUFRO0tBQ2YsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUU7UUFDcEIsUUFBUSxFQUFFLDRCQUE0QjtRQUN0QyxJQUFJLEVBQUUsUUFBUTtLQUNmLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFO1FBQ25CLFFBQVEsRUFBRSwyQkFBMkI7UUFDckMsSUFBSSxFQUFFLFFBQVE7S0FDZixDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRTtRQUNuQixRQUFRLEVBQUUsaUNBQWlDO1FBQzNDLElBQUksRUFBRSxRQUFRO0tBQ2YsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUU7UUFDZixRQUFRLEVBQUUsU0FBUztRQUNuQixJQUFJLEVBQUUsUUFBUTtLQUNmLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FBQTtBQWxEWSxRQUFBLGNBQWMsa0JBa0QxQjtBQUVELE1BQU0sT0FBTyxHQUFHLENBQUMsS0FBZSxFQUFFLEVBQUUsQ0FBQyxJQUFBLHNCQUFjLEVBQUMsS0FBSyxDQUFDLENBQUE7QUFFbkQsTUFBTSxRQUFRLEdBQUcsQ0FBQyxHQUFhLEVBQUUsRUFBRTtJQUN4QyxPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLDhCQUE4QixFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBbUIsRUFBRSxFQUFFO1FBQ3JHLElBQUEsZUFBUSxHQUFFLENBQUE7UUFDVixNQUFNLE9BQU8sR0FBRyxJQUFBLGVBQVEsRUFBQyxJQUFJLENBQWEsQ0FBQTtRQUMxQyxNQUFNLE1BQU0sR0FBUSxJQUFBLHdCQUFjLEdBQUUsQ0FBQTtRQUNwQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRTtZQUNsQixjQUFNLENBQUMsS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUM7WUFDckMsT0FBTTtTQUNQO1FBQ0QsT0FBTyxDQUFDLEtBQUssSUFBSSxjQUFNLENBQUMsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUE7UUFDdEUsT0FBTyxJQUFBLGtCQUFTLEVBQUMsRUFBRSxHQUFHLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFBO0lBQzFELENBQUMsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUFBO0FBWlksUUFBQSxRQUFRLFlBWXBCIn0=
|
||||
4
packages/media/dist-in/commands/audio.d.ts
vendored
4
packages/media/dist-in/commands/audio.d.ts
vendored
@ -1,3 +1 @@
|
||||
import * as CLI from 'yargs';
|
||||
export declare const defaultOptions: (yargs: CLI.Argv) => any;
|
||||
export declare const register: (cli: CLI.Argv) => any;
|
||||
export declare const defaultOptions: (yargs: any) => any;
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
import { logger } from '../';
|
||||
import { convert } from '../lib/media/audio/convert';
|
||||
import { defaults, sanitizeVideo } from '../_cli';
|
||||
import { logger } from '../index.js';
|
||||
import { convert } from '../lib/media/audio/convert.js';
|
||||
import { cli } from '../main.js';
|
||||
import { defaults, sanitizeVideo } from '../_cli.js';
|
||||
export const defaultOptions = (yargs) => {
|
||||
return yargs.option('src', {
|
||||
describe: 'FILE|FOLDER|GLOB',
|
||||
@ -17,15 +18,12 @@ export const defaultOptions = (yargs) => {
|
||||
type: 'boolean'
|
||||
});
|
||||
};
|
||||
let options = (yargs) => defaultOptions(yargs);
|
||||
export const register = (cli) => {
|
||||
return cli.command('video <verb>', 'Convert video', options, (argv) => {
|
||||
defaults();
|
||||
const options = sanitizeVideo(argv);
|
||||
logger.info("options " + argv.dst, options);
|
||||
if (argv.verb = 'convert') {
|
||||
return convert(options);
|
||||
}
|
||||
});
|
||||
};
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaW8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbWFuZHMvYXVkaW8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLEtBQUssQ0FBQTtBQUM1QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sNEJBQTRCLENBQUE7QUFFcEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsTUFBTSxTQUFTLENBQUE7QUFHakQsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQUMsS0FBZSxFQUFFLEVBQUU7SUFDOUMsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRTtRQUN2QixRQUFRLEVBQUUsa0JBQWtCO1FBQzVCLFlBQVksRUFBRSxJQUFJO0tBQ3JCLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO1FBQ2IsUUFBUSxFQUFFLGtCQUFrQjtLQUMvQixDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRTtRQUNmLE9BQU8sRUFBRSxLQUFLO1FBQ2QsUUFBUSxFQUFFLGdDQUFnQztRQUMxQyxJQUFJLEVBQUUsU0FBUztLQUNsQixDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRTtRQUNiLE9BQU8sRUFBRSxLQUFLO1FBQ2QsUUFBUSxFQUFFLHlDQUF5QztRQUNuRCxJQUFJLEVBQUUsU0FBUztLQUNsQixDQUFDLENBQUE7QUFDTixDQUFDLENBQUE7QUFFRCxJQUFJLE9BQU8sR0FBRyxDQUFDLEtBQWUsRUFBRSxFQUFFLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFBO0FBRXhELE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQWEsRUFBRSxFQUFFO0lBQ3RDLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxDQUFDLElBQW1CLEVBQUUsRUFBRTtRQUNqRixRQUFRLEVBQUUsQ0FBQTtRQUNWLE1BQU0sT0FBTyxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQXlCLENBQUE7UUFDM0QsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQTtRQUMzQyxJQUFJLElBQUksQ0FBQyxJQUFJLEdBQUcsU0FBUyxFQUFFLENBQUM7WUFDeEIsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDM0IsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFBO0FBQ04sQ0FBQyxDQUFBIn0=
|
||||
cli.command('video <verb>', 'Convert video', defaultOptions, async (argv) => {
|
||||
defaults();
|
||||
const options = sanitizeVideo(argv);
|
||||
logger.info("options " + argv.dst, options);
|
||||
if (options.verb == 'convert') {
|
||||
return convert(options);
|
||||
}
|
||||
});
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaW8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbWFuZHMvYXVkaW8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUNwQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sK0JBQStCLENBQUE7QUFDdkQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUNoQyxPQUFPLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUdwRCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxLQUFLLEVBQUUsRUFBRTtJQUNwQyxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO1FBQ3ZCLFFBQVEsRUFBRSxrQkFBa0I7UUFDNUIsWUFBWSxFQUFFLElBQUk7S0FDckIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUU7UUFDYixRQUFRLEVBQUUsa0JBQWtCO0tBQy9CLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFO1FBQ2YsT0FBTyxFQUFFLEtBQUs7UUFDZCxRQUFRLEVBQUUsZ0NBQWdDO1FBQzFDLElBQUksRUFBRSxTQUFTO0tBQ2xCLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO1FBQ2IsT0FBTyxFQUFFLEtBQUs7UUFDZCxRQUFRLEVBQUUseUNBQXlDO1FBQ25ELElBQUksRUFBRSxTQUFTO0tBQ2xCLENBQUMsQ0FBQTtBQUNOLENBQUMsQ0FBQTtBQUVELEdBQUcsQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxFQUFFO0lBQ3hFLFFBQVEsRUFBRSxDQUFBO0lBQ1YsTUFBTSxPQUFPLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBeUIsQ0FBQTtJQUMzRCxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFBO0lBQzNDLElBQUksT0FBTyxDQUFDLElBQUksSUFBSSxTQUFTLEVBQUUsQ0FBQztRQUM1QixPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUMzQixDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUEifQ==
|
||||
@ -1,6 +1,6 @@
|
||||
import * as CLI from 'yargs';
|
||||
export declare const defaultOptions: (yargs: CLI.Argv) => any;
|
||||
export declare const defaultOptions: (yargs: CLI.Argv) => CLI.Argv;
|
||||
export declare const command = "background:remove:bria";
|
||||
export declare const desc = "Remove background from images using Bria AI";
|
||||
export declare const builder: (yargs: CLI.Argv) => any;
|
||||
export declare const builder: (yargs: CLI.Argv) => CLI.Argv;
|
||||
export declare function handler(argv: CLI.Arguments): Promise<void>;
|
||||
|
||||
@ -2,56 +2,18 @@ import { CONFIG_DEFAULT } from '@polymech/commons';
|
||||
import { logger } from '../index.js';
|
||||
import { cli } from '../cli.js';
|
||||
import { sanitize, defaults } from '../_cli.js';
|
||||
import { briaBackgroundRemove } from '../lib/media/images/background-remove-bria.js';
|
||||
import { toYargs } from '@polymech/commons';
|
||||
import { briaBackgroundRemove, BriaBackgroundRemoveOptionsSchema } from '../lib/media/images/background-remove-bria.js';
|
||||
export const defaultOptions = (yargs) => {
|
||||
return yargs.option('src', {
|
||||
describe: 'FILE|FOLDER|GLOB',
|
||||
demandOption: true
|
||||
}).option('dst', {
|
||||
describe: 'FILE|FOLDER|GLOB'
|
||||
}).option('debug', {
|
||||
default: false,
|
||||
describe: 'Enable internal debug messages',
|
||||
type: 'boolean'
|
||||
}).option('alt', {
|
||||
default: false,
|
||||
describe: 'Use alternate tokenizer, & instead of $',
|
||||
type: 'boolean'
|
||||
}).option('dry', {
|
||||
default: false,
|
||||
describe: 'Run without conversion',
|
||||
type: 'boolean'
|
||||
}).option('verbose', {
|
||||
default: false,
|
||||
describe: 'Show internal messages',
|
||||
type: 'boolean'
|
||||
}).option('logLevel', {
|
||||
describe: 'Log level : warn, info, debug, error',
|
||||
type: 'string',
|
||||
default: 'info'
|
||||
}).option('cache', {
|
||||
default: true,
|
||||
describe: 'Skip processing if target file already exists',
|
||||
type: 'boolean'
|
||||
}).option('apiKey', {
|
||||
describe: 'Bria API key (or set in config.bria.key)',
|
||||
type: 'string'
|
||||
}).option('sync', {
|
||||
describe: 'Use synchronous processing (recommended)',
|
||||
type: 'boolean',
|
||||
default: true
|
||||
}).option('contentModeration', {
|
||||
describe: 'Enable content moderation',
|
||||
type: 'boolean',
|
||||
default: false
|
||||
}).option('preserveAlpha', {
|
||||
describe: 'Preserve alpha channel from input image',
|
||||
type: 'boolean',
|
||||
default: true
|
||||
}).option('jpg', {
|
||||
describe: 'Convert PNG output to JPG format and delete PNG',
|
||||
type: 'boolean',
|
||||
default: false
|
||||
return toYargs(yargs, BriaBackgroundRemoveOptionsSchema(), {
|
||||
onKey: ((yargs, key, options) => {
|
||||
switch (key) {
|
||||
case 'src':
|
||||
return yargs.positional(key, { ...options, demandOption: true });
|
||||
default:
|
||||
return yargs.option(key, options);
|
||||
}
|
||||
})
|
||||
});
|
||||
};
|
||||
export const command = 'background:remove:bria';
|
||||
@ -59,7 +21,7 @@ export const desc = 'Remove background from images using Bria AI';
|
||||
export const builder = defaultOptions;
|
||||
export async function handler(argv) {
|
||||
defaults();
|
||||
const options = sanitize(argv);
|
||||
const options = BriaBackgroundRemoveOptionsSchema().parse(argv);
|
||||
logger.settings.minLevel = options.logLevel;
|
||||
const config = CONFIG_DEFAULT();
|
||||
// Get API key from argument, environment variable, or config
|
||||
@ -69,18 +31,15 @@ export async function handler(argv) {
|
||||
logger.info('Get your API key at: https://docs.bria.ai/');
|
||||
process.exit(1);
|
||||
}
|
||||
// Map CLI arguments to library options (using same names)
|
||||
options.sync = argv.sync;
|
||||
options.contentModeration = argv.contentModeration;
|
||||
options.preserveAlpha = argv.preserveAlpha;
|
||||
options.jpg = argv.jpg;
|
||||
// The schema already parsed all the options correctly
|
||||
const sanitizedOptions = sanitize(options);
|
||||
logger.info("Removing background with Bria AI options:", {
|
||||
sync: options.sync,
|
||||
contentModeration: options.contentModeration,
|
||||
preserveAlpha: options.preserveAlpha,
|
||||
files: options.srcInfo?.FILES?.length || 0
|
||||
sync: sanitizedOptions.sync,
|
||||
contentModeration: sanitizedOptions.contentModeration,
|
||||
preserveAlpha: sanitizedOptions.preserveAlpha,
|
||||
files: sanitizedOptions.srcInfo?.FILES?.length || 0
|
||||
});
|
||||
await briaBackgroundRemove(options);
|
||||
await briaBackgroundRemove(sanitizedOptions);
|
||||
}
|
||||
cli.command(command, desc, builder, handler);
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja2dyb3VuZC1yZW1vdmUtYnJpYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tYW5kcy9iYWNrZ3JvdW5kLXJlbW92ZS1icmlhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUNsRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQ3BDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFDL0IsT0FBTyxFQUNILFFBQVEsRUFDUixRQUFRLEVBQ1gsTUFBTSxZQUFZLENBQUE7QUFFbkIsT0FBTyxFQUNILG9CQUFvQixFQUV2QixNQUFNLCtDQUErQyxDQUFBO0FBRXRELE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLEtBQWUsRUFBRSxFQUFFO0lBQzlDLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUU7UUFDdkIsUUFBUSxFQUFFLGtCQUFrQjtRQUM1QixZQUFZLEVBQUUsSUFBSTtLQUNyQixDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRTtRQUNiLFFBQVEsRUFBRSxrQkFBa0I7S0FDL0IsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUU7UUFDZixPQUFPLEVBQUUsS0FBSztRQUNkLFFBQVEsRUFBRSxnQ0FBZ0M7UUFDMUMsSUFBSSxFQUFFLFNBQVM7S0FDbEIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUU7UUFDYixPQUFPLEVBQUUsS0FBSztRQUNkLFFBQVEsRUFBRSx5Q0FBeUM7UUFDbkQsSUFBSSxFQUFFLFNBQVM7S0FDbEIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUU7UUFDYixPQUFPLEVBQUUsS0FBSztRQUNkLFFBQVEsRUFBRSx3QkFBd0I7UUFDbEMsSUFBSSxFQUFFLFNBQVM7S0FDbEIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUU7UUFDakIs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
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja2dyb3VuZC1yZW1vdmUtYnJpYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tYW5kcy9iYWNrZ3JvdW5kLXJlbW92ZS1icmlhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUNsRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQ3BDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFDL0IsT0FBTyxFQUNILFFBQVEsRUFDUixRQUFRLEVBQ1gsTUFBTSxZQUFZLENBQUE7QUFDbkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBRTNDLE9BQU8sRUFDSCxvQkFBb0IsRUFFcEIsaUNBQWlDLEVBQ3BDLE1BQU0sK0NBQStDLENBQUE7QUFFdEQsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQUMsS0FBZSxFQUFFLEVBQUU7SUFDOUMsT0FBTyxPQUFPLENBQUMsS0FBSyxFQUFFLGlDQUFpQyxFQUFFLEVBQUU7UUFDdkQsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxFQUFFO1lBQzVCLFFBQVEsR0FBRyxFQUFFLENBQUM7Z0JBQ1YsS0FBSyxLQUFLO29CQUNOLE9BQU8sS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsRUFBQyxHQUFHLE9BQU8sRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQTtnQkFDbEU7b0JBQ0ksT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQTtZQUN6QyxDQUFDO1FBQ0wsQ0FBQyxDQUFDO0tBQ0wsQ0FBQyxDQUFBO0FBQ04sQ0FBQyxDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLHdCQUF3QixDQUFDO0FBQ2hELE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyw2Q0FBNkMsQ0FBQztBQUNsRSxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsY0FBYyxDQUFDO0FBRXRDLE1BQU0sQ0FBQyxLQUFLLFVBQVUsT0FBTyxDQUFDLElBQW1CO0lBQzdDLFFBQVEsRUFBRSxDQUFBO0lBQ1YsTUFBTSxPQUFPLEdBQUcsaUNBQWlDLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFnQyxDQUFBO0lBQzlGLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFlLENBQUE7SUFDbEQsTUFBTSxNQUFNLEdBQVEsY0FBYyxFQUFFLENBQUE7SUFFcEMsNkRBQTZEO0lBQzdELE9BQU8sQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsSUFBSSxNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztJQUVuRixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2xCLE1BQU0sQ0FBQyxLQUFLLENBQUMsc0lBQXNJLENBQUMsQ0FBQztRQUNySixNQUFNLENBQUMsSUFBSSxDQUFDLDRDQUE0QyxDQUFDLENBQUM7UUFDMUQsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBRUQsc0RBQXNEO0lBQ3RELE1BQU0sZ0JBQWdCLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBZ0MsQ0FBQTtJQUV6RSxNQUFNLENBQUMsSUFBSSxDQUFDLDJDQUEyQyxFQUFFO1FBQ3JELElBQUksRUFBRSxnQkFBZ0IsQ0FBQyxJQUFJO1FBQzNCLGlCQUFpQixFQUFFLGdCQUFnQixDQUFDLGlCQUFpQjtRQUNyRCxhQUFhLEVBQUUsZ0JBQWdCLENBQUMsYUFBYTtRQUM3QyxLQUFLLEVBQUUsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQztLQUN0RCxDQUFDLENBQUM7SUFFSCxNQUFNLG9CQUFvQixDQUFDLGdCQUFnQixDQUFDLENBQUM7QUFDakQsQ0FBQztBQUVELEdBQUcsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUEifQ==
|
||||
@ -1,6 +1,6 @@
|
||||
import * as CLI from 'yargs';
|
||||
export declare const defaultOptions: (yargs: CLI.Argv) => any;
|
||||
export declare const defaultOptions: (yargs: CLI.Argv) => CLI.Argv;
|
||||
export declare const command = "background:remove";
|
||||
export declare const desc = "Remove background from images using AI";
|
||||
export declare const builder: (yargs: CLI.Argv) => any;
|
||||
export declare const builder: (yargs: CLI.Argv) => CLI.Argv;
|
||||
export declare function handler(argv: CLI.Arguments): Promise<void>;
|
||||
|
||||
@ -2,56 +2,18 @@ import { CONFIG_DEFAULT } from '@polymech/commons';
|
||||
import { logger } from '../index.js';
|
||||
import { cli } from '../cli.js';
|
||||
import { sanitize, defaults } from '../_cli.js';
|
||||
import { backgroundRemove } from '../lib/media/images/background-remove.js';
|
||||
import { toYargs } from '@polymech/commons';
|
||||
import { backgroundRemove, BackgroundRemoveOptionsSchema } from '../lib/media/images/background-remove.js';
|
||||
export const defaultOptions = (yargs) => {
|
||||
return yargs.option('src', {
|
||||
describe: 'FILE|FOLDER|GLOB',
|
||||
demandOption: true
|
||||
}).option('dst', {
|
||||
describe: 'FILE|FOLDER|GLOB'
|
||||
}).option('debug', {
|
||||
default: false,
|
||||
describe: 'Enable internal debug messages',
|
||||
type: 'boolean'
|
||||
}).option('alt', {
|
||||
default: false,
|
||||
describe: 'Use alternate tokenizer, & instead of $',
|
||||
type: 'boolean'
|
||||
}).option('dry', {
|
||||
default: false,
|
||||
describe: 'Run without conversion',
|
||||
type: 'boolean'
|
||||
}).option('verbose', {
|
||||
default: false,
|
||||
describe: 'Show internal messages',
|
||||
type: 'boolean'
|
||||
}).option('logLevel', {
|
||||
describe: 'Log level : warn, info, debug, error',
|
||||
type: 'string',
|
||||
default: 'info'
|
||||
}).option('apiKey', {
|
||||
describe: 'Replicate API key (or set REPLICATE_API_TOKEN env var)',
|
||||
type: 'string'
|
||||
}).option('model', {
|
||||
describe: 'Background removal model to use',
|
||||
default: 'lucataco/remove-bg:95fcc2a26d3899cd6c2691c900465aaeff466285a65c14638cc5f36f34befaf1',
|
||||
type: 'string'
|
||||
}).option('alpha_matting', {
|
||||
describe: 'Enable alpha matting for better edge refinement',
|
||||
type: 'boolean',
|
||||
default: false
|
||||
}).option('alpha_matting_foreground_threshold', {
|
||||
describe: 'Alpha matting foreground threshold',
|
||||
type: 'number',
|
||||
default: 270
|
||||
}).option('alpha_matting_background_threshold', {
|
||||
describe: 'Alpha matting background threshold',
|
||||
type: 'number',
|
||||
default: 10
|
||||
}).option('alpha_matting_erode_size', {
|
||||
describe: 'Alpha matting erode size',
|
||||
type: 'number',
|
||||
default: 10
|
||||
return toYargs(yargs, BackgroundRemoveOptionsSchema(), {
|
||||
onKey: ((yargs, key, options) => {
|
||||
switch (key) {
|
||||
case 'src':
|
||||
return yargs.positional(key, { ...options, demandOption: true });
|
||||
default:
|
||||
return yargs.option(key, options);
|
||||
}
|
||||
})
|
||||
});
|
||||
};
|
||||
export const command = 'background:remove';
|
||||
@ -59,7 +21,7 @@ export const desc = 'Remove background from images using AI';
|
||||
export const builder = defaultOptions;
|
||||
export async function handler(argv) {
|
||||
defaults();
|
||||
const options = sanitize(argv);
|
||||
const options = BackgroundRemoveOptionsSchema().parse(argv);
|
||||
logger.settings.minLevel = options.logLevel;
|
||||
const config = CONFIG_DEFAULT();
|
||||
// Get API key from argument or environment variable
|
||||
@ -69,18 +31,14 @@ export async function handler(argv) {
|
||||
logger.info('Get your API key at: https://replicate.com/account/api-tokens');
|
||||
process.exit(1);
|
||||
}
|
||||
// Map CLI arguments to library options (using same names)
|
||||
options.model = argv.model;
|
||||
options.alpha_matting = argv.alpha_matting;
|
||||
options.alpha_matting_foreground_threshold = argv.alpha_matting_foreground_threshold;
|
||||
options.alpha_matting_background_threshold = argv.alpha_matting_background_threshold;
|
||||
options.alpha_matting_erode_size = argv.alpha_matting_erode_size;
|
||||
// The schema already parsed all the options correctly
|
||||
const sanitizedOptions = sanitize(options);
|
||||
logger.info("Removing background with options:", {
|
||||
model: options.model,
|
||||
alpha_matting: options.alpha_matting,
|
||||
files: options.srcInfo?.FILES?.length || 0
|
||||
model: sanitizedOptions.model,
|
||||
alpha_matting: sanitizedOptions.alpha_matting,
|
||||
files: sanitizedOptions.srcInfo?.FILES?.length || 0
|
||||
});
|
||||
await backgroundRemove(options);
|
||||
await backgroundRemove(sanitizedOptions);
|
||||
}
|
||||
cli.command(command, desc, builder, handler);
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja2dyb3VuZC1yZW1vdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbWFuZHMvYmFja2dyb3VuZC1yZW1vdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQ2xELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDcEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUMvQixPQUFPLEVBQ0gsUUFBUSxFQUNSLFFBQVEsRUFDWCxNQUFNLFlBQVksQ0FBQTtBQUluQixPQUFPLEVBQ0gsZ0JBQWdCLEVBRW5CLE1BQU0sMENBQTBDLENBQUE7QUFFakQsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQUMsS0FBZSxFQUFFLEVBQUU7SUFDOUMsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRTtRQUN2QixRQUFRLEVBQUUsa0JBQWtCO1FBQzVCLFlBQVksRUFBRSxJQUFJO0tBQ3JCLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO1FBQ2IsUUFBUSxFQUFFLGtCQUFrQjtLQUMvQixDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRTtRQUNmLE9BQU8sRUFBRSxLQUFLO1FBQ2QsUUFBUSxFQUFFLGdDQUFnQztRQUMxQyxJQUFJLEVBQUUsU0FBUztLQUNsQixDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRTtRQUNiLE9BQU8sRUFBRSxLQUFLO1FBQ2QsUUFBUSxFQUFFLHlDQUF5QztRQUNuRCxJQUFJLEVBQUUsU0FBUztLQUNsQixDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRTtRQUNiLE9BQU8sRUFBRSxLQUFLO1FBQ2QsUUFBUSxFQUFFLHdCQUF3QjtRQUNsQyxJQUFJLEVBQUUsU0FBUztLQUNsQixDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRTtRQUNqQixPQUFPLEVBQUUs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
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja2dyb3VuZC1yZW1vdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbWFuZHMvYmFja2dyb3VuZC1yZW1vdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQ2xELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDcEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUMvQixPQUFPLEVBQ0gsUUFBUSxFQUNSLFFBQVEsRUFDWCxNQUFNLFlBQVksQ0FBQTtBQUNuQixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDM0MsT0FBTyxFQUNILGdCQUFnQixFQUVoQiw2QkFBNkIsRUFDaEMsTUFBTSwwQ0FBMEMsQ0FBQTtBQUVqRCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxLQUFlLEVBQUUsRUFBRTtJQUM5QyxPQUFPLE9BQU8sQ0FBQyxLQUFLLEVBQUUsNkJBQTZCLEVBQUUsRUFBRTtRQUNuRCxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLEVBQUU7WUFDNUIsUUFBUSxHQUFHLEVBQUUsQ0FBQztnQkFDVixLQUFLLEtBQUs7b0JBQ04sT0FBTyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxFQUFDLEdBQUcsT0FBTyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFBO2dCQUNsRTtvQkFDSSxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFBO1lBQ3pDLENBQUM7UUFDTCxDQUFDLENBQUM7S0FDTCxDQUFDLENBQUE7QUFDTixDQUFDLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsbUJBQW1CLENBQUM7QUFDM0MsTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUFHLHdDQUF3QyxDQUFDO0FBQzdELE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxjQUFjLENBQUM7QUFFdEMsTUFBTSxDQUFDLEtBQUssVUFBVSxPQUFPLENBQUMsSUFBbUI7SUFDN0MsUUFBUSxFQUFFLENBQUE7SUFDVixNQUFNLE9BQU8sR0FBRyw2QkFBNkIsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQTRCLENBQUE7SUFDdEYsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQWUsQ0FBQTtJQUNsRCxNQUFNLE1BQU0sR0FBUSxjQUFjLEVBQUUsQ0FBQTtJQUVwQyxvREFBb0Q7SUFDcEQsT0FBTyxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQW1CLElBQUksTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLENBQUM7SUFFN0YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNsQixNQUFNLENBQUMsS0FBSyxDQUFDLGlIQUFpSCxDQUFDLENBQUM7UUFDaEksTUFBTSxDQUFDLElBQUksQ0FBQywrREFBK0QsQ0FBQyxDQUFDO1FBQzdFLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEIsQ0FBQztJQUVELHNEQUFzRDtJQUN0RCxNQUFNLGdCQUFnQixHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQTRCLENBQUE7SUFFckUsTUFBTSxDQUFDLElBQUksQ0FBQyxtQ0FBbUMsRUFBRTtRQUM3QyxLQUFLLEVBQUUsZ0JBQWdCLENBQUMsS0FBSztRQUM3QixhQUFhLEVBQUUsZ0JBQWdCLENBQUMsYUFBYTtRQUM3QyxLQUFLLEVBQUUsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQztLQUN0RCxDQUFDLENBQUM7SUFFSCxNQUFNLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDLENBQUM7QUFDN0MsQ0FBQztBQUVELEdBQUcsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUEifQ==
|
||||
@ -1,6 +1,6 @@
|
||||
import { logger } from '../';
|
||||
import { convert } from '../lib/media/images';
|
||||
import { defaults, sanitizeVideo } from '../_cli';
|
||||
import { logger } from '../index.js';
|
||||
import { convert } from '../lib/media/images/index.js';
|
||||
import { defaults, sanitizeVideo } from '../_cli.js';
|
||||
export const defaultOptions = (yargs) => {
|
||||
return yargs.option('src', {
|
||||
describe: 'FILE|FOLDER|GLOB',
|
||||
@ -34,4 +34,4 @@ export const register = (cli) => {
|
||||
return convert(options);
|
||||
});
|
||||
};
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tYW5kcy9jb252ZXJ0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxLQUFLLENBQUE7QUFFNUIsT0FBTyxFQUNILE9BQU8sRUFDVixNQUFNLHFCQUFxQixDQUFBO0FBRTVCLE9BQU8sRUFFSCxRQUFRLEVBQ1IsYUFBYSxFQUNoQixNQUFNLFNBQVMsQ0FBQTtBQU9oQixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxLQUFlLEVBQUUsRUFBRTtJQUM5QyxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO1FBQ3ZCLFFBQVEsRUFBRSxrQkFBa0I7UUFDNUIsWUFBWSxFQUFFLElBQUk7S0FDckIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUU7UUFDYixRQUFRLEVBQUUsa0JBQWtCO0tBQy9CLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFO1FBQ2YsT0FBTyxFQUFFLEtBQUs7UUFDZCxRQUFRLEVBQUUsZ0NBQWdDO1FBQzFDLElBQUksRUFBRSxTQUFTO0tBQ2xCLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO1FBQ2IsT0FBTyxFQUFFLEtBQUs7UUFDZCxRQUFRLEVBQUUseUNBQXlDO1FBQ25ELElBQUksRUFBRSxTQUFTO0tBQ2xCLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO1FBQ2IsT0FBTyxFQUFFLEtBQUs7UUFDZCxRQUFRLEVBQUUsd0JBQXdCO1FBQ2xDLElBQUksRUFBRSxTQUFTO0tBQ2xCLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFO1FBQ2pCLE9BQU8sRUFBRSxLQUFLO1FBQ2QsUUFBUSxFQUFFLHdCQUF3QjtRQUNsQyxJQUFJLEVBQUUsU0FBUztLQUNsQixDQUFDLENBQUE7QUFDTixDQUFDLENBQUE7QUFFRCxJQUFJLE9BQU8sR0FBRyxDQUFDLEtBQWUsRUFBRSxFQUFFLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFBO0FBRXhELE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQWEsRUFBRSxFQUFFO0lBQ3RDLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxDQUFDLElBQW1CLEVBQUUsRUFBRTtRQUM1RSxRQUFRLEVBQUUsQ0FBQTtRQUNWLE1BQU0sT0FBTyxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQWEsQ0FBQTtRQUMvQyxPQUFPLENBQUMsS0FBSyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUE7UUFDNUQsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDM0IsQ0FBQyxDQUFDLENBQUE7QUFDTixDQUFDLENBQUEifQ==
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tYW5kcy9jb252ZXJ0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFFcEMsT0FBTyxFQUNILE9BQU8sRUFDVixNQUFNLDhCQUE4QixDQUFBO0FBRXJDLE9BQU8sRUFFSCxRQUFRLEVBQ1IsYUFBYSxFQUNoQixNQUFNLFlBQVksQ0FBQTtBQU9uQixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxLQUFlLEVBQUUsRUFBRTtJQUM5QyxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO1FBQ3ZCLFFBQVEsRUFBRSxrQkFBa0I7UUFDNUIsWUFBWSxFQUFFLElBQUk7S0FDckIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUU7UUFDYixRQUFRLEVBQUUsa0JBQWtCO0tBQy9CLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFO1FBQ2YsT0FBTyxFQUFFLEtBQUs7UUFDZCxRQUFRLEVBQUUsZ0NBQWdDO1FBQzFDLElBQUksRUFBRSxTQUFTO0tBQ2xCLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO1FBQ2IsT0FBTyxFQUFFLEtBQUs7UUFDZCxRQUFRLEVBQUUseUNBQXlDO1FBQ25ELElBQUksRUFBRSxTQUFTO0tBQ2xCLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO1FBQ2IsT0FBTyxFQUFFLEtBQUs7UUFDZCxRQUFRLEVBQUUsd0JBQXdCO1FBQ2xDLElBQUksRUFBRSxTQUFTO0tBQ2xCLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFO1FBQ2pCLE9BQU8sRUFBRSxLQUFLO1FBQ2QsUUFBUSxFQUFFLHdCQUF3QjtRQUNsQyxJQUFJLEVBQUUsU0FBUztLQUNsQixDQUFDLENBQUE7QUFDTixDQUFDLENBQUE7QUFFRCxJQUFJLE9BQU8sR0FBRyxDQUFDLEtBQWUsRUFBRSxFQUFFLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFBO0FBRXhELE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQWEsRUFBRSxFQUFFO0lBQ3RDLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxDQUFDLElBQW1CLEVBQUUsRUFBRTtRQUM1RSxRQUFRLEVBQUUsQ0FBQTtRQUNWLE1BQU0sT0FBTyxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQWEsQ0FBQTtRQUMvQyxPQUFPLENBQUMsS0FBSyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUE7UUFDNUQsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDM0IsQ0FBQyxDQUFDLENBQUE7QUFDTixDQUFDLENBQUEifQ==
|
||||
@ -1,6 +1,6 @@
|
||||
import * as CLI from 'yargs';
|
||||
export declare const defaultOptions: (yargs: CLI.Argv) => any;
|
||||
export declare const defaultOptions: (yargs: CLI.Argv) => CLI.Argv;
|
||||
export declare const command = "image-crop:foreground";
|
||||
export declare const desc = "Crop foreground from images using Bria AI";
|
||||
export declare const builder: (yargs: CLI.Argv) => any;
|
||||
export declare const builder: (yargs: CLI.Argv) => CLI.Argv;
|
||||
export declare function handler(argv: CLI.Arguments): Promise<void>;
|
||||
|
||||
@ -2,48 +2,18 @@ import { CONFIG_DEFAULT } from '@polymech/commons';
|
||||
import { logger } from '../index.js';
|
||||
import { cli } from '../cli.js';
|
||||
import { sanitize, defaults } from '../_cli.js';
|
||||
import { cropForeground } from '../lib/media/images/crop-foreground.js';
|
||||
import { toYargs } from '@polymech/commons';
|
||||
import { cropForeground, CropForegroundOptionsSchema } from '../lib/media/images/crop-foreground.js';
|
||||
export const defaultOptions = (yargs) => {
|
||||
return yargs.option('src', {
|
||||
describe: 'FILE|FOLDER|GLOB',
|
||||
demandOption: true
|
||||
}).option('dst', {
|
||||
describe: 'FILE|FOLDER|GLOB'
|
||||
}).option('debug', {
|
||||
default: false,
|
||||
describe: 'Enable internal debug messages',
|
||||
type: 'boolean'
|
||||
}).option('alt', {
|
||||
default: false,
|
||||
describe: 'Use alternate tokenizer, & instead of $',
|
||||
type: 'boolean'
|
||||
}).option('dry', {
|
||||
default: false,
|
||||
describe: 'Run without conversion',
|
||||
type: 'boolean'
|
||||
}).option('verbose', {
|
||||
default: false,
|
||||
describe: 'Show internal messages',
|
||||
type: 'boolean'
|
||||
}).option('logLevel', {
|
||||
describe: 'Log level : warn, info, debug, error',
|
||||
type: 'string',
|
||||
default: 'info'
|
||||
}).option('apiKey', {
|
||||
describe: 'Bria API key (or set in config.bria.key)',
|
||||
type: 'string'
|
||||
}).option('sync', {
|
||||
describe: 'Use synchronous processing (recommended)',
|
||||
type: 'boolean',
|
||||
default: true
|
||||
}).option('contentModeration', {
|
||||
describe: 'Enable content moderation',
|
||||
type: 'boolean',
|
||||
default: false
|
||||
}).option('preserveAlpha', {
|
||||
describe: 'Preserve alpha channel from input image',
|
||||
type: 'boolean',
|
||||
default: true
|
||||
return toYargs(yargs, CropForegroundOptionsSchema(), {
|
||||
onKey: ((yargs, key, options) => {
|
||||
switch (key) {
|
||||
case 'src':
|
||||
return yargs.positional(key, { ...options, demandOption: true });
|
||||
default:
|
||||
return yargs.option(key, options);
|
||||
}
|
||||
})
|
||||
});
|
||||
};
|
||||
export const command = 'image-crop:foreground';
|
||||
@ -51,7 +21,7 @@ export const desc = 'Crop foreground from images using Bria AI';
|
||||
export const builder = defaultOptions;
|
||||
export async function handler(argv) {
|
||||
defaults();
|
||||
const options = sanitize(argv);
|
||||
const options = CropForegroundOptionsSchema().parse(argv);
|
||||
logger.settings.minLevel = options.logLevel;
|
||||
const config = CONFIG_DEFAULT();
|
||||
// Get API key from argument, environment variable, or config
|
||||
@ -61,17 +31,15 @@ export async function handler(argv) {
|
||||
logger.info('Get your API key at: https://bria.ai/');
|
||||
process.exit(1);
|
||||
}
|
||||
// Map CLI arguments to library options
|
||||
options.sync = argv.sync;
|
||||
options.contentModeration = argv.contentModeration;
|
||||
options.preserveAlpha = argv.preserveAlpha;
|
||||
// The schema already parsed all the options correctly
|
||||
const sanitizedOptions = sanitize(options);
|
||||
logger.info("Cropping foreground with Bria AI options:", {
|
||||
sync: options.sync,
|
||||
contentModeration: options.contentModeration,
|
||||
preserveAlpha: options.preserveAlpha,
|
||||
files: options.srcInfo?.FILES?.length || 0
|
||||
sync: sanitizedOptions.sync,
|
||||
contentModeration: sanitizedOptions.contentModeration,
|
||||
preserveAlpha: sanitizedOptions.preserveAlpha,
|
||||
files: sanitizedOptions.srcInfo?.FILES?.length || 0
|
||||
});
|
||||
await cropForeground(options);
|
||||
await cropForeground(sanitizedOptions);
|
||||
}
|
||||
cli.command(command, desc, builder, handler);
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JvcC1mb3JlZ3JvdW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1hbmRzL2Nyb3AtZm9yZWdyb3VuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDbEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUNwQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBQy9CLE9BQU8sRUFDSCxRQUFRLEVBQ1IsUUFBUSxFQUNYLE1BQU0sWUFBWSxDQUFBO0FBRW5CLE9BQU8sRUFDSCxjQUFjLEVBRWpCLE1BQU0sd0NBQXdDLENBQUE7QUFFL0MsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQUMsS0FBZSxFQUFFLEVBQUU7SUFDOUMsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRTtRQUN2QixRQUFRLEVBQUUsa0JBQWtCO1FBQzVCLFlBQVksRUFBRSxJQUFJO0tBQ3JCLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO1FBQ2IsUUFBUSxFQUFFLGtCQUFrQjtLQUMvQixDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRTtRQUNmLE9BQU8sRUFBRSxLQUFLO1FBQ2QsUUFBUSxFQUFFLGdDQUFnQztRQUMxQyxJQUFJLEVBQUUsU0FBUztLQUNsQixDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRTtRQUNiLE9BQU8sRUFBRSxLQUFLO1FBQ2QsUUFBUSxFQUFFLHlDQUF5QztRQUNuRCxJQUFJLEVBQUUsU0FBUztLQUNsQixDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRTtRQUNiLE9BQU8sRUFBRSxLQUFLO1FBQ2QsUUFBUSxFQUFFLHdCQUF3QjtRQUNsQyxJQUFJLEVBQUUsU0FBUztLQUNsQixDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRTtRQUNqQixPQUFPLEVBQUUsS0FBSztR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
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JvcC1mb3JlZ3JvdW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1hbmRzL2Nyb3AtZm9yZWdyb3VuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDbEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUNwQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBQy9CLE9BQU8sRUFDSCxRQUFRLEVBQ1IsUUFBUSxFQUNYLE1BQU0sWUFBWSxDQUFBO0FBQ25CLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUUzQyxPQUFPLEVBQ0gsY0FBYyxFQUVkLDJCQUEyQixFQUM5QixNQUFNLHdDQUF3QyxDQUFBO0FBRS9DLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLEtBQWUsRUFBRSxFQUFFO0lBQzlDLE9BQU8sT0FBTyxDQUFDLEtBQUssRUFBRSwyQkFBMkIsRUFBRSxFQUFFO1FBQ2pELEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsRUFBRTtZQUM1QixRQUFRLEdBQUcsRUFBRSxDQUFDO2dCQUNWLEtBQUssS0FBSztvQkFDTixPQUFPLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLEVBQUMsR0FBRyxPQUFPLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBQyxDQUFDLENBQUE7Z0JBQ2xFO29CQUNJLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUE7WUFDekMsQ0FBQztRQUNMLENBQUMsQ0FBQztLQUNMLENBQUMsQ0FBQTtBQUNOLENBQUMsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyx1QkFBdUIsQ0FBQztBQUMvQyxNQUFNLENBQUMsTUFBTSxJQUFJLEdBQUcsMkNBQTJDLENBQUM7QUFDaEUsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLGNBQWMsQ0FBQztBQUV0QyxNQUFNLENBQUMsS0FBSyxVQUFVLE9BQU8sQ0FBQyxJQUFtQjtJQUM3QyxRQUFRLEVBQUUsQ0FBQTtJQUNWLE1BQU0sT0FBTyxHQUFHLDJCQUEyQixFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBMEIsQ0FBQTtJQUNsRixNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBZSxDQUFBO0lBQ2xELE1BQU0sTUFBTSxHQUFRLGNBQWMsRUFBRSxDQUFBO0lBRXBDLDZEQUE2RDtJQUM3RCxPQUFPLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLElBQUksTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7SUFFakYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNsQixNQUFNLENBQUMsS0FBSyxDQUFDLHVJQUF1SSxDQUFDLENBQUM7UUFDdEosTUFBTSxDQUFDLElBQUksQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDO1FBQ3JELE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEIsQ0FBQztJQUVELHNEQUFzRDtJQUN0RCxNQUFNLGdCQUFnQixHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQTBCLENBQUE7SUFFbkUsTUFBTSxDQUFDLElBQUksQ0FBQywyQ0FBMkMsRUFBRTtRQUNyRCxJQUFJLEVBQUUsZ0JBQWdCLENBQUMsSUFBSTtRQUMzQixpQkFBaUIsRUFBRSxnQkFBZ0IsQ0FBQyxpQkFBaUI7UUFDckQsYUFBYSxFQUFFLGdCQUFnQixDQUFDLGFBQWE7UUFDN0MsS0FBSyxFQUFFLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUM7S0FDdEQsQ0FBQyxDQUFDO0lBRUgsTUFBTSxjQUFjLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztBQUMzQyxDQUFDO0FBRUQsR0FBRyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQSJ9
|
||||
2
packages/media/dist-in/commands/pdf2jpg.d.ts
vendored
2
packages/media/dist-in/commands/pdf2jpg.d.ts
vendored
@ -1,5 +1,5 @@
|
||||
import * as CLI from 'yargs';
|
||||
export declare const command = "pdf2jpg";
|
||||
export declare const desc = "Convert PDF to images";
|
||||
export declare const builder: (yargs: CLI.Argv) => any;
|
||||
export declare const builder: (yargs: CLI.Argv) => CLI.Argv;
|
||||
export declare function handler(argv: CLI.Arguments): Promise<void>;
|
||||
|
||||
@ -1,52 +1,34 @@
|
||||
import { logger } from '../index.js';
|
||||
import { existsSync } from 'node:fs';
|
||||
import * as z from 'zod';
|
||||
import { runConversion } from '../lib/pdf/convert.js';
|
||||
import { ConvertCommandSchema } from '../lib/pdf/types.js';
|
||||
import { runConversion, Pdf2JpgOptionsSchema } from '../lib/pdf/convert.js';
|
||||
import { toYargs } from '@polymech/commons';
|
||||
import { cli } from '../cli.js';
|
||||
export const command = 'pdf2jpg';
|
||||
export const desc = 'Convert PDF to images';
|
||||
export const builder = (yargs) => {
|
||||
return yargs
|
||||
.option('input', {
|
||||
alias: 'i',
|
||||
describe: 'Path to the input PDF file',
|
||||
demandOption: true,
|
||||
type: 'string'
|
||||
})
|
||||
.option('output', {
|
||||
alias: 'o',
|
||||
describe: 'Output path template (e.g., output/page_{PAGE}.png)',
|
||||
type: 'string'
|
||||
})
|
||||
.option('dpi', {
|
||||
describe: 'Resolution for the output images',
|
||||
default: 300,
|
||||
type: 'number'
|
||||
})
|
||||
.option('scale', {
|
||||
describe: 'Scaling factor to apply before rendering (e.g., 2 for 2x size)',
|
||||
default: 2,
|
||||
type: 'number'
|
||||
})
|
||||
.option('format', {
|
||||
describe: 'Output image format',
|
||||
choices: ['png', 'jpg'],
|
||||
default: 'jpg',
|
||||
type: 'string'
|
||||
})
|
||||
.option('startPage', {
|
||||
describe: 'First page to convert (1-based index)',
|
||||
type: 'number'
|
||||
})
|
||||
.option('endPage', {
|
||||
describe: 'Last page to convert (1-based index)',
|
||||
type: 'number'
|
||||
return toYargs(yargs, Pdf2JpgOptionsSchema(), {
|
||||
onKey: ((yargs, key, options) => {
|
||||
switch (key) {
|
||||
case 'input':
|
||||
return yargs.option(key, { ...options, alias: 'i', demandOption: true });
|
||||
case 'output':
|
||||
return yargs.option(key, { ...options, alias: 'o' });
|
||||
default:
|
||||
return yargs.option(key, options);
|
||||
}
|
||||
})
|
||||
});
|
||||
};
|
||||
export async function handler(argv) {
|
||||
try {
|
||||
const config = ConvertCommandSchema.parse(argv);
|
||||
const config = Pdf2JpgOptionsSchema().parse(argv);
|
||||
// Validate startPage and endPage relationship
|
||||
if (config.startPage !== undefined && config.endPage !== undefined) {
|
||||
if (config.startPage > config.endPage) {
|
||||
throw new Error('startPage must be less than or equal to endPage');
|
||||
}
|
||||
}
|
||||
if (!existsSync(config.input)) {
|
||||
throw new Error(`Input file ${config.input} does not exist`);
|
||||
}
|
||||
@ -67,4 +49,4 @@ export async function handler(argv) {
|
||||
}
|
||||
}
|
||||
cli.command(command, desc, builder, handler);
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmMmpwZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tYW5kcy9wZGYyanBnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDcEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNyQyxPQUFPLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQztBQUN6QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUF3QixvQkFBb0IsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ2hGLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFaEMsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQztBQUNqQyxNQUFNLENBQUMsTUFBTSxJQUFJLEdBQUcsdUJBQXVCLENBQUM7QUFFNUMsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLENBQUMsS0FBZSxFQUFFLEVBQUU7SUFDdkMsT0FBTyxLQUFLO1NBQ1AsTUFBTSxDQUFDLE9BQU8sRUFBRTtRQUNiLEtBQUssRUFBRSxHQUFHO1FBQ1YsUUFBUSxFQUFFLDRCQUE0QjtRQUN0QyxZQUFZLEVBQUUsSUFBSTtRQUNsQixJQUFJLEVBQUUsUUFBUTtLQUNqQixDQUFDO1NBQ0QsTUFBTSxDQUFDLFFBQVEsRUFBRTtRQUNkLEtBQUssRUFBRSxHQUFHO1FBQ1YsUUFBUSxFQUFFLHFEQUFxRDtRQUMvRCxJQUFJLEVBQUUsUUFBUTtLQUNqQixDQUFDO1NBQ0QsTUFBTSxDQUFDLEtBQUssRUFBRTtRQUNYLFFBQVEsRUFBRSxrQ0FBa0M7UUFDNUMsT0FBTyxFQUFFLEdBQUc7UUFDWixJQUFJLEVBQUUsUUFBUTtLQUNqQixDQUFDO1NBQ0QsTUFBTSxDQUFDLE9BQU8sRUFBRTtRQUNiLFFBQVEsRUFBRSxnRUFBZ0U7UUFDMUUsT0FBTyxFQUFFLENBQUM7UUFDVixJQUFJLEVBQUUsUUFBUTtLQUNqQixDQUFDO1NBQ0QsTUFBTSxDQUFDLFFBQVEsRUFBRTtRQUNkLFFBQVEsRUFBRSxxQkFBcUI7UUFDL0IsT0FBTyxFQUFFLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQztRQUN2QixPQUFPLEVBQUUsS0FBSztRQUNkLElBQUksRUFBRSxRQUFRO0tBQ2pCLENBQUM7U0FDRCxNQUFNLENBQUMsV0FBVyxFQUFFO1FBQ2pCLFFBQVEsRUFBRSx1Q0FBdUM7UUFDakQsSUFBSSxFQUFFLFFBQVE7S0FDakIsQ0FBQztTQUNELE1BQU0sQ0FBQyxTQUFTLEVBQUU7UUFDZixRQUFRLEVBQUUsc0NBQXNDO1FBQ2hELElBQUksRUFBRSxRQUFRO0tBQ2pCLENBQUMsQ0FBQTtBQUNWLENBQUMsQ0FBQTtBQUVELE1BQU0sQ0FBQyxLQUFLLFVBQVUsT0FBTyxDQUFDLElBQW1CO0lBQzdDLElBQUksQ0FBQztRQUNELE1BQU0sTUFBTSxHQUFHLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQXlCLENBQUM7UUFDeEUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUM1QixNQUFNLElBQUksS0FBSyxDQUFDLGNBQWMsTUFBTSxDQUFDLEtBQUssaUJBQWlCLENBQUMsQ0FBQztRQUNqRSxDQUFDO1FBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFDO1FBQ3RELE1BQU0sV0FBVyxHQUFHLE1BQU0sYUFBYSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN4RCxNQUFNLENBQUMsSUFBSSxDQUFDLG1DQUFtQyxDQUFDLENBQUM7UUFDakQsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLFdBQVcsQ0FBQyxNQUFNLFNBQVMsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2IsSUFBSSxLQUFLLFlBQVksQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzlCLE1BQU0sQ0FBQyxLQUFLLENBQUMsb0JBQW9CLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDeEQsQ0FBQzthQUFNLENBQUM7WUFDSixNQUFNLE9BQU8sR0FBRyxLQUFLLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdkUsTUFBTSxDQUFDLEtBQUssQ0FBQyxrQ0FBa0MsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDckUsQ0FBQztRQUNELE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEIsQ0FBQztBQUNMLENBQUM7QUFFRCxHQUFHLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFBIn0=
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmMmpwZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tYW5kcy9wZGYyanBnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDcEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNyQyxPQUFPLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQztBQUN6QixPQUFPLEVBQUUsYUFBYSxFQUFFLG9CQUFvQixFQUFpQixNQUFNLHVCQUF1QixDQUFDO0FBQzNGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRWhDLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUM7QUFDakMsTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUFHLHVCQUF1QixDQUFDO0FBRTVDLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxDQUFDLEtBQWUsRUFBRSxFQUFFO0lBQ3ZDLE9BQU8sT0FBTyxDQUFDLEtBQUssRUFBRSxvQkFBb0IsRUFBRSxFQUFFO1FBQzFDLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsRUFBRTtZQUM1QixRQUFRLEdBQUcsRUFBRSxDQUFDO2dCQUNWLEtBQUssT0FBTztvQkFDUixPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLEVBQUMsR0FBRyxPQUFPLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQTtnQkFDMUUsS0FBSyxRQUFRO29CQUNULE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsRUFBQyxHQUFHLE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFDLENBQUMsQ0FBQTtnQkFDdEQ7b0JBQ0ksT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQTtZQUN6QyxDQUFDO1FBQ0wsQ0FBQyxDQUFDO0tBQ0wsQ0FBQyxDQUFBO0FBQ04sQ0FBQyxDQUFBO0FBRUQsTUFBTSxDQUFDLEtBQUssVUFBVSxPQUFPLENBQUMsSUFBbUI7SUFDN0MsSUFBSSxDQUFDO1FBQ0QsTUFBTSxNQUFNLEdBQWtCLG9CQUFvQixFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRWpFLDhDQUE4QztRQUM5QyxJQUFJLE1BQU0sQ0FBQyxTQUFTLEtBQUssU0FBUyxJQUFJLE1BQU0sQ0FBQyxPQUFPLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDakUsSUFBSSxNQUFNLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDcEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxpREFBaUQsQ0FBQyxDQUFDO1lBQ3ZFLENBQUM7UUFDTCxDQUFDO1FBRUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUM1QixNQUFNLElBQUksS0FBSyxDQUFDLGNBQWMsTUFBTSxDQUFDLEtBQUssaUJBQWlCLENBQUMsQ0FBQztRQUNqRSxDQUFDO1FBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFDO1FBQ3RELE1BQU0sV0FBVyxHQUFHLE1BQU0sYUFBYSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN4RCxNQUFNLENBQUMsSUFBSSxDQUFDLG1DQUFtQyxDQUFDLENBQUM7UUFDakQsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLFdBQVcsQ0FBQyxNQUFNLFNBQVMsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2IsSUFBSSxLQUFLLFlBQVksQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzlCLE1BQU0sQ0FBQyxLQUFLLENBQUMsb0JBQW9CLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDeEQsQ0FBQzthQUFNLENBQUM7WUFDSixNQUFNLE9BQU8sR0FBRyxLQUFLLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdkUsTUFBTSxDQUFDLEtBQUssQ0FBQyxrQ0FBa0MsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDckUsQ0FBQztRQUNELE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEIsQ0FBQztBQUNMLENBQUM7QUFFRCxHQUFHLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFBIn0=
|
||||
File diff suppressed because one or more lines are too long
5
packages/media/dist-in/commands/schemas.d.ts
vendored
Normal file
5
packages/media/dist-in/commands/schemas.d.ts
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
import * as CLI from 'yargs';
|
||||
export declare const command = "schemas";
|
||||
export declare const desc = "Generate schema files (schemas.json and schema_ui.json)";
|
||||
export declare const builder: (yargs: CLI.Argv) => any;
|
||||
export declare function handler(argv: CLI.Arguments): Promise<void>;
|
||||
49
packages/media/dist-in/commands/schemas.js
Normal file
49
packages/media/dist-in/commands/schemas.js
Normal file
@ -0,0 +1,49 @@
|
||||
import { cli } from '../cli.js';
|
||||
import { schemas as resizeSchemas, types as resizeTypes } from '../lib/media/images/resize.js';
|
||||
import { schemas as pdf2jpgSchemas, types as pdf2jpgTypes } from '../lib/pdf/convert.js';
|
||||
import { schemas as watermarkSchemas, types as watermarkTypes } from '../lib/media/images/watermark.js';
|
||||
import { schemas as backgroundRemoveSchemas, types as backgroundRemoveTypes } from '../lib/media/images/background-remove.js';
|
||||
import { schemas as backgroundRemoveBriaSchemas, types as backgroundRemoveBriaTypes } from '../lib/media/images/background-remove-bria.js';
|
||||
import { schemas as cropForegroundSchemas, types as cropForegroundTypes } from '../lib/media/images/crop-foreground.js';
|
||||
export const command = 'schemas';
|
||||
export const desc = 'Generate schema files (schemas.json and schema_ui.json)';
|
||||
export const builder = (yargs) => {
|
||||
return yargs.option('types', {
|
||||
describe: 'Also generate TypeScript types',
|
||||
type: 'boolean',
|
||||
default: false
|
||||
});
|
||||
};
|
||||
export async function handler(argv) {
|
||||
console.log('Generating schemas...');
|
||||
// Generate resize schemas
|
||||
resizeSchemas();
|
||||
console.log('✓ Generated resize schemas');
|
||||
// Generate pdf2jpg schemas
|
||||
pdf2jpgSchemas();
|
||||
console.log('✓ Generated pdf2jpg schemas');
|
||||
// Generate watermark schemas
|
||||
watermarkSchemas();
|
||||
console.log('✓ Generated watermark schemas');
|
||||
// Generate background-remove schemas
|
||||
backgroundRemoveSchemas();
|
||||
console.log('✓ Generated background-remove schemas');
|
||||
// Generate background-remove-bria schemas
|
||||
backgroundRemoveBriaSchemas();
|
||||
console.log('✓ Generated background-remove-bria schemas');
|
||||
// Generate crop-foreground schemas
|
||||
cropForegroundSchemas();
|
||||
console.log('✓ Generated crop-foreground schemas');
|
||||
if (argv.types) {
|
||||
resizeTypes();
|
||||
pdf2jpgTypes();
|
||||
watermarkTypes();
|
||||
backgroundRemoveTypes();
|
||||
backgroundRemoveBriaTypes();
|
||||
cropForegroundTypes();
|
||||
console.log('✓ Generated TypeScript types');
|
||||
}
|
||||
console.log('Schema generation complete!');
|
||||
}
|
||||
cli.command(command, desc, builder, handler);
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tYW5kcy9zY2hlbWFzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFDL0IsT0FBTyxFQUFFLE9BQU8sSUFBSSxhQUFhLEVBQUUsS0FBSyxJQUFJLFdBQVcsRUFBRSxNQUFNLCtCQUErQixDQUFBO0FBQzlGLE9BQU8sRUFBRSxPQUFPLElBQUksY0FBYyxFQUFFLEtBQUssSUFBSSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUN4RixPQUFPLEVBQUUsT0FBTyxJQUFJLGdCQUFnQixFQUFFLEtBQUssSUFBSSxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQTtBQUN2RyxPQUFPLEVBQUUsT0FBTyxJQUFJLHVCQUF1QixFQUFFLEtBQUssSUFBSSxxQkFBcUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFBO0FBQzdILE9BQU8sRUFBRSxPQUFPLElBQUksMkJBQTJCLEVBQUUsS0FBSyxJQUFJLHlCQUF5QixFQUFFLE1BQU0sK0NBQStDLENBQUE7QUFDMUksT0FBTyxFQUFFLE9BQU8sSUFBSSxxQkFBcUIsRUFBRSxLQUFLLElBQUksbUJBQW1CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQTtBQUV2SCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFBO0FBQ2hDLE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyx5REFBeUQsQ0FBQTtBQUM3RSxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsQ0FBQyxLQUFlLEVBQUUsRUFBRTtJQUN2QyxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFO1FBQ3pCLFFBQVEsRUFBRSxnQ0FBZ0M7UUFDMUMsSUFBSSxFQUFFLFNBQVM7UUFDZixPQUFPLEVBQUUsS0FBSztLQUNqQixDQUFDLENBQUE7QUFDTixDQUFDLENBQUE7QUFFRCxNQUFNLENBQUMsS0FBSyxVQUFVLE9BQU8sQ0FBQyxJQUFtQjtJQUM3QyxPQUFPLENBQUMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLENBQUE7SUFFcEMsMEJBQTBCO0lBQzFCLGFBQWEsRUFBRSxDQUFBO0lBQ2YsT0FBTyxDQUFDLEdBQUcsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFBO0lBRXpDLDJCQUEyQjtJQUMzQixjQUFjLEVBQUUsQ0FBQTtJQUNoQixPQUFPLENBQUMsR0FBRyxDQUFDLDZCQUE2QixDQUFDLENBQUE7SUFFMUMsNkJBQTZCO0lBQzdCLGdCQUFnQixFQUFFLENBQUE7SUFDbEIsT0FBTyxDQUFDLEdBQUcsQ0FBQywrQkFBK0IsQ0FBQyxDQUFBO0lBRTVDLHFDQUFxQztJQUNyQyx1QkFBdUIsRUFBRSxDQUFBO0lBQ3pCLE9BQU8sQ0FBQyxHQUFHLENBQUMsdUNBQXVDLENBQUMsQ0FBQTtJQUVwRCwwQ0FBMEM7SUFDMUMsMkJBQTJCLEVBQUUsQ0FBQTtJQUM3QixPQUFPLENBQUMsR0FBRyxDQUFDLDRDQUE0QyxDQUFDLENBQUE7SUFFekQsbUNBQW1DO0lBQ25DLHFCQUFxQixFQUFFLENBQUE7SUFDdkIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFBO0lBRWxELElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2IsV0FBVyxFQUFFLENBQUE7UUFDYixZQUFZLEVBQUUsQ0FBQTtRQUNkLGNBQWMsRUFBRSxDQUFBO1FBQ2hCLHFCQUFxQixFQUFFLENBQUE7UUFDdkIseUJBQXlCLEVBQUUsQ0FBQTtRQUMzQixtQkFBbUIsRUFBRSxDQUFBO1FBQ3JCLE9BQU8sQ0FBQyxHQUFHLENBQUMsOEJBQThCLENBQUMsQ0FBQTtJQUMvQyxDQUFDO0lBRUQsT0FBTyxDQUFDLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFBO0FBQzlDLENBQUM7QUFFRCxHQUFHLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFBIn0=
|
||||
@ -1,2 +1,3 @@
|
||||
export declare const defaultOptions: (yargs: CLI.Argv) => any;
|
||||
export declare const register: (cli: CLI.Argv) => any;
|
||||
import * as CLI from 'yargs';
|
||||
export declare const defaultOptions: (yargs: CLI.Argv) => any;
|
||||
export declare const register: (cli: CLI.Argv) => any;
|
||||
68
packages/media/dist-in/commands/thumbs.js
Normal file
68
packages/media/dist-in/commands/thumbs.js
Normal file
@ -0,0 +1,68 @@
|
||||
import { logger } from '../index';
|
||||
import { resize } from '../lib/media/images/resize';
|
||||
import { sanitize, defaults } from '../_cli';
|
||||
export const defaultOptions = (yargs) => {
|
||||
return yargs.option('src', {
|
||||
describe: 'FILE|FOLDER|GLOB',
|
||||
demandOption: true
|
||||
}).option('dst', {
|
||||
describe: 'FILE|FOLDER|GLOB'
|
||||
}).option('debug', {
|
||||
default: false,
|
||||
describe: 'Enable internal debug messages',
|
||||
type: 'boolean'
|
||||
}).option('alt', {
|
||||
default: false,
|
||||
describe: 'Use alternate tokenizer, & instead of $',
|
||||
type: 'boolean'
|
||||
}).option('dry', {
|
||||
default: false,
|
||||
describe: 'Run without conversion',
|
||||
type: 'boolean'
|
||||
}).option('verbose', {
|
||||
default: false,
|
||||
describe: 'Show internal messages',
|
||||
type: 'boolean'
|
||||
}).option('percent', {
|
||||
default: false,
|
||||
describe: 'Resize image with percent',
|
||||
type: 'number'
|
||||
}).option('width', {
|
||||
default: false,
|
||||
describe: 'Resize image with',
|
||||
type: 'number'
|
||||
}).option('height', {
|
||||
default: false,
|
||||
describe: 'Resize image height',
|
||||
type: 'number'
|
||||
}).option('minHeight', {
|
||||
describe: 'Resize image minimum height',
|
||||
type: 'number'
|
||||
}).option('minWidth', {
|
||||
describe: 'Resize image minimum width',
|
||||
type: 'number'
|
||||
}).option('minSize', {
|
||||
describe: 'Resize image size (bytes)',
|
||||
type: 'number'
|
||||
}).option('percent', {
|
||||
describe: 'Resize image in percent (width)',
|
||||
type: 'number'
|
||||
}).option('logLevel', {
|
||||
describe: 'Log level : warn, info, debug, error',
|
||||
type: 'string',
|
||||
default: 'info'
|
||||
});
|
||||
};
|
||||
let options = (yargs) => defaultOptions(yargs);
|
||||
export const register = (cli) => {
|
||||
return cli.command('thumbails', 'Create Thumbnail files', options, async (argv) => {
|
||||
defaults();
|
||||
const options = sanitize(argv);
|
||||
logger.setSettings({
|
||||
minLevel: options.logLevel
|
||||
});
|
||||
logger.info("options " + argv.dst, options);
|
||||
await resize(options);
|
||||
});
|
||||
};
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGh1bWJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1hbmRzL3RodW1icy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBQ2pDLE9BQU8sRUFDSCxNQUFNLEVBQ1QsTUFBTSw0QkFBNEIsQ0FBQTtBQUVuQyxPQUFPLEVBQ0gsUUFBUSxFQUNSLFFBQVEsRUFDWCxNQUFNLFNBQVMsQ0FBQTtBQU1oQixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxLQUFlLEVBQUUsRUFBRTtJQUM5QyxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO1FBQ3ZCLFFBQVEsRUFBRSxrQkFBa0I7UUFDNUIsWUFBWSxFQUFFLElBQUk7S0FDckIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUU7UUFDYixRQUFRLEVBQUUsa0JBQWtCO0tBQy9CLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFO1FBQ2YsT0FBTyxFQUFFLEtBQUs7UUFDZCxRQUFRLEVBQUUsZ0NBQWdDO1FBQzFDLElBQUksRUFBRSxTQUFTO0tBQ2xCLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO1FBQ2IsT0FBTyxFQUFFLEtBQUs7UUFDZCxRQUFRLEVBQUUseUNBQXlDO1FBQ25ELElBQUksRUFBRSxTQUFTO0tBQ2xCLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO1FBQ2IsT0FBTyxFQUFFLEtBQUs7UUFDZCxRQUFRLEVBQUUsd0JBQXdCO1FBQ2xDLElBQUksRUFBRSxTQUFTO0tBQ2xCLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFO1FBQ2pCLE9BQU8sRUFBRSxLQUFLO1FBQ2QsUUFBUSxFQUFFLHdCQUF3QjtRQUNsQyxJQUFJLEVBQUUsU0FBUztLQUNsQixDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRTtRQUNqQixPQUFPLEVBQUUsS0FBSztRQUNkLFFBQVEsRUFBRSwyQkFBMkI7UUFDckMsSUFBSSxFQUFFLFFBQVE7S0FDakIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUU7UUFDZixPQUFPLEVBQUUsS0FBSztRQUNkLFFBQVEsRUFBRSxtQkFBbUI7UUFDN0IsSUFBSSxFQUFFLFFBQVE7S0FDakIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUU7UUFDaEIsT0FBTyxFQUFFLEtBQUs7UUFDZCxRQUFRLEVBQUUscUJBQXFCO1FBQy9CLElBQUksRUFBRSxRQUFRO0tBQ2pCLENBQUMsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFO1FBQ25CLFFBQVEsRUFBRSw2QkFBNkI7UUFDdkMsSUFBSSxFQUFFLFFBQVE7S0FDakIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUU7UUFDbEIsUUFBUSxFQUFFLDRCQUE0QjtRQUN0QyxJQUFJLEVBQUUsUUFBUTtLQUNqQixDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRTtRQUNqQixRQUFRLEVBQUUsMkJBQTJCO1FBQ3JDLElBQUksRUFBRSxRQUFRO0tBQ2pCLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFO1FBQ2pCLFFBQVEsRUFBRSxpQ0FBaUM7UUFDM0MsSUFBSSxFQUFFLFFBQVE7S0FDakIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUU7UUFDbEIsUUFBUSxFQUFFLHNDQUFzQztRQUNoRCxJQUFJLEVBQUUsUUFBUTtRQUNkLE9BQU8sRUFBRSxNQUFNO0tBQ2xCLENBQUMsQ0FBQTtBQUNOLENBQUMsQ0FBQTtBQUVELElBQUksT0FBTyxHQUFHLENBQUMsS0FBZSxFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUE7QUFFeEQsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLENBQUMsR0FBYSxFQUFFLEVBQUU7SUFDdEMsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSx3QkFBd0IsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQW1CLEVBQUUsRUFBRTtRQUM3RixRQUFRLEVBQUUsQ0FBQTtRQUNWLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQWEsQ0FBQTtRQUMxQyxNQUFNLENBQUMsV0FBVyxDQUFDO1lBQ2YsUUFBUSxFQUFFLE9BQU8sQ0FBQyxRQUFlO1NBQ3BDLENBQUMsQ0FBQTtRQUNGLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUE7UUFDM0MsTUFBTSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDekIsQ0FBQyxDQUFDLENBQUE7QUFDTixDQUFDLENBQUEifQ==
|
||||
@ -1,6 +1,6 @@
|
||||
import { logger } from '../';
|
||||
import { convert, merge } from '../lib/media/video';
|
||||
import { defaults, sanitizeVideo } from '../_cli';
|
||||
import { logger } from '../index.js';
|
||||
import { convert, merge } from '../lib/media/video/index.js';
|
||||
import { defaults, sanitizeVideo } from '../_cli.js';
|
||||
export const defaultOptions = (yargs) => {
|
||||
return yargs.option('src', {
|
||||
describe: 'FILE|FOLDER|GLOB',
|
||||
@ -31,4 +31,4 @@ export const register = (cli) => {
|
||||
}
|
||||
});
|
||||
};
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlkZW8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbWFuZHMvdmlkZW8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLEtBQUssQ0FBQTtBQUM1QixPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBQ25ELE9BQU8sRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFLE1BQU0sU0FBUyxDQUFBO0FBR2pELE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLEtBQWUsRUFBRSxFQUFFO0lBQzlDLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUU7UUFDdkIsUUFBUSxFQUFFLGtCQUFrQjtRQUM1QixZQUFZLEVBQUUsSUFBSTtLQUNyQixDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRTtRQUNiLFFBQVEsRUFBRSxrQkFBa0I7S0FDL0IsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUU7UUFDZixPQUFPLEVBQUUsS0FBSztRQUNkLFFBQVEsRUFBRSxnQ0FBZ0M7UUFDMUMsSUFBSSxFQUFFLFNBQVM7S0FDbEIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUU7UUFDYixPQUFPLEVBQUUsS0FBSztRQUNkLFFBQVEsRUFBRSx5Q0FBeUM7UUFDbkQsSUFBSSxFQUFFLFNBQVM7S0FDbEIsQ0FBQyxDQUFBO0FBQ04sQ0FBQyxDQUFBO0FBRUQsSUFBSSxPQUFPLEdBQUcsQ0FBQyxLQUFlLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQTtBQUV4RCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsQ0FBQyxHQUFhLEVBQUUsRUFBRTtJQUN0QyxPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQW1CLEVBQUUsRUFBRTtRQUN2RixRQUFRLEVBQUUsQ0FBQTtRQUNWLE1BQU0sT0FBTyxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQXlCLENBQUE7UUFDM0QsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQTtRQUMzQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLElBQUksU0FBUyxFQUFFLENBQUM7WUFDNUIsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDM0IsQ0FBQztRQUNELElBQUksT0FBTyxDQUFDLElBQUksSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUMxQixPQUFPLEtBQUssQ0FBQyxPQUFPLENBQVEsQ0FBQTtRQUNoQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUE7QUFDTixDQUFDLENBQUEifQ==
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlkZW8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbWFuZHMvdmlkZW8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUNwQyxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLDZCQUE2QixDQUFBO0FBQzVELE9BQU8sRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBR3BELE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLEtBQWUsRUFBRSxFQUFFO0lBQzlDLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUU7UUFDdkIsUUFBUSxFQUFFLGtCQUFrQjtRQUM1QixZQUFZLEVBQUUsSUFBSTtLQUNyQixDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRTtRQUNiLFFBQVEsRUFBRSxrQkFBa0I7S0FDL0IsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUU7UUFDZixPQUFPLEVBQUUsS0FBSztRQUNkLFFBQVEsRUFBRSxnQ0FBZ0M7UUFDMUMsSUFBSSxFQUFFLFNBQVM7S0FDbEIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUU7UUFDYixPQUFPLEVBQUUsS0FBSztRQUNkLFFBQVEsRUFBRSx5Q0FBeUM7UUFDbkQsSUFBSSxFQUFFLFNBQVM7S0FDbEIsQ0FBQyxDQUFBO0FBQ04sQ0FBQyxDQUFBO0FBRUQsSUFBSSxPQUFPLEdBQUcsQ0FBQyxLQUFlLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQTtBQUV4RCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsQ0FBQyxHQUFhLEVBQUUsRUFBRTtJQUN0QyxPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQW1CLEVBQUUsRUFBRTtRQUN2RixRQUFRLEVBQUUsQ0FBQTtRQUNWLE1BQU0sT0FBTyxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQXlCLENBQUE7UUFDM0QsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQTtRQUMzQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLElBQUksU0FBUyxFQUFFLENBQUM7WUFDNUIsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDM0IsQ0FBQztRQUNELElBQUksT0FBTyxDQUFDLElBQUksSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUMxQixPQUFPLEtBQUssQ0FBQyxPQUFPLENBQVEsQ0FBQTtRQUNoQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUE7QUFDTixDQUFDLENBQUEifQ==
|
||||
@ -1,2 +1,3 @@
|
||||
export declare const defaultOptions: (yargs: CLI.Argv) => any;
|
||||
export declare const register: (cli: CLI.Argv) => any;
|
||||
import * as CLI from 'yargs';
|
||||
export declare const defaultOptions: (yargs: CLI.Argv) => any;
|
||||
export declare const register: (cli: CLI.Argv) => any;
|
||||
70
packages/media/dist-in/commands/watermark-rm.js
Normal file
70
packages/media/dist-in/commands/watermark-rm.js
Normal file
@ -0,0 +1,70 @@
|
||||
import { CONFIG_DEFAULT } from '@polymech/commons';
|
||||
import { logger } from '../index.js';
|
||||
import { watermark } from '../lib/media/images/watermark.js';
|
||||
import { sanitize, defaults } from '../_cli.js';
|
||||
export const defaultOptions = (yargs) => {
|
||||
return yargs.option('src', {
|
||||
describe: 'FILE|FOLDER|GLOB',
|
||||
demandOption: true
|
||||
}).option('dst', {
|
||||
describe: 'FILE|FOLDER|GLOB'
|
||||
}).option('debug', {
|
||||
default: false,
|
||||
describe: 'Enable internal debug messages',
|
||||
type: 'boolean'
|
||||
}).option('alt', {
|
||||
default: false,
|
||||
describe: 'Use alternate tokenizer, & instead of $',
|
||||
type: 'boolean'
|
||||
}).option('dry', {
|
||||
default: false,
|
||||
describe: 'Run without conversion',
|
||||
type: 'boolean'
|
||||
}).option('verbose', {
|
||||
default: false,
|
||||
describe: 'Show internal messages',
|
||||
type: 'boolean'
|
||||
}).option('percent', {
|
||||
default: false,
|
||||
describe: 'Resize image with percent',
|
||||
type: 'number'
|
||||
}).option('width', {
|
||||
default: false,
|
||||
describe: 'Resize image with',
|
||||
type: 'number'
|
||||
}).option('height', {
|
||||
default: false,
|
||||
describe: 'Resize image height',
|
||||
type: 'number'
|
||||
}).option('minHeight', {
|
||||
describe: 'Resize image minimum height',
|
||||
type: 'number'
|
||||
}).option('minWidth', {
|
||||
describe: 'Resize image minimum width',
|
||||
type: 'number'
|
||||
}).option('minSize', {
|
||||
describe: 'Resize image size (bytes)',
|
||||
type: 'number'
|
||||
}).option('percent', {
|
||||
describe: 'Resize image in percent (width)',
|
||||
type: 'number'
|
||||
}).option('key', {
|
||||
describe: 'API Key',
|
||||
type: 'string'
|
||||
});
|
||||
};
|
||||
const options = (yargs) => defaultOptions(yargs);
|
||||
export const register = (cli) => {
|
||||
return cli.command('watermark', 'Remove watermark : FILE|GLOB', options, async (argv) => {
|
||||
defaults();
|
||||
const options = sanitize(argv);
|
||||
const config = CONFIG_DEFAULT();
|
||||
if (!config.novita) {
|
||||
logger.error("Novita key not found");
|
||||
return;
|
||||
}
|
||||
options.debug && logger.info("Watermark Options " + argv.dst, options);
|
||||
return watermark({ ...options, key: config.novita.key });
|
||||
});
|
||||
};
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0ZXJtYXJrLXJtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1hbmRzL3dhdGVybWFyay1ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFFbEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUNwQyxPQUFPLEVBQ0wsU0FBUyxFQUNWLE1BQU0sa0NBQWtDLENBQUE7QUFFekMsT0FBTyxFQUNMLFFBQVEsRUFDUixRQUFRLEVBQ1QsTUFBTSxZQUFZLENBQUE7QUFNbkIsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQUMsS0FBZSxFQUFFLEVBQUU7SUFDaEQsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRTtRQUN6QixRQUFRLEVBQUUsa0JBQWtCO1FBQzVCLFlBQVksRUFBRSxJQUFJO0tBQ25CLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO1FBQ2YsUUFBUSxFQUFFLGtCQUFrQjtLQUM3QixDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRTtRQUNqQixPQUFPLEVBQUUsS0FBSztRQUNkLFFBQVEsRUFBRSxnQ0FBZ0M7UUFDMUMsSUFBSSxFQUFFLFNBQVM7S0FDaEIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUU7UUFDZixPQUFPLEVBQUUsS0FBSztRQUNkLFFBQVEsRUFBRSx5Q0FBeUM7UUFDbkQsSUFBSSxFQUFFLFNBQVM7S0FDaEIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUU7UUFDZixPQUFPLEVBQUUsS0FBSztRQUNkLFFBQVEsRUFBRSx3QkFBd0I7UUFDbEMsSUFBSSxFQUFFLFNBQVM7S0FDaEIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUU7UUFDbkIsT0FBTyxFQUFFLEtBQUs7UUFDZCxRQUFRLEVBQUUsd0JBQXdCO1FBQ2xDLElBQUksRUFBRSxTQUFTO0tBQ2hCLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFO1FBQ25CLE9BQU8sRUFBRSxLQUFLO1FBQ2QsUUFBUSxFQUFFLDJCQUEyQjtRQUNyQyxJQUFJLEVBQUUsUUFBUTtLQUNmLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFO1FBQ2pCLE9BQU8sRUFBRSxLQUFLO1FBQ2QsUUFBUSxFQUFFLG1CQUFtQjtRQUM3QixJQUFJLEVBQUUsUUFBUTtLQUNmLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFO1FBQ2xCLE9BQU8sRUFBRSxLQUFLO1FBQ2QsUUFBUSxFQUFFLHFCQUFxQjtRQUMvQixJQUFJLEVBQUUsUUFBUTtLQUNmLENBQUMsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFO1FBQ3JCLFFBQVEsRUFBRSw2QkFBNkI7UUFDdkMsSUFBSSxFQUFFLFFBQVE7S0FDZixDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRTtRQUNwQixRQUFRLEVBQUUsNEJBQTRCO1FBQ3RDLElBQUksRUFBRSxRQUFRO0tBQ2YsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUU7UUFDbkIsUUFBUSxFQUFFLDJCQUEyQjtRQUNyQyxJQUFJLEVBQUUsUUFBUTtLQUNmLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFO1FBQ25CLFFBQVEsRUFBRSxpQ0FBaUM7UUFDM0MsSUFBSSxFQUFFLFFBQVE7S0FDZixDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRTtRQUNmLFFBQVEsRUFBRSxTQUFTO1FBQ25CLElBQUksRUFBRSxRQUFRO0tBQ2YsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUFBO0FBRUQsTUFBTSxPQUFPLEdBQUcsQ0FBQyxLQUFlLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQTtBQUUxRCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsQ0FBQyxHQUFhLEVBQUUsRUFBRTtJQUN4QyxPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLDhCQUE4QixFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBbUIsRUFBRSxFQUFFO1FBQ3JHLFFBQVEsRUFBRSxDQUFBO1FBQ1YsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBYSxDQUFBO1FBQzFDLE1BQU0sTUFBTSxHQUFRLGNBQWMsRUFBRSxDQUFBO1FBQ3BDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDbkIsTUFBTSxDQUFDLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1lBQ3JDLE9BQU07UUFDUixDQUFDO1FBQ0QsT0FBTyxDQUFDLEtBQUssSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUE7UUFDdEUsT0FBTyxTQUFTLENBQUMsRUFBRSxHQUFHLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFBO0lBQzFELENBQUMsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUFBIn0=
|
||||
@ -1,8 +1,8 @@
|
||||
import * as CLI from 'yargs';
|
||||
export declare const command = "watermark";
|
||||
export declare const desc = "Adds watermarks to images";
|
||||
export declare const defaultOptions: (yargs: CLI.Argv) => any;
|
||||
export declare const builder: (yargs: CLI.Argv) => any;
|
||||
export declare const defaultOptions: (yargs: CLI.Argv) => CLI.Argv;
|
||||
export declare const builder: (yargs: CLI.Argv) => CLI.Argv;
|
||||
export declare function handler(argv: CLI.Arguments): Promise<{
|
||||
src: string;
|
||||
dst: string;
|
||||
|
||||
@ -1,89 +1,32 @@
|
||||
import { logger } from '../index.js';
|
||||
import { cli } from '../cli.js';
|
||||
import { sanitize, defaults } from '../_cli.js';
|
||||
import { watermark } from '../lib/media/images/watermark.js';
|
||||
import { toYargs } from '@polymech/commons';
|
||||
import { watermark, WatermarkOptionsSchema } from '../lib/media/images/watermark.js';
|
||||
export const command = 'watermark';
|
||||
export const desc = 'Adds watermarks to images';
|
||||
export const defaultOptions = (yargs) => {
|
||||
return yargs.option('src', {
|
||||
describe: 'FILE|FOLDER|GLOB',
|
||||
demandOption: true
|
||||
}).option('dst', {
|
||||
describe: 'FILE|FOLDER|GLOB'
|
||||
}).option('debug', {
|
||||
default: false,
|
||||
describe: 'Enable internal debug messages',
|
||||
type: 'boolean'
|
||||
}).option('alt', {
|
||||
default: false,
|
||||
describe: 'Use alternate tokenizer, & instead of $',
|
||||
type: 'boolean'
|
||||
}).option('dry', {
|
||||
default: false,
|
||||
describe: 'Run without conversion',
|
||||
type: 'boolean'
|
||||
}).option('verbose', {
|
||||
default: false,
|
||||
describe: 'Show internal messages',
|
||||
type: 'boolean'
|
||||
}).option('logLevel', {
|
||||
describe: 'Log level : warn, info, debug, error',
|
||||
type: 'string',
|
||||
default: 'info'
|
||||
}).option('cache', {
|
||||
default: true,
|
||||
describe: 'Skip processing if target file already exists',
|
||||
type: 'boolean'
|
||||
}).option('watermark', {
|
||||
describe: 'Watermark content: text string or path to image file (PNG, JPG, SVG)',
|
||||
type: 'string',
|
||||
demandOption: true
|
||||
}).option('position', {
|
||||
describe: 'Position of watermark',
|
||||
choices: ['top-left', 'top-right', 'bottom-left', 'bottom-right', 'center'],
|
||||
default: 'bottom-right'
|
||||
}).option('margin', {
|
||||
describe: 'Margin from edges in pixels',
|
||||
type: 'number',
|
||||
default: 24
|
||||
}).option('opacity', {
|
||||
describe: 'Opacity of watermark (0-1)',
|
||||
type: 'number',
|
||||
default: 0.85
|
||||
}).option('sizePct', {
|
||||
describe: 'Size of image watermark as percentage of base image width (0-1)',
|
||||
type: 'number',
|
||||
default: 0.2
|
||||
}).option('fontSize', {
|
||||
describe: 'Font size for text watermark in pixels',
|
||||
type: 'number',
|
||||
default: 48
|
||||
}).option('color', {
|
||||
describe: 'Text color (hex format, e.g., #ffffff)',
|
||||
type: 'string',
|
||||
default: '#ffffff'
|
||||
}).option('fontFamily', {
|
||||
describe: 'Font family for text watermark',
|
||||
type: 'string',
|
||||
default: 'Arial'
|
||||
}).option('strokeColor', {
|
||||
describe: 'Text stroke color (hex format, e.g., #000000)',
|
||||
type: 'string',
|
||||
default: '#000000'
|
||||
}).option('strokeWidth', {
|
||||
describe: 'Text stroke width in pixels',
|
||||
type: 'number',
|
||||
default: 2
|
||||
return toYargs(yargs, WatermarkOptionsSchema(), {
|
||||
onKey: ((yargs, key, options) => {
|
||||
switch (key) {
|
||||
case 'src':
|
||||
return yargs.positional(key, { ...options, demandOption: true });
|
||||
case 'watermark':
|
||||
return yargs.option(key, { ...options, demandOption: true });
|
||||
default:
|
||||
return yargs.option(key, options);
|
||||
}
|
||||
})
|
||||
});
|
||||
};
|
||||
export const builder = defaultOptions;
|
||||
export async function handler(argv) {
|
||||
defaults();
|
||||
const options = sanitize(argv);
|
||||
const options = WatermarkOptionsSchema().parse(argv);
|
||||
logger.settings.minLevel = options.logLevel;
|
||||
// Pass raw watermark content and styling options to library
|
||||
options.watermark = argv.watermark;
|
||||
return await watermark(options);
|
||||
// The watermark content is already parsed by the schema
|
||||
const sanitizedOptions = sanitize(options);
|
||||
return await watermark(sanitizedOptions);
|
||||
}
|
||||
cli.command(command, desc, builder, handler);
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0ZXJtYXJrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1hbmRzL3dhdGVybWFyay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQ3BDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFDL0IsT0FBTyxFQUNILFFBQVEsRUFDUixRQUFRLEVBQ1gsTUFBTSxZQUFZLENBQUE7QUFFbkIsT0FBTyxFQUNILFNBQVMsRUFFWixNQUFNLGtDQUFrQyxDQUFBO0FBRXpDLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxXQUFXLENBQUM7QUFDbkMsTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUFHLDJCQUEyQixDQUFDO0FBRWhELE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLEtBQWUsRUFBRSxFQUFFO0lBQzlDLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUU7UUFDdkIsUUFBUSxFQUFFLGtCQUFrQjtRQUM1QixZQUFZLEVBQUUsSUFBSTtLQUNyQixDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRTtRQUNiLFFBQVEsRUFBRSxrQkFBa0I7S0FDL0IsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUU7UUFDZixPQUFPLEVBQUUsS0FBSztRQUNkLFFBQVEsRUFBRSxnQ0FBZ0M7UUFDMUMsSUFBSSxFQUFFLFNBQVM7S0FDbEIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUU7UUFDYixPQUFPLEVBQUUsS0FBSztRQUNkLFFBQVEsRUFBRSx5Q0FBeUM7UUFDbkQsSUFBSSxFQUFFLFNBQVM7S0FDbEIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUU7UUFDYixPQUFPLEVBQUUsS0FBSztRQUNkLFFBQVEsRUFBRSx3QkFBd0I7UUFDbEMsSUFBSSxFQUFFLFNBQVM7S0FDbEIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFT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
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0ZXJtYXJrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1hbmRzL3dhdGVybWFyay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQ3BDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFDL0IsT0FBTyxFQUNILFFBQVEsRUFDUixRQUFRLEVBQ1gsTUFBTSxZQUFZLENBQUE7QUFDbkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBRTNDLE9BQU8sRUFDSCxTQUFTLEVBRVQsc0JBQXNCLEVBQ3pCLE1BQU0sa0NBQWtDLENBQUE7QUFFekMsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLFdBQVcsQ0FBQztBQUNuQyxNQUFNLENBQUMsTUFBTSxJQUFJLEdBQUcsMkJBQTJCLENBQUM7QUFFaEQsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQUMsS0FBZSxFQUFFLEVBQUU7SUFDOUMsT0FBTyxPQUFPLENBQUMsS0FBSyxFQUFFLHNCQUFzQixFQUFFLEVBQUU7UUFDNUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxFQUFFO1lBQzVCLFFBQVEsR0FBRyxFQUFFLENBQUM7Z0JBQ1YsS0FBSyxLQUFLO29CQUNOLE9BQU8sS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsRUFBQyxHQUFHLE9BQU8sRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQTtnQkFDbEUsS0FBSyxXQUFXO29CQUNaLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsRUFBQyxHQUFHLE9BQU8sRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQTtnQkFDOUQ7b0JBQ0ksT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQTtZQUN6QyxDQUFDO1FBQ0wsQ0FBQyxDQUFDO0tBQ0wsQ0FBQyxDQUFBO0FBQ04sQ0FBQyxDQUFBO0FBQ0QsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLGNBQWMsQ0FBQTtBQUNyQyxNQUFNLENBQUMsS0FBSyxVQUFVLE9BQU8sQ0FBQyxJQUFtQjtJQUM3QyxRQUFRLEVBQUUsQ0FBQTtJQUNWLE1BQU0sT0FBTyxHQUFHLHNCQUFzQixFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBcUIsQ0FBQTtJQUN4RSxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBZSxDQUFBO0lBRWxELHdEQUF3RDtJQUN4RCxNQUFNLGdCQUFnQixHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQXFCLENBQUE7SUFFOUQsT0FBTyxNQUFNLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO0FBQzVDLENBQUM7QUFFRCxHQUFHLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFBIn0=
|
||||
8
packages/media/dist-in/lib/fs/index.d.ts
vendored
Normal file
8
packages/media/dist-in/lib/fs/index.d.ts
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
export { sync as read } from '@polymech/fs/read';
|
||||
export { sync as exists } from '@polymech/fs/exists';
|
||||
export { sync as dir } from '@polymech/fs/dir';
|
||||
export { sync as write } from '@polymech/fs/write';
|
||||
export declare const files: (dir: any, glob: any) => [];
|
||||
export declare const images: (source: any) => any[];
|
||||
export declare const forward_slash: (path: any) => any;
|
||||
export declare function resize_images(files: any): Promise<any[]>;
|
||||
33
packages/media/dist-in/lib/fs/index.js
Normal file
33
packages/media/dist-in/lib/fs/index.js
Normal file
@ -0,0 +1,33 @@
|
||||
import * as path from 'path';
|
||||
export { sync as read } from '@polymech/fs/read';
|
||||
export { sync as exists } from '@polymech/fs/exists';
|
||||
export { sync as dir } from '@polymech/fs/dir';
|
||||
export { sync as write } from '@polymech/fs/write';
|
||||
import { Helper } from '../process/index';
|
||||
import pMap from 'p-map';
|
||||
const IMAGES_GLOB = '*.+(JPG|jpg|png|PNG|gif)';
|
||||
import { filesEx } from '@polymech/commons/glob';
|
||||
export const files = (dir, glob) => filesEx(glob, { dot: true, cwd: dir, absolute: true });
|
||||
export const images = (source) => files(source, IMAGES_GLOB);
|
||||
export const forward_slash = (path) => {
|
||||
const isExtendedLengthPath = /^\\\\\?\\/.test(path);
|
||||
const hasNonAscii = /[^\u0000-\u0080]+/.test(path); // eslint-disable-line no-control-regex
|
||||
if (isExtendedLengthPath || hasNonAscii) {
|
||||
return path;
|
||||
}
|
||||
return path.replace(/\\/g, '/');
|
||||
};
|
||||
export async function resize_images(files) {
|
||||
return pMap(files, (file) => {
|
||||
const inParts = path.parse(file);
|
||||
const promise = Helper.run(inParts.dir, 'convert', [
|
||||
`"${inParts.base}"`,
|
||||
'-quality 70',
|
||||
'-resize 1980',
|
||||
'-sharpen 0x1.0',
|
||||
`"${inParts.name}${inParts.ext}"`
|
||||
]);
|
||||
return promise;
|
||||
});
|
||||
}
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2ZzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBRTdCLE9BQU8sRUFBRSxJQUFJLElBQUksSUFBSSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLElBQUksSUFBSSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsSUFBSSxJQUFJLEdBQUcsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxJQUFJLElBQUksS0FBSyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzFDLE9BQU8sSUFBSSxNQUFNLE9BQU8sQ0FBQztBQUV6QixNQUFNLFdBQVcsR0FBRywwQkFBMEIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDakQsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQU8sQ0FBQztBQUNqRyxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFVLENBQUM7QUFDdEUsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLENBQUMsSUFBSSxFQUFFLEVBQUU7SUFDckMsTUFBTSxvQkFBb0IsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BELE1BQU0sV0FBVyxHQUFHLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLHVDQUF1QztJQUUzRixJQUFJLG9CQUFvQixJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQ3pDLE9BQU8sSUFBSSxDQUFDO0lBQ2IsQ0FBQztJQUVELE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFDakMsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLEtBQUssVUFBVSxhQUFhLENBQUMsS0FBSztJQUNyQyxPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxJQUFZLEVBQUUsRUFBRTtRQUNoQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pDLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxTQUFTLEVBQzdDO1lBQ0ksSUFBSSxPQUFPLENBQUMsSUFBSSxHQUFHO1lBQ25CLGFBQWE7WUFDYixjQUFjO1lBQ2QsZ0JBQWdCO1lBQ2hCLElBQUksT0FBTyxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsR0FBRyxHQUFHO1NBQ3BDLENBQUMsQ0FBQztRQUNQLE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyJ9
|
||||
@ -1,13 +1,13 @@
|
||||
import { IConvertVideoOptions } from '../../../types';
|
||||
export declare const split: (src: string, dst: string, onNode: any, options: {
|
||||
interval: number;
|
||||
}) => Promise<void>;
|
||||
export declare const CONVERTERS: {
|
||||
'.mp3': (src: string, dst: string, onNode: any, options: {
|
||||
interval: number;
|
||||
}) => Promise<void>;
|
||||
};
|
||||
export declare const converter: (file: string) => any;
|
||||
export declare const convertFile: (file: any, target: any, onNode: (data: any) => void, options: IConvertVideoOptions) => Promise<any>;
|
||||
export declare function _convert(file: any, targets: string[], onNode: (data: any) => void, options: IConvertVideoOptions): Promise<any>;
|
||||
export declare const convert: (options: IConvertVideoOptions) => Promise<void>;
|
||||
import { IConvertVideoOptions } from '../../../types';
|
||||
export declare const split: (src: string, dst: string, onNode: any, options: {
|
||||
interval: number;
|
||||
}) => Promise<void>;
|
||||
export declare const CONVERTERS: {
|
||||
'.mp3': (src: string, dst: string, onNode: any, options: {
|
||||
interval: number;
|
||||
}) => Promise<void>;
|
||||
};
|
||||
export declare const converter: (file: string) => any;
|
||||
export declare const convertFile: (file: any, target: any, onNode: (data: any) => void, options: IConvertVideoOptions) => Promise<any>;
|
||||
export declare function _convert(file: any, targets: string[], onNode: (data: any) => void, options: IConvertVideoOptions): Promise<any>;
|
||||
export declare const convert: (options: IConvertVideoOptions) => Promise<void>;
|
||||
|
||||
File diff suppressed because one or more lines are too long
4
packages/media/dist-in/lib/media/ffmpeg.d.ts
vendored
4
packages/media/dist-in/lib/media/ffmpeg.d.ts
vendored
@ -1,2 +1,2 @@
|
||||
import { FfprobeData } from 'fluent-ffmpeg';
|
||||
export declare const meta: (src: string) => Promise<FfprobeData>;
|
||||
import { FfprobeData } from 'fluent-ffmpeg';
|
||||
export declare const meta: (src: string) => Promise<FfprobeData>;
|
||||
|
||||
@ -1,21 +1,17 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.meta = void 0;
|
||||
const FfmpegCommand = require('fluent-ffmpeg');
|
||||
const meta = async (src) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
const ff = new FfmpegCommand(src);
|
||||
ff.ffprobe(src, (err, metadata) => {
|
||||
if (err) {
|
||||
//logger.error('Error retrieving metadata:', err)
|
||||
reject(err);
|
||||
}
|
||||
else {
|
||||
//logger.info('Successfully retrieved metadata.');
|
||||
resolve(metadata);
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
exports.meta = meta;
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmZtcGVnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9tZWRpYS9mZm1wZWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFBO0FBRXZDLE1BQU0sSUFBSSxHQUFHLEtBQUssRUFBRSxHQUFXLEVBQXdCLEVBQUU7SUFDNUQsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtRQUNyQyxNQUFNLEVBQUUsR0FBRyxJQUFJLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUNqQyxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRSxRQUFRLEVBQUUsRUFBRTtZQUNoQyxJQUFJLEdBQUcsRUFBRTtnQkFDUCxpREFBaUQ7Z0JBQ2pELE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUNiO2lCQUFNO2dCQUNMLGtEQUFrRDtnQkFDbEQsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFBO2FBQ2xCO1FBQ0gsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FBQTtBQWJVLFFBQUEsSUFBSSxRQWFkIn0=
|
||||
const FfmpegCommand = require('fluent-ffmpeg');
|
||||
export const meta = async (src) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
const ff = new FfmpegCommand(src);
|
||||
ff.ffprobe(src, (err, metadata) => {
|
||||
if (err) {
|
||||
//logger.error('Error retrieving metadata:', err)
|
||||
reject(err);
|
||||
}
|
||||
else {
|
||||
//logger.info('Successfully retrieved metadata.');
|
||||
resolve(metadata);
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmZtcGVnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9tZWRpYS9mZm1wZWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFBO0FBRTlDLE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyxLQUFLLEVBQUUsR0FBVyxFQUF3QixFQUFFO0lBQzVELE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7UUFDckMsTUFBTSxFQUFFLEdBQUcsSUFBSSxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDakMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsUUFBUSxFQUFFLEVBQUU7WUFDaEMsSUFBSSxHQUFHLEVBQUUsQ0FBQztnQkFDUixpREFBaUQ7Z0JBQ2pELE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNkLENBQUM7aUJBQU0sQ0FBQztnQkFDTixrREFBa0Q7Z0JBQ2xELE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQTtZQUNuQixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FBQSJ9
|
||||
@ -6,6 +6,9 @@ export interface BriaBackgroundRemoveOptions extends IOptions {
|
||||
preserveAlpha?: boolean;
|
||||
jpg?: boolean;
|
||||
}
|
||||
export declare const BriaBackgroundRemoveOptionsSchema: (opts?: any) => any;
|
||||
export declare const types: () => void;
|
||||
export declare const schemas: () => void;
|
||||
export declare function removeBriaBackground(inputPath: string, outputPath: string, options: BriaBackgroundRemoveOptions): Promise<void>;
|
||||
export declare const briaBackgroundRemove: (options: BriaBackgroundRemoveOptions) => Promise<{
|
||||
src: string;
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -7,5 +7,8 @@ export interface BackgroundRemoveOptions extends IOptions {
|
||||
alpha_matting_background_threshold?: number;
|
||||
alpha_matting_erode_size?: number;
|
||||
}
|
||||
export declare const BackgroundRemoveOptionsSchema: (opts?: any) => any;
|
||||
export declare const types: () => void;
|
||||
export declare const schemas: () => void;
|
||||
export declare function removeBackgroundFile(inputPath: string, outputPath: string, options: BackgroundRemoveOptions): Promise<void>;
|
||||
export declare const backgroundRemove: (options: BackgroundRemoveOptions) => Promise<void[][]>;
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -5,4 +5,7 @@ export interface CropForegroundOptions extends IOptions {
|
||||
contentModeration?: boolean;
|
||||
preserveAlpha?: boolean;
|
||||
}
|
||||
export declare const CropForegroundOptionsSchema: (opts?: any) => any;
|
||||
export declare const types: () => void;
|
||||
export declare const schemas: () => void;
|
||||
export declare function cropForeground(options: CropForegroundOptions): Promise<void>;
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -1,6 +1,5 @@
|
||||
export * from './resize.js';
|
||||
export * from './convert.js';
|
||||
export * from './watermark.js';
|
||||
import sharp from 'sharp';
|
||||
import { IResizeOptions } from '../../../index.js';
|
||||
export declare const GLOB_BASIC = "png|jpg|tiff|jpeg|webp";
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -1,5 +1,8 @@
|
||||
import sharp from 'sharp';
|
||||
import { IOptions, IResizeOptions } from '../../../index.js';
|
||||
export declare const ResizeOptionsSchema: (opts?: any) => any;
|
||||
export declare const types: () => void;
|
||||
export declare const schemas: () => void;
|
||||
export declare const resizeFile: (source: string, target: string, onNode: (data: sharp.Sharp) => void, options: IResizeOptions) => Promise<sharp.Sharp | undefined>;
|
||||
export declare const _resize: (file: any, targets: string[], onNode: (data: any) => void, options: IOptions) => Promise<(void | sharp.Sharp)[]>;
|
||||
export declare const resize: (options: IResizeOptions) => Promise<any>;
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -36,6 +36,9 @@ export interface WatermarkOptions extends IOptions {
|
||||
textOptions?: TextWatermarkOptions;
|
||||
imageOptions?: LogoWatermarkOptions;
|
||||
}
|
||||
export declare const WatermarkOptionsSchema: (opts?: any) => any;
|
||||
export declare const types: () => void;
|
||||
export declare const schemas: () => void;
|
||||
export declare function addLogoWatermark(inputPath: string, logoPath: string, outputPath: string, opts?: LogoWatermarkOptions): Promise<void>;
|
||||
export declare function addTextWatermark(inputPath: string, text: string, outputPath: string, opts?: TextWatermarkOptions): Promise<void>;
|
||||
export declare const watermark: (options: WatermarkOptions) => Promise<{
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -1,23 +1,23 @@
|
||||
import { IConvertVideoOptions } from '../../../types';
|
||||
import { E_AudioCodec, E_Codec, E_Format } from '../video';
|
||||
export declare const frames: (src: any, dst: any, onNode: any, options?: {
|
||||
fps: number;
|
||||
}) => Promise<void>;
|
||||
export declare const CONVERTERS: {
|
||||
'.mp3': (inputPath: string, outputPath: string) => Promise<void>;
|
||||
'.jpg': (src: any, dst: any, onNode: any, options?: {
|
||||
fps: number;
|
||||
}) => Promise<void>;
|
||||
};
|
||||
export declare const converter: (file: string) => any;
|
||||
export declare const convertFile: (file: any, target: any, onNode: (data: any) => void, options: IConvertVideoOptions) => Promise<any>;
|
||||
export declare function _convert(file: any, targets: string[], onNode: (data: any) => void, options: IConvertVideoOptions): Promise<any>;
|
||||
export declare const convert: (options: IConvertVideoOptions) => Promise<void>;
|
||||
export declare const merge: (options: IConvertVideoOptions) => Promise<unknown>;
|
||||
export interface VideoOptions {
|
||||
frameRate?: number;
|
||||
videoCodec?: keyof typeof E_Codec;
|
||||
audioCodec?: keyof typeof E_AudioCodec;
|
||||
format?: keyof typeof E_Format;
|
||||
}
|
||||
export declare const createVideoFromImages: (src: string, target: any, onNode: any, audio: any, { frameRate, videoCodec, audioCodec, format, }: VideoOptions) => Promise<unknown>;
|
||||
import { IConvertVideoOptions } from '../../../types';
|
||||
import { E_AudioCodec, E_Codec, E_Format } from '../video';
|
||||
export declare const frames: (src: any, dst: any, onNode: any, options?: {
|
||||
fps: number;
|
||||
}) => Promise<void>;
|
||||
export declare const CONVERTERS: {
|
||||
'.mp3': (inputPath: string, outputPath: string) => Promise<void>;
|
||||
'.jpg': (src: any, dst: any, onNode: any, options?: {
|
||||
fps: number;
|
||||
}) => Promise<void>;
|
||||
};
|
||||
export declare const converter: (file: string) => any;
|
||||
export declare const convertFile: (file: any, target: any, onNode: (data: any) => void, options: IConvertVideoOptions) => Promise<any>;
|
||||
export declare function _convert(file: any, targets: string[], onNode: (data: any) => void, options: IConvertVideoOptions): Promise<any>;
|
||||
export declare const convert: (options: IConvertVideoOptions) => Promise<void>;
|
||||
export declare const merge: (options: IConvertVideoOptions) => Promise<unknown>;
|
||||
export interface VideoOptions {
|
||||
frameRate?: number;
|
||||
videoCodec?: keyof typeof E_Codec;
|
||||
audioCodec?: keyof typeof E_AudioCodec;
|
||||
format?: keyof typeof E_Format;
|
||||
}
|
||||
export declare const createVideoFromImages: (src: string, target: any, onNode: any, audio: any, { frameRate, videoCodec, audioCodec, format, }: VideoOptions) => Promise<unknown>;
|
||||
|
||||
File diff suppressed because one or more lines are too long
266
packages/media/dist-in/lib/media/video/index.d.ts
vendored
266
packages/media/dist-in/lib/media/video/index.d.ts
vendored
@ -1,133 +1,133 @@
|
||||
import { z } from 'zod';
|
||||
export declare const GLOB_BASIC = "png|jpg|tiff|jpeg|webp";
|
||||
export * from './resize';
|
||||
export * from './convert';
|
||||
export declare const E_Format: {
|
||||
readonly MP4: "mp4";
|
||||
readonly MKV: "mkv";
|
||||
readonly MOV: "mov";
|
||||
readonly AVI: "avi";
|
||||
readonly FLV: "flv";
|
||||
readonly WMV: "wmv";
|
||||
readonly WEBM: "webm";
|
||||
readonly MP3: "mp3";
|
||||
readonly OGG: "ogg";
|
||||
readonly WAV: "wav";
|
||||
};
|
||||
export declare const E_LogLevel: {
|
||||
readonly QUIET: "quiet";
|
||||
readonly PANIC: "panic";
|
||||
readonly FATAL: "fatal";
|
||||
readonly ERROR: "error";
|
||||
readonly WARNING: "warning";
|
||||
readonly INFO: "info";
|
||||
readonly VERBOSE: "verbose";
|
||||
readonly DEBUG: "debug";
|
||||
readonly TRACE: "trace";
|
||||
};
|
||||
export declare const E_AudioCodec: {
|
||||
readonly AAC: "aac";
|
||||
readonly MP3: "mp3";
|
||||
readonly VORBIS: "vorbis";
|
||||
readonly FLAC: "flac";
|
||||
readonly OPUS: "opus";
|
||||
readonly WAV: "wav";
|
||||
};
|
||||
export declare const E_Codec: {
|
||||
readonly LIBX264: "libx264";
|
||||
readonly LIBX265: "libx265";
|
||||
readonly LIBVP9: "libvpx-vp9";
|
||||
readonly LIBAOM: "libaom-av1";
|
||||
readonly LIBTHEORA: "libtheora";
|
||||
readonly MPEG2VIDEO: "mpeg2video";
|
||||
readonly COPY: "copy";
|
||||
};
|
||||
declare const ffmpegOptionsSchema: z.ZodObject<{
|
||||
input: z.ZodString;
|
||||
output: z.ZodString;
|
||||
codec: z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<{
|
||||
readonly LIBX264: "libx264";
|
||||
readonly LIBX265: "libx265";
|
||||
readonly LIBVP9: "libvpx-vp9";
|
||||
readonly LIBAOM: "libaom-av1";
|
||||
readonly LIBTHEORA: "libtheora";
|
||||
readonly MPEG2VIDEO: "mpeg2video";
|
||||
readonly COPY: "copy";
|
||||
}>>>;
|
||||
bitrate: z.ZodOptional<z.ZodString>;
|
||||
framerate: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
||||
resolution: z.ZodOptional<z.ZodString>;
|
||||
audioCodec: z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<{
|
||||
readonly AAC: "aac";
|
||||
readonly MP3: "mp3";
|
||||
readonly VORBIS: "vorbis";
|
||||
readonly FLAC: "flac";
|
||||
readonly OPUS: "opus";
|
||||
readonly WAV: "wav";
|
||||
}>>>;
|
||||
audioBitrate: z.ZodOptional<z.ZodString>;
|
||||
audioChannels: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
||||
preset: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
||||
crf: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
||||
format: z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<{
|
||||
readonly MP4: "mp4";
|
||||
readonly MKV: "mkv";
|
||||
readonly MOV: "mov";
|
||||
readonly AVI: "avi";
|
||||
readonly FLV: "flv";
|
||||
readonly WMV: "wmv";
|
||||
readonly WEBM: "webm";
|
||||
readonly MP3: "mp3";
|
||||
readonly OGG: "ogg";
|
||||
readonly WAV: "wav";
|
||||
}>>>;
|
||||
startTime: z.ZodOptional<z.ZodString>;
|
||||
duration: z.ZodOptional<z.ZodString>;
|
||||
overwrite: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
||||
loglevel: z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<{
|
||||
readonly QUIET: "quiet";
|
||||
readonly PANIC: "panic";
|
||||
readonly FATAL: "fatal";
|
||||
readonly ERROR: "error";
|
||||
readonly WARNING: "warning";
|
||||
readonly INFO: "info";
|
||||
readonly VERBOSE: "verbose";
|
||||
readonly DEBUG: "debug";
|
||||
readonly TRACE: "trace";
|
||||
}>>>;
|
||||
}, "strip", z.ZodTypeAny, {
|
||||
audioCodec?: "aac" | "mp3" | "vorbis" | "flac" | "opus" | "wav";
|
||||
format?: "mp3" | "wav" | "mp4" | "mkv" | "mov" | "avi" | "flv" | "wmv" | "webm" | "ogg";
|
||||
input?: string;
|
||||
output?: string;
|
||||
codec?: "libx264" | "libx265" | "libvpx-vp9" | "libaom-av1" | "libtheora" | "mpeg2video" | "copy";
|
||||
bitrate?: string;
|
||||
framerate?: number;
|
||||
resolution?: string;
|
||||
audioBitrate?: string;
|
||||
audioChannels?: number;
|
||||
preset?: string;
|
||||
crf?: number;
|
||||
startTime?: string;
|
||||
duration?: string;
|
||||
overwrite?: boolean;
|
||||
loglevel?: "debug" | "verbose" | "error" | "quiet" | "panic" | "fatal" | "warning" | "info" | "trace";
|
||||
}, {
|
||||
audioCodec?: "aac" | "mp3" | "vorbis" | "flac" | "opus" | "wav";
|
||||
format?: "mp3" | "wav" | "mp4" | "mkv" | "mov" | "avi" | "flv" | "wmv" | "webm" | "ogg";
|
||||
input?: string;
|
||||
output?: string;
|
||||
codec?: "libx264" | "libx265" | "libvpx-vp9" | "libaom-av1" | "libtheora" | "mpeg2video" | "copy";
|
||||
bitrate?: string;
|
||||
framerate?: number;
|
||||
resolution?: string;
|
||||
audioBitrate?: string;
|
||||
audioChannels?: number;
|
||||
preset?: string;
|
||||
crf?: number;
|
||||
startTime?: string;
|
||||
duration?: string;
|
||||
overwrite?: boolean;
|
||||
loglevel?: "debug" | "verbose" | "error" | "quiet" | "panic" | "fatal" | "warning" | "info" | "trace";
|
||||
}>;
|
||||
export type FFmpegOptions = z.infer<typeof ffmpegOptionsSchema>;
|
||||
import { z } from 'zod';
|
||||
export declare const GLOB_BASIC = "png|jpg|tiff|jpeg|webp";
|
||||
export * from './resize';
|
||||
export * from './convert';
|
||||
export declare const E_Format: {
|
||||
readonly MP4: "mp4";
|
||||
readonly MKV: "mkv";
|
||||
readonly MOV: "mov";
|
||||
readonly AVI: "avi";
|
||||
readonly FLV: "flv";
|
||||
readonly WMV: "wmv";
|
||||
readonly WEBM: "webm";
|
||||
readonly MP3: "mp3";
|
||||
readonly OGG: "ogg";
|
||||
readonly WAV: "wav";
|
||||
};
|
||||
export declare const E_LogLevel: {
|
||||
readonly QUIET: "quiet";
|
||||
readonly PANIC: "panic";
|
||||
readonly FATAL: "fatal";
|
||||
readonly ERROR: "error";
|
||||
readonly WARNING: "warning";
|
||||
readonly INFO: "info";
|
||||
readonly VERBOSE: "verbose";
|
||||
readonly DEBUG: "debug";
|
||||
readonly TRACE: "trace";
|
||||
};
|
||||
export declare const E_AudioCodec: {
|
||||
readonly AAC: "aac";
|
||||
readonly MP3: "mp3";
|
||||
readonly VORBIS: "vorbis";
|
||||
readonly FLAC: "flac";
|
||||
readonly OPUS: "opus";
|
||||
readonly WAV: "wav";
|
||||
};
|
||||
export declare const E_Codec: {
|
||||
readonly LIBX264: "libx264";
|
||||
readonly LIBX265: "libx265";
|
||||
readonly LIBVP9: "libvpx-vp9";
|
||||
readonly LIBAOM: "libaom-av1";
|
||||
readonly LIBTHEORA: "libtheora";
|
||||
readonly MPEG2VIDEO: "mpeg2video";
|
||||
readonly COPY: "copy";
|
||||
};
|
||||
declare const ffmpegOptionsSchema: z.ZodObject<{
|
||||
input: z.ZodString;
|
||||
output: z.ZodString;
|
||||
codec: z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<{
|
||||
readonly LIBX264: "libx264";
|
||||
readonly LIBX265: "libx265";
|
||||
readonly LIBVP9: "libvpx-vp9";
|
||||
readonly LIBAOM: "libaom-av1";
|
||||
readonly LIBTHEORA: "libtheora";
|
||||
readonly MPEG2VIDEO: "mpeg2video";
|
||||
readonly COPY: "copy";
|
||||
}>>>;
|
||||
bitrate: z.ZodOptional<z.ZodString>;
|
||||
framerate: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
||||
resolution: z.ZodOptional<z.ZodString>;
|
||||
audioCodec: z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<{
|
||||
readonly AAC: "aac";
|
||||
readonly MP3: "mp3";
|
||||
readonly VORBIS: "vorbis";
|
||||
readonly FLAC: "flac";
|
||||
readonly OPUS: "opus";
|
||||
readonly WAV: "wav";
|
||||
}>>>;
|
||||
audioBitrate: z.ZodOptional<z.ZodString>;
|
||||
audioChannels: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
||||
preset: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
||||
crf: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
||||
format: z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<{
|
||||
readonly MP4: "mp4";
|
||||
readonly MKV: "mkv";
|
||||
readonly MOV: "mov";
|
||||
readonly AVI: "avi";
|
||||
readonly FLV: "flv";
|
||||
readonly WMV: "wmv";
|
||||
readonly WEBM: "webm";
|
||||
readonly MP3: "mp3";
|
||||
readonly OGG: "ogg";
|
||||
readonly WAV: "wav";
|
||||
}>>>;
|
||||
startTime: z.ZodOptional<z.ZodString>;
|
||||
duration: z.ZodOptional<z.ZodString>;
|
||||
overwrite: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
||||
loglevel: z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<{
|
||||
readonly QUIET: "quiet";
|
||||
readonly PANIC: "panic";
|
||||
readonly FATAL: "fatal";
|
||||
readonly ERROR: "error";
|
||||
readonly WARNING: "warning";
|
||||
readonly INFO: "info";
|
||||
readonly VERBOSE: "verbose";
|
||||
readonly DEBUG: "debug";
|
||||
readonly TRACE: "trace";
|
||||
}>>>;
|
||||
}, "strip", z.ZodTypeAny, {
|
||||
input?: string;
|
||||
output?: string;
|
||||
format?: "mp4" | "mkv" | "mov" | "avi" | "flv" | "wmv" | "webm" | "mp3" | "ogg" | "wav";
|
||||
codec?: "libx264" | "libx265" | "libvpx-vp9" | "libaom-av1" | "libtheora" | "mpeg2video" | "copy";
|
||||
bitrate?: string;
|
||||
framerate?: number;
|
||||
resolution?: string;
|
||||
audioCodec?: "mp3" | "wav" | "aac" | "vorbis" | "flac" | "opus";
|
||||
audioBitrate?: string;
|
||||
audioChannels?: number;
|
||||
preset?: string;
|
||||
crf?: number;
|
||||
startTime?: string;
|
||||
duration?: string;
|
||||
overwrite?: boolean;
|
||||
loglevel?: "debug" | "verbose" | "info" | "error" | "quiet" | "panic" | "fatal" | "warning" | "trace";
|
||||
}, {
|
||||
input?: string;
|
||||
output?: string;
|
||||
format?: "mp4" | "mkv" | "mov" | "avi" | "flv" | "wmv" | "webm" | "mp3" | "ogg" | "wav";
|
||||
codec?: "libx264" | "libx265" | "libvpx-vp9" | "libaom-av1" | "libtheora" | "mpeg2video" | "copy";
|
||||
bitrate?: string;
|
||||
framerate?: number;
|
||||
resolution?: string;
|
||||
audioCodec?: "mp3" | "wav" | "aac" | "vorbis" | "flac" | "opus";
|
||||
audioBitrate?: string;
|
||||
audioChannels?: number;
|
||||
preset?: string;
|
||||
crf?: number;
|
||||
startTime?: string;
|
||||
duration?: string;
|
||||
overwrite?: boolean;
|
||||
loglevel?: "debug" | "verbose" | "info" | "error" | "quiet" | "panic" | "fatal" | "warning" | "trace";
|
||||
}>;
|
||||
export type FFmpegOptions = z.infer<typeof ffmpegOptionsSchema>;
|
||||
|
||||
@ -1,85 +1,68 @@
|
||||
"use strict";
|
||||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
||||
if (k2 === undefined) k2 = k;
|
||||
var desc = Object.getOwnPropertyDescriptor(m, k);
|
||||
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
||||
desc = { enumerable: true, get: function() { return m[k]; } };
|
||||
}
|
||||
Object.defineProperty(o, k2, desc);
|
||||
}) : (function(o, m, k, k2) {
|
||||
if (k2 === undefined) k2 = k;
|
||||
o[k2] = m[k];
|
||||
}));
|
||||
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
||||
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.E_Codec = exports.E_AudioCodec = exports.E_LogLevel = exports.E_Format = exports.GLOB_BASIC = void 0;
|
||||
const zod_1 = require("zod");
|
||||
const FfmpegCommand = require('fluent-ffmpeg');
|
||||
exports.GLOB_BASIC = 'png|jpg|tiff|jpeg|webp';
|
||||
__exportStar(require("./resize"), exports);
|
||||
__exportStar(require("./convert"), exports);
|
||||
exports.E_Format = {
|
||||
MP4: 'mp4',
|
||||
MKV: 'mkv',
|
||||
MOV: 'mov',
|
||||
AVI: 'avi',
|
||||
FLV: 'flv',
|
||||
WMV: 'wmv',
|
||||
WEBM: 'webm',
|
||||
MP3: 'mp3',
|
||||
OGG: 'ogg',
|
||||
WAV: 'wav'
|
||||
};
|
||||
exports.E_LogLevel = {
|
||||
QUIET: 'quiet',
|
||||
PANIC: 'panic',
|
||||
FATAL: 'fatal',
|
||||
ERROR: 'error',
|
||||
WARNING: 'warning',
|
||||
INFO: 'info',
|
||||
VERBOSE: 'verbose',
|
||||
DEBUG: 'debug',
|
||||
TRACE: 'trace'
|
||||
};
|
||||
exports.E_AudioCodec = {
|
||||
AAC: 'aac',
|
||||
MP3: 'mp3',
|
||||
VORBIS: 'vorbis',
|
||||
FLAC: 'flac',
|
||||
OPUS: 'opus',
|
||||
WAV: 'wav'
|
||||
};
|
||||
exports.E_Codec = {
|
||||
LIBX264: 'libx264',
|
||||
LIBX265: 'libx265',
|
||||
LIBVP9: 'libvpx-vp9',
|
||||
LIBAOM: 'libaom-av1',
|
||||
LIBTHEORA: 'libtheora',
|
||||
MPEG2VIDEO: 'mpeg2video',
|
||||
COPY: 'copy'
|
||||
};
|
||||
const formatEnum = zod_1.z.nativeEnum(exports.E_Format);
|
||||
const loglevelEnum = zod_1.z.nativeEnum(exports.E_LogLevel);
|
||||
const audioCodecEnum = zod_1.z.nativeEnum(exports.E_AudioCodec);
|
||||
const codecEnum = zod_1.z.nativeEnum(exports.E_Codec);
|
||||
const ffmpegOptionsSchema = zod_1.z.object({
|
||||
input: zod_1.z.string().describe("Path to the input file"),
|
||||
output: zod_1.z.string().describe("Path to the output file"),
|
||||
codec: codecEnum.optional().describe("Codec to be used for encoding (e.g., 'libx264', 'aac')").default(exports.E_Codec.LIBX264),
|
||||
bitrate: zod_1.z.string().optional().describe("Bitrate for encoding (e.g., '500k', '2M')"),
|
||||
framerate: zod_1.z.number().optional().describe("Frames per second (e.g., 30, 60)").default(30),
|
||||
resolution: zod_1.z.string().optional().describe("Resolution of the output (e.g., '1920x1080', '1280x720')"),
|
||||
audioCodec: audioCodecEnum.optional().describe("Audio codec to be used for encoding (e.g., 'aac', 'mp3')").default(exports.E_AudioCodec.AAC),
|
||||
audioBitrate: zod_1.z.string().optional().describe("Bitrate for audio encoding (e.g., '128k', '256k')"),
|
||||
audioChannels: zod_1.z.number().optional().describe("Number of audio channels (e.g., 1 for mono, 2 for stereo)").default(2),
|
||||
preset: zod_1.z.string().optional().describe("Encoding preset to use for balancing speed and quality (e.g., 'ultrafast', 'medium', 'slow')").default('medium'),
|
||||
crf: zod_1.z.number().optional().describe("Constant Rate Factor for controlling quality (lower values mean higher quality, range: 0-51)").default(23),
|
||||
format: formatEnum.optional().describe("Container format for output file (e.g., 'mp4', 'mkv', 'mov')").default(exports.E_Format.MP4),
|
||||
startTime: zod_1.z.string().optional().describe("Start time of the input file (e.g., '00:01:30' for 1 minute 30 seconds)"),
|
||||
duration: zod_1.z.string().optional().describe("Duration of the output (e.g., '00:05:00' for 5 minutes)"),
|
||||
overwrite: zod_1.z.boolean().optional().describe("Whether to overwrite the output file if it already exists").default(false),
|
||||
loglevel: loglevelEnum.optional().describe("Logging level for ffmpeg output").default(exports.E_LogLevel.INFO),
|
||||
});
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL21lZGlhL3ZpZGVvL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUEsNkJBQXVCO0FBRXZCLE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQTtBQUVqQyxRQUFBLFVBQVUsR0FBRyx3QkFBd0IsQ0FBQTtBQUNsRCwyQ0FBd0I7QUFDeEIsNENBQXlCO0FBRVosUUFBQSxRQUFRLEdBQUc7SUFDcEIsR0FBRyxFQUFFLEtBQUs7SUFDVixHQUFHLEVBQUUsS0FBSztJQUNWLEdBQUcsRUFBRSxLQUFLO0lBQ1YsR0FBRyxFQUFFLEtBQUs7SUFDVixHQUFHLEVBQUUsS0FBSztJQUNWLEdBQUcsRUFBRSxLQUFLO0lBQ1YsSUFBSSxFQUFFLE1BQU07SUFDWixHQUFHLEVBQUUsS0FBSztJQUNWLEdBQUcsRUFBRSxLQUFLO0lBQ1YsR0FBRyxFQUFFLEtBQUs7Q0FDRixDQUFDO0FBRUUsUUFBQSxVQUFVLEdBQUc7SUFDeEIsS0FBSyxFQUFFLE9BQU87SUFDZCxLQUFLLEVBQUUsT0FBTztJQUNkLEtBQUssRUFBRSxPQUFPO0lBQ2QsS0FBSyxFQUFFLE9BQU87SUFDZCxPQUFPLEVBQUUsU0FBUztJQUNsQixJQUFJLEVBQUUsTUFBTTtJQUNaLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLEtBQUssRUFBRSxPQUFPO0lBQ2QsS0FBSyxFQUFFLE9BQU87Q0FDTixDQUFDO0FBRUUsUUFBQSxZQUFZLEdBQUc7SUFDMUIsR0FBRyxFQUFFLEtBQUs7SUFDVixHQUFHLEVBQUUsS0FBSztJQUNWLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLElBQUksRUFBRSxNQUFNO0lBQ1osSUFBSSxFQUFFLE1BQU07SUFDWixHQUFHLEVBQUUsS0FBSztDQUNGLENBQUM7QUFFRSxRQUFBLE9BQU8sR0FBRztJQUNyQixPQUFPLEVBQUUsU0FBUztJQUNs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
|
||||
import { z } from 'zod';
|
||||
const FfmpegCommand = require('fluent-ffmpeg');
|
||||
export const GLOB_BASIC = 'png|jpg|tiff|jpeg|webp';
|
||||
export * from './resize';
|
||||
export * from './convert';
|
||||
export const E_Format = {
|
||||
MP4: 'mp4',
|
||||
MKV: 'mkv',
|
||||
MOV: 'mov',
|
||||
AVI: 'avi',
|
||||
FLV: 'flv',
|
||||
WMV: 'wmv',
|
||||
WEBM: 'webm',
|
||||
MP3: 'mp3',
|
||||
OGG: 'ogg',
|
||||
WAV: 'wav'
|
||||
};
|
||||
export const E_LogLevel = {
|
||||
QUIET: 'quiet',
|
||||
PANIC: 'panic',
|
||||
FATAL: 'fatal',
|
||||
ERROR: 'error',
|
||||
WARNING: 'warning',
|
||||
INFO: 'info',
|
||||
VERBOSE: 'verbose',
|
||||
DEBUG: 'debug',
|
||||
TRACE: 'trace'
|
||||
};
|
||||
export const E_AudioCodec = {
|
||||
AAC: 'aac',
|
||||
MP3: 'mp3',
|
||||
VORBIS: 'vorbis',
|
||||
FLAC: 'flac',
|
||||
OPUS: 'opus',
|
||||
WAV: 'wav'
|
||||
};
|
||||
export const E_Codec = {
|
||||
LIBX264: 'libx264',
|
||||
LIBX265: 'libx265',
|
||||
LIBVP9: 'libvpx-vp9',
|
||||
LIBAOM: 'libaom-av1',
|
||||
LIBTHEORA: 'libtheora',
|
||||
MPEG2VIDEO: 'mpeg2video',
|
||||
COPY: 'copy'
|
||||
};
|
||||
const formatEnum = z.nativeEnum(E_Format);
|
||||
const loglevelEnum = z.nativeEnum(E_LogLevel);
|
||||
const audioCodecEnum = z.nativeEnum(E_AudioCodec);
|
||||
const codecEnum = z.nativeEnum(E_Codec);
|
||||
const ffmpegOptionsSchema = z.object({
|
||||
input: z.string().describe("Path to the input file"),
|
||||
output: z.string().describe("Path to the output file"),
|
||||
codec: codecEnum.optional().describe("Codec to be used for encoding (e.g., 'libx264', 'aac')").default(E_Codec.LIBX264),
|
||||
bitrate: z.string().optional().describe("Bitrate for encoding (e.g., '500k', '2M')"),
|
||||
framerate: z.number().optional().describe("Frames per second (e.g., 30, 60)").default(30),
|
||||
resolution: z.string().optional().describe("Resolution of the output (e.g., '1920x1080', '1280x720')"),
|
||||
audioCodec: audioCodecEnum.optional().describe("Audio codec to be used for encoding (e.g., 'aac', 'mp3')").default(E_AudioCodec.AAC),
|
||||
audioBitrate: z.string().optional().describe("Bitrate for audio encoding (e.g., '128k', '256k')"),
|
||||
audioChannels: z.number().optional().describe("Number of audio channels (e.g., 1 for mono, 2 for stereo)").default(2),
|
||||
preset: z.string().optional().describe("Encoding preset to use for balancing speed and quality (e.g., 'ultrafast', 'medium', 'slow')").default('medium'),
|
||||
crf: z.number().optional().describe("Constant Rate Factor for controlling quality (lower values mean higher quality, range: 0-51)").default(23),
|
||||
format: formatEnum.optional().describe("Container format for output file (e.g., 'mp4', 'mkv', 'mov')").default(E_Format.MP4),
|
||||
startTime: z.string().optional().describe("Start time of the input file (e.g., '00:01:30' for 1 minute 30 seconds)"),
|
||||
duration: z.string().optional().describe("Duration of the output (e.g., '00:05:00' for 5 minutes)"),
|
||||
overwrite: z.boolean().optional().describe("Whether to overwrite the output file if it already exists").default(false),
|
||||
loglevel: loglevelEnum.optional().describe("Logging level for ffmpeg output").default(E_LogLevel.INFO),
|
||||
});
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL21lZGlhL3ZpZGVvL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUE7QUFFdkIsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFBO0FBRTlDLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyx3QkFBd0IsQ0FBQTtBQUNsRCxjQUFjLFVBQVUsQ0FBQTtBQUN4QixjQUFjLFdBQVcsQ0FBQTtBQUV6QixNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUc7SUFDcEIsR0FBRyxFQUFFLEtBQUs7SUFDVixHQUFHLEVBQUUsS0FBSztJQUNWLEdBQUcsRUFBRSxLQUFLO0lBQ1YsR0FBRyxFQUFFLEtBQUs7SUFDVixHQUFHLEVBQUUsS0FBSztJQUNWLEdBQUcsRUFBRSxLQUFLO0lBQ1YsSUFBSSxFQUFFLE1BQU07SUFDWixHQUFHLEVBQUUsS0FBSztJQUNWLEdBQUcsRUFBRSxLQUFLO0lBQ1YsR0FBRyxFQUFFLEtBQUs7Q0FDRixDQUFDO0FBRVgsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLEtBQUssRUFBRSxPQUFPO0lBQ2QsS0FBSyxFQUFFLE9BQU87SUFDZCxLQUFLLEVBQUUsT0FBTztJQUNkLEtBQUssRUFBRSxPQUFPO0lBQ2QsT0FBTyxFQUFFLFNBQVM7SUFDbEIsSUFBSSxFQUFFLE1BQU07SUFDWixPQUFPLEVBQUUsU0FBUztJQUNsQixLQUFLLEVBQUUsT0FBTztJQUNkLEtBQUssRUFBRSxPQUFPO0NBQ04sQ0FBQztBQUVYLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRztJQUMxQixHQUFHLEVBQUUsS0FBSztJQUNWLEdBQUcsRUFBRSxLQUFLO0lBQ1YsTUFBTSxFQUFFLFFBQVE7SUFDaEIsSUFBSSxFQUFFLE1BQU07SUFDWixJQUFJLEVBQUUsTUFBTTtJQUNaLEdB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
|
||||
1
packages/media/dist-in/lib/media/video/lib.d.ts
vendored
Normal file
1
packages/media/dist-in/lib/media/video/lib.d.ts
vendored
Normal file
@ -0,0 +1 @@
|
||||
export {};
|
||||
2
packages/media/dist-in/lib/media/video/lib.js
Normal file
2
packages/media/dist-in/lib/media/video/lib.js
Normal file
@ -0,0 +1,2 @@
|
||||
export {};
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9tZWRpYS92aWRlby9saWIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
|
||||
14
packages/media/dist-in/lib/media/video/merge.d.ts
vendored
Normal file
14
packages/media/dist-in/lib/media/video/merge.d.ts
vendored
Normal file
@ -0,0 +1,14 @@
|
||||
import { IConvertVideoOptions } from '../../../types';
|
||||
export declare const frames: (src: any, dst: any, onNode: any, options?: {
|
||||
interval: number;
|
||||
}) => Promise<void>;
|
||||
export declare const CONVERTERS: {
|
||||
'.mp3': (inputPath: string, outputPath: string) => Promise<void>;
|
||||
'.jpg': (src: any, dst: any, onNode: any, options?: {
|
||||
interval: number;
|
||||
}) => Promise<void>;
|
||||
};
|
||||
export declare const converter: (file: string) => any;
|
||||
export declare const convertFile: (file: any, target: any, onNode: (data: any) => void, options: IConvertVideoOptions) => Promise<any>;
|
||||
export declare function _convert(file: any, targets: string[], onNode: (data: any) => void, options: IConvertVideoOptions): Promise<any>;
|
||||
export declare const convert: (options: IConvertVideoOptions) => Promise<void>;
|
||||
98
packages/media/dist-in/lib/media/video/merge.js
Normal file
98
packages/media/dist-in/lib/media/video/merge.js
Normal file
File diff suppressed because one or more lines are too long
@ -1,6 +1,6 @@
|
||||
import * as sharp from 'sharp';
|
||||
import { IOptions, IResizeOptions } from '../../../types';
|
||||
export declare const meta: (file: any, image: sharp.Sharp) => Promise<sharp.Metadata>;
|
||||
export declare const resizeFile: (file: any, target: any, onNode: (data: any) => void, options: IResizeOptions) => Promise<sharp.Sharp>;
|
||||
export declare const _resize: (file: any, targets: string[], onNode: (data: any) => void, options: IOptions) => Promise<any>;
|
||||
export declare const resize: (options: IOptions) => Promise<void>;
|
||||
import * as sharp from 'sharp';
|
||||
import { IOptions, IResizeOptions } from '../../../types';
|
||||
export declare const meta: (file: any, image: sharp.Sharp) => Promise<sharp.Metadata>;
|
||||
export declare const resizeFile: (file: any, target: any, onNode: (data: any) => void, options: IResizeOptions) => Promise<sharp.Sharp>;
|
||||
export declare const _resize: (file: any, targets: string[], onNode: (data: any) => void, options: IOptions) => Promise<any>;
|
||||
export declare const resize: (options: IOptions) => Promise<void>;
|
||||
|
||||
File diff suppressed because one or more lines are too long
8
packages/media/dist-in/lib/pdf/convert.d.ts
vendored
8
packages/media/dist-in/lib/pdf/convert.d.ts
vendored
@ -1,7 +1,10 @@
|
||||
import { Logger } from 'tslog';
|
||||
import { z } from 'zod';
|
||||
import { Buffer } from 'node:buffer';
|
||||
import { ConvertCommandConfig } from "./types.js";
|
||||
export declare const DEFAULT_OUTPUT_TEMPLATE = "${SRC_DIR}/${SRC_NAME}/${SRC_NAME}_${PAGE}.${FORMAT}";
|
||||
export declare const Pdf2JpgOptionsSchema: (opts?: any) => any;
|
||||
export declare const types: () => void;
|
||||
export declare const schemas: () => void;
|
||||
export type ImageFormat = 'png' | 'jpg';
|
||||
export interface PdfToImageOptions {
|
||||
baseVariables: Record<string, any>;
|
||||
@ -14,6 +17,7 @@ export interface PdfToImageOptions {
|
||||
logger?: Logger<any>;
|
||||
}
|
||||
export declare function convertPdfToImages(pdfData: Buffer, options: PdfToImageOptions): Promise<string[]>;
|
||||
export type Pdf2JpgConfig = z.infer<ReturnType<typeof Pdf2JpgOptionsSchema>>;
|
||||
/**
|
||||
* Runs the PDF to images conversion process.
|
||||
* Generates variables, determines output path, reads PDF, and calls the conversion engine.
|
||||
@ -21,4 +25,4 @@ export declare function convertPdfToImages(pdfData: Buffer, options: PdfToImageO
|
||||
* @param logger - The logger instance to use for logging.
|
||||
* @returns A promise that resolves with an array of generated image file paths.
|
||||
*/
|
||||
export declare function runConversion(config: ConvertCommandConfig, logger: Logger<any>): Promise<string[]>;
|
||||
export declare function runConversion(config: Pdf2JpgConfig, logger: Logger<any>): Promise<string[]>;
|
||||
|
||||
File diff suppressed because one or more lines are too long
1
packages/media/dist-in/lib/pdf/split.d.ts
vendored
Normal file
1
packages/media/dist-in/lib/pdf/split.d.ts
vendored
Normal file
@ -0,0 +1 @@
|
||||
export {};
|
||||
2
packages/media/dist-in/lib/pdf/split.js
Normal file
2
packages/media/dist-in/lib/pdf/split.js
Normal file
@ -0,0 +1,2 @@
|
||||
export {};
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsaXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3BkZi9zcGxpdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
|
||||
16
packages/media/dist-in/lib/ui/electron.d.ts
vendored
Normal file
16
packages/media/dist-in/lib/ui/electron.d.ts
vendored
Normal file
@ -0,0 +1,16 @@
|
||||
export interface Result {
|
||||
editBoxValue: string;
|
||||
selectedTemplate: string;
|
||||
selectedFiles: string[];
|
||||
selectedModel: string;
|
||||
}
|
||||
export declare const web_prompt: (prompt: string, dst: string, variables?: any) => Promise<any>;
|
||||
export declare const renderSchemaUI: (options: {
|
||||
schema: any;
|
||||
uiSchema?: any;
|
||||
formData?: any;
|
||||
title?: string;
|
||||
width?: number;
|
||||
height?: number;
|
||||
cliOptions?: any;
|
||||
}) => Promise<any>;
|
||||
55
packages/media/dist-in/lib/ui/electron.js
Normal file
55
packages/media/dist-in/lib/ui/electron.js
Normal file
@ -0,0 +1,55 @@
|
||||
import * as path from 'path';
|
||||
import { sync as write } from '@polymech/fs/write';
|
||||
import { sync as read } from '@polymech/fs/read';
|
||||
import { substitute } from '@polymech/commons';
|
||||
const htmlFilePathIn = path.resolve('./web-ui/_prompt.html');
|
||||
const htmlFilePathOut = path.resolve('./web-ui/prompt.html');
|
||||
import { Helper } from './../process/index.js';
|
||||
// Legacy function for backward compatibility
|
||||
export const web_prompt = async (prompt, dst, variables = {}) => {
|
||||
write(htmlFilePathOut, substitute(false, read(htmlFilePathIn), {
|
||||
QUERY: prompt,
|
||||
DST: dst,
|
||||
...variables
|
||||
}));
|
||||
const electronPath = path.join(process.cwd(), './node_modules/electron/dist/electron.exe');
|
||||
const mainPath = path.join(process.cwd(), 'dist-in/lib/ui/electron/main.js');
|
||||
const p = await Helper.runBin(process.cwd(), electronPath, '', [`"${mainPath}"`]);
|
||||
const content = p.messages.find((m) => m.type === 'content');
|
||||
return content;
|
||||
};
|
||||
// New schema-based UI function
|
||||
export const renderSchemaUI = async (options) => {
|
||||
// Write config to a temporary file that main process can read
|
||||
const configPath = path.resolve('./web-ui/temp-config.json');
|
||||
const config = {
|
||||
schema: options.schema,
|
||||
uiSchema: options.uiSchema || {},
|
||||
formData: options.formData || {},
|
||||
title: options.title || 'Configuration',
|
||||
cliOptions: options.cliOptions || {}
|
||||
};
|
||||
write(configPath, JSON.stringify(config, null, 2));
|
||||
const electronPath = path.join(process.cwd(), './node_modules/electron/dist/electron.exe');
|
||||
const mainPath = path.join(process.cwd(), 'dist-in/lib/ui/electron/main.js');
|
||||
console.log('renderSchemaUI: Starting Electron...');
|
||||
console.log('electronPath:', electronPath);
|
||||
console.log('mainPath:', mainPath);
|
||||
console.log('configPath:', configPath);
|
||||
console.log('config:', config);
|
||||
const p = await Helper.runBin('', electronPath, '', [`"${mainPath}"`, `--config="${configPath}"`]);
|
||||
console.log('renderSchemaUI: Electron process result:', p);
|
||||
const content = p.messages.find((m) => m.type === 'content');
|
||||
// Cleanup temp file
|
||||
try {
|
||||
const fs = await import('fs');
|
||||
if (fs.existsSync(configPath)) {
|
||||
fs.unlinkSync(configPath);
|
||||
}
|
||||
}
|
||||
catch (e) {
|
||||
// Ignore cleanup errors
|
||||
}
|
||||
return content;
|
||||
};
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlY3Ryb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3VpL2VsZWN0cm9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFBO0FBRTVCLE9BQU8sRUFBRSxJQUFJLElBQUksS0FBSyxFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFDbEQsT0FBTyxFQUFFLElBQUksSUFBSSxJQUFJLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUNoRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFFOUMsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFBO0FBQzVELE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsc0JBQXNCLENBQUMsQ0FBQTtBQUU1RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUE7QUFVOUMsNkNBQTZDO0FBQzdDLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxLQUFLLEVBQUUsTUFBYyxFQUFFLEdBQVUsRUFBRSxZQUFnQixFQUFFLEVBQUUsRUFBRTtJQUUvRSxLQUFLLENBQUMsZUFBZSxFQUFFLFVBQVUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBVyxFQUN2RTtRQUNJLEtBQUssRUFBRSxNQUFNO1FBQ2IsR0FBRyxFQUFFLEdBQUc7UUFDUixHQUFHLFNBQVM7S0FDZixDQUFDLENBQUMsQ0FBQTtJQUNILE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLDJDQUEyQyxDQUFDLENBQUE7SUFDMUYsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsaUNBQWlDLENBQUMsQ0FBQztJQUM3RSxNQUFNLENBQUMsR0FBRyxNQUFNLE1BQU0s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
|
||||
1
packages/media/dist-in/lib/ui/electron/main.d.ts
vendored
Normal file
1
packages/media/dist-in/lib/ui/electron/main.d.ts
vendored
Normal file
@ -0,0 +1 @@
|
||||
export declare const setUIConfig: (config: any) => void;
|
||||
182
packages/media/dist-in/lib/ui/electron/main.js
Normal file
182
packages/media/dist-in/lib/ui/electron/main.js
Normal file
File diff suppressed because one or more lines are too long
1
packages/media/dist-in/lib/ui/electron/preload.d.ts
vendored
Normal file
1
packages/media/dist-in/lib/ui/electron/preload.d.ts
vendored
Normal file
@ -0,0 +1 @@
|
||||
export declare const noop = 2;
|
||||
56
packages/media/dist-in/lib/ui/electron/preload.js
Normal file
56
packages/media/dist-in/lib/ui/electron/preload.js
Normal file
@ -0,0 +1,56 @@
|
||||
import { contextBridge, ipcRenderer } from 'electron';
|
||||
console.log('Preload script starting...');
|
||||
try {
|
||||
console.log('Exposing electronAPI to main world...');
|
||||
// Expose APIs for React app
|
||||
contextBridge.exposeInMainWorld('electronAPI', {
|
||||
submitContent: (content) => ipcRenderer.send('content', content),
|
||||
showFileDialog: (options) => ipcRenderer.invoke('showFileDialog', options),
|
||||
showSaveDialog: (options) => ipcRenderer.invoke('showSaveDialog', options)
|
||||
});
|
||||
console.log('electronAPI exposed successfully');
|
||||
// Legacy support for old HTML template
|
||||
window.addEventListener("DOMContentLoaded", () => {
|
||||
const okButton = document.getElementById("okButton");
|
||||
const filePicker = document.getElementById("_filePicker");
|
||||
if (okButton) {
|
||||
okButton.addEventListener("click", () => {
|
||||
console.log('Legacy OK button clicked');
|
||||
});
|
||||
}
|
||||
if (filePicker) {
|
||||
filePicker.addEventListener("click", () => {
|
||||
console.log('Legacy file picker clicked');
|
||||
ipcHandler.send('filePicker');
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
catch (e) {
|
||||
console.error('error preload', e);
|
||||
}
|
||||
const ipcHandler = {
|
||||
send(channel, ...args) {
|
||||
ipcRenderer.send(channel, ...args);
|
||||
},
|
||||
invoke(channel, ...args) {
|
||||
return ipcRenderer.invoke(channel, ...args);
|
||||
},
|
||||
once(channel, callback) {
|
||||
ipcRenderer.once(channel, (_event, ...args) => callback(...args));
|
||||
},
|
||||
on(channel, callback) {
|
||||
const subscription = (_event, ...args) => callback(...args);
|
||||
ipcRenderer.on(channel, subscription);
|
||||
return () => {
|
||||
ipcRenderer.removeListener(channel, subscription);
|
||||
};
|
||||
},
|
||||
clear(channel) {
|
||||
ipcRenderer.removeAllListeners(channel);
|
||||
}
|
||||
};
|
||||
contextBridge.exposeInMainWorld('ipc', ipcHandler);
|
||||
window.ipcHandler = ipcHandler;
|
||||
export const noop = 2;
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlbG9hZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdWkvZWxlY3Ryb24vcHJlbG9hZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUVyRCxPQUFPLENBQUMsR0FBRyxDQUFDLDRCQUE0QixDQUFDLENBQUM7QUFFMUMsSUFBSSxDQUFDO0lBQ0gsT0FBTyxDQUFDLEdBQUcsQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDO0lBQ3JELDRCQUE0QjtJQUM1QixhQUFhLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFO1FBQzdDLGFBQWEsRUFBRSxDQUFDLE9BQVksRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDO1FBQ3JFLGNBQWMsRUFBRSxDQUFDLE9BQVksRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxPQUFPLENBQUM7UUFDL0UsY0FBYyxFQUFFLENBQUMsT0FBWSxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLGdCQUFnQixFQUFFLE9BQU8sQ0FBQztLQUNoRixDQUFDLENBQUM7SUFDSCxPQUFPLENBQUMsR0FBRyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7SUFFaEQsdUNBQXVDO0lBQ3ZDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxrQkFBa0IsRUFBRSxHQUFHLEVBQUU7UUFDL0MsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNyRCxNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRTFELElBQUksUUFBUSxFQUFFLENBQUM7WUFDYixRQUFRLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRTtnQkFDdEMsT0FBTyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1lBQzFDLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVELElBQUksVUFBVSxFQUFFLENBQUM7WUFDZixVQUFVLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRTtnQkFDeEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO2dCQUMxQyxVQUFVLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ2hDLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUMsQ0FBQyxDQUFDO0FBRUwsQ0FBQztBQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7SUFDWCxPQUFPLENBQUMsS0FBSyxDQUFDLGVBQWUsRUFBQyxDQUFDLENBQUMsQ0FBQTtBQUNsQyxDQUFDO0FBQ0QsTUFBTSxVQUFVLEdBQUc7SUFDakIsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUk7UUFDakIsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBQ0QsTUFBTSxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUk7UUFDbkIsT0FBTyxXQUFXLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFDRCxJQUFJLENBQUMsT0FBTyxFQUFFLFFBQVE7UUFDbEIsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLEVBQUUsR0FBRyxJQUFJLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUNELEVBQUUsQ0FBQyxPQUFPLEVBQUUsUUFBUTtRQUNoQixNQUFNLFlBQVksR0FBRyxDQUFDLE1BQU0sRUFBRSxHQUFHLElBQUksRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUE7UUFDM0QsV0FBVyxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDdEMsT0FBTyxHQUFHLEVBQUU7WUFDUixXQUFXLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsQ0FBQztRQUN0RCxDQUFDLENBQUM7SUFDTixDQUFDO0lBQ0QsS0FBSyxDQUFDLE9BQU87UUFDVCxXQUFXLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDNUMsQ0FBQztDQUNGLENBQUM7QUFDRixhQUFhLENBQUMsaUJBQWlCLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBQ2xELE1BQWMsQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO0FBQ3hDLE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyxDQUFDLENBQUEifQ==
|
||||
1
packages/media/dist-in/lib/ui/electron/renderer.d.ts
vendored
Normal file
1
packages/media/dist-in/lib/ui/electron/renderer.d.ts
vendored
Normal file
@ -0,0 +1 @@
|
||||
export declare const t = 2;
|
||||
6
packages/media/dist-in/lib/ui/electron/renderer.js
Normal file
6
packages/media/dist-in/lib/ui/electron/renderer.js
Normal file
@ -0,0 +1,6 @@
|
||||
export const t = 2;
|
||||
document.getElementById('okButton')?.addEventListener('click', () => {
|
||||
const textareaContent = document.getElementById('textarea').value;
|
||||
window.electronAPI.submitContent(textareaContent);
|
||||
});
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3VpL2VsZWN0cm9uL3JlbmRlcmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDbkIsUUFBUSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFO0lBQ2hFLE1BQU0sZUFBZSxHQUFJLFFBQVEsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUF5QixDQUFDLEtBQUssQ0FBQztJQUMxRixNQUFjLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUMvRCxDQUFDLENBQUMsQ0FBQyJ9
|
||||
12
packages/media/dist-in/lib/ui/types.d.ts
vendored
Normal file
12
packages/media/dist-in/lib/ui/types.d.ts
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
export interface Button {
|
||||
text: string;
|
||||
onClick: () => void;
|
||||
}
|
||||
export interface Label {
|
||||
text: string;
|
||||
}
|
||||
export interface Window {
|
||||
title: string;
|
||||
width: number;
|
||||
height: number;
|
||||
}
|
||||
2
packages/media/dist-in/lib/ui/types.js
Normal file
2
packages/media/dist-in/lib/ui/types.js
Normal file
@ -0,0 +1,2 @@
|
||||
export {};
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3VpL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
|
||||
1
packages/media/dist-in/main.d.ts
vendored
1
packages/media/dist-in/main.d.ts
vendored
@ -6,5 +6,6 @@ import './commands/background-remove.js';
|
||||
import './commands/background-remove-bria.js';
|
||||
import './commands/crop-foreground.js';
|
||||
import './commands/salamander.js';
|
||||
import './commands/schemas.js';
|
||||
import './commands/register-commands.js';
|
||||
import './commands/register-explorer.js';
|
||||
|
||||
@ -9,6 +9,7 @@ import './commands/background-remove.js';
|
||||
import './commands/background-remove-bria.js';
|
||||
import './commands/crop-foreground.js';
|
||||
import './commands/salamander.js';
|
||||
import './commands/schemas.js';
|
||||
import './commands/register-commands.js';
|
||||
import './commands/register-explorer.js';
|
||||
const argv = cli.argv;
|
||||
@ -19,4 +20,4 @@ if (argv.h || argv.help) {
|
||||
else if (argv.v || argv.version) {
|
||||
process.exit();
|
||||
}
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9tYWluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQUMsUUFBUSxFQUFFLENBQUE7QUFFaEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUU5QixPQUFPLHNCQUFzQixDQUFBO0FBQzdCLE9BQU8sdUJBQXVCLENBQUE7QUFDOUIsT0FBTyx5QkFBeUIsQ0FBQTtBQUNoQyxPQUFPLGlDQUFpQyxDQUFBO0FBQ3hDLE9BQU8sc0NBQXNDLENBQUE7QUFDN0MsT0FBTywrQkFBK0IsQ0FBQTtBQUN0QyxPQUFPLDBCQUEwQixDQUFBO0FBQ2pDLE9BQU8saUNBQWlDLENBQUE7QUFDeEMsT0FBTyxpQ0FBaUMsQ0FBQTtBQUV4QyxNQUFNLElBQUksR0FBUSxHQUFHLENBQUMsSUFBSSxDQUFDO0FBRTNCLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdEIsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2YsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO0FBQ25CLENBQUM7S0FBTSxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2hDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztBQUNuQixDQUFDIn0=
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9tYWluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQUMsUUFBUSxFQUFFLENBQUE7QUFFaEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUU5QixPQUFPLHNCQUFzQixDQUFBO0FBQzdCLE9BQU8sdUJBQXVCLENBQUE7QUFDOUIsT0FBTyx5QkFBeUIsQ0FBQTtBQUNoQyxPQUFPLGlDQUFpQyxDQUFBO0FBQ3hDLE9BQU8sc0NBQXNDLENBQUE7QUFDN0MsT0FBTywrQkFBK0IsQ0FBQTtBQUN0QyxPQUFPLDBCQUEwQixDQUFBO0FBQ2pDLE9BQU8sdUJBQXVCLENBQUE7QUFDOUIsT0FBTyxpQ0FBaUMsQ0FBQTtBQUN4QyxPQUFPLGlDQUFpQyxDQUFBO0FBRXhDLE1BQU0sSUFBSSxHQUFRLEdBQUcsQ0FBQyxJQUFJLENBQUM7QUFFM0IsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN0QixHQUFHLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDZixPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7QUFDbkIsQ0FBQztLQUFNLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDaEMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO0FBQ25CLENBQUMifQ==
|
||||
@ -1 +1,2 @@
|
||||
export declare const register: (cli: CLI.Argv) => any;
|
||||
import * as CLI from 'yargs';
|
||||
export declare const register: (cli: CLI.Argv) => any;
|
||||
181
packages/media/dist-in/ref/chatgpt-ex.js
Normal file
181
packages/media/dist-in/ref/chatgpt-ex.js
Normal file
File diff suppressed because one or more lines are too long
11
packages/media/dist-in/ref/query.d.ts
vendored
Normal file
11
packages/media/dist-in/ref/query.d.ts
vendored
Normal file
@ -0,0 +1,11 @@
|
||||
import { OpenAI } from "openai";
|
||||
import { IOptions } from '../..';
|
||||
export declare const deepMerge: (target: string, source: any) => Promise<any>;
|
||||
export declare const mergers: {
|
||||
deepMerge: (target: string, source: any) => Promise<any>;
|
||||
};
|
||||
export declare const onCompletion: (query: string, ret: string, opts: IOptions) => Promise<string>;
|
||||
export declare const createOpenAIFile: (client: OpenAI, filePath: string, purpose?: string) => Promise<any>;
|
||||
export declare const queryEx: (api_key: string, options: IOptions) => Promise<unknown>;
|
||||
export declare const query: (query: string, api_key: string, dst: string, options: IOptions) => Promise<any>;
|
||||
export declare const transcribe: (query: string, api_key: string, dst: string, options: any) => Promise<any>;
|
||||
272
packages/media/dist-in/ref/query.js
Normal file
272
packages/media/dist-in/ref/query.js
Normal file
File diff suppressed because one or more lines are too long
1
packages/media/dist-in/types.d.ts
vendored
1
packages/media/dist-in/types.d.ts
vendored
@ -18,6 +18,7 @@ export type IOptions = {
|
||||
variables?: Record<string, string>;
|
||||
key?: string;
|
||||
logLevel?: string;
|
||||
gui?: boolean;
|
||||
};
|
||||
export interface IResizeOptionsSharp {
|
||||
/** Alternative means of specifying width. If both are present this takes priority. */
|
||||
|
||||
28
packages/media/dist-in/zod_types_background_remove.d.ts
vendored
Normal file
28
packages/media/dist-in/zod_types_background_remove.d.ts
vendored
Normal file
@ -0,0 +1,28 @@
|
||||
export interface IBackgroundRemoveOptions {
|
||||
/** FILE|FOLDER|GLOB - Source file(s) to remove background from */
|
||||
src: string;
|
||||
/** FILE|FOLDER|GLOB - Destination for processed files */
|
||||
dst?: string | undefined;
|
||||
/** Enable internal debug messages */
|
||||
debug?: boolean;
|
||||
/** Use alternate tokenizer, & instead of $ */
|
||||
alt?: boolean;
|
||||
/** Run without conversion */
|
||||
dry?: boolean;
|
||||
/** Show internal messages */
|
||||
verbose?: boolean;
|
||||
/** Log level: warn, info, debug, error */
|
||||
logLevel?: "warn" | "info" | "debug" | "error";
|
||||
/** Replicate API key (or set REPLICATE_API_TOKEN env var) */
|
||||
apiKey?: string | undefined;
|
||||
/** Background removal model to use */
|
||||
model?: string;
|
||||
/** Enable alpha matting for better edge refinement */
|
||||
alpha_matting?: boolean;
|
||||
/** Alpha matting foreground threshold */
|
||||
alpha_matting_foreground_threshold?: number;
|
||||
/** Alpha matting background threshold */
|
||||
alpha_matting_background_threshold?: number;
|
||||
/** Alpha matting erode size */
|
||||
alpha_matting_erode_size?: number;
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user