@on-par/factory-core 0.9.26 → 0.9.27-next.2

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 (87) hide show
  1. package/dist/config/index.d.ts +0 -1
  2. package/dist/config/index.d.ts.map +1 -1
  3. package/dist/config/index.js +1 -3
  4. package/dist/config/index.js.map +1 -1
  5. package/dist/config/run-section.d.ts +1 -1
  6. package/dist/config/run-section.js +1 -1
  7. package/dist/index.d.ts +6 -29
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +3 -17
  10. package/dist/index.js.map +1 -1
  11. package/package.json +5 -5
  12. package/dist/config/v2-models.d.ts +0 -75
  13. package/dist/config/v2-models.d.ts.map +0 -1
  14. package/dist/config/v2-models.js +0 -119
  15. package/dist/config/v2-models.js.map +0 -1
  16. package/dist/config/v2.d.ts +0 -252
  17. package/dist/config/v2.d.ts.map +0 -1
  18. package/dist/config/v2.js +0 -369
  19. package/dist/config/v2.js.map +0 -1
  20. package/dist/hosted/control-plane.d.ts +0 -40
  21. package/dist/hosted/control-plane.d.ts.map +0 -1
  22. package/dist/hosted/control-plane.js +0 -198
  23. package/dist/hosted/control-plane.js.map +0 -1
  24. package/dist/hosted/queue-client.d.ts +0 -51
  25. package/dist/hosted/queue-client.d.ts.map +0 -1
  26. package/dist/hosted/queue-client.js +0 -92
  27. package/dist/hosted/queue-client.js.map +0 -1
  28. package/dist/hosted/runner-client.d.ts +0 -78
  29. package/dist/hosted/runner-client.d.ts.map +0 -1
  30. package/dist/hosted/runner-client.js +0 -82
  31. package/dist/hosted/runner-client.js.map +0 -1
  32. package/dist/hosted/runner.d.ts +0 -74
  33. package/dist/hosted/runner.d.ts.map +0 -1
  34. package/dist/hosted/runner.js +0 -174
  35. package/dist/hosted/runner.js.map +0 -1
  36. package/dist/hosted/smoke.d.ts +0 -46
  37. package/dist/hosted/smoke.d.ts.map +0 -1
  38. package/dist/hosted/smoke.js +0 -56
  39. package/dist/hosted/smoke.js.map +0 -1
  40. package/dist/hosted/store-resolve.d.ts +0 -16
  41. package/dist/hosted/store-resolve.d.ts.map +0 -1
  42. package/dist/hosted/store-resolve.js +0 -13
  43. package/dist/hosted/store-resolve.js.map +0 -1
  44. package/dist/hosted/store-sqlite.d.ts +0 -10
  45. package/dist/hosted/store-sqlite.d.ts.map +0 -1
  46. package/dist/hosted/store-sqlite.js +0 -67
  47. package/dist/hosted/store-sqlite.js.map +0 -1
  48. package/dist/hosted/summary.d.ts +0 -26
  49. package/dist/hosted/summary.d.ts.map +0 -1
  50. package/dist/hosted/summary.js +0 -27
  51. package/dist/hosted/summary.js.map +0 -1
  52. package/dist/hosted/watchdog.d.ts +0 -38
  53. package/dist/hosted/watchdog.d.ts.map +0 -1
  54. package/dist/hosted/watchdog.js +0 -56
  55. package/dist/hosted/watchdog.js.map +0 -1
  56. package/dist/phases/board-queue-dispatch.d.ts +0 -21
  57. package/dist/phases/board-queue-dispatch.d.ts.map +0 -1
  58. package/dist/phases/board-queue-dispatch.js +0 -57
  59. package/dist/phases/board-queue-dispatch.js.map +0 -1
  60. package/dist/phases/board-queue-scheduler.d.ts +0 -19
  61. package/dist/phases/board-queue-scheduler.d.ts.map +0 -1
  62. package/dist/phases/board-queue-scheduler.js +0 -56
  63. package/dist/phases/board-queue-scheduler.js.map +0 -1
  64. package/dist/projects/project-queue-poller.d.ts +0 -25
  65. package/dist/projects/project-queue-poller.d.ts.map +0 -1
  66. package/dist/projects/project-queue-poller.js +0 -92
  67. package/dist/projects/project-queue-poller.js.map +0 -1
  68. package/dist/projects/project-queue-reader.d.ts +0 -40
  69. package/dist/projects/project-queue-reader.d.ts.map +0 -1
  70. package/dist/projects/project-queue-reader.js +0 -185
  71. package/dist/projects/project-queue-reader.js.map +0 -1
  72. package/dist/projects/project-status-writer.d.ts +0 -12
  73. package/dist/projects/project-status-writer.d.ts.map +0 -1
  74. package/dist/projects/project-status-writer.js +0 -42
  75. package/dist/projects/project-status-writer.js.map +0 -1
  76. package/dist/queue/project-board-poller.d.ts +0 -15
  77. package/dist/queue/project-board-poller.d.ts.map +0 -1
  78. package/dist/queue/project-board-poller.js +0 -3
  79. package/dist/queue/project-board-poller.js.map +0 -1
  80. package/dist/queue/project-board-status-writer.d.ts +0 -42
  81. package/dist/queue/project-board-status-writer.d.ts.map +0 -1
  82. package/dist/queue/project-board-status-writer.js +0 -83
  83. package/dist/queue/project-board-status-writer.js.map +0 -1
  84. package/dist/queue/reprioritization-audit.d.ts +0 -19
  85. package/dist/queue/reprioritization-audit.d.ts.map +0 -1
  86. package/dist/queue/reprioritization-audit.js +0 -77
  87. package/dist/queue/reprioritization-audit.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"v2-models.js","sourceRoot":"","sources":["../../src/config/v2-models.ts"],"names":[],"mappings":"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"}
@@ -1,252 +0,0 @@
1
- import { z } from 'zod';
2
- export declare const FactoryConfigV2Schema: z.ZodObject<{
3
- pr: z.ZodOptional<z.ZodObject<{
4
- footer: z.ZodOptional<z.ZodString>;
5
- walkthrough: z.ZodOptional<z.ZodObject<{
6
- minLines: z.ZodOptional<z.ZodNumber>;
7
- minFiles: z.ZodOptional<z.ZodNumber>;
8
- }, z.core.$strict>>;
9
- evidenceComment: z.ZodOptional<z.ZodBoolean>;
10
- }, z.core.$strict>>;
11
- version: z.ZodLiteral<2>;
12
- models: z.ZodPrefault<z.ZodObject<{
13
- registry: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
14
- provider: z.ZodEnum<{
15
- anthropic: "anthropic";
16
- custom: "custom";
17
- deepseek: "deepseek";
18
- ollama: "ollama";
19
- openai: "openai";
20
- }>;
21
- tier: z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>;
22
- costPerMtokInput: z.ZodNumber;
23
- costPerMtokOutput: z.ZodNumber;
24
- costPerMtokCachedInput: z.ZodOptional<z.ZodNumber>;
25
- contextWindow: z.ZodNumber;
26
- capabilities: z.ZodArray<z.ZodString>;
27
- envKey: z.ZodNullable<z.ZodString>;
28
- claudeFlag: z.ZodOptional<z.ZodString>;
29
- codexFlag: z.ZodOptional<z.ZodString>;
30
- providerModel: z.ZodOptional<z.ZodString>;
31
- providerOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
32
- endpoint: z.ZodOptional<z.ZodURL>;
33
- harness: z.ZodOptional<z.ZodString>;
34
- codex: z.ZodOptional<z.ZodBoolean>;
35
- experimental: z.ZodOptional<z.ZodBoolean>;
36
- trainsOnPrompts: z.ZodOptional<z.ZodBoolean>;
37
- }, z.core.$strip>>>;
38
- tiers: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString>>>;
39
- pins: z.ZodPrefault<z.ZodObject<{
40
- plan: z.ZodOptional<z.ZodString>;
41
- planFallback: z.ZodOptional<z.ZodString>;
42
- build: z.ZodOptional<z.ZodString>;
43
- buildFallback: z.ZodOptional<z.ZodString>;
44
- checker: z.ZodOptional<z.ZodString>;
45
- triage: z.ZodOptional<z.ZodString>;
46
- classifier: z.ZodOptional<z.ZodString>;
47
- }, z.core.$strip>>;
48
- providerOrder: z.ZodPrefault<z.ZodObject<{
49
- boss: z.ZodDefault<z.ZodArray<z.ZodString>>;
50
- worker: z.ZodDefault<z.ZodArray<z.ZodString>>;
51
- checker: z.ZodDefault<z.ZodArray<z.ZodString>>;
52
- triage: z.ZodDefault<z.ZodArray<z.ZodString>>;
53
- }, z.core.$strip>>;
54
- efforts: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodEnum<{
55
- high: "high";
56
- low: "low";
57
- max: "max";
58
- medium: "medium";
59
- minimal: "minimal";
60
- none: "none";
61
- ultra: "ultra";
62
- xhigh: "xhigh";
63
- }>, z.ZodBoolean]>, z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodEnum<{
64
- high: "high";
65
- low: "low";
66
- max: "max";
67
- medium: "medium";
68
- minimal: "minimal";
69
- none: "none";
70
- ultra: "ultra";
71
- xhigh: "xhigh";
72
- }>, z.ZodBoolean]>>]>>>;
73
- providers: z.ZodPrefault<z.ZodObject<{
74
- anthropic: z.ZodOptional<z.ZodBoolean>;
75
- openai: z.ZodOptional<z.ZodBoolean>;
76
- ollama: z.ZodOptional<z.ZodBoolean>;
77
- }, z.core.$strip>>;
78
- failover: z.ZodPrefault<z.ZodObject<{
79
- triggers: z.ZodDefault<z.ZodArray<z.ZodString>>;
80
- maxRetries: z.ZodDefault<z.ZodNumber>;
81
- cooldownMs: z.ZodDefault<z.ZodNumber>;
82
- }, z.core.$strip>>;
83
- routingRules: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
84
- }, z.core.$strip>>;
85
- harnesses: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
86
- command: z.ZodString;
87
- prompt: z.ZodEnum<{
88
- arg: "arg";
89
- file: "file";
90
- stdin: "stdin";
91
- }>;
92
- output: z.ZodEnum<{
93
- "file:{outFile}": "file:{outFile}";
94
- "jsonl-last-message": "jsonl-last-message";
95
- stdout: "stdout";
96
- }>;
97
- agentic: z.ZodBoolean;
98
- usage: z.ZodEnum<{
99
- jsonl: "jsonl";
100
- none: "none";
101
- }>;
102
- errorPatterns: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodEnum<{
103
- apply_failed: "apply_failed";
104
- cli_missing: "cli_missing";
105
- empty_response: "empty_response";
106
- error: "error";
107
- local_auth: "local_auth";
108
- permission_denied: "permission_denied";
109
- rate_limit: "rate_limit";
110
- schema_invalid: "schema_invalid";
111
- timeout: "timeout";
112
- unavailable: "unavailable";
113
- unknown: "unknown";
114
- usage_cap: "usage_cap";
115
- verify_failed: "verify_failed";
116
- }> & z.core.$partial, z.ZodString>, z.ZodArray<z.ZodString>]>>;
117
- probe: z.ZodOptional<z.ZodString>;
118
- }, z.core.$strict>>>;
119
- routes: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
120
- tier: z.ZodString;
121
- description: z.ZodString;
122
- requires: z.ZodOptional<z.ZodString>;
123
- }, z.core.$strip>>>;
124
- run: z.ZodPrefault<z.ZodObject<{
125
- branchPrefix: z.ZodDefault<z.ZodString>;
126
- merge: z.ZodPrefault<z.ZodObject<{
127
- auto: z.ZodDefault<z.ZodBoolean>;
128
- admin: z.ZodDefault<z.ZodBoolean>;
129
- }, z.core.$strip>>;
130
- timeouts: z.ZodPrefault<z.ZodObject<{
131
- plan_seconds: z.ZodDefault<z.ZodNumber>;
132
- build_seconds: z.ZodDefault<z.ZodNumber>;
133
- check_seconds: z.ZodDefault<z.ZodNumber>;
134
- merge_poll_seconds: z.ZodDefault<z.ZodNumber>;
135
- approval_seconds: z.ZodDefault<z.ZodNumber>;
136
- tests_seconds: z.ZodDefault<z.ZodNumber>;
137
- compile_seconds: z.ZodDefault<z.ZodNumber>;
138
- }, z.core.$strip>>;
139
- sandbox: z.ZodPrefault<z.ZodObject<{
140
- enabled: z.ZodDefault<z.ZodBoolean>;
141
- codexFullAccessTasks: z.ZodDefault<z.ZodArray<z.ZodString>>;
142
- codexSandbox: z.ZodCatch<z.ZodOptional<z.ZodEnum<{
143
- "danger-full-access": "danger-full-access";
144
- "workspace-write": "workspace-write";
145
- }>>>;
146
- writablePaths: z.ZodDefault<z.ZodArray<z.ZodString>>;
147
- network: z.ZodPrefault<z.ZodObject<{
148
- allow: z.ZodDefault<z.ZodArray<z.ZodString>>;
149
- }, z.core.$strip>>;
150
- resources: z.ZodPrefault<z.ZodObject<{
151
- cpuMs: z.ZodDefault<z.ZodNumber>;
152
- memMb: z.ZodDefault<z.ZodNumber>;
153
- }, z.core.$strip>>;
154
- }, z.core.$strip>>;
155
- worktree: z.ZodPrefault<z.ZodObject<{
156
- parent: z.ZodDefault<z.ZodString>;
157
- gcTtlDays: z.ZodDefault<z.ZodNumber>;
158
- autoGcOnRun: z.ZodDefault<z.ZodBoolean>;
159
- }, z.core.$strip>>;
160
- environment: z.ZodPrefault<z.ZodObject<{
161
- ports: z.ZodPrefault<z.ZodObject<{
162
- enabled: z.ZodDefault<z.ZodBoolean>;
163
- range: z.ZodDefault<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
164
- }, z.core.$strip>>;
165
- processGroups: z.ZodPrefault<z.ZodObject<{
166
- graceMs: z.ZodDefault<z.ZodNumber>;
167
- }, z.core.$strip>>;
168
- proxy: z.ZodPrefault<z.ZodObject<{
169
- enabled: z.ZodDefault<z.ZodBoolean>;
170
- port: z.ZodDefault<z.ZodNumber>;
171
- domain: z.ZodDefault<z.ZodString>;
172
- }, z.core.$strip>>;
173
- }, z.core.$strip>>;
174
- autoFailover: z.ZodPrefault<z.ZodObject<{
175
- enabled: z.ZodDefault<z.ZodBoolean>;
176
- cooldownMinutes: z.ZodDefault<z.ZodNumber>;
177
- fallbackModel: z.ZodDefault<z.ZodString>;
178
- }, z.core.$strip>>;
179
- efficiency: z.ZodPrefault<z.ZodObject<{
180
- fastPath: z.ZodDefault<z.ZodBoolean>;
181
- maxReworkRounds: z.ZodDefault<z.ZodNumber>;
182
- perIssueCapUsd: z.ZodOptional<z.ZodNumber>;
183
- }, z.core.$strip>>;
184
- ci: z.ZodPrefault<z.ZodObject<{
185
- skip: z.ZodDefault<z.ZodBoolean>;
186
- }, z.core.$strip>>;
187
- planApproval: z.ZodPrefault<z.ZodObject<{
188
- enabled: z.ZodDefault<z.ZodBoolean>;
189
- }, z.core.$strip>>;
190
- byok: z.ZodPrefault<z.ZodObject<{
191
- enabled: z.ZodDefault<z.ZodBoolean>;
192
- }, z.core.$strip>>;
193
- }, z.core.$strip>>;
194
- budget: z.ZodPrefault<z.ZodObject<{
195
- usageCapUsd: z.ZodDefault<z.ZodNumber>;
196
- costTracking: z.ZodPrefault<z.ZodObject<{
197
- enabled: z.ZodDefault<z.ZodBoolean>;
198
- logFile: z.ZodDefault<z.ZodString>;
199
- }, z.core.$strip>>;
200
- kpis: z.ZodPrefault<z.ZodObject<{
201
- defectWindowDays: z.ZodDefault<z.ZodNumber>;
202
- }, z.core.$strip>>;
203
- }, z.core.$strip>>;
204
- intake: z.ZodPrefault<z.ZodObject<{
205
- ingest: z.ZodPrefault<z.ZodObject<{
206
- enabled: z.ZodDefault<z.ZodBoolean>;
207
- label: z.ZodDefault<z.ZodString>;
208
- lane: z.ZodDefault<z.ZodString>;
209
- maxPerCycle: z.ZodDefault<z.ZodNumber>;
210
- }, z.core.$strip>>;
211
- discovery: z.ZodPrefault<z.ZodObject<{
212
- enabled: z.ZodDefault<z.ZodBoolean>;
213
- schedule: z.ZodDefault<z.ZodEnum<{
214
- daily: "daily";
215
- manual: "manual";
216
- weekly: "weekly";
217
- }>>;
218
- maxCandidates: z.ZodDefault<z.ZodNumber>;
219
- }, z.core.$strip>>;
220
- filing: z.ZodPrefault<z.ZodObject<{
221
- enabled: z.ZodDefault<z.ZodBoolean>;
222
- excludeReasons: z.ZodDefault<z.ZodArray<z.ZodString>>;
223
- repeatThreshold: z.ZodDefault<z.ZodNumber>;
224
- maxPerRun: z.ZodDefault<z.ZodNumber>;
225
- maxPerDay: z.ZodDefault<z.ZodNumber>;
226
- selfFixLabel: z.ZodDefault<z.ZodString>;
227
- bugLabels: z.ZodDefault<z.ZodArray<z.ZodString>>;
228
- repo: z.ZodOptional<z.ZodString>;
229
- sensitivePaths: z.ZodDefault<z.ZodArray<z.ZodString>>;
230
- }, z.core.$strip>>;
231
- }, z.core.$strip>>;
232
- constitution: z.ZodPrefault<z.ZodObject<{
233
- path: z.ZodDefault<z.ZodString>;
234
- }, z.core.$strip>>;
235
- steward: z.ZodPrefault<z.ZodObject<{
236
- enabled: z.ZodDefault<z.ZodBoolean>;
237
- }, z.core.$strip>>;
238
- notifications: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
239
- }, z.core.$strip>;
240
- export type FactoryConfigV2 = z.infer<typeof FactoryConfigV2Schema>;
241
- /** Validate and normalize a raw (already-parsed) v2 config object, applying all
242
- * section defaults. Throws a descriptive, path-annotated error on any violation. */
243
- export declare function parseV2Config(raw: unknown): FactoryConfigV2;
244
- /** Read and validate a v2 config file (e.g. `.factory/config.yaml`). A file
245
- * containing only `{"version": 2}` loads as a complete config with defaults. */
246
- export declare function loadV2Config(path: string): FactoryConfigV2;
247
- /** Generate a JSON Schema (draft 2020-12, with `$schema`) from the v2 zod schema.
248
- * Field descriptions come from the `.describe()` annotations, so the schema is
249
- * the single source of truth for both validation and generated documentation.
250
- * `io: 'input'` renders defaulted fields as optional (the on-disk overlay shape). */
251
- export declare function factoryConfigV2JsonSchema(): Record<string, unknown>;
252
- //# sourceMappingURL=v2.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"v2.d.ts","sourceRoot":"","sources":["../../src/config/v2.ts"],"names":[],"mappings":"AA8BA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAyTxB,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAsB/B,CAAC;AAEJ,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAIpE;qFACqF;AACrF,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,eAAe,CAa3D;AAED;iFACiF;AACjF,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAQ1D;AAID;;;sFAGsF;AACtF,wBAAgB,yBAAyB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEnE"}
package/dist/config/v2.js DELETED
@@ -1,369 +0,0 @@
1
- // packages/core/src/config/v2.ts — Unified versioned (v2) factory config schema
2
- //
3
- // One zod schema that unifies the full configuration surface currently split
4
- // across three packaged files (models.json, routes.json, factory.json) plus the
5
- // per-repo `.factory/config.json` overlay. Every section is optional and carries
6
- // zod defaults, so a `.factory/config.json` containing only `{"version": 2}`
7
- // validates and loads as a complete config with all defaults applied.
8
- //
9
- // This is ADDITIVE. The v1 schemas and loaders in ./index.ts and ./repo.ts are
10
- // untouched and keep working.
11
- //
12
- // NOTE: nothing loads `.factory/config.json` through this schema yet, and its shape
13
- // differs from what the runtime accepts (e.g. `models.registry`, `budget.usageCapUsd`,
14
- // `run.timeouts` are rejected or ignored there). The on-disk v2 shape is
15
- // RepoFactoryConfigV2Schema (./repo.ts) plus FactoryConfigSchema's runtime-policy keys
16
- // (./index.ts), documented in docs/config.example.yaml (generated by ./example.ts). The in-memory v1->v2 migration adapter and the
17
- // `factory migrate` command are a separate issue (#715 is the schema itself).
18
- //
19
- // Field documentation lives in `.describe()` calls on the schema — there are no
20
- // `"comment"` pseudo-doc fields in v2. `factoryConfigV2JsonSchema()` emits a
21
- // JSON Schema (draft 2020-12, with `$schema`) generated from this schema so the
22
- // descriptions are the single source of truth for both validation and docs.
23
- //
24
- // NOTE on defaults: nested section defaults use `.prefault({})`, not
25
- // `.default({})`. In zod v4 `.default(v)` substitutes `v` verbatim without
26
- // re-parsing, so a bare `.default({})` on a section would NOT fill that section's
27
- // own field defaults. `.prefault({})` feeds `{}` back through the schema, so a
28
- // missing section expands to all of its inner defaults (recursively). Leaf
29
- // primitives and concrete-value records/arrays keep `.default(...)`.
30
- import { z } from 'zod';
31
- import { failoverConfigWarnings } from './failover-triggers.js';
32
- import { CODEX_SANDBOX_MODES } from './sandbox-schema.js';
33
- import { HarnessDeclarationSchema } from './harness-declaration.js';
34
- import { ModelsSectionSchema } from './v2-models.js';
35
- import { readRepoConfigFile } from './repo-config-file.js';
36
- import { PrConfigSections } from './pr-section.js';
37
- import { slugify } from '../utils/branch-slug.js';
38
- // ---------- Routes ----------
39
- const RouteSchema = z
40
- .object({
41
- tier: z.string().describe('Tier this task type resolves against.'),
42
- description: z.string().describe('What this route is for.'),
43
- requires: z.string().optional().describe('Harness/capability the route requires (e.g. codex, claude, opencode).'),
44
- })
45
- .describe('One task-type -> tier route.');
46
- const RoutesSectionSchema = z
47
- .record(z.string(), RouteSchema)
48
- .default({})
49
- .describe('Task-type to model-tier routing. The router resolves each route’s tier to the first available model.');
50
- // ---------- Run ----------
51
- const MergeSchema = z
52
- .object({
53
- auto: z.boolean().default(false).describe('Autonomous squash-merge (also gated by FACTORY_MERGE=1).'),
54
- admin: z
55
- .boolean()
56
- .default(false)
57
- .describe('Bypass unmet merge requirements with GitHub admin privileges (FACTORY_MERGE_ADMIN=1).'),
58
- })
59
- .describe('Merge/land behavior for shipped PRs.');
60
- const TimeoutsSchema = z
61
- .object({
62
- plan_seconds: z.number().default(1800).describe('PLAN phase timeout in seconds.'),
63
- build_seconds: z.number().default(7200).describe('BUILD phase timeout in seconds.'),
64
- check_seconds: z.number().default(1800).describe('CHECK phase timeout in seconds.'),
65
- merge_poll_seconds: z.number().default(120).describe('Interval in seconds between merge-readiness polls.'),
66
- approval_seconds: z.number().default(1800).describe('How long to wait for operator approval before timing out.'),
67
- tests_seconds: z
68
- .number()
69
- .default(300)
70
- .describe('Timeout in seconds for the tests checker command (verify.sh, npm test, pytest).'),
71
- compile_seconds: z
72
- .number()
73
- .default(120)
74
- .describe('Timeout in seconds for the compile checker command (npm run build, make, cargo build).'),
75
- })
76
- .describe('Per-phase timeouts.');
77
- const SandboxSchema = z
78
- .object({
79
- enabled: z.boolean().default(true).describe('Contain agentic build runs (disable per-run with FACTORY_SANDBOX=0).'),
80
- codexFullAccessTasks: z.array(z.string()).default([]).describe('Codex task names allowed danger-full-access.'),
81
- codexSandbox: z
82
- .enum(CODEX_SANDBOX_MODES)
83
- .optional()
84
- .catch(undefined)
85
- .describe("Codex sandbox mode: danger-full-access or workspace-write. Unset keeps today's behavior."),
86
- writablePaths: z.array(z.string()).default([]).describe('Extra writable dirs (absolute or ~/...).'),
87
- network: z
88
- .object({
89
- allow: z
90
- .array(z.string())
91
- .default(['api.anthropic.com', 'github.com'])
92
- .describe('Allowed egress hosts. Empty denies all egress; non-empty leaves egress open (v1 limitation).'),
93
- })
94
- .prefault({}),
95
- resources: z
96
- .object({
97
- cpuMs: z.number().positive().default(300_000).describe('CPU time budget in milliseconds.'),
98
- memMb: z.number().positive().default(4096).describe('Memory budget in megabytes.'),
99
- })
100
- .prefault({}),
101
- })
102
- .describe('Sandbox containment for build runs.');
103
- const WorktreeSchema = z
104
- .object({
105
- parent: z
106
- .string()
107
- .default('~/.factory/worktrees')
108
- .describe('Where lane worktrees are created. "~/..." or an absolute path is a shared root, namespaced <parent>/<owner>/<repo>/; a repo-relative path is used as-is ("../" = sibling layout).'),
109
- gcTtlDays: z.number().default(7).describe('Age in days after which stale worktrees are garbage-collected.'),
110
- autoGcOnRun: z.boolean().default(true).describe('Garbage-collect stale worktrees at the start of each run.'),
111
- })
112
- .describe('Git worktree management for parallel lanes.');
113
- const EnvironmentSchema = z
114
- .object({
115
- ports: z
116
- .object({
117
- enabled: z
118
- .boolean()
119
- .default(true)
120
- .describe('Lease a unique app port per lane (disable with FACTORY_ENV_PORTS=0).'),
121
- range: z
122
- .tuple([z.number().int().min(1024).max(65535), z.number().int().min(1024).max(65535)])
123
- .default([3100, 3999])
124
- .describe('Inclusive [low, high] port range to lease from.'),
125
- })
126
- .refine((p) => p.range[0] <= p.range[1], { message: 'ports.range must be [low, high]' })
127
- .prefault({}),
128
- processGroups: z
129
- .object({
130
- graceMs: z
131
- .number()
132
- .int()
133
- .positive()
134
- .default(5000)
135
- .describe('Grace period in milliseconds between SIGTERM and SIGKILL when sweeping a lane.'),
136
- })
137
- .prefault({}),
138
- proxy: z
139
- .object({
140
- enabled: z
141
- .boolean()
142
- .default(false)
143
- .describe('Loopback reverse proxy giving each lane a stable URL (FACTORY_PROXY=1/0).'),
144
- port: z.number().int().min(1).max(65535).default(80).describe('Port the proxy binds on 127.0.0.1.'),
145
- domain: z.string().default('factory.localhost').describe('Base domain for per-lane URLs (<lane>.<domain>).'),
146
- })
147
- .prefault({}),
148
- })
149
- .describe('Per-lane runtime environment: app ports, process-group teardown, and the optional reverse proxy.');
150
- const AutoFailoverSchema = z
151
- .object({
152
- enabled: z.boolean().default(true).describe('Supervisor circuit breaker for cross-harness build failover.'),
153
- cooldownMinutes: z.number().positive().default(30).describe('How long a tripped provider is skipped, in minutes.'),
154
- fallbackModel: z.string().default('claude-sonnet-5').describe('Model the tripping lane falls over to.'),
155
- })
156
- .describe('Supervisor-level circuit breaker: on a quota trip, skip the failing provider for a cooldown window.');
157
- const EfficiencySchema = z
158
- .object({
159
- fastPath: z.boolean().default(false).describe('Trade expensive exploration for a bounded PLAN path.'),
160
- maxReworkRounds: z.number().int().min(0).max(3).default(1).describe('Maximum checker-rework retries per issue.'),
161
- perIssueCapUsd: z
162
- .number()
163
- .positive()
164
- .optional()
165
- .describe('Hard USD cap per issue (in addition to the run-wide cap).'),
166
- })
167
- .describe('Opt-in controls that bound exploration and retries.');
168
- const RunSectionSchema = z
169
- .object({
170
- branchPrefix: z
171
- .string()
172
- .refine((v) => slugify(v) !== '', 'must contain at least one letter or digit')
173
- .default('factory')
174
- .describe('Default branch-name prefix for factory branches, slug-normalized. --branch-prefix beats it.'),
175
- merge: MergeSchema.prefault({}),
176
- timeouts: TimeoutsSchema.prefault({}),
177
- sandbox: SandboxSchema.prefault({}),
178
- worktree: WorktreeSchema.prefault({}),
179
- environment: EnvironmentSchema.prefault({}),
180
- autoFailover: AutoFailoverSchema.prefault({}),
181
- efficiency: EfficiencySchema.prefault({}),
182
- ci: z
183
- .object({
184
- skip: z
185
- .boolean()
186
- .default(false)
187
- .describe('Skip waiting for GitHub Actions CI before merging (FACTORY_SKIP_CI=1).'),
188
- })
189
- .prefault({})
190
- .describe('CI gating before merge.'),
191
- planApproval: z
192
- .object({
193
- enabled: z
194
- .boolean()
195
- .default(false)
196
- .describe('Pause after PLAN freezes the spec and wait for operator approval before BUILD.'),
197
- })
198
- .prefault({})
199
- .describe('Optional pre-code approval gate.'),
200
- byok: z
201
- .object({
202
- enabled: z
203
- .boolean()
204
- .default(false)
205
- .describe('Bring-your-own-key mode: only use models whose API keys are present in env.'),
206
- })
207
- .prefault({})
208
- .describe('BYOK gating.'),
209
- })
210
- .describe('Run-time behavior: merge, timeouts, sandbox, worktrees, environment, and failover.');
211
- // ---------- Budget ----------
212
- const BudgetSectionSchema = z
213
- .object({
214
- usageCapUsd: z.number().positive().default(227).describe('Run-wide spend cap in USD (FACTORY_USAGE_CAP).'),
215
- costTracking: z
216
- .object({
217
- enabled: z.boolean().default(true).describe('Log per-task token usage and cost.'),
218
- logFile: z.string().default('.factory/costs.jsonl').describe('Path to the cost log (JSONL).'),
219
- })
220
- .prefault({})
221
- .describe('Cost tracking.'),
222
- kpis: z
223
- .object({
224
- defectWindowDays: z
225
- .number()
226
- .int()
227
- .positive()
228
- .default(14)
229
- .describe('Post-merge defect window in days (FACTORY_DEFECT_WINDOW_DAYS).'),
230
- })
231
- .prefault({})
232
- .describe('KPI scoring windows.'),
233
- })
234
- .describe('Spend caps, cost tracking, and KPI windows.');
235
- // ---------- Intake ----------
236
- const IntakeSectionSchema = z
237
- .object({
238
- ingest: z
239
- .object({
240
- enabled: z
241
- .boolean()
242
- .default(false)
243
- .describe('Always-on auto-ingest of labeled issues (FACTORY_AUTO_INGEST=1/0).'),
244
- label: z.string().default('ready').describe('Issue label that marks an issue ready to ingest.'),
245
- lane: z.string().default('auto').describe('Lane new issues are appended under.'),
246
- maxPerCycle: z.number().int().positive().default(20).describe('Maximum issues ingested per supervise cycle.'),
247
- })
248
- .prefault({})
249
- .describe('Auto-ingest of labeled GitHub issues.'),
250
- discovery: z
251
- .object({
252
- enabled: z.boolean().default(true).describe('Scheduled read-only scan proposing candidate ideas.'),
253
- schedule: z.enum(['weekly', 'daily', 'manual']).default('weekly').describe('How often discovery runs.'),
254
- maxCandidates: z.number().int().positive().default(5).describe('Maximum ranked candidates proposed per scan.'),
255
- })
256
- .prefault({})
257
- .describe('Idea discovery from product signals (no GitHub writes).'),
258
- filing: z
259
- .object({
260
- enabled: z.boolean().default(true).describe('Auto-file self-defects discovered during runs.'),
261
- excludeReasons: z
262
- .array(z.string())
263
- .default(['rate_limit', 'usage_cap', 'timeout', 'verify_failed'])
264
- .describe('Park reasons never filed unless the same fingerprint repeats.'),
265
- repeatThreshold: z
266
- .number()
267
- .int()
268
- .positive()
269
- .default(3)
270
- .describe('Repeats of an excluded fingerprint before it is filed anyway.'),
271
- maxPerRun: z.number().int().positive().default(5).describe('Maximum new bugs filed per run.'),
272
- maxPerDay: z.number().int().positive().default(20).describe('Maximum new bugs filed per day.'),
273
- selfFixLabel: z
274
- .string()
275
- .default('no-auto-merge')
276
- .describe('Label applied to factory-internal bugs so the merge path requires human approval.'),
277
- bugLabels: z.array(z.string()).default(['bug']).describe('Labels applied to filed bugs.'),
278
- repo: z
279
- .string()
280
- .regex(/^[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+$/, 'filing.repo must be owner/name')
281
- .optional()
282
- .describe('Repo (owner/name) that `factory feedback` files issues in. Unset: the checkout origin remote. There is no built-in default.'),
283
- sensitivePaths: z
284
- .array(z.string())
285
- .default(['packages/core/', 'packages/config/', 'packages/cli/', 'scripts/', '.github/'])
286
- .describe('Paths whose changes are treated as sensitive.'),
287
- })
288
- .prefault({})
289
- .describe('Guardrails for auto-filing self-defects.'),
290
- })
291
- .describe('Work intake: ingest, discovery, and self-defect filing.');
292
- // ---------- Constitution & notifications ----------
293
- const ConstitutionSectionSchema = z
294
- .object({
295
- path: z
296
- .string()
297
- .default('constitutions/')
298
- .describe('Path (repo-relative or packaged) to the product constitution markdown.'),
299
- })
300
- .describe('Product constitution location.');
301
- const NotificationsSectionSchema = z
302
- .record(z.string(), z.boolean())
303
- .default({ on_ship: true, on_fail: true, on_escalate: true, on_park: true, on_merge: true })
304
- .describe('Event -> on/off notification switches (on_ship, on_fail, on_escalate, on_park, on_merge, ...).');
305
- // ---------- Steward ----------
306
- const StewardSectionSchema = z
307
- .object({
308
- enabled: z
309
- .boolean()
310
- .default(false)
311
- .describe('Run the stuck-run steward on parked runs that match an ADR-0155 trigger. Off unless set to true.'),
312
- })
313
- .describe('Stuck-run steward (ADR-0155). Disabled by default.');
314
- // ---------- Top-level v2 schema ----------
315
- export const FactoryConfigV2Schema = z
316
- .object({
317
- version: z.literal(2).describe('Config schema version. Must be 2.'),
318
- ...PrConfigSections,
319
- models: ModelsSectionSchema.prefault({}),
320
- harnesses: z
321
- .record(z.string(), HarnessDeclarationSchema)
322
- .optional()
323
- .describe("Repo-declared agent CLIs: harness id -> declaration (command, prompt, output, agentic, usage, optional errorPatterns and probe). Run through the built-in `command` harness; reference an id from a models.registry entry's `harness`."),
324
- routes: RoutesSectionSchema,
325
- run: RunSectionSchema.prefault({}),
326
- budget: BudgetSectionSchema.prefault({}),
327
- intake: IntakeSectionSchema.prefault({}),
328
- constitution: ConstitutionSectionSchema.prefault({}),
329
- steward: StewardSectionSchema.prefault({}),
330
- notifications: NotificationsSectionSchema,
331
- })
332
- .describe("Unified On PAR Dev's Software Factory configuration (v2). Every section is optional with defaults; " +
333
- 'a `.factory/config.json` of `{"version": 2}` is a complete, valid config.');
334
- // ---------- Loaders ----------
335
- /** Validate and normalize a raw (already-parsed) v2 config object, applying all
336
- * section defaults. Throws a descriptive, path-annotated error on any violation. */
337
- export function parseV2Config(raw) {
338
- const result = FactoryConfigV2Schema.safeParse(raw);
339
- if (!result.success) {
340
- const issues = result.error.issues.map((i) => `${i.path.join('.') || '(root)'}: ${i.message}`).join('; ');
341
- throw new Error(`Invalid v2 config: ${issues}`);
342
- }
343
- for (const w of failoverConfigWarnings(raw?.models?.failover, 'models.failover')) {
344
- console.warn(`factory: ${w}`);
345
- }
346
- return result.data;
347
- }
348
- /** Read and validate a v2 config file (e.g. `.factory/config.yaml`). A file
349
- * containing only `{"version": 2}` loads as a complete config with defaults. */
350
- export function loadV2Config(path) {
351
- const raw = readRepoConfigFile(path);
352
- if (raw === undefined)
353
- throw new Error(`Failed to parse ${path}: file not found`);
354
- try {
355
- return parseV2Config(raw);
356
- }
357
- catch (err) {
358
- throw new Error(err.message.replace('Invalid v2 config:', `Invalid ${path}:`), { cause: err });
359
- }
360
- }
361
- // ---------- JSON Schema generation ----------
362
- /** Generate a JSON Schema (draft 2020-12, with `$schema`) from the v2 zod schema.
363
- * Field descriptions come from the `.describe()` annotations, so the schema is
364
- * the single source of truth for both validation and generated documentation.
365
- * `io: 'input'` renders defaulted fields as optional (the on-disk overlay shape). */
366
- export function factoryConfigV2JsonSchema() {
367
- return z.toJSONSchema(FactoryConfigV2Schema, { io: 'input' });
368
- }
369
- //# sourceMappingURL=v2.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"v2.js","sourceRoot":"","sources":["../../src/config/v2.ts"],"names":[],"mappings":"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"}