@rudderhq/cli 0.6.5 → 0.6.6-canary.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
@@ -27,6 +27,13 @@ var init_chat_inline_visuals = __esm({
27
27
  }
28
28
  });
29
29
 
30
+ // ../packages/shared/dist/chat-subagents.js
31
+ var init_chat_subagents = __esm({
32
+ "../packages/shared/dist/chat-subagents.js"() {
33
+ "use strict";
34
+ }
35
+ });
36
+
30
37
  // ../packages/shared/dist/project-mentions.js
31
38
  var init_project_mentions = __esm({
32
39
  "../packages/shared/dist/project-mentions.js"() {
@@ -2217,8 +2224,36 @@ var init_messenger = __esm({
2217
2224
  }
2218
2225
  });
2219
2226
 
2220
- // ../packages/shared/dist/validators/instance.js
2227
+ // ../packages/shared/dist/validators/local-account-auth.js
2221
2228
  import { z as z5 } from "zod";
2229
+ var localServerExchangeSchema, localOfflineGrantSchema;
2230
+ var init_local_account_auth = __esm({
2231
+ "../packages/shared/dist/validators/local-account-auth.js"() {
2232
+ "use strict";
2233
+ localServerExchangeSchema = z5.object({
2234
+ exchangeCode: z5.string().min(16).max(16384)
2235
+ }).strict();
2236
+ localOfflineGrantSchema = z5.object({
2237
+ grant: z5.string().min(32).max(32768),
2238
+ devicePublicKeySpki: z5.string().min(32).max(4096),
2239
+ proof: z5.object({
2240
+ payload: z5.object({
2241
+ version: z5.literal(1),
2242
+ grantHash: z5.string().min(16).max(128),
2243
+ method: z5.string().min(1).max(16),
2244
+ path: z5.string().min(1).max(2048),
2245
+ bodyHash: z5.string().min(1).max(128),
2246
+ nonce: z5.string().min(16).max(256),
2247
+ issuedAtMs: z5.number().int().safe()
2248
+ }).strict(),
2249
+ signature: z5.string().min(16).max(1024)
2250
+ }).strict()
2251
+ }).strict();
2252
+ }
2253
+ });
2254
+
2255
+ // ../packages/shared/dist/validators/instance.js
2256
+ import { z as z6 } from "zod";
2222
2257
  var DEFAULT_INSTANCE_BROWSER_SETTINGS, instanceBrowserSettingsSchema, patchInstanceBrowserSettingsSchema, instanceLocaleSchema, instanceGeneralSettingsSchema, patchInstanceGeneralSettingsSchema, instanceNotificationSettingsSchema, patchInstanceNotificationSettingsSchema, OPERATOR_PROFILE_MORE_ABOUT_YOU_MAX_LENGTH, operatorProfileSettingsSchema, patchOperatorProfileSettingsSchema, KEYBOARD_SHORTCUT_ACTION_IDS, keyboardShortcutActionIdSchema, keyboardShortcutBindingSchema, keyboardShortcutPreferenceSchema, keyboardShortcutSettingsSchema, instancePathPickerSelectionTypeSchema, instancePathPickerRequestSchema, instancePathPickerResultSchema;
2223
2258
  var init_instance = __esm({
2224
2259
  "../packages/shared/dist/validators/instance.js"() {
@@ -2227,32 +2262,32 @@ var init_instance = __esm({
2227
2262
  enabled: true,
2228
2263
  openLinksIn: "built_in"
2229
2264
  };
2230
- instanceBrowserSettingsSchema = z5.object({
2231
- enabled: z5.boolean().default(DEFAULT_INSTANCE_BROWSER_SETTINGS.enabled),
2232
- openLinksIn: z5.enum(["built_in", "default_browser"]).default(DEFAULT_INSTANCE_BROWSER_SETTINGS.openLinksIn)
2265
+ instanceBrowserSettingsSchema = z6.object({
2266
+ enabled: z6.boolean().default(DEFAULT_INSTANCE_BROWSER_SETTINGS.enabled),
2267
+ openLinksIn: z6.enum(["built_in", "default_browser"]).default(DEFAULT_INSTANCE_BROWSER_SETTINGS.openLinksIn)
2233
2268
  }).strict();
2234
- patchInstanceBrowserSettingsSchema = z5.object({
2235
- enabled: z5.boolean().optional(),
2236
- openLinksIn: z5.enum(["built_in", "default_browser"]).optional()
2269
+ patchInstanceBrowserSettingsSchema = z6.object({
2270
+ enabled: z6.boolean().optional(),
2271
+ openLinksIn: z6.enum(["built_in", "default_browser"]).optional()
2237
2272
  }).strict();
2238
- instanceLocaleSchema = z5.enum(["en", "zh-CN"]);
2239
- instanceGeneralSettingsSchema = z5.object({
2240
- censorUsernameInLogs: z5.boolean().default(false),
2241
- showDeveloperDiagnostics: z5.boolean().default(false),
2273
+ instanceLocaleSchema = z6.enum(["en", "zh-CN"]);
2274
+ instanceGeneralSettingsSchema = z6.object({
2275
+ censorUsernameInLogs: z6.boolean().default(false),
2276
+ showDeveloperDiagnostics: z6.boolean().default(false),
2242
2277
  locale: instanceLocaleSchema.default("en")
2243
2278
  }).strict();
2244
2279
  patchInstanceGeneralSettingsSchema = instanceGeneralSettingsSchema.partial();
2245
- instanceNotificationSettingsSchema = z5.object({
2246
- desktopInboxNotifications: z5.boolean().default(true),
2247
- desktopDockBadge: z5.boolean().default(true),
2248
- desktopIssueNotifications: z5.boolean().default(true),
2249
- desktopChatNotifications: z5.boolean().default(true)
2280
+ instanceNotificationSettingsSchema = z6.object({
2281
+ desktopInboxNotifications: z6.boolean().default(true),
2282
+ desktopDockBadge: z6.boolean().default(true),
2283
+ desktopIssueNotifications: z6.boolean().default(true),
2284
+ desktopChatNotifications: z6.boolean().default(true)
2250
2285
  }).strict();
2251
2286
  patchInstanceNotificationSettingsSchema = instanceNotificationSettingsSchema.partial();
2252
2287
  OPERATOR_PROFILE_MORE_ABOUT_YOU_MAX_LENGTH = 8e3;
2253
- operatorProfileSettingsSchema = z5.object({
2254
- nickname: z5.string().max(80).default(""),
2255
- moreAboutYou: z5.string().max(OPERATOR_PROFILE_MORE_ABOUT_YOU_MAX_LENGTH).default("")
2288
+ operatorProfileSettingsSchema = z6.object({
2289
+ nickname: z6.string().max(80).default(""),
2290
+ moreAboutYou: z6.string().max(OPERATOR_PROFILE_MORE_ABOUT_YOU_MAX_LENGTH).default("")
2256
2291
  }).strict();
2257
2292
  patchOperatorProfileSettingsSchema = operatorProfileSettingsSchema.partial();
2258
2293
  KEYBOARD_SHORTCUT_ACTION_IDS = [
@@ -2263,28 +2298,28 @@ var init_instance = __esm({
2263
2298
  "sidebar.toggle",
2264
2299
  "panel.toggle"
2265
2300
  ];
2266
- keyboardShortcutActionIdSchema = z5.enum(KEYBOARD_SHORTCUT_ACTION_IDS);
2267
- keyboardShortcutBindingSchema = z5.object({
2268
- key: z5.string().trim().min(1).max(64),
2269
- code: z5.string().trim().min(1).max(80).optional(),
2270
- metaKey: z5.boolean().optional(),
2271
- ctrlKey: z5.boolean().optional(),
2272
- altKey: z5.boolean().optional(),
2273
- shiftKey: z5.boolean().optional()
2301
+ keyboardShortcutActionIdSchema = z6.enum(KEYBOARD_SHORTCUT_ACTION_IDS);
2302
+ keyboardShortcutBindingSchema = z6.object({
2303
+ key: z6.string().trim().min(1).max(64),
2304
+ code: z6.string().trim().min(1).max(80).optional(),
2305
+ metaKey: z6.boolean().optional(),
2306
+ ctrlKey: z6.boolean().optional(),
2307
+ altKey: z6.boolean().optional(),
2308
+ shiftKey: z6.boolean().optional()
2274
2309
  }).strict();
2275
- keyboardShortcutPreferenceSchema = z5.object({
2310
+ keyboardShortcutPreferenceSchema = z6.object({
2276
2311
  actionId: keyboardShortcutActionIdSchema,
2277
- bindings: z5.array(keyboardShortcutBindingSchema).max(4).optional(),
2278
- disabled: z5.boolean().optional()
2312
+ bindings: z6.array(keyboardShortcutBindingSchema).max(4).optional(),
2313
+ disabled: z6.boolean().optional()
2279
2314
  }).strict();
2280
- keyboardShortcutSettingsSchema = z5.object({
2281
- shortcuts: z5.array(keyboardShortcutPreferenceSchema).max(KEYBOARD_SHORTCUT_ACTION_IDS.length).default([])
2315
+ keyboardShortcutSettingsSchema = z6.object({
2316
+ shortcuts: z6.array(keyboardShortcutPreferenceSchema).max(KEYBOARD_SHORTCUT_ACTION_IDS.length).default([])
2282
2317
  }).strict().superRefine((value, ctx) => {
2283
2318
  const seen = /* @__PURE__ */ new Set();
2284
2319
  value.shortcuts.forEach((shortcut, index) => {
2285
2320
  if (seen.has(shortcut.actionId)) {
2286
2321
  ctx.addIssue({
2287
- code: z5.ZodIssueCode.custom,
2322
+ code: z6.ZodIssueCode.custom,
2288
2323
  message: `Duplicate shortcut action id: ${shortcut.actionId}`,
2289
2324
  path: ["shortcuts", index, "actionId"]
2290
2325
  });
@@ -2293,43 +2328,43 @@ var init_instance = __esm({
2293
2328
  seen.add(shortcut.actionId);
2294
2329
  });
2295
2330
  });
2296
- instancePathPickerSelectionTypeSchema = z5.enum(["file", "directory"]);
2297
- instancePathPickerRequestSchema = z5.object({
2331
+ instancePathPickerSelectionTypeSchema = z6.enum(["file", "directory"]);
2332
+ instancePathPickerRequestSchema = z6.object({
2298
2333
  selectionType: instancePathPickerSelectionTypeSchema
2299
2334
  }).strict();
2300
- instancePathPickerResultSchema = z5.object({
2301
- path: z5.string().nullable(),
2302
- cancelled: z5.boolean()
2335
+ instancePathPickerResultSchema = z6.object({
2336
+ path: z6.string().nullable(),
2337
+ cancelled: z6.boolean()
2303
2338
  }).strict();
2304
2339
  }
2305
2340
  });
2306
2341
 
2307
2342
  // ../packages/shared/dist/validators/budget.js
2308
- import { z as z6 } from "zod";
2343
+ import { z as z7 } from "zod";
2309
2344
  var upsertBudgetPolicySchema, resolveBudgetIncidentSchema;
2310
2345
  var init_budget = __esm({
2311
2346
  "../packages/shared/dist/validators/budget.js"() {
2312
2347
  "use strict";
2313
2348
  init_constants();
2314
- upsertBudgetPolicySchema = z6.object({
2315
- scopeType: z6.enum(BUDGET_SCOPE_TYPES),
2316
- scopeId: z6.string().uuid(),
2317
- metric: z6.enum(BUDGET_METRICS).optional().default("billed_cents"),
2318
- windowKind: z6.enum(BUDGET_WINDOW_KINDS).optional().default("calendar_month_utc"),
2319
- amount: z6.number().int().nonnegative(),
2320
- warnPercent: z6.number().int().min(1).max(99).optional().default(80),
2321
- hardStopEnabled: z6.boolean().optional().default(true),
2322
- notifyEnabled: z6.boolean().optional().default(true),
2323
- isActive: z6.boolean().optional().default(true)
2349
+ upsertBudgetPolicySchema = z7.object({
2350
+ scopeType: z7.enum(BUDGET_SCOPE_TYPES),
2351
+ scopeId: z7.string().uuid(),
2352
+ metric: z7.enum(BUDGET_METRICS).optional().default("billed_cents"),
2353
+ windowKind: z7.enum(BUDGET_WINDOW_KINDS).optional().default("calendar_month_utc"),
2354
+ amount: z7.number().int().nonnegative(),
2355
+ warnPercent: z7.number().int().min(1).max(99).optional().default(80),
2356
+ hardStopEnabled: z7.boolean().optional().default(true),
2357
+ notifyEnabled: z7.boolean().optional().default(true),
2358
+ isActive: z7.boolean().optional().default(true)
2324
2359
  });
2325
- resolveBudgetIncidentSchema = z6.object({
2326
- action: z6.enum(BUDGET_INCIDENT_RESOLUTION_ACTIONS),
2327
- amount: z6.number().int().nonnegative().optional(),
2328
- decisionNote: z6.string().optional().nullable()
2360
+ resolveBudgetIncidentSchema = z7.object({
2361
+ action: z7.enum(BUDGET_INCIDENT_RESOLUTION_ACTIONS),
2362
+ amount: z7.number().int().nonnegative().optional(),
2363
+ decisionNote: z7.string().optional().nullable()
2329
2364
  }).superRefine((value, ctx) => {
2330
2365
  if (value.action === "raise_budget_and_resume" && typeof value.amount !== "number") {
2331
2366
  ctx.addIssue({
2332
- code: z6.ZodIssueCode.custom,
2367
+ code: z7.ZodIssueCode.custom,
2333
2368
  message: "amount is required when raising a budget",
2334
2369
  path: ["amount"]
2335
2370
  });
@@ -2339,12 +2374,12 @@ var init_budget = __esm({
2339
2374
  });
2340
2375
 
2341
2376
  // ../packages/shared/dist/validators/adapter-skills.js
2342
- import { z as z7 } from "zod";
2377
+ import { z as z8 } from "zod";
2343
2378
  var agentSkillStateSchema, agentSkillOriginSchema, agentSkillSourceClassSchema, agentSkillSyncModeSchema, agentSkillEntrySchema, agentSkillSnapshotSchema, agentSkillSyncSchema, agentSkillEnableSchema;
2344
2379
  var init_adapter_skills = __esm({
2345
2380
  "../packages/shared/dist/validators/adapter-skills.js"() {
2346
2381
  "use strict";
2347
- agentSkillStateSchema = z7.enum([
2382
+ agentSkillStateSchema = z8.enum([
2348
2383
  "available",
2349
2384
  "configured",
2350
2385
  "installed",
@@ -2352,107 +2387,107 @@ var init_adapter_skills = __esm({
2352
2387
  "stale",
2353
2388
  "external"
2354
2389
  ]);
2355
- agentSkillOriginSchema = z7.preprocess((value) => {
2390
+ agentSkillOriginSchema = z8.preprocess((value) => {
2356
2391
  if (value === "company_managed")
2357
2392
  return "organization_managed";
2358
2393
  return value;
2359
- }, z7.enum([
2394
+ }, z8.enum([
2360
2395
  "organization_managed",
2361
2396
  "user_installed",
2362
2397
  "external_unknown"
2363
2398
  ]));
2364
- agentSkillSourceClassSchema = z7.enum([
2399
+ agentSkillSourceClassSchema = z8.enum([
2365
2400
  "bundled",
2366
2401
  "organization",
2367
2402
  "agent_home",
2368
2403
  "global",
2369
2404
  "adapter_home"
2370
2405
  ]);
2371
- agentSkillSyncModeSchema = z7.enum([
2406
+ agentSkillSyncModeSchema = z8.enum([
2372
2407
  "unsupported",
2373
2408
  "persistent",
2374
2409
  "ephemeral"
2375
2410
  ]);
2376
- agentSkillEntrySchema = z7.object({
2377
- key: z7.string().min(1),
2378
- selectionKey: z7.string().min(1),
2379
- runtimeName: z7.string().min(1).nullable(),
2380
- description: z7.string().nullable().optional(),
2381
- desired: z7.boolean(),
2382
- configurable: z7.boolean(),
2383
- alwaysEnabled: z7.boolean(),
2384
- managed: z7.boolean(),
2411
+ agentSkillEntrySchema = z8.object({
2412
+ key: z8.string().min(1),
2413
+ selectionKey: z8.string().min(1),
2414
+ runtimeName: z8.string().min(1).nullable(),
2415
+ description: z8.string().nullable().optional(),
2416
+ desired: z8.boolean(),
2417
+ configurable: z8.boolean(),
2418
+ alwaysEnabled: z8.boolean(),
2419
+ managed: z8.boolean(),
2385
2420
  state: agentSkillStateSchema,
2386
2421
  sourceClass: agentSkillSourceClassSchema,
2387
2422
  origin: agentSkillOriginSchema.optional(),
2388
- originLabel: z7.string().nullable().optional(),
2389
- locationLabel: z7.string().nullable().optional(),
2390
- readOnly: z7.boolean().optional(),
2391
- sourcePath: z7.string().nullable().optional(),
2392
- targetPath: z7.string().nullable().optional(),
2393
- workspaceEditPath: z7.string().nullable().optional(),
2394
- detail: z7.string().nullable().optional()
2423
+ originLabel: z8.string().nullable().optional(),
2424
+ locationLabel: z8.string().nullable().optional(),
2425
+ readOnly: z8.boolean().optional(),
2426
+ sourcePath: z8.string().nullable().optional(),
2427
+ targetPath: z8.string().nullable().optional(),
2428
+ workspaceEditPath: z8.string().nullable().optional(),
2429
+ detail: z8.string().nullable().optional()
2395
2430
  });
2396
- agentSkillSnapshotSchema = z7.object({
2397
- agentRuntimeType: z7.string().min(1),
2398
- supported: z7.boolean(),
2431
+ agentSkillSnapshotSchema = z8.object({
2432
+ agentRuntimeType: z8.string().min(1),
2433
+ supported: z8.boolean(),
2399
2434
  mode: agentSkillSyncModeSchema,
2400
- desiredSkills: z7.array(z7.string().min(1)),
2401
- entries: z7.array(agentSkillEntrySchema),
2402
- warnings: z7.array(z7.string())
2435
+ desiredSkills: z8.array(z8.string().min(1)),
2436
+ entries: z8.array(agentSkillEntrySchema),
2437
+ warnings: z8.array(z8.string())
2403
2438
  });
2404
- agentSkillSyncSchema = z7.object({
2405
- desiredSkills: z7.array(z7.string().min(1))
2439
+ agentSkillSyncSchema = z8.object({
2440
+ desiredSkills: z8.array(z8.string().min(1))
2406
2441
  });
2407
- agentSkillEnableSchema = z7.object({
2408
- skills: z7.array(z7.string().min(1)).min(1)
2442
+ agentSkillEnableSchema = z8.object({
2443
+ skills: z8.array(z8.string().min(1)).min(1)
2409
2444
  });
2410
2445
  }
2411
2446
  });
2412
2447
 
2413
2448
  // ../packages/shared/dist/validators/secret.js
2414
- import { z as z8 } from "zod";
2449
+ import { z as z9 } from "zod";
2415
2450
  var envBindingPlainSchema, envBindingSecretRefSchema, envBindingSchema, envConfigSchema, createSecretSchema, rotateSecretSchema, updateSecretSchema;
2416
2451
  var init_secret = __esm({
2417
2452
  "../packages/shared/dist/validators/secret.js"() {
2418
2453
  "use strict";
2419
2454
  init_constants();
2420
- envBindingPlainSchema = z8.object({
2421
- type: z8.literal("plain"),
2422
- value: z8.string()
2455
+ envBindingPlainSchema = z9.object({
2456
+ type: z9.literal("plain"),
2457
+ value: z9.string()
2423
2458
  });
2424
- envBindingSecretRefSchema = z8.object({
2425
- type: z8.literal("secret_ref"),
2426
- secretId: z8.string().uuid(),
2427
- version: z8.union([z8.literal("latest"), z8.number().int().positive()]).optional()
2459
+ envBindingSecretRefSchema = z9.object({
2460
+ type: z9.literal("secret_ref"),
2461
+ secretId: z9.string().uuid(),
2462
+ version: z9.union([z9.literal("latest"), z9.number().int().positive()]).optional()
2428
2463
  });
2429
- envBindingSchema = z8.union([
2430
- z8.string(),
2464
+ envBindingSchema = z9.union([
2465
+ z9.string(),
2431
2466
  envBindingPlainSchema,
2432
2467
  envBindingSecretRefSchema
2433
2468
  ]);
2434
- envConfigSchema = z8.record(envBindingSchema);
2435
- createSecretSchema = z8.object({
2436
- name: z8.string().min(1),
2437
- provider: z8.enum(SECRET_PROVIDERS).optional(),
2438
- value: z8.string().min(1),
2439
- description: z8.string().optional().nullable(),
2440
- externalRef: z8.string().optional().nullable()
2469
+ envConfigSchema = z9.record(envBindingSchema);
2470
+ createSecretSchema = z9.object({
2471
+ name: z9.string().min(1),
2472
+ provider: z9.enum(SECRET_PROVIDERS).optional(),
2473
+ value: z9.string().min(1),
2474
+ description: z9.string().optional().nullable(),
2475
+ externalRef: z9.string().optional().nullable()
2441
2476
  }).strict();
2442
- rotateSecretSchema = z8.object({
2443
- value: z8.string().min(1),
2444
- externalRef: z8.string().optional().nullable()
2477
+ rotateSecretSchema = z9.object({
2478
+ value: z9.string().min(1),
2479
+ externalRef: z9.string().optional().nullable()
2445
2480
  }).strict();
2446
- updateSecretSchema = z8.object({
2447
- name: z8.string().min(1).optional(),
2448
- description: z8.string().optional().nullable(),
2449
- externalRef: z8.string().optional().nullable()
2481
+ updateSecretSchema = z9.object({
2482
+ name: z9.string().min(1).optional(),
2483
+ description: z9.string().optional().nullable(),
2484
+ externalRef: z9.string().optional().nullable()
2450
2485
  }).strict();
2451
2486
  }
2452
2487
  });
2453
2488
 
2454
2489
  // ../packages/shared/dist/validators/model-fallbacks.js
2455
- import { z as z9 } from "zod";
2490
+ import { z as z10 } from "zod";
2456
2491
  function isRecord(value) {
2457
2492
  return typeof value === "object" && value !== null && !Array.isArray(value);
2458
2493
  }
@@ -2462,7 +2497,7 @@ function validateModelFallbacksConfig(value, ctx, pathPrefix) {
2462
2497
  return;
2463
2498
  if (!Array.isArray(fallbackModels)) {
2464
2499
  ctx.addIssue({
2465
- code: z9.ZodIssueCode.custom,
2500
+ code: z10.ZodIssueCode.custom,
2466
2501
  message: "modelFallbacks must be an array",
2467
2502
  path: [...pathPrefix, "modelFallbacks"]
2468
2503
  });
@@ -2472,7 +2507,7 @@ function validateModelFallbacksConfig(value, ctx, pathPrefix) {
2472
2507
  if (typeof fallback === "string") {
2473
2508
  if (fallback.trim().length === 0) {
2474
2509
  ctx.addIssue({
2475
- code: z9.ZodIssueCode.custom,
2510
+ code: z10.ZodIssueCode.custom,
2476
2511
  message: "modelFallbacks string entries must be non-empty",
2477
2512
  path: [...pathPrefix, "modelFallbacks", index]
2478
2513
  });
@@ -2481,7 +2516,7 @@ function validateModelFallbacksConfig(value, ctx, pathPrefix) {
2481
2516
  }
2482
2517
  if (!isRecord(fallback)) {
2483
2518
  ctx.addIssue({
2484
- code: z9.ZodIssueCode.custom,
2519
+ code: z10.ZodIssueCode.custom,
2485
2520
  message: "modelFallbacks entries must be strings or runtime/model objects",
2486
2521
  path: [...pathPrefix, "modelFallbacks", index]
2487
2522
  });
@@ -2489,27 +2524,27 @@ function validateModelFallbacksConfig(value, ctx, pathPrefix) {
2489
2524
  }
2490
2525
  if (typeof fallback.agentRuntimeType !== "string" || fallback.agentRuntimeType.trim().length === 0) {
2491
2526
  ctx.addIssue({
2492
- code: z9.ZodIssueCode.custom,
2527
+ code: z10.ZodIssueCode.custom,
2493
2528
  message: "modelFallbacks entries must include agentRuntimeType",
2494
2529
  path: [...pathPrefix, "modelFallbacks", index, "agentRuntimeType"]
2495
2530
  });
2496
2531
  } else if (!agentRuntimeTypes.has(fallback.agentRuntimeType)) {
2497
2532
  ctx.addIssue({
2498
- code: z9.ZodIssueCode.custom,
2533
+ code: z10.ZodIssueCode.custom,
2499
2534
  message: "modelFallbacks entries must include a valid agentRuntimeType",
2500
2535
  path: [...pathPrefix, "modelFallbacks", index, "agentRuntimeType"]
2501
2536
  });
2502
2537
  }
2503
2538
  if (typeof fallback.model !== "string" || fallback.model.trim().length === 0) {
2504
2539
  ctx.addIssue({
2505
- code: z9.ZodIssueCode.custom,
2540
+ code: z10.ZodIssueCode.custom,
2506
2541
  message: "modelFallbacks entries must include model",
2507
2542
  path: [...pathPrefix, "modelFallbacks", index, "model"]
2508
2543
  });
2509
2544
  }
2510
2545
  if (fallback.config !== void 0 && !isRecord(fallback.config)) {
2511
2546
  ctx.addIssue({
2512
- code: z9.ZodIssueCode.custom,
2547
+ code: z10.ZodIssueCode.custom,
2513
2548
  message: "modelFallbacks entry config must be an object",
2514
2549
  path: [...pathPrefix, "modelFallbacks", index, "config"]
2515
2550
  });
@@ -2517,7 +2552,7 @@ function validateModelFallbacksConfig(value, ctx, pathPrefix) {
2517
2552
  const parsed = envConfigSchema.safeParse(fallback.config.env);
2518
2553
  if (!parsed.success) {
2519
2554
  ctx.addIssue({
2520
- code: z9.ZodIssueCode.custom,
2555
+ code: z10.ZodIssueCode.custom,
2521
2556
  message: "modelFallbacks entry config.env must be a map of valid env bindings",
2522
2557
  path: [...pathPrefix, "modelFallbacks", index, "config", "env"]
2523
2558
  });
@@ -2536,7 +2571,7 @@ var init_model_fallbacks = __esm({
2536
2571
  });
2537
2572
 
2538
2573
  // ../packages/shared/dist/validators/organization-intelligence-profile.js
2539
- import { z as z10 } from "zod";
2574
+ import { z as z11 } from "zod";
2540
2575
  var organizationIntelligenceProfilePurposeSchema, organizationIntelligenceProfileStatusSchema, organizationIntelligenceProfileConfigSchema, upsertOrganizationIntelligenceProfileSchema;
2541
2576
  var init_organization_intelligence_profile = __esm({
2542
2577
  "../packages/shared/dist/validators/organization-intelligence-profile.js"() {
@@ -2544,15 +2579,15 @@ var init_organization_intelligence_profile = __esm({
2544
2579
  init_constants();
2545
2580
  init_model_fallbacks();
2546
2581
  init_secret();
2547
- organizationIntelligenceProfilePurposeSchema = z10.enum(ORGANIZATION_INTELLIGENCE_PROFILE_PURPOSES);
2548
- organizationIntelligenceProfileStatusSchema = z10.enum(ORGANIZATION_INTELLIGENCE_PROFILE_STATUSES);
2549
- organizationIntelligenceProfileConfigSchema = z10.record(z10.unknown()).superRefine((value, ctx) => {
2582
+ organizationIntelligenceProfilePurposeSchema = z11.enum(ORGANIZATION_INTELLIGENCE_PROFILE_PURPOSES);
2583
+ organizationIntelligenceProfileStatusSchema = z11.enum(ORGANIZATION_INTELLIGENCE_PROFILE_STATUSES);
2584
+ organizationIntelligenceProfileConfigSchema = z11.record(z11.unknown()).superRefine((value, ctx) => {
2550
2585
  const envValue = value.env;
2551
2586
  if (envValue !== void 0) {
2552
2587
  const parsed = envConfigSchema.safeParse(envValue);
2553
2588
  if (!parsed.success) {
2554
2589
  ctx.addIssue({
2555
- code: z10.ZodIssueCode.custom,
2590
+ code: z11.ZodIssueCode.custom,
2556
2591
  message: "agentRuntimeConfig.env must be a map of valid env bindings",
2557
2592
  path: ["env"]
2558
2593
  });
@@ -2560,8 +2595,8 @@ var init_organization_intelligence_profile = __esm({
2560
2595
  }
2561
2596
  validateModelFallbacksConfig(value, ctx, []);
2562
2597
  });
2563
- upsertOrganizationIntelligenceProfileSchema = z10.object({
2564
- agentRuntimeType: z10.enum(AGENT_RUNTIME_TYPES),
2598
+ upsertOrganizationIntelligenceProfileSchema = z11.object({
2599
+ agentRuntimeType: z11.enum(AGENT_RUNTIME_TYPES),
2565
2600
  agentRuntimeConfig: organizationIntelligenceProfileConfigSchema.default({}),
2566
2601
  status: organizationIntelligenceProfileStatusSchema.optional().default("disabled")
2567
2602
  });
@@ -2579,296 +2614,296 @@ var init_organization_issue_key = __esm({
2579
2614
  });
2580
2615
 
2581
2616
  // ../packages/shared/dist/validators/organization.js
2582
- import { z as z11 } from "zod";
2617
+ import { z as z12 } from "zod";
2583
2618
  var logoAssetIdSchema, brandColorSchema, organizationIssueKeySchema, createOrganizationSchema, updateOrganizationSchema, updateOrganizationBrandingSchema, updateOrganizationWorkspaceFileSchema, workspaceWebPreviewNetworkModeSchema, createOrganizationWorkspaceWebPreviewSessionSchema, createOrganizationWorkspaceFileSchema, createOrganizationWorkspaceDirectorySchema, renameOrganizationWorkspaceEntrySchema, moveOrganizationWorkspaceEntrySchema, copyOrganizationWorkspaceEntrySchema;
2584
2619
  var init_organization = __esm({
2585
2620
  "../packages/shared/dist/validators/organization.js"() {
2586
2621
  "use strict";
2587
2622
  init_constants();
2588
2623
  init_organization_issue_key();
2589
- logoAssetIdSchema = z11.string().uuid().nullable().optional();
2590
- brandColorSchema = z11.string().regex(/^#[0-9a-fA-F]{6}$/).nullable().optional();
2591
- organizationIssueKeySchema = z11.string().trim().min(1).max(ORGANIZATION_ISSUE_KEY_MAX_LENGTH).transform((value) => value.toUpperCase()).refine((value) => ORGANIZATION_ISSUE_KEY_PATTERN.test(value), {
2624
+ logoAssetIdSchema = z12.string().uuid().nullable().optional();
2625
+ brandColorSchema = z12.string().regex(/^#[0-9a-fA-F]{6}$/).nullable().optional();
2626
+ organizationIssueKeySchema = z12.string().trim().min(1).max(ORGANIZATION_ISSUE_KEY_MAX_LENGTH).transform((value) => value.toUpperCase()).refine((value) => ORGANIZATION_ISSUE_KEY_PATTERN.test(value), {
2592
2627
  message: "Issue key must start with a letter and contain only letters and numbers"
2593
2628
  });
2594
- createOrganizationSchema = z11.object({
2595
- name: z11.string().min(1),
2629
+ createOrganizationSchema = z12.object({
2630
+ name: z12.string().min(1),
2596
2631
  issuePrefix: organizationIssueKeySchema.optional(),
2597
- description: z11.string().optional().nullable(),
2598
- budgetMonthlyCents: z11.number().int().nonnegative().optional().default(0),
2599
- defaultChatIssueCreationMode: z11.enum(CHAT_ISSUE_CREATION_MODES).optional().default("manual_approval"),
2632
+ description: z12.string().optional().nullable(),
2633
+ budgetMonthlyCents: z12.number().int().nonnegative().optional().default(0),
2634
+ defaultChatIssueCreationMode: z12.enum(CHAT_ISSUE_CREATION_MODES).optional().default("manual_approval"),
2600
2635
  brandColor: brandColorSchema,
2601
- requireBoardApprovalForNewAgents: z11.boolean().optional()
2636
+ requireBoardApprovalForNewAgents: z12.boolean().optional()
2602
2637
  });
2603
2638
  updateOrganizationSchema = createOrganizationSchema.partial().extend({
2604
- status: z11.enum(ORGANIZATION_STATUSES).optional(),
2605
- spentMonthlyCents: z11.number().int().nonnegative().optional(),
2606
- requireBoardApprovalForNewAgents: z11.boolean().optional(),
2607
- defaultChatIssueCreationMode: z11.enum(CHAT_ISSUE_CREATION_MODES).optional(),
2639
+ status: z12.enum(ORGANIZATION_STATUSES).optional(),
2640
+ spentMonthlyCents: z12.number().int().nonnegative().optional(),
2641
+ requireBoardApprovalForNewAgents: z12.boolean().optional(),
2642
+ defaultChatIssueCreationMode: z12.enum(CHAT_ISSUE_CREATION_MODES).optional(),
2608
2643
  brandColor: brandColorSchema,
2609
2644
  logoAssetId: logoAssetIdSchema
2610
2645
  });
2611
- updateOrganizationBrandingSchema = z11.object({
2612
- name: z11.string().min(1).optional(),
2613
- description: z11.string().nullable().optional(),
2646
+ updateOrganizationBrandingSchema = z12.object({
2647
+ name: z12.string().min(1).optional(),
2648
+ description: z12.string().nullable().optional(),
2614
2649
  brandColor: brandColorSchema,
2615
2650
  logoAssetId: logoAssetIdSchema
2616
2651
  }).strict().refine((value) => value.name !== void 0 || value.description !== void 0 || value.brandColor !== void 0 || value.logoAssetId !== void 0, "At least one branding field must be provided");
2617
- updateOrganizationWorkspaceFileSchema = z11.object({
2618
- content: z11.string(),
2619
- expectedContent: z11.string().optional()
2652
+ updateOrganizationWorkspaceFileSchema = z12.object({
2653
+ content: z12.string(),
2654
+ expectedContent: z12.string().optional()
2620
2655
  });
2621
- workspaceWebPreviewNetworkModeSchema = z11.enum(["offline", "connected"]);
2622
- createOrganizationWorkspaceWebPreviewSessionSchema = z11.object({
2623
- entryPath: z11.string().trim().min(1).max(1e3),
2656
+ workspaceWebPreviewNetworkModeSchema = z12.enum(["offline", "connected"]);
2657
+ createOrganizationWorkspaceWebPreviewSessionSchema = z12.object({
2658
+ entryPath: z12.string().trim().min(1).max(1e3),
2624
2659
  networkMode: workspaceWebPreviewNetworkModeSchema,
2625
- htmlContent: z11.string().optional()
2660
+ htmlContent: z12.string().optional()
2626
2661
  });
2627
- createOrganizationWorkspaceFileSchema = z11.object({
2628
- filePath: z11.string().trim().min(1).max(1e3),
2629
- content: z11.string().optional().default("")
2662
+ createOrganizationWorkspaceFileSchema = z12.object({
2663
+ filePath: z12.string().trim().min(1).max(1e3),
2664
+ content: z12.string().optional().default("")
2630
2665
  });
2631
- createOrganizationWorkspaceDirectorySchema = z11.object({
2632
- directoryPath: z11.string().trim().min(1).max(1e3)
2666
+ createOrganizationWorkspaceDirectorySchema = z12.object({
2667
+ directoryPath: z12.string().trim().min(1).max(1e3)
2633
2668
  });
2634
- renameOrganizationWorkspaceEntrySchema = z11.object({
2635
- name: z11.string().trim().min(1).max(255)
2669
+ renameOrganizationWorkspaceEntrySchema = z12.object({
2670
+ name: z12.string().trim().min(1).max(255)
2636
2671
  });
2637
- moveOrganizationWorkspaceEntrySchema = z11.object({
2638
- destinationDirectoryPath: z11.string().trim().max(1e3).default("")
2672
+ moveOrganizationWorkspaceEntrySchema = z12.object({
2673
+ destinationDirectoryPath: z12.string().trim().max(1e3).default("")
2639
2674
  });
2640
- copyOrganizationWorkspaceEntrySchema = z11.object({
2641
- destinationDirectoryPath: z11.string().trim().max(1e3).optional()
2675
+ copyOrganizationWorkspaceEntrySchema = z12.object({
2676
+ destinationDirectoryPath: z12.string().trim().max(1e3).optional()
2642
2677
  });
2643
2678
  }
2644
2679
  });
2645
2680
 
2646
2681
  // ../packages/shared/dist/validators/organization-portability.js
2647
- import { z as z12 } from "zod";
2682
+ import { z as z13 } from "zod";
2648
2683
  var portabilityIncludeSchema, portabilityEnvInputSchema, portabilityFileEntrySchema, portabilityOrganizationManifestEntrySchema, portabilitySidebarOrderSchema, portabilityAgentManifestEntrySchema, portabilitySkillManifestEntrySchema, portabilityProjectManifestEntrySchema, portabilityIssueAutomationTriggerManifestEntrySchema, portabilityIssueAutomationManifestEntrySchema, portabilityIssueManifestEntrySchema, portabilityManifestSchema, portabilitySourceSchema, portabilityTargetSchema, portabilityAgentSelectionSchema, portabilityCollisionStrategySchema, organizationPortabilityExportSchema, organizationPortabilityPreviewSchema, portabilityAdapterOverrideSchema, organizationPortabilityImportSchema;
2649
2684
  var init_organization_portability = __esm({
2650
2685
  "../packages/shared/dist/validators/organization-portability.js"() {
2651
2686
  "use strict";
2652
2687
  init_organization();
2653
- portabilityIncludeSchema = z12.object({
2654
- organization: z12.boolean().optional(),
2655
- agents: z12.boolean().optional(),
2656
- projects: z12.boolean().optional(),
2657
- issues: z12.boolean().optional(),
2658
- skills: z12.boolean().optional()
2688
+ portabilityIncludeSchema = z13.object({
2689
+ organization: z13.boolean().optional(),
2690
+ agents: z13.boolean().optional(),
2691
+ projects: z13.boolean().optional(),
2692
+ issues: z13.boolean().optional(),
2693
+ skills: z13.boolean().optional()
2659
2694
  }).partial();
2660
- portabilityEnvInputSchema = z12.object({
2661
- key: z12.string().min(1),
2662
- description: z12.string().nullable(),
2663
- agentSlug: z12.string().min(1).nullable(),
2664
- kind: z12.enum(["secret", "plain"]),
2665
- requirement: z12.enum(["required", "optional"]),
2666
- defaultValue: z12.string().nullable(),
2667
- portability: z12.enum(["portable", "system_dependent"])
2695
+ portabilityEnvInputSchema = z13.object({
2696
+ key: z13.string().min(1),
2697
+ description: z13.string().nullable(),
2698
+ agentSlug: z13.string().min(1).nullable(),
2699
+ kind: z13.enum(["secret", "plain"]),
2700
+ requirement: z13.enum(["required", "optional"]),
2701
+ defaultValue: z13.string().nullable(),
2702
+ portability: z13.enum(["portable", "system_dependent"])
2668
2703
  });
2669
- portabilityFileEntrySchema = z12.union([
2670
- z12.string(),
2671
- z12.object({
2672
- encoding: z12.literal("base64"),
2673
- data: z12.string(),
2674
- contentType: z12.string().min(1).optional().nullable()
2704
+ portabilityFileEntrySchema = z13.union([
2705
+ z13.string(),
2706
+ z13.object({
2707
+ encoding: z13.literal("base64"),
2708
+ data: z13.string(),
2709
+ contentType: z13.string().min(1).optional().nullable()
2675
2710
  })
2676
2711
  ]);
2677
- portabilityOrganizationManifestEntrySchema = z12.object({
2678
- path: z12.string().min(1),
2679
- name: z12.string().min(1),
2680
- description: z12.string().nullable(),
2681
- brandColor: z12.string().nullable(),
2682
- logoPath: z12.string().nullable(),
2683
- requireBoardApprovalForNewAgents: z12.boolean()
2712
+ portabilityOrganizationManifestEntrySchema = z13.object({
2713
+ path: z13.string().min(1),
2714
+ name: z13.string().min(1),
2715
+ description: z13.string().nullable(),
2716
+ brandColor: z13.string().nullable(),
2717
+ logoPath: z13.string().nullable(),
2718
+ requireBoardApprovalForNewAgents: z13.boolean()
2684
2719
  });
2685
- portabilitySidebarOrderSchema = z12.object({
2686
- agents: z12.array(z12.string().min(1)).default([]),
2687
- projects: z12.array(z12.string().min(1)).default([])
2720
+ portabilitySidebarOrderSchema = z13.object({
2721
+ agents: z13.array(z13.string().min(1)).default([]),
2722
+ projects: z13.array(z13.string().min(1)).default([])
2688
2723
  });
2689
- portabilityAgentManifestEntrySchema = z12.object({
2690
- slug: z12.string().min(1),
2691
- name: z12.string().min(1),
2692
- path: z12.string().min(1),
2693
- skills: z12.array(z12.string().min(1)).default([]),
2694
- role: z12.string().min(1),
2695
- title: z12.string().nullable(),
2696
- icon: z12.string().nullable(),
2697
- capabilities: z12.string().nullable(),
2698
- reportsToSlug: z12.string().min(1).nullable().optional().default(null),
2699
- agentRuntimeType: z12.string().min(1),
2700
- agentRuntimeConfig: z12.record(z12.unknown()),
2701
- runtimeConfig: z12.record(z12.unknown()),
2702
- permissions: z12.record(z12.unknown()),
2703
- budgetMonthlyCents: z12.number().int().nonnegative(),
2704
- metadata: z12.record(z12.unknown()).nullable()
2724
+ portabilityAgentManifestEntrySchema = z13.object({
2725
+ slug: z13.string().min(1),
2726
+ name: z13.string().min(1),
2727
+ path: z13.string().min(1),
2728
+ skills: z13.array(z13.string().min(1)).default([]),
2729
+ role: z13.string().min(1),
2730
+ title: z13.string().nullable(),
2731
+ icon: z13.string().nullable(),
2732
+ capabilities: z13.string().nullable(),
2733
+ reportsToSlug: z13.string().min(1).nullable().optional().default(null),
2734
+ agentRuntimeType: z13.string().min(1),
2735
+ agentRuntimeConfig: z13.record(z13.unknown()),
2736
+ runtimeConfig: z13.record(z13.unknown()),
2737
+ permissions: z13.record(z13.unknown()),
2738
+ budgetMonthlyCents: z13.number().int().nonnegative(),
2739
+ metadata: z13.record(z13.unknown()).nullable()
2705
2740
  });
2706
- portabilitySkillManifestEntrySchema = z12.object({
2707
- key: z12.string().min(1),
2708
- slug: z12.string().min(1),
2709
- name: z12.string().min(1),
2710
- path: z12.string().min(1),
2711
- description: z12.string().nullable(),
2712
- sourceType: z12.string().min(1),
2713
- sourceLocator: z12.string().nullable(),
2714
- sourceRef: z12.string().nullable(),
2715
- trustLevel: z12.string().nullable(),
2716
- compatibility: z12.string().nullable(),
2717
- metadata: z12.record(z12.unknown()).nullable(),
2718
- fileInventory: z12.array(z12.object({
2719
- path: z12.string().min(1),
2720
- kind: z12.string().min(1)
2741
+ portabilitySkillManifestEntrySchema = z13.object({
2742
+ key: z13.string().min(1),
2743
+ slug: z13.string().min(1),
2744
+ name: z13.string().min(1),
2745
+ path: z13.string().min(1),
2746
+ description: z13.string().nullable(),
2747
+ sourceType: z13.string().min(1),
2748
+ sourceLocator: z13.string().nullable(),
2749
+ sourceRef: z13.string().nullable(),
2750
+ trustLevel: z13.string().nullable(),
2751
+ compatibility: z13.string().nullable(),
2752
+ metadata: z13.record(z13.unknown()).nullable(),
2753
+ fileInventory: z13.array(z13.object({
2754
+ path: z13.string().min(1),
2755
+ kind: z13.string().min(1)
2721
2756
  })).default([])
2722
2757
  });
2723
- portabilityProjectManifestEntrySchema = z12.object({
2724
- slug: z12.string().min(1),
2725
- name: z12.string().min(1),
2726
- path: z12.string().min(1),
2727
- description: z12.string().nullable(),
2728
- ownerAgentSlug: z12.string().min(1).nullable(),
2729
- leadAgentSlug: z12.string().min(1).nullable(),
2730
- targetDate: z12.string().nullable(),
2731
- color: z12.string().nullable(),
2732
- status: z12.string().nullable(),
2733
- executionWorkspacePolicy: z12.record(z12.unknown()).nullable(),
2734
- workspaces: z12.array(z12.object({
2735
- key: z12.string().min(1),
2736
- name: z12.string().min(1),
2737
- sourceType: z12.string().nullable(),
2738
- repoUrl: z12.string().nullable(),
2739
- repoRef: z12.string().nullable(),
2740
- defaultRef: z12.string().nullable(),
2741
- visibility: z12.string().nullable(),
2742
- setupCommand: z12.string().nullable(),
2743
- cleanupCommand: z12.string().nullable(),
2744
- metadata: z12.record(z12.unknown()).nullable(),
2745
- isPrimary: z12.boolean()
2758
+ portabilityProjectManifestEntrySchema = z13.object({
2759
+ slug: z13.string().min(1),
2760
+ name: z13.string().min(1),
2761
+ path: z13.string().min(1),
2762
+ description: z13.string().nullable(),
2763
+ ownerAgentSlug: z13.string().min(1).nullable(),
2764
+ leadAgentSlug: z13.string().min(1).nullable(),
2765
+ targetDate: z13.string().nullable(),
2766
+ color: z13.string().nullable(),
2767
+ status: z13.string().nullable(),
2768
+ executionWorkspacePolicy: z13.record(z13.unknown()).nullable(),
2769
+ workspaces: z13.array(z13.object({
2770
+ key: z13.string().min(1),
2771
+ name: z13.string().min(1),
2772
+ sourceType: z13.string().nullable(),
2773
+ repoUrl: z13.string().nullable(),
2774
+ repoRef: z13.string().nullable(),
2775
+ defaultRef: z13.string().nullable(),
2776
+ visibility: z13.string().nullable(),
2777
+ setupCommand: z13.string().nullable(),
2778
+ cleanupCommand: z13.string().nullable(),
2779
+ metadata: z13.record(z13.unknown()).nullable(),
2780
+ isPrimary: z13.boolean()
2746
2781
  })).default([]),
2747
- metadata: z12.record(z12.unknown()).nullable()
2782
+ metadata: z13.record(z13.unknown()).nullable()
2748
2783
  });
2749
- portabilityIssueAutomationTriggerManifestEntrySchema = z12.object({
2750
- kind: z12.string().min(1),
2751
- label: z12.string().nullable(),
2752
- enabled: z12.boolean(),
2753
- cronExpression: z12.string().nullable(),
2754
- timezone: z12.string().nullable(),
2755
- signingMode: z12.string().nullable(),
2756
- replayWindowSec: z12.number().int().nullable()
2784
+ portabilityIssueAutomationTriggerManifestEntrySchema = z13.object({
2785
+ kind: z13.string().min(1),
2786
+ label: z13.string().nullable(),
2787
+ enabled: z13.boolean(),
2788
+ cronExpression: z13.string().nullable(),
2789
+ timezone: z13.string().nullable(),
2790
+ signingMode: z13.string().nullable(),
2791
+ replayWindowSec: z13.number().int().nullable()
2757
2792
  });
2758
- portabilityIssueAutomationManifestEntrySchema = z12.object({
2759
- concurrencyPolicy: z12.string().nullable(),
2760
- catchUpPolicy: z12.string().nullable(),
2761
- triggers: z12.array(portabilityIssueAutomationTriggerManifestEntrySchema).default([])
2793
+ portabilityIssueAutomationManifestEntrySchema = z13.object({
2794
+ concurrencyPolicy: z13.string().nullable(),
2795
+ catchUpPolicy: z13.string().nullable(),
2796
+ triggers: z13.array(portabilityIssueAutomationTriggerManifestEntrySchema).default([])
2762
2797
  });
2763
- portabilityIssueManifestEntrySchema = z12.object({
2764
- slug: z12.string().min(1),
2765
- identifier: z12.string().min(1).nullable(),
2766
- title: z12.string().min(1),
2767
- path: z12.string().min(1),
2768
- projectSlug: z12.string().min(1).nullable(),
2769
- projectWorkspaceKey: z12.string().min(1).nullable(),
2770
- assigneeAgentSlug: z12.string().min(1).nullable(),
2771
- description: z12.string().nullable(),
2772
- recurring: z12.boolean().default(false),
2798
+ portabilityIssueManifestEntrySchema = z13.object({
2799
+ slug: z13.string().min(1),
2800
+ identifier: z13.string().min(1).nullable(),
2801
+ title: z13.string().min(1),
2802
+ path: z13.string().min(1),
2803
+ projectSlug: z13.string().min(1).nullable(),
2804
+ projectWorkspaceKey: z13.string().min(1).nullable(),
2805
+ assigneeAgentSlug: z13.string().min(1).nullable(),
2806
+ description: z13.string().nullable(),
2807
+ recurring: z13.boolean().default(false),
2773
2808
  automation: portabilityIssueAutomationManifestEntrySchema.nullable(),
2774
- legacyRecurrence: z12.record(z12.unknown()).nullable(),
2775
- status: z12.string().nullable(),
2776
- priority: z12.string().nullable(),
2777
- labelIds: z12.array(z12.string().min(1)).default([]),
2778
- billingCode: z12.string().nullable(),
2779
- executionWorkspaceSettings: z12.record(z12.unknown()).nullable(),
2780
- assigneeAgentRuntimeOverrides: z12.record(z12.unknown()).nullable(),
2781
- metadata: z12.record(z12.unknown()).nullable()
2809
+ legacyRecurrence: z13.record(z13.unknown()).nullable(),
2810
+ status: z13.string().nullable(),
2811
+ priority: z13.string().nullable(),
2812
+ labelIds: z13.array(z13.string().min(1)).default([]),
2813
+ billingCode: z13.string().nullable(),
2814
+ executionWorkspaceSettings: z13.record(z13.unknown()).nullable(),
2815
+ assigneeAgentRuntimeOverrides: z13.record(z13.unknown()).nullable(),
2816
+ metadata: z13.record(z13.unknown()).nullable()
2782
2817
  });
2783
- portabilityManifestSchema = z12.object({
2784
- schemaVersion: z12.number().int().positive(),
2785
- generatedAt: z12.string().datetime(),
2786
- source: z12.object({
2787
- orgId: z12.string().uuid(),
2788
- organizationName: z12.string().min(1)
2818
+ portabilityManifestSchema = z13.object({
2819
+ schemaVersion: z13.number().int().positive(),
2820
+ generatedAt: z13.string().datetime(),
2821
+ source: z13.object({
2822
+ orgId: z13.string().uuid(),
2823
+ organizationName: z13.string().min(1)
2789
2824
  }).nullable(),
2790
- includes: z12.object({
2791
- organization: z12.boolean(),
2792
- agents: z12.boolean(),
2793
- projects: z12.boolean(),
2794
- issues: z12.boolean(),
2795
- skills: z12.boolean()
2825
+ includes: z13.object({
2826
+ organization: z13.boolean(),
2827
+ agents: z13.boolean(),
2828
+ projects: z13.boolean(),
2829
+ issues: z13.boolean(),
2830
+ skills: z13.boolean()
2796
2831
  }),
2797
2832
  organization: portabilityOrganizationManifestEntrySchema.nullable(),
2798
2833
  sidebar: portabilitySidebarOrderSchema.nullable(),
2799
- agents: z12.array(portabilityAgentManifestEntrySchema),
2800
- skills: z12.array(portabilitySkillManifestEntrySchema).default([]),
2801
- projects: z12.array(portabilityProjectManifestEntrySchema).default([]),
2802
- issues: z12.array(portabilityIssueManifestEntrySchema).default([]),
2803
- envInputs: z12.array(portabilityEnvInputSchema).default([])
2834
+ agents: z13.array(portabilityAgentManifestEntrySchema),
2835
+ skills: z13.array(portabilitySkillManifestEntrySchema).default([]),
2836
+ projects: z13.array(portabilityProjectManifestEntrySchema).default([]),
2837
+ issues: z13.array(portabilityIssueManifestEntrySchema).default([]),
2838
+ envInputs: z13.array(portabilityEnvInputSchema).default([])
2804
2839
  });
2805
- portabilitySourceSchema = z12.discriminatedUnion("type", [
2806
- z12.object({
2807
- type: z12.literal("inline"),
2808
- rootPath: z12.string().min(1).optional().nullable(),
2809
- files: z12.record(portabilityFileEntrySchema)
2840
+ portabilitySourceSchema = z13.discriminatedUnion("type", [
2841
+ z13.object({
2842
+ type: z13.literal("inline"),
2843
+ rootPath: z13.string().min(1).optional().nullable(),
2844
+ files: z13.record(portabilityFileEntrySchema)
2810
2845
  }),
2811
- z12.object({
2812
- type: z12.literal("github"),
2813
- url: z12.string().url()
2846
+ z13.object({
2847
+ type: z13.literal("github"),
2848
+ url: z13.string().url()
2814
2849
  })
2815
2850
  ]);
2816
- portabilityTargetSchema = z12.discriminatedUnion("mode", [
2817
- z12.object({
2818
- mode: z12.literal("new_organization"),
2819
- newOrganizationName: z12.string().min(1).optional().nullable(),
2851
+ portabilityTargetSchema = z13.discriminatedUnion("mode", [
2852
+ z13.object({
2853
+ mode: z13.literal("new_organization"),
2854
+ newOrganizationName: z13.string().min(1).optional().nullable(),
2820
2855
  newOrganizationIssueKey: organizationIssueKeySchema.optional().nullable()
2821
2856
  }),
2822
- z12.object({
2823
- mode: z12.literal("existing_organization"),
2824
- orgId: z12.string().uuid()
2857
+ z13.object({
2858
+ mode: z13.literal("existing_organization"),
2859
+ orgId: z13.string().uuid()
2825
2860
  })
2826
2861
  ]);
2827
- portabilityAgentSelectionSchema = z12.union([
2828
- z12.literal("all"),
2829
- z12.array(z12.string().min(1))
2862
+ portabilityAgentSelectionSchema = z13.union([
2863
+ z13.literal("all"),
2864
+ z13.array(z13.string().min(1))
2830
2865
  ]);
2831
- portabilityCollisionStrategySchema = z12.enum(["rename", "skip", "replace"]);
2832
- organizationPortabilityExportSchema = z12.object({
2866
+ portabilityCollisionStrategySchema = z13.enum(["rename", "skip", "replace"]);
2867
+ organizationPortabilityExportSchema = z13.object({
2833
2868
  include: portabilityIncludeSchema.optional(),
2834
- agents: z12.array(z12.string().min(1)).optional(),
2835
- skills: z12.array(z12.string().min(1)).optional(),
2836
- projects: z12.array(z12.string().min(1)).optional(),
2837
- issues: z12.array(z12.string().min(1)).optional(),
2838
- projectIssues: z12.array(z12.string().min(1)).optional(),
2839
- selectedFiles: z12.array(z12.string().min(1)).optional(),
2840
- expandReferencedSkills: z12.boolean().optional(),
2869
+ agents: z13.array(z13.string().min(1)).optional(),
2870
+ skills: z13.array(z13.string().min(1)).optional(),
2871
+ projects: z13.array(z13.string().min(1)).optional(),
2872
+ issues: z13.array(z13.string().min(1)).optional(),
2873
+ projectIssues: z13.array(z13.string().min(1)).optional(),
2874
+ selectedFiles: z13.array(z13.string().min(1)).optional(),
2875
+ expandReferencedSkills: z13.boolean().optional(),
2841
2876
  sidebarOrder: portabilitySidebarOrderSchema.partial().optional()
2842
2877
  });
2843
- organizationPortabilityPreviewSchema = z12.object({
2878
+ organizationPortabilityPreviewSchema = z13.object({
2844
2879
  source: portabilitySourceSchema,
2845
2880
  include: portabilityIncludeSchema.optional(),
2846
2881
  target: portabilityTargetSchema,
2847
2882
  agents: portabilityAgentSelectionSchema.optional(),
2848
2883
  collisionStrategy: portabilityCollisionStrategySchema.optional(),
2849
- nameOverrides: z12.record(z12.string().min(1), z12.string().min(1)).optional(),
2850
- selectedFiles: z12.array(z12.string().min(1)).optional()
2884
+ nameOverrides: z13.record(z13.string().min(1), z13.string().min(1)).optional(),
2885
+ selectedFiles: z13.array(z13.string().min(1)).optional()
2851
2886
  });
2852
- portabilityAdapterOverrideSchema = z12.object({
2853
- agentRuntimeType: z12.string().min(1),
2854
- agentRuntimeConfig: z12.record(z12.unknown()).optional()
2887
+ portabilityAdapterOverrideSchema = z13.object({
2888
+ agentRuntimeType: z13.string().min(1),
2889
+ agentRuntimeConfig: z13.record(z13.unknown()).optional()
2855
2890
  });
2856
2891
  organizationPortabilityImportSchema = organizationPortabilityPreviewSchema.extend({
2857
- agentRuntimeOverrides: z12.record(z12.string().min(1), portabilityAdapterOverrideSchema).optional()
2892
+ agentRuntimeOverrides: z13.record(z13.string().min(1), portabilityAdapterOverrideSchema).optional()
2858
2893
  });
2859
2894
  }
2860
2895
  });
2861
2896
 
2862
2897
  // ../packages/shared/dist/validators/organization-skill.js
2863
- import { z as z13 } from "zod";
2898
+ import { z as z14 } from "zod";
2864
2899
  var organizationSkillSourceTypeSchema, organizationSkillTrustLevelSchema, organizationSkillCompatibilitySchema, organizationSkillSourceBadgeSchema, organizationSkillFileInventoryEntrySchema, organizationSkillSchema, organizationSkillListItemSchema, organizationSkillUsageAgentSchema, organizationSkillDetailSchema, organizationSkillUpdateStatusSchema, organizationSkillImportSchema, organizationSkillProjectScanRequestSchema, organizationSkillProjectScanSkippedSchema, organizationSkillProjectScanConflictSchema, organizationSkillProjectScanResultSchema, organizationSkillLocalScanRequestSchema, organizationSkillLocalScanSkippedSchema, organizationSkillLocalScanConflictSchema, organizationSkillLocalScanResultSchema, organizationSkillCreateSchema, organizationSkillFileDetailSchema, organizationSkillFileUpdateSchema;
2865
2900
  var init_organization_skill = __esm({
2866
2901
  "../packages/shared/dist/validators/organization-skill.js"() {
2867
2902
  "use strict";
2868
- organizationSkillSourceTypeSchema = z13.enum(["local_path", "github", "url", "catalog", "skills_sh"]);
2869
- organizationSkillTrustLevelSchema = z13.enum(["markdown_only", "assets", "scripts_executables"]);
2870
- organizationSkillCompatibilitySchema = z13.enum(["compatible", "unknown", "invalid"]);
2871
- organizationSkillSourceBadgeSchema = z13.enum([
2903
+ organizationSkillSourceTypeSchema = z14.enum(["local_path", "github", "url", "catalog", "skills_sh"]);
2904
+ organizationSkillTrustLevelSchema = z14.enum(["markdown_only", "assets", "scripts_executables"]);
2905
+ organizationSkillCompatibilitySchema = z14.enum(["compatible", "unknown", "invalid"]);
2906
+ organizationSkillSourceBadgeSchema = z14.enum([
2872
2907
  "rudder",
2873
2908
  "community",
2874
2909
  "github",
@@ -2877,152 +2912,152 @@ var init_organization_skill = __esm({
2877
2912
  "catalog",
2878
2913
  "skills_sh"
2879
2914
  ]);
2880
- organizationSkillFileInventoryEntrySchema = z13.object({
2881
- path: z13.string().min(1),
2882
- kind: z13.enum(["skill", "markdown", "reference", "script", "asset", "other"])
2915
+ organizationSkillFileInventoryEntrySchema = z14.object({
2916
+ path: z14.string().min(1),
2917
+ kind: z14.enum(["skill", "markdown", "reference", "script", "asset", "other"])
2883
2918
  });
2884
- organizationSkillSchema = z13.object({
2885
- id: z13.string().uuid(),
2886
- orgId: z13.string().uuid(),
2887
- key: z13.string().min(1),
2888
- slug: z13.string().min(1),
2889
- name: z13.string().min(1),
2890
- description: z13.string().nullable(),
2891
- markdown: z13.string(),
2919
+ organizationSkillSchema = z14.object({
2920
+ id: z14.string().uuid(),
2921
+ orgId: z14.string().uuid(),
2922
+ key: z14.string().min(1),
2923
+ slug: z14.string().min(1),
2924
+ name: z14.string().min(1),
2925
+ description: z14.string().nullable(),
2926
+ markdown: z14.string(),
2892
2927
  sourceType: organizationSkillSourceTypeSchema,
2893
- sourceLocator: z13.string().nullable(),
2894
- sourceRef: z13.string().nullable(),
2928
+ sourceLocator: z14.string().nullable(),
2929
+ sourceRef: z14.string().nullable(),
2895
2930
  trustLevel: organizationSkillTrustLevelSchema,
2896
2931
  compatibility: organizationSkillCompatibilitySchema,
2897
- fileInventory: z13.array(organizationSkillFileInventoryEntrySchema).default([]),
2898
- metadata: z13.record(z13.unknown()).nullable(),
2899
- createdAt: z13.coerce.date(),
2900
- updatedAt: z13.coerce.date()
2932
+ fileInventory: z14.array(organizationSkillFileInventoryEntrySchema).default([]),
2933
+ metadata: z14.record(z14.unknown()).nullable(),
2934
+ createdAt: z14.coerce.date(),
2935
+ updatedAt: z14.coerce.date()
2901
2936
  });
2902
2937
  organizationSkillListItemSchema = organizationSkillSchema.extend({
2903
- attachedAgentCount: z13.number().int().nonnegative(),
2904
- editable: z13.boolean(),
2905
- editableReason: z13.string().nullable(),
2906
- sourceLabel: z13.string().nullable(),
2938
+ attachedAgentCount: z14.number().int().nonnegative(),
2939
+ editable: z14.boolean(),
2940
+ editableReason: z14.string().nullable(),
2941
+ sourceLabel: z14.string().nullable(),
2907
2942
  sourceBadge: organizationSkillSourceBadgeSchema,
2908
- sourcePath: z13.string().nullable(),
2909
- workspaceEditPath: z13.string().nullable()
2943
+ sourcePath: z14.string().nullable(),
2944
+ workspaceEditPath: z14.string().nullable()
2910
2945
  });
2911
- organizationSkillUsageAgentSchema = z13.object({
2912
- id: z13.string().uuid(),
2913
- name: z13.string().min(1),
2914
- urlKey: z13.string().min(1),
2915
- agentRuntimeType: z13.string().min(1),
2916
- desired: z13.boolean(),
2917
- actualState: z13.string().nullable()
2946
+ organizationSkillUsageAgentSchema = z14.object({
2947
+ id: z14.string().uuid(),
2948
+ name: z14.string().min(1),
2949
+ urlKey: z14.string().min(1),
2950
+ agentRuntimeType: z14.string().min(1),
2951
+ desired: z14.boolean(),
2952
+ actualState: z14.string().nullable()
2918
2953
  });
2919
2954
  organizationSkillDetailSchema = organizationSkillSchema.extend({
2920
- attachedAgentCount: z13.number().int().nonnegative(),
2921
- usedByAgents: z13.array(organizationSkillUsageAgentSchema).default([]),
2922
- editable: z13.boolean(),
2923
- editableReason: z13.string().nullable(),
2924
- sourceLabel: z13.string().nullable(),
2955
+ attachedAgentCount: z14.number().int().nonnegative(),
2956
+ usedByAgents: z14.array(organizationSkillUsageAgentSchema).default([]),
2957
+ editable: z14.boolean(),
2958
+ editableReason: z14.string().nullable(),
2959
+ sourceLabel: z14.string().nullable(),
2925
2960
  sourceBadge: organizationSkillSourceBadgeSchema,
2926
- sourcePath: z13.string().nullable(),
2927
- workspaceEditPath: z13.string().nullable()
2961
+ sourcePath: z14.string().nullable(),
2962
+ workspaceEditPath: z14.string().nullable()
2928
2963
  });
2929
- organizationSkillUpdateStatusSchema = z13.object({
2930
- supported: z13.boolean(),
2931
- reason: z13.string().nullable(),
2932
- trackingRef: z13.string().nullable(),
2933
- currentRef: z13.string().nullable(),
2934
- latestRef: z13.string().nullable(),
2935
- hasUpdate: z13.boolean()
2964
+ organizationSkillUpdateStatusSchema = z14.object({
2965
+ supported: z14.boolean(),
2966
+ reason: z14.string().nullable(),
2967
+ trackingRef: z14.string().nullable(),
2968
+ currentRef: z14.string().nullable(),
2969
+ latestRef: z14.string().nullable(),
2970
+ hasUpdate: z14.boolean()
2936
2971
  });
2937
- organizationSkillImportSchema = z13.object({
2938
- source: z13.string().min(1)
2972
+ organizationSkillImportSchema = z14.object({
2973
+ source: z14.string().min(1)
2939
2974
  });
2940
- organizationSkillProjectScanRequestSchema = z13.object({
2941
- projectIds: z13.array(z13.string().uuid()).optional(),
2942
- workspaceIds: z13.array(z13.string().uuid()).optional()
2975
+ organizationSkillProjectScanRequestSchema = z14.object({
2976
+ projectIds: z14.array(z14.string().uuid()).optional(),
2977
+ workspaceIds: z14.array(z14.string().uuid()).optional()
2943
2978
  });
2944
- organizationSkillProjectScanSkippedSchema = z13.object({
2945
- projectId: z13.string().uuid(),
2946
- projectName: z13.string().min(1),
2947
- workspaceId: z13.string().uuid().nullable(),
2948
- workspaceName: z13.string().nullable(),
2949
- path: z13.string().nullable(),
2950
- reason: z13.string().min(1)
2979
+ organizationSkillProjectScanSkippedSchema = z14.object({
2980
+ projectId: z14.string().uuid(),
2981
+ projectName: z14.string().min(1),
2982
+ workspaceId: z14.string().uuid().nullable(),
2983
+ workspaceName: z14.string().nullable(),
2984
+ path: z14.string().nullable(),
2985
+ reason: z14.string().min(1)
2951
2986
  });
2952
- organizationSkillProjectScanConflictSchema = z13.object({
2953
- slug: z13.string().min(1),
2954
- key: z13.string().min(1),
2955
- projectId: z13.string().uuid(),
2956
- projectName: z13.string().min(1),
2957
- workspaceId: z13.string().uuid(),
2958
- workspaceName: z13.string().min(1),
2959
- path: z13.string().min(1),
2960
- existingSkillId: z13.string().uuid(),
2961
- existingSkillKey: z13.string().min(1),
2962
- existingSourceLocator: z13.string().nullable(),
2963
- reason: z13.string().min(1)
2987
+ organizationSkillProjectScanConflictSchema = z14.object({
2988
+ slug: z14.string().min(1),
2989
+ key: z14.string().min(1),
2990
+ projectId: z14.string().uuid(),
2991
+ projectName: z14.string().min(1),
2992
+ workspaceId: z14.string().uuid(),
2993
+ workspaceName: z14.string().min(1),
2994
+ path: z14.string().min(1),
2995
+ existingSkillId: z14.string().uuid(),
2996
+ existingSkillKey: z14.string().min(1),
2997
+ existingSourceLocator: z14.string().nullable(),
2998
+ reason: z14.string().min(1)
2964
2999
  });
2965
- organizationSkillProjectScanResultSchema = z13.object({
2966
- scannedProjects: z13.number().int().nonnegative(),
2967
- scannedWorkspaces: z13.number().int().nonnegative(),
2968
- discovered: z13.number().int().nonnegative(),
2969
- imported: z13.array(organizationSkillSchema),
2970
- updated: z13.array(organizationSkillSchema),
2971
- skipped: z13.array(organizationSkillProjectScanSkippedSchema),
2972
- conflicts: z13.array(organizationSkillProjectScanConflictSchema),
2973
- warnings: z13.array(z13.string())
3000
+ organizationSkillProjectScanResultSchema = z14.object({
3001
+ scannedProjects: z14.number().int().nonnegative(),
3002
+ scannedWorkspaces: z14.number().int().nonnegative(),
3003
+ discovered: z14.number().int().nonnegative(),
3004
+ imported: z14.array(organizationSkillSchema),
3005
+ updated: z14.array(organizationSkillSchema),
3006
+ skipped: z14.array(organizationSkillProjectScanSkippedSchema),
3007
+ conflicts: z14.array(organizationSkillProjectScanConflictSchema),
3008
+ warnings: z14.array(z14.string())
2974
3009
  });
2975
- organizationSkillLocalScanRequestSchema = z13.object({
2976
- roots: z13.array(z13.string().min(1)).optional()
3010
+ organizationSkillLocalScanRequestSchema = z14.object({
3011
+ roots: z14.array(z14.string().min(1)).optional()
2977
3012
  });
2978
- organizationSkillLocalScanSkippedSchema = z13.object({
2979
- root: z13.string().min(1),
2980
- path: z13.string().nullable(),
2981
- reason: z13.string().min(1)
3013
+ organizationSkillLocalScanSkippedSchema = z14.object({
3014
+ root: z14.string().min(1),
3015
+ path: z14.string().nullable(),
3016
+ reason: z14.string().min(1)
2982
3017
  });
2983
- organizationSkillLocalScanConflictSchema = z13.object({
2984
- root: z13.string().min(1),
2985
- path: z13.string().min(1),
2986
- slug: z13.string().min(1),
2987
- key: z13.string().min(1),
2988
- existingSkillId: z13.string().uuid(),
2989
- existingSkillKey: z13.string().min(1),
2990
- existingSourceLocator: z13.string().nullable(),
2991
- reason: z13.string().min(1)
3018
+ organizationSkillLocalScanConflictSchema = z14.object({
3019
+ root: z14.string().min(1),
3020
+ path: z14.string().min(1),
3021
+ slug: z14.string().min(1),
3022
+ key: z14.string().min(1),
3023
+ existingSkillId: z14.string().uuid(),
3024
+ existingSkillKey: z14.string().min(1),
3025
+ existingSourceLocator: z14.string().nullable(),
3026
+ reason: z14.string().min(1)
2992
3027
  });
2993
- organizationSkillLocalScanResultSchema = z13.object({
2994
- scannedRoots: z13.number().int().nonnegative(),
2995
- discovered: z13.number().int().nonnegative(),
2996
- imported: z13.array(organizationSkillSchema),
2997
- updated: z13.array(organizationSkillSchema),
2998
- skipped: z13.array(organizationSkillLocalScanSkippedSchema),
2999
- conflicts: z13.array(organizationSkillLocalScanConflictSchema),
3000
- warnings: z13.array(z13.string())
3028
+ organizationSkillLocalScanResultSchema = z14.object({
3029
+ scannedRoots: z14.number().int().nonnegative(),
3030
+ discovered: z14.number().int().nonnegative(),
3031
+ imported: z14.array(organizationSkillSchema),
3032
+ updated: z14.array(organizationSkillSchema),
3033
+ skipped: z14.array(organizationSkillLocalScanSkippedSchema),
3034
+ conflicts: z14.array(organizationSkillLocalScanConflictSchema),
3035
+ warnings: z14.array(z14.string())
3001
3036
  });
3002
- organizationSkillCreateSchema = z13.object({
3003
- name: z13.string().min(1),
3004
- slug: z13.string().min(1).nullable().optional(),
3005
- description: z13.string().nullable().optional(),
3006
- markdown: z13.string().nullable().optional()
3037
+ organizationSkillCreateSchema = z14.object({
3038
+ name: z14.string().min(1),
3039
+ slug: z14.string().min(1).nullable().optional(),
3040
+ description: z14.string().nullable().optional(),
3041
+ markdown: z14.string().nullable().optional()
3007
3042
  });
3008
- organizationSkillFileDetailSchema = z13.object({
3009
- skillId: z13.string().uuid(),
3010
- path: z13.string().min(1),
3011
- kind: z13.enum(["skill", "markdown", "reference", "script", "asset", "other"]),
3012
- content: z13.string(),
3013
- language: z13.string().nullable(),
3014
- markdown: z13.boolean(),
3015
- editable: z13.boolean()
3043
+ organizationSkillFileDetailSchema = z14.object({
3044
+ skillId: z14.string().uuid(),
3045
+ path: z14.string().min(1),
3046
+ kind: z14.enum(["skill", "markdown", "reference", "script", "asset", "other"]),
3047
+ content: z14.string(),
3048
+ language: z14.string().nullable(),
3049
+ markdown: z14.boolean(),
3050
+ editable: z14.boolean()
3016
3051
  });
3017
- organizationSkillFileUpdateSchema = z13.object({
3018
- path: z13.string().min(1),
3019
- content: z13.string()
3052
+ organizationSkillFileUpdateSchema = z14.object({
3053
+ path: z14.string().min(1),
3054
+ content: z14.string()
3020
3055
  });
3021
3056
  }
3022
3057
  });
3023
3058
 
3024
3059
  // ../packages/shared/dist/validators/resource.js
3025
- import { z as z14 } from "zod";
3060
+ import { z as z15 } from "zod";
3026
3061
  function isValidLibraryProjectPath(locator, kind) {
3027
3062
  const trimmed = locator.trim();
3028
3063
  if (!trimmed)
@@ -3045,14 +3080,14 @@ function validateLibraryResourceContract(value, ctx) {
3045
3080
  return;
3046
3081
  if (value.kind !== void 0 && value.kind !== "file" && value.kind !== "directory") {
3047
3082
  ctx.addIssue({
3048
- code: z14.ZodIssueCode.custom,
3083
+ code: z15.ZodIssueCode.custom,
3049
3084
  message: "Library resources must be file or directory resources.",
3050
3085
  path: ["kind"]
3051
3086
  });
3052
3087
  }
3053
3088
  if (value.locator !== void 0 && !isValidLibraryProjectPath(value.locator, value.kind)) {
3054
3089
  ctx.addIssue({
3055
- code: z14.ZodIssueCode.custom,
3090
+ code: z15.ZodIssueCode.custom,
3056
3091
  message: "Library resource locator must be a normalized project Library path.",
3057
3092
  path: ["locator"]
3058
3093
  });
@@ -3063,48 +3098,48 @@ var init_resource = __esm({
3063
3098
  "../packages/shared/dist/validators/resource.js"() {
3064
3099
  "use strict";
3065
3100
  init_constants();
3066
- organizationResourceKindSchema = z14.enum(ORGANIZATION_RESOURCE_KINDS);
3067
- organizationResourceSourceTypeSchema = z14.enum(ORGANIZATION_RESOURCE_SOURCE_TYPES);
3068
- projectResourceAttachmentRoleSchema = z14.enum(PROJECT_RESOURCE_ATTACHMENT_ROLES);
3101
+ organizationResourceKindSchema = z15.enum(ORGANIZATION_RESOURCE_KINDS);
3102
+ organizationResourceSourceTypeSchema = z15.enum(ORGANIZATION_RESOURCE_SOURCE_TYPES);
3103
+ projectResourceAttachmentRoleSchema = z15.enum(PROJECT_RESOURCE_ATTACHMENT_ROLES);
3069
3104
  LIBRARY_PATH_SCHEME_RE = /^[a-z][a-z0-9+.-]*:/i;
3070
- createOrganizationResourceBaseSchema = z14.object({
3071
- name: z14.string().min(1),
3105
+ createOrganizationResourceBaseSchema = z15.object({
3106
+ name: z15.string().min(1),
3072
3107
  kind: organizationResourceKindSchema,
3073
3108
  sourceType: organizationResourceSourceTypeSchema.optional().default("external"),
3074
- locator: z14.string().min(1),
3075
- description: z14.string().optional().nullable(),
3076
- metadata: z14.record(z14.unknown()).optional().nullable()
3109
+ locator: z15.string().min(1),
3110
+ description: z15.string().optional().nullable(),
3111
+ metadata: z15.record(z15.unknown()).optional().nullable()
3077
3112
  });
3078
3113
  createOrganizationResourceSchema = createOrganizationResourceBaseSchema.superRefine(validateLibraryResourceContract);
3079
- updateOrganizationResourceSchema = z14.object({
3080
- name: z14.string().min(1).optional(),
3114
+ updateOrganizationResourceSchema = z15.object({
3115
+ name: z15.string().min(1).optional(),
3081
3116
  kind: organizationResourceKindSchema.optional(),
3082
3117
  sourceType: organizationResourceSourceTypeSchema.optional(),
3083
- locator: z14.string().min(1).optional(),
3084
- description: z14.string().optional().nullable(),
3085
- metadata: z14.record(z14.unknown()).optional().nullable()
3118
+ locator: z15.string().min(1).optional(),
3119
+ description: z15.string().optional().nullable(),
3120
+ metadata: z15.record(z15.unknown()).optional().nullable()
3086
3121
  }).strict().superRefine(validateLibraryResourceContract);
3087
- projectResourceAttachmentInputSchema = z14.object({
3088
- resourceId: z14.string().uuid(),
3122
+ projectResourceAttachmentInputSchema = z15.object({
3123
+ resourceId: z15.string().uuid(),
3089
3124
  role: projectResourceAttachmentRoleSchema.optional(),
3090
- note: z14.string().optional().nullable(),
3091
- sortOrder: z14.number().int().nonnegative().optional()
3125
+ note: z15.string().optional().nullable(),
3126
+ sortOrder: z15.number().int().nonnegative().optional()
3092
3127
  }).strict();
3093
- updateProjectResourceAttachmentSchema = z14.object({
3128
+ updateProjectResourceAttachmentSchema = z15.object({
3094
3129
  role: projectResourceAttachmentRoleSchema.optional(),
3095
- note: z14.string().optional().nullable(),
3096
- sortOrder: z14.number().int().nonnegative().optional()
3130
+ note: z15.string().optional().nullable(),
3131
+ sortOrder: z15.number().int().nonnegative().optional()
3097
3132
  }).strict();
3098
3133
  createProjectInlineResourceSchema = createOrganizationResourceBaseSchema.extend({
3099
3134
  role: projectResourceAttachmentRoleSchema.optional(),
3100
- note: z14.string().optional().nullable(),
3101
- sortOrder: z14.number().int().nonnegative().optional()
3135
+ note: z15.string().optional().nullable(),
3136
+ sortOrder: z15.number().int().nonnegative().optional()
3102
3137
  }).strict().superRefine(validateLibraryResourceContract);
3103
3138
  }
3104
3139
  });
3105
3140
 
3106
3141
  // ../packages/shared/dist/validators/agent.js
3107
- import { z as z15 } from "zod";
3142
+ import { z as z16 } from "zod";
3108
3143
  var agentPermissionsSchema, agentInstructionsBundleModeSchema, updateAgentInstructionsBundleSchema, upsertAgentInstructionsFileSchema, agentRuntimeConfigSchema, optionalAgentNameSchema, uploadedAgentIconSchema, diceBearNotionistsAgentIconSchema, oreoAgentIconSchema, agentIconSchema, createAgentSchema, createAgentHireSchema, updateAgentSchema, updateAgentInstructionsPathSchema, createAgentKeySchema, wakeAgentSchema, resetAgentSessionSchema, testAgentRuntimeEnvironmentSchema, updateAgentPermissionsSchema;
3109
3144
  var init_agent = __esm({
3110
3145
  "../packages/shared/dist/validators/agent.js"() {
@@ -3112,29 +3147,29 @@ var init_agent = __esm({
3112
3147
  init_constants();
3113
3148
  init_model_fallbacks();
3114
3149
  init_secret();
3115
- agentPermissionsSchema = z15.object({
3116
- canCreateAgents: z15.boolean().optional().default(true),
3117
- canManageSkills: z15.boolean().optional().default(true)
3150
+ agentPermissionsSchema = z16.object({
3151
+ canCreateAgents: z16.boolean().optional().default(true),
3152
+ canManageSkills: z16.boolean().optional().default(true)
3118
3153
  });
3119
- agentInstructionsBundleModeSchema = z15.enum(["managed", "external"]);
3120
- updateAgentInstructionsBundleSchema = z15.object({
3154
+ agentInstructionsBundleModeSchema = z16.enum(["managed", "external"]);
3155
+ updateAgentInstructionsBundleSchema = z16.object({
3121
3156
  mode: agentInstructionsBundleModeSchema.optional(),
3122
- rootPath: z15.string().trim().min(1).nullable().optional(),
3123
- entryFile: z15.string().trim().min(1).optional(),
3124
- clearLegacyPromptTemplate: z15.boolean().optional().default(false)
3157
+ rootPath: z16.string().trim().min(1).nullable().optional(),
3158
+ entryFile: z16.string().trim().min(1).optional(),
3159
+ clearLegacyPromptTemplate: z16.boolean().optional().default(false)
3125
3160
  });
3126
- upsertAgentInstructionsFileSchema = z15.object({
3127
- path: z15.string().trim().min(1),
3128
- content: z15.string(),
3129
- clearLegacyPromptTemplate: z15.boolean().optional().default(false)
3161
+ upsertAgentInstructionsFileSchema = z16.object({
3162
+ path: z16.string().trim().min(1),
3163
+ content: z16.string(),
3164
+ clearLegacyPromptTemplate: z16.boolean().optional().default(false)
3130
3165
  });
3131
- agentRuntimeConfigSchema = z15.record(z15.unknown()).superRefine((value, ctx) => {
3166
+ agentRuntimeConfigSchema = z16.record(z16.unknown()).superRefine((value, ctx) => {
3132
3167
  const envValue = value.env;
3133
3168
  if (envValue !== void 0) {
3134
3169
  const parsed = envConfigSchema.safeParse(envValue);
3135
3170
  if (!parsed.success) {
3136
3171
  ctx.addIssue({
3137
- code: z15.ZodIssueCode.custom,
3172
+ code: z16.ZodIssueCode.custom,
3138
3173
  message: "agentRuntimeConfig.env must be a map of valid env bindings",
3139
3174
  path: ["env"]
3140
3175
  });
@@ -3142,167 +3177,167 @@ var init_agent = __esm({
3142
3177
  }
3143
3178
  validateModelFallbacksConfig(value, ctx, []);
3144
3179
  });
3145
- optionalAgentNameSchema = z15.preprocess((value) => {
3180
+ optionalAgentNameSchema = z16.preprocess((value) => {
3146
3181
  if (typeof value !== "string")
3147
3182
  return value;
3148
3183
  const trimmed = value.trim();
3149
3184
  return trimmed.length > 0 ? trimmed : void 0;
3150
- }, z15.string().trim().min(1).optional());
3151
- uploadedAgentIconSchema = z15.string().regex(new RegExp(`^asset:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}(?:\\?bg=(?:${AGENT_AVATAR_BACKGROUND_PRESET_IDS.join("|")}))?$`, "i"), "Invalid uploaded avatar reference");
3152
- diceBearNotionistsAgentIconSchema = z15.string().regex(new RegExp(`^${AGENT_DICEBEAR_NOTIONISTS_ICON_PREFIX}[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}(?:\\?bg=(?:${AGENT_AVATAR_BACKGROUND_PRESET_IDS.join("|")}))?$`, "i"), "Invalid DiceBear avatar reference");
3153
- oreoAgentIconSchema = z15.string().regex(new RegExp(`^${AGENT_OREO_ICON_PREFIX}(?:${AGENT_OREO_SHAPE_IDS.join("|")}):(?:${AGENT_OREO_PALETTE_IDS.join("|")}):[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$`, "i"), "Invalid Oreo avatar reference");
3154
- agentIconSchema = z15.preprocess((value) => {
3185
+ }, z16.string().trim().min(1).optional());
3186
+ uploadedAgentIconSchema = z16.string().regex(new RegExp(`^asset:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}(?:\\?bg=(?:${AGENT_AVATAR_BACKGROUND_PRESET_IDS.join("|")}))?$`, "i"), "Invalid uploaded avatar reference");
3187
+ diceBearNotionistsAgentIconSchema = z16.string().regex(new RegExp(`^${AGENT_DICEBEAR_NOTIONISTS_ICON_PREFIX}[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}(?:\\?bg=(?:${AGENT_AVATAR_BACKGROUND_PRESET_IDS.join("|")}))?$`, "i"), "Invalid DiceBear avatar reference");
3188
+ oreoAgentIconSchema = z16.string().regex(new RegExp(`^${AGENT_OREO_ICON_PREFIX}(?:${AGENT_OREO_SHAPE_IDS.join("|")}):(?:${AGENT_OREO_PALETTE_IDS.join("|")}):[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$`, "i"), "Invalid Oreo avatar reference");
3189
+ agentIconSchema = z16.preprocess((value) => {
3155
3190
  if (typeof value !== "string")
3156
3191
  return value;
3157
3192
  const trimmed = value.trim();
3158
3193
  return trimmed.length > 0 ? trimmed : null;
3159
- }, z15.union([
3160
- z15.enum(AGENT_ICON_NAMES),
3194
+ }, z16.union([
3195
+ z16.enum(AGENT_ICON_NAMES),
3161
3196
  oreoAgentIconSchema,
3162
3197
  uploadedAgentIconSchema,
3163
3198
  diceBearNotionistsAgentIconSchema
3164
3199
  ]).nullable());
3165
- createAgentSchema = z15.object({
3200
+ createAgentSchema = z16.object({
3166
3201
  name: optionalAgentNameSchema,
3167
- role: z15.enum(AGENT_ROLES).optional().default("general"),
3168
- title: z15.string().optional().nullable(),
3202
+ role: z16.enum(AGENT_ROLES).optional().default("general"),
3203
+ title: z16.string().optional().nullable(),
3169
3204
  icon: agentIconSchema.optional(),
3170
- capabilities: z15.string().optional().nullable(),
3171
- desiredSkills: z15.array(z15.string().min(1)).optional(),
3172
- agentRuntimeType: z15.enum(AGENT_RUNTIME_TYPES).optional().default("process"),
3205
+ capabilities: z16.string().optional().nullable(),
3206
+ desiredSkills: z16.array(z16.string().min(1)).optional(),
3207
+ agentRuntimeType: z16.enum(AGENT_RUNTIME_TYPES).optional().default("process"),
3173
3208
  agentRuntimeConfig: agentRuntimeConfigSchema.optional().default({}),
3174
- runtimeConfig: z15.record(z15.unknown()).optional().default({}),
3175
- budgetMonthlyCents: z15.number().int().nonnegative().optional().default(0),
3209
+ runtimeConfig: z16.record(z16.unknown()).optional().default({}),
3210
+ budgetMonthlyCents: z16.number().int().nonnegative().optional().default(0),
3176
3211
  permissions: agentPermissionsSchema.optional(),
3177
- metadata: z15.record(z15.unknown()).optional().nullable(),
3178
- seedOrganizationIntelligenceDefaults: z15.boolean().optional().default(false)
3212
+ metadata: z16.record(z16.unknown()).optional().nullable(),
3213
+ seedOrganizationIntelligenceDefaults: z16.boolean().optional().default(false)
3179
3214
  });
3180
3215
  createAgentHireSchema = createAgentSchema.omit({ seedOrganizationIntelligenceDefaults: true }).extend({
3181
- sourceIssueId: z15.string().uuid().optional().nullable(),
3182
- sourceIssueIds: z15.array(z15.string().uuid()).optional()
3216
+ sourceIssueId: z16.string().uuid().optional().nullable(),
3217
+ sourceIssueIds: z16.array(z16.string().uuid()).optional()
3183
3218
  });
3184
3219
  updateAgentSchema = createAgentSchema.omit({ permissions: true, seedOrganizationIntelligenceDefaults: true }).partial().extend({
3185
- permissions: z15.never().optional(),
3186
- replaceAgentRuntimeConfig: z15.boolean().optional(),
3187
- status: z15.enum(AGENT_STATUSES).optional(),
3188
- spentMonthlyCents: z15.number().int().nonnegative().optional()
3220
+ permissions: z16.never().optional(),
3221
+ replaceAgentRuntimeConfig: z16.boolean().optional(),
3222
+ status: z16.enum(AGENT_STATUSES).optional(),
3223
+ spentMonthlyCents: z16.number().int().nonnegative().optional()
3189
3224
  });
3190
- updateAgentInstructionsPathSchema = z15.object({
3191
- path: z15.string().trim().min(1).nullable(),
3192
- agentRuntimeConfigKey: z15.string().trim().min(1).optional()
3225
+ updateAgentInstructionsPathSchema = z16.object({
3226
+ path: z16.string().trim().min(1).nullable(),
3227
+ agentRuntimeConfigKey: z16.string().trim().min(1).optional()
3193
3228
  });
3194
- createAgentKeySchema = z15.object({
3195
- name: z15.string().min(1).default("default")
3229
+ createAgentKeySchema = z16.object({
3230
+ name: z16.string().min(1).default("default")
3196
3231
  });
3197
- wakeAgentSchema = z15.object({
3198
- source: z15.enum(["timer", "assignment", "review", "on_demand", "automation"]).optional().default("on_demand"),
3199
- triggerDetail: z15.enum(["manual", "ping", "callback", "system"]).optional(),
3200
- reason: z15.string().optional().nullable(),
3201
- payload: z15.record(z15.unknown()).optional().nullable(),
3202
- idempotencyKey: z15.string().optional().nullable(),
3203
- forceFreshSession: z15.preprocess((value) => value === null ? void 0 : value, z15.boolean().optional().default(false))
3232
+ wakeAgentSchema = z16.object({
3233
+ source: z16.enum(["timer", "assignment", "review", "on_demand", "automation"]).optional().default("on_demand"),
3234
+ triggerDetail: z16.enum(["manual", "ping", "callback", "system"]).optional(),
3235
+ reason: z16.string().optional().nullable(),
3236
+ payload: z16.record(z16.unknown()).optional().nullable(),
3237
+ idempotencyKey: z16.string().optional().nullable(),
3238
+ forceFreshSession: z16.preprocess((value) => value === null ? void 0 : value, z16.boolean().optional().default(false))
3204
3239
  });
3205
- resetAgentSessionSchema = z15.object({
3206
- taskKey: z15.string().min(1).optional().nullable()
3240
+ resetAgentSessionSchema = z16.object({
3241
+ taskKey: z16.string().min(1).optional().nullable()
3207
3242
  });
3208
- testAgentRuntimeEnvironmentSchema = z15.object({
3243
+ testAgentRuntimeEnvironmentSchema = z16.object({
3209
3244
  agentRuntimeConfig: agentRuntimeConfigSchema.optional().default({})
3210
3245
  });
3211
- updateAgentPermissionsSchema = z15.object({
3212
- canCreateAgents: z15.boolean(),
3213
- canManageSkills: z15.boolean().optional(),
3214
- canAssignTasks: z15.boolean()
3246
+ updateAgentPermissionsSchema = z16.object({
3247
+ canCreateAgents: z16.boolean(),
3248
+ canManageSkills: z16.boolean().optional(),
3249
+ canAssignTasks: z16.boolean()
3215
3250
  });
3216
3251
  }
3217
3252
  });
3218
3253
 
3219
3254
  // ../packages/shared/dist/validators/agent-integration.js
3220
- import { z as z16 } from "zod";
3255
+ import { z as z17 } from "zod";
3221
3256
  var agentIntegrationProviderSchema, agentIntegrationStatusSchema, agentIntegrationTransportSchema, agentIntegrationProviderRegionSchema, agentIntegrationChatTypeSchema, agentIntegrationDropReasonSchema, agentIntegrationOutboundStatusSchema, createAgentIntegrationSchema, connectAgentIntegrationSchema, feishuIntegrationSettingsSchema, agentIntegrationSettingsSchema, updateAgentIntegrationSettingsSchema, feishuEventHeaderSchema, feishuSenderIdSchema, feishuMessageMentionSchema, feishuMessageSchema, feishuEventSchema, mockFeishuInboundEventSchema;
3222
3257
  var init_agent_integration = __esm({
3223
3258
  "../packages/shared/dist/validators/agent-integration.js"() {
3224
3259
  "use strict";
3225
3260
  init_constants();
3226
- agentIntegrationProviderSchema = z16.enum(AGENT_INTEGRATION_PROVIDERS);
3227
- agentIntegrationStatusSchema = z16.enum(AGENT_INTEGRATION_STATUSES);
3228
- agentIntegrationTransportSchema = z16.enum(AGENT_INTEGRATION_TRANSPORTS);
3229
- agentIntegrationProviderRegionSchema = z16.enum(AGENT_INTEGRATION_PROVIDER_REGIONS);
3230
- agentIntegrationChatTypeSchema = z16.enum(AGENT_INTEGRATION_CHAT_TYPES);
3231
- agentIntegrationDropReasonSchema = z16.enum(AGENT_INTEGRATION_DROP_REASONS);
3232
- agentIntegrationOutboundStatusSchema = z16.enum(AGENT_INTEGRATION_OUTBOUND_STATUSES);
3233
- createAgentIntegrationSchema = z16.object({
3234
- agentId: z16.string().uuid(),
3261
+ agentIntegrationProviderSchema = z17.enum(AGENT_INTEGRATION_PROVIDERS);
3262
+ agentIntegrationStatusSchema = z17.enum(AGENT_INTEGRATION_STATUSES);
3263
+ agentIntegrationTransportSchema = z17.enum(AGENT_INTEGRATION_TRANSPORTS);
3264
+ agentIntegrationProviderRegionSchema = z17.enum(AGENT_INTEGRATION_PROVIDER_REGIONS);
3265
+ agentIntegrationChatTypeSchema = z17.enum(AGENT_INTEGRATION_CHAT_TYPES);
3266
+ agentIntegrationDropReasonSchema = z17.enum(AGENT_INTEGRATION_DROP_REASONS);
3267
+ agentIntegrationOutboundStatusSchema = z17.enum(AGENT_INTEGRATION_OUTBOUND_STATUSES);
3268
+ createAgentIntegrationSchema = z17.object({
3269
+ agentId: z17.string().uuid(),
3235
3270
  provider: agentIntegrationProviderSchema.default("feishu"),
3236
3271
  transport: agentIntegrationTransportSchema.default("long_connection"),
3237
3272
  providerRegion: agentIntegrationProviderRegionSchema.default("feishu_cn"),
3238
- appCredentialSecretId: z16.string().uuid(),
3239
- externalAppId: z16.string().min(1),
3240
- externalBotOpenId: z16.string().min(1).optional().nullable(),
3241
- externalTenantKey: z16.string().min(1).optional().nullable(),
3242
- installerUserId: z16.string().min(1).optional().nullable(),
3243
- manageUrl: z16.string().url().optional().nullable()
3273
+ appCredentialSecretId: z17.string().uuid(),
3274
+ externalAppId: z17.string().min(1),
3275
+ externalBotOpenId: z17.string().min(1).optional().nullable(),
3276
+ externalTenantKey: z17.string().min(1).optional().nullable(),
3277
+ installerUserId: z17.string().min(1).optional().nullable(),
3278
+ manageUrl: z17.string().url().optional().nullable()
3244
3279
  });
3245
3280
  connectAgentIntegrationSchema = createAgentIntegrationSchema.omit({ agentId: true });
3246
- feishuIntegrationSettingsSchema = z16.object({
3247
- dailySessionRolloverEnabled: z16.boolean().default(true),
3248
- dailySessionRolloverHours: z16.number().int().min(1).max(168).default(24),
3249
- dailySessionRolloverNotifyFeishu: z16.boolean().default(true)
3281
+ feishuIntegrationSettingsSchema = z17.object({
3282
+ dailySessionRolloverEnabled: z17.boolean().default(true),
3283
+ dailySessionRolloverHours: z17.number().int().min(1).max(168).default(24),
3284
+ dailySessionRolloverNotifyFeishu: z17.boolean().default(true)
3250
3285
  });
3251
- agentIntegrationSettingsSchema = z16.object({
3286
+ agentIntegrationSettingsSchema = z17.object({
3252
3287
  feishu: feishuIntegrationSettingsSchema.optional()
3253
3288
  }).default({});
3254
- updateAgentIntegrationSettingsSchema = z16.object({
3289
+ updateAgentIntegrationSettingsSchema = z17.object({
3255
3290
  settings: agentIntegrationSettingsSchema
3256
3291
  });
3257
- feishuEventHeaderSchema = z16.object({
3258
- event_id: z16.string().min(1).optional(),
3259
- app_id: z16.string().min(1).optional(),
3260
- token: z16.string().min(1).optional(),
3261
- create_time: z16.string().min(1).optional()
3292
+ feishuEventHeaderSchema = z17.object({
3293
+ event_id: z17.string().min(1).optional(),
3294
+ app_id: z17.string().min(1).optional(),
3295
+ token: z17.string().min(1).optional(),
3296
+ create_time: z17.string().min(1).optional()
3262
3297
  }).passthrough();
3263
- feishuSenderIdSchema = z16.object({
3264
- open_id: z16.string().min(1).optional(),
3265
- union_id: z16.string().min(1).optional()
3298
+ feishuSenderIdSchema = z17.object({
3299
+ open_id: z17.string().min(1).optional(),
3300
+ union_id: z17.string().min(1).optional()
3266
3301
  }).passthrough();
3267
- feishuMessageMentionSchema = z16.object({
3268
- key: z16.string().optional(),
3302
+ feishuMessageMentionSchema = z17.object({
3303
+ key: z17.string().optional(),
3269
3304
  id: feishuSenderIdSchema.optional()
3270
3305
  }).passthrough();
3271
- feishuMessageSchema = z16.object({
3272
- message_id: z16.string().min(1).optional(),
3273
- chat_id: z16.string().min(1).optional(),
3306
+ feishuMessageSchema = z17.object({
3307
+ message_id: z17.string().min(1).optional(),
3308
+ chat_id: z17.string().min(1).optional(),
3274
3309
  chat_type: agentIntegrationChatTypeSchema.optional(),
3275
- message_type: z16.string().min(1).optional(),
3276
- content: z16.string().optional(),
3277
- mentions: z16.array(feishuMessageMentionSchema).optional(),
3278
- parent_id: z16.string().min(1).optional().nullable()
3310
+ message_type: z17.string().min(1).optional(),
3311
+ content: z17.string().optional(),
3312
+ mentions: z17.array(feishuMessageMentionSchema).optional(),
3313
+ parent_id: z17.string().min(1).optional().nullable()
3279
3314
  }).passthrough();
3280
- feishuEventSchema = z16.object({
3281
- sender: z16.object({
3315
+ feishuEventSchema = z17.object({
3316
+ sender: z17.object({
3282
3317
  sender_id: feishuSenderIdSchema.optional()
3283
3318
  }).passthrough().optional(),
3284
3319
  message: feishuMessageSchema.optional()
3285
3320
  }).passthrough();
3286
- mockFeishuInboundEventSchema = z16.object({
3287
- type: z16.string().min(1).optional(),
3288
- token: z16.string().min(1).optional(),
3289
- challenge: z16.string().min(1).optional(),
3290
- mockVerificationToken: z16.string().min(1).optional(),
3291
- mockEncryptKey: z16.string().min(1).optional(),
3292
- eventId: z16.string().min(1).optional(),
3293
- appId: z16.string().min(1).optional(),
3294
- botOpenId: z16.string().min(1).optional().nullable(),
3295
- chatId: z16.string().min(1).optional(),
3321
+ mockFeishuInboundEventSchema = z17.object({
3322
+ type: z17.string().min(1).optional(),
3323
+ token: z17.string().min(1).optional(),
3324
+ challenge: z17.string().min(1).optional(),
3325
+ mockVerificationToken: z17.string().min(1).optional(),
3326
+ mockEncryptKey: z17.string().min(1).optional(),
3327
+ eventId: z17.string().min(1).optional(),
3328
+ appId: z17.string().min(1).optional(),
3329
+ botOpenId: z17.string().min(1).optional().nullable(),
3330
+ chatId: z17.string().min(1).optional(),
3296
3331
  chatType: agentIntegrationChatTypeSchema.optional(),
3297
- messageId: z16.string().min(1).optional(),
3298
- senderOpenId: z16.string().min(1).optional(),
3299
- senderUnionId: z16.string().min(1).optional().nullable(),
3300
- body: z16.string().optional(),
3301
- commandBody: z16.string().optional(),
3302
- addressedToBot: z16.boolean().optional(),
3303
- messageType: z16.string().min(1).optional(),
3304
- parentMessageId: z16.string().min(1).optional().nullable(),
3305
- receivedAt: z16.string().datetime().optional(),
3332
+ messageId: z17.string().min(1).optional(),
3333
+ senderOpenId: z17.string().min(1).optional(),
3334
+ senderUnionId: z17.string().min(1).optional().nullable(),
3335
+ body: z17.string().optional(),
3336
+ commandBody: z17.string().optional(),
3337
+ addressedToBot: z17.boolean().optional(),
3338
+ messageType: z17.string().min(1).optional(),
3339
+ parentMessageId: z17.string().min(1).optional().nullable(),
3340
+ receivedAt: z17.string().datetime().optional(),
3306
3341
  header: feishuEventHeaderSchema.optional(),
3307
3342
  event: feishuEventSchema.optional()
3308
3343
  }).passthrough();
@@ -3310,7 +3345,7 @@ var init_agent_integration = __esm({
3310
3345
  });
3311
3346
 
3312
3347
  // ../packages/shared/dist/validators/project.js
3313
- import { z as z17 } from "zod";
3348
+ import { z as z18 } from "zod";
3314
3349
  function validateProjectWorkspace(value, ctx) {
3315
3350
  const sourceType = value.sourceType ?? "local_path";
3316
3351
  const hasCwd = typeof value.cwd === "string" && value.cwd.trim().length > 0;
@@ -3319,7 +3354,7 @@ function validateProjectWorkspace(value, ctx) {
3319
3354
  if (sourceType === "remote_managed") {
3320
3355
  if (!hasRemoteRef && !hasRepo) {
3321
3356
  ctx.addIssue({
3322
- code: z17.ZodIssueCode.custom,
3357
+ code: z18.ZodIssueCode.custom,
3323
3358
  message: "Remote-managed workspace requires remoteWorkspaceRef or repoUrl.",
3324
3359
  path: ["remoteWorkspaceRef"]
3325
3360
  });
@@ -3328,7 +3363,7 @@ function validateProjectWorkspace(value, ctx) {
3328
3363
  }
3329
3364
  if (!hasCwd && !hasRepo) {
3330
3365
  ctx.addIssue({
3331
- code: z17.ZodIssueCode.custom,
3366
+ code: z18.ZodIssueCode.custom,
3332
3367
  message: "Workspace requires at least one of cwd or repoUrl.",
3333
3368
  path: ["cwd"]
3334
3369
  });
@@ -3340,120 +3375,120 @@ var init_project = __esm({
3340
3375
  "use strict";
3341
3376
  init_constants();
3342
3377
  init_resource();
3343
- executionWorkspaceStrategySchema = z17.object({
3344
- type: z17.enum(["project_primary", "git_worktree", "adapter_managed", "cloud_sandbox"]).optional(),
3345
- baseRef: z17.string().optional().nullable(),
3346
- branchTemplate: z17.string().optional().nullable(),
3347
- worktreeParentDir: z17.string().optional().nullable(),
3348
- provisionCommand: z17.string().optional().nullable(),
3349
- teardownCommand: z17.string().optional().nullable()
3378
+ executionWorkspaceStrategySchema = z18.object({
3379
+ type: z18.enum(["project_primary", "git_worktree", "adapter_managed", "cloud_sandbox"]).optional(),
3380
+ baseRef: z18.string().optional().nullable(),
3381
+ branchTemplate: z18.string().optional().nullable(),
3382
+ worktreeParentDir: z18.string().optional().nullable(),
3383
+ provisionCommand: z18.string().optional().nullable(),
3384
+ teardownCommand: z18.string().optional().nullable()
3350
3385
  }).strict();
3351
- projectExecutionWorkspacePolicySchema = z17.object({
3352
- enabled: z17.boolean(),
3353
- defaultMode: z17.enum(["shared_workspace", "isolated_workspace", "operator_branch", "adapter_default"]).optional(),
3354
- allowIssueOverride: z17.boolean().optional(),
3355
- defaultProjectWorkspaceId: z17.string().uuid().optional().nullable(),
3386
+ projectExecutionWorkspacePolicySchema = z18.object({
3387
+ enabled: z18.boolean(),
3388
+ defaultMode: z18.enum(["shared_workspace", "isolated_workspace", "operator_branch", "adapter_default"]).optional(),
3389
+ allowIssueOverride: z18.boolean().optional(),
3390
+ defaultProjectWorkspaceId: z18.string().uuid().optional().nullable(),
3356
3391
  workspaceStrategy: executionWorkspaceStrategySchema.optional().nullable(),
3357
- workspaceRuntime: z17.record(z17.unknown()).optional().nullable(),
3358
- branchPolicy: z17.record(z17.unknown()).optional().nullable(),
3359
- pullRequestPolicy: z17.record(z17.unknown()).optional().nullable(),
3360
- runtimePolicy: z17.record(z17.unknown()).optional().nullable(),
3361
- cleanupPolicy: z17.record(z17.unknown()).optional().nullable()
3392
+ workspaceRuntime: z18.record(z18.unknown()).optional().nullable(),
3393
+ branchPolicy: z18.record(z18.unknown()).optional().nullable(),
3394
+ pullRequestPolicy: z18.record(z18.unknown()).optional().nullable(),
3395
+ runtimePolicy: z18.record(z18.unknown()).optional().nullable(),
3396
+ cleanupPolicy: z18.record(z18.unknown()).optional().nullable()
3362
3397
  }).strict();
3363
- projectWorkspaceSourceTypeSchema = z17.enum(["local_path", "git_repo", "remote_managed", "non_git_path"]);
3364
- projectWorkspaceVisibilitySchema = z17.enum(["default", "advanced"]);
3398
+ projectWorkspaceSourceTypeSchema = z18.enum(["local_path", "git_repo", "remote_managed", "non_git_path"]);
3399
+ projectWorkspaceVisibilitySchema = z18.enum(["default", "advanced"]);
3365
3400
  projectWorkspaceFields = {
3366
- name: z17.string().min(1).optional(),
3401
+ name: z18.string().min(1).optional(),
3367
3402
  sourceType: projectWorkspaceSourceTypeSchema.optional(),
3368
- cwd: z17.string().min(1).optional().nullable(),
3369
- repoUrl: z17.string().url().optional().nullable(),
3370
- repoRef: z17.string().optional().nullable(),
3371
- defaultRef: z17.string().optional().nullable(),
3403
+ cwd: z18.string().min(1).optional().nullable(),
3404
+ repoUrl: z18.string().url().optional().nullable(),
3405
+ repoRef: z18.string().optional().nullable(),
3406
+ defaultRef: z18.string().optional().nullable(),
3372
3407
  visibility: projectWorkspaceVisibilitySchema.optional(),
3373
- setupCommand: z17.string().optional().nullable(),
3374
- cleanupCommand: z17.string().optional().nullable(),
3375
- remoteProvider: z17.string().optional().nullable(),
3376
- remoteWorkspaceRef: z17.string().optional().nullable(),
3377
- sharedWorkspaceKey: z17.string().optional().nullable(),
3378
- metadata: z17.record(z17.unknown()).optional().nullable()
3408
+ setupCommand: z18.string().optional().nullable(),
3409
+ cleanupCommand: z18.string().optional().nullable(),
3410
+ remoteProvider: z18.string().optional().nullable(),
3411
+ remoteWorkspaceRef: z18.string().optional().nullable(),
3412
+ sharedWorkspaceKey: z18.string().optional().nullable(),
3413
+ metadata: z18.record(z18.unknown()).optional().nullable()
3379
3414
  };
3380
3415
  projectColorValues = new Set(PROJECT_COLORS);
3381
- legacyProjectColorSchema = z17.string().regex(/^#[0-9a-fA-F]{6}$/);
3382
- projectColorSchema = z17.string().refine((value) => legacyProjectColorSchema.safeParse(value).success || projectColorValues.has(value), "Color must be a 6-digit hex value or a supported project gradient");
3383
- projectIconSchema = z17.enum(PROJECT_ICONS);
3384
- createProjectWorkspaceSchema = z17.object({
3416
+ legacyProjectColorSchema = z18.string().regex(/^#[0-9a-fA-F]{6}$/);
3417
+ projectColorSchema = z18.string().refine((value) => legacyProjectColorSchema.safeParse(value).success || projectColorValues.has(value), "Color must be a 6-digit hex value or a supported project gradient");
3418
+ projectIconSchema = z18.enum(PROJECT_ICONS);
3419
+ createProjectWorkspaceSchema = z18.object({
3385
3420
  ...projectWorkspaceFields,
3386
- isPrimary: z17.boolean().optional().default(false)
3421
+ isPrimary: z18.boolean().optional().default(false)
3387
3422
  }).superRefine(validateProjectWorkspace);
3388
- updateProjectWorkspaceSchema = z17.object({
3423
+ updateProjectWorkspaceSchema = z18.object({
3389
3424
  ...projectWorkspaceFields,
3390
- isPrimary: z17.boolean().optional()
3425
+ isPrimary: z18.boolean().optional()
3391
3426
  }).partial();
3392
3427
  projectFields = {
3393
3428
  /** @deprecated Use goalIds instead */
3394
- goalId: z17.string().uuid().optional().nullable(),
3395
- goalIds: z17.array(z17.string().uuid()).optional(),
3396
- name: z17.string().min(1),
3397
- description: z17.string().optional().nullable(),
3398
- status: z17.enum(PROJECT_STATUSES).optional().default("backlog"),
3399
- leadAgentId: z17.string().uuid().optional().nullable(),
3400
- targetDate: z17.string().optional().nullable(),
3429
+ goalId: z18.string().uuid().optional().nullable(),
3430
+ goalIds: z18.array(z18.string().uuid()).optional(),
3431
+ name: z18.string().min(1),
3432
+ description: z18.string().optional().nullable(),
3433
+ status: z18.enum(PROJECT_STATUSES).optional().default("backlog"),
3434
+ leadAgentId: z18.string().uuid().optional().nullable(),
3435
+ targetDate: z18.string().optional().nullable(),
3401
3436
  color: projectColorSchema.optional().nullable(),
3402
3437
  icon: projectIconSchema.optional().nullable(),
3403
3438
  executionWorkspacePolicy: projectExecutionWorkspacePolicySchema.optional().nullable(),
3404
- resourceAttachments: z17.array(projectResourceAttachmentInputSchema).optional(),
3405
- newResources: z17.array(createProjectInlineResourceSchema).optional(),
3406
- archivedAt: z17.string().datetime().optional().nullable()
3439
+ resourceAttachments: z18.array(projectResourceAttachmentInputSchema).optional(),
3440
+ newResources: z18.array(createProjectInlineResourceSchema).optional(),
3441
+ archivedAt: z18.string().datetime().optional().nullable()
3407
3442
  };
3408
- createProjectSchema = z17.object({
3443
+ createProjectSchema = z18.object({
3409
3444
  ...projectFields
3410
3445
  });
3411
- updateProjectSchema = z17.object(projectFields).partial();
3446
+ updateProjectSchema = z18.object(projectFields).partial();
3412
3447
  }
3413
3448
  });
3414
3449
 
3415
3450
  // ../packages/shared/dist/validators/issue.js
3416
- import { z as z18 } from "zod";
3451
+ import { z as z19 } from "zod";
3417
3452
  var runWorkspaceStrategySchema, issueRunWorkspaceSettingsSchema, issueAssigneeAdapterOverridesSchema, createIssueSchema, createIssueLabelSchema, updateIssueLabelSchema, updateIssueSchema, reorderIssueSchema, checkoutIssueSchema, addIssueCommentSchema, updateIssueCommentSchema, reportIssueCommitSchema, linkIssueApprovalSchema, createIssueAttachmentMetadataSchema, createIssueWorkspaceAttachmentSchema, ISSUE_DOCUMENT_FORMATS, issueDocumentFormatSchema, createLibraryDocumentSchema, updateLibraryDocumentSchema, restoreLibraryDocumentRevisionSchema;
3418
3453
  var init_issue = __esm({
3419
3454
  "../packages/shared/dist/validators/issue.js"() {
3420
3455
  "use strict";
3421
3456
  init_constants();
3422
- runWorkspaceStrategySchema = z18.object({
3423
- type: z18.enum(["project_primary", "git_worktree", "adapter_managed", "cloud_sandbox"]).optional(),
3424
- baseRef: z18.string().optional().nullable(),
3425
- branchTemplate: z18.string().optional().nullable(),
3426
- worktreeParentDir: z18.string().optional().nullable(),
3427
- provisionCommand: z18.string().optional().nullable(),
3428
- teardownCommand: z18.string().optional().nullable()
3457
+ runWorkspaceStrategySchema = z19.object({
3458
+ type: z19.enum(["project_primary", "git_worktree", "adapter_managed", "cloud_sandbox"]).optional(),
3459
+ baseRef: z19.string().optional().nullable(),
3460
+ branchTemplate: z19.string().optional().nullable(),
3461
+ worktreeParentDir: z19.string().optional().nullable(),
3462
+ provisionCommand: z19.string().optional().nullable(),
3463
+ teardownCommand: z19.string().optional().nullable()
3429
3464
  }).strict();
3430
- issueRunWorkspaceSettingsSchema = z18.object({
3431
- mode: z18.enum(["inherit", "shared_workspace", "isolated_workspace", "operator_branch", "reuse_existing", "agent_default"]).optional(),
3465
+ issueRunWorkspaceSettingsSchema = z19.object({
3466
+ mode: z19.enum(["inherit", "shared_workspace", "isolated_workspace", "operator_branch", "reuse_existing", "agent_default"]).optional(),
3432
3467
  workspaceStrategy: runWorkspaceStrategySchema.optional().nullable(),
3433
- workspaceRuntime: z18.record(z18.unknown()).optional().nullable()
3468
+ workspaceRuntime: z19.record(z19.unknown()).optional().nullable()
3434
3469
  }).strict();
3435
- issueAssigneeAdapterOverridesSchema = z18.object({
3436
- agentRuntimeConfig: z18.record(z18.unknown()).optional(),
3437
- useProjectWorkspace: z18.boolean().optional()
3470
+ issueAssigneeAdapterOverridesSchema = z19.object({
3471
+ agentRuntimeConfig: z19.record(z19.unknown()).optional(),
3472
+ useProjectWorkspace: z19.boolean().optional()
3438
3473
  }).strict();
3439
- createIssueSchema = z18.object({
3440
- projectId: z18.string().uuid().optional().nullable(),
3441
- projectWorkspaceId: z18.string().uuid().optional().nullable(),
3442
- goalId: z18.string().uuid().optional().nullable(),
3443
- parentId: z18.string().uuid().optional().nullable(),
3444
- title: z18.string().min(1),
3445
- description: z18.string().optional().nullable(),
3446
- status: z18.enum(ISSUE_STATUSES).optional().default("backlog"),
3447
- priority: z18.enum(ISSUE_PRIORITIES).optional().default("medium"),
3448
- assigneeAgentId: z18.string().uuid().optional().nullable(),
3449
- assigneeUserId: z18.string().optional().nullable(),
3450
- reviewerAgentId: z18.string().uuid().optional().nullable(),
3451
- reviewerUserId: z18.string().optional().nullable(),
3452
- requestDepth: z18.number().int().nonnegative().optional().default(0),
3453
- billingCode: z18.string().optional().nullable(),
3474
+ createIssueSchema = z19.object({
3475
+ projectId: z19.string().uuid().optional().nullable(),
3476
+ projectWorkspaceId: z19.string().uuid().optional().nullable(),
3477
+ goalId: z19.string().uuid().optional().nullable(),
3478
+ parentId: z19.string().uuid().optional().nullable(),
3479
+ title: z19.string().min(1),
3480
+ description: z19.string().optional().nullable(),
3481
+ status: z19.enum(ISSUE_STATUSES).optional().default("backlog"),
3482
+ priority: z19.enum(ISSUE_PRIORITIES).optional().default("medium"),
3483
+ assigneeAgentId: z19.string().uuid().optional().nullable(),
3484
+ assigneeUserId: z19.string().optional().nullable(),
3485
+ reviewerAgentId: z19.string().uuid().optional().nullable(),
3486
+ reviewerUserId: z19.string().optional().nullable(),
3487
+ requestDepth: z19.number().int().nonnegative().optional().default(0),
3488
+ billingCode: z19.string().optional().nullable(),
3454
3489
  assigneeAgentRuntimeOverrides: issueAssigneeAdapterOverridesSchema.optional().nullable(),
3455
- runWorkspaceId: z18.string().uuid().optional().nullable(),
3456
- runWorkspacePreference: z18.enum([
3490
+ runWorkspaceId: z19.string().uuid().optional().nullable(),
3491
+ runWorkspacePreference: z19.enum([
3457
3492
  "inherit",
3458
3493
  "shared_workspace",
3459
3494
  "isolated_workspace",
@@ -3463,9 +3498,9 @@ var init_issue = __esm({
3463
3498
  ]).optional().nullable(),
3464
3499
  runWorkspaceSettings: issueRunWorkspaceSettingsSchema.optional().nullable(),
3465
3500
  /** @deprecated Use runWorkspaceId. */
3466
- executionWorkspaceId: z18.string().uuid().optional().nullable(),
3501
+ executionWorkspaceId: z19.string().uuid().optional().nullable(),
3467
3502
  /** @deprecated Use runWorkspacePreference. */
3468
- executionWorkspacePreference: z18.enum([
3503
+ executionWorkspacePreference: z19.enum([
3469
3504
  "inherit",
3470
3505
  "shared_workspace",
3471
3506
  "isolated_workspace",
@@ -3475,88 +3510,88 @@ var init_issue = __esm({
3475
3510
  ]).optional().nullable(),
3476
3511
  /** @deprecated Use runWorkspaceSettings. */
3477
3512
  executionWorkspaceSettings: issueRunWorkspaceSettingsSchema.optional().nullable(),
3478
- labelIds: z18.array(z18.string().uuid()).optional()
3513
+ labelIds: z19.array(z19.string().uuid()).optional()
3479
3514
  });
3480
- createIssueLabelSchema = z18.object({
3481
- name: z18.string().trim().min(1).max(48),
3482
- color: z18.string().regex(/^#(?:[0-9a-fA-F]{6})$/, "Color must be a 6-digit hex value")
3515
+ createIssueLabelSchema = z19.object({
3516
+ name: z19.string().trim().min(1).max(48),
3517
+ color: z19.string().regex(/^#(?:[0-9a-fA-F]{6})$/, "Color must be a 6-digit hex value")
3483
3518
  });
3484
3519
  updateIssueLabelSchema = createIssueLabelSchema.partial().refine((value) => value.name !== void 0 || value.color !== void 0, {
3485
3520
  message: "At least one label field must be provided"
3486
3521
  });
3487
3522
  updateIssueSchema = createIssueSchema.partial().extend({
3488
- comment: z18.string().min(1).optional(),
3489
- reopen: z18.boolean().optional(),
3490
- hiddenAt: z18.string().datetime().nullable().optional(),
3491
- reviewDecision: z18.enum(["approve", "request_changes", "needs_followup", "blocked"]).optional()
3523
+ comment: z19.string().min(1).optional(),
3524
+ reopen: z19.boolean().optional(),
3525
+ hiddenAt: z19.string().datetime().nullable().optional(),
3526
+ reviewDecision: z19.enum(["approve", "request_changes", "needs_followup", "blocked"]).optional()
3492
3527
  });
3493
- reorderIssueSchema = z18.object({
3494
- issueId: z18.string().uuid(),
3495
- targetStatus: z18.enum(ISSUE_STATUSES),
3496
- previousIssueId: z18.string().uuid().optional().nullable(),
3497
- nextIssueId: z18.string().uuid().optional().nullable(),
3498
- position: z18.enum(["start", "end"]).optional()
3528
+ reorderIssueSchema = z19.object({
3529
+ issueId: z19.string().uuid(),
3530
+ targetStatus: z19.enum(ISSUE_STATUSES),
3531
+ previousIssueId: z19.string().uuid().optional().nullable(),
3532
+ nextIssueId: z19.string().uuid().optional().nullable(),
3533
+ position: z19.enum(["start", "end"]).optional()
3499
3534
  }).refine((value) => !(value.previousIssueId && value.nextIssueId && value.previousIssueId === value.nextIssueId), {
3500
3535
  message: "previousIssueId and nextIssueId must be different"
3501
3536
  });
3502
- checkoutIssueSchema = z18.object({
3503
- agentId: z18.string().uuid(),
3504
- expectedStatuses: z18.array(z18.enum(ISSUE_STATUSES)).nonempty()
3537
+ checkoutIssueSchema = z19.object({
3538
+ agentId: z19.string().uuid(),
3539
+ expectedStatuses: z19.array(z19.enum(ISSUE_STATUSES)).nonempty()
3505
3540
  });
3506
- addIssueCommentSchema = z18.object({
3507
- body: z18.string().min(1),
3508
- reopen: z18.boolean().optional(),
3509
- interrupt: z18.boolean().optional()
3541
+ addIssueCommentSchema = z19.object({
3542
+ body: z19.string().min(1),
3543
+ reopen: z19.boolean().optional(),
3544
+ interrupt: z19.boolean().optional()
3510
3545
  });
3511
- updateIssueCommentSchema = z18.object({
3512
- body: z18.string().trim().min(1)
3546
+ updateIssueCommentSchema = z19.object({
3547
+ body: z19.string().trim().min(1)
3513
3548
  });
3514
- reportIssueCommitSchema = z18.object({
3515
- sha: z18.string().trim().regex(/^[0-9a-f]{7,64}$/i, "Commit SHA must be 7 to 64 hexadecimal characters"),
3516
- message: z18.string().trim().min(1).max(500),
3517
- branch: z18.string().trim().min(1).max(255).optional().nullable(),
3518
- repoPath: z18.string().trim().min(1).max(2048).optional().nullable(),
3519
- workspacePath: z18.string().trim().min(1).max(2048).optional().nullable(),
3520
- commitCount: z18.number().int().positive().max(1e3).optional()
3549
+ reportIssueCommitSchema = z19.object({
3550
+ sha: z19.string().trim().regex(/^[0-9a-f]{7,64}$/i, "Commit SHA must be 7 to 64 hexadecimal characters"),
3551
+ message: z19.string().trim().min(1).max(500),
3552
+ branch: z19.string().trim().min(1).max(255).optional().nullable(),
3553
+ repoPath: z19.string().trim().min(1).max(2048).optional().nullable(),
3554
+ workspacePath: z19.string().trim().min(1).max(2048).optional().nullable(),
3555
+ commitCount: z19.number().int().positive().max(1e3).optional()
3521
3556
  });
3522
- linkIssueApprovalSchema = z18.object({
3523
- approvalId: z18.string().uuid()
3557
+ linkIssueApprovalSchema = z19.object({
3558
+ approvalId: z19.string().uuid()
3524
3559
  });
3525
- createIssueAttachmentMetadataSchema = z18.object({
3526
- issueCommentId: z18.string().uuid().optional().nullable(),
3527
- usage: z18.enum(["issue", "description_inline", "document_inline", "comment_inline", "comment_attachment"]).optional()
3560
+ createIssueAttachmentMetadataSchema = z19.object({
3561
+ issueCommentId: z19.string().uuid().optional().nullable(),
3562
+ usage: z19.enum(["issue", "description_inline", "document_inline", "comment_inline", "comment_attachment"]).optional()
3528
3563
  });
3529
- createIssueWorkspaceAttachmentSchema = z18.object({
3530
- path: z18.string().trim().min(1).max(2048)
3564
+ createIssueWorkspaceAttachmentSchema = z19.object({
3565
+ path: z19.string().trim().min(1).max(2048)
3531
3566
  });
3532
3567
  ISSUE_DOCUMENT_FORMATS = ["markdown"];
3533
- issueDocumentFormatSchema = z18.enum(ISSUE_DOCUMENT_FORMATS);
3534
- createLibraryDocumentSchema = z18.object({
3535
- title: z18.string().trim().max(200).nullable().optional(),
3568
+ issueDocumentFormatSchema = z19.enum(ISSUE_DOCUMENT_FORMATS);
3569
+ createLibraryDocumentSchema = z19.object({
3570
+ title: z19.string().trim().max(200).nullable().optional(),
3536
3571
  format: issueDocumentFormatSchema.optional().default("markdown"),
3537
- body: z18.string().max(524288).optional().default(""),
3538
- changeSummary: z18.string().trim().max(500).nullable().optional()
3572
+ body: z19.string().max(524288).optional().default(""),
3573
+ changeSummary: z19.string().trim().max(500).nullable().optional()
3539
3574
  });
3540
- updateLibraryDocumentSchema = z18.object({
3541
- title: z18.string().trim().max(200).nullable().optional(),
3575
+ updateLibraryDocumentSchema = z19.object({
3576
+ title: z19.string().trim().max(200).nullable().optional(),
3542
3577
  format: issueDocumentFormatSchema.optional().default("markdown"),
3543
- body: z18.string().max(524288),
3544
- changeSummary: z18.string().trim().max(500).nullable().optional(),
3545
- baseRevisionId: z18.string().uuid().nullable().optional()
3578
+ body: z19.string().max(524288),
3579
+ changeSummary: z19.string().trim().max(500).nullable().optional(),
3580
+ baseRevisionId: z19.string().uuid().nullable().optional()
3546
3581
  });
3547
- restoreLibraryDocumentRevisionSchema = z18.object({
3548
- changeSummary: z18.string().trim().max(500).nullable().optional()
3582
+ restoreLibraryDocumentRevisionSchema = z19.object({
3583
+ changeSummary: z19.string().trim().max(500).nullable().optional()
3549
3584
  });
3550
3585
  }
3551
3586
  });
3552
3587
 
3553
3588
  // ../packages/shared/dist/validators/work-product.js
3554
- import { z as z19 } from "zod";
3589
+ import { z as z20 } from "zod";
3555
3590
  var issueWorkProductTypeSchema, issueWorkProductStatusSchema, issueWorkProductReviewStateSchema, createIssueWorkProductSchema, updateIssueWorkProductSchema;
3556
3591
  var init_work_product = __esm({
3557
3592
  "../packages/shared/dist/validators/work-product.js"() {
3558
3593
  "use strict";
3559
- issueWorkProductTypeSchema = z19.enum([
3594
+ issueWorkProductTypeSchema = z20.enum([
3560
3595
  "preview_url",
3561
3596
  "runtime_service",
3562
3597
  "pull_request",
@@ -3565,7 +3600,7 @@ var init_work_product = __esm({
3565
3600
  "artifact",
3566
3601
  "document"
3567
3602
  ]);
3568
- issueWorkProductStatusSchema = z19.enum([
3603
+ issueWorkProductStatusSchema = z20.enum([
3569
3604
  "active",
3570
3605
  "ready_for_review",
3571
3606
  "approved",
@@ -3576,125 +3611,125 @@ var init_work_product = __esm({
3576
3611
  "archived",
3577
3612
  "draft"
3578
3613
  ]);
3579
- issueWorkProductReviewStateSchema = z19.enum([
3614
+ issueWorkProductReviewStateSchema = z20.enum([
3580
3615
  "none",
3581
3616
  "needs_board_review",
3582
3617
  "approved",
3583
3618
  "changes_requested"
3584
3619
  ]);
3585
- createIssueWorkProductSchema = z19.object({
3586
- projectId: z19.string().uuid().optional().nullable(),
3587
- runWorkspaceId: z19.string().uuid().optional().nullable(),
3620
+ createIssueWorkProductSchema = z20.object({
3621
+ projectId: z20.string().uuid().optional().nullable(),
3622
+ runWorkspaceId: z20.string().uuid().optional().nullable(),
3588
3623
  /** @deprecated Use runWorkspaceId. */
3589
- executionWorkspaceId: z19.string().uuid().optional().nullable(),
3590
- runtimeServiceId: z19.string().uuid().optional().nullable(),
3624
+ executionWorkspaceId: z20.string().uuid().optional().nullable(),
3625
+ runtimeServiceId: z20.string().uuid().optional().nullable(),
3591
3626
  type: issueWorkProductTypeSchema,
3592
- provider: z19.string().min(1),
3593
- externalId: z19.string().optional().nullable(),
3594
- title: z19.string().min(1),
3595
- url: z19.string().url().optional().nullable(),
3627
+ provider: z20.string().min(1),
3628
+ externalId: z20.string().optional().nullable(),
3629
+ title: z20.string().min(1),
3630
+ url: z20.string().url().optional().nullable(),
3596
3631
  status: issueWorkProductStatusSchema.default("active"),
3597
3632
  reviewState: issueWorkProductReviewStateSchema.optional().default("none"),
3598
- isPrimary: z19.boolean().optional().default(false),
3599
- healthStatus: z19.enum(["unknown", "healthy", "unhealthy"]).optional().default("unknown"),
3600
- summary: z19.string().optional().nullable(),
3601
- metadata: z19.record(z19.unknown()).optional().nullable(),
3602
- createdByRunId: z19.string().uuid().optional().nullable()
3633
+ isPrimary: z20.boolean().optional().default(false),
3634
+ healthStatus: z20.enum(["unknown", "healthy", "unhealthy"]).optional().default("unknown"),
3635
+ summary: z20.string().optional().nullable(),
3636
+ metadata: z20.record(z20.unknown()).optional().nullable(),
3637
+ createdByRunId: z20.string().uuid().optional().nullable()
3603
3638
  });
3604
3639
  updateIssueWorkProductSchema = createIssueWorkProductSchema.partial();
3605
3640
  }
3606
3641
  });
3607
3642
 
3608
3643
  // ../packages/shared/dist/validators/execution-workspace.js
3609
- import { z as z20 } from "zod";
3644
+ import { z as z21 } from "zod";
3610
3645
  var runWorkspaceStatusSchema, updateRunWorkspaceSchema;
3611
3646
  var init_execution_workspace = __esm({
3612
3647
  "../packages/shared/dist/validators/execution-workspace.js"() {
3613
3648
  "use strict";
3614
- runWorkspaceStatusSchema = z20.enum([
3649
+ runWorkspaceStatusSchema = z21.enum([
3615
3650
  "active",
3616
3651
  "idle",
3617
3652
  "in_review",
3618
3653
  "archived",
3619
3654
  "cleanup_failed"
3620
3655
  ]);
3621
- updateRunWorkspaceSchema = z20.object({
3656
+ updateRunWorkspaceSchema = z21.object({
3622
3657
  status: runWorkspaceStatusSchema.optional(),
3623
- cleanupEligibleAt: z20.string().datetime().optional().nullable(),
3624
- cleanupReason: z20.string().optional().nullable(),
3625
- metadata: z20.record(z20.unknown()).optional().nullable()
3658
+ cleanupEligibleAt: z21.string().datetime().optional().nullable(),
3659
+ cleanupReason: z21.string().optional().nullable(),
3660
+ metadata: z21.record(z21.unknown()).optional().nullable()
3626
3661
  }).strict();
3627
3662
  }
3628
3663
  });
3629
3664
 
3630
3665
  // ../packages/shared/dist/validators/workspace-backup.js
3631
- import { z as z21 } from "zod";
3666
+ import { z as z22 } from "zod";
3632
3667
  var workspaceBackupTriggerSourceSchema, createWorkspaceBackupSchema, restoreWorkspaceBackupSchema;
3633
3668
  var init_workspace_backup2 = __esm({
3634
3669
  "../packages/shared/dist/validators/workspace-backup.js"() {
3635
3670
  "use strict";
3636
- workspaceBackupTriggerSourceSchema = z21.enum(["manual", "scheduled", "pre_restore"]);
3637
- createWorkspaceBackupSchema = z21.object({
3671
+ workspaceBackupTriggerSourceSchema = z22.enum(["manual", "scheduled", "pre_restore"]);
3672
+ createWorkspaceBackupSchema = z22.object({
3638
3673
  triggerSource: workspaceBackupTriggerSourceSchema.optional().default("manual")
3639
3674
  }).strict();
3640
- restoreWorkspaceBackupSchema = z21.object({
3641
- confirm: z21.literal(true)
3675
+ restoreWorkspaceBackupSchema = z22.object({
3676
+ confirm: z22.literal(true)
3642
3677
  }).strict();
3643
3678
  }
3644
3679
  });
3645
3680
 
3646
3681
  // ../packages/shared/dist/validators/goal.js
3647
- import { z as z22 } from "zod";
3682
+ import { z as z23 } from "zod";
3648
3683
  var createGoalSchema, updateGoalSchema;
3649
3684
  var init_goal = __esm({
3650
3685
  "../packages/shared/dist/validators/goal.js"() {
3651
3686
  "use strict";
3652
3687
  init_constants();
3653
- createGoalSchema = z22.object({
3654
- title: z22.string().min(1),
3655
- description: z22.string().optional().nullable(),
3656
- level: z22.enum(GOAL_LEVELS).optional().default("task"),
3657
- status: z22.enum(GOAL_STATUSES).optional().default("planned"),
3658
- parentId: z22.string().uuid().optional().nullable(),
3659
- ownerAgentId: z22.string().uuid().optional().nullable()
3688
+ createGoalSchema = z23.object({
3689
+ title: z23.string().min(1),
3690
+ description: z23.string().optional().nullable(),
3691
+ level: z23.enum(GOAL_LEVELS).optional().default("task"),
3692
+ status: z23.enum(GOAL_STATUSES).optional().default("planned"),
3693
+ parentId: z23.string().uuid().optional().nullable(),
3694
+ ownerAgentId: z23.string().uuid().optional().nullable()
3660
3695
  });
3661
3696
  updateGoalSchema = createGoalSchema.partial();
3662
3697
  }
3663
3698
  });
3664
3699
 
3665
3700
  // ../packages/shared/dist/validators/approval.js
3666
- import { z as z23 } from "zod";
3701
+ import { z as z24 } from "zod";
3667
3702
  var createApprovalSchema, resolveApprovalSchema, requestApprovalRevisionSchema, resubmitApprovalSchema, addApprovalCommentSchema;
3668
3703
  var init_approval = __esm({
3669
3704
  "../packages/shared/dist/validators/approval.js"() {
3670
3705
  "use strict";
3671
3706
  init_constants();
3672
- createApprovalSchema = z23.object({
3673
- type: z23.enum(APPROVAL_TYPES),
3674
- requestedByAgentId: z23.string().uuid().optional().nullable(),
3675
- payload: z23.record(z23.unknown()),
3676
- issueIds: z23.array(z23.string().uuid()).optional()
3707
+ createApprovalSchema = z24.object({
3708
+ type: z24.enum(APPROVAL_TYPES),
3709
+ requestedByAgentId: z24.string().uuid().optional().nullable(),
3710
+ payload: z24.record(z24.unknown()),
3711
+ issueIds: z24.array(z24.string().uuid()).optional()
3677
3712
  });
3678
- resolveApprovalSchema = z23.object({
3679
- decisionNote: z23.string().optional().nullable(),
3680
- decidedByUserId: z23.string().optional().default("board"),
3681
- payload: z23.record(z23.unknown()).optional()
3713
+ resolveApprovalSchema = z24.object({
3714
+ decisionNote: z24.string().optional().nullable(),
3715
+ decidedByUserId: z24.string().optional().default("board"),
3716
+ payload: z24.record(z24.unknown()).optional()
3682
3717
  });
3683
- requestApprovalRevisionSchema = z23.object({
3684
- decisionNote: z23.string().optional().nullable(),
3685
- decidedByUserId: z23.string().optional().default("board")
3718
+ requestApprovalRevisionSchema = z24.object({
3719
+ decisionNote: z24.string().optional().nullable(),
3720
+ decidedByUserId: z24.string().optional().default("board")
3686
3721
  });
3687
- resubmitApprovalSchema = z23.object({
3688
- payload: z23.record(z23.unknown()).optional()
3722
+ resubmitApprovalSchema = z24.object({
3723
+ payload: z24.record(z24.unknown()).optional()
3689
3724
  });
3690
- addApprovalCommentSchema = z23.object({
3691
- body: z23.string().min(1)
3725
+ addApprovalCommentSchema = z24.object({
3726
+ body: z24.string().min(1)
3692
3727
  });
3693
3728
  }
3694
3729
  });
3695
3730
 
3696
3731
  // ../packages/shared/dist/validators/automation.js
3697
- import { z as z24 } from "zod";
3732
+ import { z as z25 } from "zod";
3698
3733
  function normalizeAutomationInstructions(value) {
3699
3734
  const { instructions, ...rest } = value;
3700
3735
  return {
@@ -3712,27 +3747,27 @@ var init_automation = __esm({
3712
3747
  "../packages/shared/dist/validators/automation.js"() {
3713
3748
  "use strict";
3714
3749
  init_constants();
3715
- automationTextFieldSchema = z24.string().optional().nullable();
3716
- automationBodyFieldsSchema = z24.object({
3717
- projectId: z24.string().uuid().optional().nullable().default(null),
3718
- goalId: z24.string().uuid().optional().nullable(),
3719
- parentIssueId: z24.string().uuid().optional().nullable(),
3720
- title: z24.string().trim().min(1).max(200),
3750
+ automationTextFieldSchema = z25.string().optional().nullable();
3751
+ automationBodyFieldsSchema = z25.object({
3752
+ projectId: z25.string().uuid().optional().nullable().default(null),
3753
+ goalId: z25.string().uuid().optional().nullable(),
3754
+ parentIssueId: z25.string().uuid().optional().nullable(),
3755
+ title: z25.string().trim().min(1).max(200),
3721
3756
  instructions: automationTextFieldSchema,
3722
3757
  description: automationTextFieldSchema,
3723
- assigneeAgentId: z24.string().uuid(),
3724
- priority: z24.enum(ISSUE_PRIORITIES).optional().default("medium"),
3725
- status: z24.enum(AUTOMATION_STATUSES).optional().default("active"),
3726
- concurrencyPolicy: z24.enum(AUTOMATION_CONCURRENCY_POLICIES).optional().default("coalesce_if_active"),
3727
- catchUpPolicy: z24.enum(AUTOMATION_CATCH_UP_POLICIES).optional().default("skip_missed"),
3728
- outputMode: z24.enum(AUTOMATION_OUTPUT_MODES).optional().default("track_issue"),
3729
- chatConversationId: z24.string().uuid().optional().nullable().default(null),
3730
- notifyOnIssueCreated: z24.boolean().optional().default(false)
3758
+ assigneeAgentId: z25.string().uuid(),
3759
+ priority: z25.enum(ISSUE_PRIORITIES).optional().default("medium"),
3760
+ status: z25.enum(AUTOMATION_STATUSES).optional().default("active"),
3761
+ concurrencyPolicy: z25.enum(AUTOMATION_CONCURRENCY_POLICIES).optional().default("coalesce_if_active"),
3762
+ catchUpPolicy: z25.enum(AUTOMATION_CATCH_UP_POLICIES).optional().default("skip_missed"),
3763
+ outputMode: z25.enum(AUTOMATION_OUTPUT_MODES).optional().default("track_issue"),
3764
+ chatConversationId: z25.string().uuid().optional().nullable().default(null),
3765
+ notifyOnIssueCreated: z25.boolean().optional().default(false)
3731
3766
  });
3732
3767
  createAutomationSchema = automationBodyFieldsSchema.superRefine((value, ctx) => {
3733
3768
  if (value.chatConversationId) {
3734
3769
  ctx.addIssue({
3735
- code: z24.ZodIssueCode.custom,
3770
+ code: z25.ZodIssueCode.custom,
3736
3771
  path: ["chatConversationId"],
3737
3772
  message: "Chat output creates an automation-owned conversation; existing chats cannot be selected"
3738
3773
  });
@@ -3741,185 +3776,185 @@ var init_automation = __esm({
3741
3776
  updateAutomationSchema = automationBodyFieldsSchema.partial().superRefine((value, ctx) => {
3742
3777
  if (value.chatConversationId) {
3743
3778
  ctx.addIssue({
3744
- code: z24.ZodIssueCode.custom,
3779
+ code: z25.ZodIssueCode.custom,
3745
3780
  path: ["chatConversationId"],
3746
3781
  message: "Chat output creates an automation-owned conversation; existing chats cannot be selected"
3747
3782
  });
3748
3783
  }
3749
3784
  }).transform(normalizeAutomationInstructions).transform(normalizeAutomationNotifications);
3750
- baseTriggerSchema = z24.object({
3751
- label: z24.string().trim().max(120).optional().nullable(),
3752
- enabled: z24.boolean().optional().default(true)
3785
+ baseTriggerSchema = z25.object({
3786
+ label: z25.string().trim().max(120).optional().nullable(),
3787
+ enabled: z25.boolean().optional().default(true)
3753
3788
  });
3754
- createAutomationTriggerSchema = z24.discriminatedUnion("kind", [
3789
+ createAutomationTriggerSchema = z25.discriminatedUnion("kind", [
3755
3790
  baseTriggerSchema.extend({
3756
- kind: z24.literal("schedule"),
3757
- cronExpression: z24.string().trim().min(1),
3758
- timezone: z24.string().trim().min(1).default("UTC")
3791
+ kind: z25.literal("schedule"),
3792
+ cronExpression: z25.string().trim().min(1),
3793
+ timezone: z25.string().trim().min(1).default("UTC")
3759
3794
  }),
3760
3795
  baseTriggerSchema.extend({
3761
- kind: z24.literal("webhook"),
3762
- signingMode: z24.enum(AUTOMATION_TRIGGER_SIGNING_MODES).optional().default("bearer"),
3763
- replayWindowSec: z24.number().int().min(30).max(86400).optional().default(300)
3796
+ kind: z25.literal("webhook"),
3797
+ signingMode: z25.enum(AUTOMATION_TRIGGER_SIGNING_MODES).optional().default("bearer"),
3798
+ replayWindowSec: z25.number().int().min(30).max(86400).optional().default(300)
3764
3799
  }),
3765
3800
  baseTriggerSchema.extend({
3766
- kind: z24.literal("api")
3801
+ kind: z25.literal("api")
3767
3802
  })
3768
3803
  ]);
3769
- updateAutomationTriggerSchema = z24.object({
3770
- label: z24.string().trim().max(120).optional().nullable(),
3771
- enabled: z24.boolean().optional(),
3772
- cronExpression: z24.string().trim().min(1).optional().nullable(),
3773
- timezone: z24.string().trim().min(1).optional().nullable(),
3774
- signingMode: z24.enum(AUTOMATION_TRIGGER_SIGNING_MODES).optional().nullable(),
3775
- replayWindowSec: z24.number().int().min(30).max(86400).optional().nullable()
3804
+ updateAutomationTriggerSchema = z25.object({
3805
+ label: z25.string().trim().max(120).optional().nullable(),
3806
+ enabled: z25.boolean().optional(),
3807
+ cronExpression: z25.string().trim().min(1).optional().nullable(),
3808
+ timezone: z25.string().trim().min(1).optional().nullable(),
3809
+ signingMode: z25.enum(AUTOMATION_TRIGGER_SIGNING_MODES).optional().nullable(),
3810
+ replayWindowSec: z25.number().int().min(30).max(86400).optional().nullable()
3776
3811
  });
3777
- runAutomationSchema = z24.object({
3778
- triggerId: z24.string().uuid().optional().nullable(),
3779
- payload: z24.record(z24.unknown()).optional().nullable(),
3780
- idempotencyKey: z24.string().trim().max(255).optional().nullable(),
3781
- source: z24.enum(["manual", "api"]).optional().default("manual")
3812
+ runAutomationSchema = z25.object({
3813
+ triggerId: z25.string().uuid().optional().nullable(),
3814
+ payload: z25.record(z25.unknown()).optional().nullable(),
3815
+ idempotencyKey: z25.string().trim().max(255).optional().nullable(),
3816
+ source: z25.enum(["manual", "api"]).optional().default("manual")
3782
3817
  });
3783
- rotateAutomationTriggerSecretSchema = z24.object({});
3818
+ rotateAutomationTriggerSecretSchema = z25.object({});
3784
3819
  }
3785
3820
  });
3786
3821
 
3787
3822
  // ../packages/shared/dist/validators/calendar.js
3788
- import { z as z25 } from "zod";
3823
+ import { z as z26 } from "zod";
3789
3824
  var nullableUuid, createCalendarSourceSchema, updateCalendarSourceSchema, calendarEventBaseSchema, createCalendarEventSchema, updateCalendarEventSchema, calendarEventListQuerySchema, googleCalendarSyncSchema, updateGoogleCalendarOAuthConfigSchema;
3790
3825
  var init_calendar = __esm({
3791
3826
  "../packages/shared/dist/validators/calendar.js"() {
3792
3827
  "use strict";
3793
3828
  init_constants();
3794
- nullableUuid = z25.string().uuid().optional().nullable();
3795
- createCalendarSourceSchema = z25.object({
3796
- type: z25.enum(CALENDAR_SOURCE_TYPES).optional().default("rudder_local"),
3797
- name: z25.string().trim().min(1).max(160),
3798
- ownerType: z25.enum(CALENDAR_OWNER_TYPES).optional().default("user"),
3799
- ownerUserId: z25.string().trim().min(1).optional().nullable(),
3829
+ nullableUuid = z26.string().uuid().optional().nullable();
3830
+ createCalendarSourceSchema = z26.object({
3831
+ type: z26.enum(CALENDAR_SOURCE_TYPES).optional().default("rudder_local"),
3832
+ name: z26.string().trim().min(1).max(160),
3833
+ ownerType: z26.enum(CALENDAR_OWNER_TYPES).optional().default("user"),
3834
+ ownerUserId: z26.string().trim().min(1).optional().nullable(),
3800
3835
  ownerAgentId: nullableUuid,
3801
- externalProvider: z25.string().trim().min(1).max(80).optional().nullable(),
3802
- externalCalendarId: z25.string().trim().min(1).max(512).optional().nullable(),
3803
- visibilityDefault: z25.enum(CALENDAR_VISIBILITIES).optional().default("full"),
3804
- status: z25.enum(CALENDAR_SOURCE_STATUSES).optional().default("active"),
3805
- syncCursorJson: z25.record(z25.unknown()).optional().nullable()
3836
+ externalProvider: z26.string().trim().min(1).max(80).optional().nullable(),
3837
+ externalCalendarId: z26.string().trim().min(1).max(512).optional().nullable(),
3838
+ visibilityDefault: z26.enum(CALENDAR_VISIBILITIES).optional().default("full"),
3839
+ status: z26.enum(CALENDAR_SOURCE_STATUSES).optional().default("active"),
3840
+ syncCursorJson: z26.record(z26.unknown()).optional().nullable()
3806
3841
  });
3807
3842
  updateCalendarSourceSchema = createCalendarSourceSchema.partial().extend({
3808
- lastSyncedAt: z25.coerce.date().optional().nullable()
3843
+ lastSyncedAt: z26.coerce.date().optional().nullable()
3809
3844
  });
3810
- calendarEventBaseSchema = z25.object({
3845
+ calendarEventBaseSchema = z26.object({
3811
3846
  sourceId: nullableUuid,
3812
- eventKind: z25.enum(CALENDAR_EVENT_KINDS),
3813
- eventStatus: z25.enum(CALENDAR_EVENT_STATUSES).optional().default("planned"),
3814
- ownerType: z25.enum(CALENDAR_OWNER_TYPES),
3815
- ownerUserId: z25.string().trim().min(1).optional().nullable(),
3847
+ eventKind: z26.enum(CALENDAR_EVENT_KINDS),
3848
+ eventStatus: z26.enum(CALENDAR_EVENT_STATUSES).optional().default("planned"),
3849
+ ownerType: z26.enum(CALENDAR_OWNER_TYPES),
3850
+ ownerUserId: z26.string().trim().min(1).optional().nullable(),
3816
3851
  ownerAgentId: nullableUuid,
3817
- title: z25.string().trim().min(1).max(240),
3818
- description: z25.string().optional().nullable(),
3819
- startAt: z25.coerce.date(),
3820
- endAt: z25.coerce.date(),
3821
- timezone: z25.string().trim().min(1).max(80).optional().default("UTC"),
3822
- allDay: z25.boolean().optional().default(false),
3823
- visibility: z25.enum(CALENDAR_VISIBILITIES).optional().default("full"),
3852
+ title: z26.string().trim().min(1).max(240),
3853
+ description: z26.string().optional().nullable(),
3854
+ startAt: z26.coerce.date(),
3855
+ endAt: z26.coerce.date(),
3856
+ timezone: z26.string().trim().min(1).max(80).optional().default("UTC"),
3857
+ allDay: z26.boolean().optional().default(false),
3858
+ visibility: z26.enum(CALENDAR_VISIBILITIES).optional().default("full"),
3824
3859
  issueId: nullableUuid,
3825
3860
  projectId: nullableUuid,
3826
3861
  goalId: nullableUuid,
3827
3862
  approvalId: nullableUuid,
3828
3863
  heartbeatRunId: nullableUuid,
3829
3864
  activityId: nullableUuid,
3830
- sourceMode: z25.enum(CALENDAR_SOURCE_MODES).optional().default("manual"),
3831
- externalProvider: z25.string().trim().min(1).max(80).optional().nullable(),
3832
- externalCalendarId: z25.string().trim().min(1).max(512).optional().nullable(),
3833
- externalEventId: z25.string().trim().min(1).max(512).optional().nullable(),
3834
- externalEtag: z25.string().trim().min(1).max(512).optional().nullable(),
3835
- externalUpdatedAt: z25.coerce.date().optional().nullable()
3865
+ sourceMode: z26.enum(CALENDAR_SOURCE_MODES).optional().default("manual"),
3866
+ externalProvider: z26.string().trim().min(1).max(80).optional().nullable(),
3867
+ externalCalendarId: z26.string().trim().min(1).max(512).optional().nullable(),
3868
+ externalEventId: z26.string().trim().min(1).max(512).optional().nullable(),
3869
+ externalEtag: z26.string().trim().min(1).max(512).optional().nullable(),
3870
+ externalUpdatedAt: z26.coerce.date().optional().nullable()
3836
3871
  });
3837
3872
  createCalendarEventSchema = calendarEventBaseSchema.refine((value) => value.endAt.getTime() > value.startAt.getTime(), { path: ["endAt"], message: "End time must be after start time" });
3838
3873
  updateCalendarEventSchema = calendarEventBaseSchema.partial().refine((value) => value.startAt === void 0 || value.endAt === void 0 || value.endAt.getTime() > value.startAt.getTime(), { path: ["endAt"], message: "End time must be after start time" });
3839
- calendarEventListQuerySchema = z25.object({
3840
- start: z25.coerce.date(),
3841
- end: z25.coerce.date(),
3842
- agentIds: z25.string().optional(),
3843
- sourceIds: z25.string().optional(),
3844
- eventKinds: z25.string().optional(),
3845
- statuses: z25.string().optional()
3874
+ calendarEventListQuerySchema = z26.object({
3875
+ start: z26.coerce.date(),
3876
+ end: z26.coerce.date(),
3877
+ agentIds: z26.string().optional(),
3878
+ sourceIds: z26.string().optional(),
3879
+ eventKinds: z26.string().optional(),
3880
+ statuses: z26.string().optional()
3846
3881
  }).refine((value) => value.end.getTime() > value.start.getTime(), { path: ["end"], message: "End time must be after start time" });
3847
- googleCalendarSyncSchema = z25.object({
3848
- sourceId: z25.string().uuid().optional().nullable()
3882
+ googleCalendarSyncSchema = z26.object({
3883
+ sourceId: z26.string().uuid().optional().nullable()
3849
3884
  });
3850
- updateGoogleCalendarOAuthConfigSchema = z25.object({
3851
- clientId: z25.string().trim().min(1).max(512).optional(),
3852
- clientSecret: z25.string().trim().min(1).max(2048).optional(),
3853
- clear: z25.boolean().optional().default(false)
3885
+ updateGoogleCalendarOAuthConfigSchema = z26.object({
3886
+ clientId: z26.string().trim().min(1).max(512).optional(),
3887
+ clientSecret: z26.string().trim().min(1).max(2048).optional(),
3888
+ clear: z26.boolean().optional().default(false)
3854
3889
  }).refine((value) => value.clear || value.clientId !== void 0 || value.clientSecret !== void 0, { message: "Provide credentials or clear the stored Google Calendar OAuth configuration" });
3855
3890
  }
3856
3891
  });
3857
3892
 
3858
3893
  // ../packages/shared/dist/validators/cost.js
3859
- import { z as z26 } from "zod";
3894
+ import { z as z27 } from "zod";
3860
3895
  var createCostEventSchema, updateBudgetSchema;
3861
3896
  var init_cost = __esm({
3862
3897
  "../packages/shared/dist/validators/cost.js"() {
3863
3898
  "use strict";
3864
3899
  init_constants();
3865
- createCostEventSchema = z26.object({
3866
- agentId: z26.string().uuid(),
3867
- issueId: z26.string().uuid().optional().nullable(),
3868
- projectId: z26.string().uuid().optional().nullable(),
3869
- goalId: z26.string().uuid().optional().nullable(),
3870
- heartbeatRunId: z26.string().uuid().optional().nullable(),
3871
- billingCode: z26.string().optional().nullable(),
3872
- provider: z26.string().min(1),
3873
- biller: z26.string().min(1).optional(),
3874
- billingType: z26.enum(BILLING_TYPES).optional().default("unknown"),
3875
- model: z26.string().min(1),
3876
- inputTokens: z26.number().int().nonnegative().optional().default(0),
3877
- cachedInputTokens: z26.number().int().nonnegative().optional().default(0),
3878
- outputTokens: z26.number().int().nonnegative().optional().default(0),
3879
- costCents: z26.number().int().nonnegative(),
3880
- occurredAt: z26.string().datetime()
3900
+ createCostEventSchema = z27.object({
3901
+ agentId: z27.string().uuid(),
3902
+ issueId: z27.string().uuid().optional().nullable(),
3903
+ projectId: z27.string().uuid().optional().nullable(),
3904
+ goalId: z27.string().uuid().optional().nullable(),
3905
+ heartbeatRunId: z27.string().uuid().optional().nullable(),
3906
+ billingCode: z27.string().optional().nullable(),
3907
+ provider: z27.string().min(1),
3908
+ biller: z27.string().min(1).optional(),
3909
+ billingType: z27.enum(BILLING_TYPES).optional().default("unknown"),
3910
+ model: z27.string().min(1),
3911
+ inputTokens: z27.number().int().nonnegative().optional().default(0),
3912
+ cachedInputTokens: z27.number().int().nonnegative().optional().default(0),
3913
+ outputTokens: z27.number().int().nonnegative().optional().default(0),
3914
+ costCents: z27.number().int().nonnegative(),
3915
+ occurredAt: z27.string().datetime()
3881
3916
  }).transform((value) => ({
3882
3917
  ...value,
3883
3918
  biller: value.biller ?? value.provider
3884
3919
  }));
3885
- updateBudgetSchema = z26.object({
3886
- budgetMonthlyCents: z26.number().int().nonnegative()
3920
+ updateBudgetSchema = z27.object({
3921
+ budgetMonthlyCents: z27.number().int().nonnegative()
3887
3922
  });
3888
3923
  }
3889
3924
  });
3890
3925
 
3891
3926
  // ../packages/shared/dist/validators/finance.js
3892
- import { z as z27 } from "zod";
3927
+ import { z as z28 } from "zod";
3893
3928
  var createFinanceEventSchema;
3894
3929
  var init_finance = __esm({
3895
3930
  "../packages/shared/dist/validators/finance.js"() {
3896
3931
  "use strict";
3897
3932
  init_constants();
3898
- createFinanceEventSchema = z27.object({
3899
- agentId: z27.string().uuid().optional().nullable(),
3900
- issueId: z27.string().uuid().optional().nullable(),
3901
- projectId: z27.string().uuid().optional().nullable(),
3902
- goalId: z27.string().uuid().optional().nullable(),
3903
- heartbeatRunId: z27.string().uuid().optional().nullable(),
3904
- costEventId: z27.string().uuid().optional().nullable(),
3905
- billingCode: z27.string().optional().nullable(),
3906
- description: z27.string().max(500).optional().nullable(),
3907
- eventKind: z27.enum(FINANCE_EVENT_KINDS),
3908
- direction: z27.enum(FINANCE_DIRECTIONS).optional().default("debit"),
3909
- biller: z27.string().min(1),
3910
- provider: z27.string().min(1).optional().nullable(),
3911
- executionAgentRuntimeType: z27.enum(AGENT_RUNTIME_TYPES).optional().nullable(),
3912
- pricingTier: z27.string().min(1).optional().nullable(),
3913
- region: z27.string().min(1).optional().nullable(),
3914
- model: z27.string().min(1).optional().nullable(),
3915
- quantity: z27.number().int().nonnegative().optional().nullable(),
3916
- unit: z27.enum(FINANCE_UNITS).optional().nullable(),
3917
- amountCents: z27.number().int().nonnegative(),
3918
- currency: z27.string().length(3).optional().default("USD"),
3919
- estimated: z27.boolean().optional().default(false),
3920
- externalInvoiceId: z27.string().optional().nullable(),
3921
- metadataJson: z27.record(z27.string(), z27.unknown()).optional().nullable(),
3922
- occurredAt: z27.string().datetime()
3933
+ createFinanceEventSchema = z28.object({
3934
+ agentId: z28.string().uuid().optional().nullable(),
3935
+ issueId: z28.string().uuid().optional().nullable(),
3936
+ projectId: z28.string().uuid().optional().nullable(),
3937
+ goalId: z28.string().uuid().optional().nullable(),
3938
+ heartbeatRunId: z28.string().uuid().optional().nullable(),
3939
+ costEventId: z28.string().uuid().optional().nullable(),
3940
+ billingCode: z28.string().optional().nullable(),
3941
+ description: z28.string().max(500).optional().nullable(),
3942
+ eventKind: z28.enum(FINANCE_EVENT_KINDS),
3943
+ direction: z28.enum(FINANCE_DIRECTIONS).optional().default("debit"),
3944
+ biller: z28.string().min(1),
3945
+ provider: z28.string().min(1).optional().nullable(),
3946
+ executionAgentRuntimeType: z28.enum(AGENT_RUNTIME_TYPES).optional().nullable(),
3947
+ pricingTier: z28.string().min(1).optional().nullable(),
3948
+ region: z28.string().min(1).optional().nullable(),
3949
+ model: z28.string().min(1).optional().nullable(),
3950
+ quantity: z28.number().int().nonnegative().optional().nullable(),
3951
+ unit: z28.enum(FINANCE_UNITS).optional().nullable(),
3952
+ amountCents: z28.number().int().nonnegative(),
3953
+ currency: z28.string().length(3).optional().default("USD"),
3954
+ estimated: z28.boolean().optional().default(false),
3955
+ externalInvoiceId: z28.string().optional().nullable(),
3956
+ metadataJson: z28.record(z28.string(), z28.unknown()).optional().nullable(),
3957
+ occurredAt: z28.string().datetime()
3923
3958
  }).transform((value) => ({
3924
3959
  ...value,
3925
3960
  currency: value.currency.toUpperCase()
@@ -3928,79 +3963,79 @@ var init_finance = __esm({
3928
3963
  });
3929
3964
 
3930
3965
  // ../packages/shared/dist/validators/asset.js
3931
- import { z as z28 } from "zod";
3966
+ import { z as z29 } from "zod";
3932
3967
  var createAssetImageMetadataSchema;
3933
3968
  var init_asset = __esm({
3934
3969
  "../packages/shared/dist/validators/asset.js"() {
3935
3970
  "use strict";
3936
- createAssetImageMetadataSchema = z28.object({
3937
- namespace: z28.string().trim().min(1).max(120).regex(/^[a-zA-Z0-9/_-]+$/).optional()
3971
+ createAssetImageMetadataSchema = z29.object({
3972
+ namespace: z29.string().trim().min(1).max(120).regex(/^[a-zA-Z0-9/_-]+$/).optional()
3938
3973
  });
3939
3974
  }
3940
3975
  });
3941
3976
 
3942
3977
  // ../packages/shared/dist/validators/access.js
3943
- import { z as z29 } from "zod";
3978
+ import { z as z30 } from "zod";
3944
3979
  var createCompanyInviteSchema, createOpenClawInvitePromptSchema, acceptInviteSchema, listJoinRequestsQuerySchema, claimJoinRequestApiKeySchema, boardCliAuthAccessLevelSchema, createCliAuthChallengeSchema, resolveCliAuthChallengeSchema, updateMemberPermissionsSchema, updateUserCompanyAccessSchema;
3945
3980
  var init_access = __esm({
3946
3981
  "../packages/shared/dist/validators/access.js"() {
3947
3982
  "use strict";
3948
3983
  init_constants();
3949
- createCompanyInviteSchema = z29.object({
3950
- allowedJoinTypes: z29.enum(INVITE_JOIN_TYPES).default("both"),
3951
- defaultsPayload: z29.record(z29.string(), z29.unknown()).optional().nullable(),
3952
- agentMessage: z29.string().max(4e3).optional().nullable()
3984
+ createCompanyInviteSchema = z30.object({
3985
+ allowedJoinTypes: z30.enum(INVITE_JOIN_TYPES).default("both"),
3986
+ defaultsPayload: z30.record(z30.string(), z30.unknown()).optional().nullable(),
3987
+ agentMessage: z30.string().max(4e3).optional().nullable()
3953
3988
  });
3954
- createOpenClawInvitePromptSchema = z29.object({
3955
- agentMessage: z29.string().max(4e3).optional().nullable()
3989
+ createOpenClawInvitePromptSchema = z30.object({
3990
+ agentMessage: z30.string().max(4e3).optional().nullable()
3956
3991
  });
3957
- acceptInviteSchema = z29.object({
3958
- requestType: z29.enum(JOIN_REQUEST_TYPES),
3959
- agentName: z29.string().min(1).max(120).optional(),
3960
- agentRuntimeType: z29.enum(AGENT_RUNTIME_TYPES).optional(),
3961
- capabilities: z29.string().max(4e3).optional().nullable(),
3962
- agentDefaultsPayload: z29.record(z29.string(), z29.unknown()).optional().nullable(),
3992
+ acceptInviteSchema = z30.object({
3993
+ requestType: z30.enum(JOIN_REQUEST_TYPES),
3994
+ agentName: z30.string().min(1).max(120).optional(),
3995
+ agentRuntimeType: z30.enum(AGENT_RUNTIME_TYPES).optional(),
3996
+ capabilities: z30.string().max(4e3).optional().nullable(),
3997
+ agentDefaultsPayload: z30.record(z30.string(), z30.unknown()).optional().nullable(),
3963
3998
  // OpenClaw join compatibility fields accepted at top level.
3964
- responsesWebhookUrl: z29.string().max(4e3).optional().nullable(),
3965
- responsesWebhookMethod: z29.string().max(32).optional().nullable(),
3966
- responsesWebhookHeaders: z29.record(z29.string(), z29.unknown()).optional().nullable(),
3967
- rudderApiUrl: z29.string().max(4e3).optional().nullable(),
3968
- webhookAuthHeader: z29.string().max(4e3).optional().nullable()
3999
+ responsesWebhookUrl: z30.string().max(4e3).optional().nullable(),
4000
+ responsesWebhookMethod: z30.string().max(32).optional().nullable(),
4001
+ responsesWebhookHeaders: z30.record(z30.string(), z30.unknown()).optional().nullable(),
4002
+ rudderApiUrl: z30.string().max(4e3).optional().nullable(),
4003
+ webhookAuthHeader: z30.string().max(4e3).optional().nullable()
3969
4004
  });
3970
- listJoinRequestsQuerySchema = z29.object({
3971
- status: z29.enum(JOIN_REQUEST_STATUSES).optional(),
3972
- requestType: z29.enum(JOIN_REQUEST_TYPES).optional()
4005
+ listJoinRequestsQuerySchema = z30.object({
4006
+ status: z30.enum(JOIN_REQUEST_STATUSES).optional(),
4007
+ requestType: z30.enum(JOIN_REQUEST_TYPES).optional()
3973
4008
  });
3974
- claimJoinRequestApiKeySchema = z29.object({
3975
- claimSecret: z29.string().min(16).max(256)
4009
+ claimJoinRequestApiKeySchema = z30.object({
4010
+ claimSecret: z30.string().min(16).max(256)
3976
4011
  });
3977
- boardCliAuthAccessLevelSchema = z29.enum([
4012
+ boardCliAuthAccessLevelSchema = z30.enum([
3978
4013
  "board",
3979
4014
  "instance_admin_required"
3980
4015
  ]);
3981
- createCliAuthChallengeSchema = z29.object({
3982
- command: z29.string().min(1).max(240),
3983
- clientName: z29.string().max(120).optional().nullable(),
4016
+ createCliAuthChallengeSchema = z30.object({
4017
+ command: z30.string().min(1).max(240),
4018
+ clientName: z30.string().max(120).optional().nullable(),
3984
4019
  requestedAccess: boardCliAuthAccessLevelSchema.default("board"),
3985
- requestedCompanyId: z29.string().uuid().optional().nullable()
4020
+ requestedCompanyId: z30.string().uuid().optional().nullable()
3986
4021
  });
3987
- resolveCliAuthChallengeSchema = z29.object({
3988
- token: z29.string().min(16).max(256)
4022
+ resolveCliAuthChallengeSchema = z30.object({
4023
+ token: z30.string().min(16).max(256)
3989
4024
  });
3990
- updateMemberPermissionsSchema = z29.object({
3991
- grants: z29.array(z29.object({
3992
- permissionKey: z29.enum(PERMISSION_KEYS),
3993
- scope: z29.record(z29.string(), z29.unknown()).optional().nullable()
4025
+ updateMemberPermissionsSchema = z30.object({
4026
+ grants: z30.array(z30.object({
4027
+ permissionKey: z30.enum(PERMISSION_KEYS),
4028
+ scope: z30.record(z30.string(), z30.unknown()).optional().nullable()
3994
4029
  }))
3995
4030
  });
3996
- updateUserCompanyAccessSchema = z29.object({
3997
- orgIds: z29.array(z29.string().uuid()).default([])
4031
+ updateUserCompanyAccessSchema = z30.object({
4032
+ orgIds: z30.array(z30.string().uuid()).default([])
3998
4033
  });
3999
4034
  }
4000
4035
  });
4001
4036
 
4002
4037
  // ../packages/shared/dist/validators/plugin.js
4003
- import { z as z30 } from "zod";
4038
+ import { z as z31 } from "zod";
4004
4039
  function isValidCronExpression(expression) {
4005
4040
  const trimmed = expression.trim();
4006
4041
  if (!trimmed)
@@ -4015,79 +4050,79 @@ var init_plugin = __esm({
4015
4050
  "../packages/shared/dist/validators/plugin.js"() {
4016
4051
  "use strict";
4017
4052
  init_constants();
4018
- jsonSchemaSchema = z30.record(z30.unknown()).refine((val) => {
4053
+ jsonSchemaSchema = z31.record(z31.unknown()).refine((val) => {
4019
4054
  if (Object.keys(val).length === 0)
4020
4055
  return true;
4021
4056
  return typeof val.type === "string" || val.$ref !== void 0 || val.oneOf !== void 0 || val.anyOf !== void 0 || val.allOf !== void 0;
4022
4057
  }, { message: "Must be a valid JSON Schema object (requires at least a 'type', '$ref', or composition keyword)" });
4023
4058
  CRON_FIELD_PATTERN = /^(\*(?:\/[0-9]+)?|[0-9]+(?:-[0-9]+)?(?:\/[0-9]+)?)(?:,(\*(?:\/[0-9]+)?|[0-9]+(?:-[0-9]+)?(?:\/[0-9]+)?))*$/;
4024
- pluginJobDeclarationSchema = z30.object({
4025
- jobKey: z30.string().min(1),
4026
- displayName: z30.string().min(1),
4027
- description: z30.string().optional(),
4028
- schedule: z30.string().refine((val) => isValidCronExpression(val), { message: "schedule must be a valid 5-field cron expression (e.g. '*/15 * * * *')" }).optional()
4059
+ pluginJobDeclarationSchema = z31.object({
4060
+ jobKey: z31.string().min(1),
4061
+ displayName: z31.string().min(1),
4062
+ description: z31.string().optional(),
4063
+ schedule: z31.string().refine((val) => isValidCronExpression(val), { message: "schedule must be a valid 5-field cron expression (e.g. '*/15 * * * *')" }).optional()
4029
4064
  });
4030
- pluginWebhookDeclarationSchema = z30.object({
4031
- endpointKey: z30.string().min(1),
4032
- displayName: z30.string().min(1),
4033
- description: z30.string().optional()
4065
+ pluginWebhookDeclarationSchema = z31.object({
4066
+ endpointKey: z31.string().min(1),
4067
+ displayName: z31.string().min(1),
4068
+ description: z31.string().optional()
4034
4069
  });
4035
- pluginToolDeclarationSchema = z30.object({
4036
- name: z30.string().min(1),
4037
- displayName: z30.string().min(1),
4038
- description: z30.string().min(1),
4070
+ pluginToolDeclarationSchema = z31.object({
4071
+ name: z31.string().min(1),
4072
+ displayName: z31.string().min(1),
4073
+ description: z31.string().min(1),
4039
4074
  parametersSchema: jsonSchemaSchema
4040
4075
  });
4041
- pluginUiSlotDeclarationSchema = z30.object({
4042
- type: z30.enum(PLUGIN_UI_SLOT_TYPES),
4043
- id: z30.string().min(1),
4044
- displayName: z30.string().min(1),
4045
- exportName: z30.string().min(1),
4046
- entityTypes: z30.array(z30.enum(PLUGIN_UI_SLOT_ENTITY_TYPES)).optional(),
4047
- routePath: z30.string().regex(/^[a-z0-9][a-z0-9-]*$/, {
4076
+ pluginUiSlotDeclarationSchema = z31.object({
4077
+ type: z31.enum(PLUGIN_UI_SLOT_TYPES),
4078
+ id: z31.string().min(1),
4079
+ displayName: z31.string().min(1),
4080
+ exportName: z31.string().min(1),
4081
+ entityTypes: z31.array(z31.enum(PLUGIN_UI_SLOT_ENTITY_TYPES)).optional(),
4082
+ routePath: z31.string().regex(/^[a-z0-9][a-z0-9-]*$/, {
4048
4083
  message: "routePath must be a lowercase single-segment slug (letters, numbers, hyphens)"
4049
4084
  }).optional(),
4050
- order: z30.number().int().optional()
4085
+ order: z31.number().int().optional()
4051
4086
  }).superRefine((value, ctx) => {
4052
4087
  const entityScopedTypes = ["detailTab", "taskDetailView", "contextMenuItem", "commentAnnotation", "commentContextMenuItem", "projectSidebarItem"];
4053
4088
  if (entityScopedTypes.includes(value.type) && (!value.entityTypes || value.entityTypes.length === 0)) {
4054
4089
  ctx.addIssue({
4055
- code: z30.ZodIssueCode.custom,
4090
+ code: z31.ZodIssueCode.custom,
4056
4091
  message: `${value.type} slots require at least one entityType`,
4057
4092
  path: ["entityTypes"]
4058
4093
  });
4059
4094
  }
4060
4095
  if (value.type === "projectSidebarItem" && value.entityTypes && !value.entityTypes.includes("project")) {
4061
4096
  ctx.addIssue({
4062
- code: z30.ZodIssueCode.custom,
4097
+ code: z31.ZodIssueCode.custom,
4063
4098
  message: 'projectSidebarItem slots require entityTypes to include "project"',
4064
4099
  path: ["entityTypes"]
4065
4100
  });
4066
4101
  }
4067
4102
  if (value.type === "commentAnnotation" && value.entityTypes && !value.entityTypes.includes("comment")) {
4068
4103
  ctx.addIssue({
4069
- code: z30.ZodIssueCode.custom,
4104
+ code: z31.ZodIssueCode.custom,
4070
4105
  message: 'commentAnnotation slots require entityTypes to include "comment"',
4071
4106
  path: ["entityTypes"]
4072
4107
  });
4073
4108
  }
4074
4109
  if (value.type === "commentContextMenuItem" && value.entityTypes && !value.entityTypes.includes("comment")) {
4075
4110
  ctx.addIssue({
4076
- code: z30.ZodIssueCode.custom,
4111
+ code: z31.ZodIssueCode.custom,
4077
4112
  message: 'commentContextMenuItem slots require entityTypes to include "comment"',
4078
4113
  path: ["entityTypes"]
4079
4114
  });
4080
4115
  }
4081
4116
  if (value.routePath && value.type !== "page") {
4082
4117
  ctx.addIssue({
4083
- code: z30.ZodIssueCode.custom,
4118
+ code: z31.ZodIssueCode.custom,
4084
4119
  message: "routePath is only supported for page slots",
4085
4120
  path: ["routePath"]
4086
4121
  });
4087
4122
  }
4088
4123
  if (value.routePath && PLUGIN_RESERVED_COMPANY_ROUTE_SEGMENTS.includes(value.routePath)) {
4089
4124
  ctx.addIssue({
4090
- code: z30.ZodIssueCode.custom,
4125
+ code: z31.ZodIssueCode.custom,
4091
4126
  message: `routePath "${value.routePath}" is reserved by the host`,
4092
4127
  path: ["routePath"]
4093
4128
  });
@@ -4108,29 +4143,29 @@ var init_plugin = __esm({
4108
4143
  external: [],
4109
4144
  iframe: ["compact", "default", "wide", "full"]
4110
4145
  };
4111
- pluginLauncherActionDeclarationSchema = z30.object({
4112
- type: z30.enum(PLUGIN_LAUNCHER_ACTIONS),
4113
- target: z30.string().min(1),
4114
- params: z30.record(z30.unknown()).optional()
4146
+ pluginLauncherActionDeclarationSchema = z31.object({
4147
+ type: z31.enum(PLUGIN_LAUNCHER_ACTIONS),
4148
+ target: z31.string().min(1),
4149
+ params: z31.record(z31.unknown()).optional()
4115
4150
  }).superRefine((value, ctx) => {
4116
4151
  if (value.type === "performAction" && value.target.includes("/")) {
4117
4152
  ctx.addIssue({
4118
- code: z30.ZodIssueCode.custom,
4153
+ code: z31.ZodIssueCode.custom,
4119
4154
  message: "performAction launchers must target an action key, not a route or URL",
4120
4155
  path: ["target"]
4121
4156
  });
4122
4157
  }
4123
4158
  if (value.type === "navigate" && /^https?:\/\//.test(value.target)) {
4124
4159
  ctx.addIssue({
4125
- code: z30.ZodIssueCode.custom,
4160
+ code: z31.ZodIssueCode.custom,
4126
4161
  message: "navigate launchers must target a host route, not an absolute URL",
4127
4162
  path: ["target"]
4128
4163
  });
4129
4164
  }
4130
4165
  });
4131
- pluginLauncherRenderDeclarationSchema = z30.object({
4132
- environment: z30.enum(PLUGIN_LAUNCHER_RENDER_ENVIRONMENTS),
4133
- bounds: z30.enum(PLUGIN_LAUNCHER_BOUNDS).optional()
4166
+ pluginLauncherRenderDeclarationSchema = z31.object({
4167
+ environment: z31.enum(PLUGIN_LAUNCHER_RENDER_ENVIRONMENTS),
4168
+ bounds: z31.enum(PLUGIN_LAUNCHER_BOUNDS).optional()
4134
4169
  }).superRefine((value, ctx) => {
4135
4170
  if (!value.bounds) {
4136
4171
  return;
@@ -4138,110 +4173,110 @@ var init_plugin = __esm({
4138
4173
  const supportedBounds = launcherBoundsByEnvironment[value.environment];
4139
4174
  if (!supportedBounds.includes(value.bounds)) {
4140
4175
  ctx.addIssue({
4141
- code: z30.ZodIssueCode.custom,
4176
+ code: z31.ZodIssueCode.custom,
4142
4177
  message: `bounds "${value.bounds}" is not supported for render environment "${value.environment}"`,
4143
4178
  path: ["bounds"]
4144
4179
  });
4145
4180
  }
4146
4181
  });
4147
- pluginLauncherDeclarationSchema = z30.object({
4148
- id: z30.string().min(1),
4149
- displayName: z30.string().min(1),
4150
- description: z30.string().optional(),
4151
- placementZone: z30.enum(PLUGIN_LAUNCHER_PLACEMENT_ZONES),
4152
- exportName: z30.string().min(1).optional(),
4153
- entityTypes: z30.array(z30.enum(PLUGIN_UI_SLOT_ENTITY_TYPES)).optional(),
4154
- order: z30.number().int().optional(),
4182
+ pluginLauncherDeclarationSchema = z31.object({
4183
+ id: z31.string().min(1),
4184
+ displayName: z31.string().min(1),
4185
+ description: z31.string().optional(),
4186
+ placementZone: z31.enum(PLUGIN_LAUNCHER_PLACEMENT_ZONES),
4187
+ exportName: z31.string().min(1).optional(),
4188
+ entityTypes: z31.array(z31.enum(PLUGIN_UI_SLOT_ENTITY_TYPES)).optional(),
4189
+ order: z31.number().int().optional(),
4155
4190
  action: pluginLauncherActionDeclarationSchema,
4156
4191
  render: pluginLauncherRenderDeclarationSchema.optional()
4157
4192
  }).superRefine((value, ctx) => {
4158
4193
  if (entityScopedLauncherPlacementZones.some((zone) => zone === value.placementZone) && (!value.entityTypes || value.entityTypes.length === 0)) {
4159
4194
  ctx.addIssue({
4160
- code: z30.ZodIssueCode.custom,
4195
+ code: z31.ZodIssueCode.custom,
4161
4196
  message: `${value.placementZone} launchers require at least one entityType`,
4162
4197
  path: ["entityTypes"]
4163
4198
  });
4164
4199
  }
4165
4200
  if (value.placementZone === "projectSidebarItem" && value.entityTypes && !value.entityTypes.includes("project")) {
4166
4201
  ctx.addIssue({
4167
- code: z30.ZodIssueCode.custom,
4202
+ code: z31.ZodIssueCode.custom,
4168
4203
  message: 'projectSidebarItem launchers require entityTypes to include "project"',
4169
4204
  path: ["entityTypes"]
4170
4205
  });
4171
4206
  }
4172
4207
  if (value.action.type === "performAction" && value.render) {
4173
4208
  ctx.addIssue({
4174
- code: z30.ZodIssueCode.custom,
4209
+ code: z31.ZodIssueCode.custom,
4175
4210
  message: "performAction launchers cannot declare render hints",
4176
4211
  path: ["render"]
4177
4212
  });
4178
4213
  }
4179
4214
  if (["openModal", "openDrawer", "openPopover"].includes(value.action.type) && !value.render) {
4180
4215
  ctx.addIssue({
4181
- code: z30.ZodIssueCode.custom,
4216
+ code: z31.ZodIssueCode.custom,
4182
4217
  message: `${value.action.type} launchers require render metadata`,
4183
4218
  path: ["render"]
4184
4219
  });
4185
4220
  }
4186
4221
  if (value.action.type === "openModal" && value.render?.environment === "hostInline") {
4187
4222
  ctx.addIssue({
4188
- code: z30.ZodIssueCode.custom,
4223
+ code: z31.ZodIssueCode.custom,
4189
4224
  message: "openModal launchers cannot use the hostInline render environment",
4190
4225
  path: ["render", "environment"]
4191
4226
  });
4192
4227
  }
4193
4228
  if (value.action.type === "openDrawer" && value.render && !["hostOverlay", "iframe"].includes(value.render.environment)) {
4194
4229
  ctx.addIssue({
4195
- code: z30.ZodIssueCode.custom,
4230
+ code: z31.ZodIssueCode.custom,
4196
4231
  message: "openDrawer launchers must use hostOverlay or iframe render environments",
4197
4232
  path: ["render", "environment"]
4198
4233
  });
4199
4234
  }
4200
4235
  if (value.action.type === "openPopover" && value.render?.environment === "hostRoute") {
4201
4236
  ctx.addIssue({
4202
- code: z30.ZodIssueCode.custom,
4237
+ code: z31.ZodIssueCode.custom,
4203
4238
  message: "openPopover launchers cannot use the hostRoute render environment",
4204
4239
  path: ["render", "environment"]
4205
4240
  });
4206
4241
  }
4207
4242
  });
4208
- pluginManifestV1Schema = z30.object({
4209
- id: z30.string().min(1).regex(/^[a-z0-9][a-z0-9._-]*$/, "Plugin id must start with a lowercase alphanumeric and contain only lowercase letters, digits, dots, hyphens, or underscores"),
4210
- apiVersion: z30.literal(1),
4211
- version: z30.string().min(1).regex(/^\d+\.\d+\.\d+(-[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$/, "Version must follow semver (e.g. 1.0.0 or 1.0.0-beta.1)"),
4212
- displayName: z30.string().min(1).max(100),
4213
- description: z30.string().min(1).max(500),
4214
- author: z30.string().min(1).max(200),
4215
- categories: z30.array(z30.enum(PLUGIN_CATEGORIES)).min(1),
4216
- minimumHostVersion: z30.string().regex(/^\d+\.\d+\.\d+(-[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$/, "minimumHostVersion must follow semver (e.g. 1.0.0)").optional(),
4217
- minimumPaperclipVersion: z30.string().regex(/^\d+\.\d+\.\d+(-[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$/, "minimumPaperclipVersion must follow semver (e.g. 1.0.0)").optional(),
4218
- capabilities: z30.array(z30.enum(PLUGIN_CAPABILITIES)).min(1),
4219
- entrypoints: z30.object({
4220
- worker: z30.string().min(1),
4221
- ui: z30.string().min(1).optional()
4243
+ pluginManifestV1Schema = z31.object({
4244
+ id: z31.string().min(1).regex(/^[a-z0-9][a-z0-9._-]*$/, "Plugin id must start with a lowercase alphanumeric and contain only lowercase letters, digits, dots, hyphens, or underscores"),
4245
+ apiVersion: z31.literal(1),
4246
+ version: z31.string().min(1).regex(/^\d+\.\d+\.\d+(-[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$/, "Version must follow semver (e.g. 1.0.0 or 1.0.0-beta.1)"),
4247
+ displayName: z31.string().min(1).max(100),
4248
+ description: z31.string().min(1).max(500),
4249
+ author: z31.string().min(1).max(200),
4250
+ categories: z31.array(z31.enum(PLUGIN_CATEGORIES)).min(1),
4251
+ minimumHostVersion: z31.string().regex(/^\d+\.\d+\.\d+(-[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$/, "minimumHostVersion must follow semver (e.g. 1.0.0)").optional(),
4252
+ minimumPaperclipVersion: z31.string().regex(/^\d+\.\d+\.\d+(-[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$/, "minimumPaperclipVersion must follow semver (e.g. 1.0.0)").optional(),
4253
+ capabilities: z31.array(z31.enum(PLUGIN_CAPABILITIES)).min(1),
4254
+ entrypoints: z31.object({
4255
+ worker: z31.string().min(1),
4256
+ ui: z31.string().min(1).optional()
4222
4257
  }),
4223
4258
  instanceConfigSchema: jsonSchemaSchema.optional(),
4224
- jobs: z30.array(pluginJobDeclarationSchema).optional(),
4225
- webhooks: z30.array(pluginWebhookDeclarationSchema).optional(),
4226
- tools: z30.array(pluginToolDeclarationSchema).optional(),
4227
- launchers: z30.array(pluginLauncherDeclarationSchema).optional(),
4228
- ui: z30.object({
4229
- slots: z30.array(pluginUiSlotDeclarationSchema).min(1).optional(),
4230
- launchers: z30.array(pluginLauncherDeclarationSchema).optional()
4259
+ jobs: z31.array(pluginJobDeclarationSchema).optional(),
4260
+ webhooks: z31.array(pluginWebhookDeclarationSchema).optional(),
4261
+ tools: z31.array(pluginToolDeclarationSchema).optional(),
4262
+ launchers: z31.array(pluginLauncherDeclarationSchema).optional(),
4263
+ ui: z31.object({
4264
+ slots: z31.array(pluginUiSlotDeclarationSchema).min(1).optional(),
4265
+ launchers: z31.array(pluginLauncherDeclarationSchema).optional()
4231
4266
  }).optional()
4232
4267
  }).superRefine((manifest, ctx) => {
4233
4268
  const hasUiSlots = (manifest.ui?.slots?.length ?? 0) > 0;
4234
4269
  const hasUiLaunchers = (manifest.ui?.launchers?.length ?? 0) > 0;
4235
4270
  if ((hasUiSlots || hasUiLaunchers) && !manifest.entrypoints.ui) {
4236
4271
  ctx.addIssue({
4237
- code: z30.ZodIssueCode.custom,
4272
+ code: z31.ZodIssueCode.custom,
4238
4273
  message: "entrypoints.ui is required when ui.slots or ui.launchers are declared",
4239
4274
  path: ["entrypoints", "ui"]
4240
4275
  });
4241
4276
  }
4242
4277
  if (manifest.minimumHostVersion && manifest.minimumPaperclipVersion && manifest.minimumHostVersion !== manifest.minimumPaperclipVersion) {
4243
4278
  ctx.addIssue({
4244
- code: z30.ZodIssueCode.custom,
4279
+ code: z31.ZodIssueCode.custom,
4245
4280
  message: "minimumHostVersion and minimumPaperclipVersion must match when both are declared",
4246
4281
  path: ["minimumHostVersion"]
4247
4282
  });
@@ -4249,7 +4284,7 @@ var init_plugin = __esm({
4249
4284
  if (manifest.tools && manifest.tools.length > 0) {
4250
4285
  if (!manifest.capabilities.includes("agent.tools.register")) {
4251
4286
  ctx.addIssue({
4252
- code: z30.ZodIssueCode.custom,
4287
+ code: z31.ZodIssueCode.custom,
4253
4288
  message: "Capability 'agent.tools.register' is required when tools are declared",
4254
4289
  path: ["capabilities"]
4255
4290
  });
@@ -4258,7 +4293,7 @@ var init_plugin = __esm({
4258
4293
  if (manifest.jobs && manifest.jobs.length > 0) {
4259
4294
  if (!manifest.capabilities.includes("jobs.schedule")) {
4260
4295
  ctx.addIssue({
4261
- code: z30.ZodIssueCode.custom,
4296
+ code: z31.ZodIssueCode.custom,
4262
4297
  message: "Capability 'jobs.schedule' is required when jobs are declared",
4263
4298
  path: ["capabilities"]
4264
4299
  });
@@ -4267,7 +4302,7 @@ var init_plugin = __esm({
4267
4302
  if (manifest.webhooks && manifest.webhooks.length > 0) {
4268
4303
  if (!manifest.capabilities.includes("webhooks.receive")) {
4269
4304
  ctx.addIssue({
4270
- code: z30.ZodIssueCode.custom,
4305
+ code: z31.ZodIssueCode.custom,
4271
4306
  message: "Capability 'webhooks.receive' is required when webhooks are declared",
4272
4307
  path: ["capabilities"]
4273
4308
  });
@@ -4278,7 +4313,7 @@ var init_plugin = __esm({
4278
4313
  const duplicates = jobKeys.filter((key, i) => jobKeys.indexOf(key) !== i);
4279
4314
  if (duplicates.length > 0) {
4280
4315
  ctx.addIssue({
4281
- code: z30.ZodIssueCode.custom,
4316
+ code: z31.ZodIssueCode.custom,
4282
4317
  message: `Duplicate job keys: ${[...new Set(duplicates)].join(", ")}`,
4283
4318
  path: ["jobs"]
4284
4319
  });
@@ -4289,7 +4324,7 @@ var init_plugin = __esm({
4289
4324
  const duplicates = endpointKeys.filter((key, i) => endpointKeys.indexOf(key) !== i);
4290
4325
  if (duplicates.length > 0) {
4291
4326
  ctx.addIssue({
4292
- code: z30.ZodIssueCode.custom,
4327
+ code: z31.ZodIssueCode.custom,
4293
4328
  message: `Duplicate webhook endpoint keys: ${[...new Set(duplicates)].join(", ")}`,
4294
4329
  path: ["webhooks"]
4295
4330
  });
@@ -4300,7 +4335,7 @@ var init_plugin = __esm({
4300
4335
  const duplicates = toolNames.filter((name, i) => toolNames.indexOf(name) !== i);
4301
4336
  if (duplicates.length > 0) {
4302
4337
  ctx.addIssue({
4303
- code: z30.ZodIssueCode.custom,
4338
+ code: z31.ZodIssueCode.custom,
4304
4339
  message: `Duplicate tool names: ${[...new Set(duplicates)].join(", ")}`,
4305
4340
  path: ["tools"]
4306
4341
  });
@@ -4312,7 +4347,7 @@ var init_plugin = __esm({
4312
4347
  const duplicates = slotIds.filter((id, i) => slotIds.indexOf(id) !== i);
4313
4348
  if (duplicates.length > 0) {
4314
4349
  ctx.addIssue({
4315
- code: z30.ZodIssueCode.custom,
4350
+ code: z31.ZodIssueCode.custom,
4316
4351
  message: `Duplicate UI slot ids: ${[...new Set(duplicates)].join(", ")}`,
4317
4352
  path: ["ui", "slots"]
4318
4353
  });
@@ -4328,50 +4363,50 @@ var init_plugin = __esm({
4328
4363
  const duplicates = launcherIds.filter((id, i) => launcherIds.indexOf(id) !== i);
4329
4364
  if (duplicates.length > 0) {
4330
4365
  ctx.addIssue({
4331
- code: z30.ZodIssueCode.custom,
4366
+ code: z31.ZodIssueCode.custom,
4332
4367
  message: `Duplicate launcher ids: ${[...new Set(duplicates)].join(", ")}`,
4333
4368
  path: manifest.ui?.launchers ? ["ui", "launchers"] : ["launchers"]
4334
4369
  });
4335
4370
  }
4336
4371
  }
4337
4372
  });
4338
- installPluginSchema = z30.object({
4339
- packageName: z30.string().min(1),
4340
- version: z30.string().min(1).optional(),
4373
+ installPluginSchema = z31.object({
4374
+ packageName: z31.string().min(1),
4375
+ version: z31.string().min(1).optional(),
4341
4376
  /** Set by loader for local-path installs so the worker can be resolved. */
4342
- packagePath: z30.string().min(1).optional()
4377
+ packagePath: z31.string().min(1).optional()
4343
4378
  });
4344
- upsertPluginConfigSchema = z30.object({
4345
- configJson: z30.record(z30.unknown())
4379
+ upsertPluginConfigSchema = z31.object({
4380
+ configJson: z31.record(z31.unknown())
4346
4381
  });
4347
- patchPluginConfigSchema = z30.object({
4348
- configJson: z30.record(z30.unknown())
4382
+ patchPluginConfigSchema = z31.object({
4383
+ configJson: z31.record(z31.unknown())
4349
4384
  });
4350
- updatePluginStatusSchema = z30.object({
4351
- status: z30.enum(PLUGIN_STATUSES),
4352
- lastError: z30.string().nullable().optional()
4385
+ updatePluginStatusSchema = z31.object({
4386
+ status: z31.enum(PLUGIN_STATUSES),
4387
+ lastError: z31.string().nullable().optional()
4353
4388
  });
4354
- uninstallPluginSchema = z30.object({
4355
- removeData: z30.boolean().optional().default(false)
4389
+ uninstallPluginSchema = z31.object({
4390
+ removeData: z31.boolean().optional().default(false)
4356
4391
  });
4357
- pluginStateScopeKeySchema = z30.object({
4358
- scopeKind: z30.enum(PLUGIN_STATE_SCOPE_KINDS),
4359
- scopeId: z30.string().min(1).optional(),
4360
- namespace: z30.string().min(1).optional(),
4361
- stateKey: z30.string().min(1)
4392
+ pluginStateScopeKeySchema = z31.object({
4393
+ scopeKind: z31.enum(PLUGIN_STATE_SCOPE_KINDS),
4394
+ scopeId: z31.string().min(1).optional(),
4395
+ namespace: z31.string().min(1).optional(),
4396
+ stateKey: z31.string().min(1)
4362
4397
  });
4363
- setPluginStateSchema = z30.object({
4364
- scopeKind: z30.enum(PLUGIN_STATE_SCOPE_KINDS),
4365
- scopeId: z30.string().min(1).optional(),
4366
- namespace: z30.string().min(1).optional(),
4367
- stateKey: z30.string().min(1),
4398
+ setPluginStateSchema = z31.object({
4399
+ scopeKind: z31.enum(PLUGIN_STATE_SCOPE_KINDS),
4400
+ scopeId: z31.string().min(1).optional(),
4401
+ namespace: z31.string().min(1).optional(),
4402
+ stateKey: z31.string().min(1),
4368
4403
  /** JSON-serializable value to store. */
4369
- value: z30.unknown()
4404
+ value: z31.unknown()
4370
4405
  });
4371
- listPluginStateSchema = z30.object({
4372
- scopeKind: z30.enum(PLUGIN_STATE_SCOPE_KINDS).optional(),
4373
- scopeId: z30.string().min(1).optional(),
4374
- namespace: z30.string().min(1).optional()
4406
+ listPluginStateSchema = z31.object({
4407
+ scopeKind: z31.enum(PLUGIN_STATE_SCOPE_KINDS).optional(),
4408
+ scopeId: z31.string().min(1).optional(),
4409
+ namespace: z31.string().min(1).optional()
4375
4410
  });
4376
4411
  }
4377
4412
  });
@@ -4409,6 +4444,7 @@ var init_validators = __esm({
4409
4444
  init_asset();
4410
4445
  init_access();
4411
4446
  init_plugin();
4447
+ init_local_account_auth();
4412
4448
  }
4413
4449
  });
4414
4450
 
@@ -4572,34 +4608,34 @@ var init_issue_activity = __esm({
4572
4608
  });
4573
4609
 
4574
4610
  // ../packages/shared/dist/config-schema.js
4575
- import { z as z31 } from "zod";
4611
+ import { z as z32 } from "zod";
4576
4612
  var DEFAULT_DATABASE_BACKUP_MAX_ESTIMATED_BYTES, configMetaSchema, llmConfigSchema, databaseBackupConfigSchema, databaseConfigSchema, loggingConfigSchema, serverConfigSchema, authConfigSchema, storageLocalDiskConfigSchema, storageS3ConfigSchema, storageConfigSchema, secretsLocalEncryptedConfigSchema, secretsConfigSchema, rudderConfigSchema;
4577
4613
  var init_config_schema = __esm({
4578
4614
  "../packages/shared/dist/config-schema.js"() {
4579
4615
  "use strict";
4580
4616
  init_constants();
4581
4617
  DEFAULT_DATABASE_BACKUP_MAX_ESTIMATED_BYTES = 256 * 1024 * 1024;
4582
- configMetaSchema = z31.object({
4583
- version: z31.literal(1),
4584
- updatedAt: z31.string(),
4585
- source: z31.enum(["onboard", "configure", "doctor"])
4618
+ configMetaSchema = z32.object({
4619
+ version: z32.literal(1),
4620
+ updatedAt: z32.string(),
4621
+ source: z32.enum(["onboard", "configure", "doctor"])
4586
4622
  });
4587
- llmConfigSchema = z31.object({
4588
- provider: z31.enum(["claude", "openai"]),
4589
- apiKey: z31.string().optional()
4623
+ llmConfigSchema = z32.object({
4624
+ provider: z32.enum(["claude", "openai"]),
4625
+ apiKey: z32.string().optional()
4590
4626
  });
4591
- databaseBackupConfigSchema = z31.object({
4592
- enabled: z31.boolean().default(true),
4593
- intervalMinutes: z31.number().int().min(1).max(7 * 24 * 60).default(60),
4594
- retentionDays: z31.number().int().min(1).max(3650).default(30),
4595
- maxEstimatedBytes: z31.number().int().min(1).default(DEFAULT_DATABASE_BACKUP_MAX_ESTIMATED_BYTES),
4596
- dir: z31.string().default("~/.rudder/instances/default/data/backups")
4627
+ databaseBackupConfigSchema = z32.object({
4628
+ enabled: z32.boolean().default(true),
4629
+ intervalMinutes: z32.number().int().min(1).max(7 * 24 * 60).default(60),
4630
+ retentionDays: z32.number().int().min(1).max(3650).default(30),
4631
+ maxEstimatedBytes: z32.number().int().min(1).default(DEFAULT_DATABASE_BACKUP_MAX_ESTIMATED_BYTES),
4632
+ dir: z32.string().default("~/.rudder/instances/default/data/backups")
4597
4633
  });
4598
- databaseConfigSchema = z31.object({
4599
- mode: z31.enum(["embedded-postgres", "postgres"]).default("embedded-postgres"),
4600
- connectionString: z31.string().optional(),
4601
- embeddedPostgresDataDir: z31.string().default("~/.rudder/instances/default/db"),
4602
- embeddedPostgresPort: z31.number().int().min(1).max(65535).default(54329),
4634
+ databaseConfigSchema = z32.object({
4635
+ mode: z32.enum(["embedded-postgres", "postgres"]).default("embedded-postgres"),
4636
+ connectionString: z32.string().optional(),
4637
+ embeddedPostgresDataDir: z32.string().default("~/.rudder/instances/default/db"),
4638
+ embeddedPostgresPort: z32.number().int().min(1).max(65535).default(54329),
4603
4639
  backup: databaseBackupConfigSchema.default({
4604
4640
  enabled: true,
4605
4641
  intervalMinutes: 60,
@@ -4608,35 +4644,35 @@ var init_config_schema = __esm({
4608
4644
  dir: "~/.rudder/instances/default/data/backups"
4609
4645
  })
4610
4646
  });
4611
- loggingConfigSchema = z31.object({
4612
- mode: z31.enum(["file", "cloud"]),
4613
- logDir: z31.string().default("~/.rudder/instances/default/logs")
4647
+ loggingConfigSchema = z32.object({
4648
+ mode: z32.enum(["file", "cloud"]),
4649
+ logDir: z32.string().default("~/.rudder/instances/default/logs")
4614
4650
  });
4615
- serverConfigSchema = z31.object({
4616
- deploymentMode: z31.enum(DEPLOYMENT_MODES).default("local_trusted"),
4617
- exposure: z31.enum(DEPLOYMENT_EXPOSURES).default("private"),
4618
- host: z31.string().default("127.0.0.1"),
4619
- port: z31.number().int().min(1).max(65535).default(3100),
4620
- allowedHostnames: z31.array(z31.string().min(1)).default([]),
4621
- serveUi: z31.boolean().default(true)
4651
+ serverConfigSchema = z32.object({
4652
+ deploymentMode: z32.enum(DEPLOYMENT_MODES).default("local_trusted"),
4653
+ exposure: z32.enum(DEPLOYMENT_EXPOSURES).default("private"),
4654
+ host: z32.string().default("127.0.0.1"),
4655
+ port: z32.number().int().min(1).max(65535).default(3100),
4656
+ allowedHostnames: z32.array(z32.string().min(1)).default([]),
4657
+ serveUi: z32.boolean().default(true)
4622
4658
  });
4623
- authConfigSchema = z31.object({
4624
- baseUrlMode: z31.enum(AUTH_BASE_URL_MODES).default("auto"),
4625
- publicBaseUrl: z31.string().url().optional(),
4626
- disableSignUp: z31.boolean().default(false)
4659
+ authConfigSchema = z32.object({
4660
+ baseUrlMode: z32.enum(AUTH_BASE_URL_MODES).default("auto"),
4661
+ publicBaseUrl: z32.string().url().optional(),
4662
+ disableSignUp: z32.boolean().default(false)
4627
4663
  });
4628
- storageLocalDiskConfigSchema = z31.object({
4629
- baseDir: z31.string().default("~/.rudder/instances/default/data/storage")
4664
+ storageLocalDiskConfigSchema = z32.object({
4665
+ baseDir: z32.string().default("~/.rudder/instances/default/data/storage")
4630
4666
  });
4631
- storageS3ConfigSchema = z31.object({
4632
- bucket: z31.string().min(1).default("rudder"),
4633
- region: z31.string().min(1).default("us-east-1"),
4634
- endpoint: z31.string().optional(),
4635
- prefix: z31.string().default(""),
4636
- forcePathStyle: z31.boolean().default(false)
4667
+ storageS3ConfigSchema = z32.object({
4668
+ bucket: z32.string().min(1).default("rudder"),
4669
+ region: z32.string().min(1).default("us-east-1"),
4670
+ endpoint: z32.string().optional(),
4671
+ prefix: z32.string().default(""),
4672
+ forcePathStyle: z32.boolean().default(false)
4637
4673
  });
4638
- storageConfigSchema = z31.object({
4639
- provider: z31.enum(STORAGE_PROVIDERS).default("local_disk"),
4674
+ storageConfigSchema = z32.object({
4675
+ provider: z32.enum(STORAGE_PROVIDERS).default("local_disk"),
4640
4676
  localDisk: storageLocalDiskConfigSchema.default({
4641
4677
  baseDir: "~/.rudder/instances/default/data/storage"
4642
4678
  }),
@@ -4647,17 +4683,17 @@ var init_config_schema = __esm({
4647
4683
  forcePathStyle: false
4648
4684
  })
4649
4685
  });
4650
- secretsLocalEncryptedConfigSchema = z31.object({
4651
- keyFilePath: z31.string().default("~/.rudder/instances/default/secrets/master.key")
4686
+ secretsLocalEncryptedConfigSchema = z32.object({
4687
+ keyFilePath: z32.string().default("~/.rudder/instances/default/secrets/master.key")
4652
4688
  });
4653
- secretsConfigSchema = z31.object({
4654
- provider: z31.enum(SECRET_PROVIDERS).default("local_encrypted"),
4655
- strictMode: z31.boolean().default(false),
4689
+ secretsConfigSchema = z32.object({
4690
+ provider: z32.enum(SECRET_PROVIDERS).default("local_encrypted"),
4691
+ strictMode: z32.boolean().default(false),
4656
4692
  localEncrypted: secretsLocalEncryptedConfigSchema.default({
4657
4693
  keyFilePath: "~/.rudder/instances/default/secrets/master.key"
4658
4694
  })
4659
4695
  });
4660
- rudderConfigSchema = z31.object({
4696
+ rudderConfigSchema = z32.object({
4661
4697
  $meta: configMetaSchema,
4662
4698
  llm: llmConfigSchema.optional(),
4663
4699
  database: databaseConfigSchema,
@@ -4690,7 +4726,7 @@ var init_config_schema = __esm({
4690
4726
  if (value.server.deploymentMode === "local_trusted") {
4691
4727
  if (value.server.exposure !== "private") {
4692
4728
  ctx.addIssue({
4693
- code: z31.ZodIssueCode.custom,
4729
+ code: z32.ZodIssueCode.custom,
4694
4730
  message: "server.exposure must be private when deploymentMode is local_trusted",
4695
4731
  path: ["server", "exposure"]
4696
4732
  });
@@ -4699,21 +4735,21 @@ var init_config_schema = __esm({
4699
4735
  }
4700
4736
  if (value.auth.baseUrlMode === "explicit" && !value.auth.publicBaseUrl) {
4701
4737
  ctx.addIssue({
4702
- code: z31.ZodIssueCode.custom,
4738
+ code: z32.ZodIssueCode.custom,
4703
4739
  message: "auth.publicBaseUrl is required when auth.baseUrlMode is explicit",
4704
4740
  path: ["auth", "publicBaseUrl"]
4705
4741
  });
4706
4742
  }
4707
4743
  if (value.server.exposure === "public" && value.auth.baseUrlMode !== "explicit") {
4708
4744
  ctx.addIssue({
4709
- code: z31.ZodIssueCode.custom,
4745
+ code: z32.ZodIssueCode.custom,
4710
4746
  message: "auth.baseUrlMode must be explicit when deploymentMode=authenticated and exposure=public",
4711
4747
  path: ["auth", "baseUrlMode"]
4712
4748
  });
4713
4749
  }
4714
4750
  if (value.server.exposure === "public" && !value.auth.publicBaseUrl) {
4715
4751
  ctx.addIssue({
4716
- code: z31.ZodIssueCode.custom,
4752
+ code: z32.ZodIssueCode.custom,
4717
4753
  message: "auth.publicBaseUrl is required when deploymentMode=authenticated and exposure=public",
4718
4754
  path: ["auth", "publicBaseUrl"]
4719
4755
  });
@@ -4728,6 +4764,7 @@ var init_dist = __esm({
4728
4764
  "use strict";
4729
4765
  init_browser_shortcuts();
4730
4766
  init_chat_inline_visuals();
4767
+ init_chat_subagents();
4731
4768
  init_chat_work_manifest();
4732
4769
  init_constants();
4733
4770
  init_constants();
@@ -4738,6 +4775,7 @@ var init_dist = __esm({
4738
4775
  init_mcp();
4739
4776
  init_chat();
4740
4777
  init_messenger();
4778
+ init_local_account_auth();
4741
4779
  init_validators();
4742
4780
  init_validators();
4743
4781
  init_agent_url_key();