vidspotai-shared 1.0.82-dev.0 → 1.0.82
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/globals/aiModels/providers/google.d.ts.map +1 -1
- package/lib/globals/aiModels/providers/google.js +33 -10
- package/lib/schemas/project.schema.d.ts +3 -3
- package/lib/schemas/videoPlan.schema.d.ts +3 -3
- package/lib/services/agent/editClassifier.d.ts +2 -2
- package/lib/services/agent/eval/recorder.d.ts +13 -1
- package/lib/services/agent/eval/recorder.d.ts.map +1 -1
- package/lib/services/agent/eval/recorder.js +59 -0
- package/lib/services/agent/tools/composeScene.tool.d.ts +2 -2
- package/lib/services/agent/tools/estimateCost.tool.d.ts +1 -1
- package/lib/services/agent/tools/planVideo.tool.d.ts +1 -1
- package/lib/services/agent/tools/render.tool.d.ts +1 -1
- package/lib/services/aiGen/helpers.d.ts +8 -0
- package/lib/services/aiGen/helpers.d.ts.map +1 -1
- package/lib/services/aiGen/helpers.js +12 -0
- package/lib/services/aiGen/providers/google/google.service.d.ts +1 -0
- package/lib/services/aiGen/providers/google/google.service.d.ts.map +1 -1
- package/lib/services/aiGen/providers/google/google.service.js +62 -7
- package/lib/services/aiGen/providers/google/googleApiKeys.d.ts +71 -0
- package/lib/services/aiGen/providers/google/googleApiKeys.d.ts.map +1 -0
- package/lib/services/aiGen/providers/google/googleApiKeys.js +137 -0
- package/lib/services/aiGen/providers/google/googleKeyPool.d.ts +52 -0
- package/lib/services/aiGen/providers/google/googleKeyPool.d.ts.map +1 -0
- package/lib/services/aiGen/providers/google/googleKeyPool.js +129 -0
- package/lib/services/aiGen/providers/pixverse/pixverse.service.d.ts.map +1 -1
- package/lib/services/aiGen/providers/pixverse/pixverse.service.js +7 -1
- package/lib/services/bullmq.service.d.ts.map +1 -1
- package/lib/services/bullmq.service.js +23 -1
- package/lib/services/index.d.ts +1 -0
- package/lib/services/index.d.ts.map +1 -1
- package/lib/services/index.js +1 -0
- package/lib/services/rateLimiter/distributedRateLimiter.service.d.ts +60 -5
- package/lib/services/rateLimiter/distributedRateLimiter.service.d.ts.map +1 -1
- package/lib/services/rateLimiter/distributedRateLimiter.service.js +184 -16
- package/lib/services/translation/index.d.ts +2 -0
- package/lib/services/translation/index.d.ts.map +1 -0
- package/lib/services/translation/index.js +9 -0
- package/lib/services/translation/translation.service.d.ts +50 -0
- package/lib/services/translation/translation.service.d.ts.map +1 -0
- package/lib/services/translation/translation.service.js +211 -0
- package/lib/utils/helpers.d.ts +2 -4
- package/lib/utils/helpers.d.ts.map +1 -1
- package/lib/utils/helpers.js +9 -63
- package/package.json +1 -1
package/lib/utils/helpers.js
CHANGED
|
@@ -8,7 +8,6 @@ exports.getMultiClipDiscountFactor = getMultiClipDiscountFactor;
|
|
|
8
8
|
exports.waitForFile = waitForFile;
|
|
9
9
|
exports.generateAndValidate = generateAndValidate;
|
|
10
10
|
exports.getVideoDurationRangeText = getVideoDurationRangeText;
|
|
11
|
-
const axios_1 = __importDefault(require("axios"));
|
|
12
11
|
const logger_1 = require("./logger");
|
|
13
12
|
const plans_1 = require("../globals/plans");
|
|
14
13
|
const types_1 = require("../globals/types");
|
|
@@ -104,68 +103,15 @@ exports.MULTI_CLIP_DISCOUNT_FACTORS = {
|
|
|
104
103
|
function getMultiClipDiscountFactor(durationType) {
|
|
105
104
|
return exports.MULTI_CLIP_DISCOUNT_FACTORS[durationType] ?? 1.0;
|
|
106
105
|
}
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
"internal-key": process.env.TRANSLATION_SERVICE_KEY || "",
|
|
117
|
-
},
|
|
118
|
-
timeout: PER_ATTEMPT_TIMEOUT_MS,
|
|
119
|
-
});
|
|
120
|
-
return res.data.translated;
|
|
121
|
-
}
|
|
122
|
-
catch (err) {
|
|
123
|
-
lastErr = err;
|
|
124
|
-
const isLast = attempt === MAX_ATTEMPTS;
|
|
125
|
-
if (isLast) {
|
|
126
|
-
logger_1.logger.error("translation retry exhausted", {
|
|
127
|
-
sourceLang: from,
|
|
128
|
-
targetLang: to,
|
|
129
|
-
attempts: attempt,
|
|
130
|
-
err: lastErr?.stack ?? lastErr?.message ?? String(lastErr),
|
|
131
|
-
});
|
|
132
|
-
break;
|
|
133
|
-
}
|
|
134
|
-
logger_1.logger.warn("getTranslationWrapper attempt failed, retrying", {
|
|
135
|
-
attempt,
|
|
136
|
-
maxAttempts: MAX_ATTEMPTS,
|
|
137
|
-
err: err?.stack ?? err?.message ?? String(err),
|
|
138
|
-
});
|
|
139
|
-
await new Promise((r) => setTimeout(r, 200 * attempt));
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
const e = new Error(exports.TRANSLATION_FAILED);
|
|
143
|
-
e.cause = lastErr;
|
|
144
|
-
throw e;
|
|
145
|
-
};
|
|
146
|
-
exports.getTranslationWrapper = getTranslationWrapper;
|
|
147
|
-
const detectLang = async (text) => {
|
|
148
|
-
try {
|
|
149
|
-
const res = await axios_1.default.post("https://us-central1-translation-service-3931b.cloudfunctions.net/detectLang", { text }, {
|
|
150
|
-
headers: { "internal-key": process.env.TRANSLATION_SERVICE_KEY || "" },
|
|
151
|
-
timeout: 8000,
|
|
152
|
-
});
|
|
153
|
-
return res.data;
|
|
154
|
-
}
|
|
155
|
-
catch (err) {
|
|
156
|
-
// External service failure — default to English so video generation is not blocked
|
|
157
|
-
logger_1.logger.warn("detectLang: failed, defaulting to en", {
|
|
158
|
-
err: err?.stack ?? err?.message ?? String(err),
|
|
159
|
-
});
|
|
160
|
-
return {
|
|
161
|
-
reliable: false,
|
|
162
|
-
textBytes: 0,
|
|
163
|
-
languages: [{ name: "English", code: types_1.ELANGUAGE_CODE.en, percent: 100, score: 0 }],
|
|
164
|
-
chunks: [],
|
|
165
|
-
};
|
|
166
|
-
}
|
|
167
|
-
};
|
|
168
|
-
exports.detectLang = detectLang;
|
|
106
|
+
// Translation + language detection moved into a dedicated, fallback-capable
|
|
107
|
+
// service (primary Cloud Function → cheap LLM). Re-exported here so existing
|
|
108
|
+
// callers importing `getTranslationWrapper` / `detectLang` / `TRANSLATION_FAILED`
|
|
109
|
+
// from the package root keep working unchanged. New code should prefer
|
|
110
|
+
// `translationService` from the services barrel.
|
|
111
|
+
var translation_service_1 = require("../services/translation/translation.service");
|
|
112
|
+
Object.defineProperty(exports, "TRANSLATION_FAILED", { enumerable: true, get: function () { return translation_service_1.TRANSLATION_FAILED; } });
|
|
113
|
+
Object.defineProperty(exports, "getTranslationWrapper", { enumerable: true, get: function () { return translation_service_1.getTranslationWrapper; } });
|
|
114
|
+
Object.defineProperty(exports, "detectLang", { enumerable: true, get: function () { return translation_service_1.detectLang; } });
|
|
169
115
|
async function waitForFile(path, timeout = 10000, interval = 300) {
|
|
170
116
|
const start = Date.now();
|
|
171
117
|
while (Date.now() - start < timeout) {
|