@tickernelz/wardmote 2026.1114.0 → 2026.1114.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -16616,7 +16616,7 @@ var init_smoke_lab = __esm({
16616
16616
  });
16617
16617
 
16618
16618
  // ../packages/shared/src/types/instance.ts
16619
- var DAILY_RETENTION_PRESETS, WEEKLY_RETENTION_PRESETS, MONTHLY_RETENTION_PRESETS, BACKUP_MAX_FILES_MIN, BACKUP_MAX_FILES_MAX, DEFAULT_BACKUP_RETENTION, SPEECH_TO_TEXT_PROVIDERS, SPEECH_TO_TEXT_GOOGLE_MAX_LANGUAGES, SPEECH_TO_TEXT_KEYTERMS_MAX, SPEECH_TO_TEXT_KEYTERM_MAX_LENGTH, SPEECH_TO_TEXT_MAX_SPEAKERS, SPEECH_TO_TEXT_DEFAULTS, ATTACHMENT_MAX_MEGABYTES_MIN, ATTACHMENT_MAX_MEGABYTES_MAX, ATTACHMENT_ORPHAN_AFTER_DAYS_MIN, ATTACHMENT_ORPHAN_AFTER_DAYS_MAX, ATTACHMENT_CLOSED_TASK_AFTER_DAYS_MIN, ATTACHMENT_CLOSED_TASK_AFTER_DAYS_MAX, DEFAULT_ATTACHMENT_RETENTION, DEFAULT_LOCAL_RUN_LIMITS_SETTINGS, DEFAULT_MESSAGE_DELIVERY;
16619
+ var DAILY_RETENTION_PRESETS, WEEKLY_RETENTION_PRESETS, MONTHLY_RETENTION_PRESETS, BACKUP_MAX_FILES_MIN, BACKUP_MAX_FILES_MAX, DEFAULT_BACKUP_RETENTION, SPEECH_TO_TEXT_PROVIDERS, SPEECH_TO_TEXT_GOOGLE_MAX_LANGUAGES, SPEECH_TO_TEXT_KEYTERMS_MAX, SPEECH_TO_TEXT_KEYTERM_MAX_LENGTH, SPEECH_TO_TEXT_MAX_SPEAKERS, SPEECH_TO_TEXT_API_KEY_MAX_LENGTH, SPEECH_TO_TEXT_DEFAULTS, ATTACHMENT_MAX_MEGABYTES_MIN, ATTACHMENT_MAX_MEGABYTES_MAX, ATTACHMENT_ORPHAN_AFTER_DAYS_MIN, ATTACHMENT_ORPHAN_AFTER_DAYS_MAX, ATTACHMENT_CLOSED_TASK_AFTER_DAYS_MIN, ATTACHMENT_CLOSED_TASK_AFTER_DAYS_MAX, DEFAULT_ATTACHMENT_RETENTION, DEFAULT_LOCAL_RUN_LIMITS_SETTINGS, DEFAULT_MESSAGE_DELIVERY;
16620
16620
  var init_instance = __esm({
16621
16621
  "../packages/shared/src/types/instance.ts"() {
16622
16622
  "use strict";
@@ -16636,6 +16636,7 @@ var init_instance = __esm({
16636
16636
  SPEECH_TO_TEXT_KEYTERMS_MAX = 100;
16637
16637
  SPEECH_TO_TEXT_KEYTERM_MAX_LENGTH = 50;
16638
16638
  SPEECH_TO_TEXT_MAX_SPEAKERS = 32;
16639
+ SPEECH_TO_TEXT_API_KEY_MAX_LENGTH = 16384;
16639
16640
  SPEECH_TO_TEXT_DEFAULTS = {
16640
16641
  enabled: false,
16641
16642
  provider: "openai_compatible",
@@ -17230,7 +17231,7 @@ function isSpeechToTextBaseUrl(value) {
17230
17231
  function isGoogleChirpModel(model) {
17231
17232
  return model.startsWith("chirp");
17232
17233
  }
17233
- var messageDeliverySchema, backupRetentionPolicySchema, speechToTextProviderSchema, speechToTextBaseUrlSchema, speechToTextApiKeyEnvVarSchema, speechToTextKeytermSchema, speechToTextGoogleLocationSchema, speechToTextGoogleProjectIdSchema, speechToTextLanguageCodeSchema, speechToTextSettingsSchema, speechToTextModelListRequestSchema, attachmentMaxMegabytesSchema, attachmentRetentionSettingsSchema, localRunLimitsSettingsSchema, instanceGeneralSettingsSchema, patchInstanceGeneralSettingsSchema, instanceExperimentalSettingsSchema, patchInstanceExperimentalSettingsSchema, patchInstanceSettingsSchema, MAX_TASK_DRAIN_TTL_MS, startTaskDrainRequestSchema, instanceSettingsSchema;
17234
+ var messageDeliverySchema, backupRetentionPolicySchema, speechToTextProviderSchema, speechToTextBaseUrlSchema, speechToTextApiKeyEnvVarSchema, speechToTextApiKeySchema, speechToTextKeytermSchema, speechToTextGoogleLocationSchema, speechToTextGoogleProjectIdSchema, speechToTextLanguageCodeSchema, speechToTextSettingsSchema, speechToTextModelListRequestSchema, speechToTextApiKeyRequestSchema, attachmentMaxMegabytesSchema, attachmentRetentionSettingsSchema, localRunLimitsSettingsSchema, instanceGeneralSettingsSchema, patchInstanceGeneralSettingsSchema, instanceExperimentalSettingsSchema, patchInstanceExperimentalSettingsSchema, patchInstanceSettingsSchema, MAX_TASK_DRAIN_TTL_MS, startTaskDrainRequestSchema, instanceSettingsSchema;
17234
17235
  var init_instance2 = __esm({
17235
17236
  "../packages/shared/src/validators/instance.ts"() {
17236
17237
  "use strict";
@@ -17253,6 +17254,7 @@ var init_instance2 = __esm({
17253
17254
  speechToTextApiKeyEnvVarSchema = z40.string().trim().max(128).regex(/^(?:[A-Za-z_][A-Za-z0-9_]*)?$/, {
17254
17255
  message: "Speech-to-text API key must name a server environment variable, not hold the key itself"
17255
17256
  });
17257
+ speechToTextApiKeySchema = z40.string().trim().min(1).max(SPEECH_TO_TEXT_API_KEY_MAX_LENGTH);
17256
17258
  speechToTextKeytermSchema = z40.string().trim().min(1).max(SPEECH_TO_TEXT_KEYTERM_MAX_LENGTH).regex(/^[^<>{}[\]\\]+$/, { message: "Keyterms cannot contain < > { } [ ] or \\" });
17257
17259
  speechToTextGoogleLocationSchema = z40.string().trim().regex(/^[a-z][a-z0-9-]{1,39}$/, { message: "Google speech-to-text location must be global, us, eu or a region such as asia-southeast1" });
17258
17260
  speechToTextGoogleProjectIdSchema = z40.string().trim().regex(/^(?:[a-z][a-z0-9-]{4,28}[a-z0-9])?$/, { message: "Google Cloud project id must be 6 to 30 lowercase letters, digits or hyphens" });
@@ -17282,9 +17284,9 @@ var init_instance2 = __esm({
17282
17284
  maxAudioSeconds: z40.number().int().min(1).max(7200).default(SPEECH_TO_TEXT_DEFAULTS.maxAudioSeconds),
17283
17285
  sttWaitSeconds: z40.number().int().min(1).max(120).default(SPEECH_TO_TEXT_DEFAULTS.sttWaitSeconds)
17284
17286
  }).strict().refine(
17285
- (value) => !value.enabled || value.model !== "" && value.apiKeyEnvVar !== "" && (value.provider !== "openai_compatible" || value.baseUrl !== ""),
17287
+ (value) => !value.enabled || value.model !== "" && (value.provider !== "openai_compatible" || value.baseUrl !== ""),
17286
17288
  {
17287
- message: "Speech-to-text needs a model, an API key environment variable and, for OpenAI-compatible endpoints, a base URL before it can be enabled"
17289
+ message: "Speech-to-text needs a model and, for OpenAI-compatible endpoints, a base URL before it can be enabled"
17288
17290
  }
17289
17291
  ).superRefine((value, ctx) => {
17290
17292
  if (value.provider !== "google") return;
@@ -17304,11 +17306,13 @@ var init_instance2 = __esm({
17304
17306
  provider: speechToTextProviderSchema,
17305
17307
  baseUrl: speechToTextBaseUrlSchema.default(""),
17306
17308
  apiKeyEnvVar: speechToTextApiKeyEnvVarSchema.default(""),
17309
+ apiKey: speechToTextApiKeySchema.optional(),
17307
17310
  google: z40.object({
17308
17311
  location: speechToTextGoogleLocationSchema.default(SPEECH_TO_TEXT_DEFAULTS.google.location),
17309
17312
  projectId: speechToTextGoogleProjectIdSchema.default(SPEECH_TO_TEXT_DEFAULTS.google.projectId)
17310
17313
  }).strict().optional()
17311
17314
  }).strict();
17315
+ speechToTextApiKeyRequestSchema = z40.object({ apiKey: speechToTextApiKeySchema }).strict();
17312
17316
  attachmentMaxMegabytesSchema = z40.number().int().min(ATTACHMENT_MAX_MEGABYTES_MIN).max(ATTACHMENT_MAX_MEGABYTES_MAX);
17313
17317
  attachmentRetentionSettingsSchema = z40.object({
17314
17318
  enabled: z40.boolean().default(DEFAULT_ATTACHMENT_RETENTION.enabled),
@@ -32079,6 +32083,7 @@ var init_instance_settings = __esm({
32079
32083
  general: jsonb18("general").$type().notNull().default({}),
32080
32084
  experimental: jsonb18("experimental").$type().notNull().default({}),
32081
32085
  attachmentRetentionLastRun: jsonb18("attachment_retention_last_run").$type(),
32086
+ speechToTextKeys: jsonb18("speech_to_text_keys").$type().notNull().default({}),
32082
32087
  createdAt: timestamp23("created_at", { withTimezone: true }).notNull().defaultNow(),
32083
32088
  updatedAt: timestamp23("updated_at", { withTimezone: true }).notNull().defaultNow()
32084
32089
  },