oh-my-openagent 4.5.7 → 4.5.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oh-my-openagent",
3
- "version": "4.5.7",
3
+ "version": "4.5.8",
4
4
  "description": "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
5
5
  "main": "./dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -131,17 +131,17 @@
131
131
  "zod": "^4.4.3"
132
132
  },
133
133
  "optionalDependencies": {
134
- "oh-my-openagent-darwin-arm64": "4.5.7",
135
- "oh-my-openagent-darwin-x64": "4.5.7",
136
- "oh-my-openagent-darwin-x64-baseline": "4.5.7",
137
- "oh-my-openagent-linux-arm64": "4.5.7",
138
- "oh-my-openagent-linux-arm64-musl": "4.5.7",
139
- "oh-my-openagent-linux-x64": "4.5.7",
140
- "oh-my-openagent-linux-x64-baseline": "4.5.7",
141
- "oh-my-openagent-linux-x64-musl": "4.5.7",
142
- "oh-my-openagent-linux-x64-musl-baseline": "4.5.7",
143
- "oh-my-openagent-windows-x64": "4.5.7",
144
- "oh-my-openagent-windows-x64-baseline": "4.5.7"
134
+ "oh-my-openagent-darwin-arm64": "4.5.8",
135
+ "oh-my-openagent-darwin-x64": "4.5.8",
136
+ "oh-my-openagent-darwin-x64-baseline": "4.5.8",
137
+ "oh-my-openagent-linux-arm64": "4.5.8",
138
+ "oh-my-openagent-linux-arm64-musl": "4.5.8",
139
+ "oh-my-openagent-linux-x64": "4.5.8",
140
+ "oh-my-openagent-linux-x64-baseline": "4.5.8",
141
+ "oh-my-openagent-linux-x64-musl": "4.5.8",
142
+ "oh-my-openagent-linux-x64-musl-baseline": "4.5.8",
143
+ "oh-my-openagent-windows-x64": "4.5.8",
144
+ "oh-my-openagent-windows-x64-baseline": "4.5.8"
145
145
  },
146
146
  "overrides": {
147
147
  "hono": "^4.12.18",
@@ -18,7 +18,7 @@
18
18
  "@oh-my-opencode/shared-skills": "file:../../shared-skills"
19
19
  },
20
20
  "scripts": {
21
- "build": "bun run --cwd ../../lsp-tools-mcp build && bun run --cwd ../../ast-grep-mcp build && node scripts/sync-skills.mjs && node ../scripts/sync-telemetry-component.mjs && node scripts/build-components.mjs",
21
+ "build": "node scripts/build-bundled-mcp-runtimes.mjs && node scripts/sync-skills.mjs && node ../scripts/sync-telemetry-component.mjs && node scripts/build-components.mjs",
22
22
  "check": "npm run build && npm test",
23
23
  "sync:skills": "node scripts/sync-skills.mjs",
24
24
  "test": "node --test test/*.test.mjs"
@@ -0,0 +1,50 @@
1
+ #!/usr/bin/env node
2
+ import { spawnSync } from "node:child_process";
3
+ import { existsSync } from "node:fs";
4
+ import { dirname, join } from "node:path";
5
+ import { fileURLToPath } from "node:url";
6
+
7
+ const pluginRoot = dirname(dirname(fileURLToPath(import.meta.url)));
8
+ const repoPackagesRoot = join(pluginRoot, "..", "..");
9
+
10
+ const runtimes = [
11
+ {
12
+ label: "lsp-tools-mcp",
13
+ packageRoot: join(repoPackagesRoot, "lsp-tools-mcp"),
14
+ requiredOutputs: ["dist/cli.js", "dist/tools.js"],
15
+ },
16
+ {
17
+ label: "ast-grep-mcp",
18
+ packageRoot: join(repoPackagesRoot, "ast-grep-mcp"),
19
+ requiredOutputs: ["dist/cli.js"],
20
+ },
21
+ ];
22
+
23
+ for (const runtime of runtimes) {
24
+ buildRuntime(runtime);
25
+ }
26
+
27
+ function buildRuntime(runtime) {
28
+ if (!existsSync(join(runtime.packageRoot, "package.json"))) {
29
+ assertBundledDist(runtime);
30
+ console.log(`Using bundled ${runtime.label} dist`);
31
+ return;
32
+ }
33
+
34
+ const result = spawnSync("bun", ["run", "build"], {
35
+ cwd: runtime.packageRoot,
36
+ stdio: "inherit",
37
+ });
38
+ if (result.error !== undefined) throw result.error;
39
+ if (result.status !== 0) process.exit(result.status ?? 1);
40
+ }
41
+
42
+ function assertBundledDist(runtime) {
43
+ const missingOutputs = runtime.requiredOutputs.filter((output) => !existsSync(join(runtime.packageRoot, output)));
44
+ if (missingOutputs.length === 0) return;
45
+ console.error(`Missing bundled ${runtime.label} outputs:`);
46
+ for (const output of missingOutputs) {
47
+ console.error(` ${join(runtime.packageRoot, output)}`);
48
+ }
49
+ process.exit(1);
50
+ }
@@ -173,6 +173,7 @@ test("#given aggregate MCP config #when inspected #then code MCPs reference pack
173
173
  const packageJson = await readJson("package.json");
174
174
  const mcp = await readJson(".mcp.json");
175
175
  const lspSources = await readdir(join(root, "components", "lsp", "src"));
176
+ const bundledMcpBuildScript = await readFile(join(root, "scripts", "build-bundled-mcp-runtimes.mjs"), "utf8");
176
177
 
177
178
  // when
178
179
  const lspServer = mcp.mcpServers.lsp;
@@ -187,7 +188,7 @@ test("#given aggregate MCP config #when inspected #then code MCPs reference pack
187
188
  assert.equal(packageJson.workspaces.includes("components/lsp/packages/lsp-tools-mcp"), false);
188
189
  assert.equal(packageJson.workspaces.includes("components/ast-grep/packages/ast-grep-mcp"), false);
189
190
  assert.deepEqual(packageJson.dependencies, { "@oh-my-opencode/shared-skills": "file:../../shared-skills" });
190
- assert.match(packageJson.scripts.build, /ast-grep-mcp/);
191
+ assert.match(bundledMcpBuildScript, /ast-grep-mcp/);
191
192
  assert.doesNotMatch(packageJson.scripts.build, /--workspaces/);
192
193
  assert.equal(lspServer.command, "node");
193
194
  assert.deepEqual(lspServer.args, ["../../lsp-tools-mcp/dist/cli.js", "mcp"]);
@@ -224,7 +225,7 @@ test("#given aggregate plugin build script #when inspected #then telemetry sync
224
225
  // then
225
226
  assert.equal(
226
227
  buildScript,
227
- "bun run --cwd ../../lsp-tools-mcp build && bun run --cwd ../../ast-grep-mcp build && node scripts/sync-skills.mjs && node ../scripts/sync-telemetry-component.mjs && node scripts/build-components.mjs",
228
+ "node scripts/build-bundled-mcp-runtimes.mjs && node scripts/sync-skills.mjs && node ../scripts/sync-telemetry-component.mjs && node scripts/build-components.mjs",
228
229
  );
229
230
  assert.match(telemetrySyncScript, /syncTelemetryComponent/);
230
231
  });