@litfamily/lithermes 1.0.7 → 1.0.8
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 +12 -12
- package/README_Ko-KR.md +12 -12
- package/assets/lithermes-plugin/diagnostics.py +23 -6
- package/assets/lithermes-plugin/payload-version.json +6 -6
- package/assets/lithermes-plugin/plugin.yaml +1 -1
- package/assets/lithermes-plugin/skills/frontend-ui-ux/references/complete-contract.md +2 -2
- package/assets/lithermes-plugin/skills/visual-qa/references/complete-contract.md +2 -2
- package/package.json +1 -1
- package/readme-assets/badge-version.svg +1 -1
package/README.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
<p align="center"><picture><source media="(prefers-reduced-motion: reduce)" srcset="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.
|
|
2
|
-
<p align="center"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.
|
|
1
|
+
<p align="center"><picture><source media="(prefers-reduced-motion: reduce)" srcset="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.8/readme-assets/cover-motion-still.webp" /><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.8/readme-assets/cover-motion.webp" width="100%" alt="LitHermes cover art. A lime signal moves through orbital paths above the HERMES AGENT wordmark; a still frame from this motion cover appears when reduced motion is preferred." /></picture></p>
|
|
2
|
+
<p align="center"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.8/readme-assets/cover.webp" width="100%" alt="Five armored robots, one for each LitFamily product, beneath the words KEEP THE WORK LIT." /></p>
|
|
3
3
|
|
|
4
|
-
<p align="center"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.
|
|
4
|
+
<p align="center"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.8/readme-assets/ascii-readme.svg" width="480" alt="LIT ASCII B mark" /></p>
|
|
5
5
|
|
|
6
6
|
<details>
|
|
7
7
|
<summary>Copy ASCII logo</summary>
|
|
@@ -31,19 +31,19 @@
|
|
|
31
31
|
|
|
32
32
|
</details>
|
|
33
33
|
|
|
34
|
-
<p align="center"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.
|
|
35
|
-
<p align="center"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.
|
|
34
|
+
<p align="center"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.8/readme-assets/lithermes-wordmark.svg" width="480" alt="LITHERMES display type" /></p>
|
|
35
|
+
<p align="center"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.8/readme-assets/lithermes-clay-icon.png" width="160" alt="LitHermes clay mark" /></p>
|
|
36
36
|
|
|
37
37
|
<p align="center">
|
|
38
|
-
<a href="#install"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.
|
|
39
|
-
<a href="https://github.com/wjgoarxiv/lithermes/blob/main/LICENSE"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.
|
|
38
|
+
<a href="#install"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.8/readme-assets/badge-version.svg" alt="1.0.8" /></a>
|
|
39
|
+
<a href="https://github.com/wjgoarxiv/lithermes/blob/main/LICENSE"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.8/readme-assets/badge-license.svg" alt="MIT license" /></a>
|
|
40
40
|
</p>
|
|
41
41
|
|
|
42
42
|
<p align="center">
|
|
43
|
-
<a href="https://github.com/wjgoarxiv/lithermes/blob/main/docs/guide.md"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.
|
|
43
|
+
<a href="https://github.com/wjgoarxiv/lithermes/blob/main/docs/guide.md"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.8/readme-assets/lucide-book-open.svg" width="16" alt="" /> Docs</a>
|
|
44
44
|
<a href="#install">Install</a>
|
|
45
|
-
<a href="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.
|
|
46
|
-
<a href="https://github.com/wjgoarxiv/lithermes/blob/main/LICENSE"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.
|
|
45
|
+
<a href="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.8/readme-assets/ignition-film.mp4"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.8/readme-assets/lucide-play.svg" width="16" alt="" /> Ignition</a>
|
|
46
|
+
<a href="https://github.com/wjgoarxiv/lithermes/blob/main/LICENSE"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.8/readme-assets/lucide-shield-check.svg" width="16" alt="" /> MIT</a>
|
|
47
47
|
</p>
|
|
48
48
|
|
|
49
49
|
# LitHermes
|
|
@@ -52,11 +52,11 @@
|
|
|
52
52
|
|
|
53
53
|
**What it is:** LitHermes connects planning, execution, review, and handoff inside **Hermes Agent**.
|
|
54
54
|
|
|
55
|
-
[한국어](https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.
|
|
55
|
+
[한국어](https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.8/README_Ko-KR.md) · [npm](https://www.npmjs.com/package/@litfamily/lithermes) · [GitHub](https://github.com/wjgoarxiv/lithermes)
|
|
56
56
|
|
|
57
57
|
## Install
|
|
58
58
|
|
|
59
|
-
Source version: `@litfamily/lithermes@1.0.
|
|
59
|
+
Source version: `@litfamily/lithermes@1.0.8`. Have Hermes Agent and Node.js 18+ installed, with write access to your Hermes home (normally `~/.hermes`).
|
|
60
60
|
|
|
61
61
|
The installer targets your Hermes home. For an isolated trial, set `HERMES_HOME` to a new empty directory before installation and use that same value when starting Hermes. Keep your existing home and settings. `--no-patch-installed-hermes` also prevents compatibility edits to the detected host installation outside that profile.
|
|
62
62
|
|
package/README_Ko-KR.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
<p align="center"><picture><source media="(prefers-reduced-motion: reduce)" srcset="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.
|
|
2
|
-
<p align="center"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.
|
|
1
|
+
<p align="center"><picture><source media="(prefers-reduced-motion: reduce)" srcset="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.8/readme-assets/cover-motion-still.webp" /><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.8/readme-assets/cover-motion.webp" width="100%" alt="LitHermes 표지. 라임색 신호가 궤도를 지나 HERMES AGENT 워드마크로 이어집니다. 모션을 줄이도록 설정하면 이 모션 표지에서 추출한 정지 프레임을 표시합니다." /></picture></p>
|
|
2
|
+
<p align="center"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.8/readme-assets/cover.webp" width="100%" alt="LitFamily 다섯 제품을 나타내는 장갑 로봇 패널과 KEEP THE WORK LIT. 문구" /></p>
|
|
3
3
|
|
|
4
|
-
<p align="center"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.
|
|
4
|
+
<p align="center"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.8/readme-assets/ascii-readme.svg" width="480" alt="LIT ASCII B 마크" /></p>
|
|
5
5
|
|
|
6
6
|
<details>
|
|
7
7
|
<summary>ASCII 로고 복사</summary>
|
|
@@ -31,19 +31,19 @@
|
|
|
31
31
|
|
|
32
32
|
</details>
|
|
33
33
|
|
|
34
|
-
<p align="center"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.
|
|
35
|
-
<p align="center"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.
|
|
34
|
+
<p align="center"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.8/readme-assets/lithermes-wordmark.svg" width="480" alt="LITHERMES 디스플레이 서체" /></p>
|
|
35
|
+
<p align="center"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.8/readme-assets/lithermes-clay-icon.png" width="160" alt="LitHermes 클레이 마크" /></p>
|
|
36
36
|
|
|
37
37
|
<p align="center">
|
|
38
|
-
<a href="#설치"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.
|
|
39
|
-
<a href="https://github.com/wjgoarxiv/lithermes/blob/main/LICENSE"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.
|
|
38
|
+
<a href="#설치"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.8/readme-assets/badge-version.svg" alt="1.0.8" /></a>
|
|
39
|
+
<a href="https://github.com/wjgoarxiv/lithermes/blob/main/LICENSE"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.8/readme-assets/badge-license.svg" alt="MIT license" /></a>
|
|
40
40
|
</p>
|
|
41
41
|
|
|
42
42
|
<p align="center">
|
|
43
|
-
<a href="https://github.com/wjgoarxiv/lithermes/blob/main/docs/guide.ko.md"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.
|
|
43
|
+
<a href="https://github.com/wjgoarxiv/lithermes/blob/main/docs/guide.ko.md"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.8/readme-assets/lucide-book-open.svg" width="16" alt="" /> 문서</a>
|
|
44
44
|
<a href="#설치">설치</a>
|
|
45
|
-
<a href="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.
|
|
46
|
-
<a href="https://github.com/wjgoarxiv/lithermes/blob/main/LICENSE"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.
|
|
45
|
+
<a href="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.8/readme-assets/ignition-film.mp4"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.8/readme-assets/lucide-play.svg" width="16" alt="" /> Ignition</a>
|
|
46
|
+
<a href="https://github.com/wjgoarxiv/lithermes/blob/main/LICENSE"><img src="https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.8/readme-assets/lucide-shield-check.svg" width="16" alt="" /> MIT</a>
|
|
47
47
|
</p>
|
|
48
48
|
|
|
49
49
|
# LitHermes
|
|
@@ -52,11 +52,11 @@
|
|
|
52
52
|
|
|
53
53
|
**무엇인가요:** LitHermes는 **Hermes Agent**에서 계획, 실행, 검토, 인계를 이어갑니다.
|
|
54
54
|
|
|
55
|
-
[English](https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.
|
|
55
|
+
[English](https://cdn.jsdelivr.net/npm/@litfamily/lithermes@1.0.8/README.md) · [npm](https://www.npmjs.com/package/@litfamily/lithermes) · [GitHub](https://github.com/wjgoarxiv/lithermes)
|
|
56
56
|
|
|
57
57
|
## 설치
|
|
58
58
|
|
|
59
|
-
소스 기준 버전은 `@litfamily/lithermes@1.0.
|
|
59
|
+
소스 기준 버전은 `@litfamily/lithermes@1.0.8`입니다. Hermes Agent와 Node.js 18+가 필요하며, Hermes 홈(기본 `~/.hermes`)에 쓰기 권한이 있어야 합니다.
|
|
60
60
|
|
|
61
61
|
설치기는 Hermes 홈을 대상으로 합니다. 별도 체험을 하려면 설치 전에 `HERMES_HOME`을 새 빈 디렉터리로 지정하고 Hermes를 시작할 때도 같은 값을 사용하세요. 기존 홈과 설정은 보관합니다. `--no-patch-installed-hermes`는 해당 프로필 밖에서 감지된 호스트 설치본에 호환성 패치를 적용하지 못하게 합니다.
|
|
62
62
|
|
|
@@ -171,14 +171,31 @@ def _host_config_path() -> Path:
|
|
|
171
171
|
return home / "config.yaml"
|
|
172
172
|
|
|
173
173
|
|
|
174
|
+
def _is_secret_looking_scalar(value: object) -> bool:
|
|
175
|
+
if not isinstance(value, str):
|
|
176
|
+
return False
|
|
177
|
+
trimmed = value.strip()
|
|
178
|
+
if not trimmed or re.fullmatch(r"(?:true|false|null)", trimmed, re.IGNORECASE):
|
|
179
|
+
return False
|
|
180
|
+
if re.fullmatch(r"[A-Z][A-Z0-9_]*", trimmed) and "_" in trimmed:
|
|
181
|
+
return False
|
|
182
|
+
if re.fullmatch(r"\$\{[A-Z][A-Z0-9_]*\}", trimmed):
|
|
183
|
+
return False
|
|
184
|
+
return not re.search(r"(?:^|[-_])(redacted|placeholder)(?:[-_]|$)", trimmed, re.IGNORECASE)
|
|
185
|
+
|
|
186
|
+
|
|
174
187
|
def _has_credential_key(value: object) -> bool:
|
|
175
188
|
if isinstance(value, dict):
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
)
|
|
180
|
-
|
|
181
|
-
|
|
189
|
+
for key, child in value.items():
|
|
190
|
+
normalized = re.sub(
|
|
191
|
+
r"([a-z0-9])([A-Z])", r"\1_\2", str(key or "")
|
|
192
|
+
).replace("-", "_")
|
|
193
|
+
if (
|
|
194
|
+
_CREDENTIAL_KEY_RE.search(normalized)
|
|
195
|
+
and _is_secret_looking_scalar(child)
|
|
196
|
+
) or _has_credential_key(child):
|
|
197
|
+
return True
|
|
198
|
+
return False
|
|
182
199
|
if isinstance(value, list):
|
|
183
200
|
return any(_has_credential_key(child) for child in value)
|
|
184
201
|
return False
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
|
-
"syncedAt": "2026-09-
|
|
2
|
+
"syncedAt": "2026-09-24T16:39:30.023Z",
|
|
3
3
|
"source": "bundled-payload",
|
|
4
|
-
"sourceHash": "
|
|
4
|
+
"sourceHash": "95a5f8d9b4057baaa3d73a74a48bc99d953dd8a31403b7b80126c1e98340c091",
|
|
5
5
|
"files": [
|
|
6
6
|
{
|
|
7
7
|
"path": "NOTICE.md",
|
|
@@ -85,7 +85,7 @@
|
|
|
85
85
|
},
|
|
86
86
|
{
|
|
87
87
|
"path": "diagnostics.py",
|
|
88
|
-
"sha256": "
|
|
88
|
+
"sha256": "fc4c902009704378e31fe511e7d85ad48474fc3198706417f90ac6eb2956b9e8"
|
|
89
89
|
},
|
|
90
90
|
{
|
|
91
91
|
"path": "handoff.py",
|
|
@@ -157,7 +157,7 @@
|
|
|
157
157
|
},
|
|
158
158
|
{
|
|
159
159
|
"path": "plugin.yaml",
|
|
160
|
-
"sha256": "
|
|
160
|
+
"sha256": "200f3ae31a7b4623a2a09f3a9fcb1af87e7638db16ddb19a6f64ef03e0864d04"
|
|
161
161
|
},
|
|
162
162
|
{
|
|
163
163
|
"path": "provider_metrics.py",
|
|
@@ -1245,7 +1245,7 @@
|
|
|
1245
1245
|
},
|
|
1246
1246
|
{
|
|
1247
1247
|
"path": "skills/frontend-ui-ux/references/complete-contract.md",
|
|
1248
|
-
"sha256": "
|
|
1248
|
+
"sha256": "50973cdab59eeea6bc699d1da32856ce20b810c56fcb3ceb14d09b387f4782d2"
|
|
1249
1249
|
},
|
|
1250
1250
|
{
|
|
1251
1251
|
"path": "skills/frontend-ui-ux/references/composition.md",
|
|
@@ -1969,7 +1969,7 @@
|
|
|
1969
1969
|
},
|
|
1970
1970
|
{
|
|
1971
1971
|
"path": "skills/visual-qa/references/complete-contract.md",
|
|
1972
|
-
"sha256": "
|
|
1972
|
+
"sha256": "6df5e613de62f49e3aa7d78251bcd916d2dea419a679598a0099a761d5f68fcd"
|
|
1973
1973
|
},
|
|
1974
1974
|
{
|
|
1975
1975
|
"path": "skills/visual-qa/schemas/evidence-manifest-v1alpha1.schema.json",
|
|
@@ -431,7 +431,7 @@ isolated Hermes home. Use `--hermes-home`; never `--home`.
|
|
|
431
431
|
|
|
432
432
|
```text
|
|
433
433
|
$ node packages/lithermes-installer/bin/lithermes.js install --yes --offline --no-hud --hermes-home "$ISOLATED"
|
|
434
|
-
Installed LitHermes 1.0.
|
|
434
|
+
Installed LitHermes 1.0.8
|
|
435
435
|
plugin: $ISOLATED/plugins/lithermes
|
|
436
436
|
model config: updated
|
|
437
437
|
|
|
@@ -448,7 +448,7 @@ installed payload: PASS
|
|
|
448
448
|
enabled config: PASS
|
|
449
449
|
|
|
450
450
|
$ hermes lithermes doctor
|
|
451
|
-
[OK] plugin.yaml readable (version 1.0.
|
|
451
|
+
[OK] plugin.yaml readable (version 1.0.8)
|
|
452
452
|
[OK] skills bundled: 32
|
|
453
453
|
[OK] litgoal durable runtime importable
|
|
454
454
|
```
|
|
@@ -485,7 +485,7 @@ isolated Hermes home. Use `--hermes-home`; never `--home`.
|
|
|
485
485
|
|
|
486
486
|
```text
|
|
487
487
|
$ node packages/lithermes-installer/bin/lithermes.js install --yes --offline --no-hud --hermes-home "$ISOLATED"
|
|
488
|
-
Installed LitHermes 1.0.
|
|
488
|
+
Installed LitHermes 1.0.8
|
|
489
489
|
plugin: $ISOLATED/plugins/lithermes
|
|
490
490
|
model config: updated
|
|
491
491
|
|
|
@@ -502,7 +502,7 @@ installed payload: PASS
|
|
|
502
502
|
enabled config: PASS
|
|
503
503
|
|
|
504
504
|
$ hermes lithermes doctor
|
|
505
|
-
[OK] plugin.yaml readable (version 1.0.
|
|
505
|
+
[OK] plugin.yaml readable (version 1.0.8)
|
|
506
506
|
[OK] skills bundled: 32
|
|
507
507
|
[OK] litgoal durable runtime importable
|
|
508
508
|
```
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="146" height="20" role="img" aria-label="release: 1.0.
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="146" height="20" role="img" aria-label="release: 1.0.8"><title>release: 1.0.8</title><g shape-rendering="crispEdges"><rect width="49" height="20" fill="#080d14"/><rect x="49" width="97" height="20" fill="#ff6337"/></g><g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="110"><text x="255" y="140" textLength="390" transform="scale(.1)">release</text><text x="965" y="140" textLength="870" transform="scale(.1)" fill="#080D14">1.0.8</text></g></svg>
|