@agentikos/omega-os 0.19.8 → 0.19.9

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.
@@ -35,25 +35,41 @@ step_system_deps() {
35
35
 
36
36
  # PyYAML — required by every install-side helper that reads the manifest
37
37
  # or audit YAMLs (bootstrap/lib/llm-clis.py, manifest-helpers.py, audit
38
- # generator). apt/dnf already deliver it via the system package above;
39
- # brew on macOS does NOT, so we install it here with a fallback chain
40
- # robust to PEP-668 (externally-managed) macOS Pythons.
38
+ # generator). apt/dnf already deliver it via the system package above.
39
+ #
40
+ # macOS Tahoe / Sonoma ship externally-managed Pythons (PEP 668) AND
41
+ # often deny `pip install --user --break-system-packages` for security
42
+ # policy reasons. The 100% reliable path is a dedicated venv that we
43
+ # own, isolated from system Python rules.
44
+ #
45
+ # We prepend the venv's bin/ to PATH so every subsequent `python3 ...`
46
+ # call (37 sites across steps.sh) automatically uses this isolated
47
+ # Python WITHOUT touching the user's system Python or site-packages.
48
+ local installer_venv="$STATE_DIR/installer-venv"
41
49
  if ! python3 -c "import yaml" 2>/dev/null; then
42
- info "installing pyyaml (required by install helpers)"
43
- if python3 -m pip install --user --quiet pyyaml 2>>"$LOG_FILE"; then
44
- ok "pyyaml installed (--user)"
45
- elif python3 -m pip install --user --quiet --break-system-packages pyyaml 2>>"$LOG_FILE"; then
46
- ok "pyyaml installed (--user --break-system-packages macOS Tahoe path)"
47
- elif have pipx && pipx install pyyaml 2>>"$LOG_FILE"; then
48
- ok "pyyaml installed via pipx"
49
- else
50
- err "pyyaml install failed across all paths — see $LOG_FILE"
51
- err "manual fix: python3 -m pip install --user --break-system-packages pyyaml"
50
+ info "creating dedicated installer venv (PEP-668 / Tahoe-safe path)"
51
+ if [ ! -f "$installer_venv/bin/python3" ]; then
52
+ if ! python3 -m venv "$installer_venv" 2>>"$LOG_FILE"; then
53
+ err "python3 -m venv failed see $LOG_FILE"
54
+ err "manual fix: ensure 'ensurepip' is available in your python3"
55
+ return 1
56
+ fi
57
+ fi
58
+ if ! "$installer_venv/bin/pip" install --quiet pyyaml 2>>"$LOG_FILE"; then
59
+ err "pip install pyyaml inside venv failed see $LOG_FILE"
60
+ err "diagnose: $installer_venv/bin/pip install pyyaml"
52
61
  return 1
53
62
  fi
54
- # Sanity re-check
63
+ ok "installer venv ready: $installer_venv (python3 + pyyaml)"
64
+ fi
65
+ # PATH prepend — persists for the rest of install.sh because steps are
66
+ # called as bash functions in the SAME shell. We do this on every run,
67
+ # not only when we just created the venv, so a resumed install with a
68
+ # pre-existing venv still gets `python3 -c "import yaml"` resolving here.
69
+ if [ -x "$installer_venv/bin/python3" ]; then
70
+ export PATH="$installer_venv/bin:$PATH"
55
71
  if ! python3 -c "import yaml" 2>/dev/null; then
56
- err "pyyaml still not importable after install PATH issue?"
72
+ err "venv python3 on PATH but yaml not importable — corrupted venv?"
57
73
  return 1
58
74
  fi
59
75
  fi
package/install.sh CHANGED
@@ -86,6 +86,14 @@ STATE_FILE="$STATE_DIR/.install-state"
86
86
  LOG_FILE="$STATE_DIR/logs/install.log"
87
87
  mkdir -p "$STATE_DIR/logs"
88
88
 
89
+ # Installer-venv guard — if a previous run created the PEP-668-safe venv,
90
+ # prepend it to PATH NOW so subsequent steps that get skipped as
91
+ # "already done" (step 10) still pick up its python3 with pyyaml. Without
92
+ # this, a resumed install skips step 10 → step 15 hits "no module yaml".
93
+ if [ -x "$STATE_DIR/installer-venv/bin/python3" ]; then
94
+ export PATH="$STATE_DIR/installer-venv/bin:$PATH"
95
+ fi
96
+
89
97
  # Bundled version — used to detect state drift across upgrades. We read it
90
98
  # from the SSOT VERSION file shipped in the package, falling back to the
91
99
  # engine's pyproject.toml so a partially-installed system still works.
@@ -188,7 +188,7 @@ from omega_engine.genesis import (
188
188
  )
189
189
  from omega_engine import plan as plan_v7
190
190
 
191
- __version__ = "0.19.8"
191
+ __version__ = "0.19.9"
192
192
 
193
193
  __all__ = [
194
194
  "__version__",
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "omega-engine"
3
- version = "0.19.8"
3
+ version = "0.19.9"
4
4
  description = "The Omega OS orchestration engine — event-sourced, verified-completion agent graphs."
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.11"
@@ -1 +1 @@
1
- 0.19.8
1
+ 0.19.9
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentikos/omega-os",
3
- "version": "0.19.8",
3
+ "version": "0.19.9",
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"