@opengeni/config 0.10.14 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -166,6 +166,12 @@ declare const SettingsSchema: z.ZodObject<{
166
166
  vercelAiGatewayApiKey: z.ZodOptional<z.ZodString>;
167
167
  voiceInputMaxDurationSeconds: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
168
168
  voiceInputMaxSizeBytes: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
169
+ voiceInputResumableEnabled: z.ZodDefault<z.ZodPreprocess<z.ZodBoolean>>;
170
+ voiceInputResumableMaxDurationSeconds: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
171
+ voiceInputResumableMaxSizeBytes: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
172
+ voiceInputResumableMaxChunkSizeBytes: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
173
+ voiceInputResumableRetentionSeconds: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
174
+ voiceInputFfmpegPath: z.ZodDefault<z.ZodString>;
169
175
  voiceInputProviderOrder: z.ZodDefault<z.ZodString>;
170
176
  voiceInputOpenaiEnabled: z.ZodDefault<z.ZodPreprocess<z.ZodBoolean>>;
171
177
  voiceInputOpenaiApiKey: z.ZodOptional<z.ZodString>;
package/dist/index.js CHANGED
@@ -302,6 +302,15 @@ var SettingsSchema = z.object({
302
302
  // the same clip across vendors after an upstream request may have started.
303
303
  voiceInputMaxDurationSeconds: z.coerce.number().int().positive().max(600).default(60),
304
304
  voiceInputMaxSizeBytes: z.coerce.number().int().positive().max(25 * 1024 * 1024).default(25 * 1024 * 1024),
305
+ // Durable long-form capture uploads bounded chunks to object storage, then
306
+ // normalizes them into provider-safe segments. It is advertised only when
307
+ // object storage and the configured ffmpeg executable are both available.
308
+ voiceInputResumableEnabled: EnvBoolean.default(true),
309
+ voiceInputResumableMaxDurationSeconds: z.coerce.number().int().positive().max(8 * 60 * 60).default(2 * 60 * 60),
310
+ voiceInputResumableMaxSizeBytes: z.coerce.number().int().positive().max(512 * 1024 * 1024).default(512 * 1024 * 1024),
311
+ voiceInputResumableMaxChunkSizeBytes: z.coerce.number().int().positive().max(25 * 1024 * 1024).default(8 * 1024 * 1024),
312
+ voiceInputResumableRetentionSeconds: z.coerce.number().int().positive().max(7 * 24 * 60 * 60).default(24 * 60 * 60),
313
+ voiceInputFfmpegPath: z.string().trim().min(1).max(1024).default("ffmpeg"),
305
314
  // Preferred provider order (comma-separated ids). First configured+ready wins.
306
315
  // Codex subscription STT is preferred by default when subscription routing is
307
316
  // enabled; operators can put openai/azure-openai first explicitly.
@@ -350,9 +359,11 @@ var SettingsSchema = z.object({
350
359
  // flag non-mandatory selected MCP tools `defer_loading:true` (dropping their
351
360
  // schemas from model context) and add one client-executed tool_search tool
352
361
  // that BM25-discloses bounded matches. The mandatory OpenGeni tools stay
353
- // eager. Default OFF a codex turn is byte-for-byte unchanged until enabled.
362
+ // eager. Default ON so selected connector catalogues do not consume every
363
+ // Codex turn's context. Operators may explicitly disable it for emergency
364
+ // compatibility diagnosis.
354
365
  // OPENGENI_CODEX_TOOL_SEARCH_ENABLED
355
- codexToolSearchEnabled: EnvBoolean.default(false),
366
+ codexToolSearchEnabled: EnvBoolean.default(true),
356
367
  // credential allocator atomic, workspace-local credential allocation. Default OFF is a
357
368
  // deliberate rolling-deploy fence: migrate + roll every worker first, then
358
369
  // enable. Turning it off restores the legacy sticky selector without a schema
@@ -1395,6 +1406,18 @@ function getSettings() {
1395
1406
  vercelAiGatewayApiKey: optional("OPENGENI_VERCEL_AI_GATEWAY_API_KEY"),
1396
1407
  voiceInputMaxDurationSeconds: optional("OPENGENI_VOICE_INPUT_MAX_DURATION_SECONDS"),
1397
1408
  voiceInputMaxSizeBytes: optional("OPENGENI_VOICE_INPUT_MAX_SIZE_BYTES"),
1409
+ voiceInputResumableEnabled: optional("OPENGENI_VOICE_INPUT_RESUMABLE_ENABLED"),
1410
+ voiceInputResumableMaxDurationSeconds: optional(
1411
+ "OPENGENI_VOICE_INPUT_RESUMABLE_MAX_DURATION_SECONDS"
1412
+ ),
1413
+ voiceInputResumableMaxSizeBytes: optional("OPENGENI_VOICE_INPUT_RESUMABLE_MAX_SIZE_BYTES"),
1414
+ voiceInputResumableMaxChunkSizeBytes: optional(
1415
+ "OPENGENI_VOICE_INPUT_RESUMABLE_MAX_CHUNK_SIZE_BYTES"
1416
+ ),
1417
+ voiceInputResumableRetentionSeconds: optional(
1418
+ "OPENGENI_VOICE_INPUT_RESUMABLE_RETENTION_SECONDS"
1419
+ ),
1420
+ voiceInputFfmpegPath: optional("OPENGENI_VOICE_INPUT_FFMPEG_PATH"),
1398
1421
  voiceInputProviderOrder: optional("OPENGENI_VOICE_INPUT_PROVIDER_ORDER"),
1399
1422
  voiceInputOpenaiEnabled: optional("OPENGENI_VOICE_INPUT_OPENAI_ENABLED"),
1400
1423
  voiceInputOpenaiApiKey: optional("OPENGENI_VOICE_INPUT_OPENAI_API_KEY"),