@flowdesk/opencode-plugin 0.1.14 → 0.1.16

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 (63) hide show
  1. package/README.md +6 -6
  2. package/dist/agent-task-output.d.ts +12 -0
  3. package/dist/agent-task-output.d.ts.map +1 -1
  4. package/dist/agent-task-output.js +110 -4
  5. package/dist/agent-task-output.js.map +1 -1
  6. package/dist/agent-task-runner.d.ts +12 -1
  7. package/dist/agent-task-runner.d.ts.map +1 -1
  8. package/dist/agent-task-runner.js +237 -16
  9. package/dist/agent-task-runner.js.map +1 -1
  10. package/dist/completion-ui-cache.d.ts.map +1 -1
  11. package/dist/completion-ui-cache.js +159 -29
  12. package/dist/completion-ui-cache.js.map +1 -1
  13. package/dist/event-hook-observer.d.ts.map +1 -1
  14. package/dist/event-hook-observer.js +66 -2
  15. package/dist/event-hook-observer.js.map +1 -1
  16. package/dist/index.d.ts +2 -18
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +2 -17
  19. package/dist/index.js.map +1 -1
  20. package/dist/managed-dispatch-adapter.d.ts +62 -0
  21. package/dist/managed-dispatch-adapter.d.ts.map +1 -1
  22. package/dist/managed-dispatch-adapter.js +465 -1
  23. package/dist/managed-dispatch-adapter.js.map +1 -1
  24. package/dist/metadata.d.ts +19 -0
  25. package/dist/metadata.d.ts.map +1 -0
  26. package/dist/metadata.js +18 -0
  27. package/dist/metadata.js.map +1 -0
  28. package/dist/model-selection-engine.d.ts +15 -2
  29. package/dist/model-selection-engine.d.ts.map +1 -1
  30. package/dist/model-selection-engine.js +109 -42
  31. package/dist/model-selection-engine.js.map +1 -1
  32. package/dist/provider-usage-live-tool.d.ts.map +1 -1
  33. package/dist/provider-usage-live-tool.js +135 -33
  34. package/dist/provider-usage-live-tool.js.map +1 -1
  35. package/dist/server.d.ts +1 -0
  36. package/dist/server.d.ts.map +1 -1
  37. package/dist/server.js +53 -4
  38. package/dist/server.js.map +1 -1
  39. package/dist/stall-recovery.d.ts +4 -3
  40. package/dist/stall-recovery.d.ts.map +1 -1
  41. package/dist/stall-recovery.js +245 -25
  42. package/dist/stall-recovery.js.map +1 -1
  43. package/dist/status-live-tool.d.ts.map +1 -1
  44. package/dist/status-live-tool.js +1 -0
  45. package/dist/status-live-tool.js.map +1 -1
  46. package/dist/tui-subtask-activity.d.ts +4 -0
  47. package/dist/tui-subtask-activity.d.ts.map +1 -1
  48. package/dist/tui-subtask-activity.js +29 -24
  49. package/dist/tui-subtask-activity.js.map +1 -1
  50. package/dist/tui-usage-snapshot.d.ts.map +1 -1
  51. package/dist/tui-usage-snapshot.js +92 -6
  52. package/dist/tui-usage-snapshot.js.map +1 -1
  53. package/dist/tui.d.ts.map +1 -1
  54. package/dist/tui.js +43 -16
  55. package/dist/tui.js.map +1 -1
  56. package/dist/workflow-assign-tool.d.ts.map +1 -1
  57. package/dist/workflow-assign-tool.js +21 -3
  58. package/dist/workflow-assign-tool.js.map +1 -1
  59. package/dist/workflow-dispatch-tool.d.ts +12 -0
  60. package/dist/workflow-dispatch-tool.d.ts.map +1 -1
  61. package/dist/workflow-dispatch-tool.js +24 -26
  62. package/dist/workflow-dispatch-tool.js.map +1 -1
  63. package/package.json +2 -2
package/README.md CHANGED
@@ -6,18 +6,18 @@ registration plus opt-in description-driven natural-language tools.
6
6
  ## Install
7
7
 
8
8
  ```bash
9
- npm install @flowdesk/opencode-plugin@^0.1.14
9
+ npm install @flowdesk/opencode-plugin@^0.1.16
10
10
  ```
11
11
 
12
12
  ## Configure
13
13
 
14
- The OpenCode plugin entry must point at the `/server` subpath. The package
15
- root only exports helper types and an id; the actual default plugin object
16
- is exposed under `/server`:
14
+ Use the package root as the OpenCode plugin entry. OpenCode resolves npm
15
+ plugin packages at the package root, and the package root exports the default
16
+ FlowDesk plugin object plus helper APIs:
17
17
 
18
18
  ```json
19
19
  {
20
- "plugin": ["@flowdesk/opencode-plugin/server"]
20
+ "plugin": ["@flowdesk/opencode-plugin"]
21
21
  }
22
22
  ```
23
23
 
@@ -27,7 +27,7 @@ The minimum opt-in set for the natural-language tools is:
27
27
  {
28
28
  "plugin": [
29
29
  [
30
- "@flowdesk/opencode-plugin/server",
30
+ "@flowdesk/opencode-plugin",
31
31
  {
32
32
  "providerUsageLive": {
33
33
  "enabled": true,
@@ -10,7 +10,19 @@ export interface FlowDeskAgentTaskOutputObservationV1 {
10
10
  messageCount: number;
11
11
  outputKind: FlowDeskAgentTaskOutputKindV1;
12
12
  usableForSynthesis: boolean;
13
+ /**
14
+ * ADVISORY ONLY. The captured text superficially resembles a refusal or an
15
+ * error message. This is a hint for the coordinator's substance judgement; it
16
+ * NEVER causes the capture layer to drop or fail the result.
17
+ */
18
+ looksLikeRefusalOrError: boolean;
13
19
  }
20
+ /**
21
+ * ADVISORY heuristic for the coordinator: does this text look like a refusal or
22
+ * a bare error message rather than a substantive answer? Capture never gates on
23
+ * this; the main coordinator uses it to decide whether to re-select and retry.
24
+ */
25
+ export declare function flowDeskTextLooksLikeRefusalOrErrorV1(text: string | undefined): boolean;
14
26
  export declare function flowDeskAgentTaskMessageItems(value: unknown): unknown[];
15
27
  export declare function classifyFlowDeskAgentTaskOutputKindV1(text: string | undefined): FlowDeskAgentTaskOutputKindV1;
16
28
  export declare function observeFlowDeskAgentTaskOutputV1(response: unknown): FlowDeskAgentTaskOutputObservationV1;
@@ -1 +1 @@
1
- {"version":3,"file":"agent-task-output.d.ts","sourceRoot":"","sources":["../src/agent-task-output.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,mCAAmC,GAAG,OAAO,GAAG,SAAS,CAAC;AACtE,MAAM,MAAM,6BAA6B,GACtC,cAAc,GACd,kBAAkB,GAClB,eAAe,GACf,iBAAiB,GACjB,OAAO,CAAC;AAEX,MAAM,WAAW,oCAAoC;IACpD,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,cAAc,EAAE,OAAO,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,6BAA6B,CAAC;IAC1C,kBAAkB,EAAE,OAAO,CAAC;CAC5B;AAUD,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,EAAE,CAMvE;AA4BD,wBAAgB,qCAAqC,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,6BAA6B,CAqB7G;AAED,wBAAgB,gCAAgC,CAAC,QAAQ,EAAE,OAAO,GAAG,oCAAoC,CAoDxG"}
1
+ {"version":3,"file":"agent-task-output.d.ts","sourceRoot":"","sources":["../src/agent-task-output.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,mCAAmC,GAAG,OAAO,GAAG,SAAS,CAAC;AACtE,MAAM,MAAM,6BAA6B,GACtC,cAAc,GACd,kBAAkB,GAClB,eAAe,GACf,iBAAiB,GACjB,OAAO,CAAC;AAEX,MAAM,WAAW,oCAAoC;IACpD,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,cAAc,EAAE,OAAO,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,6BAA6B,CAAC;IAC1C,kBAAkB,EAAE,OAAO,CAAC;IAC5B;;;;OAIG;IACH,uBAAuB,EAAE,OAAO,CAAC;CACjC;AAED;;;;GAIG;AACH,wBAAgB,qCAAqC,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CA6BvF;AAUD,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,EAAE,CAmBvE;AA+CD,wBAAgB,qCAAqC,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,6BAA6B,CAqB7G;AAED,wBAAgB,gCAAgC,CAAC,QAAQ,EAAE,OAAO,GAAG,oCAAoC,CA4FxG"}
@@ -1,3 +1,39 @@
1
+ /**
2
+ * ADVISORY heuristic for the coordinator: does this text look like a refusal or
3
+ * a bare error message rather than a substantive answer? Capture never gates on
4
+ * this; the main coordinator uses it to decide whether to re-select and retry.
5
+ */
6
+ export function flowDeskTextLooksLikeRefusalOrErrorV1(text) {
7
+ const normalized = text?.trim().toLowerCase() ?? "";
8
+ if (normalized.length === 0)
9
+ return false;
10
+ const patterns = [
11
+ "i cannot",
12
+ "i can't",
13
+ "i can not",
14
+ "i'm unable",
15
+ "i am unable",
16
+ "i'm sorry, but i can",
17
+ "i am sorry, but i can",
18
+ "i won't be able",
19
+ "i will not be able",
20
+ "as an ai",
21
+ "i'm not able to",
22
+ "i am not able to",
23
+ "error:",
24
+ "exception:",
25
+ "traceback (most recent call last)",
26
+ "rate limit",
27
+ "rate-limited",
28
+ "request failed",
29
+ "failed to",
30
+ "unable to complete",
31
+ ];
32
+ // Only treat as refusal/error when the text is short-ish and dominated by the
33
+ // pattern, to avoid false positives on long answers that merely mention them.
34
+ const head = normalized.slice(0, 240);
35
+ return patterns.some(pattern => head.includes(pattern));
36
+ }
1
37
  function isRecord(value) {
2
38
  return typeof value === "object" && value !== null && !Array.isArray(value);
3
39
  }
@@ -12,7 +48,22 @@ export function flowDeskAgentTaskMessageItems(value) {
12
48
  return [];
13
49
  if (Array.isArray(data.items))
14
50
  return data.items;
15
- return Array.isArray(data.messages) ? data.messages : [];
51
+ if (Array.isArray(data.messages))
52
+ return data.messages;
53
+ // Gemini candidates wrapper: { candidates: [{ content: { role, parts }, finishReason }] }
54
+ if (Array.isArray(data.candidates)) {
55
+ const msgs = [];
56
+ for (const candidate of data.candidates) {
57
+ if (!isRecord(candidate))
58
+ continue;
59
+ const content = isRecord(candidate.content) ? candidate.content : candidate;
60
+ const finishReason = typeof candidate.finishReason === "string" ? candidate.finishReason
61
+ : typeof candidate.finish_reason === "string" ? candidate.finish_reason : undefined;
62
+ msgs.push({ ...content, _finishReason: finishReason });
63
+ }
64
+ return msgs;
65
+ }
66
+ return [];
16
67
  }
17
68
  function partText(part) {
18
69
  if (typeof part.text === "string")
@@ -25,6 +76,24 @@ function isTerminalPart(part) {
25
76
  return ((type === "step-finish" || type === "step_finish" || type === "finish") &&
26
77
  (reason === "stop" || reason === "complete" || reason === "completed"));
27
78
  }
79
+ /** Check message-level terminal signals (OpenAI finish_reason, Gemini finishReason). */
80
+ function isTerminalMessage(msg) {
81
+ // OpenAI: finish_reason at message or choice level
82
+ const fr = typeof msg.finish_reason === "string" ? msg.finish_reason
83
+ : typeof msg.finishReason === "string" ? msg.finishReason
84
+ : typeof msg._finishReason === "string" ? msg._finishReason : undefined;
85
+ if (fr !== undefined) {
86
+ const normalized = fr.toLowerCase();
87
+ if (normalized === "stop" || normalized === "end_turn" || normalized === "complete" || normalized === "completed") {
88
+ return { terminal: true, reason: fr };
89
+ }
90
+ }
91
+ // OpenAI status field
92
+ if (msg.status === "completed" || msg.status === "complete") {
93
+ return { terminal: true, reason: String(msg.status) };
94
+ }
95
+ return { terminal: false, reason: undefined };
96
+ }
28
97
  function terminalReason(part) {
29
98
  return typeof part.reason === "string" ? part.reason : undefined;
30
99
  }
@@ -73,11 +142,43 @@ export function observeFlowDeskAgentTaskOutputV1(response) {
73
142
  const msgRec = isRecord(msg) ? msg : undefined;
74
143
  const info = isRecord(msgRec?.info) ? msgRec.info : msgRec;
75
144
  const role = info?.role;
76
- const parts = Array.isArray(msgRec?.parts)
145
+ // Accept "assistant" and "model" (Gemini uses "model" for assistant role)
146
+ const isAssistantRole = role === "assistant" || role === "model";
147
+ // Check message-level terminal signals (OpenAI/Gemini)
148
+ if (msgRec !== undefined) {
149
+ const msgTerminal = isTerminalMessage(msgRec);
150
+ if (!msgTerminal.terminal && info !== undefined && info !== msgRec) {
151
+ const infoTerminal = isTerminalMessage(info);
152
+ if (infoTerminal.terminal) {
153
+ terminalObserved = true;
154
+ observedTerminalReason = infoTerminal.reason;
155
+ }
156
+ }
157
+ else if (msgTerminal.terminal) {
158
+ terminalObserved = true;
159
+ observedTerminalReason = msgTerminal.reason;
160
+ }
161
+ }
162
+ // Collect parts from msg.parts, msg.info.parts, or msg.content (when content is array of parts)
163
+ let parts = Array.isArray(msgRec?.parts)
77
164
  ? msgRec.parts
78
165
  : Array.isArray(info?.parts)
79
166
  ? info.parts
80
167
  : [];
168
+ // OpenAI multi-part content: content is array of part objects
169
+ if (parts.length === 0 && msgRec !== undefined && Array.isArray(msgRec.content)) {
170
+ parts = msgRec.content;
171
+ }
172
+ // Message-level content string (OpenAI Chat Completions: { role: "assistant", content: "..." })
173
+ if (parts.length === 0 && isAssistantRole && msgRec !== undefined && typeof msgRec.content === "string" && msgRec.content.trim().length > 0) {
174
+ latestText = msgRec.content;
175
+ textPartCount++;
176
+ }
177
+ // Also check info-level content string
178
+ if (parts.length === 0 && isAssistantRole && info !== undefined && info !== msgRec && typeof info.content === "string" && info.content.trim().length > 0) {
179
+ latestText = info.content;
180
+ textPartCount++;
181
+ }
81
182
  for (const rawPart of parts) {
82
183
  const part = isRecord(rawPart) ? rawPart : undefined;
83
184
  if (part === undefined)
@@ -92,9 +193,10 @@ export function observeFlowDeskAgentTaskOutputV1(response) {
92
193
  reasoningPartCount++;
93
194
  continue;
94
195
  }
95
- if (role !== "assistant")
196
+ if (!isAssistantRole)
96
197
  continue;
97
- if (part.type !== undefined && part.type !== "text")
198
+ // Accept text, output_text (OpenAI Responses API), or undefined type
199
+ if (part.type !== undefined && part.type !== "text" && part.type !== "output_text")
98
200
  continue;
99
201
  const text = partText(part);
100
202
  if (typeof text === "string" && text.trim().length > 0) {
@@ -113,7 +215,11 @@ export function observeFlowDeskAgentTaskOutputV1(response) {
113
215
  reasoningPartCount,
114
216
  messageCount: items.length,
115
217
  outputKind,
218
+ // Capture-side usability = "there is some text to keep". This is advisory
219
+ // transport metadata, NOT a substance/quality judgement (that is the
220
+ // coordinator's job). Only genuinely empty/tool-only captures are unusable.
116
221
  usableForSynthesis: outputKind !== "empty" && outputKind !== "tool_trace_only",
222
+ looksLikeRefusalOrError: flowDeskTextLooksLikeRefusalOrErrorV1(latestText),
117
223
  };
118
224
  }
119
225
  //# sourceMappingURL=agent-task-output.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-task-output.js","sourceRoot":"","sources":["../src/agent-task-output.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-task-output.js","sourceRoot":"","sources":["../src/agent-task-output.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,8 @@
1
1
  import { type FlowDeskManagedDispatchBetaOpenCodeClientV1 } from "./managed-dispatch-adapter.js";
2
+ export interface FlowDeskAgentTaskFallbackBindingV1 {
3
+ agentRef: string;
4
+ providerQualifiedModelId: string;
5
+ }
2
6
  export interface FlowDeskAgentTaskInputV1 {
3
7
  workflowId: string;
4
8
  taskId: string;
@@ -17,12 +21,19 @@ export interface FlowDeskAgentTaskInputV1 {
17
21
  * The coordinator polls flowdesk_status_live to detect terminal state.
18
22
  */
19
23
  asyncMode?: boolean;
24
+ /**
25
+ * When provided and the primary attempt fails with no_response,
26
+ * automatically retry once with this fallback agent/model binding.
27
+ */
28
+ fallbackBinding?: FlowDeskAgentTaskFallbackBindingV1;
20
29
  /** Override quiet period before nudge — for testing only */
21
30
  _nudgeQuietPeriodMs?: number;
22
31
  /** Override messages poll timeout — for testing only (default 3000ms in prod) */
23
32
  _messagesTimeoutMs?: number;
24
- /** Override launch timeout — for testing only (default 300000ms = 5min in prod) */
33
+ /** Override launch timeout — for testing only (default 30000ms in prod) */
25
34
  _launchTimeoutMs?: number;
35
+ /** Internal: true when this is already a fallback retry (prevents infinite retry) */
36
+ _isFallbackRetry?: boolean;
26
37
  }
27
38
  export type FlowDeskAgentTaskResultV1 = {
28
39
  status: "task_completed";
@@ -1 +1 @@
1
- {"version":3,"file":"agent-task-runner.d.ts","sourceRoot":"","sources":["../src/agent-task-runner.ts"],"names":[],"mappings":"AAWA,OAAO,EACN,KAAK,2CAA2C,EAGhD,MAAM,+BAA+B,CAAC;AASvC,MAAM,WAAW,wBAAwB;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,wBAAwB,EAAE,MAAM,CAAC;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,2CAA2C,CAAC;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,sBAAsB,CAAC;IACxC;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,4DAA4D;IAC5D,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,iFAAiF;IACjF,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,mFAAmF;IACnF,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,MAAM,yBAAyB,GAClC;IAAE,MAAM,EAAE,gBAAgB,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,oBAAoB,EAAE,MAAM,CAAA;CAAE,GAC9F;IAAE,MAAM,EAAE,eAAe,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,GACnE;IAAE,MAAM,EAAE,aAAa,CAAC;IAAC,eAAe,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9F,+DAA+D;AAC/D,eAAO,MAAM,uCAAuC,EAAG,sCAA+C,CAAC;AAEvG,wBAAgB,gCAAgC,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAMrH;AAqVD,wBAAsB,0BAA0B,CAC/C,KAAK,EAAE,wBAAwB,GAC7B,OAAO,CAAC,yBAAyB,CAAC,CA8bpC"}
1
+ {"version":3,"file":"agent-task-runner.d.ts","sourceRoot":"","sources":["../src/agent-task-runner.ts"],"names":[],"mappings":"AAcA,OAAO,EACN,KAAK,2CAA2C,EAGhD,MAAM,+BAA+B,CAAC;AASvC,MAAM,WAAW,kCAAkC;IAClD,QAAQ,EAAE,MAAM,CAAC;IACjB,wBAAwB,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,wBAAwB;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,wBAAwB,EAAE,MAAM,CAAC;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,2CAA2C,CAAC;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,sBAAsB,CAAC;IACxC;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,eAAe,CAAC,EAAE,kCAAkC,CAAC;IACrD,4DAA4D;IAC5D,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,iFAAiF;IACjF,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,2EAA2E;IAC3E,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,qFAAqF;IACrF,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,MAAM,yBAAyB,GAClC;IAAE,MAAM,EAAE,gBAAgB,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,oBAAoB,EAAE,MAAM,CAAA;CAAE,GAC9F;IAAE,MAAM,EAAE,eAAe,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,GACnE;IAAE,MAAM,EAAE,aAAa,CAAC;IAAC,eAAe,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9F,+DAA+D;AAC/D,eAAO,MAAM,uCAAuC,EAAG,sCAA+C,CAAC;AAsBvG,wBAAgB,gCAAgC,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAMrH;AA+bD,wBAAsB,0BAA0B,CAC/C,KAAK,EAAE,wBAAwB,GAC7B,OAAO,CAAC,yBAAyB,CAAC,CAmjBpC"}