brosh 0.2.2
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/LICENSE +21 -0
- package/README.md +181 -0
- package/brosh_brandmark.svg +3 -0
- package/brosh_logo.svg +27 -0
- package/cli_icon.svg +52 -0
- package/dist/client.d.ts +5 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +138 -0
- package/dist/client.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +618 -0
- package/dist/index.js.map +1 -0
- package/dist/lib.d.ts +25 -0
- package/dist/lib.d.ts.map +1 -0
- package/dist/lib.js +28 -0
- package/dist/lib.js.map +1 -0
- package/dist/mode-selector.d.ts +7 -0
- package/dist/mode-selector.d.ts.map +1 -0
- package/dist/mode-selector.js +138 -0
- package/dist/mode-selector.js.map +1 -0
- package/dist/prompts/index.d.ts +3 -0
- package/dist/prompts/index.d.ts.map +1 -0
- package/dist/prompts/index.js +79 -0
- package/dist/prompts/index.js.map +1 -0
- package/dist/recording/index.d.ts +4 -0
- package/dist/recording/index.d.ts.map +1 -0
- package/dist/recording/index.js +3 -0
- package/dist/recording/index.js.map +1 -0
- package/dist/recording/manager.d.ts +62 -0
- package/dist/recording/manager.d.ts.map +1 -0
- package/dist/recording/manager.js +123 -0
- package/dist/recording/manager.js.map +1 -0
- package/dist/recording/recorder.d.ts +95 -0
- package/dist/recording/recorder.d.ts.map +1 -0
- package/dist/recording/recorder.js +330 -0
- package/dist/recording/recorder.js.map +1 -0
- package/dist/recording/types.d.ts +65 -0
- package/dist/recording/types.d.ts.map +1 -0
- package/dist/recording/types.js +2 -0
- package/dist/recording/types.js.map +1 -0
- package/dist/sandbox/ModeSelector.d.ts +2 -0
- package/dist/sandbox/ModeSelector.d.ts.map +1 -0
- package/dist/sandbox/ModeSelector.js +2 -0
- package/dist/sandbox/ModeSelector.js.map +1 -0
- package/dist/sandbox/config.d.ts +46 -0
- package/dist/sandbox/config.d.ts.map +1 -0
- package/dist/sandbox/config.js +144 -0
- package/dist/sandbox/config.js.map +1 -0
- package/dist/sandbox/controller.d.ts +72 -0
- package/dist/sandbox/controller.d.ts.map +1 -0
- package/dist/sandbox/controller.js +208 -0
- package/dist/sandbox/controller.js.map +1 -0
- package/dist/sandbox/index.d.ts +6 -0
- package/dist/sandbox/index.d.ts.map +1 -0
- package/dist/sandbox/index.js +4 -0
- package/dist/sandbox/index.js.map +1 -0
- package/dist/sandbox/mode-prompt.d.ts +10 -0
- package/dist/sandbox/mode-prompt.d.ts.map +1 -0
- package/dist/sandbox/mode-prompt.js +130 -0
- package/dist/sandbox/mode-prompt.js.map +1 -0
- package/dist/sandbox/prompt.d.ts +10 -0
- package/dist/sandbox/prompt.d.ts.map +1 -0
- package/dist/sandbox/prompt.js +434 -0
- package/dist/sandbox/prompt.js.map +1 -0
- package/dist/server.d.ts +28 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +59 -0
- package/dist/server.js.map +1 -0
- package/dist/terminal/index.d.ts +5 -0
- package/dist/terminal/index.d.ts.map +1 -0
- package/dist/terminal/index.js +3 -0
- package/dist/terminal/index.js.map +1 -0
- package/dist/terminal/manager.d.ts +153 -0
- package/dist/terminal/manager.d.ts.map +1 -0
- package/dist/terminal/manager.js +276 -0
- package/dist/terminal/manager.js.map +1 -0
- package/dist/terminal/session.d.ts +137 -0
- package/dist/terminal/session.d.ts.map +1 -0
- package/dist/terminal/session.js +752 -0
- package/dist/terminal/session.js.map +1 -0
- package/dist/tools/definitions.d.ts +18 -0
- package/dist/tools/definitions.d.ts.map +1 -0
- package/dist/tools/definitions.js +114 -0
- package/dist/tools/definitions.js.map +1 -0
- package/dist/tools/getContent.d.ts +32 -0
- package/dist/tools/getContent.d.ts.map +1 -0
- package/dist/tools/getContent.js +38 -0
- package/dist/tools/getContent.js.map +1 -0
- package/dist/tools/index.d.ts +4 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +49 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/screenshot.d.ts +20 -0
- package/dist/tools/screenshot.d.ts.map +1 -0
- package/dist/tools/screenshot.js +28 -0
- package/dist/tools/screenshot.js.map +1 -0
- package/dist/tools/sendKey.d.ts +31 -0
- package/dist/tools/sendKey.d.ts.map +1 -0
- package/dist/tools/sendKey.js +38 -0
- package/dist/tools/sendKey.js.map +1 -0
- package/dist/tools/startRecording.d.ts +68 -0
- package/dist/tools/startRecording.d.ts.map +1 -0
- package/dist/tools/startRecording.js +111 -0
- package/dist/tools/startRecording.js.map +1 -0
- package/dist/tools/stopRecording.d.ts +31 -0
- package/dist/tools/stopRecording.d.ts.map +1 -0
- package/dist/tools/stopRecording.js +76 -0
- package/dist/tools/stopRecording.js.map +1 -0
- package/dist/tools/type.d.ts +31 -0
- package/dist/tools/type.d.ts.map +1 -0
- package/dist/tools/type.js +31 -0
- package/dist/tools/type.js.map +1 -0
- package/dist/transport/gui-protocol.d.ts +163 -0
- package/dist/transport/gui-protocol.d.ts.map +1 -0
- package/dist/transport/gui-protocol.js +68 -0
- package/dist/transport/gui-protocol.js.map +1 -0
- package/dist/transport/gui-stream.d.ts +139 -0
- package/dist/transport/gui-stream.d.ts.map +1 -0
- package/dist/transport/gui-stream.js +440 -0
- package/dist/transport/gui-stream.js.map +1 -0
- package/dist/transport/index.d.ts +6 -0
- package/dist/transport/index.d.ts.map +1 -0
- package/dist/transport/index.js +6 -0
- package/dist/transport/index.js.map +1 -0
- package/dist/transport/socket.d.ts +46 -0
- package/dist/transport/socket.d.ts.map +1 -0
- package/dist/transport/socket.js +310 -0
- package/dist/transport/socket.js.map +1 -0
- package/dist/types/mcp-client-info.d.ts +226 -0
- package/dist/types/mcp-client-info.d.ts.map +1 -0
- package/dist/types/mcp-client-info.js +62 -0
- package/dist/types/mcp-client-info.js.map +1 -0
- package/dist/ui/index.d.ts +12 -0
- package/dist/ui/index.d.ts.map +1 -0
- package/dist/ui/index.js +84 -0
- package/dist/ui/index.js.map +1 -0
- package/dist/utils/env.d.ts +17 -0
- package/dist/utils/env.d.ts.map +1 -0
- package/dist/utils/env.js +35 -0
- package/dist/utils/env.js.map +1 -0
- package/dist/utils/keys.d.ts +16 -0
- package/dist/utils/keys.d.ts.map +1 -0
- package/dist/utils/keys.js +155 -0
- package/dist/utils/keys.js.map +1 -0
- package/dist/utils/platform.d.ts +16 -0
- package/dist/utils/platform.d.ts.map +1 -0
- package/dist/utils/platform.js +41 -0
- package/dist/utils/platform.js.map +1 -0
- package/dist/utils/session-logger.d.ts +31 -0
- package/dist/utils/session-logger.d.ts.map +1 -0
- package/dist/utils/session-logger.js +125 -0
- package/dist/utils/session-logger.js.map +1 -0
- package/dist/utils/stats.d.ts +46 -0
- package/dist/utils/stats.d.ts.map +1 -0
- package/dist/utils/stats.js +89 -0
- package/dist/utils/stats.js.map +1 -0
- package/dist/utils/version.d.ts +2 -0
- package/dist/utils/version.d.ts.map +1 -0
- package/dist/utils/version.js +9 -0
- package/dist/utils/version.js.map +1 -0
- package/logo.png +0 -0
- package/package.json +61 -0
- package/packages/desktop-electron/THIRD-PARTY-NOTICES +56 -0
- package/packages/desktop-electron/build/afterPack.cjs +147 -0
- package/packages/desktop-electron/package-lock.json +10071 -0
- package/packages/desktop-electron/package.json +170 -0
- package/packages/desktop-electron/resources/icons/mac/icon.icns +0 -0
- package/packages/desktop-electron/resources/icons/png/1024x1024.png +0 -0
- package/packages/desktop-electron/resources/icons/png/128x128.png +0 -0
- package/packages/desktop-electron/resources/icons/png/16x16.png +0 -0
- package/packages/desktop-electron/resources/icons/png/24x24.png +0 -0
- package/packages/desktop-electron/resources/icons/png/256x256.png +0 -0
- package/packages/desktop-electron/resources/icons/png/32x32.png +0 -0
- package/packages/desktop-electron/resources/icons/png/48x48.png +0 -0
- package/packages/desktop-electron/resources/icons/png/512x512.png +0 -0
- package/packages/desktop-electron/resources/icons/png/64x64.png +0 -0
- package/packages/desktop-electron/resources/icons/win/icon.ico +0 -0
- package/packages/desktop-electron/scripts/download-models.js +97 -0
- package/packages/desktop-electron/scripts/prepare-sandbox-bins.js +186 -0
- package/packages/desktop-electron/tests/main/ai-detection/additionalFunctions.test.ts +224 -0
- package/packages/desktop-electron/tests/main/ai-detection/checkOverridePrefix.test.ts +162 -0
- package/packages/desktop-electron/tests/main/ai-detection/classifyInput.test.ts +132 -0
- package/packages/desktop-electron/tests/main/ai-detection/detectTypos.test.ts +342 -0
- package/packages/desktop-electron/tests/main/ai-detection/fixtures/commands.ts +134 -0
- package/packages/desktop-electron/tests/main/ai-detection/fixtures/natural-language.ts +133 -0
- package/packages/desktop-electron/tests/main/ai-detection/fixtures/typos.ts +123 -0
- package/packages/desktop-electron/tests/main/ai-detection/hasValidSubcommand.test.ts +218 -0
- package/packages/desktop-electron/tests/main/ai-detection/isCommandNotFound.test.ts +117 -0
- package/packages/desktop-electron/tests/main/error-triage/buildTriagePrompt.test.ts +133 -0
- package/packages/desktop-electron/tests/main/error-triage/parseTriageResponse.test.ts +123 -0
- package/packages/desktop-electron/tests/main/terminal-bridge/battery-optimization.test.ts +243 -0
- package/packages/desktop-electron/tests/main/terminal-bridge/command-fast-track.test.ts +292 -0
- package/packages/desktop-electron/tests/main/terminal-bridge/default-cwd.test.ts +70 -0
- package/packages/desktop-electron/tests/setup.ts +274 -0
- package/packages/desktop-electron/tsconfig.json +18 -0
- package/packages/desktop-electron/tsconfig.main.json +20 -0
- package/packages/desktop-electron/vite.config.ts +19 -0
- package/packages/desktop-electron/vitest.config.ts +18 -0
- package/tsconfig.json +19 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Ellery Familia
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
<p align="center">
|
|
2
|
+
<strong>The AI-native terminal. Built for Claude coders.</strong>
|
|
3
|
+
</p>
|
|
4
|
+
|
|
5
|
+
<p align="center">
|
|
6
|
+
<a href="https://github.com/elleryfamilia/brosh/releases"><img src="https://img.shields.io/github/v/release/elleryfamilia/brosh" alt="Release"></a>
|
|
7
|
+
<a href="LICENSE"><img src="https://img.shields.io/github/license/elleryfamilia/brosh" alt="License: MIT"></a>
|
|
8
|
+
<img src="https://img.shields.io/badge/platform-macOS%20%7C%20Linux-blue" alt="Platforms">
|
|
9
|
+
</p>
|
|
10
|
+
|
|
11
|
+

|
|
12
|
+
|
|
13
|
+
## Install
|
|
14
|
+
|
|
15
|
+
**Homebrew (macOS):**
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
brew install --cask elleryfamilia/brosh/brosh
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
**Direct download:** `.dmg` (macOS) / `.AppImage` (Linux) from the [releases page](https://github.com/elleryfamilia/brosh/releases).
|
|
22
|
+
|
|
23
|
+
**Build from source:**
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
git clone https://github.com/elleryfamilia/brosh.git
|
|
27
|
+
cd brosh/packages/desktop-electron && npm install && npm run start
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
**CLI only:** `npm install -g brosh` or `brew install elleryfamilia/brosh/brosh-cli` -- [more install options](./docs/installation.md)
|
|
31
|
+
|
|
32
|
+
## Features
|
|
33
|
+
|
|
34
|
+
- [**Claude Code integration**](#claude-code-integration) -- Natural language detection, model switching, "Continue in Claude" handoff, built-in MCP server
|
|
35
|
+
- [**Split panes & tabs**](#terminal) -- Horizontal/vertical splits with draggable dividers, multi-tab interface
|
|
36
|
+
- [**Git sidebar**](#git-integration) -- Visual commit graph, file change tracking, Monaco diff editor
|
|
37
|
+
- [**Sandbox mode**](#sandbox-mode) -- Restrict filesystem and network access per session
|
|
38
|
+
- [**Themes & customization**](#terminal) -- 9 themes, 25+ fonts, cursor styles, window opacity, scrollback
|
|
39
|
+
- [**MCP tools**](#mcp-integration) -- Give Claude Code direct access to type, read, and screenshot your terminal
|
|
40
|
+
- [**Session recording**](#developer-tools) -- Record to asciicast format, play back with asciinema
|
|
41
|
+
- **Cross-platform** -- macOS, Linux
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Claude Code Integration
|
|
46
|
+
|
|
47
|
+
brosh is purpose-built for working with Claude Code. Every part of the terminal is designed to make AI-assisted development seamless.
|
|
48
|
+
|
|
49
|
+
- **Natural language detection** -- An ML classifier distinguishes commands from questions in real time. Type `git push` and it runs. Type `how do I rebase onto main?` and Claude answers.
|
|
50
|
+
- **Model switching** -- Switch between Sonnet, Opus, and Haiku from the status bar.
|
|
51
|
+
- **MCP server built in** -- Claude Code connects over MCP and can see your terminal, run commands, and read output. No extra setup.
|
|
52
|
+
- **Continue in Claude** -- Start a conversation in the terminal and seamlessly continue it in the Claude Code CLI with full context.
|
|
53
|
+
- **Smart status bar** -- Git branch, active Claude model, MCP connection status, and session info at a glance.
|
|
54
|
+
|
|
55
|
+

|
|
56
|
+
|
|
57
|
+

|
|
58
|
+
|
|
59
|
+
## Terminal
|
|
60
|
+
|
|
61
|
+
- Multi-tab interface with split panes (horizontal and vertical)
|
|
62
|
+
- Draggable panel dividers for custom layouts
|
|
63
|
+
- 9 built-in themes and 25+ fonts
|
|
64
|
+
- Cursor style options, window opacity, and configurable scrollback
|
|
65
|
+
- Find bar for searching terminal output
|
|
66
|
+
|
|
67
|
+
## Git Integration
|
|
68
|
+
|
|
69
|
+
Built-in git sidebar with visual commit graph, file change tracking, and a Monaco-powered diff editor.
|
|
70
|
+
|
|
71
|
+

|
|
72
|
+
|
|
73
|
+
Click any changed file to open a full diff view:
|
|
74
|
+
|
|
75
|
+

|
|
76
|
+
|
|
77
|
+
## Sandbox Mode
|
|
78
|
+
|
|
79
|
+
Choose between standard and sandboxed terminal sessions at launch. Sandbox mode restricts filesystem and network access so Claude can only touch what you allow.
|
|
80
|
+
|
|
81
|
+

|
|
82
|
+
|
|
83
|
+
See [docs/sandbox.md](./docs/sandbox.md) for configuration details.
|
|
84
|
+
|
|
85
|
+
## Developer Tools
|
|
86
|
+
|
|
87
|
+
- Monaco code editor integration
|
|
88
|
+
- Terminal session recording ([asciicast format](./docs/recording.md))
|
|
89
|
+
- Cross-platform: macOS, Linux
|
|
90
|
+
|
|
91
|
+
## MCP Integration
|
|
92
|
+
|
|
93
|
+
The desktop app runs a built-in MCP server on a Unix socket, giving Claude Code direct access to your terminal session.
|
|
94
|
+
|
|
95
|
+
Add to your Claude Code MCP settings:
|
|
96
|
+
|
|
97
|
+
```json
|
|
98
|
+
{
|
|
99
|
+
"mcpServers": {
|
|
100
|
+
"terminal": {
|
|
101
|
+
"command": "brosh"
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
| Tool | Description |
|
|
108
|
+
|------|-------------|
|
|
109
|
+
| `type` | Send text input to the terminal |
|
|
110
|
+
| `sendKey` | Send special keys and key combinations |
|
|
111
|
+
| `getContent` | Retrieve terminal buffer content |
|
|
112
|
+
| `takeScreenshot` | Capture terminal state with metadata |
|
|
113
|
+
| `startRecording` | Start recording terminal output |
|
|
114
|
+
| `stopRecording` | Stop recording and save file |
|
|
115
|
+
|
|
116
|
+
See [docs/tools.md](./docs/tools.md) for the full API reference.
|
|
117
|
+
|
|
118
|
+
## Keyboard Shortcuts
|
|
119
|
+
|
|
120
|
+
| Shortcut | Action |
|
|
121
|
+
|----------|--------|
|
|
122
|
+
| <kbd>Cmd</kbd>+<kbd>T</kbd> | New tab |
|
|
123
|
+
| <kbd>Cmd</kbd>+<kbd>N</kbd> | New window |
|
|
124
|
+
| <kbd>Cmd</kbd>+<kbd>W</kbd> | Close tab |
|
|
125
|
+
| <kbd>Cmd</kbd>+<kbd>D</kbd> | Split pane vertically |
|
|
126
|
+
| <kbd>Cmd</kbd>+<kbd>Shift</kbd>+<kbd>D</kbd> | Split pane horizontally |
|
|
127
|
+
| <kbd>Cmd</kbd>+<kbd>Shift</kbd>+<kbd>G</kbd> | Toggle git sidebar |
|
|
128
|
+
| <kbd>Cmd</kbd>+<kbd>F</kbd> | Find in terminal |
|
|
129
|
+
| <kbd>Cmd</kbd>+<kbd>,</kbd> | Settings |
|
|
130
|
+
|
|
131
|
+
## CLI Mode
|
|
132
|
+
|
|
133
|
+
brosh also works as a standalone CLI terminal and MCP server without the desktop app:
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
brosh # Interactive mode -- shell + MCP server on Unix socket
|
|
137
|
+
brosh --sandbox # With filesystem/network restrictions
|
|
138
|
+
brosh --record # With session recording
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
See the [docs/](./docs/) folder for CLI flags, recording, and sandbox configuration.
|
|
142
|
+
|
|
143
|
+
## Development
|
|
144
|
+
|
|
145
|
+
```bash
|
|
146
|
+
# Core library
|
|
147
|
+
npm install && npm run build
|
|
148
|
+
|
|
149
|
+
# Desktop app
|
|
150
|
+
cd packages/desktop-electron
|
|
151
|
+
npm run dev # Dev mode with hot-reload
|
|
152
|
+
npm run package # Build distributable
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
### Linux: Sandbox binaries
|
|
156
|
+
|
|
157
|
+
The desktop app bundles statically-compiled `socat` and `bwrap` (bubblewrap) so sandbox mode works out of the box on any Linux distro. The binaries are built automatically during `npm run package` (via `prepackage`). You just need the build tools installed:
|
|
158
|
+
|
|
159
|
+
```bash
|
|
160
|
+
# One-time setup (Linux only)
|
|
161
|
+
sudo apt-get install -y meson ninja-build pkg-config libcap-dev
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
The script fetches the latest source releases from upstream, compiles static binaries, and places them in `resources/bin/`. On macOS the step is a no-op. You can also run it manually with `npm run prepare-sandbox-bins`.
|
|
165
|
+
|
|
166
|
+
## Documentation
|
|
167
|
+
|
|
168
|
+
- [Overview](./docs/index.md) -- [Installation](./docs/installation.md) -- [Architecture](./docs/architecture.md)
|
|
169
|
+
- [Tools Reference](./docs/tools.md) -- [Configuration](./docs/configuration.md) -- [Examples](./docs/examples.md)
|
|
170
|
+
- [Recording](./docs/recording.md) -- [Sandbox Mode](./docs/sandbox.md)
|
|
171
|
+
|
|
172
|
+
## Requirements
|
|
173
|
+
|
|
174
|
+
- **Desktop App**: macOS 10.15+, Linux
|
|
175
|
+
- **CLI**: Node.js 18+
|
|
176
|
+
|
|
177
|
+
## License
|
|
178
|
+
|
|
179
|
+
MIT
|
|
180
|
+
|
|
181
|
+
The Linux desktop build bundles [socat](http://www.dest-unreach.org/socat/) (GPL-2.0) and [bubblewrap](https://github.com/containers/bubblewrap) (LGPL-2.1) as standalone executables for sandbox support. See [`packages/desktop-electron/THIRD-PARTY-NOTICES`](packages/desktop-electron/THIRD-PARTY-NOTICES) for full license texts.
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg width="366" height="366" viewBox="0 0 366 366" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path d="M212.514 311.615C204.654 296.708 182.5 244.104 182.5 124.538V123.007L195.545 131.706C205.913 138.608 214.413 147.972 220.288 158.962C226.162 169.952 229.229 182.227 229.214 194.692H252.571C252.585 178.38 248.569 162.318 240.881 147.936C233.193 133.554 222.072 121.299 208.508 112.262L191.878 101.154H209.746C227.429 101.187 244.63 106.928 258.796 117.523L280.6 133.892L294.614 115.185L272.81 98.8154C254.593 85.1992 232.48 77.8195 209.746 77.7692H195.545C210.8 62.8567 231.251 54.4705 252.571 54.3846H275.929V31H252.571C236.882 31.0626 221.404 34.6254 207.263 41.4293C193.121 48.2332 180.672 58.1071 170.821 70.3329C160.97 58.1071 148.522 48.2332 134.38 41.4293C120.239 34.6254 104.761 31.0626 89.0714 31H65.7143V54.3846H89.0714C110.392 54.4705 130.843 62.8567 146.098 77.7692H131.897C109.163 77.8195 87.0497 85.1992 68.8325 98.8154L47.0286 115.185L61.0429 133.892L82.8468 117.523C97.0131 106.928 114.214 101.187 131.897 101.154H149.765L133.146 112.262C119.58 121.297 108.457 133.552 100.767 147.934C93.077 162.316 89.0592 178.379 89.0714 194.692H112.429C112.414 182.227 115.48 169.952 121.355 158.962C127.23 147.972 135.73 138.608 146.098 131.706L159.143 123.018V124.538C159.143 229.114 175.633 285.483 186.716 311.615H19V335H346V311.615H212.514Z" fill="#FFCE27"/>
|
|
3
|
+
</svg>
|