@prismatic-io/lux 0.0.2-preview.27 → 0.0.2-preview.29

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 (125) hide show
  1. package/lib/authoring.d.ts +1 -0
  2. package/lib/authoring.d.ts.map +1 -1
  3. package/lib/authoring.js +1 -0
  4. package/lib/authoring.js.map +1 -1
  5. package/lib/container/driver.d.ts +27 -0
  6. package/lib/container/driver.d.ts.map +1 -0
  7. package/lib/container/driver.js +197 -0
  8. package/lib/container/driver.js.map +1 -0
  9. package/lib/container/protocol.d.ts +12 -0
  10. package/lib/container/protocol.d.ts.map +1 -0
  11. package/lib/container/protocol.js +38 -0
  12. package/lib/container/protocol.js.map +1 -0
  13. package/lib/container/resources.d.ts +12 -0
  14. package/lib/container/resources.d.ts.map +1 -0
  15. package/lib/container/resources.js +133 -0
  16. package/lib/container/resources.js.map +1 -0
  17. package/lib/container/worker.d.ts +2 -0
  18. package/lib/container/worker.d.ts.map +1 -0
  19. package/lib/container/worker.js +85 -0
  20. package/lib/container/worker.js.map +1 -0
  21. package/lib/core/case.d.ts +80 -0
  22. package/lib/core/case.d.ts.map +1 -1
  23. package/lib/core/case.js +8 -1
  24. package/lib/core/case.js.map +1 -1
  25. package/lib/core/driver-execution.d.ts +83 -0
  26. package/lib/core/driver-execution.d.ts.map +1 -0
  27. package/lib/core/driver-execution.js +72 -0
  28. package/lib/core/driver-execution.js.map +1 -0
  29. package/lib/core/driver.d.ts +5 -1
  30. package/lib/core/driver.d.ts.map +1 -1
  31. package/lib/core/driver.js +5 -1
  32. package/lib/core/driver.js.map +1 -1
  33. package/lib/core/harness-catalogs/cursor.js +1 -1
  34. package/lib/core/harness-catalogs/cursor.js.map +1 -1
  35. package/lib/core/harness-matrix.d.ts +84 -0
  36. package/lib/core/harness-matrix.d.ts.map +1 -1
  37. package/lib/core/harness-matrix.js +11 -1
  38. package/lib/core/harness-matrix.js.map +1 -1
  39. package/lib/core/run.d.ts +40 -0
  40. package/lib/core/run.d.ts.map +1 -1
  41. package/lib/drivers/antigravity/artifacts.d.ts +2 -0
  42. package/lib/drivers/antigravity/artifacts.d.ts.map +1 -0
  43. package/lib/drivers/antigravity/artifacts.js +33 -0
  44. package/lib/drivers/antigravity/artifacts.js.map +1 -0
  45. package/lib/drivers/antigravity/config.d.ts +27 -0
  46. package/lib/drivers/antigravity/config.d.ts.map +1 -1
  47. package/lib/drivers/antigravity/config.js +35 -0
  48. package/lib/drivers/antigravity/config.js.map +1 -1
  49. package/lib/drivers/antigravity/index.d.ts +35 -0
  50. package/lib/drivers/antigravity/index.d.ts.map +1 -1
  51. package/lib/drivers/antigravity/index.js +42 -20
  52. package/lib/drivers/antigravity/index.js.map +1 -1
  53. package/lib/drivers/antigravity/runtime.d.ts +7 -0
  54. package/lib/drivers/antigravity/runtime.d.ts.map +1 -0
  55. package/lib/drivers/antigravity/runtime.js +78 -0
  56. package/lib/drivers/antigravity/runtime.js.map +1 -0
  57. package/lib/drivers/copilot/config.d.ts +3 -3
  58. package/lib/drivers/copilot/config.js +5 -5
  59. package/lib/drivers/copilot/config.js.map +1 -1
  60. package/lib/drivers/copilot/index.d.ts +4 -4
  61. package/lib/drivers/copilot/index.d.ts.map +1 -1
  62. package/lib/drivers/copilot/index.js +13 -3
  63. package/lib/drivers/copilot/index.js.map +1 -1
  64. package/lib/drivers/cursor/config.js +1 -1
  65. package/lib/drivers/cursor/config.js.map +1 -1
  66. package/lib/drivers/cursor/index.d.ts.map +1 -1
  67. package/lib/drivers/cursor/index.js +8 -3
  68. package/lib/drivers/cursor/index.js.map +1 -1
  69. package/lib/drivers/shared/acp-session.d.ts +4 -0
  70. package/lib/drivers/shared/acp-session.d.ts.map +1 -0
  71. package/lib/drivers/shared/acp-session.js +23 -0
  72. package/lib/drivers/shared/acp-session.js.map +1 -0
  73. package/lib/index.d.ts +1 -0
  74. package/lib/index.d.ts.map +1 -1
  75. package/lib/index.js +1 -0
  76. package/lib/index.js.map +1 -1
  77. package/lib/orchestrator/config.d.ts +122 -1
  78. package/lib/orchestrator/config.d.ts.map +1 -1
  79. package/lib/orchestrator/config.js +2 -1
  80. package/lib/orchestrator/config.js.map +1 -1
  81. package/lib/orchestrator/doctor.d.ts.map +1 -1
  82. package/lib/orchestrator/doctor.js +3 -1
  83. package/lib/orchestrator/doctor.js.map +1 -1
  84. package/lib/orchestrator/driver-capabilities.d.ts +2 -1
  85. package/lib/orchestrator/driver-capabilities.d.ts.map +1 -1
  86. package/lib/orchestrator/driver-capabilities.js +5 -2
  87. package/lib/orchestrator/driver-capabilities.js.map +1 -1
  88. package/lib/orchestrator/driver-identity.d.ts.map +1 -1
  89. package/lib/orchestrator/driver-identity.js +11 -1
  90. package/lib/orchestrator/driver-identity.js.map +1 -1
  91. package/lib/orchestrator/experiment-context.d.ts +34 -0
  92. package/lib/orchestrator/experiment-context.d.ts.map +1 -1
  93. package/lib/orchestrator/orchestrator.d.ts.map +1 -1
  94. package/lib/orchestrator/orchestrator.js +16 -3
  95. package/lib/orchestrator/orchestrator.js.map +1 -1
  96. package/package.json +1 -1
  97. package/skills/lux-answerer/SKILL.md +1 -1
  98. package/src/authoring.ts +6 -0
  99. package/src/container/driver.ts +211 -0
  100. package/src/container/protocol.ts +48 -0
  101. package/src/container/resources.ts +153 -0
  102. package/src/container/worker.ts +107 -0
  103. package/src/core/case.ts +8 -1
  104. package/src/core/driver-execution.ts +84 -0
  105. package/src/core/driver.ts +9 -1
  106. package/src/core/harness-catalogs/cursor.ts +1 -1
  107. package/src/core/harness-matrix.ts +19 -1
  108. package/src/drivers/antigravity/README.md +108 -10
  109. package/src/drivers/antigravity/artifacts.ts +37 -0
  110. package/src/drivers/antigravity/config.ts +35 -0
  111. package/src/drivers/antigravity/index.ts +41 -22
  112. package/src/drivers/antigravity/runtime.ts +88 -0
  113. package/src/drivers/copilot/README.md +19 -11
  114. package/src/drivers/copilot/config.ts +5 -5
  115. package/src/drivers/copilot/index.ts +20 -4
  116. package/src/drivers/cursor/README.md +14 -8
  117. package/src/drivers/cursor/config.ts +1 -1
  118. package/src/drivers/cursor/index.ts +11 -7
  119. package/src/drivers/shared/acp-session.ts +40 -0
  120. package/src/index.ts +6 -0
  121. package/src/orchestrator/config.ts +4 -1
  122. package/src/orchestrator/doctor.ts +3 -1
  123. package/src/orchestrator/driver-capabilities.ts +6 -1
  124. package/src/orchestrator/driver-identity.ts +11 -1
  125. package/src/orchestrator/orchestrator.ts +19 -3
@@ -9,6 +9,46 @@ export type FixturesRef = z.infer<typeof FixturesRefSchema>;
9
9
  export declare const DriverRefSchema: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
10
10
  name: z.ZodString;
11
11
  config: z.ZodOptional<z.ZodUnknown>;
12
+ execution: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
13
+ kind: z.ZodLiteral<"host">;
14
+ }, z.core.$strict>, z.ZodObject<{
15
+ kind: z.ZodLiteral<"container">;
16
+ image: z.ZodString;
17
+ command: z.ZodOptional<z.ZodString>;
18
+ worker: z.ZodOptional<z.ZodString>;
19
+ driverModule: z.ZodOptional<z.ZodString>;
20
+ mounts: z.ZodOptional<z.ZodArray<z.ZodObject<{
21
+ source: z.ZodString;
22
+ target: z.ZodOptional<z.ZodString>;
23
+ readOnly: z.ZodOptional<z.ZodBoolean>;
24
+ }, z.core.$strict>>>;
25
+ passEnv: z.ZodOptional<z.ZodArray<z.ZodString>>;
26
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
27
+ homeFiles: z.ZodOptional<z.ZodArray<z.ZodObject<{
28
+ destination: z.ZodString;
29
+ source: z.ZodDiscriminatedUnion<[z.ZodObject<{
30
+ kind: z.ZodLiteral<"file">;
31
+ path: z.ZodString;
32
+ }, z.core.$strict>, z.ZodObject<{
33
+ kind: z.ZodLiteral<"keychain">;
34
+ service: z.ZodString;
35
+ account: z.ZodString;
36
+ encoding: z.ZodOptional<z.ZodEnum<{
37
+ "go-keyring-base64": "go-keyring-base64";
38
+ utf8: "utf8";
39
+ }>>;
40
+ }, z.core.$strict>], "kind">;
41
+ }, z.core.$strict>>>;
42
+ network: z.ZodOptional<z.ZodEnum<{
43
+ bridge: "bridge";
44
+ none: "none";
45
+ }>>;
46
+ user: z.ZodOptional<z.ZodString>;
47
+ memory: z.ZodOptional<z.ZodString>;
48
+ cpus: z.ZodOptional<z.ZodNumber>;
49
+ pidsLimit: z.ZodOptional<z.ZodNumber>;
50
+ startupTimeoutMs: z.ZodOptional<z.ZodNumber>;
51
+ }, z.core.$strict>], "kind">>;
12
52
  }, z.core.$strict>]>;
13
53
  export type DriverRef = z.infer<typeof DriverRefSchema>;
14
54
  export declare const AnswererRefSchema: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
@@ -31,6 +71,46 @@ export declare const EvalCaseSchema: z.ZodObject<{
31
71
  driver: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
32
72
  name: z.ZodString;
33
73
  config: z.ZodOptional<z.ZodUnknown>;
74
+ execution: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
75
+ kind: z.ZodLiteral<"host">;
76
+ }, z.core.$strict>, z.ZodObject<{
77
+ kind: z.ZodLiteral<"container">;
78
+ image: z.ZodString;
79
+ command: z.ZodOptional<z.ZodString>;
80
+ worker: z.ZodOptional<z.ZodString>;
81
+ driverModule: z.ZodOptional<z.ZodString>;
82
+ mounts: z.ZodOptional<z.ZodArray<z.ZodObject<{
83
+ source: z.ZodString;
84
+ target: z.ZodOptional<z.ZodString>;
85
+ readOnly: z.ZodOptional<z.ZodBoolean>;
86
+ }, z.core.$strict>>>;
87
+ passEnv: z.ZodOptional<z.ZodArray<z.ZodString>>;
88
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
89
+ homeFiles: z.ZodOptional<z.ZodArray<z.ZodObject<{
90
+ destination: z.ZodString;
91
+ source: z.ZodDiscriminatedUnion<[z.ZodObject<{
92
+ kind: z.ZodLiteral<"file">;
93
+ path: z.ZodString;
94
+ }, z.core.$strict>, z.ZodObject<{
95
+ kind: z.ZodLiteral<"keychain">;
96
+ service: z.ZodString;
97
+ account: z.ZodString;
98
+ encoding: z.ZodOptional<z.ZodEnum<{
99
+ "go-keyring-base64": "go-keyring-base64";
100
+ utf8: "utf8";
101
+ }>>;
102
+ }, z.core.$strict>], "kind">;
103
+ }, z.core.$strict>>>;
104
+ network: z.ZodOptional<z.ZodEnum<{
105
+ bridge: "bridge";
106
+ none: "none";
107
+ }>>;
108
+ user: z.ZodOptional<z.ZodString>;
109
+ memory: z.ZodOptional<z.ZodString>;
110
+ cpus: z.ZodOptional<z.ZodNumber>;
111
+ pidsLimit: z.ZodOptional<z.ZodNumber>;
112
+ startupTimeoutMs: z.ZodOptional<z.ZodNumber>;
113
+ }, z.core.$strict>], "kind">>;
34
114
  }, z.core.$strict>]>>;
35
115
  matrix: z.ZodOptional<z.ZodArray<z.ZodCustom<import("./harness-matrix.js").HarnessMatrixEntry, import("./harness-matrix.js").HarnessMatrixEntry>>>;
36
116
  answerer: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
@@ -1 +1 @@
1
- {"version":3,"file":"case.d.ts","sourceRoot":"","sources":["../../src/core/case.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAKtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAGjE,eAAO,MAAM,iBAAiB;;;oBAG5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAO5D,eAAO,MAAM,eAAe;;;oBAG1B,CAAC;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD,eAAO,MAAM,iBAAiB;;;oBAG5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,eAAe;;;;;;iBASlB,CAAC;AACX,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAgBxD,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAiBvB,CAAC;AACL,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAEtD,KAAK,mBAAmB,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,GAAG,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAC,CAAC;AACnF,KAAK,gBAAgB,CAAC,MAAM,IAC1B,MAAM,SAAS,eAAe,CAAC,SAAS,EAAE,MAAM,KAAK,CAAC,GAAG,KAAK,GAAG,mBAAmB,GAAG,KAAK,CAAC;AAE/F,MAAM,MAAM,aAAa,CAAC,gBAAgB,SAAS,SAAS,GAAG,SAAS,IAAI,IAAI,CAC9E,QAAQ,EACR,YAAY,CACb,GAAG;IACF,UAAU,CAAC,EAAE,gBAAgB,EAAE,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,wBAAwB,CAClC,OAAO,SAAS,SAAS,eAAe,EAAE,GAAG,SAAS,eAAe,EAAE,IACrE;IACF,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAAC,gBAAgB,SAAS,SAAS,GAAG,SAAS,IAAI;IAC/E,CAAC,KAAK,EAAE,aAAa,CAAC,gBAAgB,CAAC,GAAG,QAAQ,CAAC;IACnD;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,OAAO,SAAS,SAAS,eAAe,EAAE,GAAG,SAAS,EAAE,EACnE,OAAO,EAAE,wBAAwB,CAAC,OAAO,CAAC,GACzC,kBAAkB,CAAC,gBAAgB,GAAG,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;CAC7E,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAI,gBAAgB,SAAS,SAAS,GAAG,SAAS,wBAChE,SAAS,eAAe,EAAE,sBAC5B,SAAS,oBAAoB,EAAE,KACjD,kBAAkB,CAAC,gBAAgB,CAoBrC,CAAC;AAEF,eAAO,MAAM,cAAc;;;;;;;EAA6B,CAAC;AAmBzD,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAQtB,CAAC;AACX,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
1
+ {"version":3,"file":"case.d.ts","sourceRoot":"","sources":["../../src/core/case.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAMtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAGjE,eAAO,MAAM,iBAAiB;;;oBAG5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAO5D,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBAS1B,CAAC;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD,eAAO,MAAM,iBAAiB;;;oBAG5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,eAAe;;;;;;iBASlB,CAAC;AACX,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAgBxD,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAiBvB,CAAC;AACL,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAEtD,KAAK,mBAAmB,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,GAAG,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAC,CAAC;AACnF,KAAK,gBAAgB,CAAC,MAAM,IAC1B,MAAM,SAAS,eAAe,CAAC,SAAS,EAAE,MAAM,KAAK,CAAC,GAAG,KAAK,GAAG,mBAAmB,GAAG,KAAK,CAAC;AAE/F,MAAM,MAAM,aAAa,CAAC,gBAAgB,SAAS,SAAS,GAAG,SAAS,IAAI,IAAI,CAC9E,QAAQ,EACR,YAAY,CACb,GAAG;IACF,UAAU,CAAC,EAAE,gBAAgB,EAAE,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,wBAAwB,CAClC,OAAO,SAAS,SAAS,eAAe,EAAE,GAAG,SAAS,eAAe,EAAE,IACrE;IACF,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAAC,gBAAgB,SAAS,SAAS,GAAG,SAAS,IAAI;IAC/E,CAAC,KAAK,EAAE,aAAa,CAAC,gBAAgB,CAAC,GAAG,QAAQ,CAAC;IACnD;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,OAAO,SAAS,SAAS,eAAe,EAAE,GAAG,SAAS,EAAE,EACnE,OAAO,EAAE,wBAAwB,CAAC,OAAO,CAAC,GACzC,kBAAkB,CAAC,gBAAgB,GAAG,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;CAC7E,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAI,gBAAgB,SAAS,SAAS,GAAG,SAAS,wBAChE,SAAS,eAAe,EAAE,sBAC5B,SAAS,oBAAoB,EAAE,KACjD,kBAAkB,CAAC,gBAAgB,CAoBrC,CAAC;AAEF,eAAO,MAAM,cAAc;;;;;;;EAA6B,CAAC;AAmBzD,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAQtB,CAAC;AACX,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
package/lib/core/case.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  import { collectEvalCaseExtensions, setEvalCaseExtensions } from "./case-authoring-state.js";
3
3
  import { DriverCapabilitySchema } from "./driver.js";
4
+ import { DriverExecutionSchema } from "./driver-execution.js";
4
5
  import { EvaluationMetadataSchema } from "./evaluation-clusters.js";
5
6
  import { HarnessMatrixSchema } from "./harness-matrix.js";
6
7
  import { formatZodIssues } from "./zod.js";
@@ -15,7 +16,13 @@ export const FixturesRefSchema = z.union([
15
16
  // `defineEvalCase` discriminate the config type on `name`.
16
17
  export const DriverRefSchema = z.union([
17
18
  z.string(),
18
- z.object({ name: z.string(), config: z.unknown().optional() }).strict(),
19
+ z
20
+ .object({
21
+ name: z.string(),
22
+ config: z.unknown().optional(),
23
+ execution: DriverExecutionSchema.optional(),
24
+ })
25
+ .strict(),
19
26
  ]);
20
27
  export const AnswererRefSchema = z.union([
21
28
  z.string(),
@@ -1 +1 @@
1
- {"version":3,"file":"case.js","sourceRoot":"","sources":["../../src/core/case.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"case.js","sourceRoot":"","sources":["../../src/core/case.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,83 @@
1
+ import { z } from "zod";
2
+ export declare const ContainerExecutionSchema: z.ZodObject<{
3
+ kind: z.ZodLiteral<"container">;
4
+ image: z.ZodString;
5
+ command: z.ZodOptional<z.ZodString>;
6
+ worker: z.ZodOptional<z.ZodString>;
7
+ driverModule: z.ZodOptional<z.ZodString>;
8
+ mounts: z.ZodOptional<z.ZodArray<z.ZodObject<{
9
+ source: z.ZodString;
10
+ target: z.ZodOptional<z.ZodString>;
11
+ readOnly: z.ZodOptional<z.ZodBoolean>;
12
+ }, z.core.$strict>>>;
13
+ passEnv: z.ZodOptional<z.ZodArray<z.ZodString>>;
14
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
15
+ homeFiles: z.ZodOptional<z.ZodArray<z.ZodObject<{
16
+ destination: z.ZodString;
17
+ source: z.ZodDiscriminatedUnion<[z.ZodObject<{
18
+ kind: z.ZodLiteral<"file">;
19
+ path: z.ZodString;
20
+ }, z.core.$strict>, z.ZodObject<{
21
+ kind: z.ZodLiteral<"keychain">;
22
+ service: z.ZodString;
23
+ account: z.ZodString;
24
+ encoding: z.ZodOptional<z.ZodEnum<{
25
+ "go-keyring-base64": "go-keyring-base64";
26
+ utf8: "utf8";
27
+ }>>;
28
+ }, z.core.$strict>], "kind">;
29
+ }, z.core.$strict>>>;
30
+ network: z.ZodOptional<z.ZodEnum<{
31
+ bridge: "bridge";
32
+ none: "none";
33
+ }>>;
34
+ user: z.ZodOptional<z.ZodString>;
35
+ memory: z.ZodOptional<z.ZodString>;
36
+ cpus: z.ZodOptional<z.ZodNumber>;
37
+ pidsLimit: z.ZodOptional<z.ZodNumber>;
38
+ startupTimeoutMs: z.ZodOptional<z.ZodNumber>;
39
+ }, z.core.$strict>;
40
+ export declare const DriverExecutionSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
41
+ kind: z.ZodLiteral<"host">;
42
+ }, z.core.$strict>, z.ZodObject<{
43
+ kind: z.ZodLiteral<"container">;
44
+ image: z.ZodString;
45
+ command: z.ZodOptional<z.ZodString>;
46
+ worker: z.ZodOptional<z.ZodString>;
47
+ driverModule: z.ZodOptional<z.ZodString>;
48
+ mounts: z.ZodOptional<z.ZodArray<z.ZodObject<{
49
+ source: z.ZodString;
50
+ target: z.ZodOptional<z.ZodString>;
51
+ readOnly: z.ZodOptional<z.ZodBoolean>;
52
+ }, z.core.$strict>>>;
53
+ passEnv: z.ZodOptional<z.ZodArray<z.ZodString>>;
54
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
55
+ homeFiles: z.ZodOptional<z.ZodArray<z.ZodObject<{
56
+ destination: z.ZodString;
57
+ source: z.ZodDiscriminatedUnion<[z.ZodObject<{
58
+ kind: z.ZodLiteral<"file">;
59
+ path: z.ZodString;
60
+ }, z.core.$strict>, z.ZodObject<{
61
+ kind: z.ZodLiteral<"keychain">;
62
+ service: z.ZodString;
63
+ account: z.ZodString;
64
+ encoding: z.ZodOptional<z.ZodEnum<{
65
+ "go-keyring-base64": "go-keyring-base64";
66
+ utf8: "utf8";
67
+ }>>;
68
+ }, z.core.$strict>], "kind">;
69
+ }, z.core.$strict>>>;
70
+ network: z.ZodOptional<z.ZodEnum<{
71
+ bridge: "bridge";
72
+ none: "none";
73
+ }>>;
74
+ user: z.ZodOptional<z.ZodString>;
75
+ memory: z.ZodOptional<z.ZodString>;
76
+ cpus: z.ZodOptional<z.ZodNumber>;
77
+ pidsLimit: z.ZodOptional<z.ZodNumber>;
78
+ startupTimeoutMs: z.ZodOptional<z.ZodNumber>;
79
+ }, z.core.$strict>], "kind">;
80
+ export type DriverExecution = z.infer<typeof DriverExecutionSchema>;
81
+ export type ContainerExecution = z.infer<typeof ContainerExecutionSchema>;
82
+ export declare const driverExecutionOf: (reference: unknown) => DriverExecution | undefined;
83
+ //# sourceMappingURL=driver-execution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"driver-execution.d.ts","sourceRoot":"","sources":["../../src/core/driver-execution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAaxB,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAwD1B,CAAC;AAEZ,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BAGhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,eAAO,MAAM,iBAAiB,cAAe,OAAO,KAAG,eAAe,GAAG,SAKxE,CAAC"}
@@ -0,0 +1,72 @@
1
+ import { z } from "zod";
2
+ const homePath = z
3
+ .string()
4
+ .min(1)
5
+ .refine((value) => !value.startsWith("/") &&
6
+ !value.includes("\\") &&
7
+ value.split("/").every((part) => part !== ".." && part !== "." && part !== ""), "must be a relative path within the container home");
8
+ export const ContainerExecutionSchema = z
9
+ .object({
10
+ kind: z.literal("container"),
11
+ /** A locally available image containing Lux and the selected Linux harness. */
12
+ image: z.string().min(1),
13
+ command: z.string().min(1).optional(),
14
+ /** The worker shipped with the same Lux build as the host. */
15
+ worker: z.string().min(1).optional(),
16
+ /** Optional module in the image exporting a custom DriverPlugin as default. */
17
+ driverModule: z.string().min(1).optional(),
18
+ mounts: z
19
+ .array(z
20
+ .object({
21
+ source: z.string().min(1),
22
+ target: z.string().min(1).optional(),
23
+ readOnly: z.boolean().optional(),
24
+ })
25
+ .strict())
26
+ .optional(),
27
+ /** Only these host environment variables enter the container. */
28
+ passEnv: z.array(z.string().regex(/^[A-Za-z_][A-Za-z0-9_]*$/)).optional(),
29
+ env: z.record(z.string().regex(/^[A-Za-z_][A-Za-z0-9_]*$/), z.string()).optional(),
30
+ /** Private copies, never host-home mounts; deleted after the run. */
31
+ homeFiles: z
32
+ .array(z
33
+ .object({
34
+ destination: homePath,
35
+ source: z.discriminatedUnion("kind", [
36
+ z.object({ kind: z.literal("file"), path: z.string().min(1) }).strict(),
37
+ z
38
+ .object({
39
+ kind: z.literal("keychain"),
40
+ service: z.string().min(1),
41
+ account: z.string().min(1),
42
+ encoding: z.enum(["utf8", "go-keyring-base64"]).optional(),
43
+ })
44
+ .strict(),
45
+ ]),
46
+ })
47
+ .strict())
48
+ .max(32)
49
+ .optional(),
50
+ network: z.enum(["bridge", "none"]).optional(),
51
+ user: z.string().min(1).optional(),
52
+ memory: z
53
+ .string()
54
+ .regex(/^[1-9][0-9]*[bkmgt]?$/i)
55
+ .optional(),
56
+ cpus: z.number().positive().optional(),
57
+ pidsLimit: z.number().int().positive().optional(),
58
+ startupTimeoutMs: z.number().int().positive().optional(),
59
+ })
60
+ .strict();
61
+ export const DriverExecutionSchema = z.discriminatedUnion("kind", [
62
+ z.object({ kind: z.literal("host") }).strict(),
63
+ ContainerExecutionSchema,
64
+ ]);
65
+ export const driverExecutionOf = (reference) => {
66
+ if (!reference || typeof reference !== "object" || !("execution" in reference))
67
+ return undefined;
68
+ return reference.execution === undefined
69
+ ? undefined
70
+ : DriverExecutionSchema.parse(reference.execution);
71
+ };
72
+ //# sourceMappingURL=driver-execution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"driver-execution.js","sourceRoot":"","sources":["../../src/core/driver-execution.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { z } from "zod";
2
+ import type { DriverExecution } from "./driver-execution.js";
2
3
  import type { EventHandler } from "./emitter.js";
3
4
  import type { Answer, Done, ErrorEvent, Interrupt, Progress, ReadyState } from "./events.js";
4
5
  import type { ReasoningEffort } from "./harness-catalog.js";
@@ -19,6 +20,8 @@ export type ResolvedFixtures = z.infer<typeof ResolvedFixturesSchema>;
19
20
  export type StartContext = {
20
21
  /** Stable selected case id, available to drivers that multiplex scenarios. */
21
22
  caseId?: string;
23
+ /** Private home owned by an outer execution boundary; never the caller’s home. */
24
+ isolatedHome?: string;
22
25
  prompt: string;
23
26
  fixtures?: ResolvedFixtures | undefined;
24
27
  /** Authored fixture values selected for this case. */
@@ -113,8 +116,9 @@ export declare const defineDriver: <S extends z.ZodType>(definition: Omit<Driver
113
116
  export declare const driverRef: <S extends z.ZodType>(plugin: {
114
117
  name: string;
115
118
  configSchema: S;
116
- }, config: z.input<S>) => {
119
+ }, config: z.input<S>, execution?: DriverExecution) => {
117
120
  name: string;
118
121
  config: z.input<S>;
122
+ execution?: DriverExecution;
119
123
  };
120
124
  //# sourceMappingURL=driver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../src/core/driver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../src/core/driver.ts"],"names":[],"mappings":"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"}
@@ -36,5 +36,9 @@ export const selectModelAndReasoningEffort = (config, selection) => ({
36
36
  : {}),
37
37
  });
38
38
  export const defineDriver = (definition) => definition;
39
- export const driverRef = (plugin, config) => ({ name: plugin.name, config });
39
+ export const driverRef = (plugin, config, execution) => ({
40
+ name: plugin.name,
41
+ config,
42
+ ...(execution ? { execution } : {}),
43
+ });
40
44
  //# sourceMappingURL=driver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"driver.js","sourceRoot":"","sources":["../../src/core/driver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB;;;;OAIG;IACH,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACjC,WAAW,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACxC,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACjC,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;CACzD,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;CACzD,CAAC,CAAC;AAmDH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,IAAI,CAAC;IAC3C,aAAa;IACb,YAAY;IACZ,cAAc;IACd,WAAW;IACX,WAAW;IACX,OAAO;IACP,MAAM;IACN,WAAW;CACZ,CAAC,CAAC;AAqCH,oFAAoF;AACpF,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAC3C,MAAe,EACf,SAA2B,EAClB,EAAE,CAAC,CAAC;IACb,GAAG,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAChE,CAAC,CAAE,MAAkC;QACrC,CAAC,CAAC,EAAE,CAAC;IACP,GAAG,CAAC,SAAS,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACpE,GAAG,CAAC,SAAS,CAAC,MAAM,KAAK,SAAS,IAAI,SAAS,CAAC,KAAK,KAAK,SAAS;QACjE,CAAC,CAAC,EAAE,eAAe,EAAE,SAAS,CAAC,MAAM,EAAE;QACvC,CAAC,CAAC,EAAE,CAAC;CACR,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,UAAiF,EACV,EAAE,CAAC,UAAU,CAAC;AAEvF,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,MAAyC,EACzC,MAAkB,EACoB,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"driver.js","sourceRoot":"","sources":["../../src/core/driver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB;;;;OAIG;IACH,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACjC,WAAW,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACxC,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACjC,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;CACzD,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;CACzD,CAAC,CAAC;AAqDH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,IAAI,CAAC;IAC3C,aAAa;IACb,YAAY;IACZ,cAAc;IACd,WAAW;IACX,WAAW;IACX,OAAO;IACP,MAAM;IACN,WAAW;CACZ,CAAC,CAAC;AAqCH,oFAAoF;AACpF,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAC3C,MAAe,EACf,SAA2B,EAClB,EAAE,CAAC,CAAC;IACb,GAAG,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAChE,CAAC,CAAE,MAAkC;QACrC,CAAC,CAAC,EAAE,CAAC;IACP,GAAG,CAAC,SAAS,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACpE,GAAG,CAAC,SAAS,CAAC,MAAM,KAAK,SAAS,IAAI,SAAS,CAAC,KAAK,KAAK,SAAS;QACjE,CAAC,CAAC,EAAE,eAAe,EAAE,SAAS,CAAC,MAAM,EAAE;QACvC,CAAC,CAAC,EAAE,CAAC;CACR,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,UAAiF,EACV,EAAE,CAAC,UAAU,CAAC;AAEvF,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,MAAyC,EACzC,MAAkB,EAClB,SAA2B,EACwC,EAAE,CAAC,CAAC;IACvE,IAAI,EAAE,MAAM,CAAC,IAAI;IACjB,MAAM;IACN,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;CACpC,CAAC,CAAC"}
@@ -3,7 +3,7 @@ export const cursorCatalog = defineHarnessCatalog({
3
3
  driver: "cursor",
4
4
  verified: "2026-09-18",
5
5
  sources: [
6
- "agent --list-models (account-scoped, needs a login)",
6
+ "cursor-agent --list-models (account-scoped, needs a login)",
7
7
  "https://cursor.com/docs/models",
8
8
  "https://cursor.com/docs/cli/acp",
9
9
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"cursor.js","sourceRoot":"","sources":["../../../src/core/harness-catalogs/cursor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,MAAM,CAAC,MAAM,aAAa,GAAG,oBAAoB,CAAC;IAChD,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,YAAY;IACtB,OAAO,EAAE;QACP,qDAAqD;QACrD,gCAAgC;QAChC,iCAAiC;KAClC;IACD,OAAO,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC;IAC3C,MAAM,EAAE,SAAS;CAClB,CAAC,CAAC"}
1
+ {"version":3,"file":"cursor.js","sourceRoot":"","sources":["../../../src/core/harness-catalogs/cursor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,MAAM,CAAC,MAAM,aAAa,GAAG,oBAAoB,CAAC;IAChD,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,YAAY;IACtB,OAAO,EAAE;QACP,4DAA4D;QAC5D,gCAAgC;QAChC,iCAAiC;KAClC;IACD,OAAO,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC;IAC3C,MAAM,EAAE,SAAS;CAClB,CAAC,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  import type { DriverRef } from "./case.js";
3
3
  import type { DriverPlugin } from "./driver.js";
4
+ import { type DriverExecution } from "./driver-execution.js";
4
5
  import { type CatalogModels, type HarnessCatalog, type ReasoningEffort } from "./harness-catalog.js";
5
6
  import { type BuiltInHarnessCatalog, type BuiltInHarnessDriver } from "./harness-catalogs/index.js";
6
7
  type CatalogEntry<C extends HarnessCatalog> = {
@@ -8,6 +9,7 @@ type CatalogEntry<C extends HarnessCatalog> = {
8
9
  models: C["models"] extends CatalogModels ? (keyof C["models"] & string)[] : string[];
9
10
  efforts?: C["efforts"][number][];
10
11
  config?: unknown;
12
+ execution?: DriverExecution;
11
13
  };
12
14
  export type BuiltInHarnessMatrixEntry = {
13
15
  [K in BuiltInHarnessCatalog["driver"]]: CatalogEntry<Extract<BuiltInHarnessCatalog, {
@@ -19,6 +21,7 @@ export type CustomHarnessMatrixEntry = {
19
21
  models?: string[];
20
22
  efforts?: ReasoningEffort[];
21
23
  config?: unknown;
24
+ execution?: DriverExecution;
22
25
  };
23
26
  export type HarnessMatrixEntry = BuiltInHarnessMatrixEntry | CustomHarnessMatrixEntry;
24
27
  export declare const BuiltInHarnessMatrixEntrySchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
@@ -30,6 +33,46 @@ export declare const BuiltInHarnessMatrixEntrySchema: z.ZodDiscriminatedUnion<[z
30
33
  [x: string]: string;
31
34
  }>>>;
32
35
  config: z.ZodOptional<z.ZodUnknown>;
36
+ execution: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
37
+ kind: z.ZodLiteral<"host">;
38
+ }, z.core.$strict>, z.ZodObject<{
39
+ kind: z.ZodLiteral<"container">;
40
+ image: z.ZodString;
41
+ command: z.ZodOptional<z.ZodString>;
42
+ worker: z.ZodOptional<z.ZodString>;
43
+ driverModule: z.ZodOptional<z.ZodString>;
44
+ mounts: z.ZodOptional<z.ZodArray<z.ZodObject<{
45
+ source: z.ZodString;
46
+ target: z.ZodOptional<z.ZodString>;
47
+ readOnly: z.ZodOptional<z.ZodBoolean>;
48
+ }, z.core.$strict>>>;
49
+ passEnv: z.ZodOptional<z.ZodArray<z.ZodString>>;
50
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
51
+ homeFiles: z.ZodOptional<z.ZodArray<z.ZodObject<{
52
+ destination: z.ZodString;
53
+ source: z.ZodDiscriminatedUnion<[z.ZodObject<{
54
+ kind: z.ZodLiteral<"file">;
55
+ path: z.ZodString;
56
+ }, z.core.$strict>, z.ZodObject<{
57
+ kind: z.ZodLiteral<"keychain">;
58
+ service: z.ZodString;
59
+ account: z.ZodString;
60
+ encoding: z.ZodOptional<z.ZodEnum<{
61
+ "go-keyring-base64": "go-keyring-base64";
62
+ utf8: "utf8";
63
+ }>>;
64
+ }, z.core.$strict>], "kind">;
65
+ }, z.core.$strict>>>;
66
+ network: z.ZodOptional<z.ZodEnum<{
67
+ bridge: "bridge";
68
+ none: "none";
69
+ }>>;
70
+ user: z.ZodOptional<z.ZodString>;
71
+ memory: z.ZodOptional<z.ZodString>;
72
+ cpus: z.ZodOptional<z.ZodNumber>;
73
+ pidsLimit: z.ZodOptional<z.ZodNumber>;
74
+ startupTimeoutMs: z.ZodOptional<z.ZodNumber>;
75
+ }, z.core.$strict>], "kind">>;
33
76
  }, z.core.$strict>, ...z.ZodObject<{
34
77
  driver: z.ZodLiteral<string>;
35
78
  models: z.ZodArray<z.ZodEnum<{
@@ -39,6 +82,46 @@ export declare const BuiltInHarnessMatrixEntrySchema: z.ZodDiscriminatedUnion<[z
39
82
  [x: string]: string;
40
83
  }>>>;
41
84
  config: z.ZodOptional<z.ZodUnknown>;
85
+ execution: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
86
+ kind: z.ZodLiteral<"host">;
87
+ }, z.core.$strict>, z.ZodObject<{
88
+ kind: z.ZodLiteral<"container">;
89
+ image: z.ZodString;
90
+ command: z.ZodOptional<z.ZodString>;
91
+ worker: z.ZodOptional<z.ZodString>;
92
+ driverModule: z.ZodOptional<z.ZodString>;
93
+ mounts: z.ZodOptional<z.ZodArray<z.ZodObject<{
94
+ source: z.ZodString;
95
+ target: z.ZodOptional<z.ZodString>;
96
+ readOnly: z.ZodOptional<z.ZodBoolean>;
97
+ }, z.core.$strict>>>;
98
+ passEnv: z.ZodOptional<z.ZodArray<z.ZodString>>;
99
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
100
+ homeFiles: z.ZodOptional<z.ZodArray<z.ZodObject<{
101
+ destination: z.ZodString;
102
+ source: z.ZodDiscriminatedUnion<[z.ZodObject<{
103
+ kind: z.ZodLiteral<"file">;
104
+ path: z.ZodString;
105
+ }, z.core.$strict>, z.ZodObject<{
106
+ kind: z.ZodLiteral<"keychain">;
107
+ service: z.ZodString;
108
+ account: z.ZodString;
109
+ encoding: z.ZodOptional<z.ZodEnum<{
110
+ "go-keyring-base64": "go-keyring-base64";
111
+ utf8: "utf8";
112
+ }>>;
113
+ }, z.core.$strict>], "kind">;
114
+ }, z.core.$strict>>>;
115
+ network: z.ZodOptional<z.ZodEnum<{
116
+ bridge: "bridge";
117
+ none: "none";
118
+ }>>;
119
+ user: z.ZodOptional<z.ZodString>;
120
+ memory: z.ZodOptional<z.ZodString>;
121
+ cpus: z.ZodOptional<z.ZodNumber>;
122
+ pidsLimit: z.ZodOptional<z.ZodNumber>;
123
+ startupTimeoutMs: z.ZodOptional<z.ZodNumber>;
124
+ }, z.core.$strict>], "kind">>;
42
125
  }, z.core.$strict>[]], "driver">;
43
126
  export declare const HarnessMatrixEntrySchema: z.ZodCustom<HarnessMatrixEntry, HarnessMatrixEntry>;
44
127
  export type HarnessPermutation = {
@@ -46,6 +129,7 @@ export type HarnessPermutation = {
46
129
  model?: string | undefined;
47
130
  effort?: ReasoningEffort | undefined;
48
131
  config?: unknown;
132
+ execution?: DriverExecution;
49
133
  };
50
134
  export declare const permutationId: (permutation: HarnessPermutation) => string;
51
135
  export declare const HarnessMatrixSchema: z.ZodArray<z.ZodCustom<HarnessMatrixEntry, HarnessMatrixEntry>>;
@@ -1 +1 @@
1
- {"version":3,"file":"harness-matrix.d.ts","sourceRoot":"","sources":["../../src/core/harness-matrix.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"harness-matrix.d.ts","sourceRoot":"","sources":["../../src/core/harness-matrix.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { z } from "zod";
2
+ import { DriverExecutionSchema, driverExecutionOf, } from "./driver-execution.js";
2
3
  import { catalogEfforts, catalogModelIds, defaultCatalogEffort, describeAcceptedEfforts, isClosedCatalog, ReasoningEffortSchema, } from "./harness-catalog.js";
3
4
  import { builtInHarnessCatalogs, harnessCatalogFor, } from "./harness-catalogs/index.js";
4
5
  const nonEmptyEnum = (values) => z.enum(values);
@@ -12,6 +13,7 @@ const catalogEntrySchema = (catalog) => {
12
13
  models: z.array(models).min(1),
13
14
  efforts: z.array(nonEmptyEnum(catalog.efforts)).min(1).optional(),
14
15
  config: z.unknown().optional(),
16
+ execution: DriverExecutionSchema.optional(),
15
17
  })
16
18
  .strict()
17
19
  .superRefine((entry, ctx) => {
@@ -44,6 +46,7 @@ const CustomHarnessMatrixEntrySchema = z
44
46
  models: z.array(z.string().min(1)).min(1).optional(),
45
47
  efforts: z.array(ReasoningEffortSchema).min(1).optional(),
46
48
  config: z.unknown().optional(),
49
+ execution: DriverExecutionSchema.optional(),
47
50
  })
48
51
  .strict();
49
52
  const isRecord = (value) => Boolean(value) && typeof value === "object" && !Array.isArray(value);
@@ -65,6 +68,7 @@ const entryPermutation = (entry, model, effort) => ({
65
68
  ...(model !== undefined ? { model } : {}),
66
69
  ...(effort !== undefined ? { effort } : {}),
67
70
  ...(entry.config !== undefined ? { config: entry.config } : {}),
71
+ ...(entry.execution !== undefined ? { execution: entry.execution } : {}),
68
72
  });
69
73
  const expandEntry = (entry) => {
70
74
  const catalog = harnessCatalogFor(entry.driver);
@@ -189,6 +193,12 @@ export const permutationDriverRef = (selected, fallback, plugin) => {
189
193
  }
190
194
  config = plugin.selectHarness(config, { model: selected.model, effort: selected.effort });
191
195
  }
192
- return config === undefined ? selected.driver : { name: selected.driver, config };
196
+ const execution = selected.execution ??
197
+ (fallback && driverNameOf(fallback) === selected.driver
198
+ ? driverExecutionOf(fallback)
199
+ : undefined);
200
+ return config === undefined && execution === undefined
201
+ ? selected.driver
202
+ : { name: selected.driver, config, ...(execution ? { execution } : {}) };
193
203
  };
194
204
  //# sourceMappingURL=harness-matrix.js.map