@fractary/core 0.6.0 → 0.7.3

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.
@@ -0,0 +1,349 @@
1
+ "use strict";
2
+ /**
3
+ * Tests for config/defaults.ts
4
+ *
5
+ * Tests default configuration generation for all platforms and storage types.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ const defaults_1 = require("./defaults");
9
+ describe('getDefaultConfig', () => {
10
+ describe('basic structure', () => {
11
+ it('returns a valid config object with version 2.0', () => {
12
+ const config = (0, defaults_1.getDefaultConfig)();
13
+ expect(config.version).toBe('2.0');
14
+ });
15
+ it('includes all plugin sections by default', () => {
16
+ const config = (0, defaults_1.getDefaultConfig)();
17
+ expect(config.work).toBeDefined();
18
+ expect(config.repo).toBeDefined();
19
+ expect(config.logs).toBeDefined();
20
+ expect(config.file).toBeDefined();
21
+ expect(config.spec).toBeDefined();
22
+ expect(config.docs).toBeDefined();
23
+ });
24
+ it('does not include codex section by default', () => {
25
+ const config = (0, defaults_1.getDefaultConfig)();
26
+ expect(config.codex).toBeUndefined();
27
+ });
28
+ });
29
+ describe('work platform: github (default)', () => {
30
+ it('sets github as default work platform', () => {
31
+ const config = (0, defaults_1.getDefaultConfig)();
32
+ expect(config.work?.active_handler).toBe('github');
33
+ });
34
+ it('configures github handler with required fields', () => {
35
+ const config = (0, defaults_1.getDefaultConfig)({ owner: 'myorg', repo: 'myrepo' });
36
+ const github = config.work?.handlers?.github;
37
+ expect(github).toBeDefined();
38
+ expect(github.owner).toBe('myorg');
39
+ expect(github.repo).toBe('myrepo');
40
+ expect(github.token).toBe('${GITHUB_TOKEN}');
41
+ expect(github.api_url).toBe('https://api.github.com');
42
+ });
43
+ it('includes classification mappings', () => {
44
+ const config = (0, defaults_1.getDefaultConfig)();
45
+ const github = config.work?.handlers?.github;
46
+ expect(github.classification).toBeDefined();
47
+ expect(github.classification.feature).toContain('feature');
48
+ expect(github.classification.bug).toContain('bug');
49
+ expect(github.classification.chore).toContain('chore');
50
+ expect(github.classification.patch).toContain('hotfix');
51
+ });
52
+ it('includes state mappings', () => {
53
+ const config = (0, defaults_1.getDefaultConfig)();
54
+ const github = config.work?.handlers?.github;
55
+ expect(github.states).toBeDefined();
56
+ expect(github.states.open).toBe('OPEN');
57
+ expect(github.states.done).toBe('CLOSED');
58
+ });
59
+ it('includes label configuration', () => {
60
+ const config = (0, defaults_1.getDefaultConfig)();
61
+ const github = config.work?.handlers?.github;
62
+ expect(github.labels).toBeDefined();
63
+ expect(github.labels.prefix).toBe('faber-');
64
+ });
65
+ it('includes work defaults', () => {
66
+ const config = (0, defaults_1.getDefaultConfig)();
67
+ expect(config.work?.defaults).toBeDefined();
68
+ expect(config.work?.defaults?.auto_label).toBe(true);
69
+ expect(config.work?.defaults?.close_on_merge).toBe(true);
70
+ });
71
+ });
72
+ describe('work platform: jira', () => {
73
+ it('configures jira handler when specified', () => {
74
+ const config = (0, defaults_1.getDefaultConfig)({ workPlatform: 'jira' });
75
+ expect(config.work?.active_handler).toBe('jira');
76
+ expect(config.work?.handlers?.jira).toBeDefined();
77
+ expect(config.work?.handlers?.github).toBeUndefined();
78
+ });
79
+ it('includes jira-specific fields', () => {
80
+ const config = (0, defaults_1.getDefaultConfig)({ workPlatform: 'jira' });
81
+ const jira = config.work?.handlers?.jira;
82
+ expect(jira.base_url).toBe('${JIRA_BASE_URL}');
83
+ expect(jira.email).toBe('${JIRA_EMAIL}');
84
+ expect(jira.api_token).toBe('${JIRA_API_TOKEN}');
85
+ expect(jira.project_key).toBe('PROJ');
86
+ });
87
+ it('includes jira classification mappings', () => {
88
+ const config = (0, defaults_1.getDefaultConfig)({ workPlatform: 'jira' });
89
+ const jira = config.work?.handlers?.jira;
90
+ expect(jira.classification.feature).toContain('Story');
91
+ expect(jira.classification.bug).toContain('Bug');
92
+ });
93
+ it('includes jira state mappings', () => {
94
+ const config = (0, defaults_1.getDefaultConfig)({ workPlatform: 'jira' });
95
+ const jira = config.work?.handlers?.jira;
96
+ expect(jira.states.open).toBe('To Do');
97
+ expect(jira.states.in_progress).toBe('In Progress');
98
+ expect(jira.states.done).toBe('Done');
99
+ });
100
+ });
101
+ describe('work platform: linear', () => {
102
+ it('configures linear handler when specified', () => {
103
+ const config = (0, defaults_1.getDefaultConfig)({ workPlatform: 'linear' });
104
+ expect(config.work?.active_handler).toBe('linear');
105
+ expect(config.work?.handlers?.linear).toBeDefined();
106
+ });
107
+ it('includes linear-specific fields', () => {
108
+ const config = (0, defaults_1.getDefaultConfig)({ workPlatform: 'linear' });
109
+ const linear = config.work?.handlers?.linear;
110
+ expect(linear.api_key).toBe('${LINEAR_API_KEY}');
111
+ expect(linear.team_key).toBe('TEAM');
112
+ });
113
+ it('includes linear state mappings', () => {
114
+ const config = (0, defaults_1.getDefaultConfig)({ workPlatform: 'linear' });
115
+ const linear = config.work?.handlers?.linear;
116
+ expect(linear.states.open).toBe('Backlog');
117
+ expect(linear.states.in_progress).toBe('In Progress');
118
+ expect(linear.states.closed).toBe('Canceled');
119
+ });
120
+ });
121
+ describe('repo configuration', () => {
122
+ it('sets github as default repo platform', () => {
123
+ const config = (0, defaults_1.getDefaultConfig)();
124
+ expect(config.repo?.active_handler).toBe('github');
125
+ });
126
+ it('configures github handler with token', () => {
127
+ const config = (0, defaults_1.getDefaultConfig)();
128
+ const github = config.repo?.handlers?.github;
129
+ expect(github.token).toBe('${GITHUB_TOKEN}');
130
+ expect(github.api_url).toBe('https://api.github.com');
131
+ });
132
+ it('includes repo defaults', () => {
133
+ const config = (0, defaults_1.getDefaultConfig)();
134
+ const defaults = config.repo?.defaults;
135
+ expect(defaults?.default_branch).toBe('main');
136
+ expect(defaults?.protected_branches).toContain('main');
137
+ expect(defaults?.commit_format).toBe('faber');
138
+ });
139
+ it('includes branch naming configuration', () => {
140
+ const config = (0, defaults_1.getDefaultConfig)();
141
+ const naming = config.repo?.defaults?.branch_naming;
142
+ expect(naming?.pattern).toBe('{prefix}/{issue_id}-{slug}');
143
+ expect(naming?.allowed_prefixes).toContain('feat');
144
+ expect(naming?.allowed_prefixes).toContain('fix');
145
+ });
146
+ it('includes PR configuration', () => {
147
+ const config = (0, defaults_1.getDefaultConfig)();
148
+ const pr = config.repo?.defaults?.pr;
149
+ expect(pr?.template).toBe('standard');
150
+ expect(pr?.require_work_id).toBe(true);
151
+ expect(pr?.auto_link_issues).toBe(true);
152
+ });
153
+ it('includes CI polling configuration', () => {
154
+ const config = (0, defaults_1.getDefaultConfig)();
155
+ const ciPolling = config.repo?.defaults?.pr?.ci_polling;
156
+ expect(ciPolling?.enabled).toBe(true);
157
+ expect(ciPolling?.interval_seconds).toBe(60);
158
+ expect(ciPolling?.timeout_seconds).toBe(900);
159
+ });
160
+ it('includes merge configuration', () => {
161
+ const config = (0, defaults_1.getDefaultConfig)();
162
+ const merge = config.repo?.defaults?.pr?.merge;
163
+ expect(merge?.strategy).toBe('squash');
164
+ expect(merge?.delete_branch).toBe(true);
165
+ });
166
+ });
167
+ describe('file handler: local (default)', () => {
168
+ it('uses local storage by default', () => {
169
+ const config = (0, defaults_1.getDefaultConfig)();
170
+ expect(config.file?.sources?.specs?.type).toBe('local');
171
+ expect(config.file?.sources?.logs?.type).toBe('local');
172
+ });
173
+ it('configures local base paths', () => {
174
+ const config = (0, defaults_1.getDefaultConfig)();
175
+ expect(config.file?.sources?.specs?.local?.base_path).toBe('.fractary/specs');
176
+ expect(config.file?.sources?.logs?.local?.base_path).toBe('.fractary/logs');
177
+ });
178
+ it('does not include S3-specific fields for local', () => {
179
+ const config = (0, defaults_1.getDefaultConfig)();
180
+ expect(config.file?.sources?.specs?.bucket).toBeUndefined();
181
+ expect(config.file?.sources?.specs?.region).toBeUndefined();
182
+ });
183
+ it('includes global settings', () => {
184
+ const config = (0, defaults_1.getDefaultConfig)();
185
+ expect(config.file?.global_settings?.retry_attempts).toBe(3);
186
+ expect(config.file?.global_settings?.timeout_seconds).toBe(300);
187
+ });
188
+ });
189
+ describe('file handler: s3', () => {
190
+ it('configures S3 storage when specified with bucket', () => {
191
+ const config = (0, defaults_1.getDefaultConfig)({
192
+ fileHandler: 's3',
193
+ s3Bucket: 'my-bucket',
194
+ awsRegion: 'us-west-2',
195
+ });
196
+ expect(config.file?.sources?.specs?.type).toBe('s3');
197
+ expect(config.file?.sources?.specs?.bucket).toBe('my-bucket');
198
+ expect(config.file?.sources?.specs?.region).toBe('us-west-2');
199
+ });
200
+ it('includes S3 prefixes', () => {
201
+ const config = (0, defaults_1.getDefaultConfig)({
202
+ fileHandler: 's3',
203
+ s3Bucket: 'my-bucket',
204
+ });
205
+ expect(config.file?.sources?.specs?.prefix).toBe('specs/');
206
+ expect(config.file?.sources?.logs?.prefix).toBe('logs/');
207
+ });
208
+ it('includes push configuration for S3', () => {
209
+ const config = (0, defaults_1.getDefaultConfig)({
210
+ fileHandler: 's3',
211
+ s3Bucket: 'my-bucket',
212
+ });
213
+ expect(config.file?.sources?.specs?.push?.keep_local).toBe(true);
214
+ expect(config.file?.sources?.logs?.push?.compress).toBe(true);
215
+ });
216
+ it('includes auth configuration for S3', () => {
217
+ const config = (0, defaults_1.getDefaultConfig)({
218
+ fileHandler: 's3',
219
+ s3Bucket: 'my-bucket',
220
+ });
221
+ expect(config.file?.sources?.specs?.auth?.profile).toBe('default');
222
+ });
223
+ it('falls back to local when s3 specified without bucket', () => {
224
+ const config = (0, defaults_1.getDefaultConfig)({ fileHandler: 's3' });
225
+ expect(config.file?.sources?.specs?.type).toBe('local');
226
+ });
227
+ it('uses default region when not specified', () => {
228
+ const config = (0, defaults_1.getDefaultConfig)({
229
+ fileHandler: 's3',
230
+ s3Bucket: 'my-bucket',
231
+ });
232
+ expect(config.file?.sources?.specs?.region).toBe('us-east-1');
233
+ });
234
+ });
235
+ describe('logs configuration', () => {
236
+ it('includes logs config with schema version', () => {
237
+ const config = (0, defaults_1.getDefaultConfig)();
238
+ expect(config.logs?.schema_version).toBe('2.0');
239
+ });
240
+ it('includes storage paths', () => {
241
+ const config = (0, defaults_1.getDefaultConfig)();
242
+ expect(config.logs?.storage?.local_path).toBe('.fractary/logs');
243
+ });
244
+ it('includes retention configuration', () => {
245
+ const config = (0, defaults_1.getDefaultConfig)();
246
+ expect(config.logs?.retention?.default?.local_days).toBe(30);
247
+ });
248
+ it('includes session logging configuration', () => {
249
+ const config = (0, defaults_1.getDefaultConfig)();
250
+ const session = config.logs?.session_logging;
251
+ expect(session?.enabled).toBe(true);
252
+ expect(session?.format).toBe('markdown');
253
+ expect(session?.redact_sensitive).toBe(true);
254
+ });
255
+ it('includes cloud archive path for S3', () => {
256
+ const config = (0, defaults_1.getDefaultConfig)({
257
+ fileHandler: 's3',
258
+ s3Bucket: 'my-bucket',
259
+ });
260
+ expect(config.logs?.storage?.cloud_archive_path).toBeDefined();
261
+ });
262
+ it('omits cloud archive path for local', () => {
263
+ const config = (0, defaults_1.getDefaultConfig)({ fileHandler: 'local' });
264
+ expect(config.logs?.storage?.cloud_archive_path).toBeUndefined();
265
+ });
266
+ });
267
+ describe('spec configuration', () => {
268
+ it('includes spec config with schema version', () => {
269
+ const config = (0, defaults_1.getDefaultConfig)();
270
+ expect(config.spec?.schema_version).toBe('1.0');
271
+ });
272
+ it('includes naming configuration', () => {
273
+ const config = (0, defaults_1.getDefaultConfig)();
274
+ const naming = config.spec?.naming;
275
+ expect(naming?.issue_specs?.prefix).toBe('WORK');
276
+ expect(naming?.standalone_specs?.prefix).toBe('SPEC');
277
+ });
278
+ it('includes archive configuration', () => {
279
+ const config = (0, defaults_1.getDefaultConfig)();
280
+ const archive = config.spec?.archive;
281
+ expect(archive?.strategy).toBe('lifecycle');
282
+ expect(archive?.auto_archive_on?.issue_close).toBe(true);
283
+ });
284
+ });
285
+ describe('docs configuration', () => {
286
+ it('includes docs config with schema version', () => {
287
+ const config = (0, defaults_1.getDefaultConfig)();
288
+ expect(config.docs?.schema_version).toBe('1.1');
289
+ });
290
+ it('includes custom templates path', () => {
291
+ const config = (0, defaults_1.getDefaultConfig)();
292
+ expect(config.docs?.custom_templates_path).toBe('.fractary/docs/templates/manifest.yaml');
293
+ });
294
+ });
295
+ });
296
+ describe('getMinimalConfig', () => {
297
+ it('returns a valid config object with version 2.0', () => {
298
+ const config = (0, defaults_1.getMinimalConfig)();
299
+ expect(config.version).toBe('2.0');
300
+ });
301
+ it('includes only work and repo sections', () => {
302
+ const config = (0, defaults_1.getMinimalConfig)();
303
+ expect(config.work).toBeDefined();
304
+ expect(config.repo).toBeDefined();
305
+ expect(config.logs).toBeUndefined();
306
+ expect(config.file).toBeUndefined();
307
+ expect(config.spec).toBeUndefined();
308
+ expect(config.docs).toBeUndefined();
309
+ });
310
+ it('respects workPlatform option', () => {
311
+ const config = (0, defaults_1.getMinimalConfig)({ workPlatform: 'jira' });
312
+ expect(config.work?.active_handler).toBe('jira');
313
+ });
314
+ it('respects owner and repo options', () => {
315
+ const config = (0, defaults_1.getMinimalConfig)({ owner: 'test-org', repo: 'test-repo' });
316
+ const github = config.work?.handlers?.github;
317
+ expect(github?.owner).toBe('test-org');
318
+ expect(github?.repo).toBe('test-repo');
319
+ });
320
+ it('configures repo section same as full config', () => {
321
+ const minConfig = (0, defaults_1.getMinimalConfig)();
322
+ const fullConfig = (0, defaults_1.getDefaultConfig)();
323
+ expect(minConfig.repo?.active_handler).toBe(fullConfig.repo?.active_handler);
324
+ expect(minConfig.repo?.defaults?.default_branch).toBe(fullConfig.repo?.defaults?.default_branch);
325
+ });
326
+ });
327
+ describe('DefaultConfigOptions', () => {
328
+ it('uses fallback values when options not provided', () => {
329
+ const config = (0, defaults_1.getDefaultConfig)({});
330
+ expect(config.work?.active_handler).toBe('github');
331
+ expect(config.work?.handlers?.github?.owner).toBe('your-org');
332
+ expect(config.work?.handlers?.github?.repo).toBe('your-repo');
333
+ });
334
+ it('uses provided values over defaults', () => {
335
+ const options = {
336
+ workPlatform: 'linear',
337
+ owner: 'custom-org',
338
+ repo: 'custom-repo',
339
+ fileHandler: 's3',
340
+ s3Bucket: 'custom-bucket',
341
+ awsRegion: 'eu-west-1',
342
+ };
343
+ const config = (0, defaults_1.getDefaultConfig)(options);
344
+ expect(config.work?.active_handler).toBe('linear');
345
+ expect(config.file?.sources?.specs?.bucket).toBe('custom-bucket');
346
+ expect(config.file?.sources?.specs?.region).toBe('eu-west-1');
347
+ });
348
+ });
349
+ //# sourceMappingURL=defaults.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaults.test.js","sourceRoot":"","sources":["../../src/config/defaults.test.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAEH,yCAIoB;AAEpB,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAC/B,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;YACxD,MAAM,MAAM,GAAG,IAAA,2BAAgB,GAAE,CAAC;YAClC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;YACjD,MAAM,MAAM,GAAG,IAAA,2BAAgB,GAAE,CAAC;YAClC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YAClC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YAClC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YAClC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YAClC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YAClC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;YACnD,MAAM,MAAM,GAAG,IAAA,2BAAgB,GAAE,CAAC;YAClC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,aAAa,EAAE,CAAC;QACvC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,iCAAiC,EAAE,GAAG,EAAE;QAC/C,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;YAC9C,MAAM,MAAM,GAAG,IAAA,2BAAgB,GAAE,CAAC;YAClC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;YACxD,MAAM,MAAM,GAAG,IAAA,2BAAgB,EAAC,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;YACpE,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC;YAE7C,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;YAC7B,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACnC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACnC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAC7C,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;YAC1C,MAAM,MAAM,GAAG,IAAA,2BAAgB,GAAE,CAAC;YAClC,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC;YAE7C,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE,CAAC;YAC5C,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YAC3D,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACnD,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACvD,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;YACjC,MAAM,MAAM,GAAG,IAAA,2BAAgB,GAAE,CAAC;YAClC,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC;YAE7C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;YACpC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACxC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;YACtC,MAAM,MAAM,GAAG,IAAA,2BAAgB,GAAE,CAAC;YAClC,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC;YAE7C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;YACpC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;YAChC,MAAM,MAAM,GAAG,IAAA,2BAAgB,GAAE,CAAC;YAElC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;YAC5C,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACnC,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;YAChD,MAAM,MAAM,GAAG,IAAA,2BAAgB,EAAC,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC;YAE1D,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACjD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YAClD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,aAAa,EAAE,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;YACvC,MAAM,MAAM,GAAG,IAAA,2BAAgB,EAAC,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC;YAC1D,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC;YAEzC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAC/C,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACzC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YACjD,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;YAC/C,MAAM,MAAM,GAAG,IAAA,2BAAgB,EAAC,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC;YAC1D,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC;YAEzC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACvD,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;YACtC,MAAM,MAAM,GAAG,IAAA,2BAAgB,EAAC,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC;YAC1D,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC;YAEzC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACpD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;QACrC,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;YAClD,MAAM,MAAM,GAAG,IAAA,2BAAgB,EAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC;YAE5D,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACnD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;QACtD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;YACzC,MAAM,MAAM,GAAG,IAAA,2BAAgB,EAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC5D,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC;YAE7C,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YACjD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;YACxC,MAAM,MAAM,GAAG,IAAA,2BAAgB,EAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC5D,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC;YAE7C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC3C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACtD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;YAC9C,MAAM,MAAM,GAAG,IAAA,2BAAgB,GAAE,CAAC;YAClC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;YAC9C,MAAM,MAAM,GAAG,IAAA,2BAAgB,GAAE,CAAC;YAClC,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC;YAE7C,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAC7C,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;YAChC,MAAM,MAAM,GAAG,IAAA,2BAAgB,GAAE,CAAC;YAClC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC;YAEvC,MAAM,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC9C,MAAM,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YACvD,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;YAC9C,MAAM,MAAM,GAAG,IAAA,2BAAgB,GAAE,CAAC;YAClC,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,aAAa,CAAC;YAEpD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;YAC3D,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YACnD,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;YACnC,MAAM,MAAM,GAAG,IAAA,2BAAgB,GAAE,CAAC;YAClC,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC;YAErC,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACtC,MAAM,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvC,MAAM,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;YAC3C,MAAM,MAAM,GAAG,IAAA,2BAAgB,GAAE,CAAC;YAClC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,CAAC;YAExD,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtC,MAAM,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC7C,MAAM,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;YACtC,MAAM,MAAM,GAAG,IAAA,2BAAgB,GAAE,CAAC;YAClC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,CAAC;YAE/C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvC,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;QAC7C,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;YACvC,MAAM,MAAM,GAAG,IAAA,2BAAgB,GAAE,CAAC;YAElC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACxD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;YACrC,MAAM,MAAM,GAAG,IAAA,2BAAgB,GAAE,CAAC;YAElC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAC9E,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC9E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;YACvD,MAAM,MAAM,GAAG,IAAA,2BAAgB,GAAE,CAAC;YAElC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,aAAa,EAAE,CAAC;YAC5D,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,aAAa,EAAE,CAAC;QAC9D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;YAClC,MAAM,MAAM,GAAG,IAAA,2BAAgB,GAAE,CAAC;YAElC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC7D,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,EAAE,eAAe,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAChC,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;YAC1D,MAAM,MAAM,GAAG,IAAA,2BAAgB,EAAC;gBAC9B,WAAW,EAAE,IAAI;gBACjB,QAAQ,EAAE,WAAW;gBACrB,SAAS,EAAE,WAAW;aACvB,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC9D,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;YAC9B,MAAM,MAAM,GAAG,IAAA,2BAAgB,EAAC;gBAC9B,WAAW,EAAE,IAAI;gBACjB,QAAQ,EAAE,WAAW;aACtB,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC3D,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;YAC5C,MAAM,MAAM,GAAG,IAAA,2BAAgB,EAAC;gBAC9B,WAAW,EAAE,IAAI;gBACjB,QAAQ,EAAE,WAAW;aACtB,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;YAC5C,MAAM,MAAM,GAAG,IAAA,2BAAgB,EAAC;gBAC9B,WAAW,EAAE,IAAI;gBACjB,QAAQ,EAAE,WAAW;aACtB,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;YAC9D,MAAM,MAAM,GAAG,IAAA,2BAAgB,EAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;YAEvD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;YAChD,MAAM,MAAM,GAAG,IAAA,2BAAgB,EAAC;gBAC9B,WAAW,EAAE,IAAI;gBACjB,QAAQ,EAAE,WAAW;aACtB,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;YAClD,MAAM,MAAM,GAAG,IAAA,2BAAgB,GAAE,CAAC;YAClC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;YAChC,MAAM,MAAM,GAAG,IAAA,2BAAgB,GAAE,CAAC;YAClC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;YAC1C,MAAM,MAAM,GAAG,IAAA,2BAAgB,GAAE,CAAC;YAClC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;YAChD,MAAM,MAAM,GAAG,IAAA,2BAAgB,GAAE,CAAC;YAClC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,eAAe,CAAC;YAE7C,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACzC,MAAM,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;YAC5C,MAAM,MAAM,GAAG,IAAA,2BAAgB,EAAC;gBAC9B,WAAW,EAAE,IAAI;gBACjB,QAAQ,EAAE,WAAW;aACtB,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC,WAAW,EAAE,CAAC;QACjE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;YAC5C,MAAM,MAAM,GAAG,IAAA,2BAAgB,EAAC,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;YAE1D,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC,aAAa,EAAE,CAAC;QACnE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;YAClD,MAAM,MAAM,GAAG,IAAA,2BAAgB,GAAE,CAAC;YAClC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;YACvC,MAAM,MAAM,GAAG,IAAA,2BAAgB,GAAE,CAAC;YAClC,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC;YAEnC,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACjD,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;YACxC,MAAM,MAAM,GAAG,IAAA,2BAAgB,GAAE,CAAC;YAClC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC;YAErC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC5C,MAAM,CAAC,OAAO,EAAE,eAAe,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;YAClD,MAAM,MAAM,GAAG,IAAA,2BAAgB,GAAE,CAAC;YAClC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;YACxC,MAAM,MAAM,GAAG,IAAA,2BAAgB,GAAE,CAAC;YAClC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;QAC5F,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACxD,MAAM,MAAM,GAAG,IAAA,2BAAgB,GAAE,CAAC;QAClC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,MAAM,GAAG,IAAA,2BAAgB,GAAE,CAAC;QAElC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;QAClC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;QAClC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,CAAC;QACpC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,CAAC;QACpC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,CAAC;QACpC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,MAAM,GAAG,IAAA,2BAAgB,EAAC,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC;QAC1D,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,MAAM,GAAG,IAAA,2BAAgB,EAAC,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;QAC1E,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC;QAE7C,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,SAAS,GAAG,IAAA,2BAAgB,GAAE,CAAC;QACrC,MAAM,UAAU,GAAG,IAAA,2BAAgB,GAAE,CAAC;QAEtC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QAC7E,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;IACnG,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACxD,MAAM,MAAM,GAAG,IAAA,2BAAgB,EAAC,EAAE,CAAC,CAAC;QAEpC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACnD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9D,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,MAAM,OAAO,GAAyB;YACpC,YAAY,EAAE,QAAQ;YACtB,KAAK,EAAE,YAAY;YACnB,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,IAAI;YACjB,QAAQ,EAAE,eAAe;YACzB,SAAS,EAAE,WAAW;SACvB,CAAC;QAEF,MAAM,MAAM,GAAG,IAAA,2BAAgB,EAAC,OAAO,CAAC,CAAC;QAEzC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACnD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAClE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -4,5 +4,7 @@
4
4
  * Unified configuration loading with authentication support.
5
5
  */
6
6
  export { loadEnv, isEnvLoaded, loadConfig, loadConfigSync, type LoadedConfig, type LoadConfigOptions, type ExtractedGitHubConfig, } from './loader';
7
- export { loadYamlConfig, writeYamlConfig, findProjectRoot, configExists, getConfigPath, getCoreDir, substituteEnvVars, validateEnvVars, type CoreYamlConfig, type ConfigLoadOptions, type WorkConfig as YamlWorkConfig, type RepoConfig as YamlRepoConfig, type LogsConfig as YamlLogsConfig, type FileConfig as YamlFileConfig, type SpecConfig as YamlSpecConfig, type DocsConfig as YamlDocsConfig, type CodexConfig as YamlCodexConfig, type RepoDefaults as YamlRepoDefaults, type PRDefaults as YamlPRDefaults, type PRMergeDefaults as YamlPRMergeDefaults, type FileSource as YamlFileSource, } from '../common/yaml-config';
7
+ export { loadYamlConfig, writeYamlConfig, injectDocumentationComments, findProjectRoot, configExists, getConfigPath, getCoreDir, substituteEnvVars, validateEnvVars, PLUGIN_DOC_URLS, CONFIG_GUIDE_URL, type CoreYamlConfig, type ConfigLoadOptions, type WriteYamlConfigOptions, type WorkConfig as YamlWorkConfig, type RepoConfig as YamlRepoConfig, type LogsConfig as YamlLogsConfig, type FileConfig as YamlFileConfig, type SpecConfig as YamlSpecConfig, type DocsConfig as YamlDocsConfig, type CodexConfig as YamlCodexConfig, type RepoDefaults as YamlRepoDefaults, type PRDefaults as YamlPRDefaults, type PRMergeDefaults as YamlPRMergeDefaults, type FileSource as YamlFileSource, } from '../common/yaml-config';
8
+ export { getDefaultConfig, getMinimalConfig, type DefaultConfigOptions, } from './defaults';
9
+ export { validateConfig, CoreYamlConfigSchema, WorkConfigSchema, RepoConfigSchema, LogsConfigSchema, FileConfigSchema, SpecConfigSchema, DocsConfigSchema, CodexConfigSchema, type ValidationResult, type ValidatedCoreYamlConfig, } from './schema';
8
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,OAAO,EACP,WAAW,EACX,UAAU,EACV,cAAc,EACd,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,GAC3B,MAAM,UAAU,CAAC;AAKlB,OAAO,EACL,cAAc,EACd,eAAe,EACf,eAAe,EACf,YAAY,EACZ,aAAa,EACb,UAAU,EACV,iBAAiB,EACjB,eAAe,EACf,KAAK,cAAc,EACnB,KAAK,iBAAiB,EAEtB,KAAK,UAAU,IAAI,cAAc,EACjC,KAAK,UAAU,IAAI,cAAc,EACjC,KAAK,UAAU,IAAI,cAAc,EACjC,KAAK,UAAU,IAAI,cAAc,EACjC,KAAK,UAAU,IAAI,cAAc,EACjC,KAAK,UAAU,IAAI,cAAc,EACjC,KAAK,WAAW,IAAI,eAAe,EACnC,KAAK,YAAY,IAAI,gBAAgB,EACrC,KAAK,UAAU,IAAI,cAAc,EACjC,KAAK,eAAe,IAAI,mBAAmB,EAC3C,KAAK,UAAU,IAAI,cAAc,GAClC,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,OAAO,EACP,WAAW,EACX,UAAU,EACV,cAAc,EACd,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,GAC3B,MAAM,UAAU,CAAC;AAKlB,OAAO,EACL,cAAc,EACd,eAAe,EACf,2BAA2B,EAC3B,eAAe,EACf,YAAY,EACZ,aAAa,EACb,UAAU,EACV,iBAAiB,EACjB,eAAe,EAEf,eAAe,EACf,gBAAgB,EAChB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAE3B,KAAK,UAAU,IAAI,cAAc,EACjC,KAAK,UAAU,IAAI,cAAc,EACjC,KAAK,UAAU,IAAI,cAAc,EACjC,KAAK,UAAU,IAAI,cAAc,EACjC,KAAK,UAAU,IAAI,cAAc,EACjC,KAAK,UAAU,IAAI,cAAc,EACjC,KAAK,WAAW,IAAI,eAAe,EACnC,KAAK,YAAY,IAAI,gBAAgB,EACrC,KAAK,UAAU,IAAI,cAAc,EACjC,KAAK,eAAe,IAAI,mBAAmB,EAC3C,KAAK,UAAU,IAAI,cAAc,GAClC,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,KAAK,oBAAoB,GAC1B,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,GAC7B,MAAM,UAAU,CAAC"}
@@ -5,7 +5,7 @@
5
5
  * Unified configuration loading with authentication support.
6
6
  */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.validateEnvVars = exports.substituteEnvVars = exports.getCoreDir = exports.getConfigPath = exports.configExists = exports.findProjectRoot = exports.writeYamlConfig = exports.loadYamlConfig = exports.loadConfigSync = exports.loadConfig = exports.isEnvLoaded = exports.loadEnv = void 0;
8
+ exports.CodexConfigSchema = exports.DocsConfigSchema = exports.SpecConfigSchema = exports.FileConfigSchema = exports.LogsConfigSchema = exports.RepoConfigSchema = exports.WorkConfigSchema = exports.CoreYamlConfigSchema = exports.validateConfig = exports.getMinimalConfig = exports.getDefaultConfig = exports.CONFIG_GUIDE_URL = exports.PLUGIN_DOC_URLS = exports.validateEnvVars = exports.substituteEnvVars = exports.getCoreDir = exports.getConfigPath = exports.configExists = exports.findProjectRoot = exports.injectDocumentationComments = exports.writeYamlConfig = exports.loadYamlConfig = exports.loadConfigSync = exports.loadConfig = exports.isEnvLoaded = exports.loadEnv = void 0;
9
9
  // Re-export from loader
10
10
  var loader_1 = require("./loader");
11
11
  Object.defineProperty(exports, "loadEnv", { enumerable: true, get: function () { return loader_1.loadEnv; } });
@@ -18,10 +18,29 @@ Object.defineProperty(exports, "loadConfigSync", { enumerable: true, get: functi
18
18
  var yaml_config_1 = require("../common/yaml-config");
19
19
  Object.defineProperty(exports, "loadYamlConfig", { enumerable: true, get: function () { return yaml_config_1.loadYamlConfig; } });
20
20
  Object.defineProperty(exports, "writeYamlConfig", { enumerable: true, get: function () { return yaml_config_1.writeYamlConfig; } });
21
+ Object.defineProperty(exports, "injectDocumentationComments", { enumerable: true, get: function () { return yaml_config_1.injectDocumentationComments; } });
21
22
  Object.defineProperty(exports, "findProjectRoot", { enumerable: true, get: function () { return yaml_config_1.findProjectRoot; } });
22
23
  Object.defineProperty(exports, "configExists", { enumerable: true, get: function () { return yaml_config_1.configExists; } });
23
24
  Object.defineProperty(exports, "getConfigPath", { enumerable: true, get: function () { return yaml_config_1.getConfigPath; } });
24
25
  Object.defineProperty(exports, "getCoreDir", { enumerable: true, get: function () { return yaml_config_1.getCoreDir; } });
25
26
  Object.defineProperty(exports, "substituteEnvVars", { enumerable: true, get: function () { return yaml_config_1.substituteEnvVars; } });
26
27
  Object.defineProperty(exports, "validateEnvVars", { enumerable: true, get: function () { return yaml_config_1.validateEnvVars; } });
28
+ // Documentation URL constants for config sections
29
+ Object.defineProperty(exports, "PLUGIN_DOC_URLS", { enumerable: true, get: function () { return yaml_config_1.PLUGIN_DOC_URLS; } });
30
+ Object.defineProperty(exports, "CONFIG_GUIDE_URL", { enumerable: true, get: function () { return yaml_config_1.CONFIG_GUIDE_URL; } });
31
+ // Re-export default config generators
32
+ var defaults_1 = require("./defaults");
33
+ Object.defineProperty(exports, "getDefaultConfig", { enumerable: true, get: function () { return defaults_1.getDefaultConfig; } });
34
+ Object.defineProperty(exports, "getMinimalConfig", { enumerable: true, get: function () { return defaults_1.getMinimalConfig; } });
35
+ // Re-export validation schemas and utilities
36
+ var schema_1 = require("./schema");
37
+ Object.defineProperty(exports, "validateConfig", { enumerable: true, get: function () { return schema_1.validateConfig; } });
38
+ Object.defineProperty(exports, "CoreYamlConfigSchema", { enumerable: true, get: function () { return schema_1.CoreYamlConfigSchema; } });
39
+ Object.defineProperty(exports, "WorkConfigSchema", { enumerable: true, get: function () { return schema_1.WorkConfigSchema; } });
40
+ Object.defineProperty(exports, "RepoConfigSchema", { enumerable: true, get: function () { return schema_1.RepoConfigSchema; } });
41
+ Object.defineProperty(exports, "LogsConfigSchema", { enumerable: true, get: function () { return schema_1.LogsConfigSchema; } });
42
+ Object.defineProperty(exports, "FileConfigSchema", { enumerable: true, get: function () { return schema_1.FileConfigSchema; } });
43
+ Object.defineProperty(exports, "SpecConfigSchema", { enumerable: true, get: function () { return schema_1.SpecConfigSchema; } });
44
+ Object.defineProperty(exports, "DocsConfigSchema", { enumerable: true, get: function () { return schema_1.DocsConfigSchema; } });
45
+ Object.defineProperty(exports, "CodexConfigSchema", { enumerable: true, get: function () { return schema_1.CodexConfigSchema; } });
27
46
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,wBAAwB;AACxB,mCAQkB;AAPhB,iGAAA,OAAO,OAAA;AACP,qGAAA,WAAW,OAAA;AACX,oGAAA,UAAU,OAAA;AACV,wGAAA,cAAc,OAAA;AAMhB,yCAAyC;AACzC,sEAAsE;AACtE,gEAAgE;AAChE,qDAuB+B;AAtB7B,6GAAA,cAAc,OAAA;AACd,8GAAA,eAAe,OAAA;AACf,8GAAA,eAAe,OAAA;AACf,2GAAA,YAAY,OAAA;AACZ,4GAAA,aAAa,OAAA;AACb,yGAAA,UAAU,OAAA;AACV,gHAAA,iBAAiB,OAAA;AACjB,8GAAA,eAAe,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,wBAAwB;AACxB,mCAQkB;AAPhB,iGAAA,OAAO,OAAA;AACP,qGAAA,WAAW,OAAA;AACX,oGAAA,UAAU,OAAA;AACV,wGAAA,cAAc,OAAA;AAMhB,yCAAyC;AACzC,sEAAsE;AACtE,gEAAgE;AAChE,qDA4B+B;AA3B7B,6GAAA,cAAc,OAAA;AACd,8GAAA,eAAe,OAAA;AACf,0HAAA,2BAA2B,OAAA;AAC3B,8GAAA,eAAe,OAAA;AACf,2GAAA,YAAY,OAAA;AACZ,4GAAA,aAAa,OAAA;AACb,yGAAA,UAAU,OAAA;AACV,gHAAA,iBAAiB,OAAA;AACjB,8GAAA,eAAe,OAAA;AACf,kDAAkD;AAClD,8GAAA,eAAe,OAAA;AACf,+GAAA,gBAAgB,OAAA;AAkBlB,sCAAsC;AACtC,uCAIoB;AAHlB,4GAAA,gBAAgB,OAAA;AAChB,4GAAA,gBAAgB,OAAA;AAIlB,6CAA6C;AAC7C,mCAYkB;AAXhB,wGAAA,cAAc,OAAA;AACd,8GAAA,oBAAoB,OAAA;AACpB,0GAAA,gBAAgB,OAAA;AAChB,0GAAA,gBAAgB,OAAA;AAChB,0GAAA,gBAAgB,OAAA;AAChB,0GAAA,gBAAgB,OAAA;AAChB,0GAAA,gBAAgB,OAAA;AAChB,0GAAA,gBAAgB,OAAA;AAChB,2GAAA,iBAAiB,OAAA"}