@agentikos/omega-os 0.19.45 → 0.19.47
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/bootstrap/lib/steps.sh +43 -0
- package/omega/Agentik_Engine/omega_engine/__init__.py +1 -1
- package/omega/Agentik_Engine/omega_engine/__pycache__/__init__.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/__pycache__/tmux.cpython-313.pyc +0 -0
- package/omega/Agentik_Engine/omega_engine/tmux.py +14 -2
- package/omega/Agentik_Engine/pyproject.toml +1 -1
- package/omega/Agentik_SSOT/VERSION +1 -1
- package/package.json +1 -1
package/bootstrap/lib/steps.sh
CHANGED
|
@@ -1037,7 +1037,50 @@ PY
|
|
|
1037
1037
|
# Selection comes from the manifest's `claude_plugins:` list (headless) or a
|
|
1038
1038
|
# whiptail checklist (interactive). Failures on individual plugins are
|
|
1039
1039
|
# recorded but do not abort the step — Claude plugins are nice-to-have.
|
|
1040
|
+
_disable_broken_claude_plugins() {
|
|
1041
|
+
# v0.19.46 — detect + neutralize known-broken Claude Code plugins
|
|
1042
|
+
# before any `claude` session is spawned (AISB-chat, Hermès-chat,
|
|
1043
|
+
# auto-launch menu, etc.). Without this, broken plugins fire their
|
|
1044
|
+
# SessionStart hook on every claude invocation and pollute the TUI
|
|
1045
|
+
# with ugly stack traces.
|
|
1046
|
+
#
|
|
1047
|
+
# Currently neutralized:
|
|
1048
|
+
# * thedotmack/claude-mem@13.x — imports `zod/v3` which zod 4
|
|
1049
|
+
# removed; the SessionStart hook crashes on every claude start.
|
|
1050
|
+
# Upstream issue (no fix as of 2026-05-26).
|
|
1051
|
+
local cache_dir="${HOME}/.claude/plugins/cache"
|
|
1052
|
+
[ -d "$cache_dir" ] || return 0
|
|
1053
|
+
local found=0
|
|
1054
|
+
# claude-mem: look for the broken worker-service.cjs path.
|
|
1055
|
+
local cm
|
|
1056
|
+
for cm in "$cache_dir"/thedotmack/claude-mem/*/; do
|
|
1057
|
+
[ -d "$cm" ] || continue
|
|
1058
|
+
if [ -f "$cm/scripts/worker-service.cjs" ]; then
|
|
1059
|
+
# Probe the broken `zod/v3` require — if grep finds it, plugin is
|
|
1060
|
+
# the broken upstream version.
|
|
1061
|
+
if grep -q "require.*zod/v3\|require.*['\"]zod/v3['\"]" \
|
|
1062
|
+
"$cm/scripts/worker-service.cjs" 2>/dev/null; then
|
|
1063
|
+
local disabled="${cm%/}.disabled-by-omegaos"
|
|
1064
|
+
if [ ! -d "$disabled" ]; then
|
|
1065
|
+
mv "$cm" "$disabled" 2>/dev/null \
|
|
1066
|
+
&& info " neutralized broken claude-mem at $(basename "$cm") (zod/v3 import bug)" \
|
|
1067
|
+
&& found=1
|
|
1068
|
+
fi
|
|
1069
|
+
fi
|
|
1070
|
+
fi
|
|
1071
|
+
done
|
|
1072
|
+
if [ "$found" = "1" ]; then
|
|
1073
|
+
info " → re-enable later: \`mv ${cache_dir}/thedotmack/claude-mem.*.disabled-by-omegaos ${cache_dir}/thedotmack/claude-mem/\`"
|
|
1074
|
+
fi
|
|
1075
|
+
return 0
|
|
1076
|
+
}
|
|
1077
|
+
|
|
1040
1078
|
step_claude_plugins() {
|
|
1079
|
+
# v0.19.46 — preflight: kill any known-broken plugins so the claude
|
|
1080
|
+
# commands we spawn later (and the user's interactive `claude` runs)
|
|
1081
|
+
# don't crash on hook startup.
|
|
1082
|
+
_disable_broken_claude_plugins
|
|
1083
|
+
|
|
1041
1084
|
local catalog="$OMEGA_HOME/Agentik_SSOT/claude-plugins/claude-plugins.yaml"
|
|
1042
1085
|
if [ ! -f "$catalog" ]; then
|
|
1043
1086
|
info "no Claude plugin catalog — skipping (step 20 should have deployed it)"
|
|
Binary file
|
|
Binary file
|
|
@@ -115,8 +115,17 @@ def _have_tmux() -> bool:
|
|
|
115
115
|
return shutil.which("tmux") is not None
|
|
116
116
|
|
|
117
117
|
|
|
118
|
-
def _tmux(*args: str, check: bool = False, timeout: int =
|
|
119
|
-
"""Run `tmux <args>` and return (exit, stdout).
|
|
118
|
+
def _tmux(*args: str, check: bool = False, timeout: int = 2) -> tuple[int, str]:
|
|
119
|
+
"""Run `tmux <args>` and return (exit, stdout).
|
|
120
|
+
|
|
121
|
+
v0.19.47 — timeout LOWERED from 15s → 2s. The TUI calls these
|
|
122
|
+
probes every menu render (list-sessions, list-windows, has-session)
|
|
123
|
+
and a hung tmux server (stale socket, zombie, slow disk) would
|
|
124
|
+
block the menu indefinitely until the user Ctrl-C'd. 2s is more
|
|
125
|
+
than enough for a healthy tmux client; on timeout we just return
|
|
126
|
+
"not available" and the menu renders with empty session lists
|
|
127
|
+
rather than hanging.
|
|
128
|
+
"""
|
|
120
129
|
if not _have_tmux():
|
|
121
130
|
return 1, ""
|
|
122
131
|
try:
|
|
@@ -124,6 +133,9 @@ def _tmux(*args: str, check: bool = False, timeout: int = 15) -> tuple[int, str]
|
|
|
124
133
|
["tmux", *args],
|
|
125
134
|
check=False, capture_output=True, text=True, timeout=timeout,
|
|
126
135
|
)
|
|
136
|
+
except subprocess.TimeoutExpired:
|
|
137
|
+
# Treat hung tmux as "not available" — don't block the caller.
|
|
138
|
+
return 1, ""
|
|
127
139
|
except (OSError, subprocess.SubprocessError) as exc:
|
|
128
140
|
return 1, str(exc)
|
|
129
141
|
out = (proc.stdout or "") + (proc.stderr or "")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
0.19.
|
|
1
|
+
0.19.47
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agentikos/omega-os",
|
|
3
|
-
"version": "0.19.
|
|
3
|
+
"version": "0.19.47",
|
|
4
4
|
"description": "Omega OS — installable agentic operating system with verified-completion orchestration. Event-sourced engine, 8-block rack, autonomous agents, MCP.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"omega-os": "bin/omega-os.js"
|