vibeostheog 0.25.15 → 0.25.18

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/CHANGELOG.md CHANGED
@@ -1,3 +1,16 @@
1
+ ## 0.25.18
2
+ - fix: install vibeOS with absolute opencode paths
3
+
4
+
5
+ ## 0.25.17
6
+ - chore: v0.25.16
7
+ Revert "Remove local dashboard base stamp"
8
+
9
+
10
+ ## 0.25.16
11
+ - chore: patch release bump
12
+
13
+
1
14
  ## 0.25.15
2
15
  - fix: restore M1 installer deploy
3
16
  Remove local dashboard base stamp
package/dist/vibeOS.js CHANGED
@@ -4476,8 +4476,10 @@ var DASHBOARD_DIR = resolveDashboardDir();
4476
4476
  var DASHBOARD_CONFIG_PATH = join4(DASHBOARD_DIR, "vibeos-dashboard-config.js");
4477
4477
  function writeDashboardBaseConfig(baseUrl) {
4478
4478
  try {
4479
+ if (!baseUrl)
4480
+ return null;
4479
4481
  mkdirSync3(DASHBOARD_DIR, { recursive: true });
4480
- const payload = `window.__VIBEOS_DASHBOARD_BASE__ = ${JSON.stringify((baseUrl || "").replace(/\/$/, ""))};
4482
+ const payload = `window.__VIBEOS_DASHBOARD_BASE__ = ${JSON.stringify(baseUrl.replace(/\/$/, ""))};
4481
4483
  `;
4482
4484
  writeFileSync4(DASHBOARD_CONFIG_PATH, payload, "utf-8");
4483
4485
  return DASHBOARD_CONFIG_PATH;
@@ -15930,7 +15932,8 @@ async function ensureMcpServerRunning() {
15930
15932
  const actualPort = Number(mcpServer?.address?.()?.port || requestedPort);
15931
15933
  if (actualPort && actualPort !== requestedPort)
15932
15934
  persistMcpPort(actualPort);
15933
- writeDashboardBaseConfig(process.env.VIBEOS_DASHBOARD_BASE_URL?.trim() || "");
15935
+ if (actualPort)
15936
+ writeDashboardBaseConfig(`http://127.0.0.1:${actualPort}`);
15934
15937
  console.error(`[vibeOS] MCP server on http://127.0.0.1:${actualPort}`);
15935
15938
  if (actualPort)
15936
15939
  console.error(`[vibeOS] Dashboard at http://127.0.0.1:${actualPort}/`);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vibeostheog",
3
- "version": "0.25.15",
3
+ "version": "0.25.18",
4
4
  "description": "Cost-aware delegation enforcer for OpenCode. Tracks model usage, routes Task subagents to cheaper tiers, surfaces cumulative savings in chat. Includes research audit, reporting framework, project memory, progressive scratchpad decadence, and trinity CLI for brain/medium/cheap slot switching.",
5
5
  "scripts": {
6
6
  "release": "node scripts/release.mjs",
@@ -17,7 +17,9 @@ function resolveOpenCodeHomes() {
17
17
  const base = homedir()
18
18
  const configHome = join(base, ".config", "opencode")
19
19
  const dotHome = join(base, ".opencode")
20
- return [configHome, dotHome]
20
+ const desktopHome = process.env.VIBEOS_OPENCODE_DESKTOP_HOME
21
+ || (process.platform === "darwin" ? join(base, "Library", "Application Support", "ai.opencode.desktop") : null)
22
+ return [configHome, dotHome, desktopHome].filter(Boolean)
21
23
  }
22
24
 
23
25
  if (!existsSync(bundlePath)) {
@@ -102,6 +104,7 @@ try {
102
104
  try {
103
105
  for (const home of resolveOpenCodeHomes()) {
104
106
  const ocConfigPath = join(home, "opencode.json")
107
+ const pluginRef = join(home, "plugins", "vibeOS.js")
105
108
  mkdirSync(dirname(ocConfigPath), { recursive: true })
106
109
  let config = {}
107
110
  if (existsSync(ocConfigPath)) {
@@ -115,13 +118,12 @@ try {
115
118
  }
116
119
  if (!config || typeof config !== "object" || Array.isArray(config)) config = {}
117
120
  if (!Array.isArray(config.plugin)) config.plugin = []
118
- const hasVibeOs = config.plugin.some(p => typeof p === "string" && p.includes("vibeOS"))
119
- if (!hasVibeOs) {
120
- config.$schema ||= "https://opencode.ai/config.json"
121
- config.plugin.push("./plugins/vibeOS.js")
122
- writeFileSync(ocConfigPath, JSON.stringify(config, null, 2) + "\n")
123
- process.stderr.write(`[vibeOS deploy] Registered vibeOS in ${home}/opencode.json\n`)
124
- }
121
+ const filtered = config.plugin.filter((p) => !(typeof p === "string" && p.includes("vibeOS")))
122
+ filtered.push(pluginRef)
123
+ config.$schema ||= "https://opencode.ai/config.json"
124
+ config.plugin = filtered
125
+ writeFileSync(ocConfigPath, JSON.stringify(config, null, 2) + "\n")
126
+ process.stderr.write(`[vibeOS deploy] Registered vibeOS in ${home}/opencode.json\n`)
125
127
  }
126
128
  } catch {
127
129
  process.stderr.write("[vibeOS deploy] Could not auto-register in opencode.json (plugin may need manual config)\n")