@elvatis_com/openclaw-cli-bridge-elvatis 0.2.11 → 0.2.13
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/.ai/handoff/CONVENTIONS.md +40 -1
- package/.ai/handoff/STATUS.md +3 -3
- package/README.md +8 -2
- package/SKILL.md +1 -1
- package/index.ts +4 -4
- package/openclaw.plugin.json +1 -1
- package/package.json +1 -1
|
@@ -30,7 +30,17 @@ package.json / tsconfig.json
|
|
|
30
30
|
### Before release
|
|
31
31
|
1. `npm run typecheck` — must pass
|
|
32
32
|
2. `npm test` — all tests must pass
|
|
33
|
-
3. Bump version in
|
|
33
|
+
3. Bump version in ALL of these (grep to find all occurrences first!):
|
|
34
|
+
- `package.json`
|
|
35
|
+
- `openclaw.plugin.json`
|
|
36
|
+
- `README.md` → `**Current version:** \`X.Y.Z\``
|
|
37
|
+
- `SKILL.md` → `**Version:** X.Y.Z` (at the bottom)
|
|
38
|
+
- `.ai/handoff/STATUS.md` → header line + npm/ClawHub lines
|
|
39
|
+
- Add changelog entry for new version in `README.md`
|
|
40
|
+
```bash
|
|
41
|
+
grep -rn "X\.Y\.Z\|Current version\|Version:" \
|
|
42
|
+
--include="*.md" --include="*.json" --exclude-dir=node_modules --exclude-dir=dist --exclude-dir=.git
|
|
43
|
+
```
|
|
34
44
|
|
|
35
45
|
### Publish (all three platforms, no exceptions)
|
|
36
46
|
4. `git tag vX.Y.Z && git push origin main && git push origin vX.Y.Z`
|
|
@@ -60,3 +70,32 @@ package.json / tsconfig.json
|
|
|
60
70
|
- `SKILL.md` — if commands or config changed
|
|
61
71
|
|
|
62
72
|
Skipping documentation = incomplete release. No exceptions.
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## 🚨 Release-Regel: Erst fertig, dann publishen (gilt für ALLE Plattformen)
|
|
77
|
+
|
|
78
|
+
**IMMER erst alles fertigstellen, danach publishen. Kein einziger Commit mehr dazwischen.**
|
|
79
|
+
Gilt für GitHub, npm, ClawHub, PyPI — egal ob ein Projekt auf einer oder mehreren Plattformen ist.
|
|
80
|
+
Sonst divergieren die Tarballs/Releases zwangsläufig.
|
|
81
|
+
|
|
82
|
+
### Reihenfolge (nie abweichen)
|
|
83
|
+
1. Alle Änderungen + Versionsbumps in **einem einzigen Commit** abschließen
|
|
84
|
+
2. `git push` → Plattform 1 (z.B. GitHub)
|
|
85
|
+
3. `npm publish` / `clawhub publish` / etc. — alle weiteren Plattformen
|
|
86
|
+
4. Kein weiterer Commit bis zum nächsten Release (außer reine interne Doku)
|
|
87
|
+
|
|
88
|
+
### Vor jedem Release: Alle Versionsstellen prüfen
|
|
89
|
+
```bash
|
|
90
|
+
grep -rn "X\.Y\.Z\|Current version\|Version:" \
|
|
91
|
+
--include="*.md" --include="*.json" \
|
|
92
|
+
--exclude-dir=node_modules --exclude-dir=dist --exclude-dir=.git
|
|
93
|
+
```
|
|
94
|
+
Typische vergessene Stellen: `README.md` Header, `SKILL.md` Footer, `package.json`,
|
|
95
|
+
`openclaw.plugin.json`, `.ai/handoff/STATUS.md` (Header + Plattform-Zeilen), Changelog-Eintrag.
|
|
96
|
+
|
|
97
|
+
### Secrets & private Pfade — NIEMALS in Repos
|
|
98
|
+
- Keine API Keys, Tokens, Passwörter, Secrets in Code oder Docs
|
|
99
|
+
- Keine absoluten lokalen Pfade (`/home/user/...`) in publizierten Dateien
|
|
100
|
+
- Keine `.env`-Dateien committen — immer in `.gitignore`
|
|
101
|
+
- Vor jedem Push: `git diff --staged` auf Secrets prüfen
|
package/.ai/handoff/STATUS.md
CHANGED
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
_Last updated: 2026-03-07 by Akido (claude-sonnet-4-6)_
|
|
4
4
|
|
|
5
|
-
## Current Version: 0.2.
|
|
5
|
+
## Current Version: 0.2.13 — STABLE
|
|
6
6
|
|
|
7
7
|
## What is done
|
|
8
8
|
|
|
9
9
|
- ✅ Repo: `https://github.com/elvatis/openclaw-cli-bridge-elvatis`
|
|
10
|
-
- ✅ npm: `@elvatis_com/openclaw-cli-bridge-elvatis@0.2.
|
|
11
|
-
- ✅ ClawHub: `openclaw-cli-bridge-elvatis@0.2.
|
|
10
|
+
- ✅ npm: `@elvatis_com/openclaw-cli-bridge-elvatis@0.2.13`
|
|
11
|
+
- ✅ ClawHub: `openclaw-cli-bridge-elvatis@0.2.13`
|
|
12
12
|
- ✅ Phase 1: `openai-codex` provider via `~/.codex/auth.json` (no re-login)
|
|
13
13
|
- ✅ Phase 2: Local OpenAI-compatible proxy on `127.0.0.1:31337` (Gemini + Claude CLI)
|
|
14
14
|
- ✅ Phase 3: 10 slash commands (`/cli-sonnet`, `/cli-opus`, `/cli-haiku`, `/cli-gemini`, `/cli-gemini-flash`, `/cli-gemini3`, `/cli-codex`, `/cli-codex-mini`, `/cli-back`, `/cli-test`)
|
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
> OpenClaw plugin that bridges locally installed AI CLIs (Codex, Gemini, Claude Code) as model providers — with slash commands for instant model switching, restore, and health testing.
|
|
4
4
|
|
|
5
|
-
**Current version:** `0.2.
|
|
5
|
+
**Current version:** `0.2.13`
|
|
6
6
|
|
|
7
7
|
---
|
|
8
8
|
|
|
@@ -234,8 +234,14 @@ npm test # vitest run (5 unit tests for formatPrompt)
|
|
|
234
234
|
|
|
235
235
|
## Changelog
|
|
236
236
|
|
|
237
|
+
### v0.2.13
|
|
238
|
+
- **docs:** Fix changelog (v0.2.10 entry was lost by sed, v0.2.11 description was wrong); enforce single-commit publish discipline
|
|
239
|
+
|
|
237
240
|
### v0.2.11
|
|
238
|
-
- **docs:** Fix
|
|
241
|
+
- **docs:** Fix README `Current version` header (was stuck at 0.2.9 after 0.2.10 bump)
|
|
242
|
+
|
|
243
|
+
### v0.2.10
|
|
244
|
+
- **docs:** Fix version labels — SKILL.md was showing 0.2.2, README changelog ended at v0.2.5; add entries for v0.2.6–v0.2.9
|
|
239
245
|
|
|
240
246
|
### v0.2.9
|
|
241
247
|
- **fix:** Critical — replace `fuser -k 31337/tcp` with safe health probe (`GET /v1/models`)
|
package/SKILL.md
CHANGED
package/index.ts
CHANGED
|
@@ -277,7 +277,7 @@ function proxyTestRequest(
|
|
|
277
277
|
const plugin = {
|
|
278
278
|
id: "openclaw-cli-bridge-elvatis",
|
|
279
279
|
name: "OpenClaw CLI Bridge",
|
|
280
|
-
version: "0.2.
|
|
280
|
+
version: "0.2.13",
|
|
281
281
|
description:
|
|
282
282
|
"Phase 1: openai-codex auth bridge. " +
|
|
283
283
|
"Phase 2: HTTP proxy for gemini/claude CLIs. " +
|
|
@@ -458,7 +458,7 @@ const plugin = {
|
|
|
458
458
|
api.registerCommand({
|
|
459
459
|
name,
|
|
460
460
|
description,
|
|
461
|
-
requireAuth:
|
|
461
|
+
requireAuth: false,
|
|
462
462
|
handler: async (ctx: PluginCommandContext): Promise<PluginCommandResult> => {
|
|
463
463
|
api.logger.info(`[cli-bridge] /${name} by ${ctx.senderId ?? "?"}`);
|
|
464
464
|
return switchModel(api, model, label);
|
|
@@ -470,7 +470,7 @@ const plugin = {
|
|
|
470
470
|
api.registerCommand({
|
|
471
471
|
name: "cli-back",
|
|
472
472
|
description: "Restore the model that was active before the last /cli-* switch",
|
|
473
|
-
requireAuth:
|
|
473
|
+
requireAuth: false,
|
|
474
474
|
handler: async (ctx: PluginCommandContext): Promise<PluginCommandResult> => {
|
|
475
475
|
api.logger.info(`[cli-bridge] /cli-back by ${ctx.senderId ?? "?"}`);
|
|
476
476
|
|
|
@@ -508,7 +508,7 @@ const plugin = {
|
|
|
508
508
|
name: "cli-test",
|
|
509
509
|
description: "Test the CLI bridge proxy without switching your active model. Usage: /cli-test [model]",
|
|
510
510
|
acceptsArgs: true,
|
|
511
|
-
requireAuth:
|
|
511
|
+
requireAuth: false,
|
|
512
512
|
handler: async (ctx: PluginCommandContext): Promise<PluginCommandResult> => {
|
|
513
513
|
const targetModel = ctx.args?.trim() || CLI_TEST_DEFAULT_MODEL;
|
|
514
514
|
// Accept short names like "cli-sonnet" or full "vllm/cli-claude/claude-sonnet-4-6"
|
package/openclaw.plugin.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"id": "openclaw-cli-bridge-elvatis",
|
|
3
3
|
"name": "OpenClaw CLI Bridge",
|
|
4
|
-
"version": "0.2.
|
|
4
|
+
"version": "0.2.13",
|
|
5
5
|
"description": "Phase 1: openai-codex auth bridge. Phase 2: local HTTP proxy routing model calls through gemini/claude CLIs (vllm provider).",
|
|
6
6
|
"providers": [
|
|
7
7
|
"openai-codex"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elvatis_com/openclaw-cli-bridge-elvatis",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.13",
|
|
4
4
|
"description": "Bridges gemini, claude, and codex CLI tools as OpenClaw model providers. Reads existing CLI auth without re-login.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"openclaw": {
|