oh-my-opencode 5.1.1 → 5.1.3
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.ja.md +3 -3
- package/README.ko.md +3 -3
- package/README.md +6 -4
- package/README.ru.md +3 -3
- package/README.zh-cn.md +3 -3
- package/dist/cli/index.js +112 -95
- package/dist/cli-node/index.js +112 -95
- package/dist/index.js +66 -37
- package/dist/skills/browser/runtime/omowright/manifest.json +1 -1
- package/dist/skills/refactor/SKILL.md +1 -0
- package/dist/skills/remove-ai-slops/SKILL.md +1 -0
- package/dist/skills/ulw-execute/SKILL.md +1 -0
- package/dist/tui.js +27 -31
- package/package.json +27 -31
- package/packages/omo-codex/plugin/.codex-plugin/plugin.json +1 -1
- package/packages/omo-codex/plugin/components/bootstrap/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/bootstrap/package.json +1 -1
- package/packages/omo-codex/plugin/components/comment-checker/dist/cli.js +33 -7
- package/packages/omo-codex/plugin/components/comment-checker/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/comment-checker/package.json +1 -1
- package/packages/omo-codex/plugin/components/comment-checker/src/runner.ts +4 -4
- package/packages/omo-codex/plugin/components/git-bash/hooks/hooks.json +2 -2
- package/packages/omo-codex/plugin/components/git-bash/package.json +1 -1
- package/packages/omo-codex/plugin/components/lazycodex-executor-verify/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/lazycodex-executor-verify/package.json +1 -1
- package/packages/omo-codex/plugin/components/lsp/dist/.omo-runtime-manifest.json +2 -2
- package/packages/omo-codex/plugin/components/lsp/hooks/hooks.json +2 -2
- package/packages/omo-codex/plugin/components/lsp/package.json +1 -1
- package/packages/omo-codex/plugin/components/rules/hooks/hooks.json +4 -4
- package/packages/omo-codex/plugin/components/rules/package.json +1 -1
- package/packages/omo-codex/plugin/components/teammode/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/teammode/package.json +1 -1
- package/packages/omo-codex/plugin/components/telemetry/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/telemetry/package.json +1 -1
- package/packages/omo-codex/plugin/components/ultrawork/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/ultrawork/package.json +1 -1
- package/packages/omo-codex/plugin/components/ulw-execute-continuation/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/ulw-execute-continuation/package.json +1 -1
- package/packages/omo-codex/plugin/components/ulw-loop/hooks/hooks.json +5 -5
- package/packages/omo-codex/plugin/components/ulw-loop/package.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-compact-resetting-git-bash-mcp-reminder.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-compact-resetting-lsp-diagnostics-cache.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-compact-resetting-project-rule-cache.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-tool-use-checking-comments.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-tool-use-checking-lsp-diagnostics.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-tool-use-checking-thread-title-hygiene.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-tool-use-matching-project-rules.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-tool-use-recording-spawn-admission.json +1 -1
- package/packages/omo-codex/plugin/hooks/pre-tool-use-enforcing-unlimited-goal-budget.json +1 -1
- package/packages/omo-codex/plugin/hooks/pre-tool-use-guarding-ulw-loop-spawns.json +1 -1
- package/packages/omo-codex/plugin/hooks/pre-tool-use-recommending-git-bash-mcp.json +1 -1
- package/packages/omo-codex/plugin/hooks/session-start-checking-auto-update.json +1 -1
- package/packages/omo-codex/plugin/hooks/session-start-checking-bootstrap-provisioning.json +1 -1
- package/packages/omo-codex/plugin/hooks/session-start-loading-project-rules.json +1 -1
- package/packages/omo-codex/plugin/hooks/session-start-recording-session-telemetry.json +1 -1
- package/packages/omo-codex/plugin/hooks/stop-checking-ulw-execute-continuation.json +1 -1
- package/packages/omo-codex/plugin/hooks/stop-checking-ulw-loop-resume.json +1 -1
- package/packages/omo-codex/plugin/hooks/subagent-stop-verifying-lazycodex-executor-evidence.json +1 -1
- package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ultrawork-trigger.json +1 -1
- package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ulw-loop-steering.json +1 -1
- package/packages/omo-codex/plugin/hooks/user-prompt-submit-loading-project-rules.json +1 -1
- package/packages/omo-codex/plugin/package-lock.json +12 -12
- package/packages/omo-codex/plugin/package.json +1 -1
- package/packages/omo-codex/plugin/skills/browser/runtime/omowright/manifest.json +1 -1
- package/packages/omo-codex/plugin/skills/refactor/SKILL.md +1 -0
- package/packages/omo-codex/plugin/skills/remove-ai-slops/SKILL.md +1 -0
- package/packages/omo-codex/plugin/skills/ulw-execute/SKILL.md +1 -0
- package/packages/omo-codex/scripts/install-dist/install-local.mjs +2 -2
- package/packages/shared-skills/skills/browser/runtime/omowright/manifest.json +1 -1
- package/packages/shared-skills/skills/refactor/SKILL.md +1 -0
- package/packages/shared-skills/skills/remove-ai-slops/SKILL.md +1 -0
- package/packages/shared-skills/skills/ulw-execute/SKILL.md +1 -0
package/dist/index.js
CHANGED
|
@@ -90381,8 +90381,38 @@ function recordCachedCommentCheckerRelease(cacheDir) {
|
|
|
90381
90381
|
`);
|
|
90382
90382
|
}
|
|
90383
90383
|
// packages/comment-checker-core/src/runner.ts
|
|
90384
|
+
import { createRequire as createRequire2 } from "module";
|
|
90385
|
+
|
|
90386
|
+
// packages/comment-checker-core/src/package-binary.ts
|
|
90384
90387
|
import { createRequire } from "module";
|
|
90385
90388
|
import { dirname as dirname14, join as join45 } from "path";
|
|
90389
|
+
var COMMENT_CHECKER_PACKAGE_NAME = "@code-yeongyu/comment-checker";
|
|
90390
|
+
function isModuleResolutionMiss(error) {
|
|
90391
|
+
return error instanceof Error || typeof error === "object" && error !== null && "name" in error && error.name === "ResolveMessage";
|
|
90392
|
+
}
|
|
90393
|
+
function findCommentCheckerPackageBinary(input) {
|
|
90394
|
+
const packageName = input.packageName ?? COMMENT_CHECKER_PACKAGE_NAME;
|
|
90395
|
+
const platformKey = `${input.platform ?? process.platform}-${input.arch ?? process.arch}`;
|
|
90396
|
+
const packageDir = dirname14(input.packageJsonPath);
|
|
90397
|
+
const candidates = [
|
|
90398
|
+
resolvePlatformPackageBinary(input.packageJsonPath, `${packageName}-${platformKey}`, input.binaryName),
|
|
90399
|
+
join45(packageDir, "vendor", platformKey, input.binaryName),
|
|
90400
|
+
join45(packageDir, "bin", input.binaryName)
|
|
90401
|
+
];
|
|
90402
|
+
return candidates.find((candidate) => candidate !== null && input.existsSync(candidate)) ?? null;
|
|
90403
|
+
}
|
|
90404
|
+
function resolvePlatformPackageBinary(packageJsonPath, platformPackageName, binaryName) {
|
|
90405
|
+
try {
|
|
90406
|
+
const manifestPath = createRequire(packageJsonPath).resolve(`${platformPackageName}/package.json`);
|
|
90407
|
+
return join45(dirname14(manifestPath), "bin", binaryName);
|
|
90408
|
+
} catch (error) {
|
|
90409
|
+
if (isModuleResolutionMiss(error))
|
|
90410
|
+
return null;
|
|
90411
|
+
throw error;
|
|
90412
|
+
}
|
|
90413
|
+
}
|
|
90414
|
+
|
|
90415
|
+
// packages/comment-checker-core/src/runner.ts
|
|
90386
90416
|
var EMPTY_RESULT = { hasComments: false, message: "" };
|
|
90387
90417
|
var MAX_FAILURE_STDERR = 500;
|
|
90388
90418
|
function normalizeMessage(message) {
|
|
@@ -90407,7 +90437,7 @@ function killProcessSafely(process2, signal) {
|
|
|
90407
90437
|
}
|
|
90408
90438
|
}
|
|
90409
90439
|
function resolveCommentCheckerBinary(input) {
|
|
90410
|
-
const packageName = input.packageName ??
|
|
90440
|
+
const packageName = input.packageName ?? COMMENT_CHECKER_PACKAGE_NAME;
|
|
90411
90441
|
if (input.cachedBinaryPath !== null && input.existsSync(input.cachedBinaryPath)) {
|
|
90412
90442
|
return input.cachedBinaryPath;
|
|
90413
90443
|
}
|
|
@@ -90415,14 +90445,17 @@ function resolveCommentCheckerBinary(input) {
|
|
|
90415
90445
|
return null;
|
|
90416
90446
|
}
|
|
90417
90447
|
try {
|
|
90418
|
-
const require2 =
|
|
90448
|
+
const require2 = createRequire2(input.importMetaUrl);
|
|
90419
90449
|
const packageJsonPath = require2.resolve(`${packageName}/package.json`);
|
|
90420
|
-
|
|
90421
|
-
|
|
90450
|
+
return findCommentCheckerPackageBinary({
|
|
90451
|
+
packageJsonPath,
|
|
90452
|
+
packageName,
|
|
90453
|
+
binaryName: input.binaryName,
|
|
90454
|
+
existsSync: input.existsSync
|
|
90455
|
+
});
|
|
90422
90456
|
} catch (error) {
|
|
90423
|
-
if (error
|
|
90457
|
+
if (isModuleResolutionMiss(error))
|
|
90424
90458
|
return null;
|
|
90425
|
-
}
|
|
90426
90459
|
throw error;
|
|
90427
90460
|
}
|
|
90428
90461
|
}
|
|
@@ -98169,7 +98202,7 @@ function getCachedVersion(options = {}) {
|
|
|
98169
98202
|
// package.json
|
|
98170
98203
|
var package_default = {
|
|
98171
98204
|
name: "oh-my-opencode",
|
|
98172
|
-
version: "5.1.
|
|
98205
|
+
version: "5.1.3",
|
|
98173
98206
|
description: "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
|
|
98174
98207
|
main: "./dist/index.js",
|
|
98175
98208
|
types: "dist/index.d.ts",
|
|
@@ -98340,25 +98373,14 @@ var package_default = {
|
|
|
98340
98373
|
},
|
|
98341
98374
|
homepage: "https://github.com/code-yeongyu/oh-my-openagent#readme",
|
|
98342
98375
|
dependencies: {
|
|
98343
|
-
"@clack/prompts": "^1.8.1",
|
|
98344
|
-
"@modelcontextprotocol/sdk": "^1.30.0",
|
|
98345
|
-
"@opencode-ai/plugin": "1.18.31",
|
|
98346
|
-
"@opencode-ai/sdk": "1.18.31",
|
|
98347
|
-
"@opentui/core": "^0.5.11",
|
|
98348
|
-
"@opentui/keymap": "^0.5.11",
|
|
98349
98376
|
"@opentui/solid": "^0.5.11",
|
|
98350
|
-
commander: "^15.0.0",
|
|
98351
98377
|
"detect-libc": "^2.1.2",
|
|
98352
|
-
diff: "^9.0.0",
|
|
98353
|
-
"js-yaml": "^5.4.2",
|
|
98354
|
-
"jsonc-parser": "^3.3.1",
|
|
98355
|
-
picocolors: "^1.1.1",
|
|
98356
|
-
picomatch: "^4.0.7",
|
|
98357
|
-
"posthog-node": "^5.52.4",
|
|
98358
98378
|
zod: "^4.6.5"
|
|
98359
98379
|
},
|
|
98360
98380
|
devDependencies: {
|
|
98361
|
-
"@
|
|
98381
|
+
"@clack/prompts": "^1.8.1",
|
|
98382
|
+
"@code-yeongyu/senpi": "2026.9.29-4",
|
|
98383
|
+
"@modelcontextprotocol/sdk": "^1.30.0",
|
|
98362
98384
|
"@oh-my-opencode/agents-md-core": "workspace:*",
|
|
98363
98385
|
"@oh-my-opencode/ast-grep-mcp": "workspace:*",
|
|
98364
98386
|
"@oh-my-opencode/boulder-state": "workspace:*",
|
|
@@ -98392,36 +98414,43 @@ var package_default = {
|
|
|
98392
98414
|
"@oh-my-opencode/telemetry-core": "workspace:*",
|
|
98393
98415
|
"@oh-my-opencode/tmux-core": "workspace:*",
|
|
98394
98416
|
"@oh-my-opencode/utils": "workspace:*",
|
|
98417
|
+
"@opencode-ai/plugin": "1.18.31",
|
|
98418
|
+
"@opencode-ai/sdk": "1.18.31",
|
|
98419
|
+
"@opentui/core": "^0.5.11",
|
|
98420
|
+
"@opentui/keymap": "^0.5.11",
|
|
98395
98421
|
"@types/js-yaml": "^4.0.9",
|
|
98396
98422
|
"@types/picomatch": "^4.0.3",
|
|
98397
98423
|
"@typescript/native-preview": "7.0.0-dev.20260707.2",
|
|
98398
98424
|
"@xterm/addon-unicode11": "^0.9.0",
|
|
98399
98425
|
"@xterm/xterm": "^6.0.0",
|
|
98400
98426
|
"bun-types": "1.4.2",
|
|
98427
|
+
commander: "^15.0.0",
|
|
98428
|
+
diff: "^9.0.0",
|
|
98429
|
+
"js-yaml": "^5.4.2",
|
|
98430
|
+
"jsonc-parser": "^3.3.1",
|
|
98401
98431
|
"node-pty": "^1.1.0",
|
|
98402
98432
|
omowright: "github:code-yeongyu/omowright#293ca5002cbd4c8b0c104c5934683385ef7e0d3a",
|
|
98433
|
+
picocolors: "^1.1.1",
|
|
98434
|
+
picomatch: "^4.0.7",
|
|
98435
|
+
"posthog-node": "^5.52.4",
|
|
98403
98436
|
"puppeteer-core": "^25.11.0",
|
|
98404
98437
|
typescript: "^7.0.2"
|
|
98405
98438
|
},
|
|
98406
98439
|
optionalDependencies: {
|
|
98407
|
-
"oh-my-opencode-darwin-arm64": "5.1.
|
|
98408
|
-
"oh-my-opencode-darwin-x64": "5.1.
|
|
98409
|
-
"oh-my-opencode-darwin-x64-baseline": "5.1.
|
|
98410
|
-
"oh-my-opencode-linux-arm64": "5.1.
|
|
98411
|
-
"oh-my-opencode-linux-arm64-musl": "5.1.
|
|
98412
|
-
"oh-my-opencode-linux-x64": "5.1.
|
|
98413
|
-
"oh-my-opencode-linux-x64-baseline": "5.1.
|
|
98414
|
-
"oh-my-opencode-linux-x64-musl": "5.1.
|
|
98415
|
-
"oh-my-opencode-linux-x64-musl-baseline": "5.1.
|
|
98416
|
-
"oh-my-opencode-windows-arm64": "5.1.
|
|
98417
|
-
"oh-my-opencode-windows-x64": "5.1.
|
|
98418
|
-
"oh-my-opencode-windows-x64-baseline": "5.1.
|
|
98440
|
+
"oh-my-opencode-darwin-arm64": "5.1.3",
|
|
98441
|
+
"oh-my-opencode-darwin-x64": "5.1.3",
|
|
98442
|
+
"oh-my-opencode-darwin-x64-baseline": "5.1.3",
|
|
98443
|
+
"oh-my-opencode-linux-arm64": "5.1.3",
|
|
98444
|
+
"oh-my-opencode-linux-arm64-musl": "5.1.3",
|
|
98445
|
+
"oh-my-opencode-linux-x64": "5.1.3",
|
|
98446
|
+
"oh-my-opencode-linux-x64-baseline": "5.1.3",
|
|
98447
|
+
"oh-my-opencode-linux-x64-musl": "5.1.3",
|
|
98448
|
+
"oh-my-opencode-linux-x64-musl-baseline": "5.1.3",
|
|
98449
|
+
"oh-my-opencode-windows-arm64": "5.1.3",
|
|
98450
|
+
"oh-my-opencode-windows-x64": "5.1.3",
|
|
98451
|
+
"oh-my-opencode-windows-x64-baseline": "5.1.3"
|
|
98419
98452
|
},
|
|
98420
98453
|
overrides: {
|
|
98421
|
-
"@earendil-works/pi-agent-core": "0.84.2",
|
|
98422
|
-
"@earendil-works/pi-ai": "0.84.2",
|
|
98423
|
-
"@earendil-works/pi-coding-agent": "0.84.2",
|
|
98424
|
-
"@earendil-works/pi-tui": "0.84.2",
|
|
98425
98454
|
hono: "^4.13.8",
|
|
98426
98455
|
"@hono/node-server": "2.1.1",
|
|
98427
98456
|
"express-rate-limit": "^8.7.0",
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: refactor
|
|
3
3
|
description: "Guides a refactor, cleanup, or restructure with the right decomposition. Use when the user asks to refactor, simplify, extract, or modernize code."
|
|
4
|
+
argument-hint: "<refactoring-target> [--scope=<file|module|project>] [--strategy=<safe|aggressive>]"
|
|
4
5
|
---
|
|
5
6
|
|
|
6
7
|
export const REFACTOR_TEMPLATE = `# Intelligent Refactor Command
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: remove-ai-slops
|
|
3
3
|
description: "Removes AI-generated code smells from branch changes or an explicit file list behind regression tests. Use when the user asks to clean up, deslop, or remove AI-slop patterns from recent changes."
|
|
4
|
+
argument-hint: "[file ...]"
|
|
4
5
|
---
|
|
5
6
|
|
|
6
7
|
# Remove AI Slops Skill
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ulw-execute
|
|
3
3
|
description: "Executes a written ulw-plan work plan with Boulder state, evidence ledger, worktree discipline, and parallel subagents. Use when the user says ulw-execute or asks to run a .omo/plans plan."
|
|
4
|
+
argument-hint: "[plan-name] [--worktree <absolute-path>] [--make-pr] [--ship]"
|
|
4
5
|
---
|
|
5
6
|
|
|
6
7
|
## ABSOLUTE RULE: YOU ARE AN ORCHESTRATOR — NEVER THE IMPLEMENTER
|
package/dist/tui.js
CHANGED
|
@@ -74214,7 +74214,7 @@ init_shared();
|
|
|
74214
74214
|
// package.json
|
|
74215
74215
|
var package_default = {
|
|
74216
74216
|
name: "oh-my-opencode",
|
|
74217
|
-
version: "5.1.
|
|
74217
|
+
version: "5.1.3",
|
|
74218
74218
|
description: "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
|
|
74219
74219
|
main: "./dist/index.js",
|
|
74220
74220
|
types: "dist/index.d.ts",
|
|
@@ -74385,25 +74385,14 @@ var package_default = {
|
|
|
74385
74385
|
},
|
|
74386
74386
|
homepage: "https://github.com/code-yeongyu/oh-my-openagent#readme",
|
|
74387
74387
|
dependencies: {
|
|
74388
|
-
"@clack/prompts": "^1.8.1",
|
|
74389
|
-
"@modelcontextprotocol/sdk": "^1.30.0",
|
|
74390
|
-
"@opencode-ai/plugin": "1.18.31",
|
|
74391
|
-
"@opencode-ai/sdk": "1.18.31",
|
|
74392
|
-
"@opentui/core": "^0.5.11",
|
|
74393
|
-
"@opentui/keymap": "^0.5.11",
|
|
74394
74388
|
"@opentui/solid": "^0.5.11",
|
|
74395
|
-
commander: "^15.0.0",
|
|
74396
74389
|
"detect-libc": "^2.1.2",
|
|
74397
|
-
diff: "^9.0.0",
|
|
74398
|
-
"js-yaml": "^5.4.2",
|
|
74399
|
-
"jsonc-parser": "^3.3.1",
|
|
74400
|
-
picocolors: "^1.1.1",
|
|
74401
|
-
picomatch: "^4.0.7",
|
|
74402
|
-
"posthog-node": "^5.52.4",
|
|
74403
74390
|
zod: "^4.6.5"
|
|
74404
74391
|
},
|
|
74405
74392
|
devDependencies: {
|
|
74406
|
-
"@
|
|
74393
|
+
"@clack/prompts": "^1.8.1",
|
|
74394
|
+
"@code-yeongyu/senpi": "2026.9.29-4",
|
|
74395
|
+
"@modelcontextprotocol/sdk": "^1.30.0",
|
|
74407
74396
|
"@oh-my-opencode/agents-md-core": "workspace:*",
|
|
74408
74397
|
"@oh-my-opencode/ast-grep-mcp": "workspace:*",
|
|
74409
74398
|
"@oh-my-opencode/boulder-state": "workspace:*",
|
|
@@ -74437,36 +74426,43 @@ var package_default = {
|
|
|
74437
74426
|
"@oh-my-opencode/telemetry-core": "workspace:*",
|
|
74438
74427
|
"@oh-my-opencode/tmux-core": "workspace:*",
|
|
74439
74428
|
"@oh-my-opencode/utils": "workspace:*",
|
|
74429
|
+
"@opencode-ai/plugin": "1.18.31",
|
|
74430
|
+
"@opencode-ai/sdk": "1.18.31",
|
|
74431
|
+
"@opentui/core": "^0.5.11",
|
|
74432
|
+
"@opentui/keymap": "^0.5.11",
|
|
74440
74433
|
"@types/js-yaml": "^4.0.9",
|
|
74441
74434
|
"@types/picomatch": "^4.0.3",
|
|
74442
74435
|
"@typescript/native-preview": "7.0.0-dev.20260707.2",
|
|
74443
74436
|
"@xterm/addon-unicode11": "^0.9.0",
|
|
74444
74437
|
"@xterm/xterm": "^6.0.0",
|
|
74445
74438
|
"bun-types": "1.4.2",
|
|
74439
|
+
commander: "^15.0.0",
|
|
74440
|
+
diff: "^9.0.0",
|
|
74441
|
+
"js-yaml": "^5.4.2",
|
|
74442
|
+
"jsonc-parser": "^3.3.1",
|
|
74446
74443
|
"node-pty": "^1.1.0",
|
|
74447
74444
|
omowright: "github:code-yeongyu/omowright#293ca5002cbd4c8b0c104c5934683385ef7e0d3a",
|
|
74445
|
+
picocolors: "^1.1.1",
|
|
74446
|
+
picomatch: "^4.0.7",
|
|
74447
|
+
"posthog-node": "^5.52.4",
|
|
74448
74448
|
"puppeteer-core": "^25.11.0",
|
|
74449
74449
|
typescript: "^7.0.2"
|
|
74450
74450
|
},
|
|
74451
74451
|
optionalDependencies: {
|
|
74452
|
-
"oh-my-opencode-darwin-arm64": "5.1.
|
|
74453
|
-
"oh-my-opencode-darwin-x64": "5.1.
|
|
74454
|
-
"oh-my-opencode-darwin-x64-baseline": "5.1.
|
|
74455
|
-
"oh-my-opencode-linux-arm64": "5.1.
|
|
74456
|
-
"oh-my-opencode-linux-arm64-musl": "5.1.
|
|
74457
|
-
"oh-my-opencode-linux-x64": "5.1.
|
|
74458
|
-
"oh-my-opencode-linux-x64-baseline": "5.1.
|
|
74459
|
-
"oh-my-opencode-linux-x64-musl": "5.1.
|
|
74460
|
-
"oh-my-opencode-linux-x64-musl-baseline": "5.1.
|
|
74461
|
-
"oh-my-opencode-windows-arm64": "5.1.
|
|
74462
|
-
"oh-my-opencode-windows-x64": "5.1.
|
|
74463
|
-
"oh-my-opencode-windows-x64-baseline": "5.1.
|
|
74452
|
+
"oh-my-opencode-darwin-arm64": "5.1.3",
|
|
74453
|
+
"oh-my-opencode-darwin-x64": "5.1.3",
|
|
74454
|
+
"oh-my-opencode-darwin-x64-baseline": "5.1.3",
|
|
74455
|
+
"oh-my-opencode-linux-arm64": "5.1.3",
|
|
74456
|
+
"oh-my-opencode-linux-arm64-musl": "5.1.3",
|
|
74457
|
+
"oh-my-opencode-linux-x64": "5.1.3",
|
|
74458
|
+
"oh-my-opencode-linux-x64-baseline": "5.1.3",
|
|
74459
|
+
"oh-my-opencode-linux-x64-musl": "5.1.3",
|
|
74460
|
+
"oh-my-opencode-linux-x64-musl-baseline": "5.1.3",
|
|
74461
|
+
"oh-my-opencode-windows-arm64": "5.1.3",
|
|
74462
|
+
"oh-my-opencode-windows-x64": "5.1.3",
|
|
74463
|
+
"oh-my-opencode-windows-x64-baseline": "5.1.3"
|
|
74464
74464
|
},
|
|
74465
74465
|
overrides: {
|
|
74466
|
-
"@earendil-works/pi-agent-core": "0.84.2",
|
|
74467
|
-
"@earendil-works/pi-ai": "0.84.2",
|
|
74468
|
-
"@earendil-works/pi-coding-agent": "0.84.2",
|
|
74469
|
-
"@earendil-works/pi-tui": "0.84.2",
|
|
74470
74466
|
hono: "^4.13.8",
|
|
74471
74467
|
"@hono/node-server": "2.1.1",
|
|
74472
74468
|
"express-rate-limit": "^8.7.0",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "oh-my-opencode",
|
|
3
|
-
"version": "5.1.
|
|
3
|
+
"version": "5.1.3",
|
|
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",
|
|
@@ -171,25 +171,14 @@
|
|
|
171
171
|
},
|
|
172
172
|
"homepage": "https://github.com/code-yeongyu/oh-my-openagent#readme",
|
|
173
173
|
"dependencies": {
|
|
174
|
-
"@clack/prompts": "^1.8.1",
|
|
175
|
-
"@modelcontextprotocol/sdk": "^1.30.0",
|
|
176
|
-
"@opencode-ai/plugin": "1.18.31",
|
|
177
|
-
"@opencode-ai/sdk": "1.18.31",
|
|
178
|
-
"@opentui/core": "^0.5.11",
|
|
179
|
-
"@opentui/keymap": "^0.5.11",
|
|
180
174
|
"@opentui/solid": "^0.5.11",
|
|
181
|
-
"commander": "^15.0.0",
|
|
182
175
|
"detect-libc": "^2.1.2",
|
|
183
|
-
"diff": "^9.0.0",
|
|
184
|
-
"js-yaml": "^5.4.2",
|
|
185
|
-
"jsonc-parser": "^3.3.1",
|
|
186
|
-
"picocolors": "^1.1.1",
|
|
187
|
-
"picomatch": "^4.0.7",
|
|
188
|
-
"posthog-node": "^5.52.4",
|
|
189
176
|
"zod": "^4.6.5"
|
|
190
177
|
},
|
|
191
178
|
"devDependencies": {
|
|
192
|
-
"@
|
|
179
|
+
"@clack/prompts": "^1.8.1",
|
|
180
|
+
"@code-yeongyu/senpi": "2026.9.29-4",
|
|
181
|
+
"@modelcontextprotocol/sdk": "^1.30.0",
|
|
193
182
|
"@oh-my-opencode/agents-md-core": "workspace:*",
|
|
194
183
|
"@oh-my-opencode/ast-grep-mcp": "workspace:*",
|
|
195
184
|
"@oh-my-opencode/boulder-state": "workspace:*",
|
|
@@ -223,36 +212,43 @@
|
|
|
223
212
|
"@oh-my-opencode/telemetry-core": "workspace:*",
|
|
224
213
|
"@oh-my-opencode/tmux-core": "workspace:*",
|
|
225
214
|
"@oh-my-opencode/utils": "workspace:*",
|
|
215
|
+
"@opencode-ai/plugin": "1.18.31",
|
|
216
|
+
"@opencode-ai/sdk": "1.18.31",
|
|
217
|
+
"@opentui/core": "^0.5.11",
|
|
218
|
+
"@opentui/keymap": "^0.5.11",
|
|
226
219
|
"@types/js-yaml": "^4.0.9",
|
|
227
220
|
"@types/picomatch": "^4.0.3",
|
|
228
221
|
"@typescript/native-preview": "7.0.0-dev.20260707.2",
|
|
229
222
|
"@xterm/addon-unicode11": "^0.9.0",
|
|
230
223
|
"@xterm/xterm": "^6.0.0",
|
|
231
224
|
"bun-types": "1.4.2",
|
|
225
|
+
"commander": "^15.0.0",
|
|
226
|
+
"diff": "^9.0.0",
|
|
227
|
+
"js-yaml": "^5.4.2",
|
|
228
|
+
"jsonc-parser": "^3.3.1",
|
|
232
229
|
"node-pty": "^1.1.0",
|
|
233
230
|
"omowright": "github:code-yeongyu/omowright#293ca5002cbd4c8b0c104c5934683385ef7e0d3a",
|
|
231
|
+
"picocolors": "^1.1.1",
|
|
232
|
+
"picomatch": "^4.0.7",
|
|
233
|
+
"posthog-node": "^5.52.4",
|
|
234
234
|
"puppeteer-core": "^25.11.0",
|
|
235
235
|
"typescript": "^7.0.2"
|
|
236
236
|
},
|
|
237
237
|
"optionalDependencies": {
|
|
238
|
-
"oh-my-opencode-darwin-arm64": "5.1.
|
|
239
|
-
"oh-my-opencode-darwin-x64": "5.1.
|
|
240
|
-
"oh-my-opencode-darwin-x64-baseline": "5.1.
|
|
241
|
-
"oh-my-opencode-linux-arm64": "5.1.
|
|
242
|
-
"oh-my-opencode-linux-arm64-musl": "5.1.
|
|
243
|
-
"oh-my-opencode-linux-x64": "5.1.
|
|
244
|
-
"oh-my-opencode-linux-x64-baseline": "5.1.
|
|
245
|
-
"oh-my-opencode-linux-x64-musl": "5.1.
|
|
246
|
-
"oh-my-opencode-linux-x64-musl-baseline": "5.1.
|
|
247
|
-
"oh-my-opencode-windows-arm64": "5.1.
|
|
248
|
-
"oh-my-opencode-windows-x64": "5.1.
|
|
249
|
-
"oh-my-opencode-windows-x64-baseline": "5.1.
|
|
238
|
+
"oh-my-opencode-darwin-arm64": "5.1.3",
|
|
239
|
+
"oh-my-opencode-darwin-x64": "5.1.3",
|
|
240
|
+
"oh-my-opencode-darwin-x64-baseline": "5.1.3",
|
|
241
|
+
"oh-my-opencode-linux-arm64": "5.1.3",
|
|
242
|
+
"oh-my-opencode-linux-arm64-musl": "5.1.3",
|
|
243
|
+
"oh-my-opencode-linux-x64": "5.1.3",
|
|
244
|
+
"oh-my-opencode-linux-x64-baseline": "5.1.3",
|
|
245
|
+
"oh-my-opencode-linux-x64-musl": "5.1.3",
|
|
246
|
+
"oh-my-opencode-linux-x64-musl-baseline": "5.1.3",
|
|
247
|
+
"oh-my-opencode-windows-arm64": "5.1.3",
|
|
248
|
+
"oh-my-opencode-windows-x64": "5.1.3",
|
|
249
|
+
"oh-my-opencode-windows-x64-baseline": "5.1.3"
|
|
250
250
|
},
|
|
251
251
|
"overrides": {
|
|
252
|
-
"@earendil-works/pi-agent-core": "0.84.2",
|
|
253
|
-
"@earendil-works/pi-ai": "0.84.2",
|
|
254
|
-
"@earendil-works/pi-coding-agent": "0.84.2",
|
|
255
|
-
"@earendil-works/pi-tui": "0.84.2",
|
|
256
252
|
"hono": "^4.13.8",
|
|
257
253
|
"@hono/node-server": "2.1.1",
|
|
258
254
|
"express-rate-limit": "^8.7.0",
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"command": "node \"${PLUGIN_ROOT}/components/bootstrap/dist/cli.js\" hook session-start",
|
|
9
9
|
"commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\bootstrap.ps1\"",
|
|
10
10
|
"timeout": 30,
|
|
11
|
-
"statusMessage": "(OmO 5.1.
|
|
11
|
+
"statusMessage": "(OmO 5.1.3) Checking Bootstrap Provisioning"
|
|
12
12
|
}
|
|
13
13
|
]
|
|
14
14
|
}
|
|
@@ -146,6 +146,34 @@ function joinPatchLines(lines) {
|
|
|
146
146
|
`)}
|
|
147
147
|
`;
|
|
148
148
|
}
|
|
149
|
+
// ../../comment-checker-core/src/package-binary.ts
|
|
150
|
+
import { createRequire } from "node:module";
|
|
151
|
+
import { dirname, join } from "node:path";
|
|
152
|
+
var COMMENT_CHECKER_PACKAGE_NAME = "@code-yeongyu/comment-checker";
|
|
153
|
+
function isModuleResolutionMiss(error) {
|
|
154
|
+
return error instanceof Error || typeof error === "object" && error !== null && "name" in error && error.name === "ResolveMessage";
|
|
155
|
+
}
|
|
156
|
+
function findCommentCheckerPackageBinary(input) {
|
|
157
|
+
const packageName = input.packageName ?? COMMENT_CHECKER_PACKAGE_NAME;
|
|
158
|
+
const platformKey = `${input.platform ?? process.platform}-${input.arch ?? process.arch}`;
|
|
159
|
+
const packageDir = dirname(input.packageJsonPath);
|
|
160
|
+
const candidates = [
|
|
161
|
+
resolvePlatformPackageBinary(input.packageJsonPath, `${packageName}-${platformKey}`, input.binaryName),
|
|
162
|
+
join(packageDir, "vendor", platformKey, input.binaryName),
|
|
163
|
+
join(packageDir, "bin", input.binaryName)
|
|
164
|
+
];
|
|
165
|
+
return candidates.find((candidate) => candidate !== null && input.existsSync(candidate)) ?? null;
|
|
166
|
+
}
|
|
167
|
+
function resolvePlatformPackageBinary(packageJsonPath, platformPackageName, binaryName) {
|
|
168
|
+
try {
|
|
169
|
+
const manifestPath = createRequire(packageJsonPath).resolve(`${platformPackageName}/package.json`);
|
|
170
|
+
return join(dirname(manifestPath), "bin", binaryName);
|
|
171
|
+
} catch (error) {
|
|
172
|
+
if (isModuleResolutionMiss(error))
|
|
173
|
+
return null;
|
|
174
|
+
throw error;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
149
177
|
// components/comment-checker/src/hook-input.ts
|
|
150
178
|
function toHookInput(request, context) {
|
|
151
179
|
return {
|
|
@@ -302,8 +330,7 @@ function getContentText(content) {
|
|
|
302
330
|
// components/comment-checker/src/runner.ts
|
|
303
331
|
import { spawn } from "node:child_process";
|
|
304
332
|
import { existsSync } from "node:fs";
|
|
305
|
-
import { createRequire } from "node:module";
|
|
306
|
-
import { dirname, join } from "node:path";
|
|
333
|
+
import { createRequire as createRequire2 } from "node:module";
|
|
307
334
|
var MAX_PROCESS_OUTPUT_BYTES = 64 * 1024;
|
|
308
335
|
async function runCommentChecker2(input, options = {}) {
|
|
309
336
|
const binaryPath = options.binaryPath ?? (options.resolveBinary ? options.resolveBinary() : resolveCommentCheckerBinary2());
|
|
@@ -361,7 +388,7 @@ function resolveCommentCheckerBinary2() {
|
|
|
361
388
|
}
|
|
362
389
|
function resolvePackageApiBinary() {
|
|
363
390
|
try {
|
|
364
|
-
const require2 =
|
|
391
|
+
const require2 = createRequire2(import.meta.url);
|
|
365
392
|
const packageExports = require2(commentCheckerPackageName());
|
|
366
393
|
if (!isCommentCheckerPackage(packageExports))
|
|
367
394
|
return;
|
|
@@ -373,10 +400,9 @@ function resolvePackageApiBinary() {
|
|
|
373
400
|
}
|
|
374
401
|
function resolvePackageBinary(binaryName) {
|
|
375
402
|
try {
|
|
376
|
-
const require2 =
|
|
377
|
-
const
|
|
378
|
-
|
|
379
|
-
return existsSync(binaryPath) ? binaryPath : undefined;
|
|
403
|
+
const require2 = createRequire2(import.meta.url);
|
|
404
|
+
const packageJsonPath = require2.resolve(`${commentCheckerPackageName()}/package.json`);
|
|
405
|
+
return findCommentCheckerPackageBinary({ packageJsonPath, binaryName, existsSync }) ?? undefined;
|
|
380
406
|
} catch {
|
|
381
407
|
return;
|
|
382
408
|
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { spawn } from "node:child_process";
|
|
2
2
|
import { existsSync } from "node:fs";
|
|
3
3
|
import { createRequire } from "node:module";
|
|
4
|
-
|
|
4
|
+
|
|
5
|
+
import { findCommentCheckerPackageBinary } from "@oh-my-opencode/comment-checker-core";
|
|
5
6
|
|
|
6
7
|
import type { CommentCheckerHookInput } from "./core.js";
|
|
7
8
|
|
|
@@ -108,9 +109,8 @@ function resolvePackageApiBinary(): string | undefined {
|
|
|
108
109
|
function resolvePackageBinary(binaryName: string): string | undefined {
|
|
109
110
|
try {
|
|
110
111
|
const require = createRequire(import.meta.url);
|
|
111
|
-
const
|
|
112
|
-
|
|
113
|
-
return existsSync(binaryPath) ? binaryPath : undefined;
|
|
112
|
+
const packageJsonPath = require.resolve(`${commentCheckerPackageName()}/package.json`);
|
|
113
|
+
return findCommentCheckerPackageBinary({ packageJsonPath, binaryName, existsSync }) ?? undefined;
|
|
114
114
|
} catch {
|
|
115
115
|
return undefined;
|
|
116
116
|
}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"type": "command",
|
|
9
9
|
"command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook pre-tool-use",
|
|
10
10
|
"timeout": 5,
|
|
11
|
-
"statusMessage": "(OmO 5.1.
|
|
11
|
+
"statusMessage": "(OmO 5.1.3) Recommending Git Bash MCP"
|
|
12
12
|
}
|
|
13
13
|
]
|
|
14
14
|
}
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"type": "command",
|
|
21
21
|
"command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook post-compact",
|
|
22
22
|
"timeout": 5,
|
|
23
|
-
"statusMessage": "(OmO 5.1.
|
|
23
|
+
"statusMessage": "(OmO 5.1.3) Resetting Git Bash MCP Reminder"
|
|
24
24
|
}
|
|
25
25
|
]
|
|
26
26
|
}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"type": "command",
|
|
9
9
|
"command": "node \"${PLUGIN_ROOT}/components/lazycodex-executor-verify/dist/cli.js\" hook subagent-stop",
|
|
10
10
|
"timeout": 10,
|
|
11
|
-
"statusMessage": "(OmO 5.1.
|
|
11
|
+
"statusMessage": "(OmO 5.1.3) Verifying LazyCodex Executor Evidence"
|
|
12
12
|
}
|
|
13
13
|
]
|
|
14
14
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
|
-
"version": "5.1.
|
|
4
|
-
"inputDigest": "sha256:
|
|
3
|
+
"version": "5.1.3",
|
|
4
|
+
"inputDigest": "sha256:affd143b968dfe926241288a42ac81d6f67cd8a853569bd8d7bac0c9ee6ed75c",
|
|
5
5
|
"outputs": [
|
|
6
6
|
{
|
|
7
7
|
"path": "cli.d.ts",
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"type": "command",
|
|
9
9
|
"command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook post-tool-use",
|
|
10
10
|
"timeout": 60,
|
|
11
|
-
"statusMessage": "(OmO 5.1.
|
|
11
|
+
"statusMessage": "(OmO 5.1.3) Checking LSP Diagnostics"
|
|
12
12
|
}
|
|
13
13
|
]
|
|
14
14
|
}
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"type": "command",
|
|
22
22
|
"command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook post-compact",
|
|
23
23
|
"timeout": 5,
|
|
24
|
-
"statusMessage": "(OmO 5.1.
|
|
24
|
+
"statusMessage": "(OmO 5.1.3) Resetting LSP Diagnostics Cache"
|
|
25
25
|
}
|
|
26
26
|
]
|
|
27
27
|
}
|