@karmaniverous/jeeves-server-core 0.1.6 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -209,6 +209,9 @@ export declare const jeevesConfigSchema: z.ZodObject<{
209
209
  }, z.core.$strip>>;
210
210
  emailTemplate: z.ZodOptional<z.ZodString>;
211
211
  }, z.core.$strip>>;
212
+ eventQueue: z.ZodOptional<z.ZodString>;
213
+ eventQueueConcurrency: z.ZodDefault<z.ZodNumber>;
214
+ publicUrl: z.ZodOptional<z.ZodURL>;
212
215
  }, z.core.$strip>;
213
216
  /** Inferred config type */
214
217
  export type JeevesConfig = z.infer<typeof jeevesConfigSchema>;
@@ -17,7 +17,7 @@ const googleAuthSchema = z.object({
17
17
  });
18
18
  /** Email (magic link) authentication configuration */
19
19
  const emailAuthSchema = z.object({
20
- /** SMTP connection string (e.g. smtps://user:pass@smtp.example.com:465) */
20
+ /** SMTP connection string (e.g. smtps://user:pass\@smtp.example.com:465) */
21
21
  smtpUrl: z.string().min(1),
22
22
  /** Sender email address for magic link emails */
23
23
  fromAddress: z.email(),
@@ -150,7 +150,7 @@ const brandingSchema = z.object({
150
150
  dark: themeOverridesSchema.optional(),
151
151
  })
152
152
  .optional(),
153
- /** Handlebars template for magic link emails. Supports {{magicLink}}, {{branding.name}}, {{branding.emoji}} */
153
+ /** Handlebars template for magic link emails. Supports \{\{magicLink\}\}, \{\{branding.name\}\}, \{\{branding.emoji\}\} */
154
154
  emailTemplate: z.string().optional(),
155
155
  });
156
156
  /** Top-level Jeeves Server configuration */
@@ -227,6 +227,18 @@ const jeevesConfigSchema = z
227
227
  .default({}),
228
228
  /** Instance branding (name, emoji, theme overrides, email template) */
229
229
  branding: brandingSchema.optional(),
230
+ /** Absolute path to the durable event queue JSONL file. Cursor file is derived as eventQueue + '.cursor'. */
231
+ eventQueue: z
232
+ .string()
233
+ .min(1)
234
+ .refine((p) => p.startsWith('/') ||
235
+ /^[A-Za-z]:[\\/]/.test(p) ||
236
+ p.startsWith('\\\\'), { message: 'eventQueue must be an absolute path' })
237
+ .optional(),
238
+ /** Maximum number of event queue entries processed concurrently. Defaults to 3. */
239
+ eventQueueConcurrency: z.number().int().positive().default(3),
240
+ /** Public base URL (e.g. https://jeeves.johngalt.id). When set, API responses include full public URLs. */
241
+ publicUrl: z.url().optional(),
230
242
  })
231
243
  .superRefine((config, ctx) => {
232
244
  // Google auth mode requires google config + sessionSecret
package/package.json CHANGED
@@ -86,5 +86,5 @@
86
86
  },
87
87
  "type": "module",
88
88
  "types": "dist/src/index.d.ts",
89
- "version": "0.1.6"
89
+ "version": "0.2.0"
90
90
  }