@vibes.diy/api-svc 14.3.85 → 14.3.86
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/create-handler.js +2 -0
- package/create-handler.js.map +1 -1
- package/index.d.ts +3 -1
- package/index.js +3 -1
- package/index.js.map +1 -1
- package/intern/agent-account-tools.d.ts +1 -0
- package/intern/agent-account-tools.js +1 -0
- package/intern/agent-account-tools.js.map +1 -1
- package/intern/agent-belt.d.ts +1 -3
- package/intern/agent-belt.js +25 -21
- package/intern/agent-belt.js.map +1 -1
- package/intern/agent-build-tools.d.ts +7 -0
- package/intern/agent-build-tools.js +6 -2
- package/intern/agent-build-tools.js.map +1 -1
- package/intern/agent-closing-options.d.ts +26 -0
- package/intern/agent-closing-options.js +130 -0
- package/intern/agent-closing-options.js.map +1 -0
- package/intern/agent-dispatcher.d.ts +1 -0
- package/intern/agent-dispatcher.js +17 -3
- package/intern/agent-dispatcher.js.map +1 -1
- package/intern/agent-session-instruction.d.ts +3 -2
- package/intern/agent-session-instruction.js +9 -7
- package/intern/agent-session-instruction.js.map +1 -1
- package/intern/agent-turn.d.ts +1 -0
- package/intern/agent-turn.js +1 -0
- package/intern/agent-turn.js.map +1 -1
- package/intern/alt-first-build.d.ts +36 -0
- package/intern/alt-first-build.js +137 -0
- package/intern/alt-first-build.js.map +1 -0
- package/intern/alt-landing.d.ts +7 -0
- package/intern/alt-landing.js +31 -0
- package/intern/alt-landing.js.map +1 -0
- package/intern/first-brief.d.ts +1 -1
- package/intern/first-brief.js +1 -1
- package/intern/first-brief.js.map +1 -1
- package/intern/first-build-classifier.d.ts +4 -4
- package/intern/first-build-classifier.js +15 -17
- package/intern/first-build-classifier.js.map +1 -1
- package/intern/first-build-race.d.ts +71 -0
- package/intern/first-build-race.js +257 -0
- package/intern/first-build-race.js.map +1 -0
- package/intern/instruction-variant.d.ts +23 -2
- package/intern/instruction-variant.js +159 -2
- package/intern/instruction-variant.js.map +1 -1
- package/intern/keeps-to-themselves.d.ts +1 -0
- package/intern/keeps-to-themselves.js +10 -0
- package/intern/keeps-to-themselves.js.map +1 -0
- package/intern/llm-tool-loop.d.ts +5 -1
- package/intern/llm-tool-loop.js +48 -15
- package/intern/llm-tool-loop.js.map +1 -1
- package/intern/mercury-capability-triggers.d.ts +1 -0
- package/intern/mercury-capability-triggers.js +95 -0
- package/intern/mercury-capability-triggers.js.map +1 -0
- package/intern/mercury-first-build-seam.d.ts +40 -5
- package/intern/mercury-first-build-seam.js +201 -14
- package/intern/mercury-first-build-seam.js.map +1 -1
- package/intern/mercury-first-build.d.ts +591 -21
- package/intern/mercury-first-build.js +2998 -287
- package/intern/mercury-first-build.js.map +1 -1
- package/intern/mercury-resilience.d.ts +70 -0
- package/intern/mercury-resilience.js +122 -0
- package/intern/mercury-resilience.js.map +1 -0
- package/intern/mint-decision.d.ts +1 -0
- package/intern/mint-decision.js +3 -0
- package/intern/mint-decision.js.map +1 -1
- package/intern/option-line-hold.d.ts +5 -0
- package/intern/option-line-hold.js +39 -0
- package/intern/option-line-hold.js.map +1 -0
- package/intern/pouf-room-catalog.d.ts +2 -0
- package/intern/pouf-room-catalog.js +11 -0
- package/intern/pouf-room-catalog.js.map +1 -0
- package/intern/retire-offer-options.d.ts +3 -0
- package/intern/retire-offer-options.js +91 -0
- package/intern/retire-offer-options.js.map +1 -0
- package/intern/seed-chat-section.d.ts +13 -0
- package/intern/seed-chat-section.js +62 -0
- package/intern/seed-chat-section.js.map +1 -1
- package/intern/server-first-build.js +1 -0
- package/intern/server-first-build.js.map +1 -1
- package/intern/vibe-font-catalog.d.ts +2 -0
- package/intern/vibe-font-catalog.js +8 -0
- package/intern/vibe-font-catalog.js.map +1 -0
- package/package.json +14 -14
- package/public/agent-turn-action.d.ts +1 -0
- package/public/agent-turn-action.js +271 -62
- package/public/agent-turn-action.js.map +1 -1
- package/public/agent-turn-assembly.js +5 -2
- package/public/agent-turn-assembly.js.map +1 -1
- package/public/prompt-chat-section.js +7 -5
- package/public/prompt-chat-section.js.map +1 -1
- package/public/prompt-turn-terminal.js +3 -1
- package/public/prompt-turn-terminal.js.map +1 -1
- package/public/report-activity.js +18 -2
- package/public/report-activity.js.map +1 -1
- package/public/vibe-traffic-source.js +1 -1
- package/public/vibe-traffic-source.js.map +1 -1
- package/types.d.ts +1 -0
- package/types.js.map +1 -1
- package/usage-report/new-user-alert-util.d.ts +6 -0
- package/usage-report/new-user-alert-util.js +30 -1
- package/usage-report/new-user-alert-util.js.map +1 -1
- package/intern/agent-options-tool.d.ts +0 -27
- package/intern/agent-options-tool.js +0 -213
- package/intern/agent-options-tool.js.map +0 -1
|
@@ -43,7 +43,10 @@ export interface LlmToolExecutorInput {
|
|
|
43
43
|
readonly call: LlmToolCall;
|
|
44
44
|
readonly signal: AbortSignal;
|
|
45
45
|
readonly attachImage?: (image: LlmToolImage) => void;
|
|
46
|
-
|
|
46
|
+
}
|
|
47
|
+
export interface SettledOptionLines {
|
|
48
|
+
readonly release: string;
|
|
49
|
+
readonly closing?: string;
|
|
47
50
|
}
|
|
48
51
|
export interface LlmToolImage {
|
|
49
52
|
readonly dataUrl: string;
|
|
@@ -86,6 +89,7 @@ export interface LlmToolLoopArgs {
|
|
|
86
89
|
readonly rounds: number;
|
|
87
90
|
readonly calls: number;
|
|
88
91
|
}) => void;
|
|
92
|
+
readonly settleOptionLines?: (held: string) => Promise<Result<SettledOptionLines>>;
|
|
89
93
|
readonly onToolRound?: (round: {
|
|
90
94
|
readonly round: number;
|
|
91
95
|
readonly calls: readonly LlmToolCall[];
|
package/intern/llm-tool-loop.js
CHANGED
|
@@ -3,6 +3,7 @@ import { isSseEnd, isSseError, isSseLine, } from "@vibes.diy/call-ai-v2";
|
|
|
3
3
|
import { composeAgentRequest, isRequestFrameMessage, withMovingCacheBreakpoint } from "./agent-request-frame.js";
|
|
4
4
|
import { rolloverAgentTranscript } from "./agent-settled-history.js";
|
|
5
5
|
import { providerStreamErrorMessage } from "../public/provider-errors.js";
|
|
6
|
+
import { createOptionLineHold } from "./option-line-hold.js";
|
|
6
7
|
const DEFAULT_MAX_TOOL_ROUNDS = 3;
|
|
7
8
|
const DEFAULT_MAX_TOOL_CALLS = 3;
|
|
8
9
|
export const MAX_TOOL_RESULT_CHARS = 8_192;
|
|
@@ -240,7 +241,6 @@ async function executeWithDeadline(execute, call, budget, now, parentSignal, sid
|
|
|
240
241
|
call,
|
|
241
242
|
signal: abort.signal,
|
|
242
243
|
...(sides.attachImage === undefined ? {} : { attachImage: sides.attachImage }),
|
|
243
|
-
...(sides.closeTurnWith === undefined ? {} : { closeTurnWith: sides.closeTurnWith }),
|
|
244
244
|
}));
|
|
245
245
|
let timeoutId;
|
|
246
246
|
let removeParentListener;
|
|
@@ -273,7 +273,41 @@ async function executeWithDeadline(execute, call, budget, now, parentSignal, sid
|
|
|
273
273
|
return Result.Err(rExecution.Err());
|
|
274
274
|
return Result.Ok(rExecution.Ok());
|
|
275
275
|
}
|
|
276
|
-
|
|
276
|
+
function holdContent(event, hold) {
|
|
277
|
+
let changed = false;
|
|
278
|
+
const choices = event.chunk.choices.map((choice) => {
|
|
279
|
+
const content = choice.delta.content;
|
|
280
|
+
if (typeof content !== "string" || content.length === 0)
|
|
281
|
+
return choice;
|
|
282
|
+
const shown = hold.feed(content);
|
|
283
|
+
if (shown === content)
|
|
284
|
+
return choice;
|
|
285
|
+
changed = true;
|
|
286
|
+
return { ...choice, delta: { ...choice.delta, content: shown } };
|
|
287
|
+
});
|
|
288
|
+
return changed ? { ...event, chunk: { ...event.chunk, choices } } : event;
|
|
289
|
+
}
|
|
290
|
+
async function settleHeldLines(args, round, textState, streamId) {
|
|
291
|
+
if (round === undefined || args.settleOptionLines === undefined)
|
|
292
|
+
return Result.Ok();
|
|
293
|
+
const held = round.hold.take();
|
|
294
|
+
if (held === "")
|
|
295
|
+
return Result.Ok();
|
|
296
|
+
const rSettled = held.trim() === "" ? Result.Ok({ release: held }) : await args.settleOptionLines(held);
|
|
297
|
+
if (rSettled.isErr())
|
|
298
|
+
return Result.Err(rSettled.Err());
|
|
299
|
+
const settled = rSettled.Ok();
|
|
300
|
+
if (settled.closing !== undefined)
|
|
301
|
+
round.closing.text = settled.closing === "" ? undefined : settled.closing;
|
|
302
|
+
const release = settled.closing === undefined ? settled.release : settled.release.trimEnd();
|
|
303
|
+
if (release.length === 0)
|
|
304
|
+
return Result.Ok();
|
|
305
|
+
const rVisible = await args.onVisible(applyRoundSeparator(closingLine({ streamId, text: release }), textState));
|
|
306
|
+
if (rVisible.isErr())
|
|
307
|
+
return Result.Err(String(rVisible.Err()));
|
|
308
|
+
return Result.Ok();
|
|
309
|
+
}
|
|
310
|
+
async function consumeProviderStream(args, stream, request, now, textState, round) {
|
|
277
311
|
const reader = stream.getReader();
|
|
278
312
|
const partials = [];
|
|
279
313
|
let sawToolCall = false;
|
|
@@ -333,7 +367,8 @@ async function consumeProviderStream(args, stream, request, now, textState) {
|
|
|
333
367
|
if (choice.finish_reason === "tool_calls")
|
|
334
368
|
sawToolFinish = true;
|
|
335
369
|
}
|
|
336
|
-
const
|
|
370
|
+
const shaped = sawToolCall ? stripToolCallDeltas(event) : event;
|
|
371
|
+
const rVisible = await args.onVisible(applyRoundSeparator(round === undefined ? shaped : holdContent(shaped, round.hold), textState));
|
|
337
372
|
if (rVisible.isErr())
|
|
338
373
|
return Result.Err(String(rVisible.Err()));
|
|
339
374
|
for (const choice of event.chunk.choices) {
|
|
@@ -343,6 +378,9 @@ async function consumeProviderStream(args, stream, request, now, textState) {
|
|
|
343
378
|
continue;
|
|
344
379
|
}
|
|
345
380
|
if (isSseEnd(event, event.streamId)) {
|
|
381
|
+
const rSettled = await settleHeldLines(args, round, textState, event.streamId);
|
|
382
|
+
if (rSettled.isErr())
|
|
383
|
+
return Result.Err(rSettled.Err());
|
|
346
384
|
if (sawToolCall === false) {
|
|
347
385
|
if (args.session !== undefined) {
|
|
348
386
|
completedNormally = true;
|
|
@@ -373,24 +411,24 @@ async function consumeProviderStream(args, stream, request, now, textState) {
|
|
|
373
411
|
}
|
|
374
412
|
}
|
|
375
413
|
function closeTurnBeforeTerminal(onVisible, closingWords) {
|
|
376
|
-
let
|
|
414
|
+
let tail = "";
|
|
377
415
|
return async function visible(event) {
|
|
378
416
|
if (isSseLine(event, event.streamId)) {
|
|
379
417
|
for (const choice of event.chunk.choices) {
|
|
380
418
|
const content = choice.delta.content;
|
|
381
419
|
if (typeof content === "string" && content.length > 0)
|
|
382
|
-
|
|
420
|
+
tail = (tail + content).slice(-2);
|
|
383
421
|
}
|
|
384
422
|
return onVisible(event);
|
|
385
423
|
}
|
|
386
424
|
const text = closingWords.text;
|
|
387
425
|
if (isSseEnd(event, event.streamId) && text !== undefined) {
|
|
388
426
|
closingWords.text = undefined;
|
|
389
|
-
const lead =
|
|
427
|
+
const lead = tail === "" || tail === "\n\n" ? "" : tail.endsWith("\n") ? "\n" : "\n\n";
|
|
390
428
|
const closed = await onVisible(closingLine({ streamId: event.streamId, text: lead + text }));
|
|
391
429
|
if (closed.isErr())
|
|
392
430
|
return closed;
|
|
393
|
-
|
|
431
|
+
tail = (tail + text).slice(-2);
|
|
394
432
|
}
|
|
395
433
|
return onVisible(event);
|
|
396
434
|
};
|
|
@@ -414,6 +452,7 @@ function closingLine(p) {
|
|
|
414
452
|
export async function runLlmToolLoop(loopArgs) {
|
|
415
453
|
const closingWords = {};
|
|
416
454
|
const args = { ...loopArgs, onVisible: closeTurnBeforeTerminal(loopArgs.onVisible, closingWords) };
|
|
455
|
+
const round = args.settleOptionLines === undefined ? undefined : { hold: createOptionLineHold(), closing: closingWords };
|
|
417
456
|
const now = args.now ?? (() => Date.now());
|
|
418
457
|
const maxToolRounds = args.maxToolRounds ?? DEFAULT_MAX_TOOL_ROUNDS;
|
|
419
458
|
const maxToolCalls = args.maxToolCalls ?? DEFAULT_MAX_TOOL_CALLS;
|
|
@@ -436,13 +475,13 @@ export async function runLlmToolLoop(loopArgs) {
|
|
|
436
475
|
};
|
|
437
476
|
try {
|
|
438
477
|
if ((currentRequest.tools === undefined || currentRequest.tools.length === 0) && args.session === undefined) {
|
|
439
|
-
const rInitial = await consumeProviderStream({ ...args, abort: currentAbort }, currentStream, currentRequest, now, textState);
|
|
478
|
+
const rInitial = await consumeProviderStream({ ...args, abort: currentAbort }, currentStream, currentRequest, now, textState, round);
|
|
440
479
|
if (rInitial.isErr())
|
|
441
480
|
return Result.Err(String(rInitial.Err()));
|
|
442
481
|
return Result.Ok({ request: currentRequest, rounds, calls });
|
|
443
482
|
}
|
|
444
483
|
while (true) {
|
|
445
|
-
const rStream = await consumeProviderStream({ ...args, budget, abort: currentAbort }, currentStream, currentRequest, now, textState);
|
|
484
|
+
const rStream = await consumeProviderStream({ ...args, budget, abort: currentAbort }, currentStream, currentRequest, now, textState, round);
|
|
446
485
|
if (rStream.isErr()) {
|
|
447
486
|
const error = rStream.Err();
|
|
448
487
|
if (error instanceof LlmToolLoopAbandonedError &&
|
|
@@ -562,12 +601,8 @@ export async function runLlmToolLoop(loopArgs) {
|
|
|
562
601
|
if (announced?.isErr())
|
|
563
602
|
return Result.Err(announced.Err());
|
|
564
603
|
const attached = [];
|
|
565
|
-
let closing;
|
|
566
604
|
const rTool = await executeWithDeadline(args.execute, call, budget, now, currentAbort?.signal, {
|
|
567
605
|
attachImage: (image) => attached.push(image),
|
|
568
|
-
closeTurnWith: (text) => {
|
|
569
|
-
closing = text;
|
|
570
|
-
},
|
|
571
606
|
});
|
|
572
607
|
if (currentAbort?.signal.aborted)
|
|
573
608
|
return Result.Err("LLM tool loop aborted by parent request");
|
|
@@ -579,8 +614,6 @@ export async function runLlmToolLoop(loopArgs) {
|
|
|
579
614
|
if (rTool.isOk())
|
|
580
615
|
for (const image of attached)
|
|
581
616
|
images.push(toolImageMessage(call.name, image));
|
|
582
|
-
if (rTool.isOk() && closing !== undefined)
|
|
583
|
-
closingWords.text = closing;
|
|
584
617
|
calls++;
|
|
585
618
|
}
|
|
586
619
|
if (images.length > 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llm-tool-loop.js","sourceRoot":"","sources":["../../jsr/intern/llm-tool-loop.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"llm-tool-loop.js","sourceRoot":"","sources":["../../jsr/intern/llm-tool-loop.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAOL,QAAQ,EACR,UAAU,EACV,SAAS,GACV,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACjH,OAAO,EAAE,uBAAuB,EAA0B,MAAM,4BAA4B,CAAC;AAC7F,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAuB,MAAM,uBAAuB,CAAC;AAElF,MAAM,uBAAuB,GAAG,CAAC,CAAC;AAClC,MAAM,sBAAsB,GAAG,CAAC,CAAC;AACjC,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,CAAC;AAM3C,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAC1C,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,CAAC;AAC5C,MAAM,CAAC,MAAM,4BAA4B,GAAG,EAAE,GAAG,IAAI,CAAC;AAUtD,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC;AAI3C,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IAI9B,KAAK;IACL,KAAK;IACL,cAAc;IALhB,IAAI,GAAG,2BAAoC,CAAC;IAErD,YACW,KAAuB,EACvB,KAAa,EACb,cAAsB;QAE/B,KAAK,CAAC,sBAAsB,KAAK,iBAAiB,KAAK,gBAAgB,CAAC,CAAC;qBAJhE,KAAK;qBACL,KAAK;8BACL,cAAc;QAGvB,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF;AAcD,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IACzC,IAAI,GAAG,cAAuB,CAAC;IAExC,YAAY,OAAO,GAAG,sCAAsC;QAC1D,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IAC1C,CAAC;CACF;AAmBD,MAAM,UAAU,uBAAuB,CAAC,EACtC,aAAa,EACb,WAAW,EACX,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,GAKvB;IACC,OAAO;QACL,UAAU,EAAE,GAAG,EAAE,GAAG,aAAa;QACjC,WAAW;QACX,YAAY,EAAE,CAAC;KAChB,CAAC;AACJ,CAAC;AAyDD,MAAM,CAAC,MAAM,sBAAsB,GAAG,cAAc,CAAC;AACrD,MAAM,0BAA0B,GAAG,GAAG,sBAAsB,uDAAuD,CAAC;AAEpH,SAAS,gBAAgB,CAAC,QAAgB,EAAE,KAAmB;IAC7D,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,sBAAsB,SAAS,QAAQ,KAAK,KAAK,CAAC,OAAO,EAAE,EAAE;YACtF,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE;SACzD;KACF,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAmB;IAC7C,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7E,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACjC,OAAO,CACL,KAAK,EAAE,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAC/H,CAAC;AACJ,CAAC;AAGD,MAAM,UAAU,mBAAmB,CAAC,QAA+B;IACjE,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAC9B,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,0BAA0B,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CACxH,CAAC;AACJ,CAAC;AA8BD,SAAS,gBAAgB,CACvB,UAAiC,EACjC,SAAgC,EAChC,KAAwC;IAExC,MAAM,MAAM,GAAG,KAAK,IAAI,UAAU,CAAC;IACnC,OAAO,mBAAmB,CAAC;QACzB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC;QAC7D,OAAO,EAAE,UAAU;QACnB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC;QAC7C,IAAI,EAAE,SAAS;KAChB,CAAC,CAAC;AACL,CAAC;AA8HD,SAAS,eAAe,CAAC,MAAyB,EAAE,GAAiB;IACnE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,UAAU,GAAG,GAAG,EAAE,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,eAAe,CAAC,IAAY;IACnC,IAAI,IAAI,CAAC,MAAM,IAAI,qBAAqB;QAAE,OAAO,IAAI,CAAC;IACtD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,qBAAqB,GAAG,EAAE,CAAC,iBAAiB,IAAI,CAAC,MAAM,GAAG,CAAC,qBAAqB,GAAG,EAAE,CAAC,SAAS,CAAC;AAC1H,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAsB;IAC/C,IAAI,MAAM,CAAC,IAAI,EAAE;QAAE,OAAO,eAAe,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;IACvD,OAAO,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACrF,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAe,EAAE,QAAgB,EAAE,KAAuB,EAAE,KAAa;IACpG,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IACxD,IAAI,cAAc,GAAG,KAAK,EAAE,CAAC;QAC3B,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC;IACxE,CAAC;IACD,OAAO,MAAM,CAAC,EAAE,CAAC,OAAO,GAAG,QAAQ,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,gBAAgB,CAAC,QAA2B,EAAE,KAAoB;IACzE,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;QAC/D,OAAO,MAAM,CAAC,GAAG,CAAC,4BAA4B,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACvE,CAAC;IACD,IAAI,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC;IAClE,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,GAAG;YACR,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,EAAE,EAAE,EAAE;YACN,IAAI,EAAE,EAAE;YACR,SAAS,EAAE,EAAE;YACb,IAAI,EAAE,SAAS;SAChB,CAAC;QACF,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IAED,IAAI,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC;IACxB,IAAI,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAC5B,IAAI,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC;IACtC,IAAI,KAAK,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,sBAAsB,CAAC,CAAC;QAChF,IAAI,GAAG,CAAC,KAAK,EAAE;YAAE,OAAO,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;QAC9C,MAAM,GAAG,GAAG,CAAC,EAAE,EAAE,CAAC;IACpB,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACxD,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACjC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACtC,MAAM,KAAK,GAAG,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,wBAAwB,CAAC,CAAC;YACnG,IAAI,KAAK,CAAC,KAAK,EAAE;gBAAE,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;YAClD,QAAQ,GAAG,KAAK,CAAC,EAAE,EAAE,CAAC;QACxB,CAAC;QACD,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAC3C,MAAM,UAAU,GAAG,mBAAmB,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE,WAAW,EAAE,4BAA4B,CAAC,CAAC;YAC3H,IAAI,UAAU,CAAC,KAAK,EAAE;gBAAE,OAAO,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC;YAC5D,aAAa,GAAG,UAAU,CAAC,EAAE,EAAE,CAAC;QAClC,CAAC;IACH,CAAC;IACD,OAAO,CAAC,EAAE,GAAG,MAAM,CAAC;IACpB,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC;IACxB,OAAO,CAAC,SAAS,GAAG,aAAa,CAAC;IAClC,OAAO,MAAM,CAAC,EAAE,EAAE,CAAC;AACrB,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAmB,EAAE,IAAY;IAC1D,OAAO,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AACpE,CAAC;AAED,SAAS,iBAAiB,CAAC,QAAoC,EAAE,OAAmB;IAClF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,kEAAkE,CAAC,CAAC;IACjH,MAAM,OAAO,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IAC9E,MAAM,KAAK,GAAkB,EAAE,CAAC;IAChC,KAAK,MAAM,OAAO,IAAI,OAAO,EAAE,CAAC;QAC9B,IAAI,OAAO,CAAC,EAAE,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzD,OAAO,MAAM,CAAC,GAAG,CAAC,iCAAiC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QACtE,CAAC;QAOD,MAAM,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;QAC1F,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC9D,OAAO,MAAM,CAAC,GAAG,CAAC,uCAAuC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QAC5E,CAAC;QACD,IAAI,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YAC3D,OAAO,MAAM,CAAC,GAAG,CAAC,sBAAsB,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1D,CAAC;QACD,MAAM,UAAU,GAAG,gBAAgB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACxE,IAAI,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC;YACvB,OAAO,MAAM,CAAC,GAAG,CAAC,gCAAgC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACpE,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAClF,CAAC;IACD,OAAO,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;AAC1B,CAAC;AA+BD,SAAS,mBAAmB,CAAC,KAAiB,EAAE,KAAqB;IACnE,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QACjD,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;QACrC,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,MAAM,CAAC;QACvE,IAAI,KAAK,CAAC,aAAa,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;YAC9C,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC;YAC5B,QAAQ,GAAG,IAAI,CAAC;YAChB,MAAM,IAAI,GAAG,OAAO,OAAO,EAAE,CAAC;YAC9B,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAChC,OAAO,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC;QAClE,CAAC;QACD,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACnC,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,CAAC;IACH,IAAI,QAAQ,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IACrC,OAAO,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC;AAC1D,CAAC;AAiBD,KAAK,UAAU,cAAc,CAC3B,SAAuC,EACvC,KAAqB,EACrB,QAAkC;IAElC,IAAI,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,QAAQ,KAAK,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAAE,OAAO,MAAM,CAAC,EAAE,EAAE,CAAC;IACrG,OAAO,SAAS,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;AAC9F,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAiB;IAC5C,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QACjD,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,KAAK,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC;QAC1D,OAAO,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;IAC/E,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC;AAC1D,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,MAAiD,EACjD,MAAyB,EACzB,GAAiB,EACjB,KAAkC,EAClC,YAA+C;IAE/C,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/C,IAAI,SAAS,IAAI,CAAC;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;IAOzE,MAAM,UAAU,GAAG,gBAAgB,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAA4B,EAAE,CAC5F,CAAC,CAAC,KAAK,EAAE;QACP,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,yBAAyB,CAAC,0CAA0C,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QACxG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,CAC1D,CAAC;IACF,IAAI,SAAoD,CAAC;IACzD,MAAM,aAAa,GAAG,IAAI,OAAO,CAA2B,CAAC,OAAO,EAAE,EAAE;QACtE,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;YAC1B,KAAK,EAAE,KAAK,EAAE,CAAC;YACf,KAAK,YAAY,CAAC,iCAAiC,CAAC,CAAC;YACrD,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC,CAAC;QACzD,CAAC,EAAE,SAAS,CAAC,CAAC;IAChB,CAAC,CAAC,CAAC;IACH,IAAI,oBAA8C,CAAC;IACnD,MAAM,iBAAiB,GAAG,IAAI,OAAO,CAA2B,CAAC,OAAO,EAAE,EAAE;QAC1E,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO;QAChC,MAAM,aAAa,GAAG,GAAG,EAAE;YACzB,KAAK,YAAY,CAAC,sCAAsC,CAAC,CAAC;YAC1D,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC,CAAC;QAC9D,CAAC,CAAC;QACF,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACtE,oBAAoB,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QACtF,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO;YAAE,aAAa,EAAE,CAAC;IAC5C,CAAC,CAAC,CAAC;IACH,MAAM,UAAU,GAAwC,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;IACpF,IAAI,KAAK,KAAK,SAAS;QAAE,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC5D,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC7C,IAAI,SAAS,KAAK,SAAS;QAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IACrD,oBAAoB,EAAE,EAAE,CAAC;IAGzB,IAAI,KAAK,CAAC,KAAK,EAAE;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;IAClD,OAAO,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;AAC/B,CAAC;AAOD,KAAK,UAAU,mBAAmB,CAChC,OAAwB,EACxB,IAAiB,EACjB,MAAyB,EACzB,GAAiB,EACjB,YAA0B,EAC1B,KAAK,GAAqB,EAAE;IAE5B,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/C,IAAI,SAAS,IAAI,CAAC;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;IAC/F,IAAI,YAAY,EAAE,OAAO;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;IAEzF,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;IACpC,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,EAAE,CACtC,OAAO,CAAC;QACN,IAAI;QACJ,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,GAAG,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC;KAC/E,CAAC,CACH,CAAC;IACF,IAAI,SAAoD,CAAC;IACzD,IAAI,oBAA8C,CAAC;IACnD,MAAM,aAAa,GAAG,IAAI,OAAO,CAAiB,CAAC,OAAO,EAAE,EAAE;QAC5D,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;YAC1B,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YAC7B,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC,CAAC;QAC1D,CAAC,EAAE,SAAS,CAAC,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,MAAM,iBAAiB,GAAG,IAAI,OAAO,CAAiB,CAAC,OAAO,EAAE,EAAE;QAChE,IAAI,YAAY,KAAK,SAAS;YAAE,OAAO;QACvC,MAAM,aAAa,GAAG,GAAG,EAAE;YACzB,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAC5B,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC,CAAC;QAClE,CAAC,CAAC;QACF,YAAY,CAAC,gBAAgB,CAAC,OAAO,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACtE,oBAAoB,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QACtF,IAAI,YAAY,CAAC,OAAO;YAAE,aAAa,EAAE,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,MAAM,UAAU,GAA8B,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IACzE,IAAI,YAAY,KAAK,SAAS;QAAE,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACnE,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAClD,IAAI,SAAS,KAAK,SAAS;QAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IACrD,oBAAoB,EAAE,EAAE,CAAC;IACzB,IAAI,UAAU,CAAC,KAAK,EAAE;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC;IAC5D,OAAO,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;AACpC,CAAC;AAGD,SAAS,WAAW,CAAC,KAAiB,EAAE,IAAoB;IAC1D,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QACjD,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;QACrC,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,MAAM,CAAC;QACvE,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjC,IAAI,KAAK,KAAK,OAAO;YAAE,OAAO,MAAM,CAAC;QACrC,OAAO,GAAG,IAAI,CAAC;QACf,OAAO,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC;IACnE,CAAC,CAAC,CAAC;IACH,OAAO,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;AAC5E,CAAC;AAQD,KAAK,UAAU,eAAe,CAC5B,IAAqB,EACrB,KAA4B,EAC5B,SAAyB,EACzB,QAAgB;IAEhB,IAAI,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,iBAAiB,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC,EAAE,EAAE,CAAC;IACpF,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAC/B,IAAI,IAAI,KAAK,EAAE;QAAE,OAAO,MAAM,CAAC,EAAE,EAAE,CAAC;IACpC,MAAM,QAAQ,GACZ,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACzF,IAAI,QAAQ,CAAC,KAAK,EAAE;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,QAAQ,CAAC,EAAE,EAAE,CAAC;IAC9B,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS;QAAE,KAAK,CAAC,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IAE7G,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IAC5F,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC,EAAE,EAAE,CAAC;IAC7C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;IAChH,IAAI,QAAQ,CAAC,KAAK,EAAE;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAChE,OAAO,MAAM,CAAC,EAAE,EAAE,CAAC;AACrB,CAAC;AAQD,KAAK,UAAU,qBAAqB,CAClC,IAAqB,EACrB,MAAoC,EACpC,OAAmB,EACnB,GAAiB,EACjB,SAAyB,EACzB,KAAiB;IAyBjB,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;IAClC,MAAM,QAAQ,GAAsB,EAAE,CAAC;IACvC,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,IAAI,gBAAgB,GAAkB,IAAI,CAAC;IAC3C,IAAI,iBAAiB,GAAG,KAAK,CAAC;IAC9B,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,aAAwC,CAAC;IAC7C,MAAM,YAAY,GAAG,KAAK,EAAE,MAAc,EAAiB,EAAE;QAC3D,IAAI,aAAa,KAAK,SAAS;YAAE,OAAO,aAAa,CAAC;QACtD,aAAa,GAAG,CAAC,KAAK,IAAI,EAAE;YAC1B,MAAM,gBAAgB,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC,EAAE,CAAC;QACL,MAAM,aAAa,CAAC;IACtB,CAAC,CAAC;IAEF,IAAI,CAAC;QACH,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;YACzF,IAAI,KAAK,CAAC,KAAK,EAAE;gBAAE,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;YAClD,MAAM,IAAI,GAAG,KAAK,CAAC,EAAE,EAAE,CAAC;YACxB,IAAI,IAAI,CAAC,IAAI;gBAAE,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,yBAAyB,EAAE,CAAC,CAAC;YAClE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACzB,IAAI,KAAK,KAAK,SAAS;gBAAE,OAAO,MAAM,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;YAQrF,IAAI,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAGtC,MAAM,aAAa,GAAG,0BAA0B,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC7D,IAAI,aAAa,KAAK,SAAS;oBAAE,OAAO,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBAClE,WAAW,EAAE,CAAC;gBACd,IAAI,WAAW,GAAG,yBAAyB,EAAE,CAAC;oBAC5C,MAAM,YAAY,CAAC,uBAAuB,CAAC,CAAC;oBAC5C,OAAO,MAAM,CAAC,GAAG,CACf,sCAAsC,yBAAyB,8BAA8B,KAAK,CAAC,KAAK,GAAG,CAC5G,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,IAAI,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACrC,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;oBACpC,MAAM,aAAa,GAAG,0BAA0B,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBAC9D,IAAI,aAAa,KAAK,SAAS;wBAAE,OAAO,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBACpE,CAAC;gBACD,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,KAAK,OAAO,CAAC,EAAE,CAAC;oBAC3E,OAAO,MAAM,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;gBAC3D,CAAC;gBACD,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;oBACzC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC;oBACvC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;wBACzB,WAAW,GAAG,IAAI,CAAC;wBACnB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;4BAC3B,MAAM,IAAI,GAAG,gBAAgB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;4BAC/C,IAAI,IAAI,CAAC,KAAK,EAAE;gCAAE,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;wBAClD,CAAC;oBACH,CAAC;oBACD,IAAI,MAAM,CAAC,aAAa,KAAK,YAAY;wBAAE,aAAa,GAAG,IAAI,CAAC;gBAClE,CAAC;gBAGD,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;gBAChE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CACnC,mBAAmB,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,CAC/F,CAAC;gBACF,IAAI,QAAQ,CAAC,KAAK,EAAE;oBAAE,OAAO,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;gBAChE,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;oBACzC,IAAI,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ;wBAAE,gBAAgB,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;gBACnH,CAAC;gBACD,SAAS;YACX,CAAC;YAED,IAAI,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACpC,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;gBAC/E,IAAI,QAAQ,CAAC,KAAK,EAAE;oBAAE,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;gBACxD,IAAI,WAAW,KAAK,KAAK,EAAE,CAAC;oBAK1B,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;wBAC/B,iBAAiB,GAAG,IAAI,CAAC;wBACzB,OAAO,MAAM,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;oBAChG,CAAC;oBACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;oBAC7C,IAAI,QAAQ,CAAC,KAAK,EAAE;wBAAE,OAAO,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;oBAChE,iBAAiB,GAAG,IAAI,CAAC;oBACzB,OAAO,MAAM,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAC;gBAC5E,CAAC;gBACD,IAAI,aAAa,KAAK,KAAK;oBAAE,OAAO,MAAM,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;gBAC5G,MAAM,MAAM,GAAG,iBAAiB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBACpD,IAAI,MAAM,CAAC,KAAK,EAAE;oBAAE,OAAO,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;gBAC5D,iBAAiB,GAAG,IAAI,CAAC;gBACzB,OAAO,MAAM,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;YACrG,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAC7C,IAAI,QAAQ,CAAC,KAAK,EAAE;gBAAE,OAAO,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;YAAS,CAAC;QACT,IAAI,iBAAiB,KAAK,KAAK;YAAE,MAAM,YAAY,CAAC,yCAAyC,CAAC,CAAC;IACjG,CAAC;AACH,CAAC;AASD,SAAS,uBAAuB,CAC9B,SAAuC,EACvC,YAA+B;IAI/B,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,OAAO,KAAK,UAAU,OAAO,CAAC,KAAK;QACjC,IAAI,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrC,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;gBACzC,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;gBACrC,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;oBAAE,IAAI,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3F,CAAC;YACD,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;QACD,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC;QAC/B,IAAI,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YAC1D,YAAY,CAAC,IAAI,GAAG,SAAS,CAAC;YAC9B,MAAM,IAAI,GAAG,IAAI,KAAK,EAAE,IAAI,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;YACvF,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;YAC7F,IAAI,MAAM,CAAC,KAAK,EAAE;gBAAE,OAAO,MAAM,CAAC;YAClC,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACjC,CAAC;QACD,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC,CAAC;AACJ,CAAC;AAGD,SAAS,WAAW,CAAC,CAAuD;IAC1E,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,KAAK,EAAE;YACL,EAAE,EAAE,eAAe;YACnB,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,OAAO;YACd,MAAM,EAAE,uBAAuB;YAC/B,OAAO,EAAE,CAAC;YACV,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;SACrG;QACD,OAAO,EAAE,CAAC;QACV,SAAS,EAAE,IAAI,IAAI,EAAE;KACtB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,QAAyB;IAM5D,MAAM,YAAY,GAAsB,EAAE,CAAC;IAC3C,MAAM,IAAI,GAAoB,EAAE,GAAG,QAAQ,EAAE,SAAS,EAAE,uBAAuB,CAAC,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE,CAAC;IAEpH,MAAM,KAAK,GACT,IAAI,CAAC,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;IAC7G,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC3C,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,uBAAuB,CAAC;IACpE,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,sBAAsB,CAAC;IACjE,IAAI,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC;IAClC,IAAI,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC;IAChC,IAAI,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC;IAC9B,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,KAAK,GAAG,CAAC,CAAC;IAGd,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAGzB,MAAM,SAAS,GAAmB,EAAE,QAAQ,EAAE,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;IAEzE,IAAI,YAAsC,CAAC;IAS3C,MAAM,UAAU,GAAG,KAAK,EAAE,KAAc,EAAkD,EAAE;QAC1F,IAAI,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,YAAY,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAChG,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACpD,IAAI,QAAQ,CAAC,KAAK,EAAE;YAAE,OAAO,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAChE,OAAO,MAAM,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAC/D,CAAC,CAAC;IAMF,IAAI,CAAC;QACH,IAAI,CAAC,cAAc,CAAC,KAAK,KAAK,SAAS,IAAI,cAAc,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAC5G,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAC1C,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,EAChC,aAAa,EACb,cAAc,EACd,GAAG,EACH,SAAS,EACT,KAAK,CACN,CAAC;YACF,IAAI,QAAQ,CAAC,KAAK,EAAE;gBAAE,OAAO,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YAChE,OAAO,MAAM,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QAC/D,CAAC;QAED,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,OAAO,GAAG,MAAM,qBAAqB,CACzC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,EACxC,aAAa,EACb,cAAc,EACd,GAAG,EACH,SAAS,EACT,KAAK,CACN,CAAC;YACF,IAAI,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;gBACpB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;gBAQ5B,IACE,KAAK,YAAY,yBAAyB;oBAC1C,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC;oBACrC,YAAY,EAAE,MAAM,CAAC,OAAO,KAAK,IAAI,EACrC,CAAC;oBACD,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;gBACvF,CAAC;gBACD,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC;YACD,MAAM,YAAY,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC;YAClC,YAAY,GAAG,YAAY,CAAC,WAAW,IAAI,YAAY,CAAC,QAAQ,IAAI,YAAY,CAAC;YACjF,IAAI,YAAY,CAAC,WAAW,KAAK,KAAK,EAAE,CAAC;gBACvC,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,YAAY,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;oBAGzE,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;oBACzF,IAAI,MAAM,CAAC,KAAK,EAAE;wBAAE,OAAO,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;oBACpD,MAAM,MAAM,GACV,YAAY,CAAC,gBAAgB,KAAK,IAAI,IAAI,YAAY,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC;wBAClF,CAAC,CAAC,EAAE;wBACJ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,CAAC,gBAAgB,EAAE,CAAC,EAAE,CAAC,CAAC;oBAChG,cAAc,GAAG,EAAE,GAAG,cAAc,EAAE,QAAQ,EAAE,CAAC,GAAG,cAAc,CAAC,QAAQ,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;oBAC1F,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;oBACrE,IAAI,KAAK,CAAC,KAAK,EAAE;wBAAE,OAAO,CAAC,MAAM,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;oBACrF,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,KAAK,IAAI,EAAE,CAAC;wBACjD,IAAI,eAAe,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC;4BAAE,OAAO,MAAM,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;wBAEpH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,yBAAyB,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;wBACnH,IAAI,OAAO,CAAC,KAAK,EAAE;4BAAE,OAAO,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;wBACtD,cAAc,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC;wBACtC,aAAa,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC;wBACpC,YAAY,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC;wBAClC,IAAI,SAAS,CAAC,QAAQ,KAAK,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,KAAK;4BAAE,SAAS,CAAC,aAAa,GAAG,IAAI,CAAC;wBACzG,SAAS;oBACX,CAAC;oBACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;oBACxC,IAAI,KAAK,CAAC,KAAK,EAAE;wBAAE,OAAO,CAAC,MAAM,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;oBACrF,MAAM,QAAQ,GAAG,KAAK,CAAC,EAAE,EAAE,CAAC;oBAC5B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;wBAC3B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;wBAC/D,IAAI,OAAO,CAAC,KAAK,EAAE;4BAAE,OAAO,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;wBACtD,OAAO,MAAM,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;oBAC/D,CAAC;oBAMD,MAAM,MAAM,GACV,IAAI,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS;wBAChC,CAAC,CAAC,SAAS;wBACX,CAAC,CAAC,uBAAuB,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;oBACzF,cAAc,GAAG;wBACf,GAAG,cAAc;wBACjB,QAAQ,EAAE,gBAAgB,CAAC,MAAM,EAAE,QAAQ,IAAI,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;qBACvG,CAAC;oBACF,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAC9C,cAAc,CAAC,QAAQ,EACvB,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAC/D,CAAC;oBACF,IAAI,UAAU,CAAC,KAAK,EAAE;wBAAE,OAAO,CAAC,MAAM,UAAU,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC;oBAGpG,MAAM,GAAG,uBAAuB,CAAC;wBAC/B,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB;wBAC5C,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;wBACpC,GAAG;qBACJ,CAAC,CAAC;oBACH,MAAM,GAAG,CAAC,CAAC;oBACX,KAAK,GAAG,CAAC,CAAC;oBACV,KAAK,EAAE,CAAC;oBAER,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,yBAAyB,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;oBACtH,IAAI,UAAU,CAAC,KAAK,EAAE;wBAAE,OAAO,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC;oBAC5D,cAAc,GAAG,UAAU,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC;oBACzC,aAAa,GAAG,UAAU,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC;oBACvC,YAAY,GAAG,UAAU,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC;oBACrC,IAAI,SAAS,CAAC,QAAQ,KAAK,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,KAAK;wBAAE,SAAS,CAAC,aAAa,GAAG,IAAI,CAAC;oBACzG,SAAS;gBACX,CAAC;gBACD,OAAO,MAAM,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;YAC/D,CAAC;YACD,IAAI,MAAM,IAAI,aAAa;gBAAE,OAAO,MAAM,CAAC,GAAG,CAAC,0BAA0B,aAAa,SAAS,CAAC,CAAC;YACjG,IAAI,KAAK,GAAG,YAAY,CAAC,SAAS,CAAC,MAAM,GAAG,YAAY,EAAE,CAAC;gBACzD,OAAO,MAAM,CAAC,GAAG,CAAC,0BAA0B,YAAY,aAAa,CAAC,CAAC;YACzE,CAAC;YACD,MAAM,EAAE,CAAC;YAKT,IAAI,SAAS,CAAC,QAAQ,KAAK,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,KAAK;gBAAE,SAAS,CAAC,aAAa,GAAG,IAAI,CAAC;YACzG,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;YACtF,IAAI,MAAM,CAAC,KAAK,EAAE;gBAAE,OAAO,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;YAIpD,gBAAgB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YAE7F,MAAM,YAAY,GAAiB,CAAC,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;YAChE,YAAY,CAAC,IAAI,CAAC;gBAChB,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,YAAY,CAAC,gBAAgB;gBACtC,UAAU,EAAE,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;oBAChD,EAAE,EAAE,IAAI,CAAC,EAAE;oBACX,IAAI,EAAE,UAAmB;oBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE;iBACzD,CAAC,CAAC;aACJ,CAAC,CAAC;YACH,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBAG/B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;oBAC/C,GAAG,YAAY;oBACf,GAAG,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAc,EAAE,CAAC,CAAC;wBACnD,IAAI,EAAE,MAAM;wBACZ,YAAY,EAAE,IAAI,CAAC,EAAE;wBACrB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;4BACtB,EAAE,EAAE,KAAK;4BACT,KAAK,EACH,4KAA4K;yBAC/K,CAAC;qBACH,CAAC,CAAC;iBACJ,CAAC,CAAC;gBACH,IAAI,UAAU,CAAC,KAAK,EAAE;oBAAE,OAAO,CAAC,MAAM,UAAU,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC;YACtG,CAAC;YAKD,MAAM,MAAM,GAAiB,EAAE,CAAC;YAChC,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,SAAS,EAAE,CAAC;gBAC1C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;gBAClH,IAAI,SAAS,EAAE,KAAK,EAAE;oBAAE,OAAO,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC;gBAC3D,MAAM,QAAQ,GAAmB,EAAE,CAAC;gBACpC,MAAM,KAAK,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE;oBAC7F,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;iBAC7C,CAAC,CAAC;gBACH,IAAI,YAAY,EAAE,MAAM,CAAC,OAAO;oBAAE,OAAO,MAAM,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;gBAC/F,MAAM,OAAO,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;gBAGzC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC7G,IAAI,QAAQ,EAAE,KAAK,EAAE;oBAAE,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;gBACzD,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;gBAGpE,IAAI,KAAK,CAAC,IAAI,EAAE;oBAAE,KAAK,MAAM,KAAK,IAAI,QAAQ;wBAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;gBAChG,KAAK,EAAE,CAAC;YACV,CAAC;YACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAGtB,MAAM,UAAU,GAAG,mBAAmB,CAAC,YAAY,CAAC,CAAC;gBACrD,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;gBACxB,YAAY,CAAC,IAAI,CAAC,GAAG,UAAU,EAAE,GAAG,MAAM,CAAC,CAAC;YAC9C,CAAC;YAED,IAAI,eAAe,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC;gBAAE,OAAO,MAAM,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;YACpH,MAAM,WAAW,GAAe,EAAE,GAAG,cAAc,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC;YAC9E,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC/B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;gBAC/D,IAAI,UAAU,CAAC,KAAK,EAAE;oBAAE,OAAO,CAAC,MAAM,UAAU,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC;gBACpG,MAAM,GAAG,uBAAuB,CAAC;oBAC/B,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB;oBAC5C,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;oBACpC,GAAG;iBACJ,CAAC,CAAC;YACL,CAAC;YAQD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAC;YACnG,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YACpF,IAAI,SAAS,CAAC,KAAK,EAAE;gBAAE,OAAO,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YAClE,MAAM,QAAQ,GAAG,SAAS,CAAC,EAAE,EAAE,CAAC;YAChC,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAC;YAClC,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC;YAChC,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC;QAChC,CAAC;IACH,CAAC;YAAS,CAAC;QACT,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IACpC,CAAC;AACH,CAAC;AAMD,MAAM,UAAU,uBAAuB,CAAC,IAA2B;IACjE,OAAO,IAAI,cAAc,CAAe;QACtC,KAAK,CAAC,UAAU;YACd,KAAK,cAAc,CAAC;gBAClB,GAAG,IAAI;gBACP,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;oBACzB,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBAC1B,OAAO,MAAM,CAAC,EAAE,EAAE,CAAC;gBACrB,CAAC;aACF,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;gBACjB,IAAI,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;oBACnB,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;gBACvC,CAAC;gBACD,UAAU,CAAC,KAAK,EAAE,CAAC;YACrB,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const MERCURY_CAPABILITY_TRIGGERS = "A trigger is an example, not a password: set a capability when the request implies it in any words, and none when the app needs none of them. composer is set only together with ai.\n- ai (a language model reads, writes or judges words or photos) when the request says or implies:\n - a sentence typed in turns into the record's fields\n - a pasted list gets sorted into groups\n - answers a question about the saved records\n - suggests what to make or do next from what is saved\n - summarizes a long note into a few lines\n - writes a caption, a blurb or a short poem\n - a chat reply in a made-up persona's voice\n - looks at a photo and says what is in it\n - gives feedback on, rates or roasts what someone wrote\n - translates or rewrites text in another tone\n - comes up with names, prompts or ideas on request\n - pulls the facts out of a pasted message or email\n - makes up a story, a riddle or a fortune\n- composer (records come in as the person's own words or photos, read by ai) when the request says or implies:\n - add entries in my own words, however I like (also ai)\n - paste a group chat and each item becomes a record (also ai)\n - type a line like 'basil and two tomatoes, bed 3' to add plants (also ai)\n - snap a photo of a receipt or label to add it (also ai)\n - jot a quick note and it gets filed in the right place (also ai)\n- imageGen (the app makes pictures) when the request says or implies:\n - draws a picture of each item\n - makes an avatar from a selfie\n - restyles a photo as a cartoon or a painting\n - a cover image for each story, album or book\n - illustrates each creature or character card\n - designs a logo or a badge\n - shows what something would look like before it exists\n - a colouring page or sticker made to order\n - a product shot for each listing\n- backend (server work the page cannot do on its own) when the request says or implies:\n - reminds me tomorrow morning (also calendar)\n - emails the manager every Monday (also calendar)\n - a weekly digest or summary sent to the owner\n - notifies someone when a new entry arrives\n - pulls a live feed, prices or weather from a website\n - reads a web page or API the person names\n - sends each new record to Slack or a Google Sheet\n - receives a webhook from a payment or code service\n - checks something every hour and keeps the latest\n - deals secret hands no other player can peek at (also boardGame)\n - nags me when something goes overdue (also calendar)\n- calendar (the app keeps dates) when the request says or implies:\n - a due date or deadline on each item\n - keeps a streak of days in a row\n - a shift schedule for the week\n - book an open time slot\n - something that repeats every Tuesday\n - a month view of what happened when\n - subscribe to it from my phone's calendar (also backend)\n - a timeline of dated moments\n - totals for each pay period\n - counts down the days to an event\n - shows how long since I last did it\n- audio (sound or music) when the request says or implies:\n - plays a sound on each tap\n - a drum machine or a beat pad\n - a metronome that keeps time\n - a little synth that plays notes\n - background music or ambient sound\n - records the mic and plays it back with an echo\n - a chime when the timer ends\n- threeD (a 3D world or scene) when the request says or implies:\n - a 3D scene you can spin and zoom\n - fly or drive through a world\n - a physics simulator with things that fall and bounce\n - a 3D model of a room, object or building\n - particles, glow and shader effects\n - a first-person walk around a place\n- charts (graphs, maps and statistics views) when the request says or implies:\n - a graph of progress over time\n - a heatmap of activity\n - a pie or bar chart of where the money went\n - a stats page with averages and bests\n - a map with pins\n - a histogram or a scatter of the entries\n - compares two things side by side in a chart\n- boardGame (a turn-based board, tile or card game) when the request says or implies:\n - bingo cards dealt per player\n - a daily word guess with a share grid\n - a crossword, word search or sudoku\n - chess, checkers, go or mancala\n - solitaire or another card game\n - a trivia room people answer in turn\n - a dice scoresheet with house rules\n - players take turns on a shared board\n - minesweeper, 2048 or tic-tac-toe\n- sensitive (health, real people's money, kids, or private) when the request says or implies:\n - tracks a medication, a symptom or a diagnosis\n - about my kid or a child in my care\n - a budget, debts, salary or what people owe\n - the word private, or only me\n - a mood or therapy journal";
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
export const MERCURY_CAPABILITY_TRIGGERS = `A trigger is an example, not a password: set a capability when the request implies it in any words, and none when the app needs none of them. composer is set only together with ai.
|
|
2
|
+
- ai (a language model reads, writes or judges words or photos) when the request says or implies:
|
|
3
|
+
- a sentence typed in turns into the record's fields
|
|
4
|
+
- a pasted list gets sorted into groups
|
|
5
|
+
- answers a question about the saved records
|
|
6
|
+
- suggests what to make or do next from what is saved
|
|
7
|
+
- summarizes a long note into a few lines
|
|
8
|
+
- writes a caption, a blurb or a short poem
|
|
9
|
+
- a chat reply in a made-up persona's voice
|
|
10
|
+
- looks at a photo and says what is in it
|
|
11
|
+
- gives feedback on, rates or roasts what someone wrote
|
|
12
|
+
- translates or rewrites text in another tone
|
|
13
|
+
- comes up with names, prompts or ideas on request
|
|
14
|
+
- pulls the facts out of a pasted message or email
|
|
15
|
+
- makes up a story, a riddle or a fortune
|
|
16
|
+
- composer (records come in as the person's own words or photos, read by ai) when the request says or implies:
|
|
17
|
+
- add entries in my own words, however I like (also ai)
|
|
18
|
+
- paste a group chat and each item becomes a record (also ai)
|
|
19
|
+
- type a line like 'basil and two tomatoes, bed 3' to add plants (also ai)
|
|
20
|
+
- snap a photo of a receipt or label to add it (also ai)
|
|
21
|
+
- jot a quick note and it gets filed in the right place (also ai)
|
|
22
|
+
- imageGen (the app makes pictures) when the request says or implies:
|
|
23
|
+
- draws a picture of each item
|
|
24
|
+
- makes an avatar from a selfie
|
|
25
|
+
- restyles a photo as a cartoon or a painting
|
|
26
|
+
- a cover image for each story, album or book
|
|
27
|
+
- illustrates each creature or character card
|
|
28
|
+
- designs a logo or a badge
|
|
29
|
+
- shows what something would look like before it exists
|
|
30
|
+
- a colouring page or sticker made to order
|
|
31
|
+
- a product shot for each listing
|
|
32
|
+
- backend (server work the page cannot do on its own) when the request says or implies:
|
|
33
|
+
- reminds me tomorrow morning (also calendar)
|
|
34
|
+
- emails the manager every Monday (also calendar)
|
|
35
|
+
- a weekly digest or summary sent to the owner
|
|
36
|
+
- notifies someone when a new entry arrives
|
|
37
|
+
- pulls a live feed, prices or weather from a website
|
|
38
|
+
- reads a web page or API the person names
|
|
39
|
+
- sends each new record to Slack or a Google Sheet
|
|
40
|
+
- receives a webhook from a payment or code service
|
|
41
|
+
- checks something every hour and keeps the latest
|
|
42
|
+
- deals secret hands no other player can peek at (also boardGame)
|
|
43
|
+
- nags me when something goes overdue (also calendar)
|
|
44
|
+
- calendar (the app keeps dates) when the request says or implies:
|
|
45
|
+
- a due date or deadline on each item
|
|
46
|
+
- keeps a streak of days in a row
|
|
47
|
+
- a shift schedule for the week
|
|
48
|
+
- book an open time slot
|
|
49
|
+
- something that repeats every Tuesday
|
|
50
|
+
- a month view of what happened when
|
|
51
|
+
- subscribe to it from my phone's calendar (also backend)
|
|
52
|
+
- a timeline of dated moments
|
|
53
|
+
- totals for each pay period
|
|
54
|
+
- counts down the days to an event
|
|
55
|
+
- shows how long since I last did it
|
|
56
|
+
- audio (sound or music) when the request says or implies:
|
|
57
|
+
- plays a sound on each tap
|
|
58
|
+
- a drum machine or a beat pad
|
|
59
|
+
- a metronome that keeps time
|
|
60
|
+
- a little synth that plays notes
|
|
61
|
+
- background music or ambient sound
|
|
62
|
+
- records the mic and plays it back with an echo
|
|
63
|
+
- a chime when the timer ends
|
|
64
|
+
- threeD (a 3D world or scene) when the request says or implies:
|
|
65
|
+
- a 3D scene you can spin and zoom
|
|
66
|
+
- fly or drive through a world
|
|
67
|
+
- a physics simulator with things that fall and bounce
|
|
68
|
+
- a 3D model of a room, object or building
|
|
69
|
+
- particles, glow and shader effects
|
|
70
|
+
- a first-person walk around a place
|
|
71
|
+
- charts (graphs, maps and statistics views) when the request says or implies:
|
|
72
|
+
- a graph of progress over time
|
|
73
|
+
- a heatmap of activity
|
|
74
|
+
- a pie or bar chart of where the money went
|
|
75
|
+
- a stats page with averages and bests
|
|
76
|
+
- a map with pins
|
|
77
|
+
- a histogram or a scatter of the entries
|
|
78
|
+
- compares two things side by side in a chart
|
|
79
|
+
- boardGame (a turn-based board, tile or card game) when the request says or implies:
|
|
80
|
+
- bingo cards dealt per player
|
|
81
|
+
- a daily word guess with a share grid
|
|
82
|
+
- a crossword, word search or sudoku
|
|
83
|
+
- chess, checkers, go or mancala
|
|
84
|
+
- solitaire or another card game
|
|
85
|
+
- a trivia room people answer in turn
|
|
86
|
+
- a dice scoresheet with house rules
|
|
87
|
+
- players take turns on a shared board
|
|
88
|
+
- minesweeper, 2048 or tic-tac-toe
|
|
89
|
+
- sensitive (health, real people's money, kids, or private) when the request says or implies:
|
|
90
|
+
- tracks a medication, a symptom or a diagnosis
|
|
91
|
+
- about my kid or a child in my care
|
|
92
|
+
- a budget, debts, salary or what people owe
|
|
93
|
+
- the word private, or only me
|
|
94
|
+
- a mood or therapy journal`;
|
|
95
|
+
//# sourceMappingURL=mercury-capability-triggers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mercury-capability-triggers.js","sourceRoot":"","sources":["../../jsr/intern/mercury-capability-triggers.ts"],"names":[],"mappings":"AAaA,MAAM,CAAC,MAAM,2BAA2B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BA6Fb,CAAC"}
|
|
@@ -5,14 +5,16 @@ import type { VibesApiSQLCtx } from "../types.js";
|
|
|
5
5
|
import type { AgentActor } from "./agent-actor.js";
|
|
6
6
|
import { type AgentBuildDispatcher, type FirstTurnMint } from "./agent-build-tools.js";
|
|
7
7
|
import type { InstructionVariant } from "./instruction-variant.js";
|
|
8
|
-
import type
|
|
8
|
+
import { type MercuryDepth, type MercuryFirstBuild, type MercuryFormat, type MercuryPlanner, type MercuryJuice, type MercuryReplyShape, type MercuryStyle, type MercuryUsageRound } from "./mercury-first-build.js";
|
|
9
|
+
import type { FirstBuildRace } from "./first-build-race.js";
|
|
9
10
|
export declare const MERCURY_SEAM_SOURCE = "mercury";
|
|
10
|
-
export type MercurySeamSkip = "mercury-failed" | "create-refused";
|
|
11
|
+
export type MercurySeamSkip = "mercury-failed" | "create-refused" | "opus-won";
|
|
11
12
|
export type MercurySeamOutcome = {
|
|
12
13
|
readonly dispatched: true;
|
|
13
14
|
readonly chatId: string;
|
|
14
15
|
readonly appSlug: string;
|
|
15
16
|
readonly preamble: string;
|
|
17
|
+
readonly history: readonly LLMMessage[];
|
|
16
18
|
readonly addressRetried?: true;
|
|
17
19
|
} | {
|
|
18
20
|
readonly dispatched: false;
|
|
@@ -24,19 +26,52 @@ export declare function runMercurySeam(vctx: VibesApiSQLCtx, o: {
|
|
|
24
26
|
readonly dispatcher: AgentBuildDispatcher;
|
|
25
27
|
readonly firstTurn: FirstTurnMint;
|
|
26
28
|
readonly presetColorway?: string;
|
|
29
|
+
readonly style?: MercuryStyle;
|
|
30
|
+
readonly juice?: MercuryJuice;
|
|
31
|
+
readonly depth?: MercuryDepth;
|
|
32
|
+
readonly reply?: MercuryReplyShape;
|
|
33
|
+
readonly duo?: boolean;
|
|
34
|
+
readonly oneCall?: boolean;
|
|
35
|
+
readonly recordsRules?: boolean;
|
|
36
|
+
readonly planner?: Exclude<MercuryPlanner, "mercury">;
|
|
37
|
+
readonly format?: MercuryFormat;
|
|
38
|
+
readonly productionSwitch?: true;
|
|
39
|
+
readonly keepText?: boolean;
|
|
40
|
+
readonly race?: FirstBuildRace;
|
|
27
41
|
readonly evidence: (e: AgentEvidence) => Promise<Result<void>>;
|
|
28
42
|
}): Promise<MercurySeamOutcome>;
|
|
29
|
-
export declare
|
|
43
|
+
export declare const MERCURY_FIRST_BUILD_CALL_ID = "call_mercury_first_build";
|
|
44
|
+
export declare function mercuryFirstBuildHistory(o: {
|
|
45
|
+
readonly preamble: string;
|
|
46
|
+
readonly input: unknown;
|
|
47
|
+
readonly receipt: unknown;
|
|
48
|
+
}): LLMMessage[];
|
|
49
|
+
export declare const MERCURY_TESTER_ATTRIBUTION_LINE: string;
|
|
50
|
+
export declare function mercuryTesterPlanned(format: "skeleton" | MercuryFormat | undefined): boolean;
|
|
51
|
+
export declare const MERCURY_FIRST_BUILD_LINE: string;
|
|
52
|
+
export declare function mercuryFirstBuildContextLine(o?: {
|
|
53
|
+
readonly tester?: boolean;
|
|
54
|
+
}): string;
|
|
30
55
|
export declare function mercuryFirstBuildAppContext(messages: readonly LLMMessage[], o: {
|
|
31
56
|
readonly ownerHandle: string;
|
|
32
57
|
readonly appSlug: string;
|
|
33
|
-
readonly
|
|
58
|
+
readonly tester?: boolean;
|
|
34
59
|
}): LLMMessage[];
|
|
35
60
|
export declare function withPreambleFirst(stream: ReadableStream<SseStreamMsg>, preamble: string): ReadableStream<SseStreamMsg>;
|
|
61
|
+
export declare function withMercuryUsageRounds(stream: ReadableStream<SseStreamMsg>, o: {
|
|
62
|
+
readonly settled: Promise<unknown>;
|
|
63
|
+
readonly rounds: () => readonly MercuryUsageRound[];
|
|
64
|
+
}): ReadableStream<SseStreamMsg>;
|
|
36
65
|
export declare const MERCURY_DERIVE_FROM_ASK_OVERLAY = "<derive-from-ask>\nThe <app-workflow> brief for this app is deliberately thin on records and screens. It fixes what is settled: the person's own words, the ownership archetype and the access shape, which capabilities are loaded, the core action in the person's words, the record names, the seed cast, the look and the title. It leaves the mechanics to you, because you can read the person's message and work out what the app must actually do.\n\nDerive the rest from the verbatim ask before you write code: the fields each named record needs so the screens can show what the person described; the first screen, built around the core action as its biggest control in as few taps as the words allow; every other screen the ask implies and nothing it does not; the calculations, states and transitions the words commit you to \u2014 a tally that increments on one tap, a split that shows who owes whom, a feed that refreshes from its source, a timer that fills the screen. Each asked feature is a direct control of its own.\n\nKeep the ownership and access shape exactly as the brief gives it: who owns the object, who is let in, what a visitor sees. Keep the record names and the seed cast; give the seed records exactly the fields your Add writes. A specified ask gets on screen only what it names plus what that needs; a vague ask gets one or two alive defaults. The hints in the brief are hints: where your reading of the ask disagrees with one, the ask wins.\n</derive-from-ask>";
|
|
66
|
+
export declare const MERCURY_CHOPPED_DERIVE_FROM_ASK_OVERLAY = "<derive-from-ask>\nThe <app-workflow> brief for this app is deliberately thin on records and screens. It fixes what is settled: the person's own words, the ownership archetype and the access shape, which capabilities are loaded, the core action in the person's words, the record names, the seed cast, the look and the title. It leaves the mechanics to you, because you can read the person's message and work out what the app must actually do.\n\nDerive the rest from the verbatim ask before you write code, and derive generously: build the fuller app the ask implies, the one a person would be delighted to open. The fields each named record needs so the screens can show what the person described, plus the ones that make a record feel alive (a status, a date, a count, a who). The first screen, built around the core action as its biggest control, one satisfying tap away. Every screen the ask implies and the ones a person using it would reach for in their first five minutes: the history, the summary with its big number, the detail view, the filter chip row. The calculations, states and transitions the words commit you to, carried all the way through \u2014 a tally that increments on one tap and celebrates a streak, a split that shows who owes whom and settles up, a feed that refreshes from its source, a timer that fills the screen. Each asked feature is a direct control of its own.\n\nTurn the screens up: each carries one distinctive detail specific to this app \u2014 the big number, the chip row, the satisfying tap, the state that changes colour \u2014 and the seed records sit in the interesting states those screens show. Empty states invite the first action in the app's own voice.\n\nKeep the ownership and access shape exactly as the brief gives it: who owns the object, who is let in, what a visitor sees. Keep the record names and the seed cast; give the seed records exactly the fields your Add writes. Everything you add serves the app the person asked for, in their own nouns and their world: the app stays the one they asked for, grown fuller, never a different one. The hints in the brief are hints: where your reading of the ask disagrees with one, the ask wins.\n</derive-from-ask>";
|
|
67
|
+
export declare function mercuryBuilderOverlayFor(o: {
|
|
68
|
+
readonly instructionVariant: InstructionVariant | undefined;
|
|
69
|
+
readonly agentDispatched: boolean;
|
|
70
|
+
readonly initialTurn: boolean;
|
|
71
|
+
}): string | undefined;
|
|
37
72
|
export declare function mercuryBuilderOverlayApplies(o: {
|
|
38
73
|
readonly instructionVariant: InstructionVariant | undefined;
|
|
39
74
|
readonly agentDispatched: boolean;
|
|
40
75
|
readonly initialTurn: boolean;
|
|
41
76
|
}): boolean;
|
|
42
|
-
export declare function withMercuryBuilderOverlay(messages: readonly ChatMessage[]): ChatMessage[];
|
|
77
|
+
export declare function withMercuryBuilderOverlay(messages: readonly ChatMessage[], overlay?: string): ChatMessage[];
|