@herdctl/core 2.0.1 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/dist/config/__tests__/agent.test.js +31 -48
  2. package/dist/config/__tests__/agent.test.js.map +1 -1
  3. package/dist/config/__tests__/loader.test.js +22 -26
  4. package/dist/config/__tests__/loader.test.js.map +1 -1
  5. package/dist/config/__tests__/merge.test.js +43 -85
  6. package/dist/config/__tests__/merge.test.js.map +1 -1
  7. package/dist/config/__tests__/parser.test.js +30 -48
  8. package/dist/config/__tests__/parser.test.js.map +1 -1
  9. package/dist/config/__tests__/schema.test.js +150 -39
  10. package/dist/config/__tests__/schema.test.js.map +1 -1
  11. package/dist/config/index.d.ts +2 -2
  12. package/dist/config/index.d.ts.map +1 -1
  13. package/dist/config/index.js +1 -1
  14. package/dist/config/index.js.map +1 -1
  15. package/dist/config/merge.d.ts +8 -14
  16. package/dist/config/merge.d.ts.map +1 -1
  17. package/dist/config/merge.js +11 -6
  18. package/dist/config/merge.js.map +1 -1
  19. package/dist/config/schema.d.ts +1337 -475
  20. package/dist/config/schema.d.ts.map +1 -1
  21. package/dist/config/schema.js +135 -25
  22. package/dist/config/schema.js.map +1 -1
  23. package/dist/runner/__tests__/sdk-adapter.test.js +25 -159
  24. package/dist/runner/__tests__/sdk-adapter.test.js.map +1 -1
  25. package/dist/runner/runtime/__tests__/docker-config.test.js +157 -1
  26. package/dist/runner/runtime/__tests__/docker-config.test.js.map +1 -1
  27. package/dist/runner/runtime/cli-runtime.d.ts.map +1 -1
  28. package/dist/runner/runtime/cli-runtime.js +6 -28
  29. package/dist/runner/runtime/cli-runtime.js.map +1 -1
  30. package/dist/runner/runtime/container-manager.d.ts.map +1 -1
  31. package/dist/runner/runtime/container-manager.js +46 -16
  32. package/dist/runner/runtime/container-manager.js.map +1 -1
  33. package/dist/runner/runtime/docker-config.d.ts +55 -4
  34. package/dist/runner/runtime/docker-config.d.ts.map +1 -1
  35. package/dist/runner/runtime/docker-config.js +49 -2
  36. package/dist/runner/runtime/docker-config.js.map +1 -1
  37. package/dist/runner/sdk-adapter.d.ts.map +1 -1
  38. package/dist/runner/sdk-adapter.js +7 -21
  39. package/dist/runner/sdk-adapter.js.map +1 -1
  40. package/package.json +2 -2
@@ -4,48 +4,8 @@
4
4
  * Validates herdctl.yaml fleet configuration
5
5
  */
6
6
  import { z } from "zod";
7
+ import type { HostConfig } from "dockerode";
7
8
  export declare const PermissionModeSchema: z.ZodEnum<["default", "acceptEdits", "bypassPermissions", "plan", "delegate", "dontAsk"]>;
8
- export declare const BashPermissionsSchema: z.ZodObject<{
9
- allowed_commands: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
10
- denied_patterns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
11
- }, "strip", z.ZodTypeAny, {
12
- allowed_commands?: string[] | undefined;
13
- denied_patterns?: string[] | undefined;
14
- }, {
15
- allowed_commands?: string[] | undefined;
16
- denied_patterns?: string[] | undefined;
17
- }>;
18
- export declare const PermissionsSchema: z.ZodObject<{
19
- mode: z.ZodDefault<z.ZodOptional<z.ZodEnum<["default", "acceptEdits", "bypassPermissions", "plan", "delegate", "dontAsk"]>>>;
20
- allowed_tools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
21
- denied_tools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
22
- bash: z.ZodOptional<z.ZodObject<{
23
- allowed_commands: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
24
- denied_patterns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
25
- }, "strip", z.ZodTypeAny, {
26
- allowed_commands?: string[] | undefined;
27
- denied_patterns?: string[] | undefined;
28
- }, {
29
- allowed_commands?: string[] | undefined;
30
- denied_patterns?: string[] | undefined;
31
- }>>;
32
- }, "strip", z.ZodTypeAny, {
33
- mode: "default" | "acceptEdits" | "bypassPermissions" | "plan" | "delegate" | "dontAsk";
34
- allowed_tools?: string[] | undefined;
35
- denied_tools?: string[] | undefined;
36
- bash?: {
37
- allowed_commands?: string[] | undefined;
38
- denied_patterns?: string[] | undefined;
39
- } | undefined;
40
- }, {
41
- mode?: "default" | "acceptEdits" | "bypassPermissions" | "plan" | "delegate" | "dontAsk" | undefined;
42
- allowed_tools?: string[] | undefined;
43
- denied_tools?: string[] | undefined;
44
- bash?: {
45
- allowed_commands?: string[] | undefined;
46
- denied_patterns?: string[] | undefined;
47
- } | undefined;
48
- }>;
49
9
  export declare const WorkSourceTypeSchema: z.ZodEnum<["github"]>;
50
10
  export declare const WorkSourceLabelsSchema: z.ZodObject<{
51
11
  ready: z.ZodOptional<z.ZodString>;
@@ -292,27 +252,147 @@ export declare const InstancesSchema: z.ZodObject<{
292
252
  */
293
253
  export declare const DockerNetworkModeSchema: z.ZodEnum<["none", "bridge", "host"]>;
294
254
  /**
295
- * Docker container configuration schema
255
+ * Agent-level Docker configuration schema (safe options only)
296
256
  *
297
- * Supports container lifecycle, resource limits, and security options.
298
- * All options are optional - defaults provide secure, sensible configuration.
257
+ * These options can be specified in agent config files (herdctl-agent.yml).
258
+ * Only includes safe options that don't pose security risks if an agent
259
+ * could modify its own config file.
260
+ *
261
+ * For dangerous options (network, volumes, image, user, ports, env),
262
+ * use FleetDockerSchema at the fleet level.
299
263
  *
300
264
  * @example
301
265
  * ```yaml
302
266
  * docker:
303
267
  * enabled: true
304
268
  * ephemeral: false # Reuse container across jobs
305
- * image: anthropic/claude-code:latest
306
- * network: bridge # Full network access
307
269
  * memory: 2g # Memory limit
308
270
  * cpu_shares: 512 # CPU weight
309
- * user: "1000:1000" # Run as specific UID:GID
310
- * max_containers: 5 # Keep last 5 containers per agent
311
- * volumes: # Additional volume mounts
312
- * - "/host/data:/container/data:ro"
271
+ * pids_limit: 100 # Prevent fork bombs
272
+ * tmpfs:
273
+ * - "/tmp"
313
274
  * ```
314
275
  */
315
- export declare const DockerSchema: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodObject<{
276
+ export declare const AgentDockerSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
277
+ /** Enable Docker containerization for this agent (default: false) */
278
+ enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
279
+ /** Use ephemeral containers (fresh per job, auto-removed) vs persistent (reuse across jobs, kept for inspection) */
280
+ ephemeral: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
281
+ /** Memory limit (e.g., "2g", "512m") (default: 2g) */
282
+ memory: z.ZodDefault<z.ZodOptional<z.ZodString>>;
283
+ /** CPU shares (relative weight, 512 is normal) */
284
+ cpu_shares: z.ZodOptional<z.ZodNumber>;
285
+ /** Maximum containers to keep per agent before cleanup (default: 5) */
286
+ max_containers: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
287
+ /** Workspace mount mode: rw (read-write, default) or ro (read-only) */
288
+ workspace_mode: z.ZodDefault<z.ZodOptional<z.ZodEnum<["rw", "ro"]>>>;
289
+ /** Tmpfs mounts in format "path" or "path:options" (e.g., "/tmp", "/tmp:size=100m,mode=1777") */
290
+ tmpfs: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
291
+ /** Maximum number of processes (PIDs) allowed in the container (prevents fork bombs) */
292
+ pids_limit: z.ZodOptional<z.ZodNumber>;
293
+ /** Container labels for organization and filtering */
294
+ labels: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
295
+ /** CPU period in microseconds (default: 100000 = 100ms). Used with cpu_quota for hard CPU limits. */
296
+ cpu_period: z.ZodOptional<z.ZodNumber>;
297
+ /** CPU quota in microseconds per cpu_period. E.g., cpu_period=100000 + cpu_quota=50000 = 50% of one CPU. */
298
+ cpu_quota: z.ZodOptional<z.ZodNumber>;
299
+ }, "strict", z.ZodTypeAny, {
300
+ enabled: boolean;
301
+ ephemeral: boolean;
302
+ memory: string;
303
+ max_containers: number;
304
+ workspace_mode: "rw" | "ro";
305
+ labels?: Record<string, string> | undefined;
306
+ cpu_shares?: number | undefined;
307
+ tmpfs?: string[] | undefined;
308
+ pids_limit?: number | undefined;
309
+ cpu_period?: number | undefined;
310
+ cpu_quota?: number | undefined;
311
+ }, {
312
+ labels?: Record<string, string> | undefined;
313
+ enabled?: boolean | undefined;
314
+ ephemeral?: boolean | undefined;
315
+ memory?: string | undefined;
316
+ cpu_shares?: number | undefined;
317
+ max_containers?: number | undefined;
318
+ workspace_mode?: "rw" | "ro" | undefined;
319
+ tmpfs?: string[] | undefined;
320
+ pids_limit?: number | undefined;
321
+ cpu_period?: number | undefined;
322
+ cpu_quota?: number | undefined;
323
+ }>, {
324
+ enabled: boolean;
325
+ ephemeral: boolean;
326
+ memory: string;
327
+ max_containers: number;
328
+ workspace_mode: "rw" | "ro";
329
+ labels?: Record<string, string> | undefined;
330
+ cpu_shares?: number | undefined;
331
+ tmpfs?: string[] | undefined;
332
+ pids_limit?: number | undefined;
333
+ cpu_period?: number | undefined;
334
+ cpu_quota?: number | undefined;
335
+ }, {
336
+ labels?: Record<string, string> | undefined;
337
+ enabled?: boolean | undefined;
338
+ ephemeral?: boolean | undefined;
339
+ memory?: string | undefined;
340
+ cpu_shares?: number | undefined;
341
+ max_containers?: number | undefined;
342
+ workspace_mode?: "rw" | "ro" | undefined;
343
+ tmpfs?: string[] | undefined;
344
+ pids_limit?: number | undefined;
345
+ cpu_period?: number | undefined;
346
+ cpu_quota?: number | undefined;
347
+ }>, {
348
+ enabled: boolean;
349
+ ephemeral: boolean;
350
+ memory: string;
351
+ max_containers: number;
352
+ workspace_mode: "rw" | "ro";
353
+ labels?: Record<string, string> | undefined;
354
+ cpu_shares?: number | undefined;
355
+ tmpfs?: string[] | undefined;
356
+ pids_limit?: number | undefined;
357
+ cpu_period?: number | undefined;
358
+ cpu_quota?: number | undefined;
359
+ }, {
360
+ labels?: Record<string, string> | undefined;
361
+ enabled?: boolean | undefined;
362
+ ephemeral?: boolean | undefined;
363
+ memory?: string | undefined;
364
+ cpu_shares?: number | undefined;
365
+ max_containers?: number | undefined;
366
+ workspace_mode?: "rw" | "ro" | undefined;
367
+ tmpfs?: string[] | undefined;
368
+ pids_limit?: number | undefined;
369
+ cpu_period?: number | undefined;
370
+ cpu_quota?: number | undefined;
371
+ }>;
372
+ /**
373
+ * Fleet-level Docker configuration schema (all options)
374
+ *
375
+ * Includes all safe options from AgentDockerSchema plus dangerous options
376
+ * that should only be specified at the fleet level (in herdctl.yml).
377
+ *
378
+ * Also supports a `host_config` passthrough for raw dockerode HostConfig
379
+ * options not explicitly modeled in our schema.
380
+ *
381
+ * @example
382
+ * ```yaml
383
+ * defaults:
384
+ * docker:
385
+ * enabled: true
386
+ * image: anthropic/claude-code:latest
387
+ * network: bridge
388
+ * memory: 2g
389
+ * volumes:
390
+ * - "/host/data:/container/data:ro"
391
+ * host_config: # Raw dockerode passthrough
392
+ * ShmSize: 67108864
393
+ * ```
394
+ */
395
+ export declare const FleetDockerSchema: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodObject<{
316
396
  /** Enable Docker containerization for this agent (default: false) */
317
397
  enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
318
398
  /** Use ephemeral containers (fresh per job, auto-removed) vs persistent (reuse across jobs, kept for inspection) */
@@ -335,112 +415,551 @@ export declare const DockerSchema: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodO
335
415
  workspace_mode: z.ZodDefault<z.ZodOptional<z.ZodEnum<["rw", "ro"]>>>;
336
416
  /** Environment variables to pass to the container (supports ${VAR} interpolation) */
337
417
  env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
418
+ /** Port bindings in format "hostPort:containerPort" or "containerPort" (e.g., "8080:80", "3000") */
419
+ ports: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
420
+ /** Tmpfs mounts in format "path" or "path:options" (e.g., "/tmp", "/tmp:size=100m,mode=1777") */
421
+ tmpfs: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
422
+ /** Maximum number of processes (PIDs) allowed in the container (prevents fork bombs) */
423
+ pids_limit: z.ZodOptional<z.ZodNumber>;
424
+ /** Container labels for organization and filtering */
425
+ labels: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
426
+ /** CPU period in microseconds (default: 100000 = 100ms). Used with cpu_quota for hard CPU limits. */
427
+ cpu_period: z.ZodOptional<z.ZodNumber>;
428
+ /** CPU quota in microseconds per cpu_period. E.g., cpu_period=100000 + cpu_quota=50000 = 50% of one CPU. */
429
+ cpu_quota: z.ZodOptional<z.ZodNumber>;
338
430
  /** @deprecated Use 'image' instead */
339
431
  base_image: z.ZodOptional<z.ZodString>;
340
- }, "strip", z.ZodTypeAny, {
432
+ /**
433
+ * Raw dockerode HostConfig passthrough for advanced options.
434
+ * Values here override any translated options (e.g., host_config.Memory overrides memory).
435
+ * See dockerode documentation for available options.
436
+ */
437
+ host_config: z.ZodOptional<z.ZodType<HostConfig, z.ZodTypeDef, HostConfig>>;
438
+ }, "strict", z.ZodTypeAny, {
341
439
  enabled: boolean;
342
440
  ephemeral: boolean;
343
- network: "none" | "bridge" | "host";
344
441
  memory: string;
345
442
  max_containers: number;
346
443
  workspace_mode: "rw" | "ro";
347
- image?: string | undefined;
444
+ network: "none" | "bridge" | "host";
445
+ labels?: Record<string, string> | undefined;
348
446
  cpu_shares?: number | undefined;
447
+ tmpfs?: string[] | undefined;
448
+ pids_limit?: number | undefined;
449
+ cpu_period?: number | undefined;
450
+ cpu_quota?: number | undefined;
451
+ image?: string | undefined;
349
452
  user?: string | undefined;
350
453
  volumes?: string[] | undefined;
351
454
  env?: Record<string, string> | undefined;
455
+ ports?: string[] | undefined;
352
456
  base_image?: string | undefined;
457
+ host_config?: HostConfig | undefined;
353
458
  }, {
459
+ labels?: Record<string, string> | undefined;
354
460
  enabled?: boolean | undefined;
355
461
  ephemeral?: boolean | undefined;
462
+ memory?: string | undefined;
463
+ cpu_shares?: number | undefined;
464
+ max_containers?: number | undefined;
465
+ workspace_mode?: "rw" | "ro" | undefined;
466
+ tmpfs?: string[] | undefined;
467
+ pids_limit?: number | undefined;
468
+ cpu_period?: number | undefined;
469
+ cpu_quota?: number | undefined;
356
470
  image?: string | undefined;
357
471
  network?: "none" | "bridge" | "host" | undefined;
358
- memory?: string | undefined;
472
+ user?: string | undefined;
473
+ volumes?: string[] | undefined;
474
+ env?: Record<string, string> | undefined;
475
+ ports?: string[] | undefined;
476
+ base_image?: string | undefined;
477
+ host_config?: HostConfig | undefined;
478
+ }>, {
479
+ enabled: boolean;
480
+ ephemeral: boolean;
481
+ memory: string;
482
+ max_containers: number;
483
+ workspace_mode: "rw" | "ro";
484
+ network: "none" | "bridge" | "host";
485
+ labels?: Record<string, string> | undefined;
359
486
  cpu_shares?: number | undefined;
487
+ tmpfs?: string[] | undefined;
488
+ pids_limit?: number | undefined;
489
+ cpu_period?: number | undefined;
490
+ cpu_quota?: number | undefined;
491
+ image?: string | undefined;
360
492
  user?: string | undefined;
361
- max_containers?: number | undefined;
362
493
  volumes?: string[] | undefined;
494
+ env?: Record<string, string> | undefined;
495
+ ports?: string[] | undefined;
496
+ base_image?: string | undefined;
497
+ host_config?: HostConfig | undefined;
498
+ }, {
499
+ labels?: Record<string, string> | undefined;
500
+ enabled?: boolean | undefined;
501
+ ephemeral?: boolean | undefined;
502
+ memory?: string | undefined;
503
+ cpu_shares?: number | undefined;
504
+ max_containers?: number | undefined;
363
505
  workspace_mode?: "rw" | "ro" | undefined;
506
+ tmpfs?: string[] | undefined;
507
+ pids_limit?: number | undefined;
508
+ cpu_period?: number | undefined;
509
+ cpu_quota?: number | undefined;
510
+ image?: string | undefined;
511
+ network?: "none" | "bridge" | "host" | undefined;
512
+ user?: string | undefined;
513
+ volumes?: string[] | undefined;
364
514
  env?: Record<string, string> | undefined;
515
+ ports?: string[] | undefined;
365
516
  base_image?: string | undefined;
517
+ host_config?: HostConfig | undefined;
366
518
  }>, {
367
519
  enabled: boolean;
368
520
  ephemeral: boolean;
369
- network: "none" | "bridge" | "host";
370
521
  memory: string;
371
522
  max_containers: number;
372
523
  workspace_mode: "rw" | "ro";
373
- image?: string | undefined;
524
+ network: "none" | "bridge" | "host";
525
+ labels?: Record<string, string> | undefined;
374
526
  cpu_shares?: number | undefined;
527
+ tmpfs?: string[] | undefined;
528
+ pids_limit?: number | undefined;
529
+ cpu_period?: number | undefined;
530
+ cpu_quota?: number | undefined;
531
+ image?: string | undefined;
375
532
  user?: string | undefined;
376
533
  volumes?: string[] | undefined;
377
534
  env?: Record<string, string> | undefined;
535
+ ports?: string[] | undefined;
378
536
  base_image?: string | undefined;
537
+ host_config?: HostConfig | undefined;
379
538
  }, {
539
+ labels?: Record<string, string> | undefined;
380
540
  enabled?: boolean | undefined;
381
541
  ephemeral?: boolean | undefined;
542
+ memory?: string | undefined;
543
+ cpu_shares?: number | undefined;
544
+ max_containers?: number | undefined;
545
+ workspace_mode?: "rw" | "ro" | undefined;
546
+ tmpfs?: string[] | undefined;
547
+ pids_limit?: number | undefined;
548
+ cpu_period?: number | undefined;
549
+ cpu_quota?: number | undefined;
382
550
  image?: string | undefined;
383
551
  network?: "none" | "bridge" | "host" | undefined;
384
- memory?: string | undefined;
552
+ user?: string | undefined;
553
+ volumes?: string[] | undefined;
554
+ env?: Record<string, string> | undefined;
555
+ ports?: string[] | undefined;
556
+ base_image?: string | undefined;
557
+ host_config?: HostConfig | undefined;
558
+ }>, {
559
+ enabled: boolean;
560
+ ephemeral: boolean;
561
+ memory: string;
562
+ max_containers: number;
563
+ workspace_mode: "rw" | "ro";
564
+ network: "none" | "bridge" | "host";
565
+ labels?: Record<string, string> | undefined;
385
566
  cpu_shares?: number | undefined;
567
+ tmpfs?: string[] | undefined;
568
+ pids_limit?: number | undefined;
569
+ cpu_period?: number | undefined;
570
+ cpu_quota?: number | undefined;
571
+ image?: string | undefined;
386
572
  user?: string | undefined;
387
- max_containers?: number | undefined;
388
573
  volumes?: string[] | undefined;
574
+ env?: Record<string, string> | undefined;
575
+ ports?: string[] | undefined;
576
+ base_image?: string | undefined;
577
+ host_config?: HostConfig | undefined;
578
+ }, {
579
+ labels?: Record<string, string> | undefined;
580
+ enabled?: boolean | undefined;
581
+ ephemeral?: boolean | undefined;
582
+ memory?: string | undefined;
583
+ cpu_shares?: number | undefined;
584
+ max_containers?: number | undefined;
389
585
  workspace_mode?: "rw" | "ro" | undefined;
586
+ tmpfs?: string[] | undefined;
587
+ pids_limit?: number | undefined;
588
+ cpu_period?: number | undefined;
589
+ cpu_quota?: number | undefined;
590
+ image?: string | undefined;
591
+ network?: "none" | "bridge" | "host" | undefined;
592
+ user?: string | undefined;
593
+ volumes?: string[] | undefined;
390
594
  env?: Record<string, string> | undefined;
595
+ ports?: string[] | undefined;
391
596
  base_image?: string | undefined;
597
+ host_config?: HostConfig | undefined;
392
598
  }>, {
393
599
  enabled: boolean;
394
600
  ephemeral: boolean;
395
- network: "none" | "bridge" | "host";
396
601
  memory: string;
397
602
  max_containers: number;
398
603
  workspace_mode: "rw" | "ro";
399
- image?: string | undefined;
604
+ network: "none" | "bridge" | "host";
605
+ labels?: Record<string, string> | undefined;
400
606
  cpu_shares?: number | undefined;
607
+ tmpfs?: string[] | undefined;
608
+ pids_limit?: number | undefined;
609
+ cpu_period?: number | undefined;
610
+ cpu_quota?: number | undefined;
611
+ image?: string | undefined;
401
612
  user?: string | undefined;
402
613
  volumes?: string[] | undefined;
403
614
  env?: Record<string, string> | undefined;
615
+ ports?: string[] | undefined;
404
616
  base_image?: string | undefined;
617
+ host_config?: HostConfig | undefined;
405
618
  }, {
619
+ labels?: Record<string, string> | undefined;
406
620
  enabled?: boolean | undefined;
407
621
  ephemeral?: boolean | undefined;
622
+ memory?: string | undefined;
623
+ cpu_shares?: number | undefined;
624
+ max_containers?: number | undefined;
625
+ workspace_mode?: "rw" | "ro" | undefined;
626
+ tmpfs?: string[] | undefined;
627
+ pids_limit?: number | undefined;
628
+ cpu_period?: number | undefined;
629
+ cpu_quota?: number | undefined;
408
630
  image?: string | undefined;
409
631
  network?: "none" | "bridge" | "host" | undefined;
410
- memory?: string | undefined;
632
+ user?: string | undefined;
633
+ volumes?: string[] | undefined;
634
+ env?: Record<string, string> | undefined;
635
+ ports?: string[] | undefined;
636
+ base_image?: string | undefined;
637
+ host_config?: HostConfig | undefined;
638
+ }>, {
639
+ enabled: boolean;
640
+ ephemeral: boolean;
641
+ memory: string;
642
+ max_containers: number;
643
+ workspace_mode: "rw" | "ro";
644
+ network: "none" | "bridge" | "host";
645
+ labels?: Record<string, string> | undefined;
411
646
  cpu_shares?: number | undefined;
647
+ tmpfs?: string[] | undefined;
648
+ pids_limit?: number | undefined;
649
+ cpu_period?: number | undefined;
650
+ cpu_quota?: number | undefined;
651
+ image?: string | undefined;
412
652
  user?: string | undefined;
653
+ volumes?: string[] | undefined;
654
+ env?: Record<string, string> | undefined;
655
+ ports?: string[] | undefined;
656
+ base_image?: string | undefined;
657
+ host_config?: HostConfig | undefined;
658
+ }, {
659
+ labels?: Record<string, string> | undefined;
660
+ enabled?: boolean | undefined;
661
+ ephemeral?: boolean | undefined;
662
+ memory?: string | undefined;
663
+ cpu_shares?: number | undefined;
413
664
  max_containers?: number | undefined;
665
+ workspace_mode?: "rw" | "ro" | undefined;
666
+ tmpfs?: string[] | undefined;
667
+ pids_limit?: number | undefined;
668
+ cpu_period?: number | undefined;
669
+ cpu_quota?: number | undefined;
670
+ image?: string | undefined;
671
+ network?: "none" | "bridge" | "host" | undefined;
672
+ user?: string | undefined;
673
+ volumes?: string[] | undefined;
674
+ env?: Record<string, string> | undefined;
675
+ ports?: string[] | undefined;
676
+ base_image?: string | undefined;
677
+ host_config?: HostConfig | undefined;
678
+ }>;
679
+ /** @deprecated Use AgentDockerSchema or FleetDockerSchema instead */
680
+ export declare const DockerSchema: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodObject<{
681
+ /** Enable Docker containerization for this agent (default: false) */
682
+ enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
683
+ /** Use ephemeral containers (fresh per job, auto-removed) vs persistent (reuse across jobs, kept for inspection) */
684
+ ephemeral: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
685
+ /** Docker image to use (default: anthropic/claude-code:latest) */
686
+ image: z.ZodOptional<z.ZodString>;
687
+ /** Network isolation mode (default: bridge for full network access) */
688
+ network: z.ZodDefault<z.ZodOptional<z.ZodEnum<["none", "bridge", "host"]>>>;
689
+ /** Memory limit (e.g., "2g", "512m") (default: 2g) */
690
+ memory: z.ZodDefault<z.ZodOptional<z.ZodString>>;
691
+ /** CPU shares (relative weight, 512 is normal) */
692
+ cpu_shares: z.ZodOptional<z.ZodNumber>;
693
+ /** Container user as "UID:GID" string (default: match host user) */
694
+ user: z.ZodOptional<z.ZodString>;
695
+ /** Maximum containers to keep per agent before cleanup (default: 5) */
696
+ max_containers: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
697
+ /** Additional volume mounts in Docker format: "host:container:mode" */
698
+ volumes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
699
+ /** Workspace mount mode: rw (read-write, default) or ro (read-only) */
700
+ workspace_mode: z.ZodDefault<z.ZodOptional<z.ZodEnum<["rw", "ro"]>>>;
701
+ /** Environment variables to pass to the container (supports ${VAR} interpolation) */
702
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
703
+ /** Port bindings in format "hostPort:containerPort" or "containerPort" (e.g., "8080:80", "3000") */
704
+ ports: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
705
+ /** Tmpfs mounts in format "path" or "path:options" (e.g., "/tmp", "/tmp:size=100m,mode=1777") */
706
+ tmpfs: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
707
+ /** Maximum number of processes (PIDs) allowed in the container (prevents fork bombs) */
708
+ pids_limit: z.ZodOptional<z.ZodNumber>;
709
+ /** Container labels for organization and filtering */
710
+ labels: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
711
+ /** CPU period in microseconds (default: 100000 = 100ms). Used with cpu_quota for hard CPU limits. */
712
+ cpu_period: z.ZodOptional<z.ZodNumber>;
713
+ /** CPU quota in microseconds per cpu_period. E.g., cpu_period=100000 + cpu_quota=50000 = 50% of one CPU. */
714
+ cpu_quota: z.ZodOptional<z.ZodNumber>;
715
+ /** @deprecated Use 'image' instead */
716
+ base_image: z.ZodOptional<z.ZodString>;
717
+ /**
718
+ * Raw dockerode HostConfig passthrough for advanced options.
719
+ * Values here override any translated options (e.g., host_config.Memory overrides memory).
720
+ * See dockerode documentation for available options.
721
+ */
722
+ host_config: z.ZodOptional<z.ZodType<HostConfig, z.ZodTypeDef, HostConfig>>;
723
+ }, "strict", z.ZodTypeAny, {
724
+ enabled: boolean;
725
+ ephemeral: boolean;
726
+ memory: string;
727
+ max_containers: number;
728
+ workspace_mode: "rw" | "ro";
729
+ network: "none" | "bridge" | "host";
730
+ labels?: Record<string, string> | undefined;
731
+ cpu_shares?: number | undefined;
732
+ tmpfs?: string[] | undefined;
733
+ pids_limit?: number | undefined;
734
+ cpu_period?: number | undefined;
735
+ cpu_quota?: number | undefined;
736
+ image?: string | undefined;
737
+ user?: string | undefined;
414
738
  volumes?: string[] | undefined;
739
+ env?: Record<string, string> | undefined;
740
+ ports?: string[] | undefined;
741
+ base_image?: string | undefined;
742
+ host_config?: HostConfig | undefined;
743
+ }, {
744
+ labels?: Record<string, string> | undefined;
745
+ enabled?: boolean | undefined;
746
+ ephemeral?: boolean | undefined;
747
+ memory?: string | undefined;
748
+ cpu_shares?: number | undefined;
749
+ max_containers?: number | undefined;
415
750
  workspace_mode?: "rw" | "ro" | undefined;
751
+ tmpfs?: string[] | undefined;
752
+ pids_limit?: number | undefined;
753
+ cpu_period?: number | undefined;
754
+ cpu_quota?: number | undefined;
755
+ image?: string | undefined;
756
+ network?: "none" | "bridge" | "host" | undefined;
757
+ user?: string | undefined;
758
+ volumes?: string[] | undefined;
416
759
  env?: Record<string, string> | undefined;
760
+ ports?: string[] | undefined;
417
761
  base_image?: string | undefined;
762
+ host_config?: HostConfig | undefined;
418
763
  }>, {
419
764
  enabled: boolean;
420
765
  ephemeral: boolean;
421
- network: "none" | "bridge" | "host";
422
766
  memory: string;
423
767
  max_containers: number;
424
768
  workspace_mode: "rw" | "ro";
769
+ network: "none" | "bridge" | "host";
770
+ labels?: Record<string, string> | undefined;
771
+ cpu_shares?: number | undefined;
772
+ tmpfs?: string[] | undefined;
773
+ pids_limit?: number | undefined;
774
+ cpu_period?: number | undefined;
775
+ cpu_quota?: number | undefined;
425
776
  image?: string | undefined;
777
+ user?: string | undefined;
778
+ volumes?: string[] | undefined;
779
+ env?: Record<string, string> | undefined;
780
+ ports?: string[] | undefined;
781
+ base_image?: string | undefined;
782
+ host_config?: HostConfig | undefined;
783
+ }, {
784
+ labels?: Record<string, string> | undefined;
785
+ enabled?: boolean | undefined;
786
+ ephemeral?: boolean | undefined;
787
+ memory?: string | undefined;
426
788
  cpu_shares?: number | undefined;
789
+ max_containers?: number | undefined;
790
+ workspace_mode?: "rw" | "ro" | undefined;
791
+ tmpfs?: string[] | undefined;
792
+ pids_limit?: number | undefined;
793
+ cpu_period?: number | undefined;
794
+ cpu_quota?: number | undefined;
795
+ image?: string | undefined;
796
+ network?: "none" | "bridge" | "host" | undefined;
427
797
  user?: string | undefined;
428
798
  volumes?: string[] | undefined;
429
799
  env?: Record<string, string> | undefined;
800
+ ports?: string[] | undefined;
430
801
  base_image?: string | undefined;
802
+ host_config?: HostConfig | undefined;
803
+ }>, {
804
+ enabled: boolean;
805
+ ephemeral: boolean;
806
+ memory: string;
807
+ max_containers: number;
808
+ workspace_mode: "rw" | "ro";
809
+ network: "none" | "bridge" | "host";
810
+ labels?: Record<string, string> | undefined;
811
+ cpu_shares?: number | undefined;
812
+ tmpfs?: string[] | undefined;
813
+ pids_limit?: number | undefined;
814
+ cpu_period?: number | undefined;
815
+ cpu_quota?: number | undefined;
816
+ image?: string | undefined;
817
+ user?: string | undefined;
818
+ volumes?: string[] | undefined;
819
+ env?: Record<string, string> | undefined;
820
+ ports?: string[] | undefined;
821
+ base_image?: string | undefined;
822
+ host_config?: HostConfig | undefined;
431
823
  }, {
824
+ labels?: Record<string, string> | undefined;
432
825
  enabled?: boolean | undefined;
433
826
  ephemeral?: boolean | undefined;
827
+ memory?: string | undefined;
828
+ cpu_shares?: number | undefined;
829
+ max_containers?: number | undefined;
830
+ workspace_mode?: "rw" | "ro" | undefined;
831
+ tmpfs?: string[] | undefined;
832
+ pids_limit?: number | undefined;
833
+ cpu_period?: number | undefined;
834
+ cpu_quota?: number | undefined;
434
835
  image?: string | undefined;
435
836
  network?: "none" | "bridge" | "host" | undefined;
837
+ user?: string | undefined;
838
+ volumes?: string[] | undefined;
839
+ env?: Record<string, string> | undefined;
840
+ ports?: string[] | undefined;
841
+ base_image?: string | undefined;
842
+ host_config?: HostConfig | undefined;
843
+ }>, {
844
+ enabled: boolean;
845
+ ephemeral: boolean;
846
+ memory: string;
847
+ max_containers: number;
848
+ workspace_mode: "rw" | "ro";
849
+ network: "none" | "bridge" | "host";
850
+ labels?: Record<string, string> | undefined;
851
+ cpu_shares?: number | undefined;
852
+ tmpfs?: string[] | undefined;
853
+ pids_limit?: number | undefined;
854
+ cpu_period?: number | undefined;
855
+ cpu_quota?: number | undefined;
856
+ image?: string | undefined;
857
+ user?: string | undefined;
858
+ volumes?: string[] | undefined;
859
+ env?: Record<string, string> | undefined;
860
+ ports?: string[] | undefined;
861
+ base_image?: string | undefined;
862
+ host_config?: HostConfig | undefined;
863
+ }, {
864
+ labels?: Record<string, string> | undefined;
865
+ enabled?: boolean | undefined;
866
+ ephemeral?: boolean | undefined;
436
867
  memory?: string | undefined;
437
868
  cpu_shares?: number | undefined;
869
+ max_containers?: number | undefined;
870
+ workspace_mode?: "rw" | "ro" | undefined;
871
+ tmpfs?: string[] | undefined;
872
+ pids_limit?: number | undefined;
873
+ cpu_period?: number | undefined;
874
+ cpu_quota?: number | undefined;
875
+ image?: string | undefined;
876
+ network?: "none" | "bridge" | "host" | undefined;
438
877
  user?: string | undefined;
878
+ volumes?: string[] | undefined;
879
+ env?: Record<string, string> | undefined;
880
+ ports?: string[] | undefined;
881
+ base_image?: string | undefined;
882
+ host_config?: HostConfig | undefined;
883
+ }>, {
884
+ enabled: boolean;
885
+ ephemeral: boolean;
886
+ memory: string;
887
+ max_containers: number;
888
+ workspace_mode: "rw" | "ro";
889
+ network: "none" | "bridge" | "host";
890
+ labels?: Record<string, string> | undefined;
891
+ cpu_shares?: number | undefined;
892
+ tmpfs?: string[] | undefined;
893
+ pids_limit?: number | undefined;
894
+ cpu_period?: number | undefined;
895
+ cpu_quota?: number | undefined;
896
+ image?: string | undefined;
897
+ user?: string | undefined;
898
+ volumes?: string[] | undefined;
899
+ env?: Record<string, string> | undefined;
900
+ ports?: string[] | undefined;
901
+ base_image?: string | undefined;
902
+ host_config?: HostConfig | undefined;
903
+ }, {
904
+ labels?: Record<string, string> | undefined;
905
+ enabled?: boolean | undefined;
906
+ ephemeral?: boolean | undefined;
907
+ memory?: string | undefined;
908
+ cpu_shares?: number | undefined;
439
909
  max_containers?: number | undefined;
910
+ workspace_mode?: "rw" | "ro" | undefined;
911
+ tmpfs?: string[] | undefined;
912
+ pids_limit?: number | undefined;
913
+ cpu_period?: number | undefined;
914
+ cpu_quota?: number | undefined;
915
+ image?: string | undefined;
916
+ network?: "none" | "bridge" | "host" | undefined;
917
+ user?: string | undefined;
918
+ volumes?: string[] | undefined;
919
+ env?: Record<string, string> | undefined;
920
+ ports?: string[] | undefined;
921
+ base_image?: string | undefined;
922
+ host_config?: HostConfig | undefined;
923
+ }>, {
924
+ enabled: boolean;
925
+ ephemeral: boolean;
926
+ memory: string;
927
+ max_containers: number;
928
+ workspace_mode: "rw" | "ro";
929
+ network: "none" | "bridge" | "host";
930
+ labels?: Record<string, string> | undefined;
931
+ cpu_shares?: number | undefined;
932
+ tmpfs?: string[] | undefined;
933
+ pids_limit?: number | undefined;
934
+ cpu_period?: number | undefined;
935
+ cpu_quota?: number | undefined;
936
+ image?: string | undefined;
937
+ user?: string | undefined;
440
938
  volumes?: string[] | undefined;
939
+ env?: Record<string, string> | undefined;
940
+ ports?: string[] | undefined;
941
+ base_image?: string | undefined;
942
+ host_config?: HostConfig | undefined;
943
+ }, {
944
+ labels?: Record<string, string> | undefined;
945
+ enabled?: boolean | undefined;
946
+ ephemeral?: boolean | undefined;
947
+ memory?: string | undefined;
948
+ cpu_shares?: number | undefined;
949
+ max_containers?: number | undefined;
441
950
  workspace_mode?: "rw" | "ro" | undefined;
951
+ tmpfs?: string[] | undefined;
952
+ pids_limit?: number | undefined;
953
+ cpu_period?: number | undefined;
954
+ cpu_quota?: number | undefined;
955
+ image?: string | undefined;
956
+ network?: "none" | "bridge" | "host" | undefined;
957
+ user?: string | undefined;
958
+ volumes?: string[] | undefined;
442
959
  env?: Record<string, string> | undefined;
960
+ ports?: string[] | undefined;
443
961
  base_image?: string | undefined;
962
+ host_config?: HostConfig | undefined;
444
963
  }>;
445
964
  export declare const SessionSchema: z.ZodObject<{
446
965
  max_turns: z.ZodOptional<z.ZodNumber>;
@@ -456,7 +975,7 @@ export declare const SessionSchema: z.ZodObject<{
456
975
  model?: string | undefined;
457
976
  }>;
458
977
  export declare const DefaultsSchema: z.ZodObject<{
459
- docker: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodObject<{
978
+ docker: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodObject<{
460
979
  /** Enable Docker containerization for this agent (default: false) */
461
980
  enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
462
981
  /** Use ephemeral containers (fresh per job, auto-removed) vs persistent (reuse across jobs, kept for inspection) */
@@ -479,143 +998,266 @@ export declare const DefaultsSchema: z.ZodObject<{
479
998
  workspace_mode: z.ZodDefault<z.ZodOptional<z.ZodEnum<["rw", "ro"]>>>;
480
999
  /** Environment variables to pass to the container (supports ${VAR} interpolation) */
481
1000
  env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1001
+ /** Port bindings in format "hostPort:containerPort" or "containerPort" (e.g., "8080:80", "3000") */
1002
+ ports: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1003
+ /** Tmpfs mounts in format "path" or "path:options" (e.g., "/tmp", "/tmp:size=100m,mode=1777") */
1004
+ tmpfs: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1005
+ /** Maximum number of processes (PIDs) allowed in the container (prevents fork bombs) */
1006
+ pids_limit: z.ZodOptional<z.ZodNumber>;
1007
+ /** Container labels for organization and filtering */
1008
+ labels: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1009
+ /** CPU period in microseconds (default: 100000 = 100ms). Used with cpu_quota for hard CPU limits. */
1010
+ cpu_period: z.ZodOptional<z.ZodNumber>;
1011
+ /** CPU quota in microseconds per cpu_period. E.g., cpu_period=100000 + cpu_quota=50000 = 50% of one CPU. */
1012
+ cpu_quota: z.ZodOptional<z.ZodNumber>;
482
1013
  /** @deprecated Use 'image' instead */
483
1014
  base_image: z.ZodOptional<z.ZodString>;
484
- }, "strip", z.ZodTypeAny, {
1015
+ /**
1016
+ * Raw dockerode HostConfig passthrough for advanced options.
1017
+ * Values here override any translated options (e.g., host_config.Memory overrides memory).
1018
+ * See dockerode documentation for available options.
1019
+ */
1020
+ host_config: z.ZodOptional<z.ZodType<HostConfig, z.ZodTypeDef, HostConfig>>;
1021
+ }, "strict", z.ZodTypeAny, {
485
1022
  enabled: boolean;
486
1023
  ephemeral: boolean;
487
- network: "none" | "bridge" | "host";
488
1024
  memory: string;
489
1025
  max_containers: number;
490
1026
  workspace_mode: "rw" | "ro";
491
- image?: string | undefined;
1027
+ network: "none" | "bridge" | "host";
1028
+ labels?: Record<string, string> | undefined;
492
1029
  cpu_shares?: number | undefined;
1030
+ tmpfs?: string[] | undefined;
1031
+ pids_limit?: number | undefined;
1032
+ cpu_period?: number | undefined;
1033
+ cpu_quota?: number | undefined;
1034
+ image?: string | undefined;
493
1035
  user?: string | undefined;
494
1036
  volumes?: string[] | undefined;
495
1037
  env?: Record<string, string> | undefined;
1038
+ ports?: string[] | undefined;
496
1039
  base_image?: string | undefined;
1040
+ host_config?: HostConfig | undefined;
497
1041
  }, {
1042
+ labels?: Record<string, string> | undefined;
498
1043
  enabled?: boolean | undefined;
499
1044
  ephemeral?: boolean | undefined;
500
- image?: string | undefined;
501
- network?: "none" | "bridge" | "host" | undefined;
502
1045
  memory?: string | undefined;
503
1046
  cpu_shares?: number | undefined;
504
- user?: string | undefined;
505
1047
  max_containers?: number | undefined;
506
- volumes?: string[] | undefined;
507
1048
  workspace_mode?: "rw" | "ro" | undefined;
1049
+ tmpfs?: string[] | undefined;
1050
+ pids_limit?: number | undefined;
1051
+ cpu_period?: number | undefined;
1052
+ cpu_quota?: number | undefined;
1053
+ image?: string | undefined;
1054
+ network?: "none" | "bridge" | "host" | undefined;
1055
+ user?: string | undefined;
1056
+ volumes?: string[] | undefined;
508
1057
  env?: Record<string, string> | undefined;
1058
+ ports?: string[] | undefined;
509
1059
  base_image?: string | undefined;
1060
+ host_config?: HostConfig | undefined;
510
1061
  }>, {
511
1062
  enabled: boolean;
512
1063
  ephemeral: boolean;
513
- network: "none" | "bridge" | "host";
514
1064
  memory: string;
515
1065
  max_containers: number;
516
1066
  workspace_mode: "rw" | "ro";
517
- image?: string | undefined;
1067
+ network: "none" | "bridge" | "host";
1068
+ labels?: Record<string, string> | undefined;
518
1069
  cpu_shares?: number | undefined;
1070
+ tmpfs?: string[] | undefined;
1071
+ pids_limit?: number | undefined;
1072
+ cpu_period?: number | undefined;
1073
+ cpu_quota?: number | undefined;
1074
+ image?: string | undefined;
519
1075
  user?: string | undefined;
520
1076
  volumes?: string[] | undefined;
521
1077
  env?: Record<string, string> | undefined;
1078
+ ports?: string[] | undefined;
522
1079
  base_image?: string | undefined;
1080
+ host_config?: HostConfig | undefined;
523
1081
  }, {
1082
+ labels?: Record<string, string> | undefined;
524
1083
  enabled?: boolean | undefined;
525
1084
  ephemeral?: boolean | undefined;
526
- image?: string | undefined;
527
- network?: "none" | "bridge" | "host" | undefined;
528
1085
  memory?: string | undefined;
529
1086
  cpu_shares?: number | undefined;
530
- user?: string | undefined;
531
1087
  max_containers?: number | undefined;
532
- volumes?: string[] | undefined;
533
1088
  workspace_mode?: "rw" | "ro" | undefined;
1089
+ tmpfs?: string[] | undefined;
1090
+ pids_limit?: number | undefined;
1091
+ cpu_period?: number | undefined;
1092
+ cpu_quota?: number | undefined;
1093
+ image?: string | undefined;
1094
+ network?: "none" | "bridge" | "host" | undefined;
1095
+ user?: string | undefined;
1096
+ volumes?: string[] | undefined;
534
1097
  env?: Record<string, string> | undefined;
1098
+ ports?: string[] | undefined;
535
1099
  base_image?: string | undefined;
1100
+ host_config?: HostConfig | undefined;
536
1101
  }>, {
537
1102
  enabled: boolean;
538
1103
  ephemeral: boolean;
539
- network: "none" | "bridge" | "host";
540
1104
  memory: string;
541
1105
  max_containers: number;
542
1106
  workspace_mode: "rw" | "ro";
543
- image?: string | undefined;
1107
+ network: "none" | "bridge" | "host";
1108
+ labels?: Record<string, string> | undefined;
544
1109
  cpu_shares?: number | undefined;
1110
+ tmpfs?: string[] | undefined;
1111
+ pids_limit?: number | undefined;
1112
+ cpu_period?: number | undefined;
1113
+ cpu_quota?: number | undefined;
1114
+ image?: string | undefined;
545
1115
  user?: string | undefined;
546
1116
  volumes?: string[] | undefined;
547
1117
  env?: Record<string, string> | undefined;
1118
+ ports?: string[] | undefined;
548
1119
  base_image?: string | undefined;
1120
+ host_config?: HostConfig | undefined;
549
1121
  }, {
1122
+ labels?: Record<string, string> | undefined;
550
1123
  enabled?: boolean | undefined;
551
1124
  ephemeral?: boolean | undefined;
1125
+ memory?: string | undefined;
1126
+ cpu_shares?: number | undefined;
1127
+ max_containers?: number | undefined;
1128
+ workspace_mode?: "rw" | "ro" | undefined;
1129
+ tmpfs?: string[] | undefined;
1130
+ pids_limit?: number | undefined;
1131
+ cpu_period?: number | undefined;
1132
+ cpu_quota?: number | undefined;
552
1133
  image?: string | undefined;
553
1134
  network?: "none" | "bridge" | "host" | undefined;
554
- memory?: string | undefined;
1135
+ user?: string | undefined;
1136
+ volumes?: string[] | undefined;
1137
+ env?: Record<string, string> | undefined;
1138
+ ports?: string[] | undefined;
1139
+ base_image?: string | undefined;
1140
+ host_config?: HostConfig | undefined;
1141
+ }>, {
1142
+ enabled: boolean;
1143
+ ephemeral: boolean;
1144
+ memory: string;
1145
+ max_containers: number;
1146
+ workspace_mode: "rw" | "ro";
1147
+ network: "none" | "bridge" | "host";
1148
+ labels?: Record<string, string> | undefined;
555
1149
  cpu_shares?: number | undefined;
1150
+ tmpfs?: string[] | undefined;
1151
+ pids_limit?: number | undefined;
1152
+ cpu_period?: number | undefined;
1153
+ cpu_quota?: number | undefined;
1154
+ image?: string | undefined;
556
1155
  user?: string | undefined;
557
- max_containers?: number | undefined;
558
1156
  volumes?: string[] | undefined;
1157
+ env?: Record<string, string> | undefined;
1158
+ ports?: string[] | undefined;
1159
+ base_image?: string | undefined;
1160
+ host_config?: HostConfig | undefined;
1161
+ }, {
1162
+ labels?: Record<string, string> | undefined;
1163
+ enabled?: boolean | undefined;
1164
+ ephemeral?: boolean | undefined;
1165
+ memory?: string | undefined;
1166
+ cpu_shares?: number | undefined;
1167
+ max_containers?: number | undefined;
559
1168
  workspace_mode?: "rw" | "ro" | undefined;
1169
+ tmpfs?: string[] | undefined;
1170
+ pids_limit?: number | undefined;
1171
+ cpu_period?: number | undefined;
1172
+ cpu_quota?: number | undefined;
1173
+ image?: string | undefined;
1174
+ network?: "none" | "bridge" | "host" | undefined;
1175
+ user?: string | undefined;
1176
+ volumes?: string[] | undefined;
560
1177
  env?: Record<string, string> | undefined;
1178
+ ports?: string[] | undefined;
561
1179
  base_image?: string | undefined;
1180
+ host_config?: HostConfig | undefined;
562
1181
  }>, {
563
1182
  enabled: boolean;
564
1183
  ephemeral: boolean;
565
- network: "none" | "bridge" | "host";
566
1184
  memory: string;
567
1185
  max_containers: number;
568
1186
  workspace_mode: "rw" | "ro";
569
- image?: string | undefined;
1187
+ network: "none" | "bridge" | "host";
1188
+ labels?: Record<string, string> | undefined;
570
1189
  cpu_shares?: number | undefined;
1190
+ tmpfs?: string[] | undefined;
1191
+ pids_limit?: number | undefined;
1192
+ cpu_period?: number | undefined;
1193
+ cpu_quota?: number | undefined;
1194
+ image?: string | undefined;
571
1195
  user?: string | undefined;
572
1196
  volumes?: string[] | undefined;
573
1197
  env?: Record<string, string> | undefined;
1198
+ ports?: string[] | undefined;
574
1199
  base_image?: string | undefined;
1200
+ host_config?: HostConfig | undefined;
575
1201
  }, {
1202
+ labels?: Record<string, string> | undefined;
576
1203
  enabled?: boolean | undefined;
577
1204
  ephemeral?: boolean | undefined;
1205
+ memory?: string | undefined;
1206
+ cpu_shares?: number | undefined;
1207
+ max_containers?: number | undefined;
1208
+ workspace_mode?: "rw" | "ro" | undefined;
1209
+ tmpfs?: string[] | undefined;
1210
+ pids_limit?: number | undefined;
1211
+ cpu_period?: number | undefined;
1212
+ cpu_quota?: number | undefined;
578
1213
  image?: string | undefined;
579
1214
  network?: "none" | "bridge" | "host" | undefined;
580
- memory?: string | undefined;
1215
+ user?: string | undefined;
1216
+ volumes?: string[] | undefined;
1217
+ env?: Record<string, string> | undefined;
1218
+ ports?: string[] | undefined;
1219
+ base_image?: string | undefined;
1220
+ host_config?: HostConfig | undefined;
1221
+ }>, {
1222
+ enabled: boolean;
1223
+ ephemeral: boolean;
1224
+ memory: string;
1225
+ max_containers: number;
1226
+ workspace_mode: "rw" | "ro";
1227
+ network: "none" | "bridge" | "host";
1228
+ labels?: Record<string, string> | undefined;
581
1229
  cpu_shares?: number | undefined;
1230
+ tmpfs?: string[] | undefined;
1231
+ pids_limit?: number | undefined;
1232
+ cpu_period?: number | undefined;
1233
+ cpu_quota?: number | undefined;
1234
+ image?: string | undefined;
582
1235
  user?: string | undefined;
583
- max_containers?: number | undefined;
584
1236
  volumes?: string[] | undefined;
585
- workspace_mode?: "rw" | "ro" | undefined;
586
1237
  env?: Record<string, string> | undefined;
1238
+ ports?: string[] | undefined;
587
1239
  base_image?: string | undefined;
588
- }>>;
589
- permissions: z.ZodOptional<z.ZodObject<{
590
- mode: z.ZodDefault<z.ZodOptional<z.ZodEnum<["default", "acceptEdits", "bypassPermissions", "plan", "delegate", "dontAsk"]>>>;
591
- allowed_tools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
592
- denied_tools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
593
- bash: z.ZodOptional<z.ZodObject<{
594
- allowed_commands: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
595
- denied_patterns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
596
- }, "strip", z.ZodTypeAny, {
597
- allowed_commands?: string[] | undefined;
598
- denied_patterns?: string[] | undefined;
599
- }, {
600
- allowed_commands?: string[] | undefined;
601
- denied_patterns?: string[] | undefined;
602
- }>>;
603
- }, "strip", z.ZodTypeAny, {
604
- mode: "default" | "acceptEdits" | "bypassPermissions" | "plan" | "delegate" | "dontAsk";
605
- allowed_tools?: string[] | undefined;
606
- denied_tools?: string[] | undefined;
607
- bash?: {
608
- allowed_commands?: string[] | undefined;
609
- denied_patterns?: string[] | undefined;
610
- } | undefined;
1240
+ host_config?: HostConfig | undefined;
611
1241
  }, {
612
- mode?: "default" | "acceptEdits" | "bypassPermissions" | "plan" | "delegate" | "dontAsk" | undefined;
613
- allowed_tools?: string[] | undefined;
614
- denied_tools?: string[] | undefined;
615
- bash?: {
616
- allowed_commands?: string[] | undefined;
617
- denied_patterns?: string[] | undefined;
618
- } | undefined;
1242
+ labels?: Record<string, string> | undefined;
1243
+ enabled?: boolean | undefined;
1244
+ ephemeral?: boolean | undefined;
1245
+ memory?: string | undefined;
1246
+ cpu_shares?: number | undefined;
1247
+ max_containers?: number | undefined;
1248
+ workspace_mode?: "rw" | "ro" | undefined;
1249
+ tmpfs?: string[] | undefined;
1250
+ pids_limit?: number | undefined;
1251
+ cpu_period?: number | undefined;
1252
+ cpu_quota?: number | undefined;
1253
+ image?: string | undefined;
1254
+ network?: "none" | "bridge" | "host" | undefined;
1255
+ user?: string | undefined;
1256
+ volumes?: string[] | undefined;
1257
+ env?: Record<string, string> | undefined;
1258
+ ports?: string[] | undefined;
1259
+ base_image?: string | undefined;
1260
+ host_config?: HostConfig | undefined;
619
1261
  }>>;
620
1262
  work_source: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
621
1263
  type: z.ZodLiteral<"github">;
@@ -742,31 +1384,31 @@ export declare const DefaultsSchema: z.ZodObject<{
742
1384
  model: z.ZodOptional<z.ZodString>;
743
1385
  max_turns: z.ZodOptional<z.ZodNumber>;
744
1386
  permission_mode: z.ZodOptional<z.ZodEnum<["default", "acceptEdits", "bypassPermissions", "plan", "delegate", "dontAsk"]>>;
1387
+ allowed_tools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1388
+ denied_tools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
745
1389
  }, "strip", z.ZodTypeAny, {
746
1390
  max_turns?: number | undefined;
747
1391
  model?: string | undefined;
748
1392
  docker?: {
749
1393
  enabled: boolean;
750
1394
  ephemeral: boolean;
751
- network: "none" | "bridge" | "host";
752
1395
  memory: string;
753
1396
  max_containers: number;
754
1397
  workspace_mode: "rw" | "ro";
755
- image?: string | undefined;
1398
+ network: "none" | "bridge" | "host";
1399
+ labels?: Record<string, string> | undefined;
756
1400
  cpu_shares?: number | undefined;
1401
+ tmpfs?: string[] | undefined;
1402
+ pids_limit?: number | undefined;
1403
+ cpu_period?: number | undefined;
1404
+ cpu_quota?: number | undefined;
1405
+ image?: string | undefined;
757
1406
  user?: string | undefined;
758
- volumes?: string[] | undefined;
759
- env?: Record<string, string> | undefined;
760
- base_image?: string | undefined;
761
- } | undefined;
762
- permissions?: {
763
- mode: "default" | "acceptEdits" | "bypassPermissions" | "plan" | "delegate" | "dontAsk";
764
- allowed_tools?: string[] | undefined;
765
- denied_tools?: string[] | undefined;
766
- bash?: {
767
- allowed_commands?: string[] | undefined;
768
- denied_patterns?: string[] | undefined;
769
- } | undefined;
1407
+ volumes?: string[] | undefined;
1408
+ env?: Record<string, string> | undefined;
1409
+ ports?: string[] | undefined;
1410
+ base_image?: string | undefined;
1411
+ host_config?: HostConfig | undefined;
770
1412
  } | undefined;
771
1413
  work_source?: {
772
1414
  type: "github";
@@ -804,31 +1446,31 @@ export declare const DefaultsSchema: z.ZodObject<{
804
1446
  model?: string | undefined;
805
1447
  } | undefined;
806
1448
  permission_mode?: "default" | "acceptEdits" | "bypassPermissions" | "plan" | "delegate" | "dontAsk" | undefined;
1449
+ allowed_tools?: string[] | undefined;
1450
+ denied_tools?: string[] | undefined;
807
1451
  }, {
808
1452
  max_turns?: number | undefined;
809
1453
  model?: string | undefined;
810
1454
  docker?: {
1455
+ labels?: Record<string, string> | undefined;
811
1456
  enabled?: boolean | undefined;
812
1457
  ephemeral?: boolean | undefined;
813
- image?: string | undefined;
814
- network?: "none" | "bridge" | "host" | undefined;
815
1458
  memory?: string | undefined;
816
1459
  cpu_shares?: number | undefined;
817
- user?: string | undefined;
818
1460
  max_containers?: number | undefined;
819
- volumes?: string[] | undefined;
820
1461
  workspace_mode?: "rw" | "ro" | undefined;
1462
+ tmpfs?: string[] | undefined;
1463
+ pids_limit?: number | undefined;
1464
+ cpu_period?: number | undefined;
1465
+ cpu_quota?: number | undefined;
1466
+ image?: string | undefined;
1467
+ network?: "none" | "bridge" | "host" | undefined;
1468
+ user?: string | undefined;
1469
+ volumes?: string[] | undefined;
821
1470
  env?: Record<string, string> | undefined;
1471
+ ports?: string[] | undefined;
822
1472
  base_image?: string | undefined;
823
- } | undefined;
824
- permissions?: {
825
- mode?: "default" | "acceptEdits" | "bypassPermissions" | "plan" | "delegate" | "dontAsk" | undefined;
826
- allowed_tools?: string[] | undefined;
827
- denied_tools?: string[] | undefined;
828
- bash?: {
829
- allowed_commands?: string[] | undefined;
830
- denied_patterns?: string[] | undefined;
831
- } | undefined;
1473
+ host_config?: HostConfig | undefined;
832
1474
  } | undefined;
833
1475
  work_source?: {
834
1476
  type: "github";
@@ -866,6 +1508,8 @@ export declare const DefaultsSchema: z.ZodObject<{
866
1508
  model?: string | undefined;
867
1509
  } | undefined;
868
1510
  permission_mode?: "default" | "acceptEdits" | "bypassPermissions" | "plan" | "delegate" | "dontAsk" | undefined;
1511
+ allowed_tools?: string[] | undefined;
1512
+ denied_tools?: string[] | undefined;
869
1513
  }>;
870
1514
  export declare const WorkingDirectorySchema: z.ZodObject<{
871
1515
  root: z.ZodString;
@@ -1122,13 +1766,13 @@ export declare const DiscordDMSchema: z.ZodObject<{
1122
1766
  allowlist: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1123
1767
  blocklist: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1124
1768
  }, "strip", z.ZodTypeAny, {
1125
- mode: "mention" | "auto";
1126
1769
  enabled: boolean;
1770
+ mode: "mention" | "auto";
1127
1771
  allowlist?: string[] | undefined;
1128
1772
  blocklist?: string[] | undefined;
1129
1773
  }, {
1130
- mode?: "mention" | "auto" | undefined;
1131
1774
  enabled?: boolean | undefined;
1775
+ mode?: "mention" | "auto" | undefined;
1132
1776
  allowlist?: string[] | undefined;
1133
1777
  blocklist?: string[] | undefined;
1134
1778
  }>;
@@ -1156,8 +1800,8 @@ export declare const DiscordChannelSchema: z.ZodObject<{
1156
1800
  name?: string | undefined;
1157
1801
  }, {
1158
1802
  id: string;
1159
- mode?: "mention" | "auto" | undefined;
1160
1803
  name?: string | undefined;
1804
+ mode?: "mention" | "auto" | undefined;
1161
1805
  context_messages?: number | undefined;
1162
1806
  }>;
1163
1807
  /**
@@ -1190,8 +1834,8 @@ export declare const DiscordGuildSchema: z.ZodObject<{
1190
1834
  name?: string | undefined;
1191
1835
  }, {
1192
1836
  id: string;
1193
- mode?: "mention" | "auto" | undefined;
1194
1837
  name?: string | undefined;
1838
+ mode?: "mention" | "auto" | undefined;
1195
1839
  context_messages?: number | undefined;
1196
1840
  }>, "many">>;
1197
1841
  dm: z.ZodOptional<z.ZodObject<{
@@ -1200,13 +1844,13 @@ export declare const DiscordGuildSchema: z.ZodObject<{
1200
1844
  allowlist: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1201
1845
  blocklist: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1202
1846
  }, "strip", z.ZodTypeAny, {
1203
- mode: "mention" | "auto";
1204
1847
  enabled: boolean;
1848
+ mode: "mention" | "auto";
1205
1849
  allowlist?: string[] | undefined;
1206
1850
  blocklist?: string[] | undefined;
1207
1851
  }, {
1208
- mode?: "mention" | "auto" | undefined;
1209
1852
  enabled?: boolean | undefined;
1853
+ mode?: "mention" | "auto" | undefined;
1210
1854
  allowlist?: string[] | undefined;
1211
1855
  blocklist?: string[] | undefined;
1212
1856
  }>>;
@@ -1219,8 +1863,8 @@ export declare const DiscordGuildSchema: z.ZodObject<{
1219
1863
  name?: string | undefined;
1220
1864
  }[] | undefined;
1221
1865
  dm?: {
1222
- mode: "mention" | "auto";
1223
1866
  enabled: boolean;
1867
+ mode: "mention" | "auto";
1224
1868
  allowlist?: string[] | undefined;
1225
1869
  blocklist?: string[] | undefined;
1226
1870
  } | undefined;
@@ -1228,13 +1872,13 @@ export declare const DiscordGuildSchema: z.ZodObject<{
1228
1872
  id: string;
1229
1873
  channels?: {
1230
1874
  id: string;
1231
- mode?: "mention" | "auto" | undefined;
1232
1875
  name?: string | undefined;
1876
+ mode?: "mention" | "auto" | undefined;
1233
1877
  context_messages?: number | undefined;
1234
1878
  }[] | undefined;
1235
1879
  dm?: {
1236
- mode?: "mention" | "auto" | undefined;
1237
1880
  enabled?: boolean | undefined;
1881
+ mode?: "mention" | "auto" | undefined;
1238
1882
  allowlist?: string[] | undefined;
1239
1883
  blocklist?: string[] | undefined;
1240
1884
  } | undefined;
@@ -1296,8 +1940,8 @@ export declare const AgentChatDiscordSchema: z.ZodObject<{
1296
1940
  name?: string | undefined;
1297
1941
  }, {
1298
1942
  id: string;
1299
- mode?: "mention" | "auto" | undefined;
1300
1943
  name?: string | undefined;
1944
+ mode?: "mention" | "auto" | undefined;
1301
1945
  context_messages?: number | undefined;
1302
1946
  }>, "many">>;
1303
1947
  dm: z.ZodOptional<z.ZodObject<{
@@ -1306,13 +1950,13 @@ export declare const AgentChatDiscordSchema: z.ZodObject<{
1306
1950
  allowlist: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1307
1951
  blocklist: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1308
1952
  }, "strip", z.ZodTypeAny, {
1309
- mode: "mention" | "auto";
1310
1953
  enabled: boolean;
1954
+ mode: "mention" | "auto";
1311
1955
  allowlist?: string[] | undefined;
1312
1956
  blocklist?: string[] | undefined;
1313
1957
  }, {
1314
- mode?: "mention" | "auto" | undefined;
1315
1958
  enabled?: boolean | undefined;
1959
+ mode?: "mention" | "auto" | undefined;
1316
1960
  allowlist?: string[] | undefined;
1317
1961
  blocklist?: string[] | undefined;
1318
1962
  }>>;
@@ -1325,8 +1969,8 @@ export declare const AgentChatDiscordSchema: z.ZodObject<{
1325
1969
  name?: string | undefined;
1326
1970
  }[] | undefined;
1327
1971
  dm?: {
1328
- mode: "mention" | "auto";
1329
1972
  enabled: boolean;
1973
+ mode: "mention" | "auto";
1330
1974
  allowlist?: string[] | undefined;
1331
1975
  blocklist?: string[] | undefined;
1332
1976
  } | undefined;
@@ -1334,13 +1978,13 @@ export declare const AgentChatDiscordSchema: z.ZodObject<{
1334
1978
  id: string;
1335
1979
  channels?: {
1336
1980
  id: string;
1337
- mode?: "mention" | "auto" | undefined;
1338
1981
  name?: string | undefined;
1982
+ mode?: "mention" | "auto" | undefined;
1339
1983
  context_messages?: number | undefined;
1340
1984
  }[] | undefined;
1341
1985
  dm?: {
1342
- mode?: "mention" | "auto" | undefined;
1343
1986
  enabled?: boolean | undefined;
1987
+ mode?: "mention" | "auto" | undefined;
1344
1988
  allowlist?: string[] | undefined;
1345
1989
  blocklist?: string[] | undefined;
1346
1990
  } | undefined;
@@ -1352,13 +1996,13 @@ export declare const AgentChatDiscordSchema: z.ZodObject<{
1352
1996
  allowlist: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1353
1997
  blocklist: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1354
1998
  }, "strip", z.ZodTypeAny, {
1355
- mode: "mention" | "auto";
1356
1999
  enabled: boolean;
2000
+ mode: "mention" | "auto";
1357
2001
  allowlist?: string[] | undefined;
1358
2002
  blocklist?: string[] | undefined;
1359
2003
  }, {
1360
- mode?: "mention" | "auto" | undefined;
1361
2004
  enabled?: boolean | undefined;
2005
+ mode?: "mention" | "auto" | undefined;
1362
2006
  allowlist?: string[] | undefined;
1363
2007
  blocklist?: string[] | undefined;
1364
2008
  }>>;
@@ -1375,15 +2019,15 @@ export declare const AgentChatDiscordSchema: z.ZodObject<{
1375
2019
  name?: string | undefined;
1376
2020
  }[] | undefined;
1377
2021
  dm?: {
1378
- mode: "mention" | "auto";
1379
2022
  enabled: boolean;
2023
+ mode: "mention" | "auto";
1380
2024
  allowlist?: string[] | undefined;
1381
2025
  blocklist?: string[] | undefined;
1382
2026
  } | undefined;
1383
2027
  }[];
1384
2028
  dm?: {
1385
- mode: "mention" | "auto";
1386
2029
  enabled: boolean;
2030
+ mode: "mention" | "auto";
1387
2031
  allowlist?: string[] | undefined;
1388
2032
  blocklist?: string[] | undefined;
1389
2033
  } | undefined;
@@ -1397,20 +2041,20 @@ export declare const AgentChatDiscordSchema: z.ZodObject<{
1397
2041
  id: string;
1398
2042
  channels?: {
1399
2043
  id: string;
1400
- mode?: "mention" | "auto" | undefined;
1401
2044
  name?: string | undefined;
2045
+ mode?: "mention" | "auto" | undefined;
1402
2046
  context_messages?: number | undefined;
1403
2047
  }[] | undefined;
1404
2048
  dm?: {
1405
- mode?: "mention" | "auto" | undefined;
1406
2049
  enabled?: boolean | undefined;
2050
+ mode?: "mention" | "auto" | undefined;
1407
2051
  allowlist?: string[] | undefined;
1408
2052
  blocklist?: string[] | undefined;
1409
2053
  } | undefined;
1410
2054
  }[];
1411
2055
  dm?: {
1412
- mode?: "mention" | "auto" | undefined;
1413
2056
  enabled?: boolean | undefined;
2057
+ mode?: "mention" | "auto" | undefined;
1414
2058
  allowlist?: string[] | undefined;
1415
2059
  blocklist?: string[] | undefined;
1416
2060
  } | undefined;
@@ -1455,8 +2099,8 @@ export declare const AgentChatSchema: z.ZodObject<{
1455
2099
  name?: string | undefined;
1456
2100
  }, {
1457
2101
  id: string;
1458
- mode?: "mention" | "auto" | undefined;
1459
2102
  name?: string | undefined;
2103
+ mode?: "mention" | "auto" | undefined;
1460
2104
  context_messages?: number | undefined;
1461
2105
  }>, "many">>;
1462
2106
  dm: z.ZodOptional<z.ZodObject<{
@@ -1465,13 +2109,13 @@ export declare const AgentChatSchema: z.ZodObject<{
1465
2109
  allowlist: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1466
2110
  blocklist: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1467
2111
  }, "strip", z.ZodTypeAny, {
1468
- mode: "mention" | "auto";
1469
2112
  enabled: boolean;
2113
+ mode: "mention" | "auto";
1470
2114
  allowlist?: string[] | undefined;
1471
2115
  blocklist?: string[] | undefined;
1472
2116
  }, {
1473
- mode?: "mention" | "auto" | undefined;
1474
2117
  enabled?: boolean | undefined;
2118
+ mode?: "mention" | "auto" | undefined;
1475
2119
  allowlist?: string[] | undefined;
1476
2120
  blocklist?: string[] | undefined;
1477
2121
  }>>;
@@ -1484,8 +2128,8 @@ export declare const AgentChatSchema: z.ZodObject<{
1484
2128
  name?: string | undefined;
1485
2129
  }[] | undefined;
1486
2130
  dm?: {
1487
- mode: "mention" | "auto";
1488
2131
  enabled: boolean;
2132
+ mode: "mention" | "auto";
1489
2133
  allowlist?: string[] | undefined;
1490
2134
  blocklist?: string[] | undefined;
1491
2135
  } | undefined;
@@ -1493,13 +2137,13 @@ export declare const AgentChatSchema: z.ZodObject<{
1493
2137
  id: string;
1494
2138
  channels?: {
1495
2139
  id: string;
1496
- mode?: "mention" | "auto" | undefined;
1497
2140
  name?: string | undefined;
2141
+ mode?: "mention" | "auto" | undefined;
1498
2142
  context_messages?: number | undefined;
1499
2143
  }[] | undefined;
1500
2144
  dm?: {
1501
- mode?: "mention" | "auto" | undefined;
1502
2145
  enabled?: boolean | undefined;
2146
+ mode?: "mention" | "auto" | undefined;
1503
2147
  allowlist?: string[] | undefined;
1504
2148
  blocklist?: string[] | undefined;
1505
2149
  } | undefined;
@@ -1511,13 +2155,13 @@ export declare const AgentChatSchema: z.ZodObject<{
1511
2155
  allowlist: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1512
2156
  blocklist: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1513
2157
  }, "strip", z.ZodTypeAny, {
1514
- mode: "mention" | "auto";
1515
2158
  enabled: boolean;
2159
+ mode: "mention" | "auto";
1516
2160
  allowlist?: string[] | undefined;
1517
2161
  blocklist?: string[] | undefined;
1518
2162
  }, {
1519
- mode?: "mention" | "auto" | undefined;
1520
2163
  enabled?: boolean | undefined;
2164
+ mode?: "mention" | "auto" | undefined;
1521
2165
  allowlist?: string[] | undefined;
1522
2166
  blocklist?: string[] | undefined;
1523
2167
  }>>;
@@ -1534,15 +2178,15 @@ export declare const AgentChatSchema: z.ZodObject<{
1534
2178
  name?: string | undefined;
1535
2179
  }[] | undefined;
1536
2180
  dm?: {
1537
- mode: "mention" | "auto";
1538
2181
  enabled: boolean;
2182
+ mode: "mention" | "auto";
1539
2183
  allowlist?: string[] | undefined;
1540
2184
  blocklist?: string[] | undefined;
1541
2185
  } | undefined;
1542
2186
  }[];
1543
2187
  dm?: {
1544
- mode: "mention" | "auto";
1545
2188
  enabled: boolean;
2189
+ mode: "mention" | "auto";
1546
2190
  allowlist?: string[] | undefined;
1547
2191
  blocklist?: string[] | undefined;
1548
2192
  } | undefined;
@@ -1556,20 +2200,20 @@ export declare const AgentChatSchema: z.ZodObject<{
1556
2200
  id: string;
1557
2201
  channels?: {
1558
2202
  id: string;
1559
- mode?: "mention" | "auto" | undefined;
1560
2203
  name?: string | undefined;
2204
+ mode?: "mention" | "auto" | undefined;
1561
2205
  context_messages?: number | undefined;
1562
2206
  }[] | undefined;
1563
2207
  dm?: {
1564
- mode?: "mention" | "auto" | undefined;
1565
2208
  enabled?: boolean | undefined;
2209
+ mode?: "mention" | "auto" | undefined;
1566
2210
  allowlist?: string[] | undefined;
1567
2211
  blocklist?: string[] | undefined;
1568
2212
  } | undefined;
1569
2213
  }[];
1570
2214
  dm?: {
1571
- mode?: "mention" | "auto" | undefined;
1572
2215
  enabled?: boolean | undefined;
2216
+ mode?: "mention" | "auto" | undefined;
1573
2217
  allowlist?: string[] | undefined;
1574
2218
  blocklist?: string[] | undefined;
1575
2219
  } | undefined;
@@ -1594,15 +2238,15 @@ export declare const AgentChatSchema: z.ZodObject<{
1594
2238
  name?: string | undefined;
1595
2239
  }[] | undefined;
1596
2240
  dm?: {
1597
- mode: "mention" | "auto";
1598
2241
  enabled: boolean;
2242
+ mode: "mention" | "auto";
1599
2243
  allowlist?: string[] | undefined;
1600
2244
  blocklist?: string[] | undefined;
1601
2245
  } | undefined;
1602
2246
  }[];
1603
2247
  dm?: {
1604
- mode: "mention" | "auto";
1605
2248
  enabled: boolean;
2249
+ mode: "mention" | "auto";
1606
2250
  allowlist?: string[] | undefined;
1607
2251
  blocklist?: string[] | undefined;
1608
2252
  } | undefined;
@@ -1618,20 +2262,20 @@ export declare const AgentChatSchema: z.ZodObject<{
1618
2262
  id: string;
1619
2263
  channels?: {
1620
2264
  id: string;
1621
- mode?: "mention" | "auto" | undefined;
1622
2265
  name?: string | undefined;
2266
+ mode?: "mention" | "auto" | undefined;
1623
2267
  context_messages?: number | undefined;
1624
2268
  }[] | undefined;
1625
2269
  dm?: {
1626
- mode?: "mention" | "auto" | undefined;
1627
2270
  enabled?: boolean | undefined;
2271
+ mode?: "mention" | "auto" | undefined;
1628
2272
  allowlist?: string[] | undefined;
1629
2273
  blocklist?: string[] | undefined;
1630
2274
  } | undefined;
1631
2275
  }[];
1632
2276
  dm?: {
1633
- mode?: "mention" | "auto" | undefined;
1634
2277
  enabled?: boolean | undefined;
2278
+ mode?: "mention" | "auto" | undefined;
1635
2279
  allowlist?: string[] | undefined;
1636
2280
  blocklist?: string[] | undefined;
1637
2281
  } | undefined;
@@ -2493,37 +3137,6 @@ export declare const AgentConfigSchema: z.ZodObject<{
2493
3137
  timeout?: string | undefined;
2494
3138
  model?: string | undefined;
2495
3139
  }>>;
2496
- permissions: z.ZodOptional<z.ZodObject<{
2497
- mode: z.ZodDefault<z.ZodOptional<z.ZodEnum<["default", "acceptEdits", "bypassPermissions", "plan", "delegate", "dontAsk"]>>>;
2498
- allowed_tools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
2499
- denied_tools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
2500
- bash: z.ZodOptional<z.ZodObject<{
2501
- allowed_commands: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
2502
- denied_patterns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
2503
- }, "strip", z.ZodTypeAny, {
2504
- allowed_commands?: string[] | undefined;
2505
- denied_patterns?: string[] | undefined;
2506
- }, {
2507
- allowed_commands?: string[] | undefined;
2508
- denied_patterns?: string[] | undefined;
2509
- }>>;
2510
- }, "strip", z.ZodTypeAny, {
2511
- mode: "default" | "acceptEdits" | "bypassPermissions" | "plan" | "delegate" | "dontAsk";
2512
- allowed_tools?: string[] | undefined;
2513
- denied_tools?: string[] | undefined;
2514
- bash?: {
2515
- allowed_commands?: string[] | undefined;
2516
- denied_patterns?: string[] | undefined;
2517
- } | undefined;
2518
- }, {
2519
- mode?: "default" | "acceptEdits" | "bypassPermissions" | "plan" | "delegate" | "dontAsk" | undefined;
2520
- allowed_tools?: string[] | undefined;
2521
- denied_tools?: string[] | undefined;
2522
- bash?: {
2523
- allowed_commands?: string[] | undefined;
2524
- denied_patterns?: string[] | undefined;
2525
- } | undefined;
2526
- }>>;
2527
3140
  mcp_servers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
2528
3141
  command: z.ZodOptional<z.ZodString>;
2529
3142
  args: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
@@ -2574,8 +3187,8 @@ export declare const AgentConfigSchema: z.ZodObject<{
2574
3187
  name?: string | undefined;
2575
3188
  }, {
2576
3189
  id: string;
2577
- mode?: "mention" | "auto" | undefined;
2578
3190
  name?: string | undefined;
3191
+ mode?: "mention" | "auto" | undefined;
2579
3192
  context_messages?: number | undefined;
2580
3193
  }>, "many">>;
2581
3194
  dm: z.ZodOptional<z.ZodObject<{
@@ -2584,13 +3197,13 @@ export declare const AgentConfigSchema: z.ZodObject<{
2584
3197
  allowlist: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
2585
3198
  blocklist: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
2586
3199
  }, "strip", z.ZodTypeAny, {
2587
- mode: "mention" | "auto";
2588
3200
  enabled: boolean;
3201
+ mode: "mention" | "auto";
2589
3202
  allowlist?: string[] | undefined;
2590
3203
  blocklist?: string[] | undefined;
2591
3204
  }, {
2592
- mode?: "mention" | "auto" | undefined;
2593
3205
  enabled?: boolean | undefined;
3206
+ mode?: "mention" | "auto" | undefined;
2594
3207
  allowlist?: string[] | undefined;
2595
3208
  blocklist?: string[] | undefined;
2596
3209
  }>>;
@@ -2603,8 +3216,8 @@ export declare const AgentConfigSchema: z.ZodObject<{
2603
3216
  name?: string | undefined;
2604
3217
  }[] | undefined;
2605
3218
  dm?: {
2606
- mode: "mention" | "auto";
2607
3219
  enabled: boolean;
3220
+ mode: "mention" | "auto";
2608
3221
  allowlist?: string[] | undefined;
2609
3222
  blocklist?: string[] | undefined;
2610
3223
  } | undefined;
@@ -2612,13 +3225,13 @@ export declare const AgentConfigSchema: z.ZodObject<{
2612
3225
  id: string;
2613
3226
  channels?: {
2614
3227
  id: string;
2615
- mode?: "mention" | "auto" | undefined;
2616
3228
  name?: string | undefined;
3229
+ mode?: "mention" | "auto" | undefined;
2617
3230
  context_messages?: number | undefined;
2618
3231
  }[] | undefined;
2619
3232
  dm?: {
2620
- mode?: "mention" | "auto" | undefined;
2621
3233
  enabled?: boolean | undefined;
3234
+ mode?: "mention" | "auto" | undefined;
2622
3235
  allowlist?: string[] | undefined;
2623
3236
  blocklist?: string[] | undefined;
2624
3237
  } | undefined;
@@ -2630,13 +3243,13 @@ export declare const AgentConfigSchema: z.ZodObject<{
2630
3243
  allowlist: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
2631
3244
  blocklist: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
2632
3245
  }, "strip", z.ZodTypeAny, {
2633
- mode: "mention" | "auto";
2634
3246
  enabled: boolean;
3247
+ mode: "mention" | "auto";
2635
3248
  allowlist?: string[] | undefined;
2636
3249
  blocklist?: string[] | undefined;
2637
3250
  }, {
2638
- mode?: "mention" | "auto" | undefined;
2639
3251
  enabled?: boolean | undefined;
3252
+ mode?: "mention" | "auto" | undefined;
2640
3253
  allowlist?: string[] | undefined;
2641
3254
  blocklist?: string[] | undefined;
2642
3255
  }>>;
@@ -2653,15 +3266,15 @@ export declare const AgentConfigSchema: z.ZodObject<{
2653
3266
  name?: string | undefined;
2654
3267
  }[] | undefined;
2655
3268
  dm?: {
2656
- mode: "mention" | "auto";
2657
3269
  enabled: boolean;
3270
+ mode: "mention" | "auto";
2658
3271
  allowlist?: string[] | undefined;
2659
3272
  blocklist?: string[] | undefined;
2660
3273
  } | undefined;
2661
3274
  }[];
2662
3275
  dm?: {
2663
- mode: "mention" | "auto";
2664
3276
  enabled: boolean;
3277
+ mode: "mention" | "auto";
2665
3278
  allowlist?: string[] | undefined;
2666
3279
  blocklist?: string[] | undefined;
2667
3280
  } | undefined;
@@ -2675,20 +3288,20 @@ export declare const AgentConfigSchema: z.ZodObject<{
2675
3288
  id: string;
2676
3289
  channels?: {
2677
3290
  id: string;
2678
- mode?: "mention" | "auto" | undefined;
2679
3291
  name?: string | undefined;
3292
+ mode?: "mention" | "auto" | undefined;
2680
3293
  context_messages?: number | undefined;
2681
3294
  }[] | undefined;
2682
3295
  dm?: {
2683
- mode?: "mention" | "auto" | undefined;
2684
3296
  enabled?: boolean | undefined;
3297
+ mode?: "mention" | "auto" | undefined;
2685
3298
  allowlist?: string[] | undefined;
2686
3299
  blocklist?: string[] | undefined;
2687
3300
  } | undefined;
2688
3301
  }[];
2689
3302
  dm?: {
2690
- mode?: "mention" | "auto" | undefined;
2691
3303
  enabled?: boolean | undefined;
3304
+ mode?: "mention" | "auto" | undefined;
2692
3305
  allowlist?: string[] | undefined;
2693
3306
  blocklist?: string[] | undefined;
2694
3307
  } | undefined;
@@ -2713,15 +3326,15 @@ export declare const AgentConfigSchema: z.ZodObject<{
2713
3326
  name?: string | undefined;
2714
3327
  }[] | undefined;
2715
3328
  dm?: {
2716
- mode: "mention" | "auto";
2717
3329
  enabled: boolean;
3330
+ mode: "mention" | "auto";
2718
3331
  allowlist?: string[] | undefined;
2719
3332
  blocklist?: string[] | undefined;
2720
3333
  } | undefined;
2721
3334
  }[];
2722
3335
  dm?: {
2723
- mode: "mention" | "auto";
2724
3336
  enabled: boolean;
3337
+ mode: "mention" | "auto";
2725
3338
  allowlist?: string[] | undefined;
2726
3339
  blocklist?: string[] | undefined;
2727
3340
  } | undefined;
@@ -2737,20 +3350,20 @@ export declare const AgentConfigSchema: z.ZodObject<{
2737
3350
  id: string;
2738
3351
  channels?: {
2739
3352
  id: string;
2740
- mode?: "mention" | "auto" | undefined;
2741
3353
  name?: string | undefined;
3354
+ mode?: "mention" | "auto" | undefined;
2742
3355
  context_messages?: number | undefined;
2743
3356
  }[] | undefined;
2744
3357
  dm?: {
2745
- mode?: "mention" | "auto" | undefined;
2746
3358
  enabled?: boolean | undefined;
3359
+ mode?: "mention" | "auto" | undefined;
2747
3360
  allowlist?: string[] | undefined;
2748
3361
  blocklist?: string[] | undefined;
2749
3362
  } | undefined;
2750
3363
  }[];
2751
3364
  dm?: {
2752
- mode?: "mention" | "auto" | undefined;
2753
3365
  enabled?: boolean | undefined;
3366
+ mode?: "mention" | "auto" | undefined;
2754
3367
  allowlist?: string[] | undefined;
2755
3368
  blocklist?: string[] | undefined;
2756
3369
  } | undefined;
@@ -3080,135 +3693,101 @@ export declare const AgentConfigSchema: z.ZodObject<{
3080
3693
  when?: string | undefined;
3081
3694
  })[] | undefined;
3082
3695
  }>>;
3083
- docker: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodObject<{
3696
+ docker: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodObject<{
3084
3697
  /** Enable Docker containerization for this agent (default: false) */
3085
3698
  enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
3086
3699
  /** Use ephemeral containers (fresh per job, auto-removed) vs persistent (reuse across jobs, kept for inspection) */
3087
3700
  ephemeral: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
3088
- /** Docker image to use (default: anthropic/claude-code:latest) */
3089
- image: z.ZodOptional<z.ZodString>;
3090
- /** Network isolation mode (default: bridge for full network access) */
3091
- network: z.ZodDefault<z.ZodOptional<z.ZodEnum<["none", "bridge", "host"]>>>;
3092
3701
  /** Memory limit (e.g., "2g", "512m") (default: 2g) */
3093
3702
  memory: z.ZodDefault<z.ZodOptional<z.ZodString>>;
3094
3703
  /** CPU shares (relative weight, 512 is normal) */
3095
3704
  cpu_shares: z.ZodOptional<z.ZodNumber>;
3096
- /** Container user as "UID:GID" string (default: match host user) */
3097
- user: z.ZodOptional<z.ZodString>;
3098
3705
  /** Maximum containers to keep per agent before cleanup (default: 5) */
3099
3706
  max_containers: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
3100
- /** Additional volume mounts in Docker format: "host:container:mode" */
3101
- volumes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
3102
3707
  /** Workspace mount mode: rw (read-write, default) or ro (read-only) */
3103
3708
  workspace_mode: z.ZodDefault<z.ZodOptional<z.ZodEnum<["rw", "ro"]>>>;
3104
- /** Environment variables to pass to the container (supports ${VAR} interpolation) */
3105
- env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
3106
- /** @deprecated Use 'image' instead */
3107
- base_image: z.ZodOptional<z.ZodString>;
3108
- }, "strip", z.ZodTypeAny, {
3109
- enabled: boolean;
3110
- ephemeral: boolean;
3111
- network: "none" | "bridge" | "host";
3112
- memory: string;
3113
- max_containers: number;
3114
- workspace_mode: "rw" | "ro";
3115
- image?: string | undefined;
3116
- cpu_shares?: number | undefined;
3117
- user?: string | undefined;
3118
- volumes?: string[] | undefined;
3119
- env?: Record<string, string> | undefined;
3120
- base_image?: string | undefined;
3121
- }, {
3122
- enabled?: boolean | undefined;
3123
- ephemeral?: boolean | undefined;
3124
- image?: string | undefined;
3125
- network?: "none" | "bridge" | "host" | undefined;
3126
- memory?: string | undefined;
3127
- cpu_shares?: number | undefined;
3128
- user?: string | undefined;
3129
- max_containers?: number | undefined;
3130
- volumes?: string[] | undefined;
3131
- workspace_mode?: "rw" | "ro" | undefined;
3132
- env?: Record<string, string> | undefined;
3133
- base_image?: string | undefined;
3134
- }>, {
3709
+ /** Tmpfs mounts in format "path" or "path:options" (e.g., "/tmp", "/tmp:size=100m,mode=1777") */
3710
+ tmpfs: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
3711
+ /** Maximum number of processes (PIDs) allowed in the container (prevents fork bombs) */
3712
+ pids_limit: z.ZodOptional<z.ZodNumber>;
3713
+ /** Container labels for organization and filtering */
3714
+ labels: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
3715
+ /** CPU period in microseconds (default: 100000 = 100ms). Used with cpu_quota for hard CPU limits. */
3716
+ cpu_period: z.ZodOptional<z.ZodNumber>;
3717
+ /** CPU quota in microseconds per cpu_period. E.g., cpu_period=100000 + cpu_quota=50000 = 50% of one CPU. */
3718
+ cpu_quota: z.ZodOptional<z.ZodNumber>;
3719
+ }, "strict", z.ZodTypeAny, {
3135
3720
  enabled: boolean;
3136
3721
  ephemeral: boolean;
3137
- network: "none" | "bridge" | "host";
3138
3722
  memory: string;
3139
3723
  max_containers: number;
3140
3724
  workspace_mode: "rw" | "ro";
3141
- image?: string | undefined;
3725
+ labels?: Record<string, string> | undefined;
3142
3726
  cpu_shares?: number | undefined;
3143
- user?: string | undefined;
3144
- volumes?: string[] | undefined;
3145
- env?: Record<string, string> | undefined;
3146
- base_image?: string | undefined;
3727
+ tmpfs?: string[] | undefined;
3728
+ pids_limit?: number | undefined;
3729
+ cpu_period?: number | undefined;
3730
+ cpu_quota?: number | undefined;
3147
3731
  }, {
3732
+ labels?: Record<string, string> | undefined;
3148
3733
  enabled?: boolean | undefined;
3149
3734
  ephemeral?: boolean | undefined;
3150
- image?: string | undefined;
3151
- network?: "none" | "bridge" | "host" | undefined;
3152
3735
  memory?: string | undefined;
3153
3736
  cpu_shares?: number | undefined;
3154
- user?: string | undefined;
3155
3737
  max_containers?: number | undefined;
3156
- volumes?: string[] | undefined;
3157
3738
  workspace_mode?: "rw" | "ro" | undefined;
3158
- env?: Record<string, string> | undefined;
3159
- base_image?: string | undefined;
3739
+ tmpfs?: string[] | undefined;
3740
+ pids_limit?: number | undefined;
3741
+ cpu_period?: number | undefined;
3742
+ cpu_quota?: number | undefined;
3160
3743
  }>, {
3161
3744
  enabled: boolean;
3162
3745
  ephemeral: boolean;
3163
- network: "none" | "bridge" | "host";
3164
3746
  memory: string;
3165
3747
  max_containers: number;
3166
3748
  workspace_mode: "rw" | "ro";
3167
- image?: string | undefined;
3749
+ labels?: Record<string, string> | undefined;
3168
3750
  cpu_shares?: number | undefined;
3169
- user?: string | undefined;
3170
- volumes?: string[] | undefined;
3171
- env?: Record<string, string> | undefined;
3172
- base_image?: string | undefined;
3751
+ tmpfs?: string[] | undefined;
3752
+ pids_limit?: number | undefined;
3753
+ cpu_period?: number | undefined;
3754
+ cpu_quota?: number | undefined;
3173
3755
  }, {
3756
+ labels?: Record<string, string> | undefined;
3174
3757
  enabled?: boolean | undefined;
3175
3758
  ephemeral?: boolean | undefined;
3176
- image?: string | undefined;
3177
- network?: "none" | "bridge" | "host" | undefined;
3178
3759
  memory?: string | undefined;
3179
3760
  cpu_shares?: number | undefined;
3180
- user?: string | undefined;
3181
3761
  max_containers?: number | undefined;
3182
- volumes?: string[] | undefined;
3183
3762
  workspace_mode?: "rw" | "ro" | undefined;
3184
- env?: Record<string, string> | undefined;
3185
- base_image?: string | undefined;
3763
+ tmpfs?: string[] | undefined;
3764
+ pids_limit?: number | undefined;
3765
+ cpu_period?: number | undefined;
3766
+ cpu_quota?: number | undefined;
3186
3767
  }>, {
3187
3768
  enabled: boolean;
3188
3769
  ephemeral: boolean;
3189
- network: "none" | "bridge" | "host";
3190
3770
  memory: string;
3191
3771
  max_containers: number;
3192
3772
  workspace_mode: "rw" | "ro";
3193
- image?: string | undefined;
3773
+ labels?: Record<string, string> | undefined;
3194
3774
  cpu_shares?: number | undefined;
3195
- user?: string | undefined;
3196
- volumes?: string[] | undefined;
3197
- env?: Record<string, string> | undefined;
3198
- base_image?: string | undefined;
3775
+ tmpfs?: string[] | undefined;
3776
+ pids_limit?: number | undefined;
3777
+ cpu_period?: number | undefined;
3778
+ cpu_quota?: number | undefined;
3199
3779
  }, {
3780
+ labels?: Record<string, string> | undefined;
3200
3781
  enabled?: boolean | undefined;
3201
3782
  ephemeral?: boolean | undefined;
3202
- image?: string | undefined;
3203
- network?: "none" | "bridge" | "host" | undefined;
3204
3783
  memory?: string | undefined;
3205
3784
  cpu_shares?: number | undefined;
3206
- user?: string | undefined;
3207
3785
  max_containers?: number | undefined;
3208
- volumes?: string[] | undefined;
3209
3786
  workspace_mode?: "rw" | "ro" | undefined;
3210
- env?: Record<string, string> | undefined;
3211
- base_image?: string | undefined;
3787
+ tmpfs?: string[] | undefined;
3788
+ pids_limit?: number | undefined;
3789
+ cpu_period?: number | undefined;
3790
+ cpu_quota?: number | undefined;
3212
3791
  }>>;
3213
3792
  instances: z.ZodOptional<z.ZodObject<{
3214
3793
  max_concurrent: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
@@ -3220,6 +3799,8 @@ export declare const AgentConfigSchema: z.ZodObject<{
3220
3799
  model: z.ZodOptional<z.ZodString>;
3221
3800
  max_turns: z.ZodOptional<z.ZodNumber>;
3222
3801
  permission_mode: z.ZodOptional<z.ZodEnum<["default", "acceptEdits", "bypassPermissions", "plan", "delegate", "dontAsk"]>>;
3802
+ allowed_tools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
3803
+ denied_tools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
3223
3804
  /** Path to metadata JSON file written by agent (default: metadata.json in workspace) */
3224
3805
  metadata_file: z.ZodOptional<z.ZodString>;
3225
3806
  /**
@@ -3248,25 +3829,15 @@ export declare const AgentConfigSchema: z.ZodObject<{
3248
3829
  docker?: {
3249
3830
  enabled: boolean;
3250
3831
  ephemeral: boolean;
3251
- network: "none" | "bridge" | "host";
3252
3832
  memory: string;
3253
3833
  max_containers: number;
3254
3834
  workspace_mode: "rw" | "ro";
3255
- image?: string | undefined;
3835
+ labels?: Record<string, string> | undefined;
3256
3836
  cpu_shares?: number | undefined;
3257
- user?: string | undefined;
3258
- volumes?: string[] | undefined;
3259
- env?: Record<string, string> | undefined;
3260
- base_image?: string | undefined;
3261
- } | undefined;
3262
- permissions?: {
3263
- mode: "default" | "acceptEdits" | "bypassPermissions" | "plan" | "delegate" | "dontAsk";
3264
- allowed_tools?: string[] | undefined;
3265
- denied_tools?: string[] | undefined;
3266
- bash?: {
3267
- allowed_commands?: string[] | undefined;
3268
- denied_patterns?: string[] | undefined;
3269
- } | undefined;
3837
+ tmpfs?: string[] | undefined;
3838
+ pids_limit?: number | undefined;
3839
+ cpu_period?: number | undefined;
3840
+ cpu_quota?: number | undefined;
3270
3841
  } | undefined;
3271
3842
  work_source?: {
3272
3843
  type: "github";
@@ -3304,6 +3875,8 @@ export declare const AgentConfigSchema: z.ZodObject<{
3304
3875
  model?: string | undefined;
3305
3876
  } | undefined;
3306
3877
  permission_mode?: "default" | "acceptEdits" | "bypassPermissions" | "plan" | "delegate" | "dontAsk" | undefined;
3878
+ allowed_tools?: string[] | undefined;
3879
+ denied_tools?: string[] | undefined;
3307
3880
  chat?: {
3308
3881
  discord?: {
3309
3882
  bot_token_env: string;
@@ -3318,15 +3891,15 @@ export declare const AgentConfigSchema: z.ZodObject<{
3318
3891
  name?: string | undefined;
3319
3892
  }[] | undefined;
3320
3893
  dm?: {
3321
- mode: "mention" | "auto";
3322
3894
  enabled: boolean;
3895
+ mode: "mention" | "auto";
3323
3896
  allowlist?: string[] | undefined;
3324
3897
  blocklist?: string[] | undefined;
3325
3898
  } | undefined;
3326
3899
  }[];
3327
3900
  dm?: {
3328
- mode: "mention" | "auto";
3329
3901
  enabled: boolean;
3902
+ mode: "mention" | "auto";
3330
3903
  allowlist?: string[] | undefined;
3331
3904
  blocklist?: string[] | undefined;
3332
3905
  } | undefined;
@@ -3445,27 +4018,17 @@ export declare const AgentConfigSchema: z.ZodObject<{
3445
4018
  max_turns?: number | undefined;
3446
4019
  model?: string | undefined;
3447
4020
  docker?: {
4021
+ labels?: Record<string, string> | undefined;
3448
4022
  enabled?: boolean | undefined;
3449
4023
  ephemeral?: boolean | undefined;
3450
- image?: string | undefined;
3451
- network?: "none" | "bridge" | "host" | undefined;
3452
4024
  memory?: string | undefined;
3453
4025
  cpu_shares?: number | undefined;
3454
- user?: string | undefined;
3455
4026
  max_containers?: number | undefined;
3456
- volumes?: string[] | undefined;
3457
4027
  workspace_mode?: "rw" | "ro" | undefined;
3458
- env?: Record<string, string> | undefined;
3459
- base_image?: string | undefined;
3460
- } | undefined;
3461
- permissions?: {
3462
- mode?: "default" | "acceptEdits" | "bypassPermissions" | "plan" | "delegate" | "dontAsk" | undefined;
3463
- allowed_tools?: string[] | undefined;
3464
- denied_tools?: string[] | undefined;
3465
- bash?: {
3466
- allowed_commands?: string[] | undefined;
3467
- denied_patterns?: string[] | undefined;
3468
- } | undefined;
4028
+ tmpfs?: string[] | undefined;
4029
+ pids_limit?: number | undefined;
4030
+ cpu_period?: number | undefined;
4031
+ cpu_quota?: number | undefined;
3469
4032
  } | undefined;
3470
4033
  work_source?: {
3471
4034
  type: "github";
@@ -3503,6 +4066,8 @@ export declare const AgentConfigSchema: z.ZodObject<{
3503
4066
  model?: string | undefined;
3504
4067
  } | undefined;
3505
4068
  permission_mode?: "default" | "acceptEdits" | "bypassPermissions" | "plan" | "delegate" | "dontAsk" | undefined;
4069
+ allowed_tools?: string[] | undefined;
4070
+ denied_tools?: string[] | undefined;
3506
4071
  chat?: {
3507
4072
  discord?: {
3508
4073
  bot_token_env: string;
@@ -3510,20 +4075,20 @@ export declare const AgentConfigSchema: z.ZodObject<{
3510
4075
  id: string;
3511
4076
  channels?: {
3512
4077
  id: string;
3513
- mode?: "mention" | "auto" | undefined;
3514
4078
  name?: string | undefined;
4079
+ mode?: "mention" | "auto" | undefined;
3515
4080
  context_messages?: number | undefined;
3516
4081
  }[] | undefined;
3517
4082
  dm?: {
3518
- mode?: "mention" | "auto" | undefined;
3519
4083
  enabled?: boolean | undefined;
4084
+ mode?: "mention" | "auto" | undefined;
3520
4085
  allowlist?: string[] | undefined;
3521
4086
  blocklist?: string[] | undefined;
3522
4087
  } | undefined;
3523
4088
  }[];
3524
4089
  dm?: {
3525
- mode?: "mention" | "auto" | undefined;
3526
4090
  enabled?: boolean | undefined;
4091
+ mode?: "mention" | "auto" | undefined;
3527
4092
  allowlist?: string[] | undefined;
3528
4093
  blocklist?: string[] | undefined;
3529
4094
  } | undefined;
@@ -3707,7 +4272,7 @@ export declare const FleetConfigSchema: z.ZodObject<{
3707
4272
  description?: string | undefined;
3708
4273
  }>>;
3709
4274
  defaults: z.ZodOptional<z.ZodObject<{
3710
- docker: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodObject<{
4275
+ docker: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodObject<{
3711
4276
  /** Enable Docker containerization for this agent (default: false) */
3712
4277
  enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
3713
4278
  /** Use ephemeral containers (fresh per job, auto-removed) vs persistent (reuse across jobs, kept for inspection) */
@@ -3730,143 +4295,266 @@ export declare const FleetConfigSchema: z.ZodObject<{
3730
4295
  workspace_mode: z.ZodDefault<z.ZodOptional<z.ZodEnum<["rw", "ro"]>>>;
3731
4296
  /** Environment variables to pass to the container (supports ${VAR} interpolation) */
3732
4297
  env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
4298
+ /** Port bindings in format "hostPort:containerPort" or "containerPort" (e.g., "8080:80", "3000") */
4299
+ ports: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
4300
+ /** Tmpfs mounts in format "path" or "path:options" (e.g., "/tmp", "/tmp:size=100m,mode=1777") */
4301
+ tmpfs: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
4302
+ /** Maximum number of processes (PIDs) allowed in the container (prevents fork bombs) */
4303
+ pids_limit: z.ZodOptional<z.ZodNumber>;
4304
+ /** Container labels for organization and filtering */
4305
+ labels: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
4306
+ /** CPU period in microseconds (default: 100000 = 100ms). Used with cpu_quota for hard CPU limits. */
4307
+ cpu_period: z.ZodOptional<z.ZodNumber>;
4308
+ /** CPU quota in microseconds per cpu_period. E.g., cpu_period=100000 + cpu_quota=50000 = 50% of one CPU. */
4309
+ cpu_quota: z.ZodOptional<z.ZodNumber>;
3733
4310
  /** @deprecated Use 'image' instead */
3734
4311
  base_image: z.ZodOptional<z.ZodString>;
3735
- }, "strip", z.ZodTypeAny, {
4312
+ /**
4313
+ * Raw dockerode HostConfig passthrough for advanced options.
4314
+ * Values here override any translated options (e.g., host_config.Memory overrides memory).
4315
+ * See dockerode documentation for available options.
4316
+ */
4317
+ host_config: z.ZodOptional<z.ZodType<HostConfig, z.ZodTypeDef, HostConfig>>;
4318
+ }, "strict", z.ZodTypeAny, {
3736
4319
  enabled: boolean;
3737
4320
  ephemeral: boolean;
3738
- network: "none" | "bridge" | "host";
3739
4321
  memory: string;
3740
4322
  max_containers: number;
3741
4323
  workspace_mode: "rw" | "ro";
3742
- image?: string | undefined;
4324
+ network: "none" | "bridge" | "host";
4325
+ labels?: Record<string, string> | undefined;
3743
4326
  cpu_shares?: number | undefined;
4327
+ tmpfs?: string[] | undefined;
4328
+ pids_limit?: number | undefined;
4329
+ cpu_period?: number | undefined;
4330
+ cpu_quota?: number | undefined;
4331
+ image?: string | undefined;
3744
4332
  user?: string | undefined;
3745
4333
  volumes?: string[] | undefined;
3746
4334
  env?: Record<string, string> | undefined;
4335
+ ports?: string[] | undefined;
3747
4336
  base_image?: string | undefined;
4337
+ host_config?: HostConfig | undefined;
3748
4338
  }, {
4339
+ labels?: Record<string, string> | undefined;
3749
4340
  enabled?: boolean | undefined;
3750
4341
  ephemeral?: boolean | undefined;
3751
- image?: string | undefined;
3752
- network?: "none" | "bridge" | "host" | undefined;
3753
4342
  memory?: string | undefined;
3754
4343
  cpu_shares?: number | undefined;
3755
- user?: string | undefined;
3756
4344
  max_containers?: number | undefined;
3757
- volumes?: string[] | undefined;
3758
4345
  workspace_mode?: "rw" | "ro" | undefined;
4346
+ tmpfs?: string[] | undefined;
4347
+ pids_limit?: number | undefined;
4348
+ cpu_period?: number | undefined;
4349
+ cpu_quota?: number | undefined;
4350
+ image?: string | undefined;
4351
+ network?: "none" | "bridge" | "host" | undefined;
4352
+ user?: string | undefined;
4353
+ volumes?: string[] | undefined;
3759
4354
  env?: Record<string, string> | undefined;
4355
+ ports?: string[] | undefined;
3760
4356
  base_image?: string | undefined;
4357
+ host_config?: HostConfig | undefined;
3761
4358
  }>, {
3762
4359
  enabled: boolean;
3763
4360
  ephemeral: boolean;
3764
- network: "none" | "bridge" | "host";
3765
4361
  memory: string;
3766
4362
  max_containers: number;
3767
4363
  workspace_mode: "rw" | "ro";
3768
- image?: string | undefined;
4364
+ network: "none" | "bridge" | "host";
4365
+ labels?: Record<string, string> | undefined;
3769
4366
  cpu_shares?: number | undefined;
4367
+ tmpfs?: string[] | undefined;
4368
+ pids_limit?: number | undefined;
4369
+ cpu_period?: number | undefined;
4370
+ cpu_quota?: number | undefined;
4371
+ image?: string | undefined;
3770
4372
  user?: string | undefined;
3771
4373
  volumes?: string[] | undefined;
3772
4374
  env?: Record<string, string> | undefined;
4375
+ ports?: string[] | undefined;
3773
4376
  base_image?: string | undefined;
4377
+ host_config?: HostConfig | undefined;
3774
4378
  }, {
4379
+ labels?: Record<string, string> | undefined;
3775
4380
  enabled?: boolean | undefined;
3776
4381
  ephemeral?: boolean | undefined;
3777
- image?: string | undefined;
3778
- network?: "none" | "bridge" | "host" | undefined;
3779
4382
  memory?: string | undefined;
3780
4383
  cpu_shares?: number | undefined;
3781
- user?: string | undefined;
3782
4384
  max_containers?: number | undefined;
3783
- volumes?: string[] | undefined;
3784
4385
  workspace_mode?: "rw" | "ro" | undefined;
4386
+ tmpfs?: string[] | undefined;
4387
+ pids_limit?: number | undefined;
4388
+ cpu_period?: number | undefined;
4389
+ cpu_quota?: number | undefined;
4390
+ image?: string | undefined;
4391
+ network?: "none" | "bridge" | "host" | undefined;
4392
+ user?: string | undefined;
4393
+ volumes?: string[] | undefined;
3785
4394
  env?: Record<string, string> | undefined;
4395
+ ports?: string[] | undefined;
3786
4396
  base_image?: string | undefined;
4397
+ host_config?: HostConfig | undefined;
3787
4398
  }>, {
3788
4399
  enabled: boolean;
3789
4400
  ephemeral: boolean;
3790
- network: "none" | "bridge" | "host";
3791
4401
  memory: string;
3792
4402
  max_containers: number;
3793
4403
  workspace_mode: "rw" | "ro";
3794
- image?: string | undefined;
4404
+ network: "none" | "bridge" | "host";
4405
+ labels?: Record<string, string> | undefined;
3795
4406
  cpu_shares?: number | undefined;
4407
+ tmpfs?: string[] | undefined;
4408
+ pids_limit?: number | undefined;
4409
+ cpu_period?: number | undefined;
4410
+ cpu_quota?: number | undefined;
4411
+ image?: string | undefined;
3796
4412
  user?: string | undefined;
3797
4413
  volumes?: string[] | undefined;
3798
4414
  env?: Record<string, string> | undefined;
4415
+ ports?: string[] | undefined;
3799
4416
  base_image?: string | undefined;
4417
+ host_config?: HostConfig | undefined;
3800
4418
  }, {
4419
+ labels?: Record<string, string> | undefined;
3801
4420
  enabled?: boolean | undefined;
3802
4421
  ephemeral?: boolean | undefined;
4422
+ memory?: string | undefined;
4423
+ cpu_shares?: number | undefined;
4424
+ max_containers?: number | undefined;
4425
+ workspace_mode?: "rw" | "ro" | undefined;
4426
+ tmpfs?: string[] | undefined;
4427
+ pids_limit?: number | undefined;
4428
+ cpu_period?: number | undefined;
4429
+ cpu_quota?: number | undefined;
3803
4430
  image?: string | undefined;
3804
4431
  network?: "none" | "bridge" | "host" | undefined;
3805
- memory?: string | undefined;
4432
+ user?: string | undefined;
4433
+ volumes?: string[] | undefined;
4434
+ env?: Record<string, string> | undefined;
4435
+ ports?: string[] | undefined;
4436
+ base_image?: string | undefined;
4437
+ host_config?: HostConfig | undefined;
4438
+ }>, {
4439
+ enabled: boolean;
4440
+ ephemeral: boolean;
4441
+ memory: string;
4442
+ max_containers: number;
4443
+ workspace_mode: "rw" | "ro";
4444
+ network: "none" | "bridge" | "host";
4445
+ labels?: Record<string, string> | undefined;
3806
4446
  cpu_shares?: number | undefined;
4447
+ tmpfs?: string[] | undefined;
4448
+ pids_limit?: number | undefined;
4449
+ cpu_period?: number | undefined;
4450
+ cpu_quota?: number | undefined;
4451
+ image?: string | undefined;
3807
4452
  user?: string | undefined;
3808
- max_containers?: number | undefined;
3809
4453
  volumes?: string[] | undefined;
4454
+ env?: Record<string, string> | undefined;
4455
+ ports?: string[] | undefined;
4456
+ base_image?: string | undefined;
4457
+ host_config?: HostConfig | undefined;
4458
+ }, {
4459
+ labels?: Record<string, string> | undefined;
4460
+ enabled?: boolean | undefined;
4461
+ ephemeral?: boolean | undefined;
4462
+ memory?: string | undefined;
4463
+ cpu_shares?: number | undefined;
4464
+ max_containers?: number | undefined;
3810
4465
  workspace_mode?: "rw" | "ro" | undefined;
4466
+ tmpfs?: string[] | undefined;
4467
+ pids_limit?: number | undefined;
4468
+ cpu_period?: number | undefined;
4469
+ cpu_quota?: number | undefined;
4470
+ image?: string | undefined;
4471
+ network?: "none" | "bridge" | "host" | undefined;
4472
+ user?: string | undefined;
4473
+ volumes?: string[] | undefined;
3811
4474
  env?: Record<string, string> | undefined;
4475
+ ports?: string[] | undefined;
3812
4476
  base_image?: string | undefined;
4477
+ host_config?: HostConfig | undefined;
3813
4478
  }>, {
3814
4479
  enabled: boolean;
3815
4480
  ephemeral: boolean;
3816
- network: "none" | "bridge" | "host";
3817
4481
  memory: string;
3818
4482
  max_containers: number;
3819
4483
  workspace_mode: "rw" | "ro";
3820
- image?: string | undefined;
4484
+ network: "none" | "bridge" | "host";
4485
+ labels?: Record<string, string> | undefined;
3821
4486
  cpu_shares?: number | undefined;
4487
+ tmpfs?: string[] | undefined;
4488
+ pids_limit?: number | undefined;
4489
+ cpu_period?: number | undefined;
4490
+ cpu_quota?: number | undefined;
4491
+ image?: string | undefined;
3822
4492
  user?: string | undefined;
3823
4493
  volumes?: string[] | undefined;
3824
4494
  env?: Record<string, string> | undefined;
4495
+ ports?: string[] | undefined;
3825
4496
  base_image?: string | undefined;
4497
+ host_config?: HostConfig | undefined;
3826
4498
  }, {
4499
+ labels?: Record<string, string> | undefined;
3827
4500
  enabled?: boolean | undefined;
3828
4501
  ephemeral?: boolean | undefined;
4502
+ memory?: string | undefined;
4503
+ cpu_shares?: number | undefined;
4504
+ max_containers?: number | undefined;
4505
+ workspace_mode?: "rw" | "ro" | undefined;
4506
+ tmpfs?: string[] | undefined;
4507
+ pids_limit?: number | undefined;
4508
+ cpu_period?: number | undefined;
4509
+ cpu_quota?: number | undefined;
3829
4510
  image?: string | undefined;
3830
4511
  network?: "none" | "bridge" | "host" | undefined;
3831
- memory?: string | undefined;
4512
+ user?: string | undefined;
4513
+ volumes?: string[] | undefined;
4514
+ env?: Record<string, string> | undefined;
4515
+ ports?: string[] | undefined;
4516
+ base_image?: string | undefined;
4517
+ host_config?: HostConfig | undefined;
4518
+ }>, {
4519
+ enabled: boolean;
4520
+ ephemeral: boolean;
4521
+ memory: string;
4522
+ max_containers: number;
4523
+ workspace_mode: "rw" | "ro";
4524
+ network: "none" | "bridge" | "host";
4525
+ labels?: Record<string, string> | undefined;
3832
4526
  cpu_shares?: number | undefined;
4527
+ tmpfs?: string[] | undefined;
4528
+ pids_limit?: number | undefined;
4529
+ cpu_period?: number | undefined;
4530
+ cpu_quota?: number | undefined;
4531
+ image?: string | undefined;
3833
4532
  user?: string | undefined;
3834
- max_containers?: number | undefined;
3835
4533
  volumes?: string[] | undefined;
3836
- workspace_mode?: "rw" | "ro" | undefined;
3837
4534
  env?: Record<string, string> | undefined;
4535
+ ports?: string[] | undefined;
3838
4536
  base_image?: string | undefined;
3839
- }>>;
3840
- permissions: z.ZodOptional<z.ZodObject<{
3841
- mode: z.ZodDefault<z.ZodOptional<z.ZodEnum<["default", "acceptEdits", "bypassPermissions", "plan", "delegate", "dontAsk"]>>>;
3842
- allowed_tools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
3843
- denied_tools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
3844
- bash: z.ZodOptional<z.ZodObject<{
3845
- allowed_commands: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
3846
- denied_patterns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
3847
- }, "strip", z.ZodTypeAny, {
3848
- allowed_commands?: string[] | undefined;
3849
- denied_patterns?: string[] | undefined;
3850
- }, {
3851
- allowed_commands?: string[] | undefined;
3852
- denied_patterns?: string[] | undefined;
3853
- }>>;
3854
- }, "strip", z.ZodTypeAny, {
3855
- mode: "default" | "acceptEdits" | "bypassPermissions" | "plan" | "delegate" | "dontAsk";
3856
- allowed_tools?: string[] | undefined;
3857
- denied_tools?: string[] | undefined;
3858
- bash?: {
3859
- allowed_commands?: string[] | undefined;
3860
- denied_patterns?: string[] | undefined;
3861
- } | undefined;
4537
+ host_config?: HostConfig | undefined;
3862
4538
  }, {
3863
- mode?: "default" | "acceptEdits" | "bypassPermissions" | "plan" | "delegate" | "dontAsk" | undefined;
3864
- allowed_tools?: string[] | undefined;
3865
- denied_tools?: string[] | undefined;
3866
- bash?: {
3867
- allowed_commands?: string[] | undefined;
3868
- denied_patterns?: string[] | undefined;
3869
- } | undefined;
4539
+ labels?: Record<string, string> | undefined;
4540
+ enabled?: boolean | undefined;
4541
+ ephemeral?: boolean | undefined;
4542
+ memory?: string | undefined;
4543
+ cpu_shares?: number | undefined;
4544
+ max_containers?: number | undefined;
4545
+ workspace_mode?: "rw" | "ro" | undefined;
4546
+ tmpfs?: string[] | undefined;
4547
+ pids_limit?: number | undefined;
4548
+ cpu_period?: number | undefined;
4549
+ cpu_quota?: number | undefined;
4550
+ image?: string | undefined;
4551
+ network?: "none" | "bridge" | "host" | undefined;
4552
+ user?: string | undefined;
4553
+ volumes?: string[] | undefined;
4554
+ env?: Record<string, string> | undefined;
4555
+ ports?: string[] | undefined;
4556
+ base_image?: string | undefined;
4557
+ host_config?: HostConfig | undefined;
3870
4558
  }>>;
3871
4559
  work_source: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
3872
4560
  type: z.ZodLiteral<"github">;
@@ -3993,31 +4681,31 @@ export declare const FleetConfigSchema: z.ZodObject<{
3993
4681
  model: z.ZodOptional<z.ZodString>;
3994
4682
  max_turns: z.ZodOptional<z.ZodNumber>;
3995
4683
  permission_mode: z.ZodOptional<z.ZodEnum<["default", "acceptEdits", "bypassPermissions", "plan", "delegate", "dontAsk"]>>;
4684
+ allowed_tools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
4685
+ denied_tools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
3996
4686
  }, "strip", z.ZodTypeAny, {
3997
4687
  max_turns?: number | undefined;
3998
4688
  model?: string | undefined;
3999
4689
  docker?: {
4000
4690
  enabled: boolean;
4001
4691
  ephemeral: boolean;
4002
- network: "none" | "bridge" | "host";
4003
4692
  memory: string;
4004
4693
  max_containers: number;
4005
4694
  workspace_mode: "rw" | "ro";
4006
- image?: string | undefined;
4695
+ network: "none" | "bridge" | "host";
4696
+ labels?: Record<string, string> | undefined;
4007
4697
  cpu_shares?: number | undefined;
4698
+ tmpfs?: string[] | undefined;
4699
+ pids_limit?: number | undefined;
4700
+ cpu_period?: number | undefined;
4701
+ cpu_quota?: number | undefined;
4702
+ image?: string | undefined;
4008
4703
  user?: string | undefined;
4009
4704
  volumes?: string[] | undefined;
4010
4705
  env?: Record<string, string> | undefined;
4706
+ ports?: string[] | undefined;
4011
4707
  base_image?: string | undefined;
4012
- } | undefined;
4013
- permissions?: {
4014
- mode: "default" | "acceptEdits" | "bypassPermissions" | "plan" | "delegate" | "dontAsk";
4015
- allowed_tools?: string[] | undefined;
4016
- denied_tools?: string[] | undefined;
4017
- bash?: {
4018
- allowed_commands?: string[] | undefined;
4019
- denied_patterns?: string[] | undefined;
4020
- } | undefined;
4708
+ host_config?: HostConfig | undefined;
4021
4709
  } | undefined;
4022
4710
  work_source?: {
4023
4711
  type: "github";
@@ -4055,31 +4743,31 @@ export declare const FleetConfigSchema: z.ZodObject<{
4055
4743
  model?: string | undefined;
4056
4744
  } | undefined;
4057
4745
  permission_mode?: "default" | "acceptEdits" | "bypassPermissions" | "plan" | "delegate" | "dontAsk" | undefined;
4746
+ allowed_tools?: string[] | undefined;
4747
+ denied_tools?: string[] | undefined;
4058
4748
  }, {
4059
4749
  max_turns?: number | undefined;
4060
4750
  model?: string | undefined;
4061
4751
  docker?: {
4752
+ labels?: Record<string, string> | undefined;
4062
4753
  enabled?: boolean | undefined;
4063
4754
  ephemeral?: boolean | undefined;
4064
- image?: string | undefined;
4065
- network?: "none" | "bridge" | "host" | undefined;
4066
4755
  memory?: string | undefined;
4067
4756
  cpu_shares?: number | undefined;
4068
- user?: string | undefined;
4069
4757
  max_containers?: number | undefined;
4070
- volumes?: string[] | undefined;
4071
4758
  workspace_mode?: "rw" | "ro" | undefined;
4759
+ tmpfs?: string[] | undefined;
4760
+ pids_limit?: number | undefined;
4761
+ cpu_period?: number | undefined;
4762
+ cpu_quota?: number | undefined;
4763
+ image?: string | undefined;
4764
+ network?: "none" | "bridge" | "host" | undefined;
4765
+ user?: string | undefined;
4766
+ volumes?: string[] | undefined;
4072
4767
  env?: Record<string, string> | undefined;
4768
+ ports?: string[] | undefined;
4073
4769
  base_image?: string | undefined;
4074
- } | undefined;
4075
- permissions?: {
4076
- mode?: "default" | "acceptEdits" | "bypassPermissions" | "plan" | "delegate" | "dontAsk" | undefined;
4077
- allowed_tools?: string[] | undefined;
4078
- denied_tools?: string[] | undefined;
4079
- bash?: {
4080
- allowed_commands?: string[] | undefined;
4081
- denied_patterns?: string[] | undefined;
4082
- } | undefined;
4770
+ host_config?: HostConfig | undefined;
4083
4771
  } | undefined;
4084
4772
  work_source?: {
4085
4773
  type: "github";
@@ -4117,6 +4805,8 @@ export declare const FleetConfigSchema: z.ZodObject<{
4117
4805
  model?: string | undefined;
4118
4806
  } | undefined;
4119
4807
  permission_mode?: "default" | "acceptEdits" | "bypassPermissions" | "plan" | "delegate" | "dontAsk" | undefined;
4808
+ allowed_tools?: string[] | undefined;
4809
+ denied_tools?: string[] | undefined;
4120
4810
  }>>;
4121
4811
  working_directory: z.ZodOptional<z.ZodObject<{
4122
4812
  root: z.ZodString;
@@ -4184,7 +4874,7 @@ export declare const FleetConfigSchema: z.ZodObject<{
4184
4874
  port?: number | undefined;
4185
4875
  secret_env?: string | undefined;
4186
4876
  }>>;
4187
- docker: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodObject<{
4877
+ docker: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodObject<{
4188
4878
  /** Enable Docker containerization for this agent (default: false) */
4189
4879
  enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
4190
4880
  /** Use ephemeral containers (fresh per job, auto-removed) vs persistent (reuse across jobs, kept for inspection) */
@@ -4207,112 +4897,266 @@ export declare const FleetConfigSchema: z.ZodObject<{
4207
4897
  workspace_mode: z.ZodDefault<z.ZodOptional<z.ZodEnum<["rw", "ro"]>>>;
4208
4898
  /** Environment variables to pass to the container (supports ${VAR} interpolation) */
4209
4899
  env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
4900
+ /** Port bindings in format "hostPort:containerPort" or "containerPort" (e.g., "8080:80", "3000") */
4901
+ ports: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
4902
+ /** Tmpfs mounts in format "path" or "path:options" (e.g., "/tmp", "/tmp:size=100m,mode=1777") */
4903
+ tmpfs: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
4904
+ /** Maximum number of processes (PIDs) allowed in the container (prevents fork bombs) */
4905
+ pids_limit: z.ZodOptional<z.ZodNumber>;
4906
+ /** Container labels for organization and filtering */
4907
+ labels: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
4908
+ /** CPU period in microseconds (default: 100000 = 100ms). Used with cpu_quota for hard CPU limits. */
4909
+ cpu_period: z.ZodOptional<z.ZodNumber>;
4910
+ /** CPU quota in microseconds per cpu_period. E.g., cpu_period=100000 + cpu_quota=50000 = 50% of one CPU. */
4911
+ cpu_quota: z.ZodOptional<z.ZodNumber>;
4210
4912
  /** @deprecated Use 'image' instead */
4211
4913
  base_image: z.ZodOptional<z.ZodString>;
4212
- }, "strip", z.ZodTypeAny, {
4914
+ /**
4915
+ * Raw dockerode HostConfig passthrough for advanced options.
4916
+ * Values here override any translated options (e.g., host_config.Memory overrides memory).
4917
+ * See dockerode documentation for available options.
4918
+ */
4919
+ host_config: z.ZodOptional<z.ZodType<HostConfig, z.ZodTypeDef, HostConfig>>;
4920
+ }, "strict", z.ZodTypeAny, {
4213
4921
  enabled: boolean;
4214
4922
  ephemeral: boolean;
4215
- network: "none" | "bridge" | "host";
4216
4923
  memory: string;
4217
4924
  max_containers: number;
4218
4925
  workspace_mode: "rw" | "ro";
4219
- image?: string | undefined;
4926
+ network: "none" | "bridge" | "host";
4927
+ labels?: Record<string, string> | undefined;
4220
4928
  cpu_shares?: number | undefined;
4929
+ tmpfs?: string[] | undefined;
4930
+ pids_limit?: number | undefined;
4931
+ cpu_period?: number | undefined;
4932
+ cpu_quota?: number | undefined;
4933
+ image?: string | undefined;
4221
4934
  user?: string | undefined;
4222
4935
  volumes?: string[] | undefined;
4223
4936
  env?: Record<string, string> | undefined;
4937
+ ports?: string[] | undefined;
4224
4938
  base_image?: string | undefined;
4939
+ host_config?: HostConfig | undefined;
4225
4940
  }, {
4941
+ labels?: Record<string, string> | undefined;
4226
4942
  enabled?: boolean | undefined;
4227
4943
  ephemeral?: boolean | undefined;
4228
- image?: string | undefined;
4229
- network?: "none" | "bridge" | "host" | undefined;
4230
4944
  memory?: string | undefined;
4231
4945
  cpu_shares?: number | undefined;
4232
- user?: string | undefined;
4233
4946
  max_containers?: number | undefined;
4234
- volumes?: string[] | undefined;
4235
4947
  workspace_mode?: "rw" | "ro" | undefined;
4948
+ tmpfs?: string[] | undefined;
4949
+ pids_limit?: number | undefined;
4950
+ cpu_period?: number | undefined;
4951
+ cpu_quota?: number | undefined;
4952
+ image?: string | undefined;
4953
+ network?: "none" | "bridge" | "host" | undefined;
4954
+ user?: string | undefined;
4955
+ volumes?: string[] | undefined;
4236
4956
  env?: Record<string, string> | undefined;
4957
+ ports?: string[] | undefined;
4237
4958
  base_image?: string | undefined;
4959
+ host_config?: HostConfig | undefined;
4238
4960
  }>, {
4239
4961
  enabled: boolean;
4240
4962
  ephemeral: boolean;
4241
- network: "none" | "bridge" | "host";
4242
4963
  memory: string;
4243
4964
  max_containers: number;
4244
4965
  workspace_mode: "rw" | "ro";
4245
- image?: string | undefined;
4966
+ network: "none" | "bridge" | "host";
4967
+ labels?: Record<string, string> | undefined;
4246
4968
  cpu_shares?: number | undefined;
4969
+ tmpfs?: string[] | undefined;
4970
+ pids_limit?: number | undefined;
4971
+ cpu_period?: number | undefined;
4972
+ cpu_quota?: number | undefined;
4973
+ image?: string | undefined;
4247
4974
  user?: string | undefined;
4248
4975
  volumes?: string[] | undefined;
4249
4976
  env?: Record<string, string> | undefined;
4977
+ ports?: string[] | undefined;
4250
4978
  base_image?: string | undefined;
4979
+ host_config?: HostConfig | undefined;
4251
4980
  }, {
4981
+ labels?: Record<string, string> | undefined;
4252
4982
  enabled?: boolean | undefined;
4253
4983
  ephemeral?: boolean | undefined;
4254
- image?: string | undefined;
4255
- network?: "none" | "bridge" | "host" | undefined;
4256
4984
  memory?: string | undefined;
4257
4985
  cpu_shares?: number | undefined;
4258
- user?: string | undefined;
4259
4986
  max_containers?: number | undefined;
4260
- volumes?: string[] | undefined;
4261
4987
  workspace_mode?: "rw" | "ro" | undefined;
4988
+ tmpfs?: string[] | undefined;
4989
+ pids_limit?: number | undefined;
4990
+ cpu_period?: number | undefined;
4991
+ cpu_quota?: number | undefined;
4992
+ image?: string | undefined;
4993
+ network?: "none" | "bridge" | "host" | undefined;
4994
+ user?: string | undefined;
4995
+ volumes?: string[] | undefined;
4262
4996
  env?: Record<string, string> | undefined;
4997
+ ports?: string[] | undefined;
4263
4998
  base_image?: string | undefined;
4999
+ host_config?: HostConfig | undefined;
4264
5000
  }>, {
4265
5001
  enabled: boolean;
4266
5002
  ephemeral: boolean;
4267
- network: "none" | "bridge" | "host";
4268
5003
  memory: string;
4269
5004
  max_containers: number;
4270
5005
  workspace_mode: "rw" | "ro";
4271
- image?: string | undefined;
5006
+ network: "none" | "bridge" | "host";
5007
+ labels?: Record<string, string> | undefined;
4272
5008
  cpu_shares?: number | undefined;
5009
+ tmpfs?: string[] | undefined;
5010
+ pids_limit?: number | undefined;
5011
+ cpu_period?: number | undefined;
5012
+ cpu_quota?: number | undefined;
5013
+ image?: string | undefined;
4273
5014
  user?: string | undefined;
4274
5015
  volumes?: string[] | undefined;
4275
5016
  env?: Record<string, string> | undefined;
5017
+ ports?: string[] | undefined;
4276
5018
  base_image?: string | undefined;
5019
+ host_config?: HostConfig | undefined;
4277
5020
  }, {
5021
+ labels?: Record<string, string> | undefined;
4278
5022
  enabled?: boolean | undefined;
4279
5023
  ephemeral?: boolean | undefined;
5024
+ memory?: string | undefined;
5025
+ cpu_shares?: number | undefined;
5026
+ max_containers?: number | undefined;
5027
+ workspace_mode?: "rw" | "ro" | undefined;
5028
+ tmpfs?: string[] | undefined;
5029
+ pids_limit?: number | undefined;
5030
+ cpu_period?: number | undefined;
5031
+ cpu_quota?: number | undefined;
4280
5032
  image?: string | undefined;
4281
5033
  network?: "none" | "bridge" | "host" | undefined;
4282
- memory?: string | undefined;
5034
+ user?: string | undefined;
5035
+ volumes?: string[] | undefined;
5036
+ env?: Record<string, string> | undefined;
5037
+ ports?: string[] | undefined;
5038
+ base_image?: string | undefined;
5039
+ host_config?: HostConfig | undefined;
5040
+ }>, {
5041
+ enabled: boolean;
5042
+ ephemeral: boolean;
5043
+ memory: string;
5044
+ max_containers: number;
5045
+ workspace_mode: "rw" | "ro";
5046
+ network: "none" | "bridge" | "host";
5047
+ labels?: Record<string, string> | undefined;
4283
5048
  cpu_shares?: number | undefined;
5049
+ tmpfs?: string[] | undefined;
5050
+ pids_limit?: number | undefined;
5051
+ cpu_period?: number | undefined;
5052
+ cpu_quota?: number | undefined;
5053
+ image?: string | undefined;
4284
5054
  user?: string | undefined;
4285
- max_containers?: number | undefined;
4286
5055
  volumes?: string[] | undefined;
5056
+ env?: Record<string, string> | undefined;
5057
+ ports?: string[] | undefined;
5058
+ base_image?: string | undefined;
5059
+ host_config?: HostConfig | undefined;
5060
+ }, {
5061
+ labels?: Record<string, string> | undefined;
5062
+ enabled?: boolean | undefined;
5063
+ ephemeral?: boolean | undefined;
5064
+ memory?: string | undefined;
5065
+ cpu_shares?: number | undefined;
5066
+ max_containers?: number | undefined;
4287
5067
  workspace_mode?: "rw" | "ro" | undefined;
5068
+ tmpfs?: string[] | undefined;
5069
+ pids_limit?: number | undefined;
5070
+ cpu_period?: number | undefined;
5071
+ cpu_quota?: number | undefined;
5072
+ image?: string | undefined;
5073
+ network?: "none" | "bridge" | "host" | undefined;
5074
+ user?: string | undefined;
5075
+ volumes?: string[] | undefined;
4288
5076
  env?: Record<string, string> | undefined;
5077
+ ports?: string[] | undefined;
4289
5078
  base_image?: string | undefined;
5079
+ host_config?: HostConfig | undefined;
4290
5080
  }>, {
4291
5081
  enabled: boolean;
4292
5082
  ephemeral: boolean;
4293
- network: "none" | "bridge" | "host";
4294
5083
  memory: string;
4295
5084
  max_containers: number;
4296
5085
  workspace_mode: "rw" | "ro";
4297
- image?: string | undefined;
5086
+ network: "none" | "bridge" | "host";
5087
+ labels?: Record<string, string> | undefined;
4298
5088
  cpu_shares?: number | undefined;
5089
+ tmpfs?: string[] | undefined;
5090
+ pids_limit?: number | undefined;
5091
+ cpu_period?: number | undefined;
5092
+ cpu_quota?: number | undefined;
5093
+ image?: string | undefined;
4299
5094
  user?: string | undefined;
4300
5095
  volumes?: string[] | undefined;
4301
5096
  env?: Record<string, string> | undefined;
5097
+ ports?: string[] | undefined;
4302
5098
  base_image?: string | undefined;
5099
+ host_config?: HostConfig | undefined;
4303
5100
  }, {
5101
+ labels?: Record<string, string> | undefined;
4304
5102
  enabled?: boolean | undefined;
4305
5103
  ephemeral?: boolean | undefined;
5104
+ memory?: string | undefined;
5105
+ cpu_shares?: number | undefined;
5106
+ max_containers?: number | undefined;
5107
+ workspace_mode?: "rw" | "ro" | undefined;
5108
+ tmpfs?: string[] | undefined;
5109
+ pids_limit?: number | undefined;
5110
+ cpu_period?: number | undefined;
5111
+ cpu_quota?: number | undefined;
4306
5112
  image?: string | undefined;
4307
5113
  network?: "none" | "bridge" | "host" | undefined;
4308
- memory?: string | undefined;
5114
+ user?: string | undefined;
5115
+ volumes?: string[] | undefined;
5116
+ env?: Record<string, string> | undefined;
5117
+ ports?: string[] | undefined;
5118
+ base_image?: string | undefined;
5119
+ host_config?: HostConfig | undefined;
5120
+ }>, {
5121
+ enabled: boolean;
5122
+ ephemeral: boolean;
5123
+ memory: string;
5124
+ max_containers: number;
5125
+ workspace_mode: "rw" | "ro";
5126
+ network: "none" | "bridge" | "host";
5127
+ labels?: Record<string, string> | undefined;
4309
5128
  cpu_shares?: number | undefined;
5129
+ tmpfs?: string[] | undefined;
5130
+ pids_limit?: number | undefined;
5131
+ cpu_period?: number | undefined;
5132
+ cpu_quota?: number | undefined;
5133
+ image?: string | undefined;
4310
5134
  user?: string | undefined;
4311
- max_containers?: number | undefined;
4312
5135
  volumes?: string[] | undefined;
5136
+ env?: Record<string, string> | undefined;
5137
+ ports?: string[] | undefined;
5138
+ base_image?: string | undefined;
5139
+ host_config?: HostConfig | undefined;
5140
+ }, {
5141
+ labels?: Record<string, string> | undefined;
5142
+ enabled?: boolean | undefined;
5143
+ ephemeral?: boolean | undefined;
5144
+ memory?: string | undefined;
5145
+ cpu_shares?: number | undefined;
5146
+ max_containers?: number | undefined;
4313
5147
  workspace_mode?: "rw" | "ro" | undefined;
5148
+ tmpfs?: string[] | undefined;
5149
+ pids_limit?: number | undefined;
5150
+ cpu_period?: number | undefined;
5151
+ cpu_quota?: number | undefined;
5152
+ image?: string | undefined;
5153
+ network?: "none" | "bridge" | "host" | undefined;
5154
+ user?: string | undefined;
5155
+ volumes?: string[] | undefined;
4314
5156
  env?: Record<string, string> | undefined;
5157
+ ports?: string[] | undefined;
4315
5158
  base_image?: string | undefined;
5159
+ host_config?: HostConfig | undefined;
4316
5160
  }>>;
4317
5161
  }, "strict", z.ZodTypeAny, {
4318
5162
  version: number;
@@ -4323,16 +5167,23 @@ export declare const FleetConfigSchema: z.ZodObject<{
4323
5167
  docker?: {
4324
5168
  enabled: boolean;
4325
5169
  ephemeral: boolean;
4326
- network: "none" | "bridge" | "host";
4327
5170
  memory: string;
4328
5171
  max_containers: number;
4329
5172
  workspace_mode: "rw" | "ro";
4330
- image?: string | undefined;
5173
+ network: "none" | "bridge" | "host";
5174
+ labels?: Record<string, string> | undefined;
4331
5175
  cpu_shares?: number | undefined;
5176
+ tmpfs?: string[] | undefined;
5177
+ pids_limit?: number | undefined;
5178
+ cpu_period?: number | undefined;
5179
+ cpu_quota?: number | undefined;
5180
+ image?: string | undefined;
4332
5181
  user?: string | undefined;
4333
5182
  volumes?: string[] | undefined;
4334
5183
  env?: Record<string, string> | undefined;
5184
+ ports?: string[] | undefined;
4335
5185
  base_image?: string | undefined;
5186
+ host_config?: HostConfig | undefined;
4336
5187
  } | undefined;
4337
5188
  working_directory?: {
4338
5189
  root: string;
@@ -4356,25 +5207,23 @@ export declare const FleetConfigSchema: z.ZodObject<{
4356
5207
  docker?: {
4357
5208
  enabled: boolean;
4358
5209
  ephemeral: boolean;
4359
- network: "none" | "bridge" | "host";
4360
5210
  memory: string;
4361
5211
  max_containers: number;
4362
5212
  workspace_mode: "rw" | "ro";
4363
- image?: string | undefined;
5213
+ network: "none" | "bridge" | "host";
5214
+ labels?: Record<string, string> | undefined;
4364
5215
  cpu_shares?: number | undefined;
5216
+ tmpfs?: string[] | undefined;
5217
+ pids_limit?: number | undefined;
5218
+ cpu_period?: number | undefined;
5219
+ cpu_quota?: number | undefined;
5220
+ image?: string | undefined;
4365
5221
  user?: string | undefined;
4366
5222
  volumes?: string[] | undefined;
4367
5223
  env?: Record<string, string> | undefined;
5224
+ ports?: string[] | undefined;
4368
5225
  base_image?: string | undefined;
4369
- } | undefined;
4370
- permissions?: {
4371
- mode: "default" | "acceptEdits" | "bypassPermissions" | "plan" | "delegate" | "dontAsk";
4372
- allowed_tools?: string[] | undefined;
4373
- denied_tools?: string[] | undefined;
4374
- bash?: {
4375
- allowed_commands?: string[] | undefined;
4376
- denied_patterns?: string[] | undefined;
4377
- } | undefined;
5226
+ host_config?: HostConfig | undefined;
4378
5227
  } | undefined;
4379
5228
  work_source?: {
4380
5229
  type: "github";
@@ -4412,6 +5261,8 @@ export declare const FleetConfigSchema: z.ZodObject<{
4412
5261
  model?: string | undefined;
4413
5262
  } | undefined;
4414
5263
  permission_mode?: "default" | "acceptEdits" | "bypassPermissions" | "plan" | "delegate" | "dontAsk" | undefined;
5264
+ allowed_tools?: string[] | undefined;
5265
+ denied_tools?: string[] | undefined;
4415
5266
  } | undefined;
4416
5267
  webhooks?: {
4417
5268
  enabled: boolean;
@@ -4420,18 +5271,25 @@ export declare const FleetConfigSchema: z.ZodObject<{
4420
5271
  } | undefined;
4421
5272
  }, {
4422
5273
  docker?: {
5274
+ labels?: Record<string, string> | undefined;
4423
5275
  enabled?: boolean | undefined;
4424
5276
  ephemeral?: boolean | undefined;
4425
- image?: string | undefined;
4426
- network?: "none" | "bridge" | "host" | undefined;
4427
5277
  memory?: string | undefined;
4428
5278
  cpu_shares?: number | undefined;
4429
- user?: string | undefined;
4430
5279
  max_containers?: number | undefined;
4431
- volumes?: string[] | undefined;
4432
5280
  workspace_mode?: "rw" | "ro" | undefined;
5281
+ tmpfs?: string[] | undefined;
5282
+ pids_limit?: number | undefined;
5283
+ cpu_period?: number | undefined;
5284
+ cpu_quota?: number | undefined;
5285
+ image?: string | undefined;
5286
+ network?: "none" | "bridge" | "host" | undefined;
5287
+ user?: string | undefined;
5288
+ volumes?: string[] | undefined;
4433
5289
  env?: Record<string, string> | undefined;
5290
+ ports?: string[] | undefined;
4434
5291
  base_image?: string | undefined;
5292
+ host_config?: HostConfig | undefined;
4435
5293
  } | undefined;
4436
5294
  working_directory?: {
4437
5295
  root: string;
@@ -4454,27 +5312,25 @@ export declare const FleetConfigSchema: z.ZodObject<{
4454
5312
  max_turns?: number | undefined;
4455
5313
  model?: string | undefined;
4456
5314
  docker?: {
5315
+ labels?: Record<string, string> | undefined;
4457
5316
  enabled?: boolean | undefined;
4458
5317
  ephemeral?: boolean | undefined;
4459
- image?: string | undefined;
4460
- network?: "none" | "bridge" | "host" | undefined;
4461
5318
  memory?: string | undefined;
4462
5319
  cpu_shares?: number | undefined;
4463
- user?: string | undefined;
4464
5320
  max_containers?: number | undefined;
4465
- volumes?: string[] | undefined;
4466
5321
  workspace_mode?: "rw" | "ro" | undefined;
5322
+ tmpfs?: string[] | undefined;
5323
+ pids_limit?: number | undefined;
5324
+ cpu_period?: number | undefined;
5325
+ cpu_quota?: number | undefined;
5326
+ image?: string | undefined;
5327
+ network?: "none" | "bridge" | "host" | undefined;
5328
+ user?: string | undefined;
5329
+ volumes?: string[] | undefined;
4467
5330
  env?: Record<string, string> | undefined;
5331
+ ports?: string[] | undefined;
4468
5332
  base_image?: string | undefined;
4469
- } | undefined;
4470
- permissions?: {
4471
- mode?: "default" | "acceptEdits" | "bypassPermissions" | "plan" | "delegate" | "dontAsk" | undefined;
4472
- allowed_tools?: string[] | undefined;
4473
- denied_tools?: string[] | undefined;
4474
- bash?: {
4475
- allowed_commands?: string[] | undefined;
4476
- denied_patterns?: string[] | undefined;
4477
- } | undefined;
5333
+ host_config?: HostConfig | undefined;
4478
5334
  } | undefined;
4479
5335
  work_source?: {
4480
5336
  type: "github";
@@ -4512,6 +5368,8 @@ export declare const FleetConfigSchema: z.ZodObject<{
4512
5368
  model?: string | undefined;
4513
5369
  } | undefined;
4514
5370
  permission_mode?: "default" | "acceptEdits" | "bypassPermissions" | "plan" | "delegate" | "dontAsk" | undefined;
5371
+ allowed_tools?: string[] | undefined;
5372
+ denied_tools?: string[] | undefined;
4515
5373
  } | undefined;
4516
5374
  agents?: {
4517
5375
  path: string;
@@ -4524,8 +5382,6 @@ export declare const FleetConfigSchema: z.ZodObject<{
4524
5382
  } | undefined;
4525
5383
  }>;
4526
5384
  export type PermissionMode = z.infer<typeof PermissionModeSchema>;
4527
- export type BashPermissions = z.infer<typeof BashPermissionsSchema>;
4528
- export type Permissions = z.infer<typeof PermissionsSchema>;
4529
5385
  export type WorkSourceType = z.infer<typeof WorkSourceTypeSchema>;
4530
5386
  export type WorkSourceLabels = z.infer<typeof WorkSourceLabelsSchema>;
4531
5387
  export type GitHubAuth = z.infer<typeof GitHubAuthSchema>;
@@ -4533,7 +5389,13 @@ export type GitHubWorkSource = z.infer<typeof GitHubWorkSourceSchema>;
4533
5389
  export type BaseWorkSource = z.infer<typeof BaseWorkSourceSchema>;
4534
5390
  export type WorkSource = z.infer<typeof WorkSourceSchema>;
4535
5391
  export type Instances = z.infer<typeof InstancesSchema>;
5392
+ export type AgentDockerInput = z.input<typeof AgentDockerSchema>;
5393
+ export type AgentDocker = z.infer<typeof AgentDockerSchema>;
5394
+ export type FleetDockerInput = z.input<typeof FleetDockerSchema>;
5395
+ export type FleetDocker = z.infer<typeof FleetDockerSchema>;
5396
+ /** @deprecated Use AgentDockerInput or FleetDockerInput instead */
4536
5397
  export type DockerInput = z.input<typeof DockerSchema>;
5398
+ /** @deprecated Use AgentDocker or FleetDocker instead */
4537
5399
  export type Docker = z.infer<typeof DockerSchema>;
4538
5400
  export type Defaults = z.infer<typeof DefaultsSchema>;
4539
5401
  export type WorkingDirectory = z.infer<typeof WorkingDirectorySchema>;