@robota-sdk/agent-ui-terminal 3.0.0-beta.83 → 3.0.0-beta.85
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/CHANGELOG.md +63 -0
- package/README.md +32 -13
- package/dist/node/index.d.ts +18 -3
- package/dist/node/index.d.ts.map +1 -1
- package/dist/node/index.js +21 -21
- package/dist/node/index.js.map +1 -1
- package/package.json +14 -13
- package/src/PermissionPrompt.tsx +23 -6
- package/src/SupervisedSessionView.tsx +101 -16
- package/src/TuiInteractionChannel.ts +9 -1
- package/src/__tests__/SupervisedSessionView.test.tsx +108 -0
- package/src/__tests__/helpers/terminal-profiles.ts +4 -4
- package/src/__tests__/permission-prompt-requester.test.tsx +34 -0
- package/src/__tests__/pty/behavior-2437-git.ptytest.ts +11 -3
- package/src/__tests__/pty/trust-prompt.ptytest.ts +134 -0
- package/src/__tests__/tui-interaction-queues.test.ts +10 -0
- package/src/__tests__/tui-state-manager.test.ts +31 -0
- package/src/__tests__/wire-tui-channel.test.ts +12 -0
- package/src/index.ts +2 -0
- package/src/tui-interaction-queues.ts +9 -1
- package/src/tui-session-event-projector.ts +12 -1
- package/src/tui-state-manager.ts +8 -2
- package/src/types.ts +3 -1
- package/src/wire-tui-channel.ts +1 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,68 @@
|
|
|
1
1
|
# @robota-sdk/agent-ui-terminal
|
|
2
2
|
|
|
3
|
+
## 3.0.0-beta.85
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [4e11579]
|
|
8
|
+
- Updated dependencies [41cca13]
|
|
9
|
+
- Updated dependencies [193a0bc]
|
|
10
|
+
- Updated dependencies [54e2848]
|
|
11
|
+
- Updated dependencies [9a01e78]
|
|
12
|
+
- Updated dependencies [3c1967f]
|
|
13
|
+
- Updated dependencies [ada3841]
|
|
14
|
+
- Updated dependencies [5093a30]
|
|
15
|
+
- Updated dependencies [5684612]
|
|
16
|
+
- Updated dependencies [6ee8725]
|
|
17
|
+
- Updated dependencies [6072e9a]
|
|
18
|
+
- Updated dependencies [94b2c87]
|
|
19
|
+
- Updated dependencies [3ab2eca]
|
|
20
|
+
- Updated dependencies [2e07cad]
|
|
21
|
+
- @robota-sdk/agent-framework@3.0.0-beta.85
|
|
22
|
+
- @robota-sdk/agent-core@3.0.0-beta.85
|
|
23
|
+
- @robota-sdk/agent-interface-command@3.0.0-beta.85
|
|
24
|
+
- @robota-sdk/agent-transport@3.0.0-beta.85
|
|
25
|
+
- @robota-sdk/agent-interface-execution@3.0.0-beta.85
|
|
26
|
+
- @robota-sdk/agent-interface-session@3.0.0-beta.85
|
|
27
|
+
- @robota-sdk/agent-interface-transport@3.0.0-beta.85
|
|
28
|
+
- @robota-sdk/agent-interface-analytics@3.0.0-beta.85
|
|
29
|
+
- @robota-sdk/agent-interface-tui@3.0.0-beta.85
|
|
30
|
+
|
|
31
|
+
## 3.0.0-beta.84
|
|
32
|
+
|
|
33
|
+
### Minor Changes
|
|
34
|
+
|
|
35
|
+
- 4f35721: Starting a session from `robota session view` in a folder that is not trusted asks what to do
|
|
36
|
+
instead of failing. The question names the folder and lists what trust would load. The choices are
|
|
37
|
+
`y` to trust the folder and start, `r` to start it Restricted, and `n` to cancel. A Restricted answer
|
|
38
|
+
holds even if the folder was trusted meanwhile. Before, the view showed only "Start failed".
|
|
39
|
+
|
|
40
|
+
- `agent-cli` (patch):
|
|
41
|
+
- A background session started Restricted runs with `--restricted-workspace`.
|
|
42
|
+
- A headless start that asked to run Restricted is no longer refused for want of trust, the same
|
|
43
|
+
as `--safe-mode`.
|
|
44
|
+
- `agent-ui-terminal` (minor): the session view takes `startTrustQuestion`, which returns the
|
|
45
|
+
folder and what trust would load (`ISupervisedStartTrustQuestion`). `onStart` receives the person's
|
|
46
|
+
choice (`TSupervisedStartTrustChoice`).
|
|
47
|
+
|
|
48
|
+
### Patch Changes
|
|
49
|
+
|
|
50
|
+
- Updated dependencies [9f46375]
|
|
51
|
+
- Updated dependencies [e8d70ac]
|
|
52
|
+
- Updated dependencies [9c6a8db]
|
|
53
|
+
- Updated dependencies [9c6a8db]
|
|
54
|
+
- Updated dependencies [9c6a8db]
|
|
55
|
+
- Updated dependencies [9c6a8db]
|
|
56
|
+
- @robota-sdk/agent-core@3.0.0-beta.84
|
|
57
|
+
- @robota-sdk/agent-framework@3.0.0-beta.84
|
|
58
|
+
- @robota-sdk/agent-interface-session@3.0.0-beta.84
|
|
59
|
+
- @robota-sdk/agent-interface-analytics@3.0.0-beta.84
|
|
60
|
+
- @robota-sdk/agent-interface-execution@3.0.0-beta.84
|
|
61
|
+
- @robota-sdk/agent-transport@3.0.0-beta.84
|
|
62
|
+
- @robota-sdk/agent-interface-command@3.0.0-beta.84
|
|
63
|
+
- @robota-sdk/agent-interface-transport@3.0.0-beta.84
|
|
64
|
+
- @robota-sdk/agent-interface-tui@3.0.0-beta.84
|
|
65
|
+
|
|
3
66
|
## 3.0.0-beta.83
|
|
4
67
|
|
|
5
68
|
### Major Changes
|
package/README.md
CHANGED
|
@@ -1,7 +1,34 @@
|
|
|
1
1
|
# @robota-sdk/agent-ui-terminal
|
|
2
2
|
|
|
3
|
-
React + Ink terminal UI
|
|
4
|
-
`TuiInteractionChannel`; it is not a borrowed-session `ITransportAdapter`.
|
|
3
|
+
React + Ink terminal UI for the Robota SDK — the interactive renderer the `robota` CLI uses. It owns its
|
|
4
|
+
interactive session through `TuiInteractionChannel`; it is not a borrowed-session `ITransportAdapter`.
|
|
5
|
+
|
|
6
|
+
## Installation
|
|
7
|
+
|
|
8
|
+
```bash
|
|
9
|
+
npm install @robota-sdk/agent-ui-terminal
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
The package is ESM-only: use `import` or `import()`. It has no `require()` entry, because Ink loads
|
|
13
|
+
`yoga-layout`, which starts with a top-level `await` that `require()` cannot run.
|
|
14
|
+
|
|
15
|
+
## Entry points
|
|
16
|
+
|
|
17
|
+
```typescript
|
|
18
|
+
import { renderApp, createDefaultTuiCliAdapter } from '@robota-sdk/agent-ui-terminal';
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
- `renderApp(options)` — render the full TUI on a session this process builds and owns.
|
|
22
|
+
- `renderAttachedApp(options)` — render the full TUI as a thin client of a session another host (a
|
|
23
|
+
workspace daemon) runs. Leaving only detaches; the session keeps running.
|
|
24
|
+
- `renderSupervisedSessionView(options)` — the list view of supervised sessions behind
|
|
25
|
+
`robota session view`.
|
|
26
|
+
- `TuiInteractionChannel` — the session-owning interaction channel `renderApp` builds.
|
|
27
|
+
- `createDefaultTuiCliAdapter(options)` — the default settings/plugin seam the renderer reads through.
|
|
28
|
+
- Theme and key-binding helpers (`createThemeRegistry`, `createThemeCataloguePort`,
|
|
29
|
+
`createNodeKeybindingsSource`) for the host that composes `/theme` and `/keybindings`.
|
|
30
|
+
|
|
31
|
+
## Session behavior
|
|
5
32
|
|
|
6
33
|
The channel consumes the exhaustive shared session-event map directly. Plan, context-refresh, and branch
|
|
7
34
|
events render as bounded operational notices outside canonical conversation history. A TUI projection
|
|
@@ -17,15 +44,7 @@ The status bar projects the session's active model-effort level next to the prov
|
|
|
17
44
|
session exposes it. This is a read-only view of session state and remains separate from thinking
|
|
18
45
|
display settings.
|
|
19
46
|
|
|
20
|
-
|
|
21
|
-
import { renderApp, createDefaultTuiCliAdapter } from '@robota-sdk/agent-ui-terminal';
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
The package is ESM-only: use `import` or `import()`. It has no `require()` entry, because Ink loads
|
|
25
|
-
`yoga-layout`, which starts with a top-level `await` that `require()` cannot run.
|
|
26
|
-
|
|
27
|
-
See [docs/SPEC.md](./docs/SPEC.md) for the full contract.
|
|
47
|
+
## Documentation
|
|
28
48
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
[test strategy](./docs/SPEC.md) for runtime verification and isolation constraints.
|
|
49
|
+
See [docs/SPEC.md](./docs/SPEC.md) for the full contract, including the attached-client rules, theme
|
|
50
|
+
and screen-reader behavior, and teardown. PTY test helpers live in `src/__tests__/pty/`; they are internal and not exported.
|
package/dist/node/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { CommandRegistry, EditCheckpointStore, IAgentDefinition, IAutomaticMemoryConfig, IBackgroundTaskRunner, ICommandHostAdapters, ICommandHostTerminalHandoff, ICommandHostWorkspace, ICommandModule, IContributionSource, ICreateSessionOptions, ILivePromptTracePort, IMemoryStore, INodeHostSettingsSource, IOrgPolicy, IOutputStylePrompt, IPerTurnRecallConfig, IProjectSettingsPath, IPromptHistoryOptions, IProviderErrorGuidance, IRemoteCommandPolicy, ISkillRootDescriptor, IToolCallHandoffPolicy, InteractiveSession, TInteractiveSessionOptions, TSettingsSource, TShellExecFn, TSubagentRunnerFactory, TWorkspaceProjectAccess } from "@robota-sdk/agent-framework";
|
|
3
3
|
import { IAIProvider, IActionRequest, IContextWindowState, IHistoryEntry, IProviderDefinition, IToolWithEventService, TActionResponse, TModelEffortSelection, TPermissionMode, TSessionEndReason, TToolArgs, TUniversalValue } from "@robota-sdk/agent-core";
|
|
4
|
-
import { IBranchEvent, ICommandInfo, IContextFileRefreshedEvent, IExecutionResult, IInteractiveSession, IInteractiveSessionEvents, IInteractiveSessionStore, IPlanApprovalEvent, IPromptHistorySource, ISessionListingEntry, ITerminalHandoff, IToolState, TInteractiveEventName, TPermissionResultValue } from "@robota-sdk/agent-interface-session";
|
|
4
|
+
import { IBranchEvent, ICommandInfo, IContextFileRefreshedEvent, IExecutionResult, IInteractiveSession, IInteractiveSessionEvents, IInteractiveSessionStore, IPlanApprovalEvent, IPromptHistorySource, ISessionListingEntry, ITerminalHandoff, IToolState, TInteractiveEventName, TPermissionRequester, TPermissionResultValue } from "@robota-sdk/agent-interface-session";
|
|
5
5
|
import { TClientMessage, TServerMessage } from "@robota-sdk/agent-transport/client";
|
|
6
6
|
import { IExecutionDetailPage, IExecutionWorkspaceSnapshot } from "@robota-sdk/agent-interface-execution";
|
|
7
7
|
import { ICommand, ICommandResult, IThemeAppearanceState, IThemeCataloguePort, TAppearanceSettingsPatch, TReducedMotionOverride } from "@robota-sdk/agent-interface-command";
|
|
@@ -183,6 +183,8 @@ interface IPendingPermissionRequest {
|
|
|
183
183
|
canPersistProjectPermission?: boolean;
|
|
184
184
|
/** The peer session whose message this call serves, when a peer turn asked. */
|
|
185
185
|
requestedByPeer?: string;
|
|
186
|
+
/** Issue #3288 §1: a background agent's own request, forwarded to the person. */
|
|
187
|
+
requester?: TPermissionRequester;
|
|
186
188
|
resolve: (result: TPermissionResult) => void;
|
|
187
189
|
}
|
|
188
190
|
//#endregion
|
|
@@ -1110,13 +1112,26 @@ type TSupervisedViewExit = {
|
|
|
1110
1112
|
} | ({
|
|
1111
1113
|
readonly kind: 'attach';
|
|
1112
1114
|
} & ISupervisedAttachRequest);
|
|
1115
|
+
/**
|
|
1116
|
+
* How a new session starts in a folder that is not trusted: trusted first (`trust` records the grant),
|
|
1117
|
+
* or `restricted`, without the project's own configuration. A person chose it in the view.
|
|
1118
|
+
*/
|
|
1119
|
+
type TSupervisedStartTrustChoice = 'trust' | 'restricted';
|
|
1120
|
+
/** What the person is asked about: the folder a new session would start in, and what trust loads. */
|
|
1121
|
+
interface ISupervisedStartTrustQuestion {
|
|
1122
|
+
readonly folder: string;
|
|
1123
|
+
/** What trusting it would load, one line each. */
|
|
1124
|
+
readonly loads: readonly string[];
|
|
1125
|
+
}
|
|
1113
1126
|
interface ISupervisedSessionViewProps {
|
|
1114
1127
|
readonly loadRows: (signal: AbortSignal) => Promise<readonly ISupervisedViewRow[]>;
|
|
1115
1128
|
/** Called once the user confirmed; the view then closes so the host can attach this terminal. */
|
|
1116
1129
|
readonly onAttach?: (request: ISupervisedAttachRequest) => void;
|
|
1117
1130
|
/** Receives the generation the row displayed, so a session restarted under the same id is refused. */
|
|
1118
1131
|
readonly onStop?: (id: string, generation: string) => Promise<void>;
|
|
1119
|
-
readonly onStart?: () => Promise<string>;
|
|
1132
|
+
readonly onStart?: (choice?: TSupervisedStartTrustChoice) => Promise<string>;
|
|
1133
|
+
/** The question to ask when the folder a new session starts in is not trusted yet; none otherwise. */
|
|
1134
|
+
readonly startTrustQuestion?: () => Promise<ISupervisedStartTrustQuestion | undefined>;
|
|
1120
1135
|
readonly onOpenPr?: (id: string, url: string, generation: string) => Promise<void>;
|
|
1121
1136
|
readonly filteredByCwd?: boolean;
|
|
1122
1137
|
readonly filteredByName?: boolean;
|
|
@@ -1197,5 +1212,5 @@ declare function sanitizeThemeProse(message: string): string;
|
|
|
1197
1212
|
*/
|
|
1198
1213
|
declare function parseThemeDocument(input: IThemeDocumentInput): TThemeDocumentResult;
|
|
1199
1214
|
//#endregion
|
|
1200
|
-
export { type IAttachedSessionConnection, type IDefaultTuiCliAdapterOptions, type IKeybindingDiagnostic, type IKeybindingSnapshot, type IKeybindingWarning, type IKeybindingsFilePort, type IKeybindingsSource, type INodeKeybindingsSourceOptions, type IRenderAttachedAppOptions, type IRenderOptions, type IScreenReaderPacingOverrides, type ISupervisedAttachRequest, type ISupervisedSessionViewProps, type ISupervisedViewRow, type ITerminalCapabilityOverrides, type IThemeCataloguePortOptions, type IThemeDocumentInput, type IThemeRegistry, type IThemeResolution, type IThemeSkip, type ITuiCliAdapter, type ITuiClientCommand, type ITuiClientCommands, type ITuiCommandInteraction, type ITuiConfirmInteraction, type ITuiInteractionChannelOptions, type ITuiPickerInteraction, type ITuiPickerItem, type ITuiTheme, type TAnyTuiCommandInteraction, type TAttachedSessionEnd, type TKeybindingAction, type TKeybindingContext, type TOnMissingArgsAction, type TScreenReaderChannel, type TSupervisedViewExit, type TThemeDocumentResult, type TThemeSource, type TTuiClientCommandHost, TuiInteractionChannel, createDefaultTuiCliAdapter, createNodeKeybindingsSource, createThemeCataloguePort, createThemeRegistry, escapeThemeText, listBuiltInThemes, parseThemeDocument, quoteThemeText, renderApp, renderAttachedApp, renderSupervisedSessionView, sanitizeThemeProse };
|
|
1215
|
+
export { type IAttachedSessionConnection, type IDefaultTuiCliAdapterOptions, type IKeybindingDiagnostic, type IKeybindingSnapshot, type IKeybindingWarning, type IKeybindingsFilePort, type IKeybindingsSource, type INodeKeybindingsSourceOptions, type IRenderAttachedAppOptions, type IRenderOptions, type IScreenReaderPacingOverrides, type ISupervisedAttachRequest, type ISupervisedSessionViewProps, type ISupervisedStartTrustQuestion, type ISupervisedViewRow, type ITerminalCapabilityOverrides, type IThemeCataloguePortOptions, type IThemeDocumentInput, type IThemeRegistry, type IThemeResolution, type IThemeSkip, type ITuiCliAdapter, type ITuiClientCommand, type ITuiClientCommands, type ITuiCommandInteraction, type ITuiConfirmInteraction, type ITuiInteractionChannelOptions, type ITuiPickerInteraction, type ITuiPickerItem, type ITuiTheme, type TAnyTuiCommandInteraction, type TAttachedSessionEnd, type TKeybindingAction, type TKeybindingContext, type TOnMissingArgsAction, type TScreenReaderChannel, type TSupervisedStartTrustChoice, type TSupervisedViewExit, type TThemeDocumentResult, type TThemeSource, type TTuiClientCommandHost, TuiInteractionChannel, createDefaultTuiCliAdapter, createNodeKeybindingsSource, createThemeCataloguePort, createThemeRegistry, escapeThemeText, listBuiltInThemes, parseThemeDocument, quoteThemeText, renderApp, renderAttachedApp, renderSupervisedSessionView, sanitizeThemeProse };
|
|
1201
1216
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/node/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/screen-reader-pacing.ts","../../src/terminal-capabilities-context.tsx","../../src/terminal-handoff-controller.ts","../../src/tui-session-events.ts","../../src/tui-state-manager.ts","../../src/types.ts","../../src/tui-app-channel-port.ts","../../src/attention/attention-tracker.ts","../../src/tui-channel-options.ts","../../src/TuiInteractionChannel.ts","../../src/attached-session-connection.ts","../../src/keybindings/keybinding-catalogue.ts","../../src/keybindings/keybinding-registry.ts","../../src/keybindings/node-keybindings-source.ts","../../src/screen-reader-announcement.ts","../../src/theme/theme-contracts.ts","../../src/theme/built-in-themes.ts","../../src/theme/theme-registry.ts","../../src/tui-cli-adapter.ts","../../src/wire-tui-client-commands.ts","../../src/render.tsx","../../src/SupervisedSessionView.tsx","../../src/create-default-tui-cli-adapter.ts","../../src/theme/theme-document.ts"],"mappings":";;;;;;;;;;;UA4CiB;WACN;aAA0B;aAAkC;;WAC5D;aAAqB;aAAkC;;;;;;UC3CjD;WACN;WACA;;;;;UCQM;;EAEf,WAAW;;EAEX;;;;;;;UAQe;;EAEf,qBAAqB;EACrB;;;UAIe;EACf;;cAGW,qCAAqC;UACxC;UACA;UACA;;;;;EAMR,qBAAqB,OAAO;;EAQ5B,qBAAqB,OAAO;;EAK5B,eAAe,UAAU;MAIrB;EAME,gBAAgB,GAAG,UAAU,QAAQ,KAAK,QAAQ;;;;UCvBzC;EACf;EACA;;;EAOA;;KAGU;EACN;EAAqB,SAAS;;EAC9B;EAAiC,SAAS;;EAC1C;EAAuB,SAAS;;;;;;;;;KChC1B,gBAAgB,KAAK;;EAE/B;;cA2BW;EAEX,SAAS;;;;;UAKD;EAER;EACA,aAAa;EACb;EACA;EACA;EACA,cAAc;EACd,4BAA4B;EAC5B;;EAEA;;EAEA;mBACiB;;WAER,qBARmB;;EAW5B;UAGQ;UACA;UACA;;UAGA;UASA;UAUA;EAMR,cAAe;EAOf,cAAe,OAAO;EAQtB,YAAa,OAAO;
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/screen-reader-pacing.ts","../../src/terminal-capabilities-context.tsx","../../src/terminal-handoff-controller.ts","../../src/tui-session-events.ts","../../src/tui-state-manager.ts","../../src/types.ts","../../src/tui-app-channel-port.ts","../../src/attention/attention-tracker.ts","../../src/tui-channel-options.ts","../../src/TuiInteractionChannel.ts","../../src/attached-session-connection.ts","../../src/keybindings/keybinding-catalogue.ts","../../src/keybindings/keybinding-registry.ts","../../src/keybindings/node-keybindings-source.ts","../../src/screen-reader-announcement.ts","../../src/theme/theme-contracts.ts","../../src/theme/built-in-themes.ts","../../src/theme/theme-registry.ts","../../src/tui-cli-adapter.ts","../../src/wire-tui-client-commands.ts","../../src/render.tsx","../../src/SupervisedSessionView.tsx","../../src/create-default-tui-cli-adapter.ts","../../src/theme/theme-document.ts"],"mappings":";;;;;;;;;;;UA4CiB;WACN;aAA0B;aAAkC;;WAC5D;aAAqB;aAAkC;;;;;;UC3CjD;WACN;WACA;;;;;UCQM;;EAEf,WAAW;;EAEX;;;;;;;UAQe;;EAEf,qBAAqB;EACrB;;;UAIe;EACf;;cAGW,qCAAqC;UACxC;UACA;UACA;;;;;EAMR,qBAAqB,OAAO;;EAQ5B,qBAAqB,OAAO;;EAK5B,eAAe,UAAU;MAIrB;EAME,gBAAgB,GAAG,UAAU,QAAQ,KAAK,QAAQ;;;;UCvBzC;EACf;EACA;;;EAOA;;KAGU;EACN;EAAqB,SAAS;;EAC9B;EAAiC,SAAS;;EAC1C;EAAuB,SAAS;;;;;;;;;KChC1B,gBAAgB,KAAK;;EAE/B;;cA2BW;EAEX,SAAS;;;;;UAKD;EAER;EACA,aAAa;EACb;EACA;EACA;EACA,cAAc;EACd,4BAA4B;EAC5B;;EAEA;;EAEA;mBACiB;;WAER,qBARmB;;EAW5B;UAGQ;UACA;UACA;;UAGA;UASA;UAUA;EAMR,cAAe;EAOf,cAAe,OAAO;EAQtB,YAAa,OAAO;EAsBpB,aAAc;EAkBd,aAAc,QAAQ,KAAK;EAc3B;EASA,UAAW,QAAQ;EAYnB,kBAAmB,OAAO;;;;;;EAe1B,YAAY,SAAS;;;;;;EAWrB,gBAAgB,kBAAkB,iBAAiB,iBAAiB;UAK5D;;EAeR,SAAS,OAAO;;EAUhB,YAAY,OAAO;EAKnB;;EAWA,iBAAiB;;EAMjB,YAAY;;EAMZ,gBAAgB,OAAO;EAKvB,sBAAsB,OAAO;EAK7B,kBAAkB;EAKlB,6BAA6B,OAAO,OAAO,OAAO;EAKlD,+BAA+B,UAAU;EAgBzC,8BAA8B;;;;;;EAe9B;;;;;;;;KC5UU,oBAAoB;UAEf;EACf;EACA,UAAU;EACV;;EAEA;;EAEA,YAAY;EACZ,UAAU,QAAQ;;;;UCGH;EACf,YAAY,kBAAkB;EAC9B,eAAe,sBAAsB;;KAG3B;UAEK;EACf,GAAG,UAAU,wBAAwB,OAAO,GAAG,SAAS,0BAA0B;EAClF,IAAI,UAAU,wBAAwB,OAAO,GAAG,SAAS,0BAA0B;;UAGpE;EACf,gBAAgB;EAChB;EACA;EACA,SAAS;;EAET;;UAGe;EACf,kBAAkB;EAClB;EACA,sBAAsB;EACtB;EACA;EACA;EACA;EACA,8BAA8B;EAC9B;EACA;EACA;EACA,4BAA4B;EAC5B;EACA,mBAAmB;EACnB,mBAAmB;EACnB;IAAgB;IAAoB;IAAoB;;;;;;;EAMxD,wBAAwB;;;;;;EAMxB;;;;;EAKA;;;;;EAKA;;;;;;;;UASe;WACN,2BAA2B;WAC3B;EACT,SAAS;EACT,QAAQ;EACR,UAAU;EACV,eAAe;EACf,uBAAuB;EACvB,yBAAyB;EACzB,yBAAyB,wBAAwB,kBAAkB;EACnE,SAAS,OAAO;EAChB,YAAY,gBAAgB;EAC5B;EACA;EACA,4BAA4B;EAC5B,SAAS;IAAY,SAAS;IAAmB;MAAuB;EACxE,8BAA8B;EAC9B,6BAA6B,kBAAkB,QAAQ;EACvD,aAAa,gBAAgB,gBAAgB;EAC7C,kBAAkB,SAAS,gBAAgB,UAAU;;;;KC/F3C;UAEK;WACN,MAAM;;WAEN;;KAGC,sBAAsB,QAAQ;;UAGzB;WACN;;WAEA;EACT,UAAU,UAAU;;;;;;;;;;;;;UCoBL;EACf,kBAAkB;;;;;;;;;EASlB,+BAA+B;EAC/B;EACA,UAAU;EACV,wBAAwB;EACxB;EACA;EACA,+BAA+B;EAC/B,6BAA6B;EAC7B;;EAEA;;EAEA;;EAEA,YAAY;EACZ,gBAAgB;EAChB,gCAAgC;EAChC;;EAEA;aAAyB;aAA4B;;EACrD,sBAAsB;EACtB,aAAa;EACb,+BAA+B;;;;;EAK/B,sBAAsB;;EAEtB,+BAA+B;;EAE/B,4BAA4B;;;;;;EAM5B;;EAEA,cAAc;;EAEd,SAAS;EACT;EACA;;EAEA;EACA,iBAAiB;EACjB,iBAAiB;EACjB;EACA,eAAe;EACf;EACA;EACA;EACA;;EAEA;EACA;EACA,wBAAwB;;EAExB,kBAAkB;EAClB,wBAAwB;;EAExB,4BAA4B;EAC5B;EACA;aAA+B;aAAwB;;;;;;;EAMvD,kBAAkB;EAClB,wBAAwB;;EAExB,gBAAgB;EAChB,0BAA0B;EAC1B,sBAAsB;EACtB,YAAY;;EAEZ,sBAAsB;EACtB,oBAAoB;;EAEpB,kBAAkB,SAAS,+BAA+B;EAC1D;EACA,6BAA6B,UAAU;EACvC;;EAEA;;EAEA;EACA;EACA;EACA;EACA;;EAEA;;EAEA;;EAEA,kBAAkB;;EAElB,YAAY;;;;;EAKZ,cAAc;;EAEd,kBAAkB;;EAElB,eAAe;;EAEf,+BAA+B,OAAO,OAAO,OAAO;;;;;;;EAOpD;;EAEA,gBAAgB;;;;cCvHL,iCAAiC;WACnC,cAAc;mBAEN;mBACA;mBACA;UAET;mBAES;mBACA;mBACA;;mBAEA;mBACA;EACjB,mBAAmB;EACnB;UAEQ;;MAGJ,6BAA6B;;EAIjC;EAEY,YAAA,MAAM;UAiEJ;UA8BA;MAQV,qBAAqB;;MAKrB,qBAAqB;MAIrB;MAIA;UAII;UAIA;EASR,SAAS,UAAU,iBAAiB;EAIpC,qBAAqB,UAAU;EAK/B,QAAQ;EAIF,SAAS;;;;;;;EAUT,QAAQ;EAMd,cAAc;EAId,eAAe;EAIf,UAAU;EAOV,eAAe;EAwBf,uBAAuB;EAIvB,yBAAyB;EAIzB,yBAAyB,wBAAwB,kBAAkB;EAgBnE,SAAS,OAAO;EAIhB;EAOA;;EAQM,4BAA4B;EAM5B,SAAS;IAAY,SAAS;IAAmB;MAAuB;EAI9E,8BAA8B;EAIxB,6BAA6B,kBAAkB,QAAQ;EAIvD,aAAa,gBAAgB,gBAAgB;EAInD,eAAe;;;;;;EAaT,QAAQ,SAAS,gBAAgB,cAAc,QAAQ;;EAK7D,kBAAkB,SAAS,gBAAgB,UAAU;;UAK7C;EAIF,YAAY,gBAAgB;UASpB;UA4BN;;;;;;UAaA;;;;;;UAUA;UAIA;UASA;;UAaA;;UAoBA;UAQA;UAiBA;UAKA;;;;;;;;UC9fO;EACf,KAAK,SAAS;EACd,UAAU,WAAW,SAAS;EAC9B,QAAQ;;;KAIE;;;cCbC;;;;;;;;;;;;;;;;;;;;;;;;;;KAsDD,kCAAkC;KAClC,kBAAkB,iBAAiB,qBAAqB,8BAC1D,oBAAoB;;;UClCb;WACN;WACA;WACA;;UAGM;WACN;WACA;WACA;;UAGM;WACN;WACA;WACA,UAAU,SACjB,OAAO,oBAAoB,SAAS;WAE7B,mBAAmB;WACnB,aAAa;;;;UC7BP;EACf,cAAc;;UAGC,2BAA2B;WACjC;EACT,SAAS;EACT;EACA,eAAe;EACf,UAAU,WAAW,UAAU;EAC/B;;UAGe;WACN;WACA;WACA,gBAAgB,YAAY;;iBA4JvB,4BACd,SAAS,gCACR;;;;;;;;;;;;;;;;;;;KCzKS;;;;;;;;;;;;;;;;;;KCDA;;UAGK;WACN;aACE,QAAQ;aACR,UAAU;aACV,SAAS;aACT,SAAS;aACT,OAAO;aACP,SAAS;aACT,OAAO;aACP,UAAU;;WAEZ;aACE,WAAW;aACX,SAAS;aACT,QAAQ;aACR,OAAO;aACP,OAAO;;WAET;aACE,SAAS;aACT,SAAS;aACT,OAAO;aACP,QAAQ;aACR,SAAS;aACT,WAAW;aACX,MAAM;;;;;;;;;;;;UAaF;WACN,SAAS;WACT,cAAc;WACd,MAAM;WACN,UAAU;WACV,MAAM;WACN,MAAM;WACN,YAAY;WACZ,KAAK;WACL,MAAM;WACN,WAAW;WACX,aAAa;WACb,qBAAqB;WACrB,uBAAuB;WACvB,UAAU;;;;;;;UAQJ;WACN,SAAS;WACT,UAAU;WACV,MAAM;WACN,SAAS;WACT,QAAQ;WACR,QAAQ;WACR,QAAQ;WACR,OAAO;WACP,UAAU;WACV,SAAS;WACT,QAAQ;WACR,MAAM;WACN,KAAK;WACL,MAAM;WACN,MAAM;WACN,UAAU;WACV,UAAU;;;UAIJ;WACN,gBAAgB,aAAa,aAAa,aAAa;;KAGtD;KACA;UAEK;;WAEN;WACA;WACA,YAAY;WACZ,QAAQ;WACR,QAAQ;WACR,UAAU;WACV,QAAQ;WACR,QAAQ;;;;;;;;;;iBCqNH,8BAA8B;;;;;;;;UCzS7B;;;;;;WAMN;WACA;;WAEA;;UAGM;WACN,OAAO;;WAEP;;UAGM;EACf,iBAAiB;EACjB,IAAI,aAAa;;EAEjB,QAAQ,yBAAyB;;EAEjC,oBAAoB;;iBAGN,oBACd,kBAAiB,aACjB,mBAAkB,eACjB;UA+Bc;WACN,UAAU;;;;;;;WAOV,sBAAsB;;;;;;;WAOtB;aACI,MAAM;aAAiC;;;iBAGtC,yBAAyB,SAAS,6BAA6B;;;;;;;;;;UCtG9D;EACf;EACA,aAAa,eAAe,eAAe;EAC3C,0BAA0B,UAAU;EACpC,uBACE,aACA,iBACA;IAAY;;IACT;;EACL,aAAa;EACb,uBAAuB;;EAEvB,uBAAuB;;;;;KCMb,wBAAwB,8BAA8B;;;;;;UAOjD;WACN;EACT,QAAQ,MAAM,uBAAuB,eAAe,iBAAiB,QAAQ;;;UAI9D;WACN,mBAAmB;;EAE5B,wBAAwB,OAAO,kCAAkC;;;;UCmClD;EACf;EACA,kBAAkB;;EAElB;EACA;EACA,+BAA+B;EAC/B,6BAA6B;EAC7B;;EAEA;;EAEA;EACA;EACA,UAAU;EACV,wBAAwB;EACxB,gBAAgB;EAChB,gCAAgC;EAChC;;EAEA;aAAyB;aAA4B;;EACrD,+BAA+B;EAC/B,sBAAsB;EACtB,+BAA+B;;;;;;;;;;;EAW/B,YAAY;;;;;;EAMZ,kCAAkC;;EAElC,+BAA+B;;;;;EAK/B,4BAA4B;EAC5B;;;;;;;;EAQA,+BAA+B;EAC/B;EACA;;EAEA,cAAc;;EAEd,SAAS;EACT;EACA;;EAEA;;EAEA;EACA,iBAAiB;EACjB;EACA,iBAAiB;EACjB;EACA;EACA;EACA;EACA,eAAe;EACf;EACA;EACA;EACA;;EAEA;;EAEA;EACA;;EAEA;EACA;EACA,wBAAwB;;EAExB,kBAAkB;EAClB,wBAAwB;;;;;EAKxB,4BAA4B;EAC5B;EACA;aAA+B;aAAwB;;;;;;;EAMvD,kBAAkB;EAClB,wBAAwB;;EAExB,gBAAgB;EAChB,0BAA0B;EAC1B,sBAAsB;EACtB,YAAY;;EAEZ,sBAAsB;EACtB,sBAAsB;EACtB,oBAAoB;EACpB,iBAAiB;EACjB,YAAY;EACZ,6BAA6B,UAAU;EACvC;;EAEA;;EAEA;;EAEA;;EAEA;;;;;EAKA,kBAAkB,SAAS;;;;;EAK3B,cAAc;;EAEd,kBAAkB;;EAElB,eAAe;;;;;;;EAOf;;EAEA,qBAAqB;;EAErB,uBAAuB;;EAEvB,sBAAsB;;EAEtB;;EAEA,oBAAoB;;;;;EAKpB,gBAAgB;;EAEhB;;EAEA,wBAAwB;;;;;EAKxB;;;;;;;EAOA,gBAAgB;EAChB,sBAAsB;EACtB;;iBA8IoB,UAAU,SAAS,iBAAiB;;;;;UAiBzC,kCAAkC,KACjD;;WAmBS,YAAY;;WAEZ;;WAEA;;WAEA,iBAAiB;;;;;WAKjB;;WAEA;;;;;;;iBAQW,kBACpB,SAAS,4BACR,QAAQ;;;UCjcM;WACN;WACA;WACA;WACA;WACA;WACA;WACA;WACA;aACE;aACA;aACA;aACA;;WAEF;;WAEA;;;UAIM;WACN;WACA;WACA;;WAEA;;;KAIC;WACG;;WACC;IAAmB;;;;;KAWvB;;UAGK;WACN;;WAEA;;UAGM;WACN,WAAW,QAAQ,gBAAgB,iBAAiB;;WAEpD,YAAY,SAAS;;WAErB,UAAU,YAAY,uBAAuB;WAC7C,WAAW,SAAS,gCAAgC;;WAEpD,2BAA2B,QAAQ;WACnC,YAAY,YAAY,aAAa,uBAAuB;WAC5D;WACA;WACA;WACA,cAAc;WACd;;WAEA;WACA;;cAGL;KAYD,iBAAiB;iBA8sBA,4BACpB,SAAS;WACE;WACA,sBAAsB;WACtB;;WAEA;IAEV,QAAQ;;;UCzyBM;EACf,8BAA8B;EAC9B,4BAA4B,UAAU;EACtC;EACA,0BAA0B;EAC1B,uBAAuB;;iBAGT,6BACd,qBACA,2BACA,kBACA,iBACA,uBACC,+BAA+B;;;UCFjB;;WAEN;;WAEA;WACA,QAAQ;WACR;;KAGC;WACC;WAAmB,OAAO;;WAAyB;WAAoB;;;;;;;;;;;;;;;;;iBAwBpE,eAAe;;;;;iBAWf,gBAAgB;;;;;;iBAShB,mBAAmB;;;;;;iBAyKnB,mBAAmB,OAAO,sBAAsB"}
|