@amaster.ai/pi-task-scheduler 0.1.2-beta.6 → 0.1.2-beta.60
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.
- package/README.md +10 -1
- package/dist/extension.d.ts.map +1 -1
- package/dist/extension.js +136 -42
- package/dist/extension.js.map +1 -1
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +81 -24
- package/dist/index.js.map +1 -1
- package/dist/stores.d.ts +6 -4
- package/dist/stores.d.ts.map +1 -1
- package/dist/stores.js +39 -22
- package/dist/stores.js.map +1 -1
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +45 -31
- package/dist/tools.js.map +1 -1
- package/package.json +6 -4
- package/preview.png +0 -0
package/README.md
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# @amaster.ai/pi-task-scheduler
|
|
2
2
|
|
|
3
|
+

|
|
4
|
+
|
|
3
5
|
Scheduled task domain types, execution scheduler, and pi agent extension.
|
|
4
6
|
|
|
5
7
|
The package owns schedule parsing, task lifecycle state, process-local timers,
|
|
@@ -74,13 +76,20 @@ external infrastructure needed.
|
|
|
74
76
|
pi.extensions → session_start → creates file-based scheduler → registers tools + commands
|
|
75
77
|
```
|
|
76
78
|
|
|
77
|
-
- **Storage**:
|
|
79
|
+
- **Storage**: per-session `tasks-<session-hash>.json` and `scheduler-<session-hash>.lock`
|
|
80
|
+
files under `<agentDir>/data` (base directory configurable via `dataDir`)
|
|
81
|
+
- **Upgrade**: matching tasks from the legacy `tasks.json` are copied on first use; the
|
|
82
|
+
legacy file is retained
|
|
78
83
|
- **Lifecycle**: scheduler starts on `session_start`, stops on `session_shutdown`
|
|
79
84
|
- **Commands**: `/pi-scheduler-status`, `/pi-scheduler-list`, `/pi-scheduler-run-now`
|
|
80
85
|
- **LLM Tools**: `scheduler_create`, `scheduler_list`, `scheduler_get`, `scheduler_update`, `scheduler_delete`, `scheduler_run_now`
|
|
81
86
|
|
|
82
87
|
Configuration via settings key `pi-scheduler`:
|
|
83
88
|
|
|
89
|
+
Project `.pi/settings.json` values are loaded only after project trust is
|
|
90
|
+
accepted and are not environment-interpolated. User and agent settings retain
|
|
91
|
+
environment interpolation.
|
|
92
|
+
|
|
84
93
|
```json
|
|
85
94
|
{
|
|
86
95
|
"pi-scheduler": {
|
package/dist/extension.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extension.d.ts","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"extension.d.ts","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAIL,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,aAAa,EACnB,MAAM,YAAY,CAAC;AAOpB,MAAM,MAAM,0BAA0B,GAAG;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,SAAS,CAAC,EAAE,aAAa,CAAC;CAC3B,CAAC;AAmCF,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAC5C,EAAE,EAAE,YAAY,EAChB,cAAc,CAAC,EAAE,0BAA0B,GAC1C,IAAI,CAiLN"}
|
package/dist/extension.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import { createHash } from 'node:crypto';
|
|
2
|
+
import { existsSync } from 'node:fs';
|
|
1
3
|
import path from 'node:path';
|
|
2
|
-
import { loadPiSettings,
|
|
4
|
+
import { isProjectTrusted, loadPiSettings, resolveHome } from '@amaster.ai/pi-shared/settings';
|
|
3
5
|
import { PersistentTaskScheduler, } from './index.js';
|
|
4
6
|
import { FileSchedulerLock, JsonScheduledTaskStore } from './stores.js';
|
|
5
7
|
import { createSchedulerTools } from './tools.js';
|
|
@@ -7,7 +9,7 @@ const SETTINGS_KEY = 'pi-scheduler';
|
|
|
7
9
|
const STATUS_KEY = 'pi-scheduler';
|
|
8
10
|
function resolveConfig(raw) {
|
|
9
11
|
const resolved = {
|
|
10
|
-
dataDir: raw?.dataDir?.trim() || path.join(
|
|
12
|
+
dataDir: raw?.dataDir?.trim() || path.join(resolveHome(), 'data'),
|
|
11
13
|
};
|
|
12
14
|
if (raw?.store)
|
|
13
15
|
resolved.store = raw.store;
|
|
@@ -17,11 +19,11 @@ function resolveConfig(raw) {
|
|
|
17
19
|
resolved.scheduler = raw.scheduler;
|
|
18
20
|
return resolved;
|
|
19
21
|
}
|
|
20
|
-
function loadSettings(cwd) {
|
|
22
|
+
function loadSettings(cwd, projectTrusted = false) {
|
|
21
23
|
try {
|
|
22
24
|
const config = loadPiSettings(SETTINGS_KEY, {
|
|
23
25
|
cwd,
|
|
24
|
-
|
|
26
|
+
projectTrusted,
|
|
25
27
|
});
|
|
26
28
|
return Object.keys(config).length > 0 ? config : undefined;
|
|
27
29
|
}
|
|
@@ -29,11 +31,14 @@ function loadSettings(cwd) {
|
|
|
29
31
|
return undefined;
|
|
30
32
|
}
|
|
31
33
|
}
|
|
34
|
+
function sessionStorageKey(sessionId) {
|
|
35
|
+
return createHash('sha256').update(sessionId).digest('hex');
|
|
36
|
+
}
|
|
32
37
|
export default function taskSchedulerExtension(pi, injectedConfig) {
|
|
33
38
|
let scheduler;
|
|
34
39
|
let ownsScheduler = false;
|
|
35
40
|
pi.on('session_start', async (_event, ctx) => {
|
|
36
|
-
const fileConfig = loadSettings(ctx.cwd);
|
|
41
|
+
const fileConfig = loadSettings(ctx.cwd, isProjectTrusted(ctx));
|
|
37
42
|
const config = resolveConfig({ ...fileConfig, ...injectedConfig });
|
|
38
43
|
try {
|
|
39
44
|
if (config.scheduler) {
|
|
@@ -41,12 +46,33 @@ export default function taskSchedulerExtension(pi, injectedConfig) {
|
|
|
41
46
|
ownsScheduler = false;
|
|
42
47
|
}
|
|
43
48
|
else {
|
|
44
|
-
const
|
|
45
|
-
const
|
|
49
|
+
const sessionId = ctx.sessionManager.getSessionId();
|
|
50
|
+
const storageKey = sessionStorageKey(sessionId);
|
|
51
|
+
const sessionStorePath = path.join(config.dataDir, `tasks-${storageKey}.json`);
|
|
52
|
+
const store = config.store ?? new JsonScheduledTaskStore(sessionStorePath);
|
|
53
|
+
if (!config.store && !existsSync(sessionStorePath)) {
|
|
54
|
+
const legacyStorePath = path.join(config.dataDir, 'tasks.json');
|
|
55
|
+
if (existsSync(legacyStorePath)) {
|
|
56
|
+
const legacyStore = new JsonScheduledTaskStore(legacyStorePath);
|
|
57
|
+
for (const task of await legacyStore.list({ sessionId })) {
|
|
58
|
+
await store.create(task);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
const lock = config.lock ??
|
|
63
|
+
new FileSchedulerLock(path.join(config.dataDir, `scheduler-${storageKey}.lock`));
|
|
46
64
|
const runner = async (task) => {
|
|
65
|
+
if (ctx.sessionManager.getSessionId() !== task.sessionId) {
|
|
66
|
+
throw new Error('Scheduled task belongs to a different session.');
|
|
67
|
+
}
|
|
47
68
|
pi.sendUserMessage(task.prompt);
|
|
48
69
|
};
|
|
49
|
-
const instance = new PersistentTaskScheduler({
|
|
70
|
+
const instance = new PersistentTaskScheduler({
|
|
71
|
+
store,
|
|
72
|
+
lock,
|
|
73
|
+
runner,
|
|
74
|
+
scope: { sessionId },
|
|
75
|
+
});
|
|
50
76
|
await instance.start();
|
|
51
77
|
scheduler = instance;
|
|
52
78
|
ownsScheduler = true;
|
|
@@ -69,46 +95,97 @@ export default function taskSchedulerExtension(pi, injectedConfig) {
|
|
|
69
95
|
scheduler = undefined;
|
|
70
96
|
ownsScheduler = false;
|
|
71
97
|
});
|
|
72
|
-
pi.registerCommand('
|
|
73
|
-
description: '
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
}
|
|
79
|
-
const status = await scheduler.status();
|
|
80
|
-
ctx.ui.notify(formatStatus(status), 'info');
|
|
98
|
+
pi.registerCommand('cron', {
|
|
99
|
+
description: 'Manage scheduled tasks. Subcommands: status, list, get, run, enable, disable, delete.',
|
|
100
|
+
getArgumentCompletions: (prefix) => {
|
|
101
|
+
const subcommands = ['status', 'list', 'get', 'run', 'enable', 'disable', 'delete'];
|
|
102
|
+
const matches = subcommands.filter((s) => s.startsWith(prefix.trim().toLowerCase()));
|
|
103
|
+
return matches.map((s) => ({ label: s, value: s }));
|
|
81
104
|
},
|
|
82
|
-
});
|
|
83
|
-
pi.registerCommand('pi-scheduler-list', {
|
|
84
|
-
description: 'List scheduled tasks.',
|
|
85
|
-
handler: async (_args, ctx) => {
|
|
86
|
-
if (!scheduler) {
|
|
87
|
-
ctx.ui.notify('Task scheduler is not running.', 'warning');
|
|
88
|
-
return;
|
|
89
|
-
}
|
|
90
|
-
const tasks = await scheduler.list();
|
|
91
|
-
ctx.ui.notify(formatTaskList(tasks), 'info');
|
|
92
|
-
},
|
|
93
|
-
});
|
|
94
|
-
pi.registerCommand('pi-scheduler-run-now', {
|
|
95
|
-
description: 'Run a scheduled task immediately by ID.',
|
|
96
105
|
handler: async (args, ctx) => {
|
|
97
|
-
const taskId = args.trim();
|
|
98
|
-
if (!taskId) {
|
|
99
|
-
ctx.ui.notify('Usage: /pi-scheduler-run-now <task-id>', 'warning');
|
|
100
|
-
return;
|
|
101
|
-
}
|
|
102
106
|
if (!scheduler) {
|
|
103
107
|
ctx.ui.notify('Task scheduler is not running.', 'warning');
|
|
104
108
|
return;
|
|
105
109
|
}
|
|
106
|
-
const
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
+
const parts = args.trim().split(/\s+/).filter(Boolean);
|
|
111
|
+
const subcommand = parts[0]?.toLowerCase() ?? 'status';
|
|
112
|
+
const rest = parts.slice(1).join(' ').trim();
|
|
113
|
+
const scope = { sessionId: ctx.sessionManager.getSessionId() };
|
|
114
|
+
switch (subcommand) {
|
|
115
|
+
case 'status': {
|
|
116
|
+
const status = await scheduler.status();
|
|
117
|
+
ctx.ui.notify(formatStatus(status), 'info');
|
|
118
|
+
break;
|
|
119
|
+
}
|
|
120
|
+
case 'list': {
|
|
121
|
+
const tasks = await scheduler.list(scope);
|
|
122
|
+
ctx.ui.notify(formatTaskList(tasks), 'info');
|
|
123
|
+
break;
|
|
124
|
+
}
|
|
125
|
+
case 'get': {
|
|
126
|
+
if (!rest) {
|
|
127
|
+
ctx.ui.notify('Usage: /cron get <task-id>', 'warning');
|
|
128
|
+
break;
|
|
129
|
+
}
|
|
130
|
+
const task = await scheduler.get(rest, scope);
|
|
131
|
+
if (!task) {
|
|
132
|
+
ctx.ui.notify(`Task not found: ${rest}`, 'error');
|
|
133
|
+
break;
|
|
134
|
+
}
|
|
135
|
+
ctx.ui.notify(formatTaskDetail(task), 'info');
|
|
136
|
+
break;
|
|
137
|
+
}
|
|
138
|
+
case 'run': {
|
|
139
|
+
if (!rest) {
|
|
140
|
+
ctx.ui.notify('Usage: /cron run <task-id>', 'warning');
|
|
141
|
+
break;
|
|
142
|
+
}
|
|
143
|
+
const task = await scheduler.runNow(rest, scope);
|
|
144
|
+
if (!task) {
|
|
145
|
+
ctx.ui.notify(`Task not found: ${rest}`, 'error');
|
|
146
|
+
break;
|
|
147
|
+
}
|
|
148
|
+
ctx.ui.notify(`Triggered: ${task.name ?? task.id}`, 'info');
|
|
149
|
+
break;
|
|
150
|
+
}
|
|
151
|
+
case 'enable': {
|
|
152
|
+
if (!rest) {
|
|
153
|
+
ctx.ui.notify('Usage: /cron enable <task-id>', 'warning');
|
|
154
|
+
break;
|
|
155
|
+
}
|
|
156
|
+
const task = await scheduler.update(rest, { enabled: true }, scope);
|
|
157
|
+
if (!task) {
|
|
158
|
+
ctx.ui.notify(`Task not found: ${rest}`, 'error');
|
|
159
|
+
break;
|
|
160
|
+
}
|
|
161
|
+
ctx.ui.notify(`Enabled: ${task.name ?? task.id}`, 'info');
|
|
162
|
+
break;
|
|
163
|
+
}
|
|
164
|
+
case 'disable': {
|
|
165
|
+
if (!rest) {
|
|
166
|
+
ctx.ui.notify('Usage: /cron disable <task-id>', 'warning');
|
|
167
|
+
break;
|
|
168
|
+
}
|
|
169
|
+
const task = await scheduler.update(rest, { enabled: false }, scope);
|
|
170
|
+
if (!task) {
|
|
171
|
+
ctx.ui.notify(`Task not found: ${rest}`, 'error');
|
|
172
|
+
break;
|
|
173
|
+
}
|
|
174
|
+
ctx.ui.notify(`Disabled: ${task.name ?? task.id}`, 'info');
|
|
175
|
+
break;
|
|
176
|
+
}
|
|
177
|
+
case 'delete': {
|
|
178
|
+
if (!rest) {
|
|
179
|
+
ctx.ui.notify('Usage: /cron delete <task-id>', 'warning');
|
|
180
|
+
break;
|
|
181
|
+
}
|
|
182
|
+
const deleted = await scheduler.delete(rest, scope);
|
|
183
|
+
ctx.ui.notify(deleted ? `Deleted: ${rest}` : `Task not found: ${rest}`, deleted ? 'info' : 'error');
|
|
184
|
+
break;
|
|
185
|
+
}
|
|
186
|
+
default:
|
|
187
|
+
ctx.ui.notify('Unknown subcommand. Available: status, list, get, run, enable, disable, delete.', 'warning');
|
|
110
188
|
}
|
|
111
|
-
ctx.ui.notify(`Triggered: ${task.name ?? task.id}`, 'info');
|
|
112
189
|
},
|
|
113
190
|
});
|
|
114
191
|
}
|
|
@@ -133,8 +210,25 @@ function formatTaskList(tasks) {
|
|
|
133
210
|
const name = t.name ?? t.id.slice(0, 8);
|
|
134
211
|
const status = t.enabled ? (t.lastStatus ?? 'pending') : 'disabled';
|
|
135
212
|
const next = t.nextRunAt ? ` next: ${t.nextRunAt}` : '';
|
|
136
|
-
return `${name} [${t.type}] ${status}${next}`;
|
|
213
|
+
return `${t.id.slice(0, 8)} ${name} [${t.type}] ${status}${next}`;
|
|
137
214
|
})
|
|
138
215
|
.join('\n');
|
|
139
216
|
}
|
|
217
|
+
function formatTaskDetail(task) {
|
|
218
|
+
const lines = [
|
|
219
|
+
`ID: ${task.id}`,
|
|
220
|
+
`Name: ${task.name ?? '(unnamed)'}`,
|
|
221
|
+
`Type: ${task.type}`,
|
|
222
|
+
`Schedule: ${task.schedule}`,
|
|
223
|
+
`Enabled: ${task.enabled}`,
|
|
224
|
+
`Status: ${task.lastStatus ?? 'pending'}`,
|
|
225
|
+
`Runs: ${task.runCount}`,
|
|
226
|
+
];
|
|
227
|
+
if (task.nextRunAt)
|
|
228
|
+
lines.push(`Next run: ${task.nextRunAt}`);
|
|
229
|
+
if (task.description)
|
|
230
|
+
lines.push(`Description: ${task.description}`);
|
|
231
|
+
lines.push(`Prompt: ${task.prompt}`);
|
|
232
|
+
return lines.join('\n');
|
|
233
|
+
}
|
|
140
234
|
//# sourceMappingURL=extension.js.map
|
package/dist/extension.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extension.js","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"extension.js","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -40,6 +40,7 @@ export type ScheduledTask = {
|
|
|
40
40
|
lastRunAt?: string;
|
|
41
41
|
nextRunAt?: string;
|
|
42
42
|
runCount: number;
|
|
43
|
+
timeoutMs?: number;
|
|
43
44
|
lastStatus?: ScheduledTaskStatus;
|
|
44
45
|
lastError?: string;
|
|
45
46
|
runHistory?: ScheduledTaskRunHistoryEntry[];
|
|
@@ -66,6 +67,7 @@ export type TaskSchedulerStatus = {
|
|
|
66
67
|
export type TaskSchedulerScope = {
|
|
67
68
|
tenantId?: string;
|
|
68
69
|
userId?: string;
|
|
70
|
+
sessionId?: string;
|
|
69
71
|
};
|
|
70
72
|
export interface TaskScheduler {
|
|
71
73
|
list(scope?: TaskSchedulerScope): Promise<ScheduledTask[]>;
|
|
@@ -118,6 +120,7 @@ export type PersistentTaskSchedulerOptions = {
|
|
|
118
120
|
store: ScheduledTaskStore;
|
|
119
121
|
lock: SchedulerLock;
|
|
120
122
|
runner: ScheduledTaskRunner;
|
|
123
|
+
scope?: TaskSchedulerScope;
|
|
121
124
|
hooks?: TaskSchedulerHooks;
|
|
122
125
|
lockHeartbeatMs?: number;
|
|
123
126
|
};
|
|
@@ -128,6 +131,7 @@ export declare class PersistentTaskScheduler implements TaskScheduler {
|
|
|
128
131
|
private readonly runningTaskIds;
|
|
129
132
|
private active;
|
|
130
133
|
private lockHeartbeat;
|
|
134
|
+
private readonly scope;
|
|
131
135
|
constructor(options: PersistentTaskSchedulerOptions);
|
|
132
136
|
list(scope?: TaskSchedulerScope): Promise<ScheduledTask[]>;
|
|
133
137
|
get(taskId: string, scope?: TaskSchedulerScope): Promise<ScheduledTask | undefined>;
|
|
@@ -148,7 +152,9 @@ export declare class PersistentTaskScheduler implements TaskScheduler {
|
|
|
148
152
|
private emitSchedulerStarted;
|
|
149
153
|
private emitSchedulerStopped;
|
|
150
154
|
private emitHook;
|
|
155
|
+
private applyScope;
|
|
151
156
|
}
|
|
157
|
+
export declare function matchesScheduledTaskScope(task: Pick<ScheduledTask, 'tenantId' | 'userId' | 'sessionId'>, scope: TaskSchedulerScope): boolean;
|
|
152
158
|
export declare function resolveScheduledTaskDefinition(input: {
|
|
153
159
|
type?: ScheduledTaskType;
|
|
154
160
|
schedule?: string;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -7,17 +7,19 @@ export class PersistentTaskScheduler {
|
|
|
7
7
|
runningTaskIds = new Set();
|
|
8
8
|
active = false;
|
|
9
9
|
lockHeartbeat;
|
|
10
|
+
scope;
|
|
10
11
|
constructor(options) {
|
|
11
12
|
this.options = options;
|
|
13
|
+
this.scope = { ...options.scope };
|
|
12
14
|
}
|
|
13
15
|
async list(scope = {}) {
|
|
14
|
-
return await this.options.store.list(scope);
|
|
16
|
+
return await this.options.store.list(this.applyScope(scope));
|
|
15
17
|
}
|
|
16
18
|
async get(taskId, scope = {}) {
|
|
17
|
-
return await this.options.store.get(taskId, scope);
|
|
19
|
+
return await this.options.store.get(taskId, this.applyScope(scope));
|
|
18
20
|
}
|
|
19
21
|
async status() {
|
|
20
|
-
const tasks = await this.options.store.list();
|
|
22
|
+
const tasks = await this.options.store.list(this.scope);
|
|
21
23
|
const holderPid = await this.options.lock.holderPid();
|
|
22
24
|
const lock = {
|
|
23
25
|
path: this.options.lock.path,
|
|
@@ -40,6 +42,9 @@ export class PersistentTaskScheduler {
|
|
|
40
42
|
return this.active;
|
|
41
43
|
}
|
|
42
44
|
async create(input) {
|
|
45
|
+
if (!matchesScheduledTaskScope(input, this.scope)) {
|
|
46
|
+
throw new Error('Scheduled task is outside this scheduler scope.');
|
|
47
|
+
}
|
|
43
48
|
const now = new Date().toISOString();
|
|
44
49
|
const task = withNextRun({
|
|
45
50
|
id: randomUUID(),
|
|
@@ -56,7 +61,8 @@ export class PersistentTaskScheduler {
|
|
|
56
61
|
return created;
|
|
57
62
|
}
|
|
58
63
|
async update(taskId, input, scope = {}) {
|
|
59
|
-
const
|
|
64
|
+
const effectiveScope = this.applyScope(scope);
|
|
65
|
+
const existing = await this.options.store.get(taskId, effectiveScope);
|
|
60
66
|
if (!existing) {
|
|
61
67
|
return undefined;
|
|
62
68
|
}
|
|
@@ -93,18 +99,21 @@ export class PersistentTaskScheduler {
|
|
|
93
99
|
if (input.enabled !== false && existing.lastStatus === 'error' && existing.lastError) {
|
|
94
100
|
delete task.lastError;
|
|
95
101
|
}
|
|
96
|
-
const updated = await this.options.store.update(taskId, task,
|
|
102
|
+
const updated = await this.options.store.update(taskId, task, effectiveScope);
|
|
97
103
|
if (this.active && updated) {
|
|
98
104
|
this.schedule(updated);
|
|
99
105
|
}
|
|
100
106
|
return updated;
|
|
101
107
|
}
|
|
102
108
|
async delete(taskId, scope = {}) {
|
|
103
|
-
this.
|
|
104
|
-
|
|
109
|
+
const deleted = await this.options.store.delete(taskId, this.applyScope(scope));
|
|
110
|
+
if (deleted) {
|
|
111
|
+
this.unschedule(taskId);
|
|
112
|
+
}
|
|
113
|
+
return deleted;
|
|
105
114
|
}
|
|
106
115
|
async runNow(taskId, scope = {}) {
|
|
107
|
-
const task = await this.options.store.get(taskId, scope);
|
|
116
|
+
const task = await this.options.store.get(taskId, this.applyScope(scope));
|
|
108
117
|
if (!task) {
|
|
109
118
|
return undefined;
|
|
110
119
|
}
|
|
@@ -120,9 +129,33 @@ export class PersistentTaskScheduler {
|
|
|
120
129
|
}
|
|
121
130
|
this.active = true;
|
|
122
131
|
this.startLockHeartbeat();
|
|
123
|
-
const tasks = await this.options.store.list();
|
|
132
|
+
const tasks = await this.options.store.list(this.scope);
|
|
124
133
|
for (const task of tasks) {
|
|
125
|
-
|
|
134
|
+
if (task.lastStatus === 'running') {
|
|
135
|
+
const fixedAt = new Date().toISOString();
|
|
136
|
+
const fixedTask = withNextRun({
|
|
137
|
+
...task,
|
|
138
|
+
lastStatus: 'error',
|
|
139
|
+
lastError: 'Process was interrupted while task was running',
|
|
140
|
+
runHistory: updateTaskHistoryEntry(task.runHistory, findLastRunningEntryId(task.runHistory), {
|
|
141
|
+
status: 'error',
|
|
142
|
+
message: 'Process was interrupted while task was running',
|
|
143
|
+
}),
|
|
144
|
+
updatedAt: fixedAt,
|
|
145
|
+
});
|
|
146
|
+
await this.options.store.update(task.id, fixedTask, this.scope).catch(() => undefined);
|
|
147
|
+
this.schedule(fixedTask);
|
|
148
|
+
}
|
|
149
|
+
else {
|
|
150
|
+
const refreshed = withNextRun(task);
|
|
151
|
+
if (refreshed.nextRunAt !== task.nextRunAt) {
|
|
152
|
+
await this.options.store.update(task.id, refreshed, this.scope).catch(() => undefined);
|
|
153
|
+
this.schedule(refreshed);
|
|
154
|
+
}
|
|
155
|
+
else {
|
|
156
|
+
this.schedule(task);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
126
159
|
}
|
|
127
160
|
await this.emitSchedulerStarted();
|
|
128
161
|
}
|
|
@@ -154,7 +187,7 @@ export class PersistentTaskScheduler {
|
|
|
154
187
|
void this.execute(task.id);
|
|
155
188
|
});
|
|
156
189
|
this.crons.set(task.id, cron);
|
|
157
|
-
void this.refreshNextRun(task.id, cron.nextRun()?.toISOString());
|
|
190
|
+
void this.refreshNextRun(task.id, cron.nextRun()?.toISOString(), task);
|
|
158
191
|
}
|
|
159
192
|
catch (error) {
|
|
160
193
|
void this.markScheduleError(task.id, error instanceof Error ? error.message : String(error));
|
|
@@ -173,7 +206,7 @@ export class PersistentTaskScheduler {
|
|
|
173
206
|
}, delayMs);
|
|
174
207
|
timer.unref();
|
|
175
208
|
this.timers.set(task.id, timer);
|
|
176
|
-
void this.refreshNextRun(task.id, target.toISOString());
|
|
209
|
+
void this.refreshNextRun(task.id, target.toISOString(), task);
|
|
177
210
|
return;
|
|
178
211
|
}
|
|
179
212
|
const timer = setInterval(() => {
|
|
@@ -181,13 +214,13 @@ export class PersistentTaskScheduler {
|
|
|
181
214
|
}, task.intervalSeconds * 1000);
|
|
182
215
|
timer.unref();
|
|
183
216
|
this.timers.set(task.id, timer);
|
|
184
|
-
void this.refreshNextRun(task.id, new Date(Date.now() + task.intervalSeconds * 1000).toISOString());
|
|
217
|
+
void this.refreshNextRun(task.id, new Date(Date.now() + task.intervalSeconds * 1000).toISOString(), task);
|
|
185
218
|
}
|
|
186
219
|
async execute(taskId) {
|
|
187
220
|
if (!this.active || this.runningTaskIds.has(taskId)) {
|
|
188
221
|
return;
|
|
189
222
|
}
|
|
190
|
-
const task = await this.options.store.get(taskId);
|
|
223
|
+
const task = await this.options.store.get(taskId, this.scope);
|
|
191
224
|
if (!task?.enabled) {
|
|
192
225
|
return;
|
|
193
226
|
}
|
|
@@ -203,7 +236,7 @@ export class PersistentTaskScheduler {
|
|
|
203
236
|
runHistory: appendTaskHistory(task.runHistory, runningEntry),
|
|
204
237
|
updatedAt: startedAt,
|
|
205
238
|
};
|
|
206
|
-
await this.options.store.update(taskId, runningTask);
|
|
239
|
+
await this.options.store.update(taskId, runningTask, this.scope);
|
|
207
240
|
const run = {
|
|
208
241
|
historyEntryId: runningEntry.id,
|
|
209
242
|
sessionId: runningEntry.sessionId ?? task.sessionId,
|
|
@@ -212,7 +245,7 @@ export class PersistentTaskScheduler {
|
|
|
212
245
|
await this.emitHook(() => this.options.hooks?.onTaskStarted?.({ task, run, timestamp: startedAt }));
|
|
213
246
|
try {
|
|
214
247
|
await this.options.runner(task, run);
|
|
215
|
-
const latest = (await this.options.store.get(taskId)) ?? runningTask;
|
|
248
|
+
const latest = (await this.options.store.get(taskId, this.scope)) ?? runningTask;
|
|
216
249
|
const completedAt = new Date().toISOString();
|
|
217
250
|
const updated = withNextRun({
|
|
218
251
|
...latest,
|
|
@@ -227,14 +260,14 @@ export class PersistentTaskScheduler {
|
|
|
227
260
|
updatedAt: completedAt,
|
|
228
261
|
});
|
|
229
262
|
delete updated.lastError;
|
|
230
|
-
const stored = (await this.options.store.update(taskId, updated)) ?? updated;
|
|
263
|
+
const stored = (await this.options.store.update(taskId, updated, this.scope)) ?? updated;
|
|
231
264
|
if (updated.type === 'once') {
|
|
232
265
|
this.unschedule(taskId);
|
|
233
266
|
}
|
|
234
267
|
await this.emitHook(() => this.options.hooks?.onTaskCompleted?.({ task: stored, run, timestamp: completedAt }));
|
|
235
268
|
}
|
|
236
269
|
catch (error) {
|
|
237
|
-
const latest = (await this.options.store.get(taskId)) ?? runningTask;
|
|
270
|
+
const latest = (await this.options.store.get(taskId, this.scope)) ?? runningTask;
|
|
238
271
|
const failedAt = new Date().toISOString();
|
|
239
272
|
const message = error instanceof Error ? error.message : String(error);
|
|
240
273
|
const updated = withNextRun({
|
|
@@ -247,7 +280,7 @@ export class PersistentTaskScheduler {
|
|
|
247
280
|
}),
|
|
248
281
|
updatedAt: failedAt,
|
|
249
282
|
});
|
|
250
|
-
const stored = (await this.options.store.update(taskId, updated)) ?? updated;
|
|
283
|
+
const stored = (await this.options.store.update(taskId, updated, this.scope)) ?? updated;
|
|
251
284
|
await this.emitHook(() => this.options.hooks?.onTaskFailed?.({
|
|
252
285
|
task: stored,
|
|
253
286
|
run,
|
|
@@ -271,8 +304,8 @@ export class PersistentTaskScheduler {
|
|
|
271
304
|
this.crons.delete(taskId);
|
|
272
305
|
}
|
|
273
306
|
}
|
|
274
|
-
async refreshNextRun(taskId, nextRunAt) {
|
|
275
|
-
const task = await this.options.store.get(taskId);
|
|
307
|
+
async refreshNextRun(taskId, nextRunAt, knownTask) {
|
|
308
|
+
const task = knownTask ?? (await this.options.store.get(taskId, this.scope));
|
|
276
309
|
if (!task || nextRunAt === task.nextRunAt) {
|
|
277
310
|
return;
|
|
278
311
|
}
|
|
@@ -283,10 +316,10 @@ export class PersistentTaskScheduler {
|
|
|
283
316
|
else {
|
|
284
317
|
delete updated.nextRunAt;
|
|
285
318
|
}
|
|
286
|
-
await this.options.store.update(taskId, updated);
|
|
319
|
+
await this.options.store.update(taskId, updated, this.scope);
|
|
287
320
|
}
|
|
288
321
|
async markScheduleError(taskId, error) {
|
|
289
|
-
const task = await this.options.store.get(taskId);
|
|
322
|
+
const task = await this.options.store.get(taskId, this.scope);
|
|
290
323
|
if (!task) {
|
|
291
324
|
return;
|
|
292
325
|
}
|
|
@@ -299,7 +332,7 @@ export class PersistentTaskScheduler {
|
|
|
299
332
|
updatedAt: new Date().toISOString(),
|
|
300
333
|
};
|
|
301
334
|
delete updated.nextRunAt;
|
|
302
|
-
const stored = (await this.options.store.update(taskId, updated)) ?? updated;
|
|
335
|
+
const stored = (await this.options.store.update(taskId, updated, this.scope)) ?? updated;
|
|
303
336
|
await this.emitHook(() => this.options.hooks?.onTaskFailed?.({
|
|
304
337
|
task: stored,
|
|
305
338
|
run: {
|
|
@@ -347,6 +380,14 @@ export class PersistentTaskScheduler {
|
|
|
347
380
|
// Hooks are observability side effects; scheduler state must not depend on them.
|
|
348
381
|
}
|
|
349
382
|
}
|
|
383
|
+
applyScope(scope) {
|
|
384
|
+
return { ...scope, ...this.scope };
|
|
385
|
+
}
|
|
386
|
+
}
|
|
387
|
+
export function matchesScheduledTaskScope(task, scope) {
|
|
388
|
+
return ((scope.tenantId === undefined || task.tenantId === scope.tenantId) &&
|
|
389
|
+
(scope.userId === undefined || task.userId === scope.userId) &&
|
|
390
|
+
(scope.sessionId === undefined || task.sessionId === scope.sessionId));
|
|
350
391
|
}
|
|
351
392
|
export function resolveScheduledTaskDefinition(input) {
|
|
352
393
|
const type = input.type;
|
|
@@ -409,6 +450,12 @@ export function normalizeScheduledTask(rawTask) {
|
|
|
409
450
|
else {
|
|
410
451
|
delete task.workspaceDir;
|
|
411
452
|
}
|
|
453
|
+
if (typeof raw.timeoutMs === 'number' && Number.isFinite(raw.timeoutMs) && raw.timeoutMs > 0) {
|
|
454
|
+
task.timeoutMs = Math.floor(raw.timeoutMs);
|
|
455
|
+
}
|
|
456
|
+
else {
|
|
457
|
+
delete task.timeoutMs;
|
|
458
|
+
}
|
|
412
459
|
const nextRunAt = computeNextRunAt(task);
|
|
413
460
|
if (nextRunAt) {
|
|
414
461
|
task.nextRunAt = nextRunAt;
|
|
@@ -459,6 +506,16 @@ export function updateTaskHistoryEntry(history, entryId, patch) {
|
|
|
459
506
|
.map((entry) => (entry.id === entryId ? { ...entry, ...patch } : entry))
|
|
460
507
|
.slice(-25);
|
|
461
508
|
}
|
|
509
|
+
function findLastRunningEntryId(history) {
|
|
510
|
+
const entries = history ?? [];
|
|
511
|
+
for (let i = entries.length - 1; i >= 0; i--) {
|
|
512
|
+
const entry = entries[i];
|
|
513
|
+
if (entry?.status === 'running') {
|
|
514
|
+
return entry.id;
|
|
515
|
+
}
|
|
516
|
+
}
|
|
517
|
+
return '';
|
|
518
|
+
}
|
|
462
519
|
export function createScheduledTaskRunSessionId() {
|
|
463
520
|
return `scheduled-run-${randomUUID()}`;
|
|
464
521
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAsL9B,MAAM,OAAO,uBAAuB;IAOL;IANZ,MAAM,GAAG,IAAI,GAAG,EAA0B,CAAC;IAC3C,KAAK,GAAG,IAAI,GAAG,EAAgB,CAAC;IAChC,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IAC5C,MAAM,GAAG,KAAK,CAAC;IACf,aAAa,CAA6B;IAElD,YAA6B,OAAuC;QAAvC,YAAO,GAAP,OAAO,CAAgC;IAAG,CAAC;IAExE,KAAK,CAAC,IAAI,CAAC,QAA4B,EAAE;QACvC,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,MAAc,EAAE,QAA4B,EAAE;QACtD,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,MAAM;QACV,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAC9C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QACtD,MAAM,IAAI,GAAgC;YACxC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI;YAC5B,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE;SACzC,CAAC;QACF,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC7B,CAAC;QACD,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,SAAS,EAAE,KAAK,CAAC,MAAM;YACvB,mBAAmB,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;YACrC,kBAAkB,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI;YACnC,cAAc,EAAE,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;YACxC,IAAI;SACL,CAAC;IACJ,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAA+B;QAC1C,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,WAAW,CAAC;YACvB,EAAE,EAAE,UAAU,EAAE;YAChB,GAAG,KAAK;YACR,SAAS,EAAE,GAAG;YACd,SAAS,EAAE,GAAG;YACd,QAAQ,EAAE,CAAC;YACX,UAAU,EACR,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;SACtF,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,MAAM,CACV,MAAc,EACd,KAA0B,EAC1B,QAA4B,EAAE;QAE9B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC7D,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,EACJ,IAAI,EAAE,SAAS,EACf,WAAW,EAAE,gBAAgB,EAC7B,YAAY,EAAE,iBAAiB,EAC/B,GAAG,SAAS,EACb,GAAG,KAAK,CAAC;QACV,MAAM,QAAQ,GAAkB;YAC9B,GAAG,QAAQ;YACX,GAAG,SAAS;YACZ,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC;QACF,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YAC3E,OAAO,QAAQ,CAAC,WAAW,CAAC;QAC9B,CAAC;aAAM,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;YAC1C,QAAQ,CAAC,WAAW,GAAG,gBAAgB,CAAC;QAC1C,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC7D,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;aAAM,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YACnC,QAAQ,CAAC,IAAI,GAAG,SAAS,CAAC;QAC5B,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,cAAc,CAAC,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YAC7E,OAAO,QAAQ,CAAC,YAAY,CAAC;QAC/B,CAAC;aAAM,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;YAC3C,QAAQ,CAAC,YAAY,GAAG,iBAAiB,CAAC;QAC5C,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,OAAO,EAAE,CAAC;YACtE,QAAQ,CAAC,UAAU,GAAG,iBAAiB,CACrC,QAAQ,CAAC,UAAU,EACnB,KAAK,CAAC,OAAO;gBACX,CAAC,CAAC,sBAAsB,CAAC,SAAS,EAAE,cAAc,CAAC;gBACnD,CAAC,CAAC,sBAAsB,CAAC,QAAQ,EAAE,aAAa,CAAC,CACpD,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;QACnC,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,IAAI,QAAQ,CAAC,UAAU,KAAK,OAAO,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;YACrF,OAAO,IAAI,CAAC,SAAS,CAAC;QACxB,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QACrE,IAAI,IAAI,CAAC,MAAM,IAAI,OAAO,EAAE,CAAC;YAC3B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAAc,EAAE,QAA4B,EAAE;QACzD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACxB,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAAc,EAAE,QAA4B,EAAE;QACzD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACzD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;YACzC,OAAO;QACT,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAC9C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;QACD,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,IAAI;QACR,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;YACzC,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YACvC,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAClC,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QACjC,CAAC;QACD,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAClC,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;IACpC,CAAC;IAEO,QAAQ,CAAC,IAAmB;QAClC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE;oBACtF,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC7B,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;gBAC9B,KAAK,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;YACnE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,KAAK,IAAI,CAAC,iBAAiB,CACzB,IAAI,CAAC,EAAE,EACP,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACvD,CAAC;YACJ,CAAC;YACD,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC9C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;gBAC9C,KAAK,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,EAAE,kBAAkB,IAAI,CAAC,QAAQ,iBAAiB,CAAC,CAAC;gBACvF,OAAO;YACT,CAAC;YACD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC7B,CAAC,EAAE,OAAO,CAAC,CAAC;YACZ,KAAK,CAAC,KAAK,EAAE,CAAC;YACd,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YAChC,KAAK,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;YACxD,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;YAC7B,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC7B,CAAC,EAAE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;QAChC,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAChC,KAAK,IAAI,CAAC,cAAc,CACtB,IAAI,CAAC,EAAE,EACP,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CACjE,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,OAAO,CAAC,MAAc;QAClC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACpD,OAAO;QACT,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAClD,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAChC,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,YAAY,GAAG,sBAAsB,CAAC,SAAS,EAAE,aAAa,EAAE;YACpE,SAAS,EAAE,SAAS;YACpB,SAAS,EAAE,+BAA+B,EAAE;SAC7C,CAAC,CAAC;QACH,MAAM,WAAW,GAAkB;YACjC,GAAG,IAAI;YACP,UAAU,EAAE,SAAS;YACrB,UAAU,EAAE,iBAAiB,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC;YAC5D,SAAS,EAAE,SAAS;SACrB,CAAC;QACF,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QACrD,MAAM,GAAG,GAA4B;YACnC,cAAc,EAAE,YAAY,CAAC,EAAE;YAC/B,SAAS,EAAE,YAAY,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS;YACnD,SAAS;SACV,CAAC;QACF,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CACvB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,aAAa,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CACzE,CAAC;QACF,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACrC,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,WAAW,CAAC;YACrE,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC7C,MAAM,OAAO,GAAG,WAAW,CAAC;gBAC1B,GAAG,MAAM;gBACT,OAAO,EAAE,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO;gBACxD,SAAS,EAAE,WAAW;gBACtB,UAAU,EAAE,SAAS;gBACrB,UAAU,EAAE,sBAAsB,CAAC,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,EAAE,EAAE;oBACrE,MAAM,EAAE,SAAS;oBACjB,OAAO,EAAE,eAAe;iBACzB,CAAC;gBACF,QAAQ,EAAE,MAAM,CAAC,QAAQ,GAAG,CAAC;gBAC7B,SAAS,EAAE,WAAW;aACvB,CAAC,CAAC;YACH,OAAO,OAAO,CAAC,SAAS,CAAC;YACzB,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC;YAC7E,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC5B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAC1B,CAAC;YACD,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CACvB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,eAAe,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,CACrF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,WAAW,CAAC;YACrE,MAAM,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC1C,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,MAAM,OAAO,GAAG,WAAW,CAAC;gBAC1B,GAAG,MAAM;gBACT,UAAU,EAAE,OAAO;gBACnB,SAAS,EAAE,OAAO;gBAClB,UAAU,EAAE,sBAAsB,CAAC,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,EAAE,EAAE;oBACrE,MAAM,EAAE,OAAO;oBACf,OAAO;iBACR,CAAC;gBACF,SAAS,EAAE,QAAQ;aACpB,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC;YAC7E,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CACvB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC;gBACjC,IAAI,EAAE,MAAM;gBACZ,GAAG;gBACH,SAAS,EAAE,QAAQ;gBACnB,KAAK,EAAE,OAAO;aACf,CAAC,CACH,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAEO,UAAU,CAAC,MAAc;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,KAAK,EAAE,CAAC;YACV,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,MAAc,EAAE,SAA6B;QACxE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAClD,IAAI,CAAC,IAAI,IAAI,SAAS,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;YAC1C,OAAO;QACT,CAAC;QACD,MAAM,OAAO,GAAG,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;QACjE,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,OAAO,OAAO,CAAC,SAAS,CAAC;QAC3B,CAAC;QACD,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,MAAc,EAAE,KAAa;QAC3D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAClD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QACD,MAAM,OAAO,GAAG;YACd,GAAG,IAAI;YACP,OAAO,EAAE,KAAK;YACd,UAAU,EAAE,OAAgB;YAC5B,SAAS,EAAE,KAAK;YAChB,UAAU,EAAE,iBAAiB,CAAC,IAAI,CAAC,UAAU,EAAE,sBAAsB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACtF,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC;QACF,OAAO,OAAO,CAAC,SAAS,CAAC;QACzB,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC;QAC7E,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CACvB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC;YACjC,IAAI,EAAE,MAAM;YACZ,GAAG,EAAE;gBACH,cAAc,EAAE,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,MAAM;gBACvD,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;aAC5B;YACD,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,KAAK;SACN,CAAC,CACH,CAAC;IACJ,CAAC;IAEO,kBAAkB;QACxB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAC9B,OAAO;QACT,CAAC;QACD,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,IAAI,MAAM,CAAC;QAC/D,IAAI,CAAC,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE;YACpC,KAAK,CAAC,KAAK,IAAI,EAAE;gBACf,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;oBAC1C,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;gBACpB,CAAC;YACH,CAAC,CAAC,EAAE,CAAC;QACP,CAAC,EAAE,eAAe,CAAC,CAAC;QACpB,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;IAEO,KAAK,CAAC,oBAAoB;QAChC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QACnC,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CACvB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,kBAAkB,EAAE,CAAC;YACvC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,MAAM;SACP,CAAC,CACH,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,oBAAoB;QAChC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QACnC,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CACvB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,kBAAkB,EAAE,CAAC;YACvC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,MAAM;SACP,CAAC,CACH,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAC,QAAoC;QACzD,IAAI,CAAC;YACH,MAAM,QAAQ,EAAE,CAAC;QACnB,CAAC;QAAC,MAAM,CAAC;YACP,iFAAiF;QACnF,CAAC;IACH,CAAC;CACF;AAED,MAAM,UAAU,8BAA8B,CAAC,KAG9C;IACC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACxB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC;IAC9F,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,mCAAmC,CAAC,CAAC;IAC9D,CAAC;IACD,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACxB,MAAM,eAAe,GAAG,oBAAoB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC7D,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CACb,8BAA8B,KAAK,CAAC,QAAQ,0CAA0C,CACvF,CAAC;QACJ,CAAC;QACD,OAAO;YACL,IAAI;YACJ,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE;YAC/B,eAAe;SAChB,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,MAAM,QAAQ,GAAG,mBAAmB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACrD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;QAChG,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,eAAe,EAAE,YAAY,EAAE,CAAC;IAC3D,CAAC;IACD,oBAAoB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACrC,OAAO;QACL,IAAI;QACJ,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE;QAC/B,eAAe,EAAE,CAAC;KACnB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAAsB;IAC3D,MAAM,GAAG,GAAG,OAQX,CAAC;IACF,MAAM,IAAI,GAAG,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC;IACnE,MAAM,eAAe,GACnB,OAAO,GAAG,CAAC,eAAe,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC;QAC7E,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC9C,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,QAAQ,GACZ,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE;QACrD,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE;QACrB,CAAC,CAAC,IAAI,KAAK,UAAU;YACnB,CAAC,CAAC,GAAG,eAAe,GAAG;YACvB,CAAC,CAAC,EAAE,CAAC;IACX,MAAM,IAAI,GAAkB;QAC1B,GAAG,OAAO;QACV,IAAI;QACJ,QAAQ;QACR,eAAe;QACf,OAAO,EAAE,OAAO,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;QAC9D,QAAQ,EACN,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC;YAC/D,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACvC,CAAC,CAAC,CAAC;QACP,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;YACvC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACtD,CAAC,CAAC,EAAE;KACP,CAAC;IACF,IAAI,OAAO,GAAG,CAAC,YAAY,KAAK,QAAQ,IAAI,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC;QACpE,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;IAC9C,CAAC;SAAM,CAAC;QACN,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IACD,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACzC,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;SAAM,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACjD,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAmB;IAClD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAClB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC7B,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;IAC1E,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YACrE,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC;IAC9B,CAAC;IACD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACpF,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,CAAC;QAC3C,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,MAA8C,EAC9C,OAAgB,EAChB,UAAsD,EAAE;IAExD,OAAO;QACL,EAAE,EAAE,UAAU,EAAE;QAChB,MAAM;QACN,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACxD,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,OAAmD,EACnD,KAAmC;IAEnC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,OAAmD,EACnD,OAAe,EACf,KACwD;IAExD,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;SACnB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;SACvE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,+BAA+B;IAC7C,OAAO,iBAAiB,UAAU,EAAE,EAAE,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,KAAa;IACvD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC9B,OAAO,QAAQ,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AAChG,CAAC;AAED,SAAS,WAAW,CAA0B,IAAO;IACnD,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,MAAM,GAAM,EAAE,GAAG,IAAI,EAAE,CAAC;IAC9B,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;SAAM,CAAC;QACN,OAAO,MAAM,CAAC,SAAS,CAAC;IAC1B,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc;IACzC,OAAO,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,UAAU,CAAC;AACtE,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,KAAK,GAAG,KAA8C,CAAC;IAC7D,OAAO,CACL,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ;QAC5B,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;QACnC,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS;YACzB,KAAK,CAAC,MAAM,KAAK,OAAO;YACxB,KAAK,CAAC,MAAM,KAAK,SAAS;YAC1B,KAAK,CAAC,MAAM,KAAK,QAAQ;YACzB,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC;QAC7B,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC;QACtE,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CACnE,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAa;IAC5C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAa;IACzC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACrD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACtB,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IACjC,MAAM,WAAW,GAA2B;QAC1C,CAAC,EAAE,CAAC;QACJ,CAAC,EAAE,EAAE;QACL,CAAC,EAAE,EAAE,GAAG,EAAE;QACV,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE;KAChB,CAAC;IACF,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QAC5C,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,uBAAuB,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAa;IACxC,MAAM,QAAQ,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAC9C,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7B,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CACb,0BAA0B,KAAK,sDAAsD,CACtF,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,kCAAkC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;AAC5B,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAa;IAC1C,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACvD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACtB,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IACjC,MAAM,WAAW,GAA2B;QAC1C,CAAC,EAAE,IAAI;QACP,CAAC,EAAE,EAAE,GAAG,IAAI;QACZ,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI;QACjB,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;KACvB,CAAC;IACF,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;QAC3D,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,GAAG,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;AAClE,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAa;IACzC,MAAM,QAAQ,GAAG,2BAA2B,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACrC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CAAC,8CAA8C,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACjF,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAClD,IAAI,CAAC,IAAI,EAAE,CAAC;AACd,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAa;IACxC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAClD,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAC9B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC3B,MAAM,CAAC,MAAM,EAAE,QAAQ,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChD,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;IAC7E,CAAC,CAAC,CACH,CAAC;IACF,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACxB,MAAM,IAAI,GAAG,gBAAgB,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1D,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,OAAO,GAAG,MAAM,UAAU,CAAC;IAC7B,CAAC;IACD,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACrB,OAAO,GAAG,MAAM,IAAI,IAAI,QAAQ,CAAC;IACnC,CAAC;IACD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,MAAM,GAAG,GAAG,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACxC,OAAO,GAAG,MAAM,IAAI,IAAI,QAAQ,GAAG,EAAE,CAAC;IACxC,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,gCAAgC,IAAI,IAAI,SAAS,EAAE,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,gBAAgB,CACvB,KAAyB,EACzB,QAAgB,EAChB,GAAW,EACX,GAAW;IAEX,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC,CAAC;IACzC,OAAO,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,GAAG,IAAI,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;AACxF,CAAC;AAED,SAAS,cAAc,CAAC,KAAyB;IAC/C,MAAM,IAAI,GAA2B;QACnC,EAAE,EAAE,GAAG;QACP,EAAE,EAAE,GAAG;QACP,EAAE,EAAE,GAAG;QACP,EAAE,EAAE,GAAG;QACP,EAAE,EAAE,GAAG;QACP,EAAE,EAAE,GAAG;QACP,EAAE,EAAE,GAAG;KACR,CAAC;IACF,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,GAAG,CAAC;IACb,CAAC;IACD,OAAO,KAAK;SACT,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;SAC9B,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAyL9B,MAAM,OAAO,uBAAuB;IAQL;IAPZ,MAAM,GAAG,IAAI,GAAG,EAA0B,CAAC;IAC3C,KAAK,GAAG,IAAI,GAAG,EAAgB,CAAC;IAChC,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IAC5C,MAAM,GAAG,KAAK,CAAC;IACf,aAAa,CAA6B;IACjC,KAAK,CAAqB;IAE3C,YAA6B,OAAuC;QAAvC,YAAO,GAAP,OAAO,CAAgC;QAClE,IAAI,CAAC,KAAK,GAAG,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,QAA4B,EAAE;QACvC,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,MAAc,EAAE,QAA4B,EAAE;QACtD,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,MAAM;QACV,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QACtD,MAAM,IAAI,GAAgC;YACxC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI;YAC5B,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE;SACzC,CAAC;QACF,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC7B,CAAC;QACD,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,SAAS,EAAE,KAAK,CAAC,MAAM;YACvB,mBAAmB,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;YACrC,kBAAkB,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI;YACnC,cAAc,EAAE,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;YACxC,IAAI;SACL,CAAC;IACJ,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAA+B;QAC1C,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAClD,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrE,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,WAAW,CAAC;YACvB,EAAE,EAAE,UAAU,EAAE;YAChB,GAAG,KAAK;YACR,SAAS,EAAE,GAAG;YACd,SAAS,EAAE,GAAG;YACd,QAAQ,EAAE,CAAC;YACX,UAAU,EACR,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;SACtF,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,MAAM,CACV,MAAc,EACd,KAA0B,EAC1B,QAA4B,EAAE;QAE9B,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QACtE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,EACJ,IAAI,EAAE,SAAS,EACf,WAAW,EAAE,gBAAgB,EAC7B,YAAY,EAAE,iBAAiB,EAC/B,GAAG,SAAS,EACb,GAAG,KAAK,CAAC;QACV,MAAM,QAAQ,GAAkB;YAC9B,GAAG,QAAQ;YACX,GAAG,SAAS;YACZ,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC;QACF,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YAC3E,OAAO,QAAQ,CAAC,WAAW,CAAC;QAC9B,CAAC;aAAM,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;YAC1C,QAAQ,CAAC,WAAW,GAAG,gBAAgB,CAAC;QAC1C,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC7D,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;aAAM,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YACnC,QAAQ,CAAC,IAAI,GAAG,SAAS,CAAC;QAC5B,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,cAAc,CAAC,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YAC7E,OAAO,QAAQ,CAAC,YAAY,CAAC;QAC/B,CAAC;aAAM,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;YAC3C,QAAQ,CAAC,YAAY,GAAG,iBAAiB,CAAC;QAC5C,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,OAAO,EAAE,CAAC;YACtE,QAAQ,CAAC,UAAU,GAAG,iBAAiB,CACrC,QAAQ,CAAC,UAAU,EACnB,KAAK,CAAC,OAAO;gBACX,CAAC,CAAC,sBAAsB,CAAC,SAAS,EAAE,cAAc,CAAC;gBACnD,CAAC,CAAC,sBAAsB,CAAC,QAAQ,EAAE,aAAa,CAAC,CACpD,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;QACnC,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,IAAI,QAAQ,CAAC,UAAU,KAAK,OAAO,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;YACrF,OAAO,IAAI,CAAC,SAAS,CAAC;QACxB,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;QAC9E,IAAI,IAAI,CAAC,MAAM,IAAI,OAAO,EAAE,CAAC;YAC3B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAAc,EAAE,QAA4B,EAAE;QACzD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;QAChF,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC1B,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAAc,EAAE,QAA4B,EAAE;QACzD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;QAC1E,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;YACzC,OAAO;QACT,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;gBAClC,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBACzC,MAAM,SAAS,GAAG,WAAW,CAAC;oBAC5B,GAAG,IAAI;oBACP,UAAU,EAAE,OAAgB;oBAC5B,SAAS,EAAE,gDAAgD;oBAC3D,UAAU,EAAE,sBAAsB,CAChC,IAAI,CAAC,UAAU,EACf,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,EACvC;wBACE,MAAM,EAAE,OAAO;wBACf,OAAO,EAAE,gDAAgD;qBAC1D,CACF;oBACD,SAAS,EAAE,OAAO;iBACnB,CAAC,CAAC;gBACH,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;gBACvF,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACN,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;gBACpC,IAAI,SAAS,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;oBAC3C,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;oBACvF,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;gBAC3B,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACtB,CAAC;YACH,CAAC;QACH,CAAC;QACD,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,IAAI;QACR,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;YACzC,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YACvC,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAClC,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QACjC,CAAC;QACD,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAClC,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;IACpC,CAAC;IAEO,QAAQ,CAAC,IAAmB;QAClC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE;oBACtF,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC7B,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;gBAC9B,KAAK,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,EAAE,IAAI,CAAC,CAAC;YACzE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,KAAK,IAAI,CAAC,iBAAiB,CACzB,IAAI,CAAC,EAAE,EACP,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACvD,CAAC;YACJ,CAAC;YACD,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC9C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;gBAC9C,KAAK,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,EAAE,kBAAkB,IAAI,CAAC,QAAQ,iBAAiB,CAAC,CAAC;gBACvF,OAAO;YACT,CAAC;YACD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC7B,CAAC,EAAE,OAAO,CAAC,CAAC;YACZ,KAAK,CAAC,KAAK,EAAE,CAAC;YACd,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YAChC,KAAK,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,CAAC;YAC9D,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;YAC7B,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC7B,CAAC,EAAE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;QAChC,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAChC,KAAK,IAAI,CAAC,cAAc,CACtB,IAAI,CAAC,EAAE,EACP,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,EAChE,IAAI,CACL,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,OAAO,CAAC,MAAc;QAClC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACpD,OAAO;QACT,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9D,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAChC,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,YAAY,GAAG,sBAAsB,CAAC,SAAS,EAAE,aAAa,EAAE;YACpE,SAAS,EAAE,SAAS;YACpB,SAAS,EAAE,+BAA+B,EAAE;SAC7C,CAAC,CAAC;QACH,MAAM,WAAW,GAAkB;YACjC,GAAG,IAAI;YACP,UAAU,EAAE,SAAS;YACrB,UAAU,EAAE,iBAAiB,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC;YAC5D,SAAS,EAAE,SAAS;SACrB,CAAC;QACF,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACjE,MAAM,GAAG,GAA4B;YACnC,cAAc,EAAE,YAAY,CAAC,EAAE;YAC/B,SAAS,EAAE,YAAY,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS;YACnD,SAAS;SACV,CAAC;QACF,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CACvB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,aAAa,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CACzE,CAAC;QACF,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACrC,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,WAAW,CAAC;YACjF,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC7C,MAAM,OAAO,GAAG,WAAW,CAAC;gBAC1B,GAAG,MAAM;gBACT,OAAO,EAAE,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO;gBACxD,SAAS,EAAE,WAAW;gBACtB,UAAU,EAAE,SAAS;gBACrB,UAAU,EAAE,sBAAsB,CAAC,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,EAAE,EAAE;oBACrE,MAAM,EAAE,SAAS;oBACjB,OAAO,EAAE,eAAe;iBACzB,CAAC;gBACF,QAAQ,EAAE,MAAM,CAAC,QAAQ,GAAG,CAAC;gBAC7B,SAAS,EAAE,WAAW;aACvB,CAAC,CAAC;YACH,OAAO,OAAO,CAAC,SAAS,CAAC;YACzB,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,OAAO,CAAC;YACzF,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC5B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAC1B,CAAC;YACD,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CACvB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,eAAe,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,CACrF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,WAAW,CAAC;YACjF,MAAM,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC1C,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,MAAM,OAAO,GAAG,WAAW,CAAC;gBAC1B,GAAG,MAAM;gBACT,UAAU,EAAE,OAAO;gBACnB,SAAS,EAAE,OAAO;gBAClB,UAAU,EAAE,sBAAsB,CAAC,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,EAAE,EAAE;oBACrE,MAAM,EAAE,OAAO;oBACf,OAAO;iBACR,CAAC;gBACF,SAAS,EAAE,QAAQ;aACpB,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,OAAO,CAAC;YACzF,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CACvB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC;gBACjC,IAAI,EAAE,MAAM;gBACZ,GAAG;gBACH,SAAS,EAAE,QAAQ;gBACnB,KAAK,EAAE,OAAO;aACf,CAAC,CACH,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAEO,UAAU,CAAC,MAAc;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,KAAK,EAAE,CAAC;YACV,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,cAAc,CAC1B,MAAc,EACd,SAA6B,EAC7B,SAAyB;QAEzB,MAAM,IAAI,GAAG,SAAS,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7E,IAAI,CAAC,IAAI,IAAI,SAAS,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;YAC1C,OAAO;QACT,CAAC;QACD,MAAM,OAAO,GAAG,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;QACjE,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,OAAO,OAAO,CAAC,SAAS,CAAC;QAC3B,CAAC;QACD,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/D,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,MAAc,EAAE,KAAa;QAC3D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9D,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QACD,MAAM,OAAO,GAAG;YACd,GAAG,IAAI;YACP,OAAO,EAAE,KAAK;YACd,UAAU,EAAE,OAAgB;YAC5B,SAAS,EAAE,KAAK;YAChB,UAAU,EAAE,iBAAiB,CAAC,IAAI,CAAC,UAAU,EAAE,sBAAsB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACtF,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC;QACF,OAAO,OAAO,CAAC,SAAS,CAAC;QACzB,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,OAAO,CAAC;QACzF,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CACvB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC;YACjC,IAAI,EAAE,MAAM;YACZ,GAAG,EAAE;gBACH,cAAc,EAAE,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,MAAM;gBACvD,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;aAC5B;YACD,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,KAAK;SACN,CAAC,CACH,CAAC;IACJ,CAAC;IAEO,kBAAkB;QACxB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAC9B,OAAO;QACT,CAAC;QACD,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,IAAI,MAAM,CAAC;QAC/D,IAAI,CAAC,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE;YACpC,KAAK,CAAC,KAAK,IAAI,EAAE;gBACf,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;oBAC1C,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;gBACpB,CAAC;YACH,CAAC,CAAC,EAAE,CAAC;QACP,CAAC,EAAE,eAAe,CAAC,CAAC;QACpB,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;IAEO,KAAK,CAAC,oBAAoB;QAChC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QACnC,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CACvB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,kBAAkB,EAAE,CAAC;YACvC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,MAAM;SACP,CAAC,CACH,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,oBAAoB;QAChC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QACnC,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CACvB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,kBAAkB,EAAE,CAAC;YACvC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,MAAM;SACP,CAAC,CACH,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAC,QAAoC;QACzD,IAAI,CAAC;YACH,MAAM,QAAQ,EAAE,CAAC;QACnB,CAAC;QAAC,MAAM,CAAC;YACP,iFAAiF;QACnF,CAAC;IACH,CAAC;IAEO,UAAU,CAAC,KAAyB;QAC1C,OAAO,EAAE,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;IACrC,CAAC;CACF;AAED,MAAM,UAAU,yBAAyB,CACvC,IAA8D,EAC9D,KAAyB;IAEzB,OAAO,CACL,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,CAAC;QAClE,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC;QAC5D,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,CAAC,CACtE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,KAG9C;IACC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACxB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC;IAC9F,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,mCAAmC,CAAC,CAAC;IAC9D,CAAC;IACD,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACxB,MAAM,eAAe,GAAG,oBAAoB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC7D,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CACb,8BAA8B,KAAK,CAAC,QAAQ,0CAA0C,CACvF,CAAC;QACJ,CAAC;QACD,OAAO;YACL,IAAI;YACJ,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE;YAC/B,eAAe;SAChB,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,MAAM,QAAQ,GAAG,mBAAmB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACrD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;QAChG,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,eAAe,EAAE,YAAY,EAAE,CAAC;IAC3D,CAAC;IACD,oBAAoB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACrC,OAAO;QACL,IAAI;QACJ,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE;QAC/B,eAAe,EAAE,CAAC;KACnB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAAsB;IAC3D,MAAM,GAAG,GAAG,OASX,CAAC;IACF,MAAM,IAAI,GAAG,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC;IACnE,MAAM,eAAe,GACnB,OAAO,GAAG,CAAC,eAAe,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC;QAC7E,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC9C,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,QAAQ,GACZ,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE;QACrD,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE;QACrB,CAAC,CAAC,IAAI,KAAK,UAAU;YACnB,CAAC,CAAC,GAAG,eAAe,GAAG;YACvB,CAAC,CAAC,EAAE,CAAC;IACX,MAAM,IAAI,GAAkB;QAC1B,GAAG,OAAO;QACV,IAAI;QACJ,QAAQ;QACR,eAAe;QACf,OAAO,EAAE,OAAO,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;QAC9D,QAAQ,EACN,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC;YAC/D,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACvC,CAAC,CAAC,CAAC;QACP,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;YACvC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACtD,CAAC,CAAC,EAAE;KACP,CAAC;IACF,IAAI,OAAO,GAAG,CAAC,YAAY,KAAK,QAAQ,IAAI,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC;QACpE,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;IAC9C,CAAC;SAAM,CAAC;QACN,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IACD,IAAI,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;QAC7F,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC7C,CAAC;SAAM,CAAC;QACN,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IACD,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACzC,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;SAAM,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACjD,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAmB;IAClD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAClB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC7B,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;IAC1E,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YACrE,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC;IAC9B,CAAC;IACD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACpF,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,CAAC;QAC3C,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,MAA8C,EAC9C,OAAgB,EAChB,UAAsD,EAAE;IAExD,OAAO;QACL,EAAE,EAAE,UAAU,EAAE;QAChB,MAAM;QACN,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACxD,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,OAAmD,EACnD,KAAmC;IAEnC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,OAAmD,EACnD,OAAe,EACf,KACwD;IAExD,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;SACnB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;SACvE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;AAChB,CAAC;AAED,SAAS,sBAAsB,CAAC,OAAmD;IACjF,MAAM,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;IAC9B,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7C,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,KAAK,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;YAChC,OAAO,KAAK,CAAC,EAAE,CAAC;QAClB,CAAC;IACH,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,+BAA+B;IAC7C,OAAO,iBAAiB,UAAU,EAAE,EAAE,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,KAAa;IACvD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC9B,OAAO,QAAQ,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AAChG,CAAC;AAED,SAAS,WAAW,CAA0B,IAAO;IACnD,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,MAAM,GAAM,EAAE,GAAG,IAAI,EAAE,CAAC;IAC9B,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;SAAM,CAAC;QACN,OAAO,MAAM,CAAC,SAAS,CAAC;IAC1B,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc;IACzC,OAAO,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,UAAU,CAAC;AACtE,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,KAAK,GAAG,KAA8C,CAAC;IAC7D,OAAO,CACL,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ;QAC5B,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;QACnC,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS;YACzB,KAAK,CAAC,MAAM,KAAK,OAAO;YACxB,KAAK,CAAC,MAAM,KAAK,SAAS;YAC1B,KAAK,CAAC,MAAM,KAAK,QAAQ;YACzB,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC;QAC7B,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC;QACtE,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CACnE,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAa;IAC5C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAa;IACzC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACrD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACtB,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IACjC,MAAM,WAAW,GAA2B;QAC1C,CAAC,EAAE,CAAC;QACJ,CAAC,EAAE,EAAE;QACL,CAAC,EAAE,EAAE,GAAG,EAAE;QACV,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE;KAChB,CAAC;IACF,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QAC5C,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,uBAAuB,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAa;IACxC,MAAM,QAAQ,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAC9C,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7B,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CACb,0BAA0B,KAAK,sDAAsD,CACtF,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,kCAAkC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;AAC5B,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAa;IAC1C,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACvD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACtB,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IACjC,MAAM,WAAW,GAA2B;QAC1C,CAAC,EAAE,IAAI;QACP,CAAC,EAAE,EAAE,GAAG,IAAI;QACZ,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI;QACjB,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;KACvB,CAAC;IACF,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;QAC3D,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,GAAG,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;AAClE,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAa;IACzC,MAAM,QAAQ,GAAG,2BAA2B,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACrC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CAAC,8CAA8C,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACjF,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAClD,IAAI,CAAC,IAAI,EAAE,CAAC;AACd,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAa;IACxC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAClD,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAC9B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC3B,MAAM,CAAC,MAAM,EAAE,QAAQ,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChD,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;IAC7E,CAAC,CAAC,CACH,CAAC;IACF,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACxB,MAAM,IAAI,GAAG,gBAAgB,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1D,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,OAAO,GAAG,MAAM,UAAU,CAAC;IAC7B,CAAC;IACD,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACrB,OAAO,GAAG,MAAM,IAAI,IAAI,QAAQ,CAAC;IACnC,CAAC;IACD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,MAAM,GAAG,GAAG,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACxC,OAAO,GAAG,MAAM,IAAI,IAAI,QAAQ,GAAG,EAAE,CAAC;IACxC,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,gCAAgC,IAAI,IAAI,SAAS,EAAE,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,gBAAgB,CACvB,KAAyB,EACzB,QAAgB,EAChB,GAAW,EACX,GAAW;IAEX,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC,CAAC;IACzC,OAAO,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,GAAG,IAAI,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;AACxF,CAAC;AAED,SAAS,cAAc,CAAC,KAAyB;IAC/C,MAAM,IAAI,GAA2B;QACnC,EAAE,EAAE,GAAG;QACP,EAAE,EAAE,GAAG;QACP,EAAE,EAAE,GAAG;QACP,EAAE,EAAE,GAAG;QACP,EAAE,EAAE,GAAG;QACP,EAAE,EAAE,GAAG;QACP,EAAE,EAAE,GAAG;KACR,CAAC;IACF,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,GAAG,CAAC;IACb,CAAC;IACD,OAAO,KAAK;SACT,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;SAC9B,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/stores.d.ts
CHANGED
|
@@ -3,14 +3,16 @@ export declare class JsonScheduledTaskStore implements ScheduledTaskStore {
|
|
|
3
3
|
private readonly filePath;
|
|
4
4
|
private loaded;
|
|
5
5
|
private readonly tasks;
|
|
6
|
+
private writeTail;
|
|
6
7
|
constructor(filePath: string);
|
|
7
|
-
list(
|
|
8
|
-
get(taskId: string,
|
|
8
|
+
list(scope?: TaskSchedulerScope): Promise<ScheduledTask[]>;
|
|
9
|
+
get(taskId: string, scope?: TaskSchedulerScope): Promise<ScheduledTask | undefined>;
|
|
9
10
|
create(task: ScheduledTask): Promise<ScheduledTask>;
|
|
10
|
-
update(taskId: string, task: ScheduledTask,
|
|
11
|
-
delete(taskId: string,
|
|
11
|
+
update(taskId: string, task: ScheduledTask, scope?: TaskSchedulerScope): Promise<ScheduledTask | undefined>;
|
|
12
|
+
delete(taskId: string, scope?: TaskSchedulerScope): Promise<boolean>;
|
|
12
13
|
private load;
|
|
13
14
|
private save;
|
|
15
|
+
private updateState;
|
|
14
16
|
}
|
|
15
17
|
export declare class FileSchedulerLock implements SchedulerLock {
|
|
16
18
|
readonly path: string;
|
package/dist/stores.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stores.d.ts","sourceRoot":"","sources":["../src/stores.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"stores.d.ts","sourceRoot":"","sources":["../src/stores.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACxB,MAAM,YAAY,CAAC;AAGpB,qBAAa,sBAAuB,YAAW,kBAAkB;IAKnD,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAJrC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoC;IAC1D,OAAO,CAAC,SAAS,CAAuC;gBAE3B,QAAQ,EAAE,MAAM;IAEvC,IAAI,CAAC,KAAK,GAAE,kBAAuB,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAK9D,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,GAAE,kBAAuB,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAMvF,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IAQnD,MAAM,CACV,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,aAAa,EACnB,KAAK,GAAE,kBAAuB,GAC7B,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAgB/B,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,GAAE,kBAAuB,GAAG,OAAO,CAAC,OAAO,CAAC;YAUhE,IAAI;YAaJ,IAAI;YAIJ,WAAW;CAU1B;AAED,qBAAa,iBAAkB,YAAW,aAAa;IAGzC,QAAQ,CAAC,IAAI,EAAE,MAAM;IAFjC,OAAO,CAAC,QAAQ,CAAS;gBAEJ,IAAI,EAAE,MAAM;IAEjC,OAAO,IAAI,OAAO;IAwBlB,OAAO,IAAI,IAAI;IAef,UAAU,IAAI,OAAO;IAIrB,SAAS,IAAI,MAAM,GAAG,SAAS;CAYhC"}
|
package/dist/stores.js
CHANGED
|
@@ -1,47 +1,54 @@
|
|
|
1
1
|
import { mkdirSync, readFileSync, unlinkSync, writeFileSync } from 'node:fs';
|
|
2
2
|
import path from 'node:path';
|
|
3
|
-
import { normalizeScheduledTask, } from './index.js';
|
|
3
|
+
import { matchesScheduledTaskScope, normalizeScheduledTask, } from './index.js';
|
|
4
4
|
import { readJsonFile, writeJsonFile } from './json-file.js';
|
|
5
5
|
export class JsonScheduledTaskStore {
|
|
6
6
|
filePath;
|
|
7
7
|
loaded = false;
|
|
8
8
|
tasks = new Map();
|
|
9
|
+
writeTail = Promise.resolve();
|
|
9
10
|
constructor(filePath) {
|
|
10
11
|
this.filePath = filePath;
|
|
11
12
|
}
|
|
12
|
-
async list(
|
|
13
|
+
async list(scope = {}) {
|
|
13
14
|
await this.load();
|
|
14
|
-
return Array.from(this.tasks.values());
|
|
15
|
+
return Array.from(this.tasks.values()).filter((task) => matchesScheduledTaskScope(task, scope));
|
|
15
16
|
}
|
|
16
|
-
async get(taskId,
|
|
17
|
+
async get(taskId, scope = {}) {
|
|
17
18
|
await this.load();
|
|
18
|
-
|
|
19
|
+
const task = this.tasks.get(taskId);
|
|
20
|
+
return task && matchesScheduledTaskScope(task, scope) ? task : undefined;
|
|
19
21
|
}
|
|
20
22
|
async create(task) {
|
|
21
|
-
await this.load();
|
|
22
23
|
const normalized = normalizeScheduledTask(task);
|
|
23
|
-
this.
|
|
24
|
-
|
|
24
|
+
await this.updateState(() => {
|
|
25
|
+
this.tasks.set(normalized.id, normalized);
|
|
26
|
+
});
|
|
25
27
|
return normalized;
|
|
26
28
|
}
|
|
27
|
-
async update(taskId, task,
|
|
28
|
-
|
|
29
|
-
|
|
29
|
+
async update(taskId, task, scope = {}) {
|
|
30
|
+
const normalized = normalizeScheduledTask(task);
|
|
31
|
+
const updated = await this.updateState(() => {
|
|
32
|
+
const existing = this.tasks.get(taskId);
|
|
33
|
+
if (!existing || !matchesScheduledTaskScope(existing, scope)) {
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
36
|
+
this.tasks.set(taskId, normalized);
|
|
37
|
+
return true;
|
|
38
|
+
});
|
|
39
|
+
if (!updated) {
|
|
30
40
|
return undefined;
|
|
31
41
|
}
|
|
32
|
-
const normalized = normalizeScheduledTask(task);
|
|
33
|
-
this.tasks.set(taskId, normalized);
|
|
34
|
-
await this.save();
|
|
35
42
|
return normalized;
|
|
36
43
|
}
|
|
37
|
-
async delete(taskId,
|
|
38
|
-
await this.
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
44
|
+
async delete(taskId, scope = {}) {
|
|
45
|
+
return await this.updateState(() => {
|
|
46
|
+
const existing = this.tasks.get(taskId);
|
|
47
|
+
if (!existing || !matchesScheduledTaskScope(existing, scope)) {
|
|
48
|
+
return false;
|
|
49
|
+
}
|
|
50
|
+
return this.tasks.delete(taskId);
|
|
51
|
+
});
|
|
45
52
|
}
|
|
46
53
|
async load() {
|
|
47
54
|
if (this.loaded) {
|
|
@@ -58,6 +65,16 @@ export class JsonScheduledTaskStore {
|
|
|
58
65
|
async save() {
|
|
59
66
|
await writeJsonFile(this.filePath, Array.from(this.tasks.values()));
|
|
60
67
|
}
|
|
68
|
+
async updateState(mutator) {
|
|
69
|
+
const pending = this.writeTail.then(async () => {
|
|
70
|
+
await this.load();
|
|
71
|
+
const result = mutator();
|
|
72
|
+
await this.save();
|
|
73
|
+
return result;
|
|
74
|
+
});
|
|
75
|
+
this.writeTail = pending.catch(() => undefined);
|
|
76
|
+
return await pending;
|
|
77
|
+
}
|
|
61
78
|
}
|
|
62
79
|
export class FileSchedulerLock {
|
|
63
80
|
path;
|
package/dist/stores.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stores.js","sourceRoot":"","sources":["../src/stores.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EACL,sBAAsB,GAKvB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE7D,MAAM,OAAO,sBAAsB;
|
|
1
|
+
{"version":3,"file":"stores.js","sourceRoot":"","sources":["../src/stores.ts"],"names":[],"mappings":"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"}
|
package/dist/tools.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAIV,cAAc,EACf,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAKL,KAAK,aAAa,EACnB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAIV,cAAc,EACf,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAKL,KAAK,aAAa,EACnB,MAAM,YAAY,CAAC;AA8BpB,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,aAAa,GAAG,cAAc,EAAE,CA+M/E"}
|
package/dist/tools.js
CHANGED
|
@@ -16,6 +16,9 @@ function formatTaskSummary(task) {
|
|
|
16
16
|
prompt: task.prompt.length > 100 ? `${task.prompt.slice(0, 100)}…` : task.prompt,
|
|
17
17
|
};
|
|
18
18
|
}
|
|
19
|
+
function sessionScope(ctx) {
|
|
20
|
+
return { sessionId: ctx.sessionManager.getSessionId() };
|
|
21
|
+
}
|
|
19
22
|
const taskTypeSchema = Type.Union([
|
|
20
23
|
Type.Literal('cron'),
|
|
21
24
|
Type.Literal('once'),
|
|
@@ -26,17 +29,20 @@ export function createSchedulerTools(scheduler) {
|
|
|
26
29
|
{
|
|
27
30
|
name: 'scheduler_create',
|
|
28
31
|
label: 'Scheduler',
|
|
29
|
-
description: '
|
|
30
|
-
promptSnippet: '
|
|
32
|
+
description: 'Schedule a prompt to be executed automatically at a future time or on a recurring basis. Supports cron expressions, one-time (ISO timestamp or relative like "+10m"), and interval (e.g. "30s", "5m", "1h"). Use this when the user wants something to run later, repeatedly, or on a timer.',
|
|
33
|
+
promptSnippet: 'Schedule prompts to run automatically via cron, one-time delay, or fixed interval.',
|
|
31
34
|
parameters: Type.Object({
|
|
32
35
|
type: taskTypeSchema,
|
|
33
36
|
schedule: Type.String({
|
|
34
37
|
description: 'Schedule expression. Cron: "0 9 * * 1-5"; Once: ISO timestamp or "+10m"; Interval: "30s", "5m", "1h".',
|
|
35
38
|
}),
|
|
36
39
|
prompt: Type.String({ description: 'The prompt to execute when triggered.' }),
|
|
37
|
-
name: Type.Optional(Type.String({ description: 'Human-readable
|
|
38
|
-
description: Type.Optional(Type.String({ description: '
|
|
39
|
-
enabled: Type.Optional(Type.Boolean({ description: 'Whether
|
|
40
|
+
name: Type.Optional(Type.String({ description: 'Human-readable name for this scheduled prompt.' })),
|
|
41
|
+
description: Type.Optional(Type.String({ description: 'Description of this scheduled prompt.' })),
|
|
42
|
+
enabled: Type.Optional(Type.Boolean({ description: 'Whether this scheduled prompt is enabled. Default true.' })),
|
|
43
|
+
timeoutMs: Type.Optional(Type.Number({
|
|
44
|
+
description: 'Maximum execution time in milliseconds. Defaults to 30 minutes.',
|
|
45
|
+
})),
|
|
40
46
|
}),
|
|
41
47
|
async execute(_toolCallId, params, _signal, _onUpdate, ctx) {
|
|
42
48
|
try {
|
|
@@ -49,13 +55,16 @@ export function createSchedulerTools(scheduler) {
|
|
|
49
55
|
prompt: params.prompt,
|
|
50
56
|
sessionId: ctx.sessionManager?.getSessionId?.() ?? 'unknown',
|
|
51
57
|
model: {
|
|
52
|
-
provider: 'anthropic',
|
|
58
|
+
provider: ctx.model?.provider ?? 'anthropic',
|
|
53
59
|
model: ctx.model?.id ?? 'unknown',
|
|
54
60
|
},
|
|
55
|
-
toolPolicyProfile: '
|
|
61
|
+
toolPolicyProfile: 'workspace-write',
|
|
56
62
|
enabled: params.enabled !== false,
|
|
57
63
|
...(params.name ? { name: params.name } : {}),
|
|
58
64
|
...(params.description ? { description: params.description } : {}),
|
|
65
|
+
...(typeof params.timeoutMs === 'number'
|
|
66
|
+
? { timeoutMs: params.timeoutMs }
|
|
67
|
+
: {}),
|
|
59
68
|
};
|
|
60
69
|
const task = await scheduler.create(input);
|
|
61
70
|
return textResult(JSON.stringify(formatTaskSummary(task), null, 2));
|
|
@@ -68,11 +77,11 @@ export function createSchedulerTools(scheduler) {
|
|
|
68
77
|
{
|
|
69
78
|
name: 'scheduler_list',
|
|
70
79
|
label: 'Scheduler',
|
|
71
|
-
description: 'List all scheduled
|
|
72
|
-
promptSnippet: 'List all scheduled
|
|
80
|
+
description: 'List all scheduled prompts with their status and next run time.',
|
|
81
|
+
promptSnippet: 'List all scheduled prompts.',
|
|
73
82
|
parameters: Type.Object({}),
|
|
74
|
-
async execute() {
|
|
75
|
-
const tasks = await scheduler.list();
|
|
83
|
+
async execute(_id, _params, _signal, _onUpdate, ctx) {
|
|
84
|
+
const tasks = await scheduler.list(sessionScope(ctx));
|
|
76
85
|
if (tasks.length === 0) {
|
|
77
86
|
return textResult('No scheduled tasks.');
|
|
78
87
|
}
|
|
@@ -83,12 +92,12 @@ export function createSchedulerTools(scheduler) {
|
|
|
83
92
|
{
|
|
84
93
|
name: 'scheduler_get',
|
|
85
94
|
label: 'Scheduler',
|
|
86
|
-
description: 'Get detailed information about a scheduled
|
|
95
|
+
description: 'Get detailed information about a scheduled prompt, including its schedule and run history.',
|
|
87
96
|
parameters: Type.Object({
|
|
88
|
-
taskId: Type.String({ description: 'The
|
|
97
|
+
taskId: Type.String({ description: 'The scheduled-prompt ID to query.' }),
|
|
89
98
|
}),
|
|
90
|
-
async execute(_toolCallId, params) {
|
|
91
|
-
const task = await scheduler.get(params.taskId);
|
|
99
|
+
async execute(_toolCallId, params, _signal, _onUpdate, ctx) {
|
|
100
|
+
const task = await scheduler.get(params.taskId, sessionScope(ctx));
|
|
92
101
|
if (!task) {
|
|
93
102
|
return textResult(`Task not found: ${params.taskId}`);
|
|
94
103
|
}
|
|
@@ -98,22 +107,27 @@ export function createSchedulerTools(scheduler) {
|
|
|
98
107
|
{
|
|
99
108
|
name: 'scheduler_update',
|
|
100
109
|
label: 'Scheduler',
|
|
101
|
-
description: 'Update a scheduled
|
|
110
|
+
description: 'Update a scheduled prompt. Can change schedule, prompt text, name, or enable/disable.',
|
|
102
111
|
parameters: Type.Object({
|
|
103
|
-
taskId: Type.String({ description: 'The
|
|
112
|
+
taskId: Type.String({ description: 'The scheduled-prompt ID to update.' }),
|
|
104
113
|
type: Type.Optional(taskTypeSchema),
|
|
105
114
|
schedule: Type.Optional(Type.String({ description: 'New schedule expression.' })),
|
|
106
115
|
prompt: Type.Optional(Type.String({ description: 'New prompt.' })),
|
|
107
116
|
name: Type.Optional(Type.String({ description: 'New name.' })),
|
|
108
117
|
description: Type.Optional(Type.String({ description: 'New description.' })),
|
|
109
|
-
enabled: Type.Optional(Type.Boolean({ description: 'Enable or disable
|
|
118
|
+
enabled: Type.Optional(Type.Boolean({ description: 'Enable or disable.' })),
|
|
110
119
|
}),
|
|
111
|
-
async execute(_toolCallId, params) {
|
|
112
|
-
const { taskId, type, schedule,
|
|
113
|
-
const update = {
|
|
120
|
+
async execute(_toolCallId, params, _signal, _onUpdate, ctx) {
|
|
121
|
+
const { taskId, type, schedule, prompt, name, description, enabled } = params;
|
|
122
|
+
const update = {
|
|
123
|
+
...(prompt !== undefined ? { prompt } : {}),
|
|
124
|
+
...(name !== undefined ? { name } : {}),
|
|
125
|
+
...(description !== undefined ? { description } : {}),
|
|
126
|
+
...(enabled !== undefined ? { enabled } : {}),
|
|
127
|
+
};
|
|
114
128
|
if (type !== undefined || schedule !== undefined) {
|
|
115
129
|
try {
|
|
116
|
-
const existing = await scheduler.get(taskId);
|
|
130
|
+
const existing = await scheduler.get(taskId, sessionScope(ctx));
|
|
117
131
|
if (!existing) {
|
|
118
132
|
return textResult(`Task not found: ${taskId}`);
|
|
119
133
|
}
|
|
@@ -127,7 +141,7 @@ export function createSchedulerTools(scheduler) {
|
|
|
127
141
|
return textResult(`Invalid schedule: ${error instanceof Error ? error.message : String(error)}`);
|
|
128
142
|
}
|
|
129
143
|
}
|
|
130
|
-
const task = await scheduler.update(taskId, update);
|
|
144
|
+
const task = await scheduler.update(taskId, update, sessionScope(ctx));
|
|
131
145
|
if (!task) {
|
|
132
146
|
return textResult(`Task not found: ${taskId}`);
|
|
133
147
|
}
|
|
@@ -137,26 +151,26 @@ export function createSchedulerTools(scheduler) {
|
|
|
137
151
|
{
|
|
138
152
|
name: 'scheduler_delete',
|
|
139
153
|
label: 'Scheduler',
|
|
140
|
-
description: 'Delete a scheduled
|
|
154
|
+
description: 'Delete a scheduled prompt.',
|
|
141
155
|
parameters: Type.Object({
|
|
142
|
-
taskId: Type.String({ description: 'The
|
|
156
|
+
taskId: Type.String({ description: 'The scheduled-prompt ID to delete.' }),
|
|
143
157
|
}),
|
|
144
|
-
async execute(_toolCallId, params) {
|
|
158
|
+
async execute(_toolCallId, params, _signal, _onUpdate, ctx) {
|
|
145
159
|
const taskId = params.taskId;
|
|
146
|
-
const deleted = await scheduler.delete(taskId);
|
|
160
|
+
const deleted = await scheduler.delete(taskId, sessionScope(ctx));
|
|
147
161
|
return textResult(deleted ? `Deleted task: ${taskId}` : `Task not found: ${taskId}`);
|
|
148
162
|
},
|
|
149
163
|
},
|
|
150
164
|
{
|
|
151
165
|
name: 'scheduler_run_now',
|
|
152
166
|
label: 'Scheduler',
|
|
153
|
-
description: 'Trigger immediate execution of a scheduled
|
|
167
|
+
description: 'Trigger immediate execution of a scheduled prompt, ignoring its schedule.',
|
|
154
168
|
parameters: Type.Object({
|
|
155
|
-
taskId: Type.String({ description: 'The
|
|
169
|
+
taskId: Type.String({ description: 'The scheduled-prompt ID to run immediately.' }),
|
|
156
170
|
}),
|
|
157
|
-
async execute(_toolCallId, params) {
|
|
171
|
+
async execute(_toolCallId, params, _signal, _onUpdate, ctx) {
|
|
158
172
|
const taskId = params.taskId;
|
|
159
|
-
const task = await scheduler.runNow(taskId);
|
|
173
|
+
const task = await scheduler.runNow(taskId, sessionScope(ctx));
|
|
160
174
|
if (!task) {
|
|
161
175
|
return textResult(`Task not found: ${taskId}`);
|
|
162
176
|
}
|
package/dist/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EACL,8BAA8B,GAK/B,MAAM,YAAY,CAAC;AAEpB,SAAS,UAAU,CAAC,IAAY;IAC9B,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;AAC5E,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAmB;IAC5C,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,SAAS;QACxC,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM;KACjF,CAAC;AACJ,CAAC;AAED,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC;IAChC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IACpB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IACpB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;CACzB,CAAC,CAAC;AAEH,MAAM,UAAU,oBAAoB,CAAC,SAAwB;IAC3D,OAAO;QACL;YACE,IAAI,EAAE,kBAAkB;YACxB,KAAK,EAAE,WAAW;YAClB,WAAW,EACT,
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@amaster.ai/pi-task-scheduler",
|
|
3
|
-
"version": "0.1.2-beta.
|
|
3
|
+
"version": "0.1.2-beta.60",
|
|
4
4
|
"description": "Pi extension for cron-based scheduled task management with LLM-callable tools",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"pi-package",
|
|
@@ -37,12 +37,14 @@
|
|
|
37
37
|
}
|
|
38
38
|
},
|
|
39
39
|
"pi": {
|
|
40
|
+
"image": "https://raw.githubusercontent.com/TGYD-helige/pi/master/packages/pi-task-scheduler/preview.png",
|
|
40
41
|
"extensions": [
|
|
41
42
|
"./dist/index.js"
|
|
42
43
|
]
|
|
43
44
|
},
|
|
44
45
|
"files": [
|
|
45
46
|
"dist",
|
|
47
|
+
"preview.png",
|
|
46
48
|
"README.md"
|
|
47
49
|
],
|
|
48
50
|
"publishConfig": {
|
|
@@ -55,10 +57,10 @@
|
|
|
55
57
|
},
|
|
56
58
|
"dependencies": {
|
|
57
59
|
"croner": "^10.0.1",
|
|
58
|
-
"@amaster.ai/pi-shared": "0.1.2-beta.
|
|
60
|
+
"@amaster.ai/pi-shared": "0.1.2-beta.60"
|
|
59
61
|
},
|
|
60
62
|
"peerDependencies": {
|
|
61
|
-
"@earendil-works/pi-coding-agent": ">=0.
|
|
63
|
+
"@earendil-works/pi-coding-agent": ">=0.79.1",
|
|
62
64
|
"typebox": "*"
|
|
63
65
|
},
|
|
64
66
|
"peerDependenciesMeta": {
|
|
@@ -70,7 +72,7 @@
|
|
|
70
72
|
}
|
|
71
73
|
},
|
|
72
74
|
"devDependencies": {
|
|
73
|
-
"@earendil-works/pi-coding-agent": "0.
|
|
75
|
+
"@earendil-works/pi-coding-agent": "0.80.10",
|
|
74
76
|
"typebox": "*",
|
|
75
77
|
"vitest": "^4.0.0"
|
|
76
78
|
},
|
package/preview.png
ADDED
|
Binary file
|