@poping/yome 0.0.3 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -7
- package/README.zh-CN.md +5 -7
- package/bin/yome-calwatch +0 -0
- package/dist/context.js +6 -3
- package/dist/context.js.map +1 -1
- package/dist/daemon/calendarPermission.d.ts +10 -0
- package/dist/daemon/calendarPermission.js +68 -0
- package/dist/daemon/calendarPermission.js.map +1 -0
- package/dist/daemon/cronCli.d.ts +19 -0
- package/dist/daemon/cronCli.js +403 -0
- package/dist/daemon/cronCli.js.map +1 -0
- package/dist/daemon/envHint.d.ts +5 -0
- package/dist/daemon/envHint.js +139 -0
- package/dist/daemon/envHint.js.map +1 -0
- package/dist/daemon/humanCron.d.ts +1 -0
- package/dist/daemon/humanCron.js +72 -0
- package/dist/daemon/humanCron.js.map +1 -0
- package/dist/daemon/humanOnce.d.ts +1 -0
- package/dist/daemon/humanOnce.js +54 -0
- package/dist/daemon/humanOnce.js.map +1 -0
- package/dist/daemon/index.d.ts +5 -0
- package/dist/daemon/index.js +168 -0
- package/dist/daemon/index.js.map +1 -0
- package/dist/daemon/launchd.d.ts +7 -0
- package/dist/daemon/launchd.js +93 -0
- package/dist/daemon/launchd.js.map +1 -0
- package/dist/daemon/log.d.ts +17 -0
- package/dist/daemon/log.js +57 -0
- package/dist/daemon/log.js.map +1 -0
- package/dist/daemon/paths.d.ts +11 -0
- package/dist/daemon/paths.js +27 -0
- package/dist/daemon/paths.js.map +1 -0
- package/dist/daemon/runTaskEntry.d.ts +1 -0
- package/dist/daemon/runTaskEntry.js +67 -0
- package/dist/daemon/runTaskEntry.js.map +1 -0
- package/dist/daemon/runner.d.ts +21 -0
- package/dist/daemon/runner.js +175 -0
- package/dist/daemon/runner.js.map +1 -0
- package/dist/daemon/scheduler.d.ts +5 -0
- package/dist/daemon/scheduler.js +162 -0
- package/dist/daemon/scheduler.js.map +1 -0
- package/dist/daemon/taskStore.d.ts +62 -0
- package/dist/daemon/taskStore.js +88 -0
- package/dist/daemon/taskStore.js.map +1 -0
- package/dist/daemon/triggers/calendar.d.ts +8 -0
- package/dist/daemon/triggers/calendar.js +248 -0
- package/dist/daemon/triggers/calendar.js.map +1 -0
- package/dist/daemon/triggers/childRunner.d.ts +14 -0
- package/dist/daemon/triggers/childRunner.js +111 -0
- package/dist/daemon/triggers/childRunner.js.map +1 -0
- package/dist/daemon/triggers/cron.d.ts +14 -0
- package/dist/daemon/triggers/cron.js +91 -0
- package/dist/daemon/triggers/cron.js.map +1 -0
- package/dist/daemon/triggers/file.d.ts +7 -0
- package/dist/daemon/triggers/file.js +123 -0
- package/dist/daemon/triggers/file.js.map +1 -0
- package/dist/daemon/triggers/once.d.ts +10 -0
- package/dist/daemon/triggers/once.js +80 -0
- package/dist/daemon/triggers/once.js.map +1 -0
- package/dist/index.js +96 -9
- package/dist/index.js.map +1 -1
- package/dist/skills/runner/dispatcher.d.ts +74 -3
- package/dist/skills/runner/dispatcher.js +258 -48
- package/dist/skills/runner/dispatcher.js.map +1 -1
- package/dist/skills/runner/dispatcher.test.d.ts +1 -0
- package/dist/skills/runner/dispatcher.test.js +141 -0
- package/dist/skills/runner/dispatcher.test.js.map +1 -0
- package/dist/skills/runner/kernel.js +0 -1
- package/dist/skills/runner/kernel.js.map +1 -1
- package/dist/skills/runner/nodeBackend.d.ts +32 -0
- package/dist/skills/runner/nodeBackend.js +147 -0
- package/dist/skills/runner/nodeBackend.js.map +1 -0
- package/dist/state/todos.d.ts +12 -0
- package/dist/state/todos.js +32 -0
- package/dist/state/todos.js.map +1 -0
- package/dist/tools/askUser.d.ts +20 -0
- package/dist/tools/askUser.js +126 -0
- package/dist/tools/askUser.js.map +1 -0
- package/dist/tools/bash.js +13 -19
- package/dist/tools/bash.js.map +1 -1
- package/dist/tools/index.d.ts +2 -0
- package/dist/tools/index.js +18 -5
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/todoWrite.d.ts +2 -0
- package/dist/tools/todoWrite.js +141 -0
- package/dist/tools/todoWrite.js.map +1 -0
- package/dist/tools/yome.d.ts +2 -0
- package/dist/tools/yome.js +87 -0
- package/dist/tools/yome.js.map +1 -0
- package/dist/ui/App.js +52 -3
- package/dist/ui/App.js.map +1 -1
- package/dist/ui/AskUserPrompt.d.ts +7 -0
- package/dist/ui/AskUserPrompt.js +78 -0
- package/dist/ui/AskUserPrompt.js.map +1 -0
- package/dist/ui/InputBar.js +20 -34
- package/dist/ui/InputBar.js.map +1 -1
- package/dist/ui/MessageList.d.ts +8 -0
- package/dist/ui/MessageList.js +2 -2
- package/dist/ui/MessageList.js.map +1 -1
- package/dist/ui/MultilineTextInput.d.ts +31 -0
- package/dist/ui/MultilineTextInput.js +393 -0
- package/dist/ui/MultilineTextInput.js.map +1 -0
- package/dist/ui/MultilineTextInput.test.d.ts +1 -0
- package/dist/ui/MultilineTextInput.test.js +30 -0
- package/dist/ui/MultilineTextInput.test.js.map +1 -0
- package/dist/ui/TodoPanel.d.ts +7 -0
- package/dist/ui/TodoPanel.js +36 -0
- package/dist/ui/TodoPanel.js.map +1 -0
- package/dist/yomeSkills/cli.d.ts +8 -0
- package/dist/yomeSkills/cli.js +155 -8
- package/dist/yomeSkills/cli.js.map +1 -1
- package/dist/yomeSkills/deprecate.d.ts +29 -0
- package/dist/yomeSkills/deprecate.js +99 -0
- package/dist/yomeSkills/deprecate.js.map +1 -0
- package/dist/yomeSkills/installFromHubTarball.d.ts +26 -0
- package/dist/yomeSkills/installFromHubTarball.js +161 -0
- package/dist/yomeSkills/installFromHubTarball.js.map +1 -0
- package/dist/yomeSkills/installGithub.d.ts +7 -0
- package/dist/yomeSkills/installGithub.js +42 -21
- package/dist/yomeSkills/installGithub.js.map +1 -1
- package/dist/yomeSkills/invoke.js +50 -18
- package/dist/yomeSkills/invoke.js.map +1 -1
- package/dist/yomeSkills/publish.d.ts +2 -0
- package/dist/yomeSkills/publish.js +6 -1
- package/dist/yomeSkills/publish.js.map +1 -1
- package/package.json +10 -2
|
@@ -80,55 +80,167 @@ function isTruthy(v) {
|
|
|
80
80
|
return v !== 0;
|
|
81
81
|
return false;
|
|
82
82
|
}
|
|
83
|
-
// Named
|
|
84
|
-
//
|
|
85
|
-
//
|
|
86
|
-
|
|
83
|
+
// Named colors that map to RGB triples. Superset of the CSS named-color list,
|
|
84
|
+
// extended with a few CN-friendly aliases. Single source of truth on the CLI
|
|
85
|
+
// side; the Swift bridges (PowerPointBridge / WordBridge / NumbersBridge /
|
|
86
|
+
// PagesBridge / KeynoteBridge) intentionally mirror this table — when adding
|
|
87
|
+
// or renaming an entry here, update those Swift maps in lockstep.
|
|
88
|
+
export const NAMED_COLORS = {
|
|
89
|
+
// grayscale
|
|
87
90
|
black: [0, 0, 0],
|
|
88
91
|
white: [255, 255, 255],
|
|
92
|
+
gray: [128, 128, 128],
|
|
93
|
+
grey: [128, 128, 128],
|
|
94
|
+
silver: [192, 192, 192],
|
|
95
|
+
lightgray: [211, 211, 211],
|
|
96
|
+
lightgrey: [211, 211, 211],
|
|
97
|
+
darkgray: [169, 169, 169],
|
|
98
|
+
darkgrey: [169, 169, 169],
|
|
99
|
+
// primaries / secondaries
|
|
89
100
|
red: [255, 0, 0],
|
|
90
101
|
green: [0, 128, 0],
|
|
102
|
+
lime: [0, 255, 0],
|
|
91
103
|
blue: [0, 0, 255],
|
|
104
|
+
yellow: [255, 255, 0],
|
|
105
|
+
cyan: [0, 255, 255],
|
|
106
|
+
aqua: [0, 255, 255],
|
|
107
|
+
magenta: [255, 0, 255],
|
|
108
|
+
fuchsia: [255, 0, 255],
|
|
109
|
+
// common css
|
|
92
110
|
navy: [0, 51, 102],
|
|
93
111
|
darkblue: [0, 51, 102],
|
|
94
|
-
|
|
112
|
+
royalblue: [65, 105, 225],
|
|
113
|
+
midnightblue: [25, 25, 112],
|
|
114
|
+
steelblue: [70, 130, 180],
|
|
115
|
+
skyblue: [135, 206, 235],
|
|
116
|
+
lightblue: [173, 216, 230],
|
|
117
|
+
teal: [0, 128, 128],
|
|
118
|
+
darkgreen: [0, 100, 0],
|
|
119
|
+
lightgreen: [144, 238, 144],
|
|
120
|
+
olive: [128, 128, 0],
|
|
95
121
|
orange: [255, 165, 0],
|
|
96
|
-
|
|
122
|
+
darkorange: [255, 140, 0],
|
|
123
|
+
gold: [255, 215, 0],
|
|
124
|
+
brown: [165, 42, 42],
|
|
125
|
+
maroon: [128, 0, 0],
|
|
126
|
+
crimson: [220, 20, 60],
|
|
97
127
|
pink: [255, 192, 203],
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
128
|
+
hotpink: [255, 105, 180],
|
|
129
|
+
purple: [128, 0, 128],
|
|
130
|
+
violet: [238, 130, 238],
|
|
131
|
+
indigo: [75, 0, 130],
|
|
132
|
+
beige: [245, 245, 220],
|
|
133
|
+
ivory: [255, 255, 240],
|
|
134
|
+
khaki: [240, 230, 140],
|
|
135
|
+
tan: [210, 180, 140],
|
|
136
|
+
// CN aliases (commonly used in prompts / docs)
|
|
137
|
+
'黑': [0, 0, 0],
|
|
138
|
+
'黑色': [0, 0, 0],
|
|
139
|
+
'白': [255, 255, 255],
|
|
140
|
+
'白色': [255, 255, 255],
|
|
141
|
+
'红': [255, 0, 0],
|
|
142
|
+
'红色': [255, 0, 0],
|
|
143
|
+
'蓝': [0, 0, 255],
|
|
144
|
+
'蓝色': [0, 0, 255],
|
|
145
|
+
'深蓝': [0, 51, 102],
|
|
146
|
+
'海军蓝': [0, 51, 102],
|
|
147
|
+
'绿': [0, 128, 0],
|
|
148
|
+
'绿色': [0, 128, 0],
|
|
149
|
+
'深绿': [0, 100, 0],
|
|
150
|
+
'黄': [255, 255, 0],
|
|
151
|
+
'黄色': [255, 255, 0],
|
|
152
|
+
'橙': [255, 165, 0],
|
|
153
|
+
'橙色': [255, 165, 0],
|
|
154
|
+
'紫': [128, 0, 128],
|
|
155
|
+
'紫色': [128, 0, 128],
|
|
156
|
+
'粉': [255, 192, 203],
|
|
157
|
+
'粉色': [255, 192, 203],
|
|
158
|
+
'灰': [128, 128, 128],
|
|
159
|
+
'灰色': [128, 128, 128],
|
|
160
|
+
'浅灰': [211, 211, 211],
|
|
161
|
+
'深灰': [169, 169, 169],
|
|
162
|
+
'青': [0, 255, 255],
|
|
163
|
+
'青色': [0, 255, 255],
|
|
101
164
|
};
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
* those three forms — callers should treat null as "user gave a bad color".
|
|
106
|
-
*/
|
|
107
|
-
export function parseColorToAppleScriptRGB(input) {
|
|
108
|
-
const s = input.trim();
|
|
165
|
+
export function parseColor(input) {
|
|
166
|
+
const raw = String(input ?? '');
|
|
167
|
+
const s = raw.trim();
|
|
109
168
|
if (!s)
|
|
110
|
-
return
|
|
169
|
+
return { ok: false, error: { input: raw, reason: 'color is empty' } };
|
|
111
170
|
// R,G,B
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
171
|
+
if (s.includes(',')) {
|
|
172
|
+
const csv = s.split(',').map((p) => p.trim());
|
|
173
|
+
if (csv.length === 3) {
|
|
174
|
+
const [r, g, b] = csv.map(Number);
|
|
175
|
+
if ([r, g, b].every((n) => Number.isInteger(n) && n >= 0 && n <= 255)) {
|
|
176
|
+
return { ok: true, literal: `{${r}, ${g}, ${b}}`, rgb: [r, g, b] };
|
|
177
|
+
}
|
|
178
|
+
return {
|
|
179
|
+
ok: false,
|
|
180
|
+
error: {
|
|
181
|
+
input: raw,
|
|
182
|
+
reason: 'looks like R,G,B but channels must be integers in 0..255',
|
|
183
|
+
},
|
|
184
|
+
};
|
|
117
185
|
}
|
|
118
186
|
}
|
|
119
|
-
// #RRGGBB or RRGGBB
|
|
187
|
+
// #RRGGBB or RRGGBB (only when the string is hex-shaped — never accept a
|
|
188
|
+
// bare named color as hex by accident, e.g. `cab` is not a color, `bed`
|
|
189
|
+
// would otherwise parse as #00bed0).
|
|
120
190
|
let hex = s.toLowerCase();
|
|
121
191
|
if (hex.startsWith('#'))
|
|
122
192
|
hex = hex.slice(1);
|
|
123
|
-
if (/^[0-9a-f]{6}$/.test(hex)) {
|
|
193
|
+
if (/^[0-9a-f]{6}$/.test(hex) && (s.startsWith('#') || /^[0-9a-f]{6}$/.test(s.toLowerCase()))) {
|
|
124
194
|
const v = parseInt(hex, 16);
|
|
125
|
-
|
|
195
|
+
const r = (v >> 16) & 0xff, g = (v >> 8) & 0xff, b = v & 0xff;
|
|
196
|
+
return { ok: true, literal: `{${r}, ${g}, ${b}}`, rgb: [r, g, b] };
|
|
126
197
|
}
|
|
127
198
|
// named
|
|
128
|
-
const
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
199
|
+
const key = s.toLowerCase();
|
|
200
|
+
const named = NAMED_COLORS[key] ?? NAMED_COLORS[s]; // CN keys aren't lowercased
|
|
201
|
+
if (named) {
|
|
202
|
+
return { ok: true, literal: `{${named[0]}, ${named[1]}, ${named[2]}}`, rgb: named };
|
|
203
|
+
}
|
|
204
|
+
return {
|
|
205
|
+
ok: false,
|
|
206
|
+
error: {
|
|
207
|
+
input: raw,
|
|
208
|
+
reason: 'unrecognised color (use #RRGGBB, R,G,B, or a named color like ' +
|
|
209
|
+
'red/blue/navy/teal/gray; full list in NAMED_COLORS)',
|
|
210
|
+
},
|
|
211
|
+
};
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Back-compat wrapper that returns the literal or null. New code should use
|
|
215
|
+
* `parseColor()` so the failure reason can be surfaced to the user.
|
|
216
|
+
*/
|
|
217
|
+
export function parseColorToAppleScriptRGB(input) {
|
|
218
|
+
const r = parseColor(input);
|
|
219
|
+
return r.ok ? r.literal : null;
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* `--type` alias → AppleScript `MsoAutoShapeType` enum literal. Unknown
|
|
223
|
+
* aliases degrade to `autoshape rectangle` so the template never emits
|
|
224
|
+
* broken AppleScript.
|
|
225
|
+
*/
|
|
226
|
+
export function parseAutoshapeToAppleScript(input) {
|
|
227
|
+
switch (input.trim().toLowerCase()) {
|
|
228
|
+
case 'rectangle': return 'autoshape rectangle';
|
|
229
|
+
case 'oval': return 'autoshape oval';
|
|
230
|
+
case 'roundedrect':
|
|
231
|
+
case 'roundedrectangle': return 'autoshape rounded rectangle';
|
|
232
|
+
case 'triangle': return 'autoshape isosceles triangle';
|
|
233
|
+
case 'rightarrow': return 'autoshape right arrow';
|
|
234
|
+
case 'star5':
|
|
235
|
+
case 'star': return 'autoshape five point star';
|
|
236
|
+
case 'pentagon': return 'autoshape regular pentagon';
|
|
237
|
+
case 'diamond': return 'autoshape diamond';
|
|
238
|
+
case 'hexagon': return 'autoshape hexagon';
|
|
239
|
+
case 'cloud': return 'autoshape cloud';
|
|
240
|
+
case 'lightningbolt': return 'autoshape lightning bolt';
|
|
241
|
+
case 'heart': return 'autoshape heart';
|
|
242
|
+
default: return 'autoshape rectangle';
|
|
243
|
+
}
|
|
132
244
|
}
|
|
133
245
|
/**
|
|
134
246
|
* `--align` parser → AppleScript `paragraph align ...` enum.
|
|
@@ -143,9 +255,28 @@ export function parseAlignToAppleScript(input) {
|
|
|
143
255
|
default: return 'paragraph align left';
|
|
144
256
|
}
|
|
145
257
|
}
|
|
146
|
-
|
|
258
|
+
/**
|
|
259
|
+
* Render an AppleScript template.
|
|
260
|
+
*
|
|
261
|
+
* Two failure modes exist:
|
|
262
|
+
* - "soft": the filter accepts any input and just renders something
|
|
263
|
+
* (`json`, `posix`, `bool`, `as_int`, `align`, `autoshape`). These never
|
|
264
|
+
* populate `errors`.
|
|
265
|
+
* - "hard": the filter validates input and can reject it (`rgb`). When
|
|
266
|
+
* rejected we emit a syntactically VALID placeholder (`missing value`)
|
|
267
|
+
* so the rendered AppleScript still parses, AND we record the error
|
|
268
|
+
* in `errors[]`. The dispatcher checks `errors` BEFORE running osascript
|
|
269
|
+
* and refuses to run with a structured message — no more silent failure
|
|
270
|
+
* where `bg=深蓝` quietly emitted broken AppleScript.
|
|
271
|
+
*
|
|
272
|
+
* `{{name}}` / `{{name|filter}}` is the substitution syntax.
|
|
273
|
+
* `{{#if name}}…{{/if}}` is the conditional block (greedy, not nestable).
|
|
274
|
+
* Substitution happens AFTER conditionals, so a `{{#if bg}}…{{bg|rgb}}…{{/if}}`
|
|
275
|
+
* block whose `bg` was stripped never reaches the filter.
|
|
276
|
+
*/
|
|
277
|
+
export function renderTemplate(tpl, ctx) {
|
|
278
|
+
const errors = [];
|
|
147
279
|
// {{#if name}}...{{/if}} — block emitted only when ctx[name] is truthy.
|
|
148
|
-
// Greedy: not nestable. Sufficient for our skill templates.
|
|
149
280
|
let out = tpl.replace(/\{\{#if\s+([\w-]+)\s*\}\}([\s\S]*?)\{\{\/if\}\}/g, (_, name, body) => {
|
|
150
281
|
return isTruthy(ctx[name]) ? body : '';
|
|
151
282
|
});
|
|
@@ -169,18 +300,31 @@ function renderTemplate(tpl, ctx) {
|
|
|
169
300
|
return Number.isFinite(n) ? String(n) : '0';
|
|
170
301
|
}
|
|
171
302
|
if (filter === 'rgb') {
|
|
172
|
-
//
|
|
173
|
-
//
|
|
174
|
-
//
|
|
175
|
-
|
|
176
|
-
|
|
303
|
+
// An empty/false value means "user didn't pass this optional flag" —
|
|
304
|
+
// emit an empty literal so templates that do `set x to {{c|rgb}}`
|
|
305
|
+
// followed by `if x is not "" then …` keep working. We only validate
|
|
306
|
+
// when the user ACTUALLY provided a value.
|
|
307
|
+
const s = String(raw);
|
|
308
|
+
if (s === '' || raw === false)
|
|
309
|
+
return '""';
|
|
310
|
+
const r = parseColor(s);
|
|
311
|
+
if (r.ok)
|
|
312
|
+
return r.literal;
|
|
313
|
+
errors.push({ arg: name, filter: 'rgb', reason: `--${name}=${r.error.input}: ${r.error.reason}` });
|
|
314
|
+
// Emit a syntactically VALID AppleScript token so the surrounding
|
|
315
|
+
// script still parses — the dispatcher sees `errors[]` populated and
|
|
316
|
+
// refuses to run osascript anyway, but we want render to be total.
|
|
317
|
+
return 'missing value';
|
|
177
318
|
}
|
|
178
319
|
if (filter === 'align') {
|
|
179
320
|
return parseAlignToAppleScript(String(raw));
|
|
180
321
|
}
|
|
322
|
+
if (filter === 'autoshape') {
|
|
323
|
+
return parseAutoshapeToAppleScript(String(raw));
|
|
324
|
+
}
|
|
181
325
|
return String(raw);
|
|
182
326
|
});
|
|
183
|
-
return out;
|
|
327
|
+
return { source: out, errors };
|
|
184
328
|
}
|
|
185
329
|
// ──────────────────────────────────────────────────────────────────────
|
|
186
330
|
// Dispatcher
|
|
@@ -237,7 +381,16 @@ export function dispatchMacos(skillDir, action, call) {
|
|
|
237
381
|
catch (e) {
|
|
238
382
|
return { ok: false, stdout: '', stderr: `read script failed: ${e.message}`, exitCode: 2 };
|
|
239
383
|
}
|
|
240
|
-
const
|
|
384
|
+
const rendered = renderTemplate(tpl, ctx);
|
|
385
|
+
if (rendered.errors.length > 0) {
|
|
386
|
+
return {
|
|
387
|
+
ok: false,
|
|
388
|
+
stdout: '',
|
|
389
|
+
stderr: rendered.errors.map((e) => `[${action}] bad argument: ${e.reason}`).join('\n'),
|
|
390
|
+
exitCode: 2,
|
|
391
|
+
};
|
|
392
|
+
}
|
|
393
|
+
const source = rendered.source;
|
|
241
394
|
if (process.env.YOME_DEBUG_SKILL === '1') {
|
|
242
395
|
process.stderr.write(`── rendered ${actionSpec.script} ──\n${source}\n── end ──\n`);
|
|
243
396
|
}
|
|
@@ -255,7 +408,15 @@ export function dispatchMacos(skillDir, action, call) {
|
|
|
255
408
|
if (actionSpec.pollScript) {
|
|
256
409
|
const p = join(skillDir, 'backends', 'macos', actionSpec.pollScript);
|
|
257
410
|
if (existsSync(p)) {
|
|
258
|
-
|
|
411
|
+
const r = renderTemplate(readFileSync(p, 'utf-8'), ctx);
|
|
412
|
+
if (r.errors.length > 0) {
|
|
413
|
+
return {
|
|
414
|
+
ok: false, stdout: '',
|
|
415
|
+
stderr: r.errors.map((e) => `[${action}.poll] bad argument: ${e.reason}`).join('\n'),
|
|
416
|
+
exitCode: 2,
|
|
417
|
+
};
|
|
418
|
+
}
|
|
419
|
+
pollSrc = r.source;
|
|
259
420
|
}
|
|
260
421
|
}
|
|
261
422
|
if (!pollSrc)
|
|
@@ -321,10 +482,21 @@ export async function dispatchMacosBatchMerged(skillDir, entries, opts) {
|
|
|
321
482
|
}
|
|
322
483
|
const tpl = readFileSync(scriptPath, 'utf-8');
|
|
323
484
|
const rendered = renderTemplate(tpl, ctx);
|
|
485
|
+
if (rendered.errors.length > 0) {
|
|
486
|
+
// Fail the whole batch BEFORE running osascript: a render error in
|
|
487
|
+
// one step (e.g. a bad color name) used to silently emit broken
|
|
488
|
+
// AppleScript and produce a confusing "OK" line. Surface it loudly.
|
|
489
|
+
return {
|
|
490
|
+
ok: false, stdout: '',
|
|
491
|
+
stderr: `merge: line ${i + 1} (${e.action}): ` +
|
|
492
|
+
rendered.errors.map((er) => er.reason).join('; '),
|
|
493
|
+
exitCode: 2,
|
|
494
|
+
};
|
|
495
|
+
}
|
|
324
496
|
// Wrap each rendered block in a try so a single failure doesn't kill
|
|
325
497
|
// the whole script. We capture per-step result into a list so the
|
|
326
498
|
// outer return can report the full status TSV.
|
|
327
|
-
blocks.push(buildMergedBlock(i, e.action, rendered, opts.keepGoing));
|
|
499
|
+
blocks.push(buildMergedBlock(i, e.action, rendered.source, opts.keepGoing));
|
|
328
500
|
}
|
|
329
501
|
const finalSource = `
|
|
330
502
|
-- yome-merged-batch (${entries.length} steps)
|
|
@@ -342,8 +514,14 @@ return results as string
|
|
|
342
514
|
}
|
|
343
515
|
// Parse per-step lines from osascript stdout. Each line:
|
|
344
516
|
// "<status>\t<idx>\t<action>\t<msg>"
|
|
517
|
+
//
|
|
518
|
+
// The `<msg>` for partial-success-aware actions (xl/ppt/doc fmt, cf, …)
|
|
519
|
+
// follows the convention "<okList>|<failList>" — when failList is non-empty
|
|
520
|
+
// the step is reported as a partial failure even though osascript itself
|
|
521
|
+
// returned without throwing. Without this demux a `fmt` whose `bg` silently
|
|
522
|
+
// failed would still be counted as ✓ in the batch summary.
|
|
345
523
|
const lines = r.stdout.split(/\n/).filter(Boolean);
|
|
346
|
-
let okCount = 0, failCount = 0;
|
|
524
|
+
let okCount = 0, partialCount = 0, failCount = 0;
|
|
347
525
|
const summary = [];
|
|
348
526
|
for (const line of lines) {
|
|
349
527
|
const parts = line.split('\t');
|
|
@@ -352,24 +530,56 @@ return results as string
|
|
|
352
530
|
const action = parts[2] ?? '?';
|
|
353
531
|
const msg = parts.slice(3).join('\t');
|
|
354
532
|
if (status === 'OK') {
|
|
355
|
-
|
|
356
|
-
|
|
533
|
+
const partial = parsePartialOkFail(msg);
|
|
534
|
+
if (partial && partial.fail) {
|
|
535
|
+
partialCount++;
|
|
536
|
+
const okPart = partial.ok ? `ok=[${partial.ok}] ` : '';
|
|
537
|
+
summary.push(`⚠ [${idx}] ${action}: ${okPart}failed=[${partial.fail}]`);
|
|
538
|
+
}
|
|
539
|
+
else {
|
|
540
|
+
okCount++;
|
|
541
|
+
summary.push(`✓ [${idx}] ${action}${msg ? ': ' + msg : ''}`);
|
|
542
|
+
}
|
|
357
543
|
}
|
|
358
544
|
else {
|
|
359
545
|
failCount++;
|
|
360
546
|
summary.push(`✗ [${idx}] ${action}: ${msg}`);
|
|
361
547
|
}
|
|
362
548
|
}
|
|
363
|
-
const
|
|
549
|
+
const totalFail = failCount + partialCount;
|
|
550
|
+
const tail = totalFail === 0
|
|
364
551
|
? `\n— merged batch ok (${entries.length} commands, single osascript)`
|
|
365
|
-
: `\n— merged batch: ${okCount}/${entries.length} ok
|
|
552
|
+
: `\n— merged batch: ${okCount}/${entries.length} ok` +
|
|
553
|
+
(partialCount ? `, ${partialCount} partial` : '') +
|
|
554
|
+
(failCount ? `, ${failCount} failed` : '');
|
|
555
|
+
const stderrParts = [];
|
|
556
|
+
if (failCount)
|
|
557
|
+
stderrParts.push(`${failCount} step(s) failed`);
|
|
558
|
+
if (partialCount)
|
|
559
|
+
stderrParts.push(`${partialCount} step(s) partially failed`);
|
|
366
560
|
return {
|
|
367
|
-
ok:
|
|
561
|
+
ok: totalFail === 0,
|
|
368
562
|
stdout: summary.join('\n') + tail,
|
|
369
|
-
stderr:
|
|
370
|
-
exitCode:
|
|
563
|
+
stderr: stderrParts.length ? stderrParts.join('; ') + ' (see stdout for details)' : '',
|
|
564
|
+
exitCode: totalFail === 0 ? 0 : 1,
|
|
371
565
|
};
|
|
372
566
|
}
|
|
567
|
+
/**
|
|
568
|
+
* Demux the "<okList>|<failList>" convention used by partial-success-aware
|
|
569
|
+
* AppleScript templates (xl/ppt/doc `fmt`, `cf`, …). Returns null when the
|
|
570
|
+
* payload doesn't look like that shape — callers should treat null as
|
|
571
|
+
* "ordinary opaque message, leave it alone".
|
|
572
|
+
*/
|
|
573
|
+
export function parsePartialOkFail(msg) {
|
|
574
|
+
// Conservative: only one '|' separator at the top level. We don't try to
|
|
575
|
+
// be clever about escaping because the templates that emit this shape only
|
|
576
|
+
// produce comma-separated identifiers + AppleScript error messages on the
|
|
577
|
+
// right (which never contain `|` in practice).
|
|
578
|
+
const i = msg.indexOf('|');
|
|
579
|
+
if (i < 0)
|
|
580
|
+
return null;
|
|
581
|
+
return { ok: msg.slice(0, i), fail: msg.slice(i + 1) };
|
|
582
|
+
}
|
|
373
583
|
/**
|
|
374
584
|
* Wrap a rendered .applescript snippet so:
|
|
375
585
|
* - Its return value (if any) is captured into the outer `results` list
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../../../src/skills/runner/dispatcher.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../../../src/skills/runner/dispatcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest';
|
|
2
|
+
import { parseColor, parseColorToAppleScriptRGB, renderTemplate, parsePartialOkFail, NAMED_COLORS, } from './dispatcher.js';
|
|
3
|
+
describe('parseColor', () => {
|
|
4
|
+
it('accepts hex with leading #', () => {
|
|
5
|
+
const r = parseColor('#003366');
|
|
6
|
+
expect(r.ok).toBe(true);
|
|
7
|
+
if (r.ok) {
|
|
8
|
+
expect(r.literal).toBe('{0, 51, 102}');
|
|
9
|
+
expect(r.rgb).toEqual([0, 51, 102]);
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
it('accepts bare hex when shaped like 6-hex-chars', () => {
|
|
13
|
+
const r = parseColor('003366');
|
|
14
|
+
expect(r.ok).toBe(true);
|
|
15
|
+
if (r.ok)
|
|
16
|
+
expect(r.literal).toBe('{0, 51, 102}');
|
|
17
|
+
});
|
|
18
|
+
it('accepts R,G,B with channels 0..255', () => {
|
|
19
|
+
const r = parseColor('0, 51, 102');
|
|
20
|
+
expect(r.ok).toBe(true);
|
|
21
|
+
if (r.ok)
|
|
22
|
+
expect(r.literal).toBe('{0, 51, 102}');
|
|
23
|
+
});
|
|
24
|
+
it('rejects R,G,B with out-of-range channels and explains why', () => {
|
|
25
|
+
const r = parseColor('300, 0, 0');
|
|
26
|
+
expect(r.ok).toBe(false);
|
|
27
|
+
if (!r.ok)
|
|
28
|
+
expect(r.error.reason).toMatch(/0\.\.255/);
|
|
29
|
+
});
|
|
30
|
+
it('accepts the named color "navy" (the case from the bug report)', () => {
|
|
31
|
+
const r = parseColor('navy');
|
|
32
|
+
expect(r.ok).toBe(true);
|
|
33
|
+
if (r.ok)
|
|
34
|
+
expect(r.rgb).toEqual([0, 51, 102]);
|
|
35
|
+
});
|
|
36
|
+
it('accepts CSS named colors that were missing before (teal, royalblue, …)', () => {
|
|
37
|
+
expect(parseColor('teal').ok).toBe(true);
|
|
38
|
+
expect(parseColor('royalblue').ok).toBe(true);
|
|
39
|
+
expect(parseColor('midnightblue').ok).toBe(true);
|
|
40
|
+
expect(parseColor('lightgray').ok).toBe(true);
|
|
41
|
+
expect(parseColor('darkorange').ok).toBe(true);
|
|
42
|
+
});
|
|
43
|
+
it('accepts CN aliases like 深蓝 / 海军蓝', () => {
|
|
44
|
+
const a = parseColor('深蓝');
|
|
45
|
+
const b = parseColor('海军蓝');
|
|
46
|
+
expect(a.ok).toBe(true);
|
|
47
|
+
expect(b.ok).toBe(true);
|
|
48
|
+
if (a.ok && b.ok) {
|
|
49
|
+
expect(a.rgb).toEqual([0, 51, 102]);
|
|
50
|
+
expect(b.rgb).toEqual([0, 51, 102]);
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
it('rejects unknown names with a useful reason instead of failing silently', () => {
|
|
54
|
+
const r = parseColor('rosegold');
|
|
55
|
+
expect(r.ok).toBe(false);
|
|
56
|
+
if (!r.ok) {
|
|
57
|
+
expect(r.error.reason).toMatch(/unrecognised color/);
|
|
58
|
+
expect(r.error.input).toBe('rosegold');
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
it('rejects empty / whitespace-only input', () => {
|
|
62
|
+
expect(parseColor('').ok).toBe(false);
|
|
63
|
+
expect(parseColor(' ').ok).toBe(false);
|
|
64
|
+
});
|
|
65
|
+
it('does NOT silently treat a bare named color as accidental hex (e.g. "bed")', () => {
|
|
66
|
+
expect(parseColor('bed').ok).toBe(false);
|
|
67
|
+
});
|
|
68
|
+
it('mirrors parseColorToAppleScriptRGB legacy contract', () => {
|
|
69
|
+
expect(parseColorToAppleScriptRGB('navy')).toBe('{0, 51, 102}');
|
|
70
|
+
expect(parseColorToAppleScriptRGB('not-a-color')).toBeNull();
|
|
71
|
+
});
|
|
72
|
+
it('NAMED_COLORS contains the keys the Swift bridges rely on', () => {
|
|
73
|
+
for (const k of ['black', 'white', 'red', 'green', 'blue', 'navy', 'darkblue', 'yellow', 'orange', 'purple', 'pink', 'cyan', 'gray', 'grey']) {
|
|
74
|
+
expect(NAMED_COLORS[k]).toBeDefined();
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
describe('renderTemplate', () => {
|
|
79
|
+
it('substitutes simple {{name}} and filters', () => {
|
|
80
|
+
const r = renderTemplate('set x to {{a|json}}\nset n to {{n|as_int}}\nset y to {{b|bool}}', { a: 'hi "there"', n: '42', b: true });
|
|
81
|
+
expect(r.errors).toHaveLength(0);
|
|
82
|
+
expect(r.source).toContain('set x to "hi \\"there\\""');
|
|
83
|
+
expect(r.source).toContain('set n to 42');
|
|
84
|
+
expect(r.source).toContain('set y to true');
|
|
85
|
+
});
|
|
86
|
+
it('strips {{#if}} blocks when the var is falsy', () => {
|
|
87
|
+
const r = renderTemplate('A\n{{#if bg}}set b to {{bg|rgb}}{{/if}}\nB', { bg: '' });
|
|
88
|
+
expect(r.errors).toHaveLength(0);
|
|
89
|
+
// The whole conditional body is gone — including the bg|rgb filter
|
|
90
|
+
// call — so an empty bg never reaches the rgb validator.
|
|
91
|
+
expect(r.source).not.toContain('rgb');
|
|
92
|
+
expect(r.source).not.toContain('missing value');
|
|
93
|
+
expect(r.source.split('\n').filter(Boolean).join(' ')).toMatch(/^A\s*B$/);
|
|
94
|
+
});
|
|
95
|
+
it('emits a valid AppleScript literal for a recognised color', () => {
|
|
96
|
+
const r = renderTemplate('set b to {{bg|rgb}}', { bg: 'navy' });
|
|
97
|
+
expect(r.errors).toHaveLength(0);
|
|
98
|
+
expect(r.source).toBe('set b to {0, 51, 102}');
|
|
99
|
+
});
|
|
100
|
+
it('records an error AND emits a syntactically valid placeholder for a bad color', () => {
|
|
101
|
+
const r = renderTemplate('set b to {{bg|rgb}}', { bg: '深玫瑰红' });
|
|
102
|
+
expect(r.errors).toHaveLength(1);
|
|
103
|
+
expect(r.errors[0].arg).toBe('bg');
|
|
104
|
+
expect(r.errors[0].filter).toBe('rgb');
|
|
105
|
+
expect(r.errors[0].reason).toMatch(/--bg=深玫瑰红/);
|
|
106
|
+
// `missing value` is a real AppleScript token, so a downstream parse
|
|
107
|
+
// doesn't blow up — but the dispatcher should still refuse to run it.
|
|
108
|
+
expect(r.source).toBe('set b to missing value');
|
|
109
|
+
});
|
|
110
|
+
it('renders empty rgb input as an empty string literal (templates check `is not ""`)', () => {
|
|
111
|
+
const r = renderTemplate('set rgbVal to {{color|rgb}}', { color: '' });
|
|
112
|
+
expect(r.errors).toHaveLength(0);
|
|
113
|
+
expect(r.source).toBe('set rgbVal to ""');
|
|
114
|
+
});
|
|
115
|
+
it('lets multiple bad |rgb args accumulate into one render report', () => {
|
|
116
|
+
const r = renderTemplate('set a to {{bg|rgb}}\nset b to {{color|rgb}}', { bg: 'fuchsia2', color: 'puce' });
|
|
117
|
+
expect(r.errors).toHaveLength(2);
|
|
118
|
+
expect(r.errors.map((e) => e.arg).sort()).toEqual(['bg', 'color']);
|
|
119
|
+
});
|
|
120
|
+
});
|
|
121
|
+
describe('parsePartialOkFail', () => {
|
|
122
|
+
it('demuxes the okList|failList convention', () => {
|
|
123
|
+
expect(parsePartialOkFail('bold,color,align|bg: missing color')).toEqual({
|
|
124
|
+
ok: 'bold,color,align',
|
|
125
|
+
fail: 'bg: missing color',
|
|
126
|
+
});
|
|
127
|
+
});
|
|
128
|
+
it('treats a payload with no | as opaque', () => {
|
|
129
|
+
expect(parsePartialOkFail('updated')).toBeNull();
|
|
130
|
+
});
|
|
131
|
+
it('handles "all-ok" (failList side empty)', () => {
|
|
132
|
+
expect(parsePartialOkFail('bold,color|')).toEqual({ ok: 'bold,color', fail: '' });
|
|
133
|
+
});
|
|
134
|
+
it('handles "all-fail" (okList side empty)', () => {
|
|
135
|
+
expect(parsePartialOkFail('|bg: missing color, color: missing color')).toEqual({
|
|
136
|
+
ok: '',
|
|
137
|
+
fail: 'bg: missing color, color: missing color',
|
|
138
|
+
});
|
|
139
|
+
});
|
|
140
|
+
});
|
|
141
|
+
//# sourceMappingURL=dispatcher.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dispatcher.test.js","sourceRoot":"","sources":["../../../src/skills/runner/dispatcher.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EACL,UAAU,EACV,0BAA0B,EAC1B,cAAc,EACd,kBAAkB,EAClB,YAAY,GACb,MAAM,iBAAiB,CAAC;AAEzB,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;QAChC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC;YACT,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACvC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;QACtC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,MAAM,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC/B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,CAAC,CAAC,EAAE;YAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,MAAM,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;QACnC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,CAAC,CAAC,EAAE;YAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACnE,MAAM,CAAC,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;QAClC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,CAAC,CAAC,EAAE;YAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACvE,MAAM,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QAC7B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,CAAC,CAAC,EAAE;YAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wEAAwE,EAAE,GAAG,EAAE;QAChF,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,MAAM,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QAC3B,MAAM,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QAC5B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;YACpC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;QACtC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wEAAwE,EAAE,GAAG,EAAE;QAChF,MAAM,CAAC,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;QACjC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACV,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;YACrD,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACzC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2EAA2E,EAAE,GAAG,EAAE;QACnF,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,MAAM,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAChE,MAAM,CAAC,0BAA0B,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;QAClE,KAAK,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;YAC7I,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACxC,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,CAAC,GAAG,cAAc,CACtB,iEAAiE,EACjE,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CACtC,CAAC;QACF,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC;QACxD,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QAC1C,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,CAAC,GAAG,cAAc,CACtB,4CAA4C,EAC5C,EAAE,EAAE,EAAE,EAAE,EAAE,CACX,CAAC;QACF,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACjC,mEAAmE;QACnE,yDAAyD;QACzD,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACtC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QAChD,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;QAClE,MAAM,CAAC,GAAG,cAAc,CAAC,qBAAqB,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QAChE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8EAA8E,EAAE,GAAG,EAAE;QACtF,MAAM,CAAC,GAAG,cAAc,CAAC,qBAAqB,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QAChE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACjD,qEAAqE;QACrE,sEAAsE;QACtE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kFAAkF,EAAE,GAAG,EAAE;QAC1F,MAAM,CAAC,GAAG,cAAc,CAAC,6BAA6B,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;QACvE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACvE,MAAM,CAAC,GAAG,cAAc,CACtB,6CAA6C,EAC7C,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,CAClC,CAAC;QACF,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,CAAC,kBAAkB,CAAC,oCAAoC,CAAC,CAAC,CAAC,OAAO,CAAC;YACvE,EAAE,EAAE,kBAAkB;YACtB,IAAI,EAAE,mBAAmB;SAC1B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IACpF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,CAAC,kBAAkB,CAAC,0CAA0C,CAAC,CAAC,CAAC,OAAO,CAAC;YAC7E,EAAE,EAAE,EAAE;YACN,IAAI,EAAE,yCAAyC;SAChD,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|