@curie-agent/core 0.4.2 → 0.4.4

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 (54) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/src/compaction.d.ts +76 -0
  3. package/dist/src/compaction.d.ts.map +1 -0
  4. package/dist/src/compaction.js +229 -0
  5. package/dist/src/compaction.js.map +1 -0
  6. package/dist/src/context-budget.d.ts +72 -0
  7. package/dist/src/context-budget.d.ts.map +1 -0
  8. package/dist/src/context-budget.js +132 -0
  9. package/dist/src/context-budget.js.map +1 -0
  10. package/dist/src/event-bus.d.ts +20 -0
  11. package/dist/src/event-bus.d.ts.map +1 -1
  12. package/dist/src/event-bus.js.map +1 -1
  13. package/dist/src/index.d.ts +8 -5
  14. package/dist/src/index.d.ts.map +1 -1
  15. package/dist/src/index.js +6 -4
  16. package/dist/src/index.js.map +1 -1
  17. package/dist/src/reminder-parser.d.ts +6 -0
  18. package/dist/src/reminder-parser.d.ts.map +1 -1
  19. package/dist/src/reminder-parser.js +85 -105
  20. package/dist/src/reminder-parser.js.map +1 -1
  21. package/dist/src/settings.d.ts +13 -0
  22. package/dist/src/settings.d.ts.map +1 -1
  23. package/dist/src/settings.js +37 -12
  24. package/dist/src/settings.js.map +1 -1
  25. package/dist/src/subagent-executor.d.ts +8 -0
  26. package/dist/src/subagent-executor.d.ts.map +1 -1
  27. package/dist/src/subagent-executor.js +20 -6
  28. package/dist/src/subagent-executor.js.map +1 -1
  29. package/dist/src/task-manager.d.ts +53 -12
  30. package/dist/src/task-manager.d.ts.map +1 -1
  31. package/dist/src/task-manager.js +225 -124
  32. package/dist/src/task-manager.js.map +1 -1
  33. package/dist/src/task-migration.d.ts +29 -2
  34. package/dist/src/task-migration.d.ts.map +1 -1
  35. package/dist/src/task-migration.js +115 -7
  36. package/dist/src/task-migration.js.map +1 -1
  37. package/dist/src/turn-loop.d.ts +22 -2
  38. package/dist/src/turn-loop.d.ts.map +1 -1
  39. package/dist/src/turn-loop.js +222 -95
  40. package/dist/src/turn-loop.js.map +1 -1
  41. package/package.json +1 -1
  42. package/templates/settings.json +100 -91
  43. package/dist/src/cron-manager.d.ts +0 -92
  44. package/dist/src/cron-manager.d.ts.map +0 -1
  45. package/dist/src/cron-manager.js +0 -410
  46. package/dist/src/cron-manager.js.map +0 -1
  47. package/dist/src/task-executor.d.ts +0 -31
  48. package/dist/src/task-executor.d.ts.map +0 -1
  49. package/dist/src/task-executor.js +0 -91
  50. package/dist/src/task-executor.js.map +0 -1
  51. package/dist/src/token-monitor.d.ts +0 -50
  52. package/dist/src/token-monitor.d.ts.map +0 -1
  53. package/dist/src/token-monitor.js +0 -119
  54. package/dist/src/token-monitor.js.map +0 -1
@@ -2,73 +2,62 @@
2
2
  * Zero-dependency natural language time parser for reminders.
3
3
  * Parses patterns like "in 30 minutes", "tomorrow at 7am", "today at 19:00",
4
4
  * "next monday at 9am", etc.
5
+ *
6
+ * Two rules the callers depend on:
7
+ * - A parsed time is never in the past. A reminder that fires the instant it
8
+ * is created is worse than no reminder.
9
+ * - An unrecognised input returns null rather than guessing. Silently
10
+ * defaulting produces reminders at times the user never asked for.
5
11
  */
6
12
  const WEEKDAYS = [
7
13
  'sunday', 'monday', 'tuesday', 'wednesday',
8
14
  'thursday', 'friday', 'saturday',
9
15
  ];
10
16
  /**
11
- * Parse a time string like "7:00 am", "19:00", "7am", "7:30PM".
12
- * Returns hours and minutes, or null if unparseable.
17
+ * Pull a time-of-day off the *start* of a string, returning it plus the
18
+ * remaining message text. Anchored deliberately: an unanchored match lets a
19
+ * digit anywhere in the sentence become the hour, so "tomorrow buy 3 apples"
20
+ * silently became "apples" at 03:00.
13
21
  */
14
- function parseTimeOfDay(timeStr) {
15
- const match = timeStr.match(/(\d{1,2}):?(\d{2})?\s*([ap]m)?/i);
22
+ function extractLeadingTime(str) {
23
+ const match = /^(\d{1,2})(?::(\d{2}))?\s*(?:([ap])\.?m\.?)?\b\s*(.*)$/i.exec(str);
16
24
  if (!match)
17
25
  return null;
18
- let hours = parseInt(match[1] ?? '0', 10);
26
+ let hours = parseInt(match[1] ?? '', 10);
19
27
  const minutes = match[2] ? parseInt(match[2], 10) : 0;
20
- const ampm = match[3];
21
- if (ampm) {
22
- const isPM = ampm.toLowerCase().startsWith('p');
23
- if (isPM && hours < 12)
24
- hours += 12;
25
- if (!isPM && hours === 12)
26
- hours = 0;
27
- }
28
- return { hours, minutes };
29
- }
30
- /**
31
- * Extract a time-of-day from the beginning of a string, returning the time
32
- * and the remaining message text. e.g. "7:00 am make breakfast" →
33
- * { time: {hours:7, minutes:0}, message: "make breakfast" }
34
- */
35
- function extractTimeAndMessage(str) {
36
- const match = str.match(/(\d{1,2}):?(\d{2})?\s*([ap]m)?\s*(.*)/i);
37
- if (!match)
38
- return null;
39
- let hours = parseInt(match[1] ?? '0', 10);
40
- const minutes = match[2] ? parseInt(match[2], 10) : 0;
41
- const ampm = match[3];
28
+ const meridiem = match[3];
42
29
  const message = (match[4] ?? '').trim();
43
- if (ampm) {
44
- const isPM = ampm.toLowerCase().startsWith('p');
30
+ if (meridiem) {
31
+ const isPM = meridiem.toLowerCase() === 'p';
45
32
  if (isPM && hours < 12)
46
33
  hours += 12;
47
34
  if (!isPM && hours === 12)
48
35
  hours = 0;
49
36
  }
37
+ if (!Number.isInteger(hours) || hours < 0 || hours > 23)
38
+ return null;
39
+ if (!Number.isInteger(minutes) || minutes < 0 || minutes > 59)
40
+ return null;
50
41
  return { time: { hours, minutes }, message };
51
42
  }
52
- /**
53
- * Apply a time-of-day to a base date, returning a new Date.
54
- */
43
+ /** Apply a time-of-day to a base date, returning a new Date. */
55
44
  function applyTime(date, hours, minutes) {
56
45
  const result = new Date(date);
57
46
  result.setHours(hours, minutes, 0, 0);
58
47
  return result;
59
48
  }
60
49
  /**
61
- * Get the next occurrence of a weekday at a given time, or today if
62
- * the weekday already passed this week (returns next week).
50
+ * Get the next occurrence of a weekday at a given time. Always forward
51
+ * "next friday" on a Friday means the Friday after this one.
63
52
  */
64
53
  function nextWeekday(dayName, baseDate, time) {
65
54
  const targetDay = WEEKDAYS.indexOf(dayName.toLowerCase());
66
55
  if (targetDay === -1)
67
- return baseDate;
56
+ return null;
68
57
  const today = baseDate.getDay();
69
58
  let diff = targetDay - today;
70
59
  if (diff <= 0)
71
- diff += 7; // always go to next occurrence
60
+ diff += 7;
72
61
  const result = new Date(baseDate);
73
62
  result.setDate(result.getDate() + diff);
74
63
  return applyTime(result, time.hours, time.minutes);
@@ -78,87 +67,78 @@ export function parseReminderTime(input) {
78
67
  if (!trimmed)
79
68
  return null;
80
69
  const now = new Date();
81
- let remaining = trimmed;
82
- let targetTime = null;
83
- // Pattern 1: "in X minutes"
84
- const inMinMatch = remaining.match(/^in\s+(\d+)\s+minutes?/i);
70
+ // --- Relative offsets: an exact instant, no time-of-day involved --------
71
+ const inMinMatch = /^in\s+(\d+)\s+min(?:ute)?s?\b\s*(.*)$/i.exec(trimmed);
85
72
  if (inMinMatch) {
86
- const mins = parseInt(inMinMatch[1], 10);
87
- const msg = remaining.slice(inMinMatch[0].length).trim();
88
- targetTime = new Date(Date.now() + mins * 60_000);
89
- remaining = msg;
73
+ const message = (inMinMatch[2] ?? '').trim();
74
+ if (!message)
75
+ return null;
76
+ return { message, scheduledAt: now.getTime() + parseInt(inMinMatch[1] ?? '0', 10) * 60_000 };
90
77
  }
91
- // Pattern 2: "in X hours"
92
- const inHourMatch = remaining.match(/^in\s+(\d+)\s+hours?/i);
78
+ const inHourMatch = /^in\s+(\d+)\s+(?:hours?|hrs?)\b\s*(.*)$/i.exec(trimmed);
93
79
  if (inHourMatch) {
94
- const hrs = parseInt(inHourMatch[1], 10);
95
- const msg = remaining.slice(inHourMatch[0].length).trim();
96
- targetTime = new Date(Date.now() + hrs * 3_600_000);
97
- remaining = msg;
80
+ const message = (inHourMatch[2] ?? '').trim();
81
+ if (!message)
82
+ return null;
83
+ return { message, scheduledAt: now.getTime() + parseInt(inHourMatch[1] ?? '0', 10) * 3_600_000 };
98
84
  }
99
- // Pattern 3: "in X days"
100
- const inDayMatch = remaining.match(/^in\s+(\d+)\s+days?/i);
85
+ // --- A calendar day, optionally followed by a time-of-day --------------
86
+ const baseDate = new Date(now);
87
+ let rest;
88
+ /** Whether a past time-of-day may roll into tomorrow. */
89
+ let allowRollForward = false;
90
+ /** Time-of-day to use when the input names a day but no clock time. */
91
+ let defaultTime = null;
92
+ let weekday = null;
93
+ const inDayMatch = /^in\s+(\d+)\s+days?\b\s*(?:at\s+)?(.*)$/i.exec(trimmed);
94
+ const tomorrowMatch = /^tomorrow\b\s*(?:at\s+)?(.*)$/i.exec(trimmed);
95
+ const todayMatch = /^(?:today|tonight)\b\s*(?:at\s+)?(.*)$/i.exec(trimmed);
96
+ const nextDayMatch = /^next\s+(monday|tuesday|wednesday|thursday|friday|saturday|sunday)\b\s*(?:at\s+)?(.*)$/i.exec(trimmed);
97
+ const atMatch = /^at\s+(.*)$/i.exec(trimmed);
101
98
  if (inDayMatch) {
102
- const days = parseInt(inDayMatch[1], 10);
103
- const msg = remaining.slice(inDayMatch[0].length).trim();
104
- const tomorrow = new Date(now);
105
- tomorrow.setDate(tomorrow.getDate() + days);
106
- tomorrow.setHours(0, 0, 0, 0);
107
- targetTime = tomorrow;
108
- remaining = msg;
99
+ baseDate.setDate(baseDate.getDate() + parseInt(inDayMatch[1] ?? '0', 10));
100
+ rest = inDayMatch[2] ?? '';
101
+ defaultTime = { hours: 0, minutes: 0 };
109
102
  }
110
- // Pattern 4: "tomorrow at <time>"
111
- const tomorrowMatch = remaining.match(/^tomorrow(?:\s+at\s+)?(.+)$/i);
112
- if (tomorrowMatch) {
113
- const rest = (tomorrowMatch[1] ?? '').trim();
114
- const parsed = extractTimeAndMessage(rest);
115
- if (parsed) {
116
- const tomorrow = new Date(now);
117
- tomorrow.setDate(tomorrow.getDate() + 1);
118
- targetTime = applyTime(tomorrow, parsed.time.hours, parsed.time.minutes);
119
- remaining = parsed.message;
120
- }
103
+ else if (tomorrowMatch) {
104
+ baseDate.setDate(baseDate.getDate() + 1);
105
+ rest = tomorrowMatch[1] ?? '';
121
106
  }
122
- // Pattern 5: "today at <time>"
123
- const todayMatch = remaining.match(/^today(?:\s+at\s+)?(.+)$/i);
124
- if (todayMatch) {
125
- const rest = (todayMatch[1] ?? '').trim();
126
- const parsed = extractTimeAndMessage(rest);
127
- if (parsed) {
128
- targetTime = applyTime(now, parsed.time.hours, parsed.time.minutes);
129
- remaining = parsed.message;
130
- }
107
+ else if (todayMatch) {
108
+ rest = todayMatch[1] ?? '';
109
+ // "today at 6:00" typed at 10:00 can't mean the past — take the next 06:00.
110
+ allowRollForward = true;
131
111
  }
132
- // Pattern 6: "next <weekday> at <time>"
133
- const nextDayMatch = remaining.match(/^next\s+(monday|tuesday|wednesday|thursday|friday|saturday|sunday)\s+(?:at\s+)?(.+)$/i);
134
- if (nextDayMatch) {
135
- const dayName = (nextDayMatch[1] ?? '').trim();
136
- const rest = (nextDayMatch[2] ?? '').trim();
137
- const parsed = extractTimeAndMessage(rest);
138
- if (parsed) {
139
- targetTime = nextWeekday(dayName, now, parsed.time);
140
- remaining = parsed.message;
141
- }
112
+ else if (nextDayMatch) {
113
+ weekday = nextDayMatch[1] ?? '';
114
+ rest = nextDayMatch[2] ?? '';
142
115
  }
143
- // Pattern 7: "at <time>" (standalone — defaults to today)
144
- const atMatch = remaining.match(/^at\s+(.+)$/i);
145
- if (atMatch) {
146
- const rest = (atMatch[1] ?? '').trim();
147
- const parsed = extractTimeAndMessage(rest);
148
- if (parsed) {
149
- targetTime = applyTime(now, parsed.time.hours, parsed.time.minutes);
150
- remaining = parsed.message;
151
- }
116
+ else if (atMatch) {
117
+ rest = atMatch[1] ?? '';
118
+ allowRollForward = true;
152
119
  }
153
- // If no time was parsed, default to "in 1 hour"
154
- if (!targetTime) {
155
- targetTime = new Date(Date.now() + 3_600_000);
120
+ else {
121
+ // No recognisable time reference — don't invent one.
122
+ return null;
156
123
  }
157
- // Extract message: the part after time keywords
158
- const message = remaining.trim();
159
- if (!message) {
124
+ const extracted = extractLeadingTime(rest.trim());
125
+ const time = extracted?.time ?? defaultTime;
126
+ const message = (extracted ? extracted.message : rest).trim();
127
+ if (!time || !message)
160
128
  return null;
129
+ let target = weekday
130
+ ? nextWeekday(weekday, baseDate, time)
131
+ : applyTime(baseDate, time.hours, time.minutes);
132
+ if (!target)
133
+ return null;
134
+ if (allowRollForward && target.getTime() <= now.getTime()) {
135
+ target = new Date(target);
136
+ target.setDate(target.getDate() + 1);
161
137
  }
162
- return { message, scheduledAt: targetTime.getTime() };
138
+ // A pinned future day (tomorrow / in N days / next <weekday>) that still
139
+ // lands in the past means the input was contradictory.
140
+ if (target.getTime() <= now.getTime())
141
+ return null;
142
+ return { message, scheduledAt: target.getTime() };
163
143
  }
164
144
  //# sourceMappingURL=reminder-parser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"reminder-parser.js","sourceRoot":"","sources":["../../src/reminder-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reminder-parser.js","sourceRoot":"","sources":["../../src/reminder-parser.ts"],"names":[],"mappings":"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"}
@@ -44,6 +44,8 @@ export interface AutoCompactConfig {
44
44
  threshold: number;
45
45
  warn_threshold: number;
46
46
  forced_threshold: number;
47
+ /** Model used to write compaction summaries. Empty = use the active model. */
48
+ model?: string;
47
49
  }
48
50
  export interface WikiConfig {
49
51
  path: string;
@@ -62,6 +64,8 @@ export interface CurieSettings {
62
64
  channels: ChannelsConfig;
63
65
  tools_per_call: number;
64
66
  websearch_per_call: number;
67
+ tools_per_run: number;
68
+ websearch_per_run: number;
65
69
  system_prompt_files: string[];
66
70
  brave_search_api_key: string;
67
71
  heartbeat: HeartbeatConfig;
@@ -91,6 +95,8 @@ export interface CurieSettings {
91
95
  MCP_SERVERS?: Record<string, unknown>;
92
96
  TOOLS_PER_CALL?: number;
93
97
  WEBSEARCH_PER_CALL?: number;
98
+ TOOLS_PER_RUN?: number;
99
+ WEBSEARCH_PER_RUN?: number;
94
100
  HEARTBEAT?: 'on' | 'off';
95
101
  HEARTBEAT_INTRADAY?: string;
96
102
  HEARTBEAT_DAILY?: string;
@@ -122,6 +128,13 @@ export declare class SettingsManager {
122
128
  load(): CurieSettings;
123
129
  save(): void;
124
130
  update(partial: Partial<CurieSettings>): CurieSettings;
131
+ /**
132
+ * Returns a deep clone. A shallow copy used to let callers mutate nested
133
+ * objects (`auto_compact`, `providers`, …) in place while top-level scalar
134
+ * writes were silently dropped by `save()` — the two behaved differently for
135
+ * no reason a caller could see. Mutating the result is now always a no-op;
136
+ * persist through `update()` / `setProviderKey()`.
137
+ */
125
138
  get(): CurieSettings;
126
139
  /** Get the currently active model name from provider config. */
127
140
  getActiveModel(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/settings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/settings.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;CACvD;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,cAAc,CAAC;IAC1B,MAAM,EAAE,cAAc,CAAC;IACvB,UAAU,EAAE,cAAc,CAAC;IAC3B,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,EAAE,cAAc,CAAC;IACvB,KAAK,EAAE,cAAc,CAAC;IACtB,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAAC;CAC/B;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,IAAI,GAAG,KAAK,CAAC;IACvB,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,IAAI,GAAG,KAAK,CAAC;IACzB,cAAc,EAAE,OAAO,CAAC;IACxB,aAAa,EAAE,IAAI,GAAG,KAAK,CAAC;IAC5B,SAAS,EAAE,IAAI,GAAG,KAAK,CAAC;CACzB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,IAAI,GAAG,KAAK,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,8EAA8E;IAC9E,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,IAAI,GAAG,KAAK,CAAC;CACxB;AAID,MAAM,WAAW,aAAa;IAE5B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;IACnD,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,OAAO,CAAC;IAGf,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,WAAW,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IAGxB,QAAQ,EAAE,cAAc,CAAC;IAGzB,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAG1B,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAG9B,oBAAoB,EAAE,MAAM,CAAC;IAG7B,SAAS,EAAE,eAAe,CAAC;IAG3B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAGrC,MAAM,EAAE,YAAY,CAAC;IAGrB,YAAY,EAAE,iBAAiB,CAAC;IAGhC,iBAAiB,EAAE,IAAI,GAAG,KAAK,CAAC;IAGhC,IAAI,EAAE,UAAU,CAAC;IAGjB,MAAM,EAAE,MAAM,CAAC;IAEf,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iBAAiB,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC;IACjC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,oBAAoB,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC;IACpC,gBAAgB,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC;IAChC,YAAY,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC;IAC5B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,iBAAiB,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC;CAClC;AA0BD,eAAO,MAAM,gBAAgB,EAAE,aAuB9B,CAAC;AAqEF,yGAAyG;AACzG,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAWxE;AAED,mDAAmD;AACnD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,aAAa,CAiHlF;AAED,8DAA8D;AAC9D,wBAAgB,eAAe,CAAC,CAAC,EAAE,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAsBzE;AASD,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAgB;;IAMhC,IAAI,IAAI,aAAa;IA0BrB,IAAI,IAAI,IAAI;IAOZ,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,aAAa;IAMtD;;;;;;OAMG;IACH,GAAG,IAAI,aAAa;IAIpB,gEAAgE;IAChE,cAAc,IAAI,MAAM;IAKxB,8CAA8C;IAC9C,kBAAkB,IAAI,MAAM;IAI5B,wDAAwD;IACxD,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,GAAG,MAAM;IACxD,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,GAAG,MAAM;IACpD,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,MAAM;IACtD,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,GAAG,MAAM;IAC3D,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,sBAAsB,GAAG,MAAM;IAQrE,sDAAsD;IACtD,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,aAAa;IAW5E,4DAA4D;IAC5D,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa;IAU/C,mDAAmD;IACnD,YAAY,IAAI,MAAM;IAKtB,qDAAqD;IACrD,qBAAqB,IAAI,MAAM;CAIhC;AAED,iGAAiG;AACjG,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,aAAa,CAkGlF"}
@@ -2,18 +2,24 @@ import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
2
2
  import { homedir } from 'node:os';
3
3
  import { join } from 'node:path';
4
4
  // ── Default settings (nested format) ────────────────────────────────────────
5
+ /**
6
+ * Explicit per-provider output reserve. Previously `undefined`, which made the
7
+ * turn-loop fall back to an invisible 65536 — half of the 131072 default window.
8
+ */
9
+ const DEFAULT_MAX_OUTPUT_TOKENS = 32768;
10
+ const DEFAULT_LOCAL_MAX_OUTPUT_TOKENS = 8192;
5
11
  function makeDefaultProviders() {
6
12
  const p = {};
7
13
  for (const name of ['anthropic', 'openai', 'openrouter', 'google', 'ollama', 'local']) {
8
- p[name] = { api_key: '', url: '', model: '', model_cost: '', model_context_window: 131072 };
14
+ p[name] = { api_key: '', url: '', model: '', model_cost: '', model_context_window: 131072, max_output_tokens: DEFAULT_MAX_OUTPUT_TOKENS };
9
15
  }
10
16
  return {
11
17
  anthropic: { ...p.anthropic, url: 'https://api.anthropic.com', model: 'claude-sonnet-4-6', model_context_window: 200000 },
12
18
  openai: { ...p.openai, url: 'https://api.openai.com', model: 'gpt-4o' },
13
19
  openrouter: { ...p.openrouter, url: 'https://openrouter.ai/api/v1', model: 'anthropic/claude-sonnet-4-6', model_context_window: 200000 },
14
20
  google: { ...p.google, model: 'gemini-2.5-pro' },
15
- ollama: { ...p.ollama, url: 'http://localhost:11434/v1', model: 'llama3' },
16
- local: { ...p.local, model: 'custom' },
21
+ ollama: { ...p.ollama, url: 'http://localhost:11434/v1', model: 'llama3', max_output_tokens: DEFAULT_LOCAL_MAX_OUTPUT_TOKENS },
22
+ local: { ...p.local, model: 'custom', max_output_tokens: DEFAULT_LOCAL_MAX_OUTPUT_TOKENS },
17
23
  };
18
24
  }
19
25
  export const DEFAULT_SETTINGS = {
@@ -28,12 +34,14 @@ export const DEFAULT_SETTINGS = {
28
34
  channels: { bot_token: '', user_id: '', chat_id: '', allow_groups: false, tab_active: 'main' },
29
35
  tools_per_call: 10,
30
36
  websearch_per_call: 5,
37
+ tools_per_run: 200,
38
+ websearch_per_run: 60,
31
39
  system_prompt_files: ['AGENTS.md', 'SOUL.md', 'USER.md', 'MEMORY.md'],
32
40
  brave_search_api_key: '',
33
41
  heartbeat: { schedule: 'off', mode: 'yolo', intraday: '', daily: '6:00', weekly: 'monday@6:00', monthly: '1@6:00', dreaming: '2:00' },
34
42
  mcp_servers: {},
35
43
  safety: { path_guard: 'on', path_allowlist: '', command_guard: 'on', snapshots: 'on' },
36
- auto_compact: { enabled: 'on', threshold: 75, warn_threshold: 60, forced_threshold: 85 },
44
+ auto_compact: { enabled: 'on', threshold: 75, warn_threshold: 60, forced_threshold: 85, model: '' },
37
45
  pricing_tier_warn: 'on',
38
46
  wiki: { path: '', autoLint: 'off' },
39
47
  web_ip: '',
@@ -150,12 +158,12 @@ export function migrateFlatToNested(parsed) {
150
158
  const localKey = pickString(parsed, 'MODEL_API_KEY') || '';
151
159
  const localUrl = pickString(parsed, 'MODEL_URL') || '';
152
160
  const providers = {
153
- anthropic: { api_key: anthropicKey, url: anthropicUrl, model: DEFAULT_SETTINGS.providers.anthropic.model, model_cost: '', model_context_window: 200000 },
154
- openai: { api_key: openaiKey, url: openaiUrl, model: DEFAULT_SETTINGS.providers.openai.model, model_cost: '', model_context_window: 131072 },
155
- openrouter: { api_key: orKey, url: orUrl, model: DEFAULT_SETTINGS.providers.openrouter.model, model_cost: '', model_context_window: 200000 },
156
- google: { api_key: googleKey, url: googleUrl, model: DEFAULT_SETTINGS.providers.google.model, model_cost: '', model_context_window: 131072 },
157
- ollama: { api_key: ollamaKey, url: ollamaUrl, model: DEFAULT_SETTINGS.providers.ollama.model, model_cost: '', model_context_window: 131072 },
158
- local: { api_key: localKey, url: localUrl, model: DEFAULT_SETTINGS.providers.local.model, model_cost: '', model_context_window: 131072 },
161
+ anthropic: { api_key: anthropicKey, url: anthropicUrl, model: DEFAULT_SETTINGS.providers.anthropic.model, model_cost: '', model_context_window: 200000, max_output_tokens: DEFAULT_MAX_OUTPUT_TOKENS },
162
+ openai: { api_key: openaiKey, url: openaiUrl, model: DEFAULT_SETTINGS.providers.openai.model, model_cost: '', model_context_window: 131072, max_output_tokens: DEFAULT_MAX_OUTPUT_TOKENS },
163
+ openrouter: { api_key: orKey, url: orUrl, model: DEFAULT_SETTINGS.providers.openrouter.model, model_cost: '', model_context_window: 200000, max_output_tokens: DEFAULT_MAX_OUTPUT_TOKENS },
164
+ google: { api_key: googleKey, url: googleUrl, model: DEFAULT_SETTINGS.providers.google.model, model_cost: '', model_context_window: 131072, max_output_tokens: DEFAULT_MAX_OUTPUT_TOKENS },
165
+ ollama: { api_key: ollamaKey, url: ollamaUrl, model: DEFAULT_SETTINGS.providers.ollama.model, model_cost: '', model_context_window: 131072, max_output_tokens: DEFAULT_LOCAL_MAX_OUTPUT_TOKENS },
166
+ local: { api_key: localKey, url: localUrl, model: DEFAULT_SETTINGS.providers.local.model, model_cost: '', model_context_window: 131072, max_output_tokens: DEFAULT_LOCAL_MAX_OUTPUT_TOKENS },
159
167
  };
160
168
  // Preserve flat model into the active provider's model
161
169
  const flatModel = pickString(parsed, 'model') || DEFAULT_SETTINGS.model;
@@ -196,6 +204,10 @@ export function migrateFlatToNested(parsed) {
196
204
  ? pickNumber(parsed, 'TOOLS_PER_CALL', 'tools_per_call') : DEFAULT_SETTINGS.tools_per_call,
197
205
  websearch_per_call: (typeof pickNumber(parsed, 'WEBSEARCH_PER_CALL', 'websearch_per_call') === 'number' && pickNumber(parsed, 'WEBSEARCH_PER_CALL', 'websearch_per_call') > 0)
198
206
  ? pickNumber(parsed, 'WEBSEARCH_PER_CALL', 'websearch_per_call') : DEFAULT_SETTINGS.websearch_per_call,
207
+ tools_per_run: (pickNumber(parsed, 'TOOLS_PER_RUN', 'tools_per_run') ?? 0) > 0
208
+ ? pickNumber(parsed, 'TOOLS_PER_RUN', 'tools_per_run') : DEFAULT_SETTINGS.tools_per_run,
209
+ websearch_per_run: (pickNumber(parsed, 'WEBSEARCH_PER_RUN', 'websearch_per_run') ?? 0) > 0
210
+ ? pickNumber(parsed, 'WEBSEARCH_PER_RUN', 'websearch_per_run') : DEFAULT_SETTINGS.websearch_per_run,
199
211
  system_prompt_files: pickStringArray(parsed, 'system_prompt_files', 'SYSTEM_PROMPT_FILES') || DEFAULT_SETTINGS.system_prompt_files,
200
212
  brave_search_api_key: pickString(parsed, 'BRAVE_SEARCH_API_KEY', 'brave_search_api_key', 'BRAVE_API_KEY') || '',
201
213
  heartbeat: {
@@ -219,6 +231,7 @@ export function migrateFlatToNested(parsed) {
219
231
  threshold: acThreshold,
220
232
  warn_threshold: acWarnThreshold,
221
233
  forced_threshold: acForcedThreshold,
234
+ model: pickString(parsed, 'AUTO_COMPACT_MODEL', 'auto_compact_model') || '',
222
235
  },
223
236
  pricing_tier_warn: (pickString(parsed, 'PRICING_TIER_WARN', 'pricing_tier_warn') || 'on'),
224
237
  wiki: { path: '', autoLint: 'off' },
@@ -298,8 +311,15 @@ export class SettingsManager {
298
311
  this.save();
299
312
  return this.settings;
300
313
  }
314
+ /**
315
+ * Returns a deep clone. A shallow copy used to let callers mutate nested
316
+ * objects (`auto_compact`, `providers`, …) in place while top-level scalar
317
+ * writes were silently dropped by `save()` — the two behaved differently for
318
+ * no reason a caller could see. Mutating the result is now always a no-op;
319
+ * persist through `update()` / `setProviderKey()`.
320
+ */
301
321
  get() {
302
- return { ...this.settings };
322
+ return structuredClone(this.settings);
303
323
  }
304
324
  /** Get the currently active model name from provider config. */
305
325
  getActiveModel() {
@@ -367,7 +387,7 @@ export function parseNestedSettings(parsed) {
367
387
  model: getString([`providers.${name}.model`]) || raw.model || (DEFAULT_SETTINGS.providers[name].model),
368
388
  model_cost: raw.model_cost || '',
369
389
  model_context_window: typeof raw.model_context_window === 'number' ? raw.model_context_window : (DEFAULT_SETTINGS.providers[name].model_context_window),
370
- max_output_tokens: typeof raw.max_output_tokens === 'number' ? raw.max_output_tokens : undefined,
390
+ max_output_tokens: typeof raw.max_output_tokens === 'number' ? raw.max_output_tokens : DEFAULT_SETTINGS.providers[name].max_output_tokens,
371
391
  provider_order: Array.isArray(raw.provider_order) ? raw.provider_order : undefined,
372
392
  };
373
393
  }
@@ -404,6 +424,7 @@ export function parseNestedSettings(parsed) {
404
424
  threshold: getNumber(['auto_compact.threshold', 'AUTO_COMPACT_THRESHOLD']) ?? rawAutoComp?.threshold ?? DEFAULT_SETTINGS.auto_compact.threshold,
405
425
  warn_threshold: getNumber(['auto_compact.warn_threshold', 'AUTO_COMPACT_WARN_THRESHOLD']) ?? rawAutoComp?.warn_threshold ?? DEFAULT_SETTINGS.auto_compact.warn_threshold,
406
426
  forced_threshold: getNumber(['auto_compact.forced_threshold', 'AUTO_COMPACT_FORCED_THRESHOLD']) ?? rawAutoComp?.forced_threshold ?? DEFAULT_SETTINGS.auto_compact.forced_threshold,
427
+ model: getString(['auto_compact.model']) || rawAutoComp?.model || '',
407
428
  };
408
429
  return {
409
430
  model: getString(['model']) || DEFAULT_SETTINGS.model,
@@ -419,6 +440,10 @@ export function parseNestedSettings(parsed) {
419
440
  ? getNumber(['tools_per_call', 'TOOLS_PER_CALL']) : DEFAULT_SETTINGS.tools_per_call,
420
441
  websearch_per_call: (typeof getNumber(['websearch_per_call', 'WEBSEARCH_PER_CALL']) === 'number' && getNumber(['websearch_per_call', 'WEBSEARCH_PER_CALL']) > 0)
421
442
  ? getNumber(['websearch_per_call', 'WEBSEARCH_PER_CALL']) : DEFAULT_SETTINGS.websearch_per_call,
443
+ tools_per_run: (getNumber(['tools_per_run', 'TOOLS_PER_RUN']) ?? 0) > 0
444
+ ? getNumber(['tools_per_run', 'TOOLS_PER_RUN']) : DEFAULT_SETTINGS.tools_per_run,
445
+ websearch_per_run: (getNumber(['websearch_per_run', 'WEBSEARCH_PER_RUN']) ?? 0) > 0
446
+ ? getNumber(['websearch_per_run', 'WEBSEARCH_PER_RUN']) : DEFAULT_SETTINGS.websearch_per_run,
422
447
  system_prompt_files: pickStringArray(parsed, 'system_prompt_files', 'SYSTEM_PROMPT_FILES') || DEFAULT_SETTINGS.system_prompt_files,
423
448
  brave_search_api_key: getString(['brave_search_api_key', 'BRAVE_SEARCH_API_KEY', 'BRAVE_API_KEY']),
424
449
  heartbeat: heartbeatConfig,
@@ -1 +1 @@
1
- {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/settings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AA+JjC,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,yBAAyB,GAAG,KAAK,CAAC;AACxC,MAAM,+BAA+B,GAAG,IAAI,CAAC;AAE7C,SAAS,oBAAoB;IAC3B,MAAM,CAAC,GAAyB,EAAE,CAAC;IACnC,KAAK,MAAM,IAAI,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAU,EAAE,CAAC;QAC/F,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,oBAAoB,EAAE,MAAM,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,CAAC;IAC5I,CAAC;IACD,OAAO;QACL,SAAS,EAAE,EAAE,GAAG,CAAC,CAAC,SAAU,EAAE,GAAG,EAAE,2BAA2B,EAAE,KAAK,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,EAAE;QAC1H,MAAM,EAAE,EAAE,GAAG,CAAC,CAAC,MAAO,EAAE,GAAG,EAAE,wBAAwB,EAAE,KAAK,EAAE,QAAQ,EAAE;QACxE,UAAU,EAAE,EAAE,GAAG,CAAC,CAAC,UAAW,EAAE,GAAG,EAAE,8BAA8B,EAAE,KAAK,EAAE,6BAA6B,EAAE,oBAAoB,EAAE,MAAM,EAAE;QACzI,MAAM,EAAE,EAAE,GAAG,CAAC,CAAC,MAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE;QACjD,MAAM,EAAE,EAAE,GAAG,CAAC,CAAC,MAAO,EAAE,GAAG,EAAE,2BAA2B,EAAE,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,+BAA+B,EAAE;QAC/H,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC,KAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,+BAA+B,EAAE;KAC7E,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAkB;IAC7C,KAAK,EAAE,mBAAmB;IAC1B,MAAM,EAAE,MAAM;IACd,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,MAAM;IACb,UAAU,EAAE,IAAI;IAChB,KAAK,EAAE,KAAK;IACZ,gBAAgB,EAAE,WAAW;IAC7B,SAAS,EAAE,oBAAoB,EAAE;IACjC,QAAQ,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE;IAC9F,cAAc,EAAE,EAAE;IAClB,kBAAkB,EAAE,CAAC;IACrB,aAAa,EAAE,GAAG;IAClB,iBAAiB,EAAE,EAAE;IACrB,mBAAmB,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC;IACrE,oBAAoB,EAAE,EAAE;IACxB,SAAS,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE;IACrI,WAAW,EAAE,EAAE;IACf,MAAM,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE;IACtF,YAAY,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;IACnG,iBAAiB,EAAE,IAAI;IACvB,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE;IACnC,MAAM,EAAE,EAAE;CACX,CAAC;AAEF,+EAA+E;AAE/E,SAAS,WAAW,CAAC,GAAY;IAC/B,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,gBAAgB,CAAC,IAAI,CAAC;IAC1D,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,MAAM,CAAC;QAAC,KAAK,MAAM,CAAC;QAAC,KAAK,MAAM,CAAC;QAAC,KAAK,MAAM,CAAC,CAAC,OAAO,GAAG,CAAC;QAC/D,OAAO,CAAC,CAAC,OAAO,gBAAgB,CAAC,IAAI,CAAC;IACxC,CAAC;AACH,CAAC;AAED,mGAAmG;AACnG,SAAS,UAAU,CAAC,MAA+B,EAAE,GAAG,IAAc;IACpE,MAAM,SAAS,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IACtE,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;IAC7C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,MAAM,CAAC;IACrE,CAAC;IACD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5C,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QACtD,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,UAAU,CAAC,MAA+B,EAAE,GAAG,IAAc;IACpE,MAAM,SAAS,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IACtE,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;IAC7C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,OAAO,MAAM,CAAC;IAChD,CAAC;IACD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5C,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,SAAS;QACpC,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,eAAe,CAAC,MAA+B,EAAE,GAAG,IAAc;IACzE,MAAM,SAAS,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IACtE,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;IAC7C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;YAAE,OAAO,MAAM,CAAC;IACtG,CAAC;IACD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;YAAE,SAAS;QACvF,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,QAAQ,CAAC,MAA+B,EAAE,GAAG,IAAc;IAClE,MAAM,SAAS,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IACtE,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;IAC7C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,OAAO,MAAM,KAAK,SAAS;YAAE,OAAO,MAAM,CAAC;IACjD,CAAC;IACD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5C,IAAI,OAAO,CAAC,KAAK,SAAS;YAAE,SAAS;QACrC,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,yGAAyG;AACzG,MAAM,UAAU,kBAAkB,CAAC,GAA4B;IAC7D,MAAM,SAAS,GAAG,WAAW,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ,IAAI,GAAG,CAAC,SAAS,KAAK,IAAI,CAAC;IACpG,IAAI,SAAS;QAAE,OAAO,KAAK,CAAC;IAC5B,MAAM,cAAc,GAAG;QACrB,eAAe,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,oBAAoB;QAC5E,gBAAgB,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,gBAAgB,EAAE,YAAY;QAC5F,gBAAgB;KACjB,CAAC;IACF,MAAM,SAAS,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IACtE,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;IAC7D,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrE,CAAC;AAED,mDAAmD;AACnD,MAAM,UAAU,mBAAmB,CAAC,MAA+B;IACjE,MAAM,aAAa,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,gBAAgB,CAAC,IAAI,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC;IAE1F,6DAA6D;IAC7D,MAAM,gBAAgB,GAAsB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;QACrF,CAAC,CAAC,aAAkC;QACpC,CAAC,CAAE,aAAmC,IAAI,WAAW,CAAC;IAExD,wCAAwC;IACxC,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,EAAE,mBAAmB,EAAE,eAAe,CAAC,IAAI,EAAE,CAAC;IACpF,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,EAAE,eAAe,EAAE,WAAW,CAAC,IAAI,2BAA2B,CAAC;IAErG,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,EAAE,gBAAgB,EAAE,eAAe,CAAC,IAAI,EAAE,CAAC;IAC9E,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,EAAE,YAAY,EAAE,WAAW,CAAC,IAAI,wBAAwB,CAAC;IAE5F,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,EAAE,oBAAoB,EAAE,eAAe,CAAC,IAAI,EAAE,CAAC;IAC9E,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,EAAE,gBAAgB,EAAE,WAAW,CAAC,IAAI,8BAA8B,CAAC;IAElG,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,EAAE,gBAAgB,EAAE,eAAe,CAAC,IAAI,EAAE,CAAC;IAC9E,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,EAAE,YAAY,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC;IAEtE,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,EAAE,eAAe,CAAC,IAAI,EAAE,CAAC;IAC5D,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,2BAA2B,CAAC;IAEjF,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,EAAE,eAAe,CAAC,IAAI,EAAE,CAAC;IAC3D,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC;IAEvD,MAAM,SAAS,GAAgB;QAC7B,SAAS,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,gBAAgB,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,oBAAoB,EAAE,MAAM,EAAE,iBAAiB,EAAE,yBAAyB,EAAE;QACtM,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,oBAAoB,EAAE,MAAM,EAAE,iBAAiB,EAAE,yBAAyB,EAAE;QAC1L,UAAU,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,gBAAgB,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,oBAAoB,EAAE,MAAM,EAAE,iBAAiB,EAAE,yBAAyB,EAAE;QAC1L,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,oBAAoB,EAAE,MAAM,EAAE,iBAAiB,EAAE,yBAAyB,EAAE;QAC1L,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,oBAAoB,EAAE,MAAM,EAAE,iBAAiB,EAAE,+BAA+B,EAAE;QAChM,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,gBAAgB,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,oBAAoB,EAAE,MAAM,EAAE,iBAAiB,EAAE,+BAA+B,EAAE;KAC7L,CAAC;IAEF,uDAAuD;IACvD,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,gBAAgB,CAAC,KAAK,CAAC;IAExE,wEAAwE;IACxE,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;IACrE,MAAM,kBAAkB,GAAG,UAAU,CAAC,MAAM,EAAE,sBAAsB,EAAE,sBAAsB,CAAC,CAAC;IAE9F,MAAM,EAAE,GAAG,SAAS,CAAC,gBAAgB,CAAE,CAAC;IACxC,EAAE,CAAC,KAAK,GAAG,SAAS,CAAC;IACrB,IAAI,aAAa;QAAE,EAAE,CAAC,UAAU,GAAG,aAAa,CAAC;IACjD,IAAI,kBAAkB,IAAI,kBAAkB,GAAG,CAAC;QAAE,EAAE,CAAC,oBAAoB,GAAG,kBAAkB,CAAC;IAE/F,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,EAAE,oBAAoB,EAAE,oBAAoB,CAAC,IAAI,EAAE,CAAC;IACzF,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,EAAE,kBAAkB,EAAE,kBAAkB,CAAC,IAAI,EAAE,CAAC;IACtF,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,EAAE,kBAAkB,EAAE,kBAAkB,CAAC,IAAI,EAAE,CAAC;IACtF,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,EAAE,uBAAuB,EAAE,uBAAuB,CAAC,IAAI,KAAK,CAAC;IACnG,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,EAAE,oBAAoB,EAAE,oBAAoB,CAAC,IAAI,gBAAgB,CAAC,QAAQ,CAAC,UAAU,CAAC;IAE1H,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC;IAElE,MAAM,eAAe,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,mBAAmB,EAAE,mBAAmB,CAAC,IAAI,IAAI,CAAiB,CAAC;IAC/G,MAAM,eAAe,GAAG,MAAM,CAAC,qBAAqB,IAAI,MAAM,CAAC,qBAAqB,IAAI,EAAE,CAAC;IAC3F,MAAM,cAAc,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,sBAAsB,EAAE,sBAAsB,CAAC,IAAI,IAAI,CAAiB,CAAC;IACpH,MAAM,WAAW,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,kBAAkB,EAAE,kBAAkB,CAAC,IAAI,IAAI,CAAiB,CAAC;IAEzG,MAAM,SAAS,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,cAAc,EAAE,cAAc,CAAC,IAAI,IAAI,CAAiB,CAAC;IAC/F,MAAM,WAAW,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,wBAAwB,EAAE,wBAAwB,CAAC,IAAI,EAAE,CAAC,CAAC;IACnG,MAAM,eAAe,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,6BAA6B,EAAE,6BAA6B,CAAC,IAAI,EAAE,CAAC,CAAC;IACjH,MAAM,iBAAiB,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,+BAA+B,EAAE,+BAA+B,CAAC,IAAI,EAAE,CAAC,CAAC;IAEvH,OAAO;QACL,KAAK,EAAE,SAAS;QAChB,MAAM,EAAG,UAAU,CAAC,MAAM,EAAE,QAAQ,CAA6B,IAAI,gBAAgB,CAAC,MAAM;QAC5F,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC;QAC9B,KAAK,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,gBAAgB,CAAC,KAAK,CAAW;QACxE,UAAU,EAAE,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC,IAAI,gBAAgB,CAAC,UAAU;QACzE,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,gBAAgB,CAAC,KAAK;QAC1D,gBAAgB,EAAE,gBAA0B;QAC5C,SAAS;QACT,QAAQ,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE;QACxI,cAAc,EAAE,CAAC,OAAO,UAAU,CAAC,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,KAAK,QAAQ,IAAI,UAAU,CAAC,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,CAAE,GAAG,CAAC,CAAC;YACzJ,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,CAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,cAAc;QAC7F,kBAAkB,EAAE,CAAC,OAAO,UAAU,CAAC,MAAM,EAAE,oBAAoB,EAAE,oBAAoB,CAAC,KAAK,QAAQ,IAAI,UAAU,CAAC,MAAM,EAAE,oBAAoB,EAAE,oBAAoB,CAAE,GAAG,CAAC,CAAC;YAC7K,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,oBAAoB,EAAE,oBAAoB,CAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,kBAAkB;QACzG,aAAa,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,eAAe,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC;YAC5E,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,eAAe,EAAE,eAAe,CAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,aAAa;QAC1F,iBAAiB,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,mBAAmB,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC;YACxF,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,mBAAmB,EAAE,mBAAmB,CAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,iBAAiB;QACtG,mBAAmB,EAAE,eAAe,CAAC,MAAM,EAAE,qBAAqB,EAAE,qBAAqB,CAAC,IAAI,gBAAgB,CAAC,mBAAmB;QAClI,oBAAoB,EAAE,UAAU,CAAC,MAAM,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,eAAe,CAAC,IAAI,EAAE;QAC/G,SAAS,EAAE;YACT,QAAQ,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,CAAC,IAAI,KAAK,CAAiB;YACjF,IAAI,EAAE,WAAW,CAAC,UAAU,CAAC,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,CAAC,IAAI,MAAM;YACrG,QAAQ,EAAE,UAAU,CAAC,MAAM,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,iBAAiB,CAAC,IAAI,gBAAgB,CAAC,SAAS,CAAC,QAAQ;YACzK,KAAK,EAAE,UAAU,CAAC,MAAM,EAAE,iBAAiB,EAAE,iBAAiB,CAAC,IAAI,gBAAgB,CAAC,SAAS,CAAC,KAAK;YACnG,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,kBAAkB,EAAE,kBAAkB,CAAC,IAAI,gBAAgB,CAAC,SAAS,CAAC,MAAM;YACvG,OAAO,EAAE,UAAU,CAAC,MAAM,EAAE,mBAAmB,EAAE,mBAAmB,CAAC,IAAI,gBAAgB,CAAC,SAAS,CAAC,OAAO;YAC3G,QAAQ,EAAE,UAAU,CAAC,MAAM,EAAE,oBAAoB,EAAE,oBAAoB,CAAC,IAAI,gBAAgB,CAAC,SAAS,CAAC,QAAQ;SAChH;QACD,WAAW,EAAE,UAAqC;QAClD,MAAM,EAAE;YACN,UAAU,EAAE,eAAe;YAC3B,cAAc,EAAE,eAAe;YAC/B,aAAa,EAAE,cAAc;YAC7B,SAAS,EAAE,WAAW;SACvB;QACD,YAAY,EAAE;YACZ,OAAO,EAAE,SAAS;YAClB,SAAS,EAAE,WAAW;YACtB,cAAc,EAAE,eAAe;YAC/B,gBAAgB,EAAE,iBAAiB;YACnC,KAAK,EAAE,UAAU,CAAC,MAAM,EAAE,oBAAoB,EAAE,oBAAoB,CAAC,IAAI,EAAE;SAC5E;QACD,iBAAiB,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,mBAAmB,EAAE,mBAAmB,CAAC,IAAI,IAAI,CAAiB;QACzG,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE;QACnC,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE;KACrD,CAAC;AACJ,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,eAAe,CAAC,CAAgB;IAC9C,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC;QACrB,gBAAgB,EAAE,WAAW,EAAE,eAAe;QAC9C,gBAAgB,EAAE,YAAY,EAAE,mBAAmB,EAAE,eAAe;QACpE,oBAAoB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,YAAY;QACtE,oBAAoB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,uBAAuB;QACrF,oBAAoB,EAAE,aAAa;QACnC,gBAAgB,EAAE,oBAAoB;QACtC,WAAW,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,kBAAkB;QACxE,mBAAmB,EAAE,oBAAoB;QACzC,YAAY,EAAE,sBAAsB;QACpC,mBAAmB,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,kBAAkB;QACxF,cAAc,EAAE,wBAAwB,EAAE,6BAA6B,EAAE,+BAA+B;QACxG,mBAAmB;KACpB,CAAC,CAAC;IACH,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,SAAS;QAC5B,IAAI,CAAC,KAAK,SAAS;YAAE,SAAS;QAC9B,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAChB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,+EAA+E;AAE/E,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,cAAc,CAAC,CAAC;AACnD,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,sBAAsB,CAAC,CAAC;AAE9D,+EAA+E;AAE/E,MAAM,OAAO,eAAe;IAClB,QAAQ,CAAgB;IAEhC;QACE,IAAI,CAAC,QAAQ,GAAG,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAC1C,CAAC;IAED,IAAI;QACF,IAAI,CAAC,QAAQ,GAAG,EAAE,GAAG,gBAAgB,EAAE,CAAC;QACxC,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;gBACjD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAmC,CAAC;gBACjE,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;oBACzC,IAAI,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;wBAC/B,IAAI,CAAC,QAAQ,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;wBAC5C,IAAI,CAAC,IAAI,EAAE,CAAC;oBACd,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,QAAQ,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;oBAC9C,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,oCAAoC;YACtC,CAAC;QACH,CAAC;QACD,uDAAuD;QACvD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAqC,CAAC,CAAC;QAC1F,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACnC,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,IAAI;QACF,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5B,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,CAAC;QACD,aAAa,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAC/F,CAAC;IAED,MAAM,CAAC,OAA+B;QACpC,IAAI,CAAC,QAAQ,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,OAAO,EAAE,CAAC;QACjD,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;;;;;OAMG;IACH,GAAG;QACD,OAAO,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxC,CAAC;IAED,gEAAgE;IAChE,cAAc;QACZ,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAqC,CAAC,CAAC;QACvF,OAAO,CAAC,EAAE,KAAK,IAAI,gBAAgB,CAAC,KAAK,CAAC;IAC5C,CAAC;IAED,8CAA8C;IAC9C,kBAAkB;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IACxC,CAAC;IAQD,cAAc,CAAC,QAAgB,EAAE,GAAW;QAC1C,MAAM,IAAI,GAAG,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QACxD,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAyB,CAAC,CAAC;QAC7D,IAAI,CAAC,CAAC;YAAE,OAAO,EAAE,CAAC;QAClB,OAAS,CAAwC,CAAC,GAAG,CAAqB,IAAI,EAAE,CAAC;IACnF,CAAC;IAED,sDAAsD;IACtD,cAAc,CAAC,QAAgB,EAAE,GAAW,EAAE,KAAc;QAC1D,MAAM,IAAI,GAAG,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAyB,CAAC,IAAI,EAAoB,CAAC;QAC5F,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG;YACxB,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS;YAC1B,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAoB;SACxD,CAAC;QACF,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,4DAA4D;IAC5D,kBAAkB,CAAC,IAAY;QAC7B,IAAI,CAAC,QAAQ,CAAC,gBAAgB,GAAG,IAAI,CAAC;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAyB,CAAC,CAAC;QAChE,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACnC,CAAC;QACD,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,mDAAmD;IACnD,YAAY;QACV,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAqC,CAAC,CAAC;QACvF,OAAO,CAAC,EAAE,UAAU,IAAI,EAAE,CAAC;IAC7B,CAAC;IAED,qDAAqD;IACrD,qBAAqB;QACnB,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAqC,CAAC,CAAC;QACvF,OAAO,CAAC,EAAE,oBAAoB,IAAI,MAAM,CAAC;IAC3C,CAAC;CACF;AAED,iGAAiG;AACjG,MAAM,UAAU,mBAAmB,CAAC,MAA+B;IACjE,MAAM,SAAS,GAAG,CAAC,IAAc,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IACxE,MAAM,SAAS,GAAG,CAAC,IAAc,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;IAClE,MAAM,OAAO,GAAG,CAAC,IAAc,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;IAE9D,MAAM,SAAS,GAAgB,EAAE,GAAG,gBAAgB,CAAC,SAAS,EAAE,CAAC;IACjE,MAAM,QAAQ,GAA0B,CAAC,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAE3G,MAAM,YAAY,GAAG,MAAM,CAAC,SAAoF,CAAC;IACjH,IAAI,YAAY,EAAE,CAAC;QACjB,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;YAC/B,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;gBACnC,SAAS,CAAC,IAAI,CAAC,GAAG;oBAChB,OAAO,EAAE,SAAS,CAAC,CAAC,aAAa,IAAI,UAAU,CAAC,CAAC,IAAK,GAAG,CAAC,OAAkB,IAAI,EAAE;oBAClF,GAAG,EAAE,SAAS,CAAC,CAAC,aAAa,IAAI,MAAM,CAAC,CAAC,IAAK,GAAG,CAAC,GAAc,IAAI,EAAE;oBACtE,KAAK,EAAE,SAAS,CAAC,CAAC,aAAa,IAAI,QAAQ,CAAC,CAAC,IAAK,GAAG,CAAC,KAAgB,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAc,CAAE,CAAC,KAAK,CAAC;oBAC7H,UAAU,EAAG,GAAG,CAAC,UAAqB,IAAI,EAAE;oBAC5C,oBAAoB,EAAE,OAAO,GAAG,CAAC,oBAAoB,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAc,CAAE,CAAC,oBAAoB,CAAC;oBAClK,iBAAiB,EAAE,OAAO,GAAG,CAAC,iBAAiB,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAc,CAAE,CAAC,iBAAiB;oBACpJ,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS;iBACnF,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,CAAC,QAA6E,CAAC;IACzG,MAAM,cAAc,GAAmB;QACrC,SAAS,EAAE,SAAS,CAAC,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,CAAC,IAAK,WAAW,EAAE,SAAoB,IAAI,EAAE;QAC9G,OAAO,EAAE,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAK,WAAW,EAAE,OAAkB,IAAI,EAAE;QAClF,OAAO,EAAE,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAK,WAAW,EAAE,OAAkB,IAAI,EAAE;QAClF,YAAY,EAAE,OAAO,CAAC,CAAC,uBAAuB,EAAE,uBAAuB,CAAC,CAAC,IAAK,WAAW,EAAE,YAAwB,IAAI,KAAK;QAC5H,UAAU,EAAE,SAAS,CAAC,CAAC,qBAAqB,CAAC,CAAC,IAAK,WAAW,EAAE,UAAqB,IAAI,gBAAgB,CAAC,QAAQ,CAAC,UAAU;KAC9H,CAAC;IAEF,MAAM,YAAY,GAAG,MAAM,CAAC,SAA2D,CAAC;IACxF,MAAM,eAAe,GAAoB;QACvC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,oBAAoB,EAAE,WAAW,CAAC,CAAC,IAAK,YAAY,EAAE,QAAmB,IAAI,KAAK,CAAiB;QACzH,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,YAAY,EAAE,IAAI,CAAC,IAAI,MAAM;QAChF,QAAQ,EAAE,SAAS,CAAC,CAAC,oBAAoB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,kBAAkB,CAAC,CAAC,IAAK,YAAY,EAAE,QAAmB,IAAI,gBAAgB,CAAC,SAAS,CAAC,QAAQ;QACrL,KAAK,EAAE,SAAS,CAAC,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC,IAAK,YAAY,EAAE,KAAgB,IAAI,gBAAgB,CAAC,SAAS,CAAC,KAAK;QAC/H,MAAM,EAAE,SAAS,CAAC,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC,IAAK,YAAY,EAAE,MAAiB,IAAI,gBAAgB,CAAC,SAAS,CAAC,MAAM;QACpI,OAAO,EAAE,SAAS,CAAC,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,CAAC,IAAK,YAAY,EAAE,OAAkB,IAAI,gBAAgB,CAAC,SAAS,CAAC,OAAO;QACzI,QAAQ,EAAE,SAAS,CAAC,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,CAAC,IAAK,YAAY,EAAE,QAAmB,IAAI,gBAAgB,CAAC,SAAS,CAAC,QAAQ;KAC/I,CAAC;IAEF,MAAM,SAAS,GAAG,MAAM,CAAC,MAAyD,CAAC;IACnF,MAAM,YAAY,GAAiB;QACjC,UAAU,EAAE,CAAC,SAAS,CAAC,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,CAAC,IAAK,SAAS,EAAE,UAAqB,IAAI,IAAI,CAAiB;QAChI,cAAc,EAAE,SAAS,EAAE,cAAc,IAAI,SAAS,CAAC,CAAC,uBAAuB,EAAE,uBAAuB,CAAC,CAAC,IAAI,EAAE;QAChH,aAAa,EAAE,CAAC,SAAS,CAAC,CAAC,sBAAsB,EAAE,sBAAsB,CAAC,CAAC,IAAK,SAAS,EAAE,aAAwB,IAAI,IAAI,CAAiB;QAC5I,SAAS,EAAE,CAAC,SAAS,CAAC,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC,IAAK,SAAS,EAAE,SAAoB,IAAI,IAAI,CAAiB;KAC7H,CAAC;IAEF,MAAM,WAAW,GAAG,MAAM,CAAC,YAAuE,CAAC;IACnG,MAAM,iBAAiB,GAAsB;QAC3C,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,sBAAsB,EAAE,cAAc,CAAC,CAAC,IAAK,WAAW,EAAE,OAAkB,IAAI,IAAI,CAAiB;QAC1H,SAAS,EAAE,SAAS,CAAC,CAAC,wBAAwB,EAAE,wBAAwB,CAAC,CAAC,IAAK,WAAW,EAAE,SAAoB,IAAI,gBAAgB,CAAC,YAAY,CAAC,SAAS;QAC3J,cAAc,EAAE,SAAS,CAAC,CAAC,6BAA6B,EAAE,6BAA6B,CAAC,CAAC,IAAK,WAAW,EAAE,cAAyB,IAAI,gBAAgB,CAAC,YAAY,CAAC,cAAc;QACpL,gBAAgB,EAAE,SAAS,CAAC,CAAC,+BAA+B,EAAE,+BAA+B,CAAC,CAAC,IAAK,WAAW,EAAE,gBAA2B,IAAI,gBAAgB,CAAC,YAAY,CAAC,gBAAgB;QAC9L,KAAK,EAAE,SAAS,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAK,WAAW,EAAE,KAAgB,IAAI,EAAE;KACjF,CAAC;IAEF,OAAO;QACL,KAAK,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,gBAAgB,CAAC,KAAK;QACrD,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,gBAAgB,CAAC,MAAM,CAA4B;QACrF,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC;QAC9B,KAAK,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,gBAAgB,CAAC,KAAK;QACrD,UAAU,EAAE,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,gBAAgB,CAAC,UAAU;QAClE,KAAK,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,gBAAgB,CAAC,KAAK;QACnD,gBAAgB,EAAE,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,gBAAgB,CAAC,gBAAgB;QACtF,SAAS;QACT,QAAQ,EAAE,cAAc;QACxB,cAAc,EAAE,CAAC,OAAO,SAAS,CAAC,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC,KAAK,QAAQ,IAAI,SAAS,CAAC,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAE,GAAG,CAAC,CAAC;YAC3I,CAAC,CAAC,SAAS,CAAC,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,cAAc;QACtF,kBAAkB,EAAE,CAAC,OAAO,SAAS,CAAC,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,CAAC,KAAK,QAAQ,IAAI,SAAS,CAAC,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,CAAE,GAAG,CAAC,CAAC;YAC/J,CAAC,CAAC,SAAS,CAAC,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,CAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,kBAAkB;QAClG,aAAa,EAAE,CAAC,SAAS,CAAC,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC;YACrE,CAAC,CAAC,SAAS,CAAC,CAAC,eAAe,EAAE,eAAe,CAAC,CAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,aAAa;QACnF,iBAAiB,EAAE,CAAC,SAAS,CAAC,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC;YACjF,CAAC,CAAC,SAAS,CAAC,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,CAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,iBAAiB;QAC/F,mBAAmB,EAAE,eAAe,CAAC,MAAM,EAAE,qBAAqB,EAAE,qBAAqB,CAAC,IAAI,gBAAgB,CAAC,mBAAmB;QAClI,oBAAoB,EAAE,SAAS,CAAC,CAAC,sBAAsB,EAAE,sBAAsB,EAAE,eAAe,CAAC,CAAC;QAClG,SAAS,EAAE,eAAe;QAC1B,WAAW,EAAE,CAAC,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,CAA4B,IAAI,EAAE;QACxF,MAAM,EAAE,YAAY;QACpB,YAAY,EAAE,iBAAiB;QAC/B,iBAAiB,EAAE,CAAC,SAAS,CAAC,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,CAAC,IAAI,IAAI,CAAiB;QAClG,IAAI,EAAE,CAAC,GAAG,EAAE;YACV,MAAM,OAAO,GAAG,MAAM,CAAC,IAA2C,CAAC;YACnE,OAAO;gBACL,IAAI,EAAG,OAAO,EAAE,IAAe,IAAI,EAAE;gBACrC,QAAQ,EAAE,CAAE,OAAO,EAAE,QAAmB,IAAI,KAAK,CAAiB;aACnE,CAAC;QACJ,CAAC,CAAC,EAAE;QACJ,MAAM,EAAE,SAAS,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,IAAI,EAAE;QAC7C,YAAY,EAAE,SAAS,CAAC,CAAC,cAAc,CAAC,CAAC;KAC1C,CAAC;AACJ,CAAC"}
@@ -50,9 +50,17 @@ export declare class SubagentExecutor {
50
50
  private maxConcurrentOption?;
51
51
  private agents;
52
52
  private running;
53
+ /** Live TurnLoop per running agent, so cancel() can actually abort the child. */
54
+ private loops;
53
55
  private maxConcurrent;
54
56
  constructor(eventBus: EventBus, sessionStore: SessionStore, maxConcurrentOption?: number | undefined);
55
57
  spawn(config: SubagentConfig): Promise<SubagentHandle>;
58
+ /**
59
+ * Await a spawned subagent's completion and return its final handle.
60
+ * Resolves immediately if the agent has already finished. Returns undefined
61
+ * for an unknown agentId.
62
+ */
63
+ waitFor(agentId: string): Promise<SubagentHandle | undefined>;
56
64
  private runSubagent;
57
65
  cancel(agentId: string): boolean;
58
66
  list(statusFilter?: string): SubagentHandle[];
@@ -1 +1 @@
1
- {"version":3,"file":"subagent-executor.d.ts","sourceRoot":"","sources":["../../src/subagent-executor.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,KAAK,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAChG,OAAO,EAAE,QAAQ,EAAc,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAoB,MAAM,oBAAoB,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,cAAc,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,aAAa,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6EAA6E;IAC7E,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,qEAAqE;IACrE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kDAAkD;IAClD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6FAA6F;IAC7F,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,UAAU,GAAG,SAAS,GAAG,cAAc,GAAG,MAAM,GAAG,OAAO,GAAG,WAAW,CAAC;IACjF,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4DAA4D;IAC5D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qEAAqE;IACrE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,qBAAa,gBAAgB;IAMzB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,mBAAmB,CAAC;IAP9B,OAAO,CAAC,MAAM,CAA0C;IACxD,OAAO,CAAC,OAAO,CAAyC;IACxD,OAAO,CAAC,aAAa,CAAS;gBAGpB,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,YAAY,EAC1B,mBAAmB,CAAC,EAAE,MAAM,YAAA;IAKhC,KAAK,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;YAqE9C,WAAW;IAmHzB,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IA+BhC,IAAI,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,cAAc,EAAE;IAM7C,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAIlD;;;OAGG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO;IAgBtD,QAAQ,IAAI,IAAI;IAQhB,OAAO,CAAC,eAAe;CAGxB"}
1
+ {"version":3,"file":"subagent-executor.d.ts","sourceRoot":"","sources":["../../src/subagent-executor.ts"],"names":[],"mappings":"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"}