@rynfar/meridian 1.73.0 → 1.74.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.
- package/README.md +119 -107
- package/assets/banner.svg +18 -43
- package/assets/how-it-works.svg +40 -86
- package/assets/providers/README.md +10 -0
- package/assets/providers/antigravity.png +0 -0
- package/assets/providers/claude.png +0 -0
- package/dist/antigravity-clients/opencode.js +173 -0
- package/dist/antigravity-clients/pi.js +21 -0
- package/dist/antigravitySetup-35pd5xqn.js +191 -0
- package/dist/{cli-p5zbk952.js → cli-fveyj34s.js} +18644 -7047
- package/dist/{cli-p9ca4p13.js → cli-wbsmhxcx.js} +12 -3
- package/dist/cli.js +68 -30
- package/dist/{pluginPage-3kxsrdpj.js → pluginPage-pp72d2j8.js} +1 -1
- package/dist/{profilePage-etxqg3vn.js → profilePage-vs319rvf.js} +1 -1
- package/dist/proxy/auth.d.ts +2 -0
- package/dist/proxy/auth.d.ts.map +1 -1
- package/dist/proxy/backends/antigravity.d.ts +8 -0
- package/dist/proxy/backends/antigravity.d.ts.map +1 -0
- package/dist/proxy/backends/antigravityAttachments.d.ts +16 -0
- package/dist/proxy/backends/antigravityAttachments.d.ts.map +1 -0
- package/dist/proxy/backends/antigravityGrammar.d.ts +12 -0
- package/dist/proxy/backends/antigravityGrammar.d.ts.map +1 -0
- package/dist/proxy/backends/antigravityJobs.d.ts +19 -0
- package/dist/proxy/backends/antigravityJobs.d.ts.map +1 -0
- package/dist/proxy/backends/antigravityMedia.d.ts +9 -0
- package/dist/proxy/backends/antigravityMedia.d.ts.map +1 -0
- package/dist/proxy/backends/antigravityNative.d.ts +8 -0
- package/dist/proxy/backends/antigravityNative.d.ts.map +1 -0
- package/dist/proxy/backends/antigravityOpenai.d.ts +9 -0
- package/dist/proxy/backends/antigravityOpenai.d.ts.map +1 -0
- package/dist/proxy/backends/antigravityOpenaiMedia.d.ts +9 -0
- package/dist/proxy/backends/antigravityOpenaiMedia.d.ts.map +1 -0
- package/dist/proxy/backends/antigravityPlugins.d.ts +41 -0
- package/dist/proxy/backends/antigravityPlugins.d.ts.map +1 -0
- package/dist/proxy/backends/antigravityProbe.d.ts +16 -0
- package/dist/proxy/backends/antigravityProbe.d.ts.map +1 -0
- package/dist/proxy/backends/antigravityProcess.d.ts +4 -0
- package/dist/proxy/backends/antigravityProcess.d.ts.map +1 -0
- package/dist/proxy/backends/antigravityProtocol.d.ts +582 -0
- package/dist/proxy/backends/antigravityProtocol.d.ts.map +1 -0
- package/dist/proxy/backends/antigravityReplay.d.ts +41 -0
- package/dist/proxy/backends/antigravityReplay.d.ts.map +1 -0
- package/dist/proxy/backends/antigravityResponses.d.ts +35 -0
- package/dist/proxy/backends/antigravityResponses.d.ts.map +1 -0
- package/dist/proxy/backends/antigravityRuntime.d.ts +189 -0
- package/dist/proxy/backends/antigravityRuntime.d.ts.map +1 -0
- package/dist/proxy/backends/antigravitySchema.d.ts +10 -0
- package/dist/proxy/backends/antigravitySchema.d.ts.map +1 -0
- package/dist/proxy/backends/antigravitySessions.d.ts +28 -0
- package/dist/proxy/backends/antigravitySessions.d.ts.map +1 -0
- package/dist/proxy/backends/antigravityState.d.ts +22 -0
- package/dist/proxy/backends/antigravityState.d.ts.map +1 -0
- package/dist/proxy/backends/antigravityStops.d.ts +10 -0
- package/dist/proxy/backends/antigravityStops.d.ts.map +1 -0
- package/dist/proxy/backends/antigravityTokens.d.ts +14 -0
- package/dist/proxy/backends/antigravityTokens.d.ts.map +1 -0
- package/dist/proxy/backends/antigravityUrl.d.ts +7 -0
- package/dist/proxy/backends/antigravityUrl.d.ts.map +1 -0
- package/dist/proxy/backends/providerStatus.d.ts +15 -0
- package/dist/proxy/backends/providerStatus.d.ts.map +1 -0
- package/dist/proxy/openai.d.ts +2 -0
- package/dist/proxy/openai.d.ts.map +1 -1
- package/dist/proxy/server.d.ts.map +1 -1
- package/dist/proxy/types.d.ts +32 -0
- package/dist/proxy/types.d.ts.map +1 -1
- package/dist/server.js +2 -2
- package/dist/telemetry/profileBar.d.ts +3 -3
- package/dist/telemetry/profileBar.d.ts.map +1 -1
- package/dist/telemetry/providerPage.d.ts +2 -0
- package/dist/telemetry/providerPage.d.ts.map +1 -0
- package/dist/telemetry/providerSetup.d.ts +5 -0
- package/dist/telemetry/providerSetup.d.ts.map +1 -0
- package/dist/telemetry/providerView.d.ts +45 -0
- package/dist/telemetry/providerView.d.ts.map +1 -0
- package/dist/telemetry/settingsPage.d.ts +1 -1
- package/dist/telemetry/settingsPage.d.ts.map +1 -1
- package/package.json +11 -4
package/README.md
CHANGED
|
@@ -1,74 +1,39 @@
|
|
|
1
1
|
<p align="center">
|
|
2
|
-
<img src="assets/banner.svg" alt="Meridian —
|
|
2
|
+
<img src="assets/banner.svg" alt="Meridian — Claude and Antigravity, in your tools." width="920" />
|
|
3
3
|
</p>
|
|
4
4
|
|
|
5
5
|
<p align="center">
|
|
6
|
-
<
|
|
7
|
-
</
|
|
8
|
-
|
|
9
|
-
<
|
|
10
|
-
<a href="https://github.com/rynfar/meridian/releases">Releases</a> ·
|
|
11
|
-
<a href="#get-started">Get started</a> ·
|
|
12
|
-
<a href="docs/agents.md">Connect your agent</a> ·
|
|
6
|
+
<a href="#quick-start">Quick start</a> ·
|
|
7
|
+
<a href="#try-antigravity">Try Antigravity</a> ·
|
|
8
|
+
<a href="#desktop">Desktop</a> ·
|
|
9
|
+
<a href="#documentation">Documentation</a> ·
|
|
13
10
|
<a href="https://discord.gg/jP2a2Z92NZ">Discord</a>
|
|
14
11
|
</p>
|
|
15
12
|
|
|
16
13
|
<p align="center">
|
|
17
14
|
<a href="https://www.npmjs.com/package/@rynfar/meridian"><img src="https://img.shields.io/npm/v/@rynfar/meridian?style=flat-square&color=58a6ff" alt="npm version" /></a>
|
|
18
|
-
<img src="https://img.shields.io/badge/
|
|
19
|
-
<img src="https://img.shields.io/badge/
|
|
20
|
-
<a href="https://opensource.org/license/mit"><img src="https://img.shields.io/badge/license-MIT-bc8cff?style=flat-square" alt="MIT license" /></a>
|
|
21
|
-
</p>
|
|
22
|
-
|
|
23
|
-
Meridian connects Anthropic- and OpenAI-compatible clients to Claude through the
|
|
24
|
-
Claude Agent SDK. Keep the editor or terminal you like, with streaming, persistent
|
|
25
|
-
sessions, account routing and visibility into usage and prompt caching.
|
|
26
|
-
|
|
27
|
-
**Now with an optional Mac app.** Manage Meridian versions, install plugins, find
|
|
28
|
-
failed requests and see your usage limits without keeping a terminal open.
|
|
29
|
-
Headless Meridian remains fully supported—npm, Docker, Nix and your existing
|
|
30
|
-
service manager all remain valid ways to run it.
|
|
31
|
-
|
|
32
|
-
## Meet Meridian Desktop
|
|
33
|
-
|
|
34
|
-
<p align="center">
|
|
35
|
-
<img src="assets/desktop-dashboard.jpg" alt="Meridian Desktop overview showing usage limits, cache activity and recent requests. Sample data." width="1000" />
|
|
15
|
+
<a href="docs/antigravity.md"><img src="https://img.shields.io/badge/Antigravity-preview-bc8cff?style=flat-square" alt="Antigravity: preview" /></a>
|
|
16
|
+
<a href="https://opensource.org/license/mit"><img src="https://img.shields.io/badge/license-MIT-58a6ff?style=flat-square" alt="MIT license" /></a>
|
|
36
17
|
</p>
|
|
37
18
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
| --- | --- |
|
|
42
|
-
| **Usage & limits** — account quota windows, reset times and token activity. | **Versions** — install published Meridian releases, switch versions and roll back. |
|
|
43
|
-
| **Requests & cache** — timing, failures, cache history and request details. | **Service** — start, stop, restart and recover an app-managed installation. |
|
|
44
|
-
| **Logs & alerts** — searchable diagnostics and opt-in failure, cache and quota notifications. | **Plugins** — install and update the Pi, OpenCode, Hermes and OpenClaw scrub plugins. |
|
|
45
|
-
|
|
46
|
-
Native macOS chrome, menu bar controls and Liquid Glass on supported Macs through
|
|
47
|
-
[electron-liquid-glass](https://github.com/Meridius-Labs/electron-liquid-glass).
|
|
48
|
-
The desktop preview targets **macOS on Apple Silicon**. Linux and Windows desktop
|
|
49
|
-
apps are planned; their runtime support is not ready yet.
|
|
50
|
-
|
|
51
|
-
## Get started
|
|
19
|
+
Meridian connects coding clients to **Claude and Antigravity using your subscription**.
|
|
20
|
+
Run Pi, OpenCode or another supported client against a local API, and manage
|
|
21
|
+
providers, requests and usage from a browser or the optional Mac app.
|
|
52
22
|
|
|
53
|
-
|
|
23
|
+
Claude requests run through Anthropic’s Agent SDK. Antigravity requests run
|
|
24
|
+
through Google’s official, signed-in `agy` CLI. Account permissions, model
|
|
25
|
+
availability and subscription limits still apply.
|
|
54
26
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
27
|
+
| <img src="assets/providers/claude.png" width="40" alt="Claude logo" /><br>Claude | <img src="assets/providers/antigravity.png" width="40" alt="Antigravity logo" /><br>Antigravity |
|
|
28
|
+
| :--- | :--- |
|
|
29
|
+
| **Released** · Claude Agent SDK | **Preview · v1.74.0+** · Official `agy` CLI |
|
|
30
|
+
| Persistent sessions, prompt caching and multiple account profiles | Streaming, client tools, conversation reuse and saved-answer recovery |
|
|
31
|
+
| [Client compatibility and setup](docs/agents.md) | [Pi and OpenCode setup](docs/antigravity.md) |
|
|
32
|
+
| Headless macOS, Linux and Windows | Authenticated acceptance on macOS arm64; Linux/Windows verification unfinished |
|
|
59
33
|
|
|
60
|
-
|
|
61
|
-
2. For a new installation, choose app management in **Service** and start it.
|
|
62
|
-
3. Sign in to a Claude account, then follow your [agent’s setup guide](docs/agents.md).
|
|
34
|
+
## Quick start
|
|
63
35
|
|
|
64
|
-
|
|
65
|
-
port. Their package manager retains control of updates and lifecycle. Supported
|
|
66
|
-
macOS LaunchAgents can be handed to the app and returned to headless operation.
|
|
67
|
-
[How service ownership works →](apps/desktop/README.md#connect-to-an-existing-installation)
|
|
68
|
-
|
|
69
|
-
### Headless, as always
|
|
70
|
-
|
|
71
|
-
Requires Node.js 22 or newer and a Claude account configured for the SDK.
|
|
36
|
+
For the released **Claude** backend, install [Node.js 22+](https://nodejs.org/), then:
|
|
72
37
|
|
|
73
38
|
```sh
|
|
74
39
|
npm install -g @rynfar/meridian
|
|
@@ -76,75 +41,122 @@ claude login
|
|
|
76
41
|
meridian
|
|
77
42
|
```
|
|
78
43
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
[
|
|
44
|
+
Open `http://127.0.0.1:3456`. For OpenCode V1, run `meridian setup` and restart
|
|
45
|
+
OpenCode. For Pi and other clients, follow the [client setup guide](docs/agents.md).
|
|
46
|
+
See [configuration](docs/configuration.md) for API-key protection and Windows
|
|
47
|
+
setup, or [deployment](docs/deployment.md) for Docker and Nix.
|
|
48
|
+
|
|
49
|
+
## Try Antigravity
|
|
50
|
+
|
|
51
|
+
**Antigravity is included in Meridian 1.74.0 and later as a preview.**
|
|
52
|
+
The verified setup uses **agy 1.2.7**, **Pi 0.72.1** or **OpenCode V1 1.18.31**,
|
|
53
|
+
and macOS on Apple Silicon. Other versions need their own verification.
|
|
54
|
+
|
|
55
|
+
Install Node.js 22+ and the
|
|
56
|
+
[official Antigravity CLI](https://antigravity.google/). Run `agy` to sign in with
|
|
57
|
+
your subscription account and disable paid overage credits in its settings.
|
|
58
|
+
Then install Meridian:
|
|
82
59
|
|
|
83
60
|
```sh
|
|
84
|
-
|
|
85
|
-
|
|
61
|
+
npm install -g @rynfar/meridian@1.74.0
|
|
62
|
+
|
|
63
|
+
MERIDIAN_BACKEND=antigravity \
|
|
64
|
+
MERIDIAN_AGY_ALLOW_TOOL_BRIDGE=1 \
|
|
65
|
+
MERIDIAN_AGY_STATE_PATH="$HOME/.local/state/meridian/antigravity.sqlite" \
|
|
66
|
+
MERIDIAN_PORT=3457 \
|
|
67
|
+
meridian
|
|
86
68
|
```
|
|
87
69
|
|
|
88
|
-
`
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
- **
|
|
100
|
-
|
|
101
|
-
- **
|
|
102
|
-
|
|
103
|
-
- **
|
|
104
|
-
|
|
105
|
-
- **
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
70
|
+
Open `http://127.0.0.1:3457/providers` and use **Connect Pi / OpenCode**, or follow
|
|
71
|
+
the [CLI setup instructions](docs/antigravity.md#configure-installed-clients).
|
|
72
|
+
For a source build, follow the [development guide](docs/development.md).
|
|
73
|
+
The tool bridge lets the client execute tools with its own permissions. The
|
|
74
|
+
SQLite path enables saved state across service restarts; it does not guarantee
|
|
75
|
+
recovery of an unfinished action.
|
|
76
|
+
|
|
77
|
+
### What works
|
|
78
|
+
|
|
79
|
+
- **The coding loop:** incremental text, client tools, parallel tool batches,
|
|
80
|
+
approvals, questions, cancellation and client-owned plugins/delegation.
|
|
81
|
+
- **Model and output selection:** available model/effort variants, forced tools
|
|
82
|
+
and validated structured output.
|
|
83
|
+
- **Client APIs:** Anthropic Messages, OpenAI Chat Completions and a documented
|
|
84
|
+
Responses subset.
|
|
85
|
+
- **Attachments:** images and public HTTPS image URLs; documents, speech and
|
|
86
|
+
video through local conversion. These are not native media APIs.
|
|
87
|
+
- **Continuity:** warm conversation reuse, eligible completed-session restoration,
|
|
88
|
+
history replay and bounded recovery of saved answers and tool IDs.
|
|
89
|
+
- **Provider management:** web and macOS setup, separate quota/status displays,
|
|
90
|
+
shared navigation and activity. Native browser/subagent access requires
|
|
91
|
+
separate explicit grants.
|
|
92
|
+
|
|
93
|
+
### What is unfinished
|
|
94
|
+
|
|
95
|
+
Active-task reattachment and automatic reconciliation of uncertain tool outcomes
|
|
96
|
+
are unfinished. Some provider-specific plugins, hosted-tool/file contracts and
|
|
97
|
+
client versions need adapters and acceptance tests. Authenticated Linux/Windows
|
|
98
|
+
verification is also outstanding.
|
|
99
|
+
|
|
100
|
+
The CLI does not expose exact output-token caps, numeric thinking budgets,
|
|
101
|
+
sampling controls or every native media/reasoning feature. Meridian cannot add
|
|
102
|
+
those guarantees through a wrapper. Upstream CLI failures can still interrupt a
|
|
103
|
+
turn. The [support and recovery checklist](docs/antigravity-support.md) records
|
|
104
|
+
what is missing, available workarounds and what would close each gap.
|
|
105
|
+
|
|
106
|
+
## Desktop
|
|
110
107
|
|
|
111
108
|
<p align="center">
|
|
112
|
-
<img src="assets/
|
|
109
|
+
<img src="assets/desktop-dashboard.jpg" alt="Meridian Desktop showing usage limits, cache activity and recent requests. Sample data." width="1000" />
|
|
113
110
|
</p>
|
|
111
|
+
<p align="center"><sub>macOS dashboard preview · Sample data</sub></p>
|
|
112
|
+
|
|
113
|
+
The optional Mac app manages the local service, versions, plugins and diagnostics.
|
|
114
|
+
Use **Providers** to navigate Claude and Antigravity; their accounts and quota
|
|
115
|
+
windows stay separate. Request history helps track failures and activity across
|
|
116
|
+
the service.
|
|
117
|
+
|
|
118
|
+
The desktop preview targets **macOS on Apple Silicon**. The first downloadable
|
|
119
|
+
release is being prepared; use the [source instructions](apps/desktop/README.md#run-locally)
|
|
120
|
+
in the meantime. To try Antigravity, connect the app to a Meridian 1.74.0+ service configured as shown above.
|
|
121
|
+
Older Meridian versions do not include Antigravity.
|
|
114
122
|
|
|
115
|
-
|
|
116
|
-
|
|
123
|
+
Headless use remains supported. The npm package does not install Electron;
|
|
124
|
+
Docker, Nix and existing service managers can run the same server.
|
|
117
125
|
|
|
118
|
-
##
|
|
126
|
+
## How it works
|
|
119
127
|
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
[tested-agent matrix](docs/agents.md#compatibility-at-a-glance) for evidence and
|
|
124
|
-
limitations. Prime Agent concurrent subagents remain unsuitable for unattended
|
|
125
|
-
or usage-sensitive work. Continue is unverified.
|
|
128
|
+
<p align="center">
|
|
129
|
+
<img src="assets/how-it-works.svg" alt="Pi, OpenCode and other supported clients connect to Meridian. Claude uses the Agent SDK; Antigravity uses the official agy CLI. Each provider uses its own signed-in account." width="920" />
|
|
130
|
+
</p>
|
|
126
131
|
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
132
|
+
Meridian translates supported client requests at the provider boundary. It keeps
|
|
133
|
+
Claude-specific account routing and cache behavior separate from Antigravity’s
|
|
134
|
+
CLI sessions and permissions. Antigravity generation stays on the signed-in CLI;
|
|
135
|
+
there is no Google API-key or model-SDK fallback.
|
|
130
136
|
|
|
131
137
|
## Documentation
|
|
132
138
|
|
|
133
|
-
|
|
|
139
|
+
| Guide | Contents |
|
|
134
140
|
| --- | --- |
|
|
135
|
-
| [
|
|
136
|
-
| [
|
|
137
|
-
| [
|
|
138
|
-
| [
|
|
141
|
+
| [Antigravity setup](docs/antigravity.md) | Models, client tools, attachments, permissions and setup |
|
|
142
|
+
| [Antigravity support & recovery](docs/antigravity-support.md) | Feature status, unfinished work and recovery limits |
|
|
143
|
+
| [Claude client setup](docs/agents.md) | Compatibility matrix and client configuration |
|
|
144
|
+
| [Desktop](apps/desktop/README.md) | Local preview, service ownership and platform status |
|
|
145
|
+
| [Configuration](docs/configuration.md) | CLI, environment variables and API-key protection |
|
|
146
|
+
| [Accounts & profiles](docs/profiles.md) | Claude sign-in, multiple accounts and routing |
|
|
139
147
|
| [Deployment](docs/deployment.md) | Docker, Nix and headless services |
|
|
140
148
|
| [Plugins](docs/plugins.md) | Official packages and plugin configuration |
|
|
141
149
|
| [Monitoring](MONITORING.md) | Usage, request diagnostics and prompt caching |
|
|
142
150
|
| [Development](docs/development.md) | Build, test and programmatic API |
|
|
143
|
-
| [
|
|
151
|
+
| [Live verification](E2E.md) | Tested versions, flows and known failures |
|
|
152
|
+
|
|
153
|
+
## Contributing
|
|
144
154
|
|
|
145
|
-
|
|
155
|
+
[Report an issue](https://github.com/rynfar/meridian/issues), open a PR or join
|
|
156
|
+
[Discord](https://discord.gg/jP2a2Z92NZ). Read [AGENTS.md](AGENTS.md),
|
|
157
|
+
[ARCHITECTURE.md](ARCHITECTURE.md) and [E2E.md](E2E.md) before changing behavior.
|
|
158
|
+
For Antigravity reports, include your OS, `agy` and client versions, the failing
|
|
159
|
+
flow and redacted diagnostics.
|
|
146
160
|
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
Read [AGENTS.md](AGENTS.md), [ARCHITECTURE.md](ARCHITECTURE.md) and
|
|
150
|
-
[E2E.md](E2E.md) before changing behavior. Meridian is [MIT licensed](https://opensource.org/license/mit).
|
|
161
|
+
Meridian is [MIT licensed](https://opensource.org/license/mit). Claude and Antigravity are trademarks of
|
|
162
|
+
their respective owners. [Provider asset credits](assets/providers/README.md).
|
package/assets/banner.svg
CHANGED
|
@@ -1,53 +1,28 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="1200" height="340" viewBox="0 0 1200 340" role="img" aria-labelledby="title desc">
|
|
2
|
+
<title id="title">Meridian</title>
|
|
3
|
+
<desc id="desc">Claude and Antigravity, in your tools.</desc>
|
|
2
4
|
<defs>
|
|
3
|
-
<linearGradient id="
|
|
4
|
-
<stop offset="0%" stop-color="#0d1117"/>
|
|
5
|
-
<stop offset="100%" stop-color="#161b22"/>
|
|
6
|
-
</linearGradient>
|
|
7
|
-
<linearGradient id="mGrad" x1="0" y1="0" x2="0" y2="190" gradientUnits="userSpaceOnUse">
|
|
5
|
+
<linearGradient id="brand" x1="0" y1="0" x2="0" y2="1">
|
|
8
6
|
<stop stop-color="#58a6ff"/>
|
|
9
7
|
<stop offset="1" stop-color="#bc8cff"/>
|
|
10
8
|
</linearGradient>
|
|
11
|
-
<radialGradient id="
|
|
12
|
-
<stop stop-color="#58a6ff" stop-opacity="
|
|
9
|
+
<radialGradient id="wash">
|
|
10
|
+
<stop stop-color="#58a6ff" stop-opacity=".12"/>
|
|
13
11
|
<stop offset="1" stop-color="#58a6ff" stop-opacity="0"/>
|
|
14
12
|
</radialGradient>
|
|
15
|
-
<radialGradient id="glowViolet" cx="0.85" cy="0.95" r="0.6">
|
|
16
|
-
<stop stop-color="#bc8cff" stop-opacity="0.10"/>
|
|
17
|
-
<stop offset="1" stop-color="#bc8cff" stop-opacity="0"/>
|
|
18
|
-
</radialGradient>
|
|
19
13
|
</defs>
|
|
20
|
-
|
|
21
|
-
<
|
|
22
|
-
<
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
<circle cx="100" cy="100" r="1.5"/><circle cx="200" cy="100" r="1.5"/><circle cx="300" cy="100" r="1.5"/>
|
|
29
|
-
<circle cx="100" cy="200" r="1.5"/><circle cx="200" cy="200" r="1.5"/><circle cx="300" cy="200" r="1.5"/>
|
|
30
|
-
<circle cx="100" cy="300" r="1.5"/><circle cx="200" cy="300" r="1.5"/><circle cx="300" cy="300" r="1.5"/>
|
|
31
|
-
<circle cx="900" cy="100" r="1.5"/><circle cx="1000" cy="100" r="1.5"/><circle cx="1100" cy="100" r="1.5"/>
|
|
32
|
-
<circle cx="900" cy="200" r="1.5"/><circle cx="1000" cy="200" r="1.5"/><circle cx="1100" cy="200" r="1.5"/>
|
|
33
|
-
<circle cx="900" cy="300" r="1.5"/><circle cx="1000" cy="300" r="1.5"/><circle cx="1100" cy="300" r="1.5"/>
|
|
14
|
+
<rect width="1200" height="340" rx="20" fill="#0d1117"/>
|
|
15
|
+
<ellipse cx="280" cy="70" rx="600" ry="340" fill="url(#wash)"/>
|
|
16
|
+
<g transform="translate(128 86) scale(.32)" fill="none" stroke="url(#brand)">
|
|
17
|
+
<circle cx="256" cy="256" r="200" stroke-width="28"/>
|
|
18
|
+
<ellipse cx="256" cy="256" rx="84" ry="200" stroke-width="20"/>
|
|
19
|
+
<path d="M56 256h400" stroke-width="16" opacity=".4"/>
|
|
20
|
+
<circle cx="256" cy="56" r="36" fill="#58a6ff" stroke="none"/>
|
|
21
|
+
<circle cx="256" cy="456" r="36" fill="#bc8cff" stroke="none"/>
|
|
34
22
|
</g>
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
<
|
|
39
|
-
<ellipse cx="95" cy="95" rx="31" ry="75" stroke="url(#mGrad)" stroke-width="7" opacity="0.8"/>
|
|
40
|
-
<path d="M20 95h150" stroke="url(#mGrad)" stroke-width="6" opacity="0.4"/>
|
|
41
|
-
<circle cx="95" cy="20" r="13" fill="#58a6ff"/>
|
|
42
|
-
<circle cx="95" cy="170" r="13" fill="#bc8cff"/>
|
|
23
|
+
<g font-family="-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif">
|
|
24
|
+
<text x="348" y="139" fill="#e6edf3" font-size="48" font-weight="700" letter-spacing="10">MERIDIAN</text>
|
|
25
|
+
<text x="348" y="195" fill="#e6edf3" font-size="30">Claude & Antigravity, in your tools.</text>
|
|
26
|
+
<text x="348" y="238" fill="#8b949e" font-size="20">Subscription-backed. Local API. Your client.</text>
|
|
43
27
|
</g>
|
|
44
|
-
|
|
45
|
-
<!-- Wordmark -->
|
|
46
|
-
<text x="600" y="195" font-family="Inter, -apple-system, 'SF Pro Display', 'Segoe UI', Helvetica, Arial, sans-serif" font-size="72" font-weight="700" fill="#e6edf3" letter-spacing="10">MERIDIAN</text>
|
|
47
|
-
|
|
48
|
-
<!-- Tagline -->
|
|
49
|
-
<text x="603" y="240" font-family="Inter, -apple-system, 'SF Pro Display', 'Segoe UI', Helvetica, Arial, sans-serif" font-size="17" font-weight="600" fill="#58a6ff" letter-spacing="3">HARNESS CLAUDE, YOUR WAY.</text>
|
|
50
|
-
|
|
51
|
-
<!-- Subtitle -->
|
|
52
|
-
<text x="603" y="278" font-family="Inter, -apple-system, 'SF Pro Display', 'Segoe UI', Helvetica, Arial, sans-serif" font-size="14" font-weight="300" fill="#8b949e">Local Anthropic API powered by the Claude Agent SDK</text>
|
|
53
28
|
</svg>
|
package/assets/how-it-works.svg
CHANGED
|
@@ -1,87 +1,41 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 920
|
|
2
|
-
<
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
<
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
<
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
<text class="box-sub" x="342" y="118" text-anchor="middle">localhost:3456</text>
|
|
42
|
-
<text class="box-detail" x="342" y="140" text-anchor="middle">Local proxy server</text>
|
|
43
|
-
<text class="box-detail" x="342" y="154" text-anchor="middle">Translates API calls</text>
|
|
44
|
-
<text class="box-detail" x="342" y="168" text-anchor="middle">to the Claude Agent SDK</text>
|
|
45
|
-
<text class="tag" x="342" y="192" text-anchor="middle">BRIDGES THE GAP</text>
|
|
46
|
-
|
|
47
|
-
<!-- ═══ ARROWS 2 ↔ 3 ═══ -->
|
|
48
|
-
<line x1="432" y1="122" x2="482" y2="122" stroke="#58a6ff" stroke-width="1.5"/>
|
|
49
|
-
<polygon points="480,118 488,122 480,126" fill="#58a6ff"/>
|
|
50
|
-
<text class="arrow-label" x="458" y="114">SDK call</text>
|
|
51
|
-
<line x1="482" y1="142" x2="432" y2="142" stroke="#484f58" stroke-width="1"/>
|
|
52
|
-
<polygon points="434,138 426,142 434,146" fill="#484f58"/>
|
|
53
|
-
<text class="arrow-label" x="458" y="162">result</text>
|
|
54
|
-
|
|
55
|
-
<!-- ═══ STEP 3: CLAUDE AGENT SDK ═══ -->
|
|
56
|
-
<rect x="496" y="64" width="172" height="140" rx="12" fill="#161b22" stroke="#30363d" stroke-width="1"/>
|
|
57
|
-
<rect x="508" y="54" width="18" height="18" rx="9" fill="#58a6ff"/>
|
|
58
|
-
<text class="step-num" x="517" y="67" text-anchor="middle" fill="#0d1117">3</text>
|
|
59
|
-
<text class="box-label" x="582" y="100" text-anchor="middle">Claude Agent SDK</text>
|
|
60
|
-
<text class="box-sub" x="582" y="118" text-anchor="middle">@anthropic-ai/claude-agent-sdk</text>
|
|
61
|
-
<text class="box-detail" x="582" y="140" text-anchor="middle">Official Anthropic SDK</text>
|
|
62
|
-
<text class="box-detail" x="582" y="154" text-anchor="middle">Handles auth + sessions</text>
|
|
63
|
-
<text class="tag" x="582" y="192" text-anchor="middle">ANTHROPIC'S OWN SDK</text>
|
|
64
|
-
|
|
65
|
-
<!-- ═══ ARROWS 3 ↔ 4 ═══ -->
|
|
66
|
-
<line x1="680" y1="122" x2="726" y2="122" stroke="#58a6ff" stroke-width="1.5"/>
|
|
67
|
-
<polygon points="724,118 732,122 724,126" fill="#58a6ff"/>
|
|
68
|
-
<text class="arrow-label" x="704" y="114">API call</text>
|
|
69
|
-
<line x1="726" y1="142" x2="680" y2="142" stroke="#484f58" stroke-width="1"/>
|
|
70
|
-
<polygon points="682,138 674,142 682,146" fill="#484f58"/>
|
|
71
|
-
<text class="arrow-label" x="704" y="162">stream</text>
|
|
72
|
-
|
|
73
|
-
<!-- ═══ STEP 4: CLAUDE ═══ -->
|
|
74
|
-
<rect x="740" y="64" width="140" height="140" rx="12" fill="#161b22" stroke="#30363d" stroke-width="1"/>
|
|
75
|
-
<rect x="752" y="54" width="18" height="18" rx="9" fill="#58a6ff"/>
|
|
76
|
-
<text class="step-num" x="761" y="67" text-anchor="middle" fill="#0d1117">4</text>
|
|
77
|
-
<text class="box-label" x="810" y="100" text-anchor="middle">Claude</text>
|
|
78
|
-
<text class="box-sub" x="810" y="118" text-anchor="middle">api.anthropic.com</text>
|
|
79
|
-
<text class="box-detail" x="810" y="140" text-anchor="middle">Fable, Opus, Sonnet</text>
|
|
80
|
-
<text class="box-detail" x="810" y="154" text-anchor="middle">Haiku, extended thinking</text>
|
|
81
|
-
<text class="tag" x="810" y="192" text-anchor="middle">YOUR SUBSCRIPTION</text>
|
|
82
|
-
|
|
83
|
-
<!-- ═══ BOTTOM ═══ -->
|
|
84
|
-
<line x1="60" y1="246" x2="860" y2="246" stroke="#30363d" stroke-width="1"/>
|
|
85
|
-
<text class="footer" x="460" y="274" text-anchor="middle">No API keys needed — authenticates through your existing Claude Code / Max subscription</text>
|
|
86
|
-
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="920" height="300" viewBox="0 0 920 300" role="img" aria-labelledby="title desc">
|
|
2
|
+
<title id="title">Two providers, one local bridge</title>
|
|
3
|
+
<desc id="desc">Clients connect to Meridian, which routes Claude through the Agent SDK and Antigravity through the official agy CLI.</desc>
|
|
4
|
+
<defs>
|
|
5
|
+
<marker id="arrow" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="6" markerHeight="6" orient="auto">
|
|
6
|
+
<path d="M0 0 10 5 0 10" fill="none" stroke="#8b949e"/>
|
|
7
|
+
</marker>
|
|
8
|
+
</defs>
|
|
9
|
+
<rect width="920" height="300" rx="16" fill="#0d1117"/>
|
|
10
|
+
<g fill="#161b22" stroke="#30363d">
|
|
11
|
+
<rect x="32" y="97" width="210" height="106" rx="12"/>
|
|
12
|
+
<rect x="304" y="97" width="214" height="106" rx="12"/>
|
|
13
|
+
<rect x="590" y="32" width="298" height="106" rx="12"/>
|
|
14
|
+
<rect x="590" y="162" width="298" height="106" rx="12"/>
|
|
15
|
+
</g>
|
|
16
|
+
<g fill="none" stroke="#8b949e" stroke-width="1.5" marker-end="url(#arrow)">
|
|
17
|
+
<path d="M242 150h57"/>
|
|
18
|
+
<path d="M518 150h31V85h36"/>
|
|
19
|
+
<path d="M549 150v65h36"/>
|
|
20
|
+
</g>
|
|
21
|
+
<g font-family="-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif" text-anchor="middle">
|
|
22
|
+
<g fill="#e6edf3" font-size="22" font-weight="600">
|
|
23
|
+
<text x="137" y="137">Your client</text>
|
|
24
|
+
<text x="411" y="137">Meridian</text>
|
|
25
|
+
<text x="739" y="68">Claude</text>
|
|
26
|
+
<text x="739" y="198">Antigravity</text>
|
|
27
|
+
</g>
|
|
28
|
+
<g fill="#8b949e" font-size="15">
|
|
29
|
+
<text x="137" y="164">Pi · OpenCode</text>
|
|
30
|
+
<text x="137" y="185">and supported clients</text>
|
|
31
|
+
<text x="411" y="164">Local API & dashboard</text>
|
|
32
|
+
<text x="411" y="185">Provider-aware routing</text>
|
|
33
|
+
<text x="739" y="119">Claude account</text>
|
|
34
|
+
<text x="739" y="249">Signed-in Google account</text>
|
|
35
|
+
</g>
|
|
36
|
+
<g fill="#bc8cff" font-size="16">
|
|
37
|
+
<text x="739" y="94">Official Agent SDK</text>
|
|
38
|
+
<text x="739" y="224">Official agy CLI</text>
|
|
39
|
+
</g>
|
|
40
|
+
</g>
|
|
87
41
|
</svg>
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# Provider marks
|
|
2
|
+
|
|
3
|
+
Original provider assets, downloaded September 20, 2026:
|
|
4
|
+
|
|
5
|
+
- [Claude app icon](https://claude.ai/images/claude_app_icon.png), Anthropic.
|
|
6
|
+
- [Antigravity full-color icon](https://antigravity.google/assets/image/brand/antigravity-icon__full-color.png), Google; [press assets](https://antigravity.google/press).
|
|
7
|
+
|
|
8
|
+
These marks identify the supported providers. They remain the property of their
|
|
9
|
+
respective owners and are not covered by Meridian’s MIT license. Meridian is an
|
|
10
|
+
independent project.
|
|
Binary file
|
|
Binary file
|