@markusylisiurunen/tau 0.2.66 → 0.2.67

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 (53) hide show
  1. package/README.md +3 -1
  2. package/dist/core/async/cli.js +148 -180
  3. package/dist/core/async/cli.js.map +1 -1
  4. package/dist/core/async/server_config.js +5 -8
  5. package/dist/core/async/server_config.js.map +1 -1
  6. package/dist/core/async/session_manager.js +65 -72
  7. package/dist/core/async/session_manager.js.map +1 -1
  8. package/dist/core/async/telegram.js +57 -6
  9. package/dist/core/async/telegram.js.map +1 -1
  10. package/dist/core/auth/auth_manager.js.map +1 -1
  11. package/dist/core/auth/auth_storage.js +55 -76
  12. package/dist/core/auth/auth_storage.js.map +1 -1
  13. package/dist/core/auth/credential_resolver.js +11 -1
  14. package/dist/core/auth/credential_resolver.js.map +1 -1
  15. package/dist/core/auth/jwt.js +9 -9
  16. package/dist/core/auth/jwt.js.map +1 -1
  17. package/dist/core/auth/providers/openai_codex.js +128 -194
  18. package/dist/core/auth/providers/openai_codex.js.map +1 -1
  19. package/dist/core/cli.js +40 -48
  20. package/dist/core/cli.js.map +1 -1
  21. package/dist/core/config/content_loader.js +10 -13
  22. package/dist/core/config/content_loader.js.map +1 -1
  23. package/dist/core/config/markdown_frontmatter.js.map +1 -1
  24. package/dist/core/config/schema.js +18 -26
  25. package/dist/core/config/schema.js.map +1 -1
  26. package/dist/core/events/parser.js +47 -25
  27. package/dist/core/events/parser.js.map +1 -1
  28. package/dist/core/install/cli.js +10 -4
  29. package/dist/core/install/cli.js.map +1 -1
  30. package/dist/core/models/catalog.js +94 -0
  31. package/dist/core/models/catalog.js.map +1 -0
  32. package/dist/core/models/tau_extensions.js +2 -0
  33. package/dist/core/models/tau_extensions.js.map +1 -0
  34. package/dist/core/personas.js +7 -7
  35. package/dist/core/personas.js.map +1 -1
  36. package/dist/core/session/session_engine.js +3 -1
  37. package/dist/core/session/session_engine.js.map +1 -1
  38. package/dist/core/subagents/launch_model.js +10 -13
  39. package/dist/core/subagents/launch_model.js.map +1 -1
  40. package/dist/core/subagents/subagent_engine.js +1 -3
  41. package/dist/core/subagents/subagent_engine.js.map +1 -1
  42. package/dist/core/usage/cli.js +150 -130
  43. package/dist/core/usage/cli.js.map +1 -1
  44. package/dist/core/utils/model_stream.js +30 -4
  45. package/dist/core/utils/model_stream.js.map +1 -1
  46. package/dist/core/version.js +1 -1
  47. package/dist/tui/chat_controller/session_maintenance_service.js +10 -8
  48. package/dist/tui/chat_controller/session_maintenance_service.js.map +1 -1
  49. package/dist/tui/chat_controller.js +10 -18
  50. package/dist/tui/chat_controller.js.map +1 -1
  51. package/package.json +4 -4
  52. package/dist/core/utils/type_guards.js +0 -4
  53. package/dist/core/utils/type_guards.js.map +0 -1
package/README.md CHANGED
@@ -31,7 +31,7 @@ or store keys in `~/.config/tau/config.json`:
31
31
  }
32
32
  ```
33
33
 
34
- for provider keys (`anthropic`, `openai`, `google`), tau checks `~/.config/tau/config.json` before environment variables.
34
+ for built-in providers and features, use these `apiKeys` entries: `anthropic`, `openai`, `google`, `parallel`, and `mistral`. tau checks the matching `apiKeys.<provider>` entry before environment variables.
35
35
 
36
36
  `parallel` is only needed for `web_search`/`web_fetch` usage in sub-agents and can be provided through `apiKeys.parallel` or `PARALLEL_API_KEY` (`PARALLEL_API_KEY` takes precedence).
37
37
 
@@ -474,6 +474,8 @@ settings merge from least-specific to most-specific.
474
474
  }
475
475
  ```
476
476
 
477
+ for built-in providers and features, the `apiKeys` field uses these keys: `anthropic`, `openai`, `google`, `parallel`, and `mistral`. keys are merged across config levels by key name.
478
+
477
479
  the `defaultPersona` field specifies which persona to use when starting the app. it accepts `<id>` or `<id>:<reasoning>`, and matching is exact/case-sensitive. the `--persona` flag overrides this setting.
478
480
 
479
481
  the `defaultRisk` field sets the initial risk level (`read-only` or `read-write`). the `--risk` flag overrides this setting. if not specified, defaults to `read-only`.
@@ -10,29 +10,52 @@ export class AsyncCliError extends Error {
10
10
  this.name = "AsyncCliError";
11
11
  }
12
12
  }
13
- const ErrorPayloadMessageSchema = z
14
- .object({
15
- error: z.unknown(),
16
- })
17
- .transform((payload) => String(payload.error));
18
- function parseValue(arg, argv, index) {
19
- const eqIndex = arg.indexOf("=");
20
- if (eqIndex !== -1) {
21
- const value = arg.slice(eqIndex + 1).trim();
22
- if (!value) {
23
- throw new AsyncCliError(`missing value for ${arg.slice(0, eqIndex)}`);
24
- }
25
- return { value, nextIndex: index };
13
+ const AsyncOptionNames = ["project", "target", "url", "token", "config-file"];
14
+ const AsyncOptionNameSet = new Set(AsyncOptionNames);
15
+ const CronSubcommands = new Set(["list", "runs", "run"]);
16
+ function requireTrimmedValue(value, message) {
17
+ if (typeof value !== "string") {
18
+ throw new AsyncCliError(message);
26
19
  }
27
- const next = argv[index + 1];
28
- if (!next || next.startsWith("-")) {
29
- throw new AsyncCliError(`missing value for ${arg}`);
20
+ const trimmed = value.trim();
21
+ if (!trimmed) {
22
+ throw new AsyncCliError(message);
30
23
  }
31
- const value = next.trim();
32
- if (!value) {
33
- throw new AsyncCliError(`missing value for ${arg}`);
24
+ return trimmed;
25
+ }
26
+ function parsePromptText(tokens, message) {
27
+ const prompt = tokens.join(" ").trim();
28
+ if (!prompt) {
29
+ throw new AsyncCliError(message);
34
30
  }
35
- return { value, nextIndex: index + 1 };
31
+ return prompt;
32
+ }
33
+ function parseLongOptionToken(arg) {
34
+ const match = /^--([a-z-]+)(?:=(.*))?$/.exec(arg);
35
+ if (!match) {
36
+ throw new AsyncCliError(`unknown option: ${arg}`);
37
+ }
38
+ const name = match[1] ?? "";
39
+ if (!AsyncOptionNameSet.has(name)) {
40
+ throw new AsyncCliError(`unknown option: ${arg}`);
41
+ }
42
+ return {
43
+ name: name,
44
+ flag: `--${name}`,
45
+ inlineValue: match[2],
46
+ };
47
+ }
48
+ function parseValue(args) {
49
+ if (args.inlineValue !== undefined) {
50
+ const value = requireTrimmedValue(args.inlineValue, `missing value for ${args.flag}`);
51
+ return { value, nextIndex: args.index };
52
+ }
53
+ const next = args.argv[args.index + 1];
54
+ if (!next || next.startsWith("-")) {
55
+ throw new AsyncCliError(`missing value for ${args.flag}`);
56
+ }
57
+ const value = requireTrimmedValue(next, `missing value for ${args.flag}`);
58
+ return { value, nextIndex: args.index + 1 };
36
59
  }
37
60
  function parseAsyncArgs(argv) {
38
61
  let help = false;
@@ -57,61 +80,53 @@ function parseAsyncArgs(argv) {
57
80
  help = true;
58
81
  continue;
59
82
  }
60
- if (arg === "--project" || arg.startsWith("--project=")) {
61
- const parsed = parseValue(arg, argv, i);
62
- i = parsed.nextIndex;
63
- projectId = parsed.value;
64
- continue;
65
- }
66
- if (arg === "--target" || arg.startsWith("--target=")) {
67
- const parsed = parseValue(arg, argv, i);
68
- i = parsed.nextIndex;
69
- targetId = parsed.value;
70
- continue;
71
- }
72
- if (arg === "--url" || arg.startsWith("--url=")) {
73
- const parsed = parseValue(arg, argv, i);
74
- i = parsed.nextIndex;
75
- url = parsed.value;
76
- continue;
77
- }
78
- if (arg === "--token" || arg.startsWith("--token=")) {
79
- const parsed = parseValue(arg, argv, i);
80
- i = parsed.nextIndex;
81
- token = parsed.value;
82
- continue;
83
- }
84
- if (arg === "--config-file" || arg.startsWith("--config-file=")) {
85
- const parsed = parseValue(arg, argv, i);
83
+ if (arg.startsWith("-")) {
84
+ const optionToken = parseLongOptionToken(arg);
85
+ const parsed = parseValue({
86
+ flag: optionToken.flag,
87
+ inlineValue: optionToken.inlineValue,
88
+ argv,
89
+ index: i,
90
+ });
86
91
  i = parsed.nextIndex;
87
- configFilePath = parsed.value;
92
+ switch (optionToken.name) {
93
+ case "project":
94
+ projectId = parsed.value;
95
+ break;
96
+ case "target":
97
+ targetId = parsed.value;
98
+ break;
99
+ case "url":
100
+ url = parsed.value;
101
+ break;
102
+ case "token":
103
+ token = parsed.value;
104
+ break;
105
+ case "config-file":
106
+ configFilePath = parsed.value;
107
+ break;
108
+ }
88
109
  continue;
89
110
  }
90
- if (arg.startsWith("-")) {
91
- throw new AsyncCliError(`unknown option: ${arg}`);
92
- }
93
111
  positional.push(arg);
94
112
  }
95
- const toCreateArgs = () => {
96
- const prompt = positional.join(" ").trim();
97
- if (!prompt) {
98
- throw new AsyncCliError("missing prompt text");
99
- }
100
- return {
101
- help,
102
- command: "create",
103
- prompt,
104
- projectId,
105
- targetId,
106
- url,
107
- token,
108
- configFilePath,
109
- };
113
+ const shared = {
114
+ help,
115
+ ...(projectId === undefined ? {} : { projectId }),
116
+ ...(targetId === undefined ? {} : { targetId }),
117
+ ...(url === undefined ? {} : { url }),
118
+ ...(token === undefined ? {} : { token }),
119
+ ...(configFilePath === undefined ? {} : { configFilePath }),
110
120
  };
121
+ const toCreateArgs = () => ({
122
+ ...shared,
123
+ command: "create",
124
+ prompt: parsePromptText(positional, "missing prompt text"),
125
+ });
111
126
  const first = positional[0];
112
127
  if (!first) {
113
- if (help) {
114
- return { help: true, command: "list", projectId, targetId, url, token, configFilePath };
128
+ if (shared.help) {
129
+ return { ...shared, command: "list" };
115
130
  }
116
131
  throw new AsyncCliError("missing async command or prompt");
117
132
  }
@@ -120,13 +135,13 @@ function parseAsyncArgs(argv) {
120
135
  }
121
136
  if (first === "daemon") {
122
137
  if (positional.length === 1) {
123
- return { help, command: "daemon", projectId, targetId, url, token, configFilePath };
138
+ return { ...shared, command: "daemon" };
124
139
  }
125
140
  return toCreateArgs();
126
141
  }
127
142
  if (first === "list") {
128
143
  if (positional.length === 1) {
129
- return { help, command: "list", projectId, targetId, url, token, configFilePath };
144
+ return { ...shared, command: "list" };
130
145
  }
131
146
  return toCreateArgs();
132
147
  }
@@ -135,19 +150,10 @@ function parseAsyncArgs(argv) {
135
150
  throw new AsyncCliError("missing session id for status");
136
151
  }
137
152
  if (positional.length === 2) {
138
- const sessionId = positional[1]?.trim();
139
- if (!sessionId) {
140
- throw new AsyncCliError("missing session id for status");
141
- }
142
153
  return {
143
- help,
154
+ ...shared,
144
155
  command: "status",
145
- sessionId,
146
- projectId,
147
- targetId,
148
- url,
149
- token,
150
- configFilePath,
156
+ sessionId: requireTrimmedValue(positional[1], "missing session id for status"),
151
157
  };
152
158
  }
153
159
  return toCreateArgs();
@@ -157,48 +163,24 @@ function parseAsyncArgs(argv) {
157
163
  throw new AsyncCliError("missing session id for logs");
158
164
  }
159
165
  if (positional.length === 2) {
160
- const sessionId = positional[1]?.trim();
161
- if (!sessionId) {
162
- throw new AsyncCliError("missing session id for logs");
163
- }
164
166
  return {
165
- help,
167
+ ...shared,
166
168
  command: "logs",
167
- sessionId,
168
- projectId,
169
- targetId,
170
- url,
171
- token,
172
- configFilePath,
169
+ sessionId: requireTrimmedValue(positional[1], "missing session id for logs"),
173
170
  };
174
171
  }
175
172
  return toCreateArgs();
176
173
  }
177
174
  if (first === "send") {
178
- if (positional.length === 1) {
179
- throw new AsyncCliError("missing session id for send");
180
- }
181
- const sessionId = positional[1]?.trim();
182
- if (!sessionId) {
183
- throw new AsyncCliError("missing session id for send");
184
- }
175
+ const sessionId = requireTrimmedValue(positional[1], "missing session id for send");
185
176
  if (positional.length === 2) {
186
177
  throw new AsyncCliError("missing message text for send");
187
178
  }
188
- const text = positional.slice(2).join(" ").trim();
189
- if (!text) {
190
- throw new AsyncCliError("missing message text for send");
191
- }
192
179
  return {
193
- help,
180
+ ...shared,
194
181
  command: "send",
195
182
  sessionId,
196
- text,
197
- projectId,
198
- targetId,
199
- url,
200
- token,
201
- configFilePath,
183
+ text: parsePromptText(positional.slice(2), "missing message text for send"),
202
184
  };
203
185
  }
204
186
  if (first === "interrupt") {
@@ -206,81 +188,51 @@ function parseAsyncArgs(argv) {
206
188
  throw new AsyncCliError("missing session id for interrupt");
207
189
  }
208
190
  if (positional.length === 2) {
209
- const sessionId = positional[1]?.trim();
210
- if (!sessionId) {
211
- throw new AsyncCliError("missing session id for interrupt");
212
- }
213
191
  return {
214
- help,
192
+ ...shared,
215
193
  command: "interrupt",
216
- sessionId,
217
- projectId,
218
- targetId,
219
- url,
220
- token,
221
- configFilePath,
194
+ sessionId: requireTrimmedValue(positional[1], "missing session id for interrupt"),
222
195
  };
223
196
  }
224
197
  return toCreateArgs();
225
198
  }
226
199
  if (first === "cron") {
227
- const subcommand = positional[1]?.trim();
228
- if (!subcommand) {
229
- throw new AsyncCliError("missing cron subcommand. use: cron list | cron runs [jobId] | cron run <jobId>");
200
+ const missingCronSubcommandMessage = "missing cron subcommand. use: cron list | cron runs [jobId] | cron run <jobId>";
201
+ const subcommandRaw = requireTrimmedValue(positional[1], missingCronSubcommandMessage);
202
+ if (!CronSubcommands.has(subcommandRaw)) {
203
+ throw new AsyncCliError(`unknown cron subcommand '${subcommandRaw}'`);
230
204
  }
231
- if (subcommand === "list") {
205
+ if (subcommandRaw === "list") {
232
206
  if (positional.length !== 2) {
233
207
  throw new AsyncCliError("usage: tau async cron list");
234
208
  }
235
209
  return {
236
- help,
210
+ ...shared,
237
211
  command: "cron-list",
238
- projectId,
239
- targetId,
240
- url,
241
- token,
242
- configFilePath,
243
212
  };
244
213
  }
245
- if (subcommand === "runs") {
214
+ if (subcommandRaw === "runs") {
246
215
  if (positional.length > 3) {
247
216
  throw new AsyncCliError("usage: tau async cron runs [jobId]");
248
217
  }
249
- const cronJobId = positional.length === 3 ? positional[2]?.trim() : undefined;
250
- if (cronJobId === "") {
251
- throw new AsyncCliError("usage: tau async cron runs [jobId]");
252
- }
218
+ const cronJobId = positional.length === 3
219
+ ? requireTrimmedValue(positional[2], "usage: tau async cron runs [jobId]")
220
+ : undefined;
253
221
  return {
254
- help,
222
+ ...shared,
255
223
  command: "cron-runs",
256
224
  ...(cronJobId === undefined ? {} : { cronJobId }),
257
- projectId,
258
- targetId,
259
- url,
260
- token,
261
- configFilePath,
262
225
  };
263
226
  }
264
- if (subcommand === "run") {
265
- const cronJobId = positional[2]?.trim();
266
- if (!cronJobId) {
267
- throw new AsyncCliError("missing cron job id for run");
268
- }
269
- if (positional.length !== 3) {
270
- throw new AsyncCliError("usage: tau async cron run <jobId>");
271
- }
272
- return {
273
- help,
274
- command: "cron-run",
275
- cronJobId,
276
- projectId,
277
- targetId,
278
- url,
279
- token,
280
- configFilePath,
281
- };
227
+ const cronJobId = requireTrimmedValue(positional[2], "missing cron job id for run");
228
+ if (positional.length !== 3) {
229
+ throw new AsyncCliError("usage: tau async cron run <jobId>");
282
230
  }
283
- throw new AsyncCliError(`unknown cron subcommand '${subcommand}'`);
231
+ return {
232
+ ...shared,
233
+ command: "cron-run",
234
+ cronJobId,
235
+ };
284
236
  }
285
237
  return toCreateArgs();
286
238
  }
@@ -312,8 +264,8 @@ function logStartupCleanupSummary(args) {
312
264
  }
313
265
  }
314
266
  function resolveProjectId(args, config) {
315
- const configured = config.async?.client?.defaultProjectId;
316
- const projectId = args.projectId?.trim() || configured?.trim();
267
+ const configured = config.async?.client?.defaultProjectId?.trim();
268
+ const projectId = args.projectId ?? (configured || undefined);
317
269
  if (!projectId) {
318
270
  throw new AsyncCliError("missing project id. use --project <id> or set async.client.defaultProjectId");
319
271
  }
@@ -346,6 +298,33 @@ function buildUrl(baseUrl, path) {
346
298
  const base = baseUrl.endsWith("/") ? baseUrl : `${baseUrl}/`;
347
299
  return new URL(path.startsWith("/") ? path.slice(1) : path, base).toString();
348
300
  }
301
+ const ErrorEnvelopeSchema = z
302
+ .object({
303
+ error: z.unknown(),
304
+ })
305
+ .transform((payload) => String(payload.error));
306
+ const SuccessEnvelopeSchema = z.object({
307
+ ok: z.literal(true),
308
+ data: z.unknown(),
309
+ });
310
+ function throwRequestFailure(status, payload) {
311
+ const parsedError = ErrorEnvelopeSchema.safeParse(payload);
312
+ if (parsedError.success) {
313
+ throw new AsyncCliError(`request failed (${status}): ${parsedError.data}`);
314
+ }
315
+ throw new AsyncCliError(`request failed (${status})`);
316
+ }
317
+ function parseResponsePayload(text) {
318
+ if (!text.trim()) {
319
+ return undefined;
320
+ }
321
+ try {
322
+ return JSON.parse(text);
323
+ }
324
+ catch {
325
+ return text;
326
+ }
327
+ }
349
328
  async function requestJson(args) {
350
329
  const controller = new AbortController();
351
330
  const timeoutMs = args.target.timeoutMs ?? 30_000;
@@ -368,24 +347,15 @@ async function requestJson(args) {
368
347
  ...(args.body === undefined ? {} : { body: JSON.stringify(args.body) }),
369
348
  signal: controller.signal,
370
349
  });
371
- const text = await response.text();
372
- let payload;
373
- if (text.trim()) {
374
- try {
375
- payload = JSON.parse(text);
376
- }
377
- catch {
378
- payload = text;
379
- }
380
- }
350
+ const payload = parseResponsePayload(await response.text());
381
351
  if (!response.ok) {
382
- const parsedErrorPayload = ErrorPayloadMessageSchema.safeParse(payload);
383
- if (parsedErrorPayload.success) {
384
- throw new AsyncCliError(`request failed (${response.status}): ${parsedErrorPayload.data}`);
385
- }
386
- throw new AsyncCliError(`request failed (${response.status})`);
352
+ throwRequestFailure(response.status, payload);
353
+ }
354
+ const successPayload = SuccessEnvelopeSchema.safeParse(payload);
355
+ if (!successPayload.success) {
356
+ throw new AsyncCliError(`unexpected response format (${response.status})`);
387
357
  }
388
- return payload;
358
+ return successPayload.data;
389
359
  }
390
360
  catch (error) {
391
361
  if (error instanceof AsyncCliError) {
@@ -558,8 +528,6 @@ export async function runAsyncCommand(argv, options = {}) {
558
528
  path: `/v1/cron/jobs/${encodeURIComponent(parsed.cronJobId)}/run`,
559
529
  body: {},
560
530
  };
561
- default:
562
- throw new AsyncCliError("unsupported async command");
563
531
  }
564
532
  })();
565
533
  const payload = await requestJson({
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/core/async/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/core/async/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AACvF,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AACnF,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,8BAA8B,EAAE,MAAM,gBAAgB,CAAC;AAEhE,MAAM,OAAO,aAAc,SAAQ,KAAK;IACtC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;CACF;AAiED,MAAM,gBAAgB,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,CAAU,CAAC;AAEvF,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAS,gBAAgB,CAAC,CAAC;AAE7D,MAAM,eAAe,GAAG,IAAI,GAAG,CAAS,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AAEjE,SAAS,mBAAmB,CAAC,KAAyB,EAAE,OAAe;IACrE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,eAAe,CAAC,MAAgB,EAAE,OAAe;IACxD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACvC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,oBAAoB,CAAC,GAAW;IAKvC,MAAM,KAAK,GAAG,yBAAyB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,aAAa,CAAC,mBAAmB,GAAG,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5B,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,aAAa,CAAC,mBAAmB,GAAG,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,OAAO;QACL,IAAI,EAAE,IAAuB;QAC7B,IAAI,EAAE,KAAK,IAAI,EAAE;QACjB,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;KACtB,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,IAA2E;IAI7F,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,WAAW,EAAE,qBAAqB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACtF,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;IAC1C,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IACvC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,aAAa,CAAC,qBAAqB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,EAAE,qBAAqB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1E,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;AAC9C,CAAC;AAED,SAAS,cAAc,CAAC,IAAc;IACpC,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,IAAI,SAA6B,CAAC;IAClC,IAAI,QAA4B,CAAC;IACjC,IAAI,GAAuB,CAAC;IAC5B,IAAI,KAAyB,CAAC;IAC9B,IAAI,cAAkC,CAAC;IACvC,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,MAAM,UAAU,GAAa,EAAE,CAAC;IAEhC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;QAErB,IAAI,WAAW,EAAE,CAAC;YAChB,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACrB,SAAS;QACX,CAAC;QAED,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACjB,WAAW,GAAG,IAAI,CAAC;YACnB,SAAS;QACX,CAAC;QAED,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACrC,IAAI,GAAG,IAAI,CAAC;YACZ,SAAS;QACX,CAAC;QAED,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,WAAW,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;YAC9C,MAAM,MAAM,GAAG,UAAU,CAAC;gBACxB,IAAI,EAAE,WAAW,CAAC,IAAI;gBACtB,WAAW,EAAE,WAAW,CAAC,WAAW;gBACpC,IAAI;gBACJ,KAAK,EAAE,CAAC;aACT,CAAC,CAAC;YACH,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC;YAErB,QAAQ,WAAW,CAAC,IAAI,EAAE,CAAC;gBACzB,KAAK,SAAS;oBACZ,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC;oBACzB,MAAM;gBACR,KAAK,QAAQ;oBACX,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC;oBACxB,MAAM;gBACR,KAAK,KAAK;oBACR,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC;oBACnB,MAAM;gBACR,KAAK,OAAO;oBACV,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;oBACrB,MAAM;gBACR,KAAK,aAAa;oBAChB,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC;oBAC9B,MAAM;YACV,CAAC;YACD,SAAS;QACX,CAAC;QAED,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;IAED,MAAM,MAAM,GAA0B;QACpC,IAAI;QACJ,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;QACjD,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;QAC/C,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC;QACrC,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;QACzC,GAAG,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC;KAC5D,CAAC;IAEF,MAAM,YAAY,GAAG,GAAoB,EAAE,CAAC,CAAC;QAC3C,GAAG,MAAM;QACT,OAAO,EAAE,QAAQ;QACjB,MAAM,EAAE,eAAe,CAAC,UAAU,EAAE,qBAAqB,CAAC;KAC3D,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAChB,OAAO,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QACxC,CAAC;QACD,MAAM,IAAI,aAAa,CAAC,iCAAiC,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,YAAY,EAAE,CAAC;IACxB,CAAC;IAED,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvB,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;QAC1C,CAAC;QACD,OAAO,YAAY,EAAE,CAAC;IACxB,CAAC;IAED,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QACrB,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QACxC,CAAC;QACD,OAAO,YAAY,EAAE,CAAC;IACxB,CAAC;IAED,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvB,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,aAAa,CAAC,+BAA+B,CAAC,CAAC;QAC3D,CAAC;QAED,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO;gBACL,GAAG,MAAM;gBACT,OAAO,EAAE,QAAQ;gBACjB,SAAS,EAAE,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,+BAA+B,CAAC;aAC/E,CAAC;QACJ,CAAC;QAED,OAAO,YAAY,EAAE,CAAC;IACxB,CAAC;IAED,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QACrB,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,aAAa,CAAC,6BAA6B,CAAC,CAAC;QACzD,CAAC;QAED,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO;gBACL,GAAG,MAAM;gBACT,OAAO,EAAE,MAAM;gBACf,SAAS,EAAE,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,6BAA6B,CAAC;aAC7E,CAAC;QACJ,CAAC;QAED,OAAO,YAAY,EAAE,CAAC;IACxB,CAAC;IAED,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QACrB,MAAM,SAAS,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,6BAA6B,CAAC,CAAC;QAEpF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,aAAa,CAAC,+BAA+B,CAAC,CAAC;QAC3D,CAAC;QAED,OAAO;YACL,GAAG,MAAM;YACT,OAAO,EAAE,MAAM;YACf,SAAS;YACT,IAAI,EAAE,eAAe,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,+BAA+B,CAAC;SAC5E,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,KAAK,WAAW,EAAE,CAAC;QAC1B,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,aAAa,CAAC,kCAAkC,CAAC,CAAC;QAC9D,CAAC;QAED,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO;gBACL,GAAG,MAAM;gBACT,OAAO,EAAE,WAAW;gBACpB,SAAS,EAAE,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,kCAAkC,CAAC;aAClF,CAAC;QACJ,CAAC;QAED,OAAO,YAAY,EAAE,CAAC;IACxB,CAAC;IAED,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QACrB,MAAM,4BAA4B,GAChC,gFAAgF,CAAC;QACnF,MAAM,aAAa,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,4BAA4B,CAAC,CAAC;QAEvF,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,aAAa,CAAC,4BAA4B,aAAa,GAAG,CAAC,CAAC;QACxE,CAAC;QAED,IAAI,aAAa,KAAK,MAAM,EAAE,CAAC;YAC7B,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5B,MAAM,IAAI,aAAa,CAAC,4BAA4B,CAAC,CAAC;YACxD,CAAC;YAED,OAAO;gBACL,GAAG,MAAM;gBACT,OAAO,EAAE,WAAW;aACrB,CAAC;QACJ,CAAC;QAED,IAAI,aAAa,KAAK,MAAM,EAAE,CAAC;YAC7B,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,MAAM,IAAI,aAAa,CAAC,oCAAoC,CAAC,CAAC;YAChE,CAAC;YAED,MAAM,SAAS,GACb,UAAU,CAAC,MAAM,KAAK,CAAC;gBACrB,CAAC,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,oCAAoC,CAAC;gBAC1E,CAAC,CAAC,SAAS,CAAC;YAEhB,OAAO;gBACL,GAAG,MAAM;gBACT,OAAO,EAAE,WAAW;gBACpB,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;aAClD,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,6BAA6B,CAAC,CAAC;QAEpF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,aAAa,CAAC,mCAAmC,CAAC,CAAC;QAC/D,CAAC;QAED,OAAO;YACL,GAAG,MAAM;YACT,OAAO,EAAE,UAAU;YACnB,SAAS;SACV,CAAC;IACJ,CAAC;IAED,OAAO,YAAY,EAAE,CAAC;AACxB,CAAC;AAED,SAAS,kBAAkB,CAAC,GAAW,EAAE,GAAsB;IAC7D,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;IACvB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,OAAO,OAAO,IAAI,SAAS,CAAC;AAC9B,CAAC;AAED,SAAS,2BAA2B,CAClC,YAAsD;IAEtD,MAAM,KAAK,GAAG,IAAI,GAAG,CAAS,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC;IAE5D,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3D,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;YAC1B,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,wBAAwB,CAAC,IAGjC;IACC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAClC,IAAI,MAAM,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,CACT,mDAAmD,MAAM,CAAC,cAAc,kBAAkB,MAAM,CAAC,aAAa,EAAE,CACjH,CAAC;QACJ,CAAC;QAED,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACtC,IAAI,CAAC,MAAM,CACT,sDAAsD,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,KAAK,EAAE,CACvF,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAqB,EAAE,MAAc;IAC7D,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC;IAClE,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,CAAC,UAAU,IAAI,SAAS,CAAC,CAAC;IAC9D,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,aAAa,CACrB,6EAA6E,CAC9E,CAAC;IACJ,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,aAAa,CAAC,MAAc,EAAE,IAAqB;IAC1D,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,IAAI,EAAE,CAAC;IACpD,MAAM,iBAAiB,GAAG,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,CAAC;IAC9D,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAEvC,IAAI,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC;IACrC,IAAI,CAAC,gBAAgB,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,EAAE,CAAC;QAC9E,gBAAgB,GAAG,iBAAiB,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC9F,CAAC;IAED,MAAM,cAAc,GAAG,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAChF,IAAI,gBAAgB,IAAI,CAAC,cAAc,EAAE,CAAC;QACxC,MAAM,IAAI,aAAa,CAAC,yBAAyB,gBAAgB,GAAG,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,cAAc,EAAE,GAAG,CAAC;IAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,cAAc,EAAE,KAAK,CAAC;IAClD,MAAM,SAAS,GAAG,cAAc,EAAE,SAAS,CAAC;IAE5C,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,aAAa,CAAC,oEAAoE,CAAC,CAAC;IAChG,CAAC;IAED,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,aAAa,CACrB,wEAAwE,CACzE,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AACnC,CAAC;AAED,SAAS,QAAQ,CAAC,OAAe,EAAE,IAAY;IAC7C,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,CAAC;IAC7D,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;AAC/E,CAAC;AAED,MAAM,mBAAmB,GAAG,CAAC;KAC1B,MAAM,CAAC;IACN,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE;CACnB,CAAC;KACD,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AAEjD,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;IACnB,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE;CAClB,CAAC,CAAC;AAEH,SAAS,mBAAmB,CAAC,MAAc,EAAE,OAAgB;IAC3D,MAAM,WAAW,GAAG,mBAAmB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAC3D,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;QACxB,MAAM,IAAI,aAAa,CAAC,mBAAmB,MAAM,MAAM,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,MAAM,IAAI,aAAa,CAAC,mBAAmB,MAAM,GAAG,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAY;IACxC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;QACjB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,IAM1B;IACC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC;IAElD,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;QAC9B,UAAU,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC,EAAE,SAAS,CAAC,CAAC;IACd,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;IAElB,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;YAC1E,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;gBAC5C,MAAM,EAAE,kBAAkB;gBAC1B,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS;oBACzB,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC;wBACE,cAAc,EAAE,kBAAkB;qBACnC,CAAC;aACP;YACD,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACvE,MAAM,EAAE,UAAU,CAAC,MAAM;SAC1B,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,oBAAoB,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAE5D,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,mBAAmB,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,cAAc,GAAG,qBAAqB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAChE,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;YAC5B,MAAM,IAAI,aAAa,CAAC,+BAA+B,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;QAC7E,CAAC;QAED,OAAO,cAAc,CAAC,IAAI,CAAC;IAC7B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,aAAa,EAAE,CAAC;YACnC,MAAM,KAAK,CAAC;QACd,CAAC;QAED,IAAK,KAA2B,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACvD,MAAM,IAAI,aAAa,CAAC,2BAA2B,SAAS,IAAI,CAAC,CAAC;QACpE,CAAC;QAED,MAAM,IAAI,aAAa,CACrB,mBAAmB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAC5E,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAA8B,OAAO,CAAC,GAAG;IACtE,GAAG,CACD;QACE,QAAQ;QACR,yCAAyC;QACzC,wCAAwC;QACxC,yBAAyB;QACzB,kBAAkB;QAClB,yBAAyB;QACzB,uBAAuB;QACvB,iCAAiC;QACjC,4BAA4B;QAC5B,uBAAuB;QACvB,+BAA+B;QAC/B,8BAA8B;QAC9B,EAAE;QACF,UAAU;QACV,6EAA6E;QAC7E,qEAAqE;QACrE,qEAAqE;QACrE,yDAAyD;QACzD,sDAAsD;QACtD,8DAA8D;QAC9D,kDAAkD;KACnD,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,IAKxB;IACC,IAAI,YAAsD,CAAC;IAC3D,IAAI,CAAC;QACH,YAAY,GAAG,qBAAqB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC5D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,sBAAsB,EAAE,CAAC;YAC5C,MAAM,IAAI,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACzC,CAAC;QAED,MAAM,KAAK,CAAC;IACd,CAAC;IAED,MAAM,SAAS,GAAG,kBAAkB,CAAC,sBAAsB,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,SAAS,CAAC;IACjG,MAAM,aAAa,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IAE9D,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,aAAa,CACrB,kFAAkF,CACnF,CAAC;IACJ,CAAC;IAED,MAAM,cAAc,GAAG,yBAAyB,CAAC;QAC/C,QAAQ,EAAE,YAAY,CAAC,QAAQ;QAC/B,aAAa,EAAE,YAAY,CAAC,aAAa;QACzC,WAAW,EAAE,YAAY,CAAC,WAAW;QACrC,aAAa,EAAE,YAAY,CAAC,aAAa;KAC1C,CAAC,CAAC;IAEH,MAAM,qBAAqB,GAAG,MAAM,8BAA8B,CAChE,2BAA2B,CAAC,YAAY,CAAC,CAC1C,CAAC;IACF,wBAAwB,CAAC;QACvB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,OAAO,EAAE,qBAAqB;KAC/B,CAAC,CAAC;IAEH,IAAI,OAA4D,CAAC;IAEjE,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,uBAAuB,CAAC;YACtC,YAAY;YACZ,SAAS;YACT,aAAa;YACb,cAAc;YACd,KAAK,EAAE,IAAI,CAAC,MAAM;SACnB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,uBAAuB,EAAE,CAAC;YAC7C,MAAM,IAAI,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACzC,CAAC;QAED,MAAM,KAAK,CAAC;IACd,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,iCAAiC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAEhE,MAAM,IAAI,OAAO,CAAO,CAAC,cAAc,EAAE,EAAE;QACzC,IAAI,YAAY,GAAG,KAAK,CAAC;QAEzB,MAAM,QAAQ,GAAG,GAAG,EAAE;YACpB,IAAI,YAAY,EAAE,CAAC;gBACjB,OAAO;YACT,CAAC;YAED,YAAY,GAAG,IAAI,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YAEjC,KAAK,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC7B,cAAc,EAAE,CAAC;YACnB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC/B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,IAAc,EACd,UAAkC,EAAE;IAEpC,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC;IAE7C,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAChB,cAAc,CAAC,MAAM,CAAC,CAAC;QACvB,OAAO;IACT,CAAC;IAED,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACzC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IACvC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;IAEjD,IAAI,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;YAC3B,MAAM,IAAI,aAAa,CAAC,8CAA8C,CAAC,CAAC;QAC1E,CAAC;QAED,MAAM,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,cAAc,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAChF,OAAO;IACT,CAAC;IAED,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;QAC1B,MAAM,IAAI,aAAa,CAAC,wDAAwD,CAAC,CAAC;IACpF,CAAC;IAED,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,KAAK,CAAC;IAE7C,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE;QACpB,QAAQ,MAAM,CAAC,OAAO,EAAE,CAAC;YACvB,KAAK,QAAQ;gBACX,OAAO;oBACL,MAAM,EAAE,MAAe;oBACvB,IAAI,EAAE,cAAc;oBACpB,IAAI,EAAE;wBACJ,SAAS,EAAE,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC;wBAC3C,MAAM,EAAE,MAAM,CAAC,MAAM;qBACtB;iBACF,CAAC;YACJ,KAAK,MAAM;gBACT,OAAO,EAAE,MAAM,EAAE,KAAc,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;YAC1D,KAAK,QAAQ;gBACX,OAAO;oBACL,MAAM,EAAE,KAAc;oBACtB,IAAI,EAAE,gBAAgB,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;iBAC7D,CAAC;YACJ,KAAK,MAAM;gBACT,OAAO;oBACL,MAAM,EAAE,KAAc;oBACtB,IAAI,EAAE,gBAAgB,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO;iBAClE,CAAC;YACJ,KAAK,MAAM;gBACT,OAAO;oBACL,MAAM,EAAE,MAAe;oBACvB,IAAI,EAAE,gBAAgB,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW;oBACrE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE;iBAC5B,CAAC;YACJ,KAAK,WAAW;gBACd,OAAO;oBACL,MAAM,EAAE,MAAe;oBACvB,IAAI,EAAE,gBAAgB,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY;oBACtE,IAAI,EAAE,EAAE;iBACT,CAAC;YACJ,KAAK,WAAW;gBACd,OAAO,EAAE,MAAM,EAAE,KAAc,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;YAC3D,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvF,OAAO,EAAE,MAAM,EAAE,KAAc,EAAE,IAAI,EAAE,gBAAgB,KAAK,EAAE,EAAE,CAAC;YACnE,CAAC;YACD,KAAK,UAAU;gBACb,OAAO;oBACL,MAAM,EAAE,MAAe;oBACvB,IAAI,EAAE,iBAAiB,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM;oBACjE,IAAI,EAAE,EAAE;iBACT,CAAC;QACN,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;IAEL,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC;QAChC,MAAM;QACN,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;QAC7D,SAAS;KACV,CAAC,CAAC;IACH,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;AAC9B,CAAC"}
@@ -11,8 +11,8 @@ export class AsyncDaemonConfigError extends Error {
11
11
  this.name = "AsyncDaemonConfigError";
12
12
  }
13
13
  }
14
- const CRON_JOB_FRONTMATTER_KEYS = new Set(["id", "projectId", "schedule", "enabled"]);
15
14
  const nonEmptyStringSchema = z.string().trim().min(1, "must be a non-empty string.");
15
+ const CRON_JOB_FRONTMATTER_KEYS = new Set(["id", "projectId", "schedule", "enabled"]);
16
16
  const positiveIntegerSchema = z
17
17
  .number()
18
18
  .int("must be a positive integer.")
@@ -268,8 +268,7 @@ function parseCronJobMarkdownFile(filePath, projects, sourceLabel) {
268
268
  if (enabledRaw === false) {
269
269
  return { errors: [] };
270
270
  }
271
- const idRaw = frontMatter.id;
272
- const id = typeof idRaw === "string" ? idRaw.trim() : "";
271
+ const id = typeof frontMatter.id === "string" ? frontMatter.id.trim() : "";
273
272
  if (!id) {
274
273
  errors.push(`${sourceLabel}: ${filePath}: frontmatter id must be a non-empty string.`);
275
274
  return { errors };
@@ -277,16 +276,14 @@ function parseCronJobMarkdownFile(filePath, projects, sourceLabel) {
277
276
  if (id !== fileId) {
278
277
  errors.push(`${sourceLabel}: ${filePath}: frontmatter id "${id}" must match file name "${fileId}".`);
279
278
  }
280
- const projectIdRaw = frontMatter.projectId;
281
- const projectId = typeof projectIdRaw === "string" ? projectIdRaw.trim() : "";
279
+ const projectId = typeof frontMatter.projectId === "string" ? frontMatter.projectId.trim() : "";
282
280
  if (!projectId) {
283
281
  errors.push(`${sourceLabel}: ${filePath}: frontmatter projectId must be a non-empty string.`);
284
282
  }
285
283
  else if (!projects[projectId]) {
286
284
  errors.push(`${sourceLabel}: ${filePath}: frontmatter projectId refers to an unknown project.`);
287
285
  }
288
- const scheduleRaw = frontMatter.schedule;
289
- const schedule = typeof scheduleRaw === "string" ? scheduleRaw.trim() : "";
286
+ const schedule = typeof frontMatter.schedule === "string" ? frontMatter.schedule.trim() : "";
290
287
  if (!schedule) {
291
288
  errors.push(`${sourceLabel}: ${filePath}: frontmatter schedule must be a non-empty string.`);
292
289
  }
@@ -302,7 +299,7 @@ function parseCronJobMarkdownFile(filePath, projects, sourceLabel) {
302
299
  if (!prompt) {
303
300
  errors.push(`${sourceLabel}: ${filePath}: cron job prompt body must be non-empty.`);
304
301
  }
305
- if (errors.length > 0) {
302
+ if (errors.length > 0 || !projectId || !schedule || !prompt) {
306
303
  return { errors };
307
304
  }
308
305
  return {