@superdurable/dex-agents 0.5.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/README.md +110 -3
  2. package/dist/src/agent-approval-display.d.ts +135 -0
  3. package/dist/src/agent-approval-display.js +536 -0
  4. package/dist/src/agent-approval-display.js.map +1 -0
  5. package/dist/src/agent-framework-runner.d.ts +39 -2
  6. package/dist/src/agent-framework-runner.js.map +1 -1
  7. package/dist/src/agent-session-codecs.d.ts +3 -1
  8. package/dist/src/agent-session-codecs.js +31 -0
  9. package/dist/src/agent-session-codecs.js.map +1 -1
  10. package/dist/src/agent-session-flow.d.ts +23 -0
  11. package/dist/src/agent-session-flow.js +11 -0
  12. package/dist/src/agent-session-flow.js.map +1 -1
  13. package/dist/src/agent-session-persistence.d.ts +33 -0
  14. package/dist/src/agent-session-persistence.js +22 -1
  15. package/dist/src/agent-session-persistence.js.map +1 -1
  16. package/dist/src/agent-session-steps.js +22 -2
  17. package/dist/src/agent-session-steps.js.map +1 -1
  18. package/dist/src/agent-session-summary.d.ts +138 -0
  19. package/dist/src/agent-session-summary.js +151 -0
  20. package/dist/src/agent-session-summary.js.map +1 -0
  21. package/dist/src/agent-session-transitions.d.ts +9 -3
  22. package/dist/src/agent-session-transitions.js +37 -5
  23. package/dist/src/agent-session-transitions.js.map +1 -1
  24. package/dist/src/agent-session-values.d.ts +103 -1
  25. package/dist/src/agent-session-values.js.map +1 -1
  26. package/dist/src/builtin-loop/builtin-agent-session-flow.d.ts +9 -1
  27. package/dist/src/builtin-loop/builtin-agent-session-flow.js +5 -1
  28. package/dist/src/builtin-loop/builtin-agent-session-flow.js.map +1 -1
  29. package/dist/src/connectors/connector-tool-source.d.ts +2 -1
  30. package/dist/src/connectors/connector-tool-source.js +13 -1
  31. package/dist/src/connectors/connector-tool-source.js.map +1 -1
  32. package/dist/src/index.d.ts +3 -1
  33. package/dist/src/index.js +2 -0
  34. package/dist/src/index.js.map +1 -1
  35. package/dist/src/mcp/mcp-tool-source.d.ts +27 -1
  36. package/dist/src/mcp/mcp-tool-source.js +52 -13
  37. package/dist/src/mcp/mcp-tool-source.js.map +1 -1
  38. package/dist/src/testing/private-dex-engine.d.ts +8 -0
  39. package/dist/src/testing/private-dex-engine.js +17 -1
  40. package/dist/src/testing/private-dex-engine.js.map +1 -1
  41. package/package.json +2 -2
@@ -9,10 +9,11 @@ import { AttributeMapNotLoadedError, StepMovement, StepRef, goTo, goToMany, stri
9
9
  import { agentSessionStepTypes } from "./agent-session-step-types.js";
10
10
  import { isContextCompactionRunner } from "./agent-context-compaction.js";
11
11
  import { StreamAgentEventWriter } from "./agent-event-writer.js";
12
- import { encodeAgentMessage } from "./agent-session-codecs.js";
12
+ import { encodeAgentInterruptDisplay, encodeAgentMessage } from "./agent-session-codecs.js";
13
13
  import { validateImageReferences } from "./agent-media.js";
14
14
  import { resolveToolPolicy, } from "./agent-framework-runner.js";
15
15
  import { messageSequenceKey } from "./agent-session-persistence.js";
16
+ import { buildSessionTitle } from "./agent-session-summary.js";
16
17
  import { modelCallRefusedErrorPrefix, withinSpendLimitCallTimeout, } from "./agent-session-spend-limit.js";
17
18
  import { messageStepOptions } from "./agent-session-step-options.js";
18
19
  import { addAgentUsage, buildToolCallNote, emptyAgentUsage, isFinalToolCallStatus, toolCallCancelledBySteeringResult, toolCallCancelledByTurnCancellationResult, turnCancelledNoteHeader, turnSteeredNoteHeader, } from "./agent-session-values.js";
@@ -61,6 +62,25 @@ export class AgentSessionTransitions {
61
62
  writeAgentState(context, state) {
62
63
  this.persistence.agentState.set(context, state);
63
64
  }
65
+ /** Writes the session's last activity time and turn count. */
66
+ recordSessionActivity(context, turnCount) {
67
+ if (!this.config.summaryAttributesIndexed) {
68
+ return;
69
+ }
70
+ // The first attempt's start time comes from Dex and stays the same across retries.
71
+ this.persistence.agentSessionLastActivityAt.set(context, context.firstAttemptAt.toISOString());
72
+ this.persistence.agentSessionTurnCount.set(context, turnCount);
73
+ }
74
+ /** Writes the session's title from its first user message, unless it already has one. */
75
+ recordSessionTitle(context, firstMessageText) {
76
+ if (!this.config.summaryAttributesIndexed) {
77
+ return;
78
+ }
79
+ const title = buildSessionTitle(firstMessageText);
80
+ if (title !== null && this.persistence.agentSessionTitle.get(context) === undefined) {
81
+ this.persistence.agentSessionTitle.set(context, title);
82
+ }
83
+ }
64
84
  readPendingInterrupts(context) {
65
85
  return this.persistence.pendingInterrupts.get(context) ?? [];
66
86
  }
@@ -296,6 +316,7 @@ export class AgentSessionTransitions {
296
316
  question: interrupt.question ?? null,
297
317
  choices: interrupt.choices ?? [],
298
318
  allows_free_text: interrupt.allowsFreeText ?? true,
319
+ display: encodeAgentInterruptDisplay(interrupt.display),
299
320
  });
300
321
  }
301
322
  writeInterruptResolved(context, turnId, resolution) {
@@ -406,9 +427,10 @@ export class AgentSessionTransitions {
406
427
  * straight into a chunk of its own, so the first store writes the largest value it ever needs. In the same
407
428
  * commit it moves the oldest window messages into archive chunks while the window is over its size and
408
429
  * applies retention; it writes `AgentMessageIndex` only when one of them changed it. It requires the whole
409
- * window to be loaded. With `startsTurn`, `TurnReplySequence` records where the turn's replies begin.
430
+ * window to be loaded. With `startsTurn`, `TurnReplySequence` records where the turn's replies begin. A non-null
431
+ * `origin` marks every appended message as written by the session itself.
410
432
  */
411
- appendMessages(context, state, turnId, frameworkMessages, startsTurn = false) {
433
+ appendMessages(context, state, turnId, frameworkMessages, startsTurn = false, origin = null) {
412
434
  if (frameworkMessages.length === 0 && !startsTurn) {
413
435
  this.writeAgentState(context, state);
414
436
  return state;
@@ -446,6 +468,7 @@ export class AgentSessionTransitions {
446
468
  ...(frameworkMessage.images === undefined || frameworkMessage.images.length === 0
447
469
  ? {}
448
470
  : { images: frameworkMessage.images }),
471
+ ...(origin === null ? {} : { origin }),
449
472
  };
450
473
  const key = messageSequenceKey(nextMessageSequence);
451
474
  if (messageChunkOverheadBytes + agentMessageBytes(message) > this.config.messageChunkMaxBytes) {
@@ -561,7 +584,8 @@ export class AgentSessionTransitions {
561
584
  if (userMessages.some((userMessage) => userMessage.role !== "user")) {
562
585
  throw new TypeError("buildUserMessage must return a message with role user");
563
586
  }
564
- const stateWithMessage = this.appendMessages(context, state, turnId, userMessages, true);
587
+ const origin = executedPlan === undefined ? null : "plan_execution";
588
+ const stateWithMessage = this.appendMessages(context, state, turnId, userMessages, true, origin);
565
589
  this.writeAgentState(context, {
566
590
  ...stateWithMessage,
567
591
  status: "running_model",
@@ -569,6 +593,11 @@ export class AgentSessionTransitions {
569
593
  interactionMode,
570
594
  acceptsTurnControl: true,
571
595
  });
596
+ this.recordSessionActivity(context, state.turnCount);
597
+ const firstMessage = messages[0];
598
+ if (state.turnCount === 0 && firstMessage !== undefined) {
599
+ this.recordSessionTitle(context, firstMessage.text);
600
+ }
572
601
  this.writeEvents(context, turnId, (events) => {
573
602
  events.writeEvent("turn_started", { sequence });
574
603
  if (executedPlan !== undefined) {
@@ -617,9 +646,11 @@ export class AgentSessionTransitions {
617
646
  const isCancelled = transitions.readTurnControlReason(context, turnId) === "turn_cancelled";
618
647
  const storedMessageCount = transitions.countStoredTurnReplies(context, initialState, turnId);
619
648
  let messages = transitions.buildUnfinishedTurnMessages(context, initialState, turnId, toolCalls);
649
+ let noteOrigin = null;
620
650
  if (messages === null) {
621
651
  messages = [];
622
652
  if (toolCalls.length > 0) {
653
+ noteOrigin = isCancelled ? "turn_cancelled_note" : "turn_steered_note";
623
654
  // The records are deleted below; the note keeps the next model from repeating them.
624
655
  const note = transitions.runner.buildUserMessage(buildToolCallNote(isCancelled ? turnCancelledNoteHeader : turnSteeredNoteHeader, toolCalls));
625
656
  if (note.role !== "user") {
@@ -628,7 +659,7 @@ export class AgentSessionTransitions {
628
659
  messages = [note];
629
660
  }
630
661
  }
631
- const stateWithMessages = transitions.appendMessages(context, initialState, turnId, messages);
662
+ const stateWithMessages = transitions.appendMessages(context, initialState, turnId, messages, false, noteOrigin);
632
663
  for (const toolCall of toolCalls) {
633
664
  persistence.agentToolCalls.delete(context, toolCall.toolCallId);
634
665
  }
@@ -642,6 +673,7 @@ export class AgentSessionTransitions {
642
673
  acceptsTurnControl: false,
643
674
  };
644
675
  transitions.writeAgentState(context, endedState);
676
+ transitions.recordSessionActivity(context, endedState.turnCount);
645
677
  const messageCount = storedMessageCount + messages.length;
646
678
  transitions.writeEvents(context, turnId, (events) => isCancelled
647
679
  ? events.writeEvent("turn_cancelled", { message_count: messageCount })
@@ -1 +1 @@
1
- {"version":3,"file":"agent-session-transitions.js","sourceRoot":"","sources":["../../src/agent-session-transitions.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,EAAE;AACF,kDAAkD;AAClD,mEAAmE;AACnE,+CAA+C;AAC/C,EAAE;AACF,0DAA0D;AAE1D,OAAO,EACL,0BAA0B,EAC1B,YAAY,EACZ,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,WAAW,GAKZ,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,yBAAyB,EAAiC,MAAM,+BAA+B,CAAC;AACzG,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EACL,iBAAiB,GAMlB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,kBAAkB,EAAgC,MAAM,gCAAgC,CAAC;AAClG,OAAO,EACL,2BAA2B,EAC3B,2BAA2B,GAE5B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAsD,MAAM,iCAAiC,CAAC;AAEzH,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EAqBrB,iCAAiC,EACjC,yCAAyC,EACzC,uBAAuB,EACvB,qBAAqB,GAGtB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAGtE,qGAAqG;AACrG,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC,CAAC;AACnD;;;GAGG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,SAAS,CAAC;AAC1D,gEAAgE;AAChE,MAAM,yBAAyB,GAAG,EAAE,CAAC;AACrC,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;AACtC,2EAA2E;AAC3E,MAAM,CAAC,MAAM,kBAAkB,GAAG,aAAa,CAAC;AAEhD,8FAA8F;AAC9F,MAAM,CAAC,MAAM,2BAA2B,GAAyD;IAC/F,OAAO,EAAE,iCAAiC;IAC1C,cAAc,EAAE,yCAAyC;CAC1D,CAAC;AAYF,yEAAyE;AACzE,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAqBnC,0EAA0E;AAC1E,MAAM,OAAO,uBAAuB;IAEhB;IACA;IACA;IACA;IAJlB,YACkB,WAAoC,EACpC,MAAiD,EACjD,MAA0B,EAC1B,MAA0B;QAH1B,gBAAW,GAAX,WAAW,CAAyB;QACpC,WAAM,GAAN,MAAM,CAA2C;QACjD,WAAM,GAAN,MAAM,CAAoB;QAC1B,WAAM,GAAN,MAAM,CAAoB;IACzC,CAAC;IAEG,sBAAsB,CAAC,OAAgB;QAC5C,OAAQ,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAA4B,IAAI,IAAI,CAAC;IACtF,CAAC;IAEM,cAAc,CAAC,OAAgB;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;QACnD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,qBAAqB,OAAO,CAAC,MAAM,qBAAqB,CAAC,CAAC;QAC5E,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,eAAe,CAAC,OAAgB,EAAE,KAAiB;QACxD,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAClD,CAAC;IAEM,qBAAqB,CAAC,OAAgB;QAC3C,OAAQ,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAA2C,IAAI,EAAE,CAAC;IAC1G,CAAC;IAEM,qBAAqB,CAAC,OAAgB;QAC3C,OAAQ,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAA2B,IAAI,IAAI,CAAC;IACpF,CAAC;IAEM,cAAc,CAAC,OAAgB;QACpC,OAAQ,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAA4B,IAAI,eAAe,EAAE,CAAC;IACnG,CAAC;IAED,mFAAmF;IAC5E,mBAAmB,CAAC,OAAgB;QACzC,OAAQ,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAiC,IAAI,IAAI,CAAC;IAChG,CAAC;IAED,wFAAwF;IACjF,uBAAuB,CAAC,OAAgB;QAC7C,OAAO,yBAAyB,CAC7B,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAqC,IAAI,IAAI,EAC9F,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,EAAE,YAAY,IAAI,IAAI,CAC3D,CAAC;IACJ,CAAC;IAEM,kBAAkB,CAAC,OAAgB;QACxC,OAAQ,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAgC,IAAI,IAAI,CAAC;IAC9F,CAAC;IAED,wGAAwG;IACjG,wBAAwB,CAAC,OAAgB;QAC9C,OAAO,yBAAyB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1F,CAAC;IAEM,qBAAqB,CAAC,OAAgB;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAuB,CAAC;QACvF,OAAO,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;IACrE,CAAC;IAEM,gBAAgB,CAAC,OAAgB;QACtC,OAAQ,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAmC,IAAI,IAAI,CAAC;IACpG,CAAC;IAED,iFAAiF;IAC1E,uBAAuB,CAAC,OAAgB;QAC7C,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,aAAa,IAAI,CAAC,CAAC;IAC5D,CAAC;IAED;;;OAGG;IACI,YAAY,CAAC,OAAgB,EAAE,KAAa,EAAE,GAAW;QAC9D,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAmB,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAmC,CAAC;QAC1D,KAAK,IAAI,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,aAAa,IAAI,CAAC,EAAE,KAAK,CAAC,EAAE,QAAQ,GAAG,GAAG,EAAE,QAAQ,IAAI,CAAC,EAAE,CAAC;YAC9F,MAAM,KAAK,GAAG,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,qBAAqB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YAClF,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;gBACzD,SAAS;YACX,CAAC;YACD,IAAI,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YAC5C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAC/C,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;YACzC,CAAC;YACD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,aAAa,CAAiB,CAAC,CAAC;QACvE,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,iBAAiB,CAAC,OAAgB,EAAE,QAAgB;QAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAE3E,CAAC;QACd,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,gCAAgC,QAAQ,eAAe,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3F,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,4FAA4F;IACpF,iBAAiB,CAAC,OAAgB,EAAE,KAA6B;QACvE,MAAM,GAAG,GAAG,kBAAkB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACpD,IAAI,KAAoC,CAAC;QACzC,IAAI,CAAC;YACH,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAkC,CAAC;QACjG,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IAAI,KAAK,YAAY,0BAA0B,EAAE,CAAC;gBAChD,MAAM,IAAI,KAAK,CAAC,+BAA+B,GAAG,gBAAgB,CAAC,CAAC;YACtE,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;QACD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,+BAA+B,GAAG,gBAAgB,CAAC,CAAC;QACtE,CAAC;QACD,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CACb,+BAA+B,GAAG,2BAA2B,KAAK,CAAC,aAAa,YAAY,KAAK,CAAC,YAAY,EAAE,CACjH,CAAC;QACJ,CAAC;QACD,OAAO,KAAK,CAAC,QAAQ,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACI,sBAAsB,CAAC,OAAgB,EAAE,KAAiB,EAAE,MAAc;QAC/E,OAAO,KAAK,CAAC,mBAAmB,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACxF,CAAC;IAED,kHAAkH;IAC1G,qBAAqB,CAAC,OAAgB,EAAE,KAAiB,EAAE,MAAc;QAC/E,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAkC,CAAC;QAChG,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YACrD,OAAO,MAAM,CAAC,QAAQ,CAAC;QACzB,CAAC;QACD,MAAM,YAAY,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QACzE,OAAO,KAAK,CAAC,mBAAmB,GAAG,8BAA8B,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAC1F,CAAC;IAED;;;OAGG;IACK,sBAAsB,CAAC,OAAgB,EAAE,KAAiB,EAAE,MAAc;QAChF,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC7C,MAAM,YAAY,GAAmB,EAAE,CAAC;QACxC,KAAK,IAAI,QAAQ,GAAG,KAAK,CAAC,mBAAmB,GAAG,CAAC,EAAE,QAAQ,IAAI,CAAC,KAAK,EAAE,aAAa,IAAI,CAAC,CAAC,EAAE,QAAQ,IAAI,CAAC,EAAE,CAAC;YAC1G,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;YACjE,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBACvD,MAAM;YACR,CAAC;YACD,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO,YAAY,CAAC,OAAO,EAAE,CAAC;IAChC,CAAC;IAED,kHAAkH;IAC1G,iBAAiB,CAAC,OAAgB,EAAE,KAA+B,EAAE,QAAgB;QAC3F,MAAM,KAAK,GAAG,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,qBAAqB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAClF,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;QAChF,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;gBACtE,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,iHAAiH;IAC1G,2BAA2B,CAAC,OAAgB,EAAE,OAA8B;QACjF,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;IAC1G,CAAC;IAED;;;OAGG;IACI,iBAAiB,CAAC,OAAgB,EAAE,KAAa,EAAE,MAAc,MAAM,CAAC,gBAAgB;QAC7F,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;QAC9C,CAAC;QACD,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM;aAC3B,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,IAAI,KAAK,IAAI,KAAK,CAAC,aAAa,GAAG,GAAG,CAAC;aAC3E,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACrG,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAC1C,CAAC;IAED,+DAA+D;IACxD,oBAAoB,CAAC,OAAgB,EAAE,OAA8B;QAC1E,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YACzC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;QAC7C,CAAC;QACD,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,2BAA2B,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7F,CAAC;IAED,yFAAyF;IAClF,YAAY,CAAC,OAAgB,EAAE,UAAiC,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC;QAC3G,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,qBAAqB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACnF,CAAC;IAED,mGAAmG;IAC5F,oBAAoB,CAAC,OAAgB;QAC1C,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,qBAAqB,CAAC,gBAAgB,EAAE,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1H,CAAC;IAEO,kBAAkB,CAAC,OAAgB,EAAE,QAAgB,EAAE,OAA8B;QAC3F,MAAM,OAAO,GAAG,kBAAkB,CAChC,IAAI,CAAC,WAAW,EAChB,QAAQ,EACR,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC,EAC3C,IAAI,CAAC,MAAM,CAAC,aAAa,CAC1B,CAAC;QACF,OAAO,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,gGAAgG;IACzF,iBAAiB,CAAC,OAAgB,EAAE,MAAqB;QAC9D,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC;QAClD,OAAO,SAAS;aACb,kBAAkB,CAAC,OAAO,CAAC;aAC3B,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;aACzC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,KAAK,MAAM,CAAC;aAChD,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;IACrE,CAAC;IAED,sEAAsE;IAC/D,YAAY,CAAC,OAAgB,EAAE,UAAkB;QACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAoC,CAAC;QAC7G,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,aAAa,UAAU,6BAA6B,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACxF,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,6EAA6E;IACtE,qBAAqB,CAAC,OAAgB,EAAE,UAAkB;QAC/D,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;IACpE,CAAC;IAEM,aAAa,CAAC,OAAgB,EAAE,QAA6B;QAClE,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC9E,CAAC;IAED;;;OAGG;IACI,cAAc,CAAC,OAAgB,EAAE,QAA6B,EAAE,MAA+B;QACpG,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,SAAS,CAAC,aAAa,QAAQ,CAAC,UAAU,kBAAkB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3F,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACtC,MAAM,WAAW,GAAG,QAAQ,CAAC,MAA6B,CAAC;QAC3D,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CACpD,MAAM,CAAC,qBAAqB,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,CAClF,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,qBAAqB,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QACpF,CAAC;QACD,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC3D,CAAC;IAED,gGAAgG;IACzF,yBAAyB,CAAC,OAAgB,EAAE,QAA6B,EAAE,MAA8B;QAC9G,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,SAAS,CAAC,aAAa,QAAQ,CAAC,UAAU,kBAAkB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3F,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACtC,MAAM,CAAC,qBAAqB,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAA6B,CAAC,CAAC;IAC/G,CAAC;IAEM,oBAAoB,CAAC,MAA8B,EAAE,SAAyB;QACnF,MAAM,CAAC,UAAU,CAAC,kBAAkB,EAAE;YACpC,YAAY,EAAE,SAAS,CAAC,WAAW;YACnC,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,YAAY,EAAE,SAAS,CAAC,UAAU;YAClC,SAAS,EAAE,SAAS,CAAC,QAAQ;YAC7B,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,QAAQ,EAAE,SAAS,CAAC,QAAQ,IAAI,IAAI;YACpC,OAAO,EAAE,SAAS,CAAC,OAAO,IAAI,EAAE;YAChC,gBAAgB,EAAE,SAAS,CAAC,cAAc,IAAI,IAAI;SACnD,CAAC,CAAC;IACL,CAAC;IAEM,sBAAsB,CAAC,OAAgB,EAAE,MAAc,EAAE,UAAkC;QAChG,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAC3C,MAAM,CAAC,UAAU,CAAC,oBAAoB,EAAE;YACtC,YAAY,EAAE,UAAU,CAAC,WAAW;YACpC,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,QAAQ,EAAE,UAAU,CAAC,UAAU;YAC/B,QAAQ,EAAE,UAAU,CAAC,UAAU;YAC/B,iBAAiB,EAAE,UAAU,CAAC,gBAAgB;YAC9C,mBAAmB,EAAE,UAAU,CAAC,kBAAkB,IAAI,IAAI;SAC3D,CAAC,CACH,CAAC;IACJ,CAAC;IAED,oGAAoG;IAC7F,uBAAuB,CAC5B,OAAgB,EAChB,MAAc,EACd,WAAmB,EACnB,IAAwB,EACxB,MAAkC;QAElC,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE;YAC3C,WAAW;YACX,IAAI;YACJ,UAAU,EAAE,KAAK;YACjB,UAAU,EAAE,KAAK;YACjB,gBAAgB,EAAE,2BAA2B,CAAC,MAAM,CAAC;YACrD,kBAAkB,EAAE,MAAM;SAC3B,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACI,qBAAqB,CAAC,OAAgB,EAAE,MAAqB;QAClE,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,uBAAuB,CAAC,GAAG,CAAC,OAAO,CAAwC,CAAC;QAC7G,yEAAyE;QACzE,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YACvD,OAAO,gBAAgB,CAAC;QAC1B,CAAC;QACD,OAAO,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1F,CAAC;IAED,sEAAsE;IAC/D,iBAAiB,CACtB,OAAgB,EAChB,KAAiB,EACjB,MAAc,EACd,SAAyC,EACzC,MAA8B,EAC9B,SAA8B;QAE9B,MAAM,eAAe,GAAG,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACxD,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;QAClG,MAAM,iBAAiB,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAC9D,MAAM,cAAc,GAAG,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;QAC9D,MAAM,mBAAmB,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QAClE,IAAI,cAAc,KAAK,IAAI,IAAI,mBAAmB,GAAG,CAAC,EAAE,CAAC;YACvD,OAAO,CAAC,IAAI,CACV,uBAAuB,OAAO,CAAC,MAAM,8BAA8B,mBAAmB,cAAc;gBAClG,+EAA+E,CAClF,CAAC;QACJ,CAAC;QACD,OAAO;YACL,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM;YACN,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,QAAQ,EAAE,IAAI,CAAC,YAAY,CACzB,OAAO,EACP,IAAI,CAAC,2BAA2B,CAAC,OAAO,EAAE,cAAc,CAAC,EACzD,KAAK,CAAC,mBAAmB,CAC1B;YACD,iBAAiB;YACjB,UAAU,EAAE,iBAAiB,KAAK,IAAI;YACtC,SAAS,EAAE,eAAe;YAC1B,MAAM;YACN,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;YAC9C,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,mBAAmB,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;YAC7C,eAAe,EAAE,KAAK,CAAC,eAAe,IAAI,MAAM;YAChD,IAAI,EAAE,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC;YACzC,cAAc;YACd,eAAe,EAAE,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC;YACtD,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;YACtC,iBAAiB,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB;YAChD,iBAAiB,EAAE,CAAC,QAAQ,EAAE,eAAe,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,eAAe,CAAC;YACnG,gBAAgB,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC;YAC/D,SAAS;SACV,CAAC;IACJ,CAAC;IAED;;;OAGG;IACI,2BAA2B,CAChC,OAAgB,EAChB,KAAiB,EACjB,MAAc,EACd,cAA8C;QAE9C,IAAI,IAAI,CAAC,MAAM,CAAC,2BAA2B,KAAK,SAAS,EAAE,CAAC;YAC1D,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACvD,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,CAC9F,OAAO,CAAC,OAAO,EAAE,CAClB,CAAC;YACF,MAAM,QAAQ,GAAY,IAAI,CAAC,MAAM,CAAC,2BAA2B,CAAC,WAAW,CAAC,CAAC;YAC/E,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBACpE,MAAM,IAAI,SAAS,CAAC,wEAAwE,CAAC,CAAC;YAChG,CAAC;YACD,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,uBAAuB,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC;YAC7E,OAAO,QAAQ,CAAC;QAClB,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,+FAA+F;YAC/F,OAAO,CAAC,IAAI,CAAC,0DAA0D,MAAM,GAAG,EAAE,KAAK,CAAC,CAAC;YACzF,OAAO,IAAI,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC;IACH,CAAC;IAEM,oBAAoB,CAAC,QAAgB;QAC1C,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,QAAuB,CAAC,CAAC;IAC/D,CAAC;IAED;;;;;;;;OAQG;IACI,cAAc,CACnB,OAAgB,EAChB,KAAiB,EACjB,MAAc,EACd,iBAA8C,EAC9C,UAAU,GAAG,KAAK;QAElB,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YAClD,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACrC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,qFAAqF;QACrF,iBAAiB,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,uBAAuB,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC;QACtF,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;QACxC,IAAI,CAAC,UAAU,IAAI,YAAY,KAAK,IAAI,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YACvE,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAkC,CAAC;YAChG,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;gBAC3D,8EAA8E;gBAC9E,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,EAAE;oBAC9C,MAAM,EAAE,YAAY;oBACpB,QAAQ,EAAE,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,KAAK,EAAE,YAAY,CAAC;iBACnE,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACnD,IAAI,KAAK,GAAG,WAAW,IAAI,iBAAiB,EAAE,CAAC;QAC/C,MAAM,YAAY,GAA6B,EAAE,CAAC;QAClD,IAAI,mBAAmB,GAAG,KAAK,CAAC,mBAAmB,CAAC;QACpD,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC3C,KAAK,MAAM,gBAAgB,IAAI,iBAAiB,EAAE,CAAC;YACjD,MAAM,OAAO,GAAiB;gBAC5B,QAAQ,EAAE,mBAAmB;gBAC7B,MAAM;gBACN,IAAI,EAAE,gBAAgB,CAAC,IAAI;gBAC3B,IAAI,EAAE,gBAAgB,CAAC,IAAI;gBAC3B,UAAU,EAAE,gBAAgB,CAAC,UAAU;gBACvC,QAAQ,EAAE,gBAAgB,CAAC,QAAQ;gBACnC,aAAa,EAAE,gBAAgB,CAAC,aAAa;gBAC7C,UAAU,EAAE,gBAAgB,CAAC,UAAU;gBACvC,aAAa,EAAE,gBAAgB,CAAC,aAAa;gBAC7C,SAAS;gBACT,GAAG,CAAC,gBAAgB,CAAC,MAAM,KAAK,SAAS,IAAI,gBAAgB,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;oBAC/E,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,EAAE,MAAM,EAAE,gBAAgB,CAAC,MAAM,EAAE,CAAC;aACzC,CAAC;YACF,MAAM,GAAG,GAAG,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;YACpD,IAAI,yBAAyB,GAAG,iBAAiB,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC;gBAC9F,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAC/E,YAAY,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,mBAAmB,EAAE,YAAY,EAAE,mBAAmB,EAAE,CAAC,CAAC;YAC/F,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;YAC5D,CAAC;YACD,mBAAmB,IAAI,CAAC,CAAC;QAC3B,CAAC;QACD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,KAAK,GAAG,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,GAAG,YAAY,CAAC,EAAE,CAAC;QACnE,CAAC;QACD,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,mBAAmB,EAAE,CAAC,CAAC;QAC7F,CAAC;QACD,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,KAAK,EAAE,mBAAmB,CAAC,CAAC;QACxE,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,KAAK,EAAE,mBAAmB,EAAE,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;QAC1G,IAAI,CAAC,kBAAkB,CAAC,WAAW,IAAI,iBAAiB,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC;YACnE,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACzD,CAAC;QACD,MAAM,aAAa,GAAG,EAAE,GAAG,KAAK,EAAE,mBAAmB,EAAE,CAAC;QACxD,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAC7C,OAAO,aAAa,CAAC;IACvB,CAAC;IAED;;;;;OAKG;IACK,qBAAqB,CAAC,OAAgB,EAAE,KAAwB,EAAE,mBAA2B;QACnG,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QACjC,MAAM,YAAY,GAAG,IAAI,GAAG,CAC1B,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAC/G,CAAC;QACF,IAAI,mBAAmB,GAAG,gBAAgB,CAAC,YAAY,EAAE,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACpF,MAAM,kBAAkB,GAAG,GAAW,EAAE,CACtC,mBAAmB;YACnB,mBAAmB;YACnB,CAAC,GAAG,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,IAAI,mBAAmB,CAAC,CAAC,MAAM,CAAC;QACjF,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,OAAO,kBAAkB,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,IAAI,WAAW,GAAG,iCAAiC,EAAE,CAAC;YAC/G,MAAM,QAAQ,GAAmB,EAAE,CAAC;YACpC,IAAI,UAAU,GAAG,yBAAyB,GAAG,CAAC,CAAC;YAC/C,KACE,IAAI,QAAQ,GAAG,mBAAmB,EAClC,QAAQ,GAAG,mBAAmB,IAAI,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,EAC/G,QAAQ,IAAI,CAAC,EACb,CAAC;gBACD,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBAC1D,MAAM,gBAAgB,GAAG,UAAU,GAAG,CAAC,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;gBACrE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC;oBAC/E,MAAM;gBACR,CAAC;gBACD,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACvB,UAAU,GAAG,gBAAgB,CAAC;YAChC,CAAC;YACD,IAAI,WAAW,GAAG,CAAC,IAAI,UAAU,GAAG,UAAU,GAAG,gCAAgC,EAAE,CAAC;gBAClF,MAAM;YACR,CAAC;YACD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,EAAE,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;YACvF,CAAC;YACD,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,EAAE,kBAAkB,CAAC,mBAAmB,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;YACxG,MAAM,YAAY,GAAG,mBAAmB,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;YAC/D,MAAM,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,mBAAmB,EAAE,YAAY,EAAE,CAAC,CAAC;YAClE,mBAAmB,GAAG,gBAAgB,CAAC,YAAY,EAAE,YAAY,GAAG,CAAC,CAAC,CAAC;YACvE,WAAW,IAAI,CAAC,CAAC;YACjB,UAAU,IAAI,UAAU,CAAC;QAC3B,CAAC;QACD,IAAI,mBAAmB,KAAK,KAAK,CAAC,mBAAmB,IAAI,MAAM,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YAC/F,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;QACvE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,mBAAmB,CAAC,MAAM,EAAE,mBAAmB,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAC1G,CAAC;IAED;;;;OAIG;IACI,qBAAqB,CAC1B,OAAgB,EAChB,KAAwB,EACxB,mBAA2B,EAC3B,OAA8B;QAE9B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC;QAC/C,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YAC/E,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjC,qGAAqG;YACrG,IACE,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,mBAAmB;gBAChD,KAAK,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY;gBACzC,mBAAmB,GAAG,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,GAAG,KAAK,EACtD,CAAC;gBACD,MAAM;YACR,CAAC;YACD,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,MAAM,CAAC,OAAO,EAAE,kBAAkB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;YAC7F,aAAa,IAAI,CAAC,CAAC;QACrB,CAAC;QACD,IAAI,aAAa,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACjD,OAAO,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,mBAAmB,CAAC,EAAE,CAAC;IACrG,CAAC;IAED,8FAA8F;IACvF,SAAS,CACd,OAAgB,EAChB,KAAiB,EACjB,QAAqC,EACrC,QAAgB,EAChB,kBAAmC,MAAM,EACzC,YAAwB,EACxB,YAAY,GAAG,KAAK,EACpB,kBAA0C,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC;QAE3E,MAAM,MAAM,GAAG,QAAQ,KAAK,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;QAC7C,4EAA4E;QAC5E,IAAI,eAAe,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxE,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;QACjF,CAAC;aAAM,IAAI,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,SAAS,EAAE,CAAC;YAC3E,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvD,CAAC;QACD,MAAM,QAAQ,GAAG,KAAK,CAAC,mBAAmB,CAAC;QAC3C,OAAO,IAAI,CAAC,MAAM,CAAC,0BAA0B,CAC3C,OAAO,EACP,QAAQ,EACR,MAAM,EACN,kBAAkB,CAAC,QAAQ,CAAC,EAC5B,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAClD,GAAG,EAAE;YACH,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC;YACrF,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE,CAAC;gBACpE,MAAM,IAAI,SAAS,CAAC,uDAAuD,CAAC,CAAC;YAC/E,CAAC;YACD,MAAM,gBAAgB,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;YACzF,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE;gBAC5B,GAAG,gBAAgB;gBACnB,MAAM,EAAE,eAAe;gBACvB,YAAY,EAAE,MAAM;gBACpB,eAAe;gBACf,kBAAkB,EAAE,IAAI;aACzB,CAAC,CAAC;YACH,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;gBAC3C,MAAM,CAAC,UAAU,CAAC,cAAc,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAChD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;oBAC/B,MAAM,CAAC,UAAU,CAAC,wBAAwB,EAAE,EAAE,QAAQ,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACjF,IAAI,YAAY,EAAE,CAAC;wBACjB,gBAAgB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;oBACzC,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;YACH,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACpC,CAAC,CACF,CAAC;IACJ,CAAC;IAED,sFAAsF;IAC9E,sBAAsB,CAAC,OAAyB;QACtD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;QACpC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAClF,OAAO,KAAK,CAAC;QACf,CAAC;QACD,kFAAkF;QAClF,MAAM,KAAK,GACT,IAAI,CAAC,MAAM,CAAC,0BAA0B,KAAK,SAAS;YAClD,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC;YAC5C,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,0BAA0B,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACnE,OAAO,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,CAAC;IAC9B,CAAC;IAED;;;OAGG;IACI,qBAAqB,CAAC,OAAgB,EAAE,QAAqC;QAClF,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;YACjC,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,MAAM,mBAAmB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC;QAClF,OAAO,mBAAmB,IAAI,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;IAC9G,CAAC;IAED,iHAAiH;IAC1G,iBAAiB,CACtB,OAAgB,EAChB,YAAwB,EACxB,MAAc,EACd,mBAA2B;QAE3B,MAAM,WAAW,GAAG,IAAI,CAAC;QACzB,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACrC,MAAM,SAAS,GAAG,WAAW,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACjE,MAAM,YAAY,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,qBAAqB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3F,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,2BAA2B,YAAY,CAAC,UAAU,WAAW,CAAC,CAAC;QAC1F,CAAC;QACD,MAAM,WAAW,GAAG,WAAW,CAAC,qBAAqB,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,gBAAgB,CAAC;QAC5F,MAAM,kBAAkB,GAAG,WAAW,CAAC,sBAAsB,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;QAC7F,IAAI,QAAQ,GAAG,WAAW,CAAC,2BAA2B,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;QACjG,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtB,QAAQ,GAAG,EAAE,CAAC;YACd,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,oFAAoF;gBACpF,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,gBAAgB,CAC9C,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,qBAAqB,EAAE,SAAS,CAAC,CAC5F,CAAC;gBACF,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBACzB,MAAM,IAAI,SAAS,CAAC,uDAAuD,CAAC,CAAC;gBAC/E,CAAC;gBACD,QAAQ,GAAG,CAAC,IAAI,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;QACD,MAAM,iBAAiB,GAAG,WAAW,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC9F,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,WAAW,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;QAClE,CAAC;QACD,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC9C,MAAM,UAAU,GAAe;YAC7B,GAAG,iBAAiB;YACpB,MAAM,EAAE,0BAA0B;YAClC,SAAS,EAAE,iBAAiB,CAAC,SAAS,GAAG,CAAC;YAC1C,YAAY,EAAE,IAAI;YAClB,aAAa,EAAE,IAAI;YACnB,kBAAkB,EAAE,KAAK;SAC1B,CAAC;QACF,WAAW,CAAC,eAAe,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QACjD,MAAM,YAAY,GAAG,kBAAkB,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC1D,WAAW,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAClD,WAAW;YACT,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,gBAAgB,EAAE,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC;YACtE,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,cAAc,EAAE;gBAChC,qBAAqB,EAAE,mBAAmB;gBAC1C,aAAa,EAAE,YAAY;aAC5B,CAAC,CACP,CAAC;QACF,OAAO,UAAU,CAAC;IACpB,CAAC;IAEM,oBAAoB;QACzB,OAAO,IAAI,CAAC,IAAI,OAAO,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,EAAE,SAAS,CAAC,CAAC;IAC9E,CAAC;IAED,mFAAmF;IAC5E,eAAe,CAAC,OAAgB,EAAE,MAAqB;QAC5D,OAAO,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,gBAAgB,CAAC;IAC1E,CAAC;IAEM,iBAAiB,CAAC,QAAgB,EAAE,eAA4B;QACrE,OAAO,iBAAiB,CACtB,QAAQ,EACR,IAAI,CAAC,MAAM,CAAC,YAAY,EACxB,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAC7B,eAAe,CAChB,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,eAAe,CAC1B,OAAqB,EACrB,KAAiB,EACjB,MAAc,EACd,QAAgB;QAEhB,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;QAC1C,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,2BAA2B,CAChD,gBAAgB,EAChB,UAAU,CAAC,cAAc,CAAC;YACxB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM;YACN,QAAQ;YACR,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,eAAe,EAAE,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC;YACtD,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;SAC3C,CAAC,CACH,CAAC;QACF,IAAI,OAAO,QAAQ,EAAE,SAAS,KAAK,SAAS,EAAE,CAAC;YAC7C,MAAM,IAAI,SAAS,CAAC,gDAAgD,CAAC,CAAC;QACxE,CAAC;QACD,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,mFAAmF;QACnF,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,EAAE,GAAG,KAAK,EAAE,aAAa,EAAE,GAAG,2BAA2B,KAAK,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACjH,OAAO,IAAI,CAAC,IAAI,OAAO,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,EAAE,SAAS,CAAC,CAAC;IAC/E,CAAC;IAED,4GAA4G;IACrG,KAAK,CAAC,gBAAgB,CAC3B,OAAqB,EACrB,MAAc,EACd,QAAgB,EAChB,KAAiB;QAEjB,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;QAC1C,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO;QACT,CAAC;QACD,MAAM,QAAQ,GAAG,GAAG,OAAO,CAAC,MAAM,IAAI,MAAM,IAAI,OAAO,CAAC,eAAe,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QAC7F,IAAI,CAAC;YACH,MAAM,2BAA2B,CAC/B,kBAAkB,EAClB,UAAU,CAAC,gBAAgB,CAAC;gBAC1B,QAAQ;gBACR,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,MAAM;gBACN,QAAQ;gBACR,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,eAAe,EAAE,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC;gBACtD,KAAK;gBACL,YAAY,EAAE,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC;aACjE,CAAC,CACH,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,2CAA2C,QAAQ,GAAG,EAAE,KAAK,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;IAEM,WAAW,CAAC,OAAgB,EAAE,KAAiB,EAAE,MAA8B;QACpF,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;QACxE,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QACvD,MAAM,CAAC,UAAU,CAAC,gBAAgB,EAAE;YAClC,QAAQ,EAAE,YAAY,CAAC,KAAK,CAAC;YAC7B,OAAO,EAAE,YAAY,CAAC,YAAY,CAAC;SACpC,CAAC,CAAC;IACL,CAAC;IAEM,iBAAiB,CAAC,OAAgB,EAAE,MAAqB;QAC9D,OAAO,IAAI,sBAAsB,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACnF,CAAC;IAEM,WAAW,CAChB,OAAgB,EAChB,MAAqB,EACrB,KAA+C;QAE/C,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACvD,IAAI,CAAC;YACH,KAAK,CAAC,MAAM,CAAC,CAAC;QAChB,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC;IACH,CAAC;IAED,sEAAsE;IAC/D,KAAK,CAAC,iBAAiB,CAC5B,OAAqB,EACrB,SAAgC,EAChC,kBAAuC,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;QAE1E,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE;YACtC,kGAAkG;YAClG,eAAe,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC3C,CAAC,EAAE,mBAAmB,CAAC,CAAC;QACxB,IAAI,CAAC;YACH,OAAO,MAAM,SAAS,EAAE,CAAC;QAC3B,CAAC;gBAAS,CAAC;YACT,aAAa,CAAC,cAAc,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAEM,eAAe,CAAC,OAAqB;QAC1C,OAAO,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;IACvE,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,kBAAkB;IAIO;IAHpB,kBAAkB,CAAqB;IAC/C,UAAU,CAAqB;IAEvC,YAAoC,OAAqB;QAArB,YAAO,GAAP,OAAO,CAAc;QACvD,MAAM,QAAQ,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1G,IAAI,CAAC,kBAAkB,GAAG,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;QAChH,+FAA+F;QAC/F,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC;IAC5C,CAAC;IAEM,MAAM;QACX,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;IACpG,CAAC;IAEM,cAAc,CAAC,UAAkB;QACtC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC;CACF;AAED,4FAA4F;AAC5F,MAAM,UAAU,gBAAgB,CAAC,MAA2B;IAC1D,IAAI,MAAM,CAAC,MAAM,KAAK,iBAAiB,IAAI,MAAM,CAAC,MAAM,KAAK,mBAAmB,IAAI,MAAM,CAAC,MAAM,KAAK,kBAAkB,EAAE,CAAC;QACzH,MAAM,IAAI,SAAS,CAAC,aAAa,MAAM,CAAC,UAAU,aAAa,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAClF,CAAC;IACD,OAAO,MAAuB,CAAC;AACjC,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,MAAM,OAAO,GAAG,KAAgE,CAAC;IACjF,MAAM,gBAAgB,GAAG,CAAC,KAAc,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC;IACzF,OAAO,CACL,OAAO,OAAO,KAAK,QAAQ;QAC3B,OAAO,KAAK,IAAI;QAChB,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC;QACpF,OAAO,OAAO,CAAC,aAAa,KAAK,QAAQ;QACzC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC;QAC9B,gBAAgB,CAAC,OAAO,CAAC,UAAU,CAAC;QACpC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC;QAClC,gBAAgB,CAAC,OAAO,CAAC,aAAa,CAAC;QACvC,gBAAgB,CAAC,OAAO,CAAC,UAAU,CAAC,CACrC,CAAC;AACJ,CAAC;AAED,kGAAkG;AAClG,MAAM,UAAU,8BAA8B,CAAC,MAAc;IAC3D,OAAO,YAAY,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,qBAAqB,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAC,CAAC;AAC5F,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,mBAAmB,CAAC,QAA6B;IAC/D,OAAO,CACL,CAAC,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,IAAI;QAClC,CAAC,QAAQ,CAAC,MAAM,KAAK,kBAAkB,IAAI,QAAQ,CAAC,MAAM,KAAK,iBAAiB,CAAC,CAClF,CAAC;AACJ,CAAC;AAED,iGAAiG;AACjG,MAAM,UAAU,0BAA0B,CAAC,QAA6B;IACtE,+FAA+F;IAC/F,mGAAmG;IACnG,OAAO,CACL,QAAQ,CAAC,MAAM,KAAK,mBAAmB;QACvC,CAAC,QAAQ,CAAC,MAAM,KAAK,iBAAiB,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC;QAC7E,QAAQ,CAAC,MAAM,KAAK,mBAAmB,CACxC,CAAC;AACJ,CAAC;AAED,yFAAyF;AACzF,MAAM,UAAU,iBAAiB,CAC/B,QAA6B,EAC7B,MAAkC;IAElC,OAAO;QACL,GAAG,QAAQ;QACX,MAAM,EAAE,UAAU;QAClB,gBAAgB,EAAE,2BAA2B,CAAC,MAAM,CAAC;QACrD,kBAAkB,EAAE,MAAM;QAC1B,aAAa,EAAE,IAAI;QACnB,YAAY,EAAE,EAAE;QAChB,mBAAmB,EAAE,IAAI;KAC1B,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAwB,EAAE,QAAgB;IAC9E,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,IAAI,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IACnC,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAA2B,CAAC;QAC7D,IAAI,QAAQ,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;YACnC,IAAI,GAAG,MAAM,GAAG,CAAC,CAAC;QACpB,CAAC;aAAM,IAAI,QAAQ,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;YACzC,GAAG,GAAG,MAAM,GAAG,CAAC,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,IAAI,QAAQ,GAAG,KAAK,CAAC,mBAAmB,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,uDAAuD,QAAQ,EAAE,CAAC,CAAC;IACrF,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,gHAAgH;AAChH,SAAS,iBAAiB;IACxB,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE,mBAAmB,EAAE,CAAC,EAAE,CAAC;AAClE,CAAC;AAED,qGAAqG;AACrG,SAAS,mBAAmB,CAAC,MAAyC,EAAE,mBAA2B;IACjG,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACxB,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,aAAa,GAAG,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,mBAAmB,CAAC;AACtH,CAAC;AAED,uGAAuG;AACvG,SAAS,gBAAgB,CAAC,YAAiC,EAAE,QAAgB;IAC3E,IAAI,IAAI,GAAG,QAAQ,CAAC;IACpB,OAAO,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,CAAC;IACZ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,qBAAqB,CAAC,KAAwB,EAAE,KAA6B;IAC3F,OAAO,CACL,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,aAAa,GAAG,CAAC;QACtE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,KAAK,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC,CAC7F,CAAC;AACJ,CAAC;AAED,kEAAkE;AAClE,SAAS,iBAAiB,CAAC,OAAqB;IAC9C,OAAO,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AAChF,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAuB,EAAE,KAAwB;IAC3E,OAAO,CACL,IAAI,CAAC,aAAa,KAAK,KAAK,CAAC,aAAa;QAC1C,IAAI,CAAC,mBAAmB,KAAK,KAAK,CAAC,mBAAmB;QACtD,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC,MAAM;QAC1C,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAChB,KAAK,CAAC,aAAa,KAAK,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,aAAa;YAC3D,KAAK,CAAC,YAAY,KAAK,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,YAAY,CAC5D,CACF,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,8BAA8B,CAAC,QAAiC,EAAE,MAAc;IAC9F,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;IAC7E,MAAM,iBAAiB,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;IACvF,OAAO,iBAAiB,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,GAAG,iBAAiB,CAAC;AAChF,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,MAAkB;IACtD,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,MAAM,CAAC;QACZ,KAAK,kBAAkB;YACrB,OAAO,qBAAqB,CAAC,QAAQ,CAAC;QACxC,KAAK,sBAAsB,CAAC;QAC5B,KAAK,cAAc;YACjB,OAAO,qBAAqB,CAAC,qBAAqB,CAAC;IACvD,CAAC;AACH,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,kBAAkB,CAAC,OAAgB;IACjD,OAAO,mBAAmB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;AACpD,CAAC;AAED,qGAAqG;AACrG,MAAM,UAAU,mBAAmB,CAAC,aAA4C;IAC9E,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IACD,OAAO,aAAa,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC;AACtF,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,gBAAgB,CAAC,MAA8B,EAAE,IAAe;IAC9E,MAAM,CAAC,UAAU,CAAC,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;AACrH,CAAC;AAED,SAAS,YAAY,CAAC,KAAiB;IACrC,OAAO;QACL,WAAW,EAAE,KAAK,CAAC,UAAU;QAC7B,YAAY,EAAE,KAAK,CAAC,WAAW;QAC/B,aAAa,EAAE,KAAK,CAAC,YAAY;QACjC,mBAAmB,EAAE,KAAK,CAAC,iBAAiB;QAC5C,gBAAgB,EAAE,KAAK,CAAC,eAAe;KACxC,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CACvC,MAAkC,EAClC,YAA2B;IAE3B,OAAO,MAAM,KAAK,IAAI,IAAI,YAAY,KAAK,IAAI,IAAI,MAAM,CAAC,MAAM,KAAK,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;AAClH,CAAC"}
1
+ {"version":3,"file":"agent-session-transitions.js","sourceRoot":"","sources":["../../src/agent-session-transitions.ts"],"names":[],"mappings":"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"}
@@ -234,6 +234,19 @@ export interface FrameworkMessage {
234
234
  */
235
235
  readonly images?: readonly AgentImageReference[];
236
236
  }
237
+ /**
238
+ * Known values of {@link AgentMessage.origin}: why the session wrote a `user` message itself.
239
+ *
240
+ * - `plan_execution`: `execute_plan` started the turn with the text of `buildPlanExecutionMessage`.
241
+ * - `turn_failure_note`: `RecordTurnFailure` told the model which tool calls of the failed turn ran.
242
+ * - `turn_steered_note`: `steer_user_message` ended the turn, and the note lists the tool calls that ran.
243
+ * - `turn_cancelled_note`: `cancel_turn` ended the turn, and the note lists the tool calls that ran.
244
+ *
245
+ * A later release may add values. Show a message with a value you do not know as a note from the session, never
246
+ * as text the user typed.
247
+ * @since 0.6.0
248
+ */
249
+ export type AgentMessageOrigin = "plan_execution" | "turn_failure_note" | "turn_steered_note" | "turn_cancelled_note";
237
250
  /** One message stored in the `AgentMessages` AttributeMap under its zero-padded sequence. */
238
251
  export interface AgentMessage extends FrameworkMessage {
239
252
  /** Monotonic session-wide sequence, starting at 1. Wire field: `sequence`. */
@@ -242,6 +255,31 @@ export interface AgentMessage extends FrameworkMessage {
242
255
  readonly turnId: string;
243
256
  /** RFC 3339 time at which the session stored the message. Wire field: `created_at`. */
244
257
  readonly createdAt: string;
258
+ /**
259
+ * Why the session wrote this `user` message itself, usually an {@link AgentMessageOrigin}. It is absent on a
260
+ * message that a user or the start input sent, on `assistant` and `tool` messages, and on every message stored
261
+ * before 0.6.0.
262
+ *
263
+ * Show a message that has an origin as a session note, not as text the user typed. Only the session sets it:
264
+ * `send_user_message` and a runner's messages cannot. The decoder keeps a value it does not know, so a client of
265
+ * an earlier release still tells such a message apart. A Worker before 0.6.0 ignores the field, and drops it when
266
+ * it moves the message into an archive chunk. Wire field: `origin`, `null` when absent; a decoded message omits it
267
+ * then.
268
+ *
269
+ * @example
270
+ * ```ts
271
+ * const page = await client.invokeRPC(flow.listAgentMessages, sessionId, { beforeSequence: null, limit: 50 });
272
+ * for (const message of page.messages) {
273
+ * if (message.origin === "plan_execution") {
274
+ * console.log("Running the approved plan");
275
+ * } else if (message.origin === undefined && message.role === "user") {
276
+ * console.log(`> ${message.text ?? ""}`);
277
+ * }
278
+ * }
279
+ * ```
280
+ * @since 0.6.0
281
+ */
282
+ readonly origin?: AgentMessageOrigin | (string & {});
245
283
  }
246
284
  /**
247
285
  * Side-effect class of a tool, which decides where and how often the session runs it.
@@ -471,6 +509,14 @@ export interface AgentToolCall {
471
509
  * @since 0.5.0
472
510
  */
473
511
  readonly runnerToolState?: string | null;
512
+ /**
513
+ * What the call acts on and does, from {@link DeferredToolCall.approvalDisplay}, for a call that needs approval;
514
+ * otherwise absent. The session copies it into the call's {@link AgentInterrupt.display} when it raises the
515
+ * approval, which for a queued ordered write happens later. Wire field: `approval_display`, `null` when there is
516
+ * none; a decoded record omits it then. A Worker before 0.6.0 ignores it, and drops it when it rewrites the record.
517
+ * @since 0.6.0
518
+ */
519
+ readonly approvalDisplay?: AgentInterruptDisplay | null;
474
520
  }
475
521
  /**
476
522
  * Why steering or cancellation abandoned a tool call before it started.
@@ -533,6 +579,54 @@ export interface AgentToolCallRecord extends Omit<AgentToolCall, "status" | "wai
533
579
  * `approved` `false`.
534
580
  */
535
581
  export type AgentInterruptKind = "tool_approval" | "question";
582
+ /**
583
+ * What one tool approval acts on and what the call does, for the person who decides.
584
+ *
585
+ * The tool's source builds it from the call's concrete arguments and returns it in
586
+ * {@link DeferredToolCall.approvalDisplay}; the session stores it in {@link AgentInterrupt.display}. An approval UI
587
+ * shows {@link target} and {@link summary} above the arguments, and {@link preview} when it is set. When an
588
+ * interrupt has no display, show the concrete arguments only and do not guess the call's effect from its name or
589
+ * description.
590
+ *
591
+ * The text describes the request, not its result: it never says how often the call runs or what it achieves,
592
+ * because a retried write may run again and a provider may refuse it. Its text comes from the call's arguments, which
593
+ * the session stores in full as before. As best-effort hygiene, a source shows the value of a credential-like
594
+ * argument, such as `api_key`, `clientSecret`, or `credentials`, as `<redacted>` (see {@link isCredentialLikeName}),
595
+ * and replaces common credential shapes in text it shows (see {@link redactInlineCredentials}). This is not a
596
+ * security boundary: a credential in another form can still appear. The session cuts a target over {@link maxApprovalTargetBytes} and a summary
597
+ * over {@link maxApprovalSummaryBytes}, ending them with `…`, and drops a preview over
598
+ * {@link maxApprovalPreviewBytes}, so a display adds little to the records that hold it.
599
+ *
600
+ * @example
601
+ * ```ts
602
+ * const display: AgentInterruptDisplay = {
603
+ * target: "docs/notes.md",
604
+ * summary: "Writes 12 bytes to docs/notes.md.",
605
+ * preview: "--- docs/notes.md (the file now)\n+++ docs/notes.md (after this write)\n@@ -1 +1 @@\n-old\n+new\n",
606
+ * };
607
+ * const interrupt = snapshot.pendingInterrupts.find((pending) => pending.display != null);
608
+ * console.log(interrupt?.display?.summary);
609
+ * ```
610
+ * @since 0.6.0
611
+ */
612
+ export interface AgentInterruptDisplay {
613
+ /**
614
+ * What the call acts on, such as a workspace path, a shell command's working directory, or a connector and its
615
+ * connection (`slack/support-slack`). Wire field: `target`.
616
+ */
617
+ readonly target: string;
618
+ /**
619
+ * One sentence that says what the call does to {@link target}, built from the call's concrete arguments, such as
620
+ * `Runs a shell command in /work/app: npm test`. Wire field: `summary`.
621
+ */
622
+ readonly summary: string;
623
+ /**
624
+ * Longer text to show with the summary, or `null` for none. A local file write sets a unified diff of the file as
625
+ * it was when the call was requested against the new content; its header lines say so. Wire field: `preview`,
626
+ * `null` when there is none.
627
+ */
628
+ readonly preview?: string | null;
629
+ }
536
630
  /** One pending approval or question, stored in the `PendingInterrupts` Attribute. */
537
631
  export interface AgentInterrupt {
538
632
  /**
@@ -571,6 +665,13 @@ export interface AgentInterrupt {
571
665
  * `choices` is empty and for a tool approval. Wire field: `allows_free_text`.
572
666
  */
573
667
  readonly allowsFreeText?: boolean;
668
+ /**
669
+ * What a `tool_approval` call acts on and does, from its tool's source, or `null` when the source gave none and
670
+ * for a `question`. Wire field: `display`, `null` when there is none; a decoded interrupt omits it then. A Worker
671
+ * before 0.6.0 writes none, and drops it when it rewrites `PendingInterrupts`, so treat it as optional.
672
+ * @since 0.6.0
673
+ */
674
+ readonly display?: AgentInterruptDisplay | null;
574
675
  }
575
676
  /** Resolution of one interrupt, published to the `InterruptResolutions` ChannelMap. */
576
677
  export interface AgentInterruptResolution {
@@ -753,7 +854,8 @@ export interface ToolCallCancellation {
753
854
  * - `text_delta` and `reasoning_delta`: `{"text"}`.
754
855
  * - `tool_call_started`: `{"tool_call_id","tool_name"}`.
755
856
  * - `tool_call_finished`: `{"tool_call_id","tool_name","status"}`, when a record becomes final,
756
- * including a rejection.
857
+ * including a rejection. For a call whose tool Step returned `isFinishedByResumedTurn`, the runner
858
+ * writes it from the resumed turn's `RunModel` instead, when the call really ran.
757
859
  * - `tool_call_deferred`: `{"tool_call_id","tool_name","effect","requires_approval"}`, when the model
758
860
  * asks for a call, which then runs in its own Step or, for a built-in tool, waits in the session.
759
861
  * - `interrupt_raised`: `{"interrupt_id","kind","tool_call_id","tool_name","deadline","question",
@@ -1 +1 @@
1
- {"version":3,"file":"agent-session-values.js","sourceRoot":"","sources":["../../src/agent-session-values.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-session-values.js","sourceRoot":"","sources":["../../src/agent-session-values.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,13 @@ export interface BuiltinAgentSessionFlowOptions {
28
28
  * @since 0.5.0
29
29
  */
30
30
  readonly mediaStore?: MediaStore;
31
+ /**
32
+ * Whether the session keeps the indexed session summary. Defaults to `false`. See
33
+ * `AgentSessionOptions.summaryAttributesIndexed` for what it stores and the index keys it registers.
34
+ *
35
+ * @since 0.6.0
36
+ */
37
+ readonly summaryAttributesIndexed?: boolean;
31
38
  }
32
39
  /**
33
40
  * Creates the agent session Flow for an agent defined in Dex terms, run by the built-in agent loop.
@@ -55,7 +62,8 @@ export interface BuiltinAgentSessionFlowOptions {
55
62
  * ```
56
63
  * @param definition - The agent definition.
57
64
  * @param flowType - Flow type, unique within the Registry. Keep it stable: running sessions resume by it.
58
- * @param flowOptions - The media store; see {@link BuiltinAgentSessionFlowOptions}. Since 0.5.0.
65
+ * @param flowOptions - The media store (since 0.5.0) and `summaryAttributesIndexed` (since 0.6.0, default `false`);
66
+ * see {@link BuiltinAgentSessionFlowOptions}.
59
67
  * @returns A new Flow; its `runner` is the {@link BuiltinLoopAgentRunner}.
60
68
  * @throws {TypeError} When the definition is invalid; see {@link BuiltinLoopAgentRunner} and
61
69
  * `createAgentSessionFlow`.
@@ -33,7 +33,8 @@ import { BuiltinLoopAgentRunner } from "./builtin-loop-agent-runner.js";
33
33
  * ```
34
34
  * @param definition - The agent definition.
35
35
  * @param flowType - Flow type, unique within the Registry. Keep it stable: running sessions resume by it.
36
- * @param flowOptions - The media store; see {@link BuiltinAgentSessionFlowOptions}. Since 0.5.0.
36
+ * @param flowOptions - The media store (since 0.5.0) and `summaryAttributesIndexed` (since 0.6.0, default `false`);
37
+ * see {@link BuiltinAgentSessionFlowOptions}.
37
38
  * @returns A new Flow; its `runner` is the {@link BuiltinLoopAgentRunner}.
38
39
  * @throws {TypeError} When the definition is invalid; see {@link BuiltinLoopAgentRunner} and
39
40
  * `createAgentSessionFlow`.
@@ -57,6 +58,9 @@ export function createBuiltinAgentSessionFlow(definition, flowType, flowOptions
57
58
  : { eventStreamCapacityBytes: definition.eventStreamCapacityBytes }),
58
59
  ...(definition.compaction === undefined ? {} : { compaction: definition.compaction }),
59
60
  ...(definition.spendLimit === undefined ? {} : { spendLimit: definition.spendLimit }),
61
+ ...(flowOptions.summaryAttributesIndexed === undefined
62
+ ? {}
63
+ : { summaryAttributesIndexed: flowOptions.summaryAttributesIndexed }),
60
64
  };
61
65
  return createAgentSessionFlow(runner, flowType, options);
62
66
  }
@@ -1 +1 @@
1
- {"version":3,"file":"builtin-agent-session-flow.js","sourceRoot":"","sources":["../../../src/builtin-loop/builtin-agent-session-flow.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,EAAE;AACF,kDAAkD;AAClD,mEAAmE;AACnE,+CAA+C;AAC/C,EAAE;AACF,0DAA0D;AAG1D,OAAO,EAAE,sBAAsB,EAAmD,MAAM,0BAA0B,CAAC;AAEnH,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AA8BxE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,MAAM,UAAU,6BAA6B,CAC3C,UAA2B,EAC3B,QAAgB,EAChB,cAA8C,EAAE;IAEhD,MAAM,MAAM,GAAG,IAAI,sBAAsB,CAAC,UAAU,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;IAC9E,MAAM,OAAO,GAAwB;QACnC,GAAG,CAAC,UAAU,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,UAAU,CAAC,YAAY,EAAE,CAAC;QAC3F,GAAG,CAAC,UAAU,CAAC,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,UAAU,CAAC,iBAAiB,EAAE,CAAC;QAC1G,GAAG,CAAC,UAAU,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,UAAU,CAAC,YAAY,EAAE,CAAC;QAC3F,GAAG,CAAC,UAAU,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,UAAU,CAAC,eAAe,EAAE,CAAC;QACpG,GAAG,CAAC,UAAU,CAAC,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,UAAU,CAAC,mBAAmB,EAAE,CAAC;QAChH,GAAG,CAAC,UAAU,CAAC,wBAAwB,KAAK,SAAS;YACnD,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,wBAAwB,EAAE,UAAU,CAAC,wBAAwB,EAAE,CAAC;QACtE,GAAG,CAAC,UAAU,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,UAAU,EAAE,CAAC;QACrF,GAAG,CAAC,UAAU,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,UAAU,EAAE,CAAC;KACtF,CAAC;IACF,OAAO,sBAAsB,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC3D,CAAC"}
1
+ {"version":3,"file":"builtin-agent-session-flow.js","sourceRoot":"","sources":["../../../src/builtin-loop/builtin-agent-session-flow.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,EAAE;AACF,kDAAkD;AAClD,mEAAmE;AACnE,+CAA+C;AAC/C,EAAE;AACF,0DAA0D;AAG1D,OAAO,EAAE,sBAAsB,EAAmD,MAAM,0BAA0B,CAAC;AAEnH,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAqCxE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,MAAM,UAAU,6BAA6B,CAC3C,UAA2B,EAC3B,QAAgB,EAChB,cAA8C,EAAE;IAEhD,MAAM,MAAM,GAAG,IAAI,sBAAsB,CAAC,UAAU,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;IAC9E,MAAM,OAAO,GAAwB;QACnC,GAAG,CAAC,UAAU,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,UAAU,CAAC,YAAY,EAAE,CAAC;QAC3F,GAAG,CAAC,UAAU,CAAC,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,UAAU,CAAC,iBAAiB,EAAE,CAAC;QAC1G,GAAG,CAAC,UAAU,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,UAAU,CAAC,YAAY,EAAE,CAAC;QAC3F,GAAG,CAAC,UAAU,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,UAAU,CAAC,eAAe,EAAE,CAAC;QACpG,GAAG,CAAC,UAAU,CAAC,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,UAAU,CAAC,mBAAmB,EAAE,CAAC;QAChH,GAAG,CAAC,UAAU,CAAC,wBAAwB,KAAK,SAAS;YACnD,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,wBAAwB,EAAE,UAAU,CAAC,wBAAwB,EAAE,CAAC;QACtE,GAAG,CAAC,UAAU,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,UAAU,EAAE,CAAC;QACrF,GAAG,CAAC,UAAU,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,UAAU,EAAE,CAAC;QACrF,GAAG,CAAC,WAAW,CAAC,wBAAwB,KAAK,SAAS;YACpD,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,wBAAwB,EAAE,WAAW,CAAC,wBAAwB,EAAE,CAAC;KACxE,CAAC;IACF,OAAO,sBAAsB,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC3D,CAAC"}
@@ -335,7 +335,8 @@ export declare class ConnectorToolSource implements ToolSource {
335
335
  */
336
336
  declaredToolNames(): ReadonlySet<string>;
337
337
  /**
338
- * Builds the call with the manifest's effect and the call's approval.
338
+ * Builds the call with the manifest's effect and the call's approval. A call that needs approval carries the
339
+ * display of {@link buildConnectorToolApprovalDisplay}: the operation, the connection, and the short arguments.
339
340
  * @param turn - The `RunModel` context; a `toolPolicies` entry for the tool changes only its approval.
340
341
  * @param call - The model's tool call.
341
342
  * @returns The deferred call, ordered when it is a write.
@@ -6,6 +6,7 @@
6
6
  //
7
7
  // SPDX-License-Identifier: LicenseRef-Sustainable-Use-1.0
8
8
  import { RetryError, createCall, defaultConnectorStepExecuteRetryPolicy, runMutation, runQuery, throwDexRetry, } from "@superdurable/connectors-sdk";
9
+ import { buildConnectorToolApprovalDisplay } from "../agent-approval-display.js";
9
10
  import { ToolExecutionError, ToolOutcomeUnknownError, } from "../agent-framework-runner.js";
10
11
  import { serializeJsonWithSpacedSeparators } from "../builtin-loop/json-schema-validation.js";
11
12
  import { checkConnectorInputSchema, compareCodePoints, findConnectorInputViolation } from "./connector-input-schema.js";
@@ -318,7 +319,8 @@ export class ConnectorToolSource {
318
319
  return new Set(this.toolsByName.keys());
319
320
  }
320
321
  /**
321
- * Builds the call with the manifest's effect and the call's approval.
322
+ * Builds the call with the manifest's effect and the call's approval. A call that needs approval carries the
323
+ * display of {@link buildConnectorToolApprovalDisplay}: the operation, the connection, and the short arguments.
322
324
  * @param turn - The `RunModel` context; a `toolPolicies` entry for the tool changes only its approval.
323
325
  * @param call - The model's tool call.
324
326
  * @returns The deferred call, ordered when it is a write.
@@ -336,6 +338,16 @@ export class ConnectorToolSource {
336
338
  policy: { effect: tool.effect, requiresApproval },
337
339
  toolSourceReference: serializeJsonWithSpacedSeparators({ tool: tool.name }),
338
340
  ordered: tool.effect !== "read",
341
+ ...(requiresApproval
342
+ ? {
343
+ approvalDisplay: buildConnectorToolApprovalDisplay({
344
+ connectorId: tool.connectorId,
345
+ connectionName: tool.connection.name,
346
+ operation: tool.operationId,
347
+ arguments: call.arguments,
348
+ }),
349
+ }
350
+ : {}),
339
351
  };
340
352
  }
341
353
  /**