oh-my-opencode 5.0.1 → 5.1.1
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 +2 -1
- package/README.ko.md +2 -1
- package/README.md +2 -1
- package/README.ru.md +2 -1
- package/README.zh-cn.md +2 -1
- package/dist/cli/index.js +851 -546
- package/dist/cli-node/index.js +851 -546
- package/dist/features/background-agent/parent-wake-dedupe.d.ts +1 -0
- package/dist/features/boulder-state/storage.d.ts +1 -1
- package/dist/hooks/comment-checker/downloader.d.ts +3 -1
- package/dist/index.js +2413 -2153
- package/dist/skills/browser/runtime/omowright/manifest.json +1 -1
- package/dist/skills/coding-agent-sessions/SKILL.md +1 -1
- package/dist/skills/coding-agent-sessions/scripts/agent_sessions/aside_scanner.py +3 -0
- package/dist/skills/coding-agent-sessions/scripts/agent_sessions/cli.py +4 -0
- package/dist/skills/coding-agent-sessions/scripts/agent_sessions/file_scanners.py +6 -2
- package/dist/skills/coding-agent-sessions/scripts/agent_sessions/scanners.py +7 -1
- package/dist/skills/coding-agent-sessions/scripts/agent_sessions/transcript.py +3 -1
- package/dist/skills/coding-agent-sessions/scripts/agent_sessions/types.py +3 -1
- package/dist/skills/coding-agent-sessions/scripts/find-agent-sessions.py +4 -0
- package/dist/tui.js +116 -41
- package/package.json +29 -18
- package/packages/lsp-core/src/lsp/fixtures/workspace-edit-server.mjs +3 -0
- package/packages/lsp-core/src/lsp/workspace-apply-edit-lease.integration.test.ts +7 -3
- package/packages/omo-codex/plugin/.codex-plugin/plugin.json +1 -1
- package/packages/omo-codex/plugin/components/bootstrap/dist/cli.js +341 -157
- 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/bootstrap/src/setup.ts +7 -4
- 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/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/AGENTS.md +1 -1
- package/packages/omo-codex/plugin/components/ulw-execute-continuation/dist/cli.js +42 -32
- 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-execute-continuation/src/plan-checklist.ts +55 -29
- package/packages/omo-codex/plugin/components/ulw-execute-continuation/test/boulder-reader.test.ts +51 -0
- 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/coding-agent-sessions/SKILL.md +1 -1
- package/packages/omo-codex/plugin/skills/coding-agent-sessions/scripts/agent_sessions/aside_scanner.py +3 -0
- package/packages/omo-codex/plugin/skills/coding-agent-sessions/scripts/agent_sessions/cli.py +4 -0
- package/packages/omo-codex/plugin/skills/coding-agent-sessions/scripts/agent_sessions/file_scanners.py +6 -2
- package/packages/omo-codex/plugin/skills/coding-agent-sessions/scripts/agent_sessions/scanners.py +7 -1
- package/packages/omo-codex/plugin/skills/coding-agent-sessions/scripts/agent_sessions/transcript.py +3 -1
- package/packages/omo-codex/plugin/skills/coding-agent-sessions/scripts/agent_sessions/types.py +3 -1
- package/packages/omo-codex/plugin/skills/coding-agent-sessions/scripts/find-agent-sessions.py +4 -0
- package/packages/omo-codex/scripts/install-dist/install-local.mjs +10465 -10270
- package/packages/shared-skills/skills/browser/runtime/omowright/manifest.json +1 -1
- package/packages/shared-skills/skills/coding-agent-sessions/SKILL.md +1 -1
- package/packages/shared-skills/skills/coding-agent-sessions/scripts/agent_sessions/aside_scanner.py +3 -0
- package/packages/shared-skills/skills/coding-agent-sessions/scripts/agent_sessions/cli.py +4 -0
- package/packages/shared-skills/skills/coding-agent-sessions/scripts/agent_sessions/file_scanners.py +6 -2
- package/packages/shared-skills/skills/coding-agent-sessions/scripts/agent_sessions/scanners.py +7 -1
- package/packages/shared-skills/skills/coding-agent-sessions/scripts/agent_sessions/transcript.py +3 -1
- package/packages/shared-skills/skills/coding-agent-sessions/scripts/agent_sessions/types.py +3 -1
- package/packages/shared-skills/skills/coding-agent-sessions/scripts/find-agent-sessions.py +4 -0
|
@@ -66,7 +66,7 @@ The finder prints JSON for stdout and `jq`. Every result includes:
|
|
|
66
66
|
| `detail_hint` | Ready-to-run `read` command for detailed inspection |
|
|
67
67
|
| `match_reasons` | Search-only array explaining which field/content matched each query |
|
|
68
68
|
|
|
69
|
-
Each `match_reasons` entry includes `query`, `platform`, `field`, and `snippet`, so you can tell which platform matched and what content caused the hit without opening every transcript.
|
|
69
|
+
Each `match_reasons` entry includes `query`, `platform`, `field`, and `snippet`, so you can tell which platform matched and what content caused the hit without opening every transcript. `field` is `user_message` when the query matched a user prompt that the `first_user_message`/`last_user_message` previews do not cover, such as a prompt in the middle of the session.
|
|
70
70
|
|
|
71
71
|
## Filters
|
|
72
72
|
|
|
@@ -93,6 +93,7 @@ def _aside_session(path: Path, index: dict[str, _StateRow]) -> Session:
|
|
|
93
93
|
sid = _dir_session_id(path.parent.name)
|
|
94
94
|
row = index.get(sid)
|
|
95
95
|
first_user = last_user = ""
|
|
96
|
+
prompts: list[str] = []
|
|
96
97
|
provider = model = None
|
|
97
98
|
created = updated = None
|
|
98
99
|
usage: JsonMap = {}
|
|
@@ -107,6 +108,7 @@ def _aside_session(path: Path, index: dict[str, _StateRow]) -> Session:
|
|
|
107
108
|
if prompt:
|
|
108
109
|
first_user = first_user or prompt
|
|
109
110
|
last_user = prompt
|
|
111
|
+
prompts.append(prompt)
|
|
110
112
|
elif role == "assistant":
|
|
111
113
|
provider = provider or text(data.get("provider"))
|
|
112
114
|
model = model or text(data.get("model"))
|
|
@@ -125,6 +127,7 @@ def _aside_session(path: Path, index: dict[str, _StateRow]) -> Session:
|
|
|
125
127
|
row.parent_id if row is not None else None,
|
|
126
128
|
row.title if row is not None and row.parent_id is not None else None,
|
|
127
129
|
last_user,
|
|
130
|
+
tuple(prompts),
|
|
128
131
|
)
|
|
129
132
|
|
|
130
133
|
|
|
@@ -226,6 +226,10 @@ def _match_reasons(item: Session, query: str) -> list[JsonMap]:
|
|
|
226
226
|
for field, value in _search_fields(item):
|
|
227
227
|
if needle in value.lower():
|
|
228
228
|
reasons.append({"query": query, "platform": item.platform, "field": field, "snippet": _snippet(value, needle)})
|
|
229
|
+
if not reasons:
|
|
230
|
+
prompt = next((message for message in item.user_messages or () if needle in message.lower()), "")
|
|
231
|
+
if prompt:
|
|
232
|
+
reasons.append({"query": query, "platform": item.platform, "field": "user_message", "snippet": _snippet(prompt, needle)})
|
|
229
233
|
return reasons
|
|
230
234
|
|
|
231
235
|
|
|
@@ -80,6 +80,7 @@ def scan_aider(extra_roots: tuple[Path, ...], workers: int) -> list[Session]:
|
|
|
80
80
|
def _droid_session(path: Path) -> Session:
|
|
81
81
|
sid = path.stem
|
|
82
82
|
cwd = model = first_user = last_user = None
|
|
83
|
+
prompts: list[str] = []
|
|
83
84
|
created = updated = None
|
|
84
85
|
settings = as_map(read_json(path.with_suffix(".settings.json"))) or {}
|
|
85
86
|
for data in iter_jsonl(path):
|
|
@@ -94,7 +95,8 @@ def _droid_session(path: Path) -> Session:
|
|
|
94
95
|
if prompt:
|
|
95
96
|
first_user = first_user or prompt
|
|
96
97
|
last_user = prompt
|
|
97
|
-
|
|
98
|
+
prompts.append(prompt)
|
|
99
|
+
return Session("droid", sid, str(path), cwd, created or file_time(path), updated or created or file_time(path), None, text(settings.get("model")) or model, first_user or "", _usage(settings), last_user_message=last_user or "", user_messages=tuple(prompts))
|
|
98
100
|
|
|
99
101
|
|
|
100
102
|
def _amp_sessions(path: Path) -> list[Session]:
|
|
@@ -136,6 +138,7 @@ def _gemini_sessions(path: Path) -> list[Session]:
|
|
|
136
138
|
|
|
137
139
|
def _kimi_session(path: Path) -> Session:
|
|
138
140
|
first_user = last_user = ""
|
|
141
|
+
prompts: list[str] = []
|
|
139
142
|
created = updated = None
|
|
140
143
|
for data in iter_jsonl(path):
|
|
141
144
|
stamp = data.get("timestamp")
|
|
@@ -146,7 +149,8 @@ def _kimi_session(path: Path) -> Session:
|
|
|
146
149
|
if prompt:
|
|
147
150
|
first_user = first_user or prompt
|
|
148
151
|
last_user = prompt
|
|
149
|
-
|
|
152
|
+
prompts.append(prompt)
|
|
153
|
+
return Session("kimi", path.parent.name, str(path), None, created or file_time(path), updated or file_time(path), "moonshot", None, first_user, {}, last_user_message=last_user, user_messages=tuple(prompts))
|
|
150
154
|
|
|
151
155
|
|
|
152
156
|
def _codebuff_sessions(path: Path) -> list[Session]:
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
3
|
from concurrent.futures import ThreadPoolExecutor, as_completed
|
|
4
|
+
from dataclasses import replace
|
|
4
5
|
from pathlib import Path
|
|
5
6
|
from typing import Callable, TypeAlias
|
|
6
7
|
|
|
@@ -95,8 +96,13 @@ def _dedupe(sessions: list[Session]) -> list[Session]:
|
|
|
95
96
|
for session in sessions:
|
|
96
97
|
key = (session.platform, session.id)
|
|
97
98
|
current = found.get(key)
|
|
98
|
-
if current is None
|
|
99
|
+
if current is None:
|
|
99
100
|
found[key] = session
|
|
101
|
+
continue
|
|
102
|
+
winner, twin = (session, current) if _linkage_score(session) > _linkage_score(current) else (current, session)
|
|
103
|
+
if winner.user_messages is None and twin.user_messages is not None:
|
|
104
|
+
winner = replace(winner, user_messages=twin.user_messages)
|
|
105
|
+
found[key] = winner
|
|
100
106
|
return list(found.values())
|
|
101
107
|
|
|
102
108
|
|
|
@@ -39,6 +39,7 @@ def jsonl_session(platform: str, path: Path, fallback_id: str) -> Session:
|
|
|
39
39
|
sid = fallback_id
|
|
40
40
|
cwd = provider = model = first_user = parent = agent = None
|
|
41
41
|
last_user = ""
|
|
42
|
+
prompts: list[str] = []
|
|
42
43
|
created = updated = None
|
|
43
44
|
usage: JsonMap = {}
|
|
44
45
|
for data in iter_jsonl(path):
|
|
@@ -65,8 +66,9 @@ def jsonl_session(platform: str, path: Path, fallback_id: str) -> Session:
|
|
|
65
66
|
if prompt:
|
|
66
67
|
first_user = first_user or prompt
|
|
67
68
|
last_user = prompt
|
|
69
|
+
prompts.append(prompt)
|
|
68
70
|
merge_usage(usage, as_map(message.get("usage")) or as_map(data.get("usage")))
|
|
69
|
-
return Session(platform, sid, str(path), cwd, created or file_time(path), updated or created or file_time(path), provider, model, first_user or "", usage, parent, agent, last_user)
|
|
71
|
+
return Session(platform, sid, str(path), cwd, created or file_time(path), updated or created or file_time(path), provider, model, first_user or "", usage, parent, agent, last_user, tuple(prompts))
|
|
70
72
|
|
|
71
73
|
|
|
72
74
|
def spawn_info(source: Json | None) -> tuple[str | None, str | None]:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
-
from dataclasses import dataclass
|
|
3
|
+
from dataclasses import dataclass, field
|
|
4
4
|
from pathlib import Path
|
|
5
5
|
from typing import TypeAlias
|
|
6
6
|
|
|
@@ -38,6 +38,8 @@ class Session:
|
|
|
38
38
|
parent_id: str | None = None
|
|
39
39
|
agent: str | None = None
|
|
40
40
|
last_user_message: str = ""
|
|
41
|
+
# Every user prompt the scanner already parsed, kept for search only; None when the scanner did not read the whole transcript.
|
|
42
|
+
user_messages: tuple[str, ...] | None = field(default=None, compare=False, repr=False)
|
|
41
43
|
|
|
42
44
|
def to_json(self) -> JsonMap:
|
|
43
45
|
return {
|
|
@@ -16,4 +16,8 @@ sys.path.insert(0, str(Path(__file__).resolve().parent))
|
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
if __name__ == "__main__":
|
|
19
|
+
if sys.version_info < (3, 11):
|
|
20
|
+
found = ".".join(str(part) for part in sys.version_info[:3])
|
|
21
|
+
_ = sys.stderr.write(f"find-agent-sessions requires Python 3.11 or newer (found {found}); run it with python3.11+ or `uv run`.\n")
|
|
22
|
+
raise SystemExit(2)
|
|
19
23
|
_ = runpy.run_module("agent_sessions.cli", run_name="__main__")
|
package/dist/tui.js
CHANGED
|
@@ -2911,6 +2911,9 @@ function getActiveReservation(sessionID) {
|
|
|
2911
2911
|
pruneExpiredReservations();
|
|
2912
2912
|
return promptAsyncReservations.get(sessionID);
|
|
2913
2913
|
}
|
|
2914
|
+
function reservedDispatchResult(reservation) {
|
|
2915
|
+
return reservation.expiresAt === undefined ? { status: "reserved", reservedBy: reservation.source } : { status: "reserved", reservedBy: reservation.source, expiresAt: reservation.expiresAt };
|
|
2916
|
+
}
|
|
2914
2917
|
function setPromptReservation(sessionID, reservation) {
|
|
2915
2918
|
promptAsyncReservations.set(sessionID, reservation);
|
|
2916
2919
|
}
|
|
@@ -2960,7 +2963,7 @@ async function dispatchAfterSessionIdle(args) {
|
|
|
2960
2963
|
reservedBy: existing.source,
|
|
2961
2964
|
reservedAgeMs: Date.now() - existing.reservedAt
|
|
2962
2965
|
});
|
|
2963
|
-
return
|
|
2966
|
+
return reservedDispatchResult(existing);
|
|
2964
2967
|
}
|
|
2965
2968
|
const reservation = {
|
|
2966
2969
|
source,
|
|
@@ -3499,12 +3502,12 @@ var init_category_model_requirements = __esm(() => {
|
|
|
3499
3502
|
},
|
|
3500
3503
|
"deep-low": {
|
|
3501
3504
|
fallbackChain: [
|
|
3502
|
-
{ providers: ["openai", "chatgpt-subscription"], model: "gpt-5.6-sol-fast", variant: "medium" },
|
|
3503
3505
|
{
|
|
3504
3506
|
providers: ["openai", "chatgpt-subscription", "github-copilot", "opencode"],
|
|
3505
3507
|
model: "gpt-5.6-sol",
|
|
3506
3508
|
variant: "medium"
|
|
3507
|
-
}
|
|
3509
|
+
},
|
|
3510
|
+
{ providers: ["openai", "chatgpt-subscription"], model: "gpt-5.6-sol-fast", variant: "medium" }
|
|
3508
3511
|
]
|
|
3509
3512
|
},
|
|
3510
3513
|
"deep-high": {
|
|
@@ -3556,6 +3559,11 @@ var init_category_model_requirements = __esm(() => {
|
|
|
3556
3559
|
},
|
|
3557
3560
|
"unspecified-low": {
|
|
3558
3561
|
fallbackChain: [
|
|
3562
|
+
{
|
|
3563
|
+
providers: ["anthropic", "anthropic-api", "github-copilot", "opencode"],
|
|
3564
|
+
model: "claude-sonnet-5-5",
|
|
3565
|
+
variant: "medium"
|
|
3566
|
+
},
|
|
3559
3567
|
{ providers: ["xiaomi", "opencode-go"], model: "mimo-v2.6-pro", variant: "max" },
|
|
3560
3568
|
{ providers: ["xai", "github-copilot", "opencode-go"], model: "grok-4.7", variant: "xhigh" },
|
|
3561
3569
|
{
|
|
@@ -3935,8 +3943,17 @@ var init_model_resolver = () => {};
|
|
|
3935
3943
|
// packages/model-core/src/fallback-chain-from-models.ts
|
|
3936
3944
|
var init_fallback_chain_from_models = () => {};
|
|
3937
3945
|
|
|
3946
|
+
// packages/model-core/src/runtime-fallback-auto-retry-signal.ts
|
|
3947
|
+
var init_runtime_fallback_auto_retry_signal = () => {};
|
|
3948
|
+
|
|
3949
|
+
// packages/model-core/src/runtime-fallback-error-shape.ts
|
|
3950
|
+
var init_runtime_fallback_error_shape = () => {};
|
|
3951
|
+
|
|
3952
|
+
// packages/model-core/src/runtime-fallback-error-classifier.ts
|
|
3953
|
+
var init_runtime_fallback_error_classifier = () => {};
|
|
3954
|
+
|
|
3938
3955
|
// packages/model-core/src/model-error-classifier.ts
|
|
3939
|
-
var RETRYABLE_ERROR_NAMES,
|
|
3956
|
+
var RETRYABLE_ERROR_NAMES, NON_RETRYABLE_ERROR_NAMES;
|
|
3940
3957
|
var init_model_error_classifier = __esm(() => {
|
|
3941
3958
|
RETRYABLE_ERROR_NAMES = new Set([
|
|
3942
3959
|
"providermodelnotfounderror",
|
|
@@ -3945,11 +3962,6 @@ var init_model_error_classifier = __esm(() => {
|
|
|
3945
3962
|
"providerconnectionerror",
|
|
3946
3963
|
"authenticationerror"
|
|
3947
3964
|
]);
|
|
3948
|
-
STOP_ERROR_NAMES = new Set([
|
|
3949
|
-
"quotaexceedederror",
|
|
3950
|
-
"insufficientcreditserror",
|
|
3951
|
-
"freeusagelimiterror"
|
|
3952
|
-
]);
|
|
3953
3965
|
NON_RETRYABLE_ERROR_NAMES = new Set([
|
|
3954
3966
|
"messageabortederror",
|
|
3955
3967
|
"permissiondeniederror",
|
|
@@ -3961,15 +3973,6 @@ var init_model_error_classifier = __esm(() => {
|
|
|
3961
3973
|
]);
|
|
3962
3974
|
});
|
|
3963
3975
|
|
|
3964
|
-
// packages/model-core/src/runtime-fallback-auto-retry-signal.ts
|
|
3965
|
-
var init_runtime_fallback_auto_retry_signal = () => {};
|
|
3966
|
-
|
|
3967
|
-
// packages/model-core/src/runtime-fallback-error-shape.ts
|
|
3968
|
-
var init_runtime_fallback_error_shape = () => {};
|
|
3969
|
-
|
|
3970
|
-
// packages/model-core/src/runtime-fallback-error-classifier.ts
|
|
3971
|
-
var init_runtime_fallback_error_classifier = () => {};
|
|
3972
|
-
|
|
3973
3976
|
// packages/model-core/src/provider-exhaustion-fallback-policy.ts
|
|
3974
3977
|
var init_provider_exhaustion_fallback_policy = () => {};
|
|
3975
3978
|
|
|
@@ -4275,6 +4278,36 @@ var init_supplemental_entries = __esm(() => {
|
|
|
4275
4278
|
output: 32768
|
|
4276
4279
|
}
|
|
4277
4280
|
},
|
|
4281
|
+
"claude-sonnet-5-5": {
|
|
4282
|
+
id: "claude-sonnet-5-5",
|
|
4283
|
+
family: "claude-sonnet",
|
|
4284
|
+
reasoning: true,
|
|
4285
|
+
temperature: false,
|
|
4286
|
+
toolCall: true,
|
|
4287
|
+
modalities: {
|
|
4288
|
+
input: ["text", "image", "pdf"],
|
|
4289
|
+
output: ["text"]
|
|
4290
|
+
},
|
|
4291
|
+
limit: {
|
|
4292
|
+
context: 1e6,
|
|
4293
|
+
output: 128000
|
|
4294
|
+
}
|
|
4295
|
+
},
|
|
4296
|
+
"anthropic/claude-sonnet-5-5": {
|
|
4297
|
+
id: "anthropic/claude-sonnet-5-5",
|
|
4298
|
+
family: "claude-sonnet",
|
|
4299
|
+
reasoning: true,
|
|
4300
|
+
temperature: false,
|
|
4301
|
+
toolCall: true,
|
|
4302
|
+
modalities: {
|
|
4303
|
+
input: ["text", "image", "pdf"],
|
|
4304
|
+
output: ["text"]
|
|
4305
|
+
},
|
|
4306
|
+
limit: {
|
|
4307
|
+
context: 1e6,
|
|
4308
|
+
output: 128000
|
|
4309
|
+
}
|
|
4310
|
+
},
|
|
4278
4311
|
"grok-4.7": {
|
|
4279
4312
|
id: "grok-4.7",
|
|
4280
4313
|
family: "grok",
|
|
@@ -5235,7 +5268,7 @@ var init_openai_categories = __esm(() => {
|
|
|
5235
5268
|
},
|
|
5236
5269
|
{
|
|
5237
5270
|
name: "deep-low",
|
|
5238
|
-
config: { model: "openai/gpt-5.6-sol
|
|
5271
|
+
config: { model: "openai/gpt-5.6-sol", variant: "medium" },
|
|
5239
5272
|
description: "Default deep lane: one goal, one deliverable, decisions the child can settle from what it reads. **3D graphics, computer/browser use, CAPTCHA, multimodal, backend, logic, and algorithm work is routed here.** Multiple goals fan out as parallel calls.",
|
|
5240
5273
|
callerGuidance: DEEP_LOW_CATEGORY_CALLER_GUIDANCE,
|
|
5241
5274
|
promptAppend: DEEP_LOW_CATEGORY_PROMPT_APPEND,
|
|
@@ -5260,7 +5293,7 @@ var init_openai_categories = __esm(() => {
|
|
|
5260
5293
|
},
|
|
5261
5294
|
{
|
|
5262
5295
|
name: "unspecified-low",
|
|
5263
|
-
config: { model: "
|
|
5296
|
+
config: { model: "anthropic/claude-sonnet-5-5", variant: "medium" },
|
|
5264
5297
|
description: "Tasks that don't fit other categories, low effort required",
|
|
5265
5298
|
callerGuidance: UNSPECIFIED_LOW_CATEGORY_CALLER_GUIDANCE,
|
|
5266
5299
|
promptAppend: UNSPECIFIED_LOW_CATEGORY_PROMPT_APPEND
|
|
@@ -69754,6 +69787,29 @@ var init_category = __esm(() => {
|
|
|
69754
69787
|
OmoCategoriesConfigSchema = record(string2(), OmoCategoryConfigSchema);
|
|
69755
69788
|
});
|
|
69756
69789
|
|
|
69790
|
+
// packages/omo-config-core/src/schema/computer.ts
|
|
69791
|
+
var positiveInteger, nonNegativeInteger, OmoComputerSettingsLayerSchema, OmoComputerSettingsSchema;
|
|
69792
|
+
var init_computer = __esm(() => {
|
|
69793
|
+
init_zod();
|
|
69794
|
+
positiveInteger = number2().int().positive();
|
|
69795
|
+
nonNegativeInteger = number2().int().nonnegative();
|
|
69796
|
+
OmoComputerSettingsLayerSchema = object({
|
|
69797
|
+
enabled: boolean2().describe("Experimental: register the computer tool in OmO Native sessions (default: on where the host is supported; false leaves it unregistered)"),
|
|
69798
|
+
display: string2().min(1),
|
|
69799
|
+
max_width: positiveInteger,
|
|
69800
|
+
max_height: positiveInteger,
|
|
69801
|
+
screenshot_max_bytes: positiveInteger,
|
|
69802
|
+
stop_hotkey: string2().min(1),
|
|
69803
|
+
allow_host_relay_only_stop: boolean2(),
|
|
69804
|
+
macos_canary: _enum(["session", "off"]),
|
|
69805
|
+
audit_log: object({ enabled: boolean2() }).partial().strict(),
|
|
69806
|
+
screenshot_gc: object({ enabled: boolean2(), stale_ms: nonNegativeInteger, scan_interval_ms: nonNegativeInteger }).partial().strict(),
|
|
69807
|
+
engine_path: string2().min(1),
|
|
69808
|
+
cua_adapter: boolean2()
|
|
69809
|
+
}).partial().strict().describe("Experimental computer use in OmO Native: screenshots, windows, accessibility trees and native mouse and keyboard input. Every key is optional; defaults depend on the host.");
|
|
69810
|
+
OmoComputerSettingsSchema = OmoComputerSettingsLayerSchema;
|
|
69811
|
+
});
|
|
69812
|
+
|
|
69757
69813
|
// packages/omo-config-core/src/schema/git-master.ts
|
|
69758
69814
|
var OmoGitMasterSettingsShape, OmoGitMasterSettingsLayerSchema, OmoGitMasterSettingsSchema;
|
|
69759
69815
|
var init_git_master = __esm(() => {
|
|
@@ -70026,11 +70082,11 @@ function resolveOmoTaskSettings(input, resolveParallelism = availableParallelism
|
|
|
70026
70082
|
const record2 = record(string2(), unknown()).parse(input);
|
|
70027
70083
|
return OmoTaskSettingsSchema.parse({
|
|
70028
70084
|
...record2,
|
|
70029
|
-
residency_max_children: record2["residency_max_children"] ??
|
|
70085
|
+
residency_max_children: record2["residency_max_children"] ?? DEFAULT_RESIDENCY_MAX_CHILDREN,
|
|
70030
70086
|
global_concurrency: record2["global_concurrency"] ?? Math.max(8, resolveParallelism() * 2)
|
|
70031
70087
|
});
|
|
70032
70088
|
}
|
|
70033
|
-
var DEFAULT_RESIDENCY_MAX_CHILDREN =
|
|
70089
|
+
var DEFAULT_RESIDENCY_MAX_CHILDREN = "unlimited", ResidencyMaxChildrenInputSchema, OmoTaskWaitSchema, OmoTaskTeamSettingsSchema, OmoTaskWarningsSchema, IsolationBackendKindSchema, OmoTaskIsolationSchema, isolationDefaults, OmoTaskIsolationLayerSchema, OmoTaskDagSettingsSchema, OmoTaskSettingsSchema, OmoTaskDagSettingsLayerSchema, OmoTaskWaitLayerSchema, OmoTaskTeamSettingsLayerSchema, OmoTaskWarningsLayerSchema, OmoTaskSettingsLayerSchema;
|
|
70034
70090
|
var init_task = __esm(() => {
|
|
70035
70091
|
init_zod();
|
|
70036
70092
|
ResidencyMaxChildrenInputSchema = union([number2().int().nonnegative(), literal("unlimited")]);
|
|
@@ -70088,12 +70144,13 @@ var init_task = __esm(() => {
|
|
|
70088
70144
|
process_runner: _enum(["host", "child-process"]).default("host"),
|
|
70089
70145
|
host_engine_policy: _enum(["upgrade", "fallback"]).default("upgrade"),
|
|
70090
70146
|
host_idle_exit_ms: number2().int().positive().optional(),
|
|
70147
|
+
host_shard_prewarm: _enum(["off", "first-turn", "session-start"]).default("first-turn"),
|
|
70091
70148
|
default_concurrency: number2().int().nonnegative().default(5),
|
|
70092
70149
|
global_concurrency: number2().int().nonnegative().default(8),
|
|
70093
70150
|
provider_concurrency: record(string2(), number2().int().nonnegative()).optional(),
|
|
70094
70151
|
model_concurrency: record(string2(), number2().int().nonnegative()).optional(),
|
|
70095
70152
|
max_depth: number2().int().nonnegative().default(1),
|
|
70096
|
-
residency_max_children: ResidencyMaxChildrenInputSchema.default(
|
|
70153
|
+
residency_max_children: ResidencyMaxChildrenInputSchema.default(DEFAULT_RESIDENCY_MAX_CHILDREN),
|
|
70097
70154
|
resident_idle_timeout_ms: number2().int().positive().max(Number.MAX_SAFE_INTEGER).default(900000),
|
|
70098
70155
|
ttl_ms: number2().int().positive().default(86400000),
|
|
70099
70156
|
state_dir: string2().optional(),
|
|
@@ -70137,6 +70194,7 @@ var init_task = __esm(() => {
|
|
|
70137
70194
|
process_runner: _enum(["host", "child-process"]).optional(),
|
|
70138
70195
|
host_engine_policy: _enum(["upgrade", "fallback"]).optional(),
|
|
70139
70196
|
host_idle_exit_ms: number2().int().positive().optional(),
|
|
70197
|
+
host_shard_prewarm: _enum(["off", "first-turn", "session-start"]).optional(),
|
|
70140
70198
|
default_concurrency: number2().int().nonnegative().optional(),
|
|
70141
70199
|
global_concurrency: number2().int().nonnegative().optional(),
|
|
70142
70200
|
provider_concurrency: record(string2(), number2().int().nonnegative()).optional(),
|
|
@@ -70244,6 +70302,7 @@ var init_config = __esm(() => {
|
|
|
70244
70302
|
init_zod();
|
|
70245
70303
|
init_agent();
|
|
70246
70304
|
init_category();
|
|
70305
|
+
init_computer();
|
|
70247
70306
|
init_git_master();
|
|
70248
70307
|
init_memory();
|
|
70249
70308
|
init_model_catalog();
|
|
@@ -70266,6 +70325,7 @@ var init_config = __esm(() => {
|
|
|
70266
70325
|
model_profile: string2().optional(),
|
|
70267
70326
|
memory: OmoMemorySettingsLayerSchema.optional(),
|
|
70268
70327
|
telemetry: OmoTelemetrySettingsLayerSchema.optional(),
|
|
70328
|
+
computer: OmoComputerSettingsLayerSchema.optional(),
|
|
70269
70329
|
disabled_skills: OmoDisabledSkillsSchema.optional()
|
|
70270
70330
|
}).strict();
|
|
70271
70331
|
OmoConfigProfileSchema = object({
|
|
@@ -70280,6 +70340,7 @@ var init_config = __esm(() => {
|
|
|
70280
70340
|
model_profile: string2().optional(),
|
|
70281
70341
|
memory: OmoMemorySettingsLayerSchema.optional(),
|
|
70282
70342
|
telemetry: OmoTelemetrySettingsLayerSchema.optional(),
|
|
70343
|
+
computer: OmoComputerSettingsLayerSchema.optional(),
|
|
70283
70344
|
disabled_skills: OmoDisabledSkillsSchema.optional(),
|
|
70284
70345
|
"[opencode]": OmoOpenCodeHarnessConfigSchema.optional(),
|
|
70285
70346
|
"[native]": OmoTypedHarnessConfigSchema.optional(),
|
|
@@ -70299,6 +70360,7 @@ var init_config = __esm(() => {
|
|
|
70299
70360
|
model_profile: string2().optional(),
|
|
70300
70361
|
memory: OmoMemorySettingsSchema.optional(),
|
|
70301
70362
|
telemetry: OmoTelemetrySettingsSchema.optional(),
|
|
70363
|
+
computer: OmoComputerSettingsSchema.optional(),
|
|
70302
70364
|
disabled_skills: OmoDisabledSkillsSchema.optional(),
|
|
70303
70365
|
"[opencode]": OmoOpenCodeHarnessConfigSchema.optional(),
|
|
70304
70366
|
"[native]": OmoTypedHarnessConfigSchema.optional(),
|
|
@@ -70321,6 +70383,7 @@ var init_config = __esm(() => {
|
|
|
70321
70383
|
model_profile: string2().optional(),
|
|
70322
70384
|
memory: OmoMemorySettingsLayerSchema.optional(),
|
|
70323
70385
|
telemetry: OmoTelemetrySettingsLayerSchema.optional(),
|
|
70386
|
+
computer: OmoComputerSettingsLayerSchema.optional(),
|
|
70324
70387
|
disabled_skills: OmoDisabledSkillsSchema.optional(),
|
|
70325
70388
|
"[opencode]": OmoOpenCodeHarnessConfigSchema.optional(),
|
|
70326
70389
|
"[native]": OmoTypedHarnessConfigSchema.optional(),
|
|
@@ -70460,6 +70523,7 @@ var init_schema = __esm(() => {
|
|
|
70460
70523
|
init_task();
|
|
70461
70524
|
init_team();
|
|
70462
70525
|
init_telemetry();
|
|
70526
|
+
init_computer();
|
|
70463
70527
|
});
|
|
70464
70528
|
|
|
70465
70529
|
// packages/omo-config-core/src/loader/disabled-skills.ts
|
|
@@ -74150,7 +74214,7 @@ init_shared();
|
|
|
74150
74214
|
// package.json
|
|
74151
74215
|
var package_default = {
|
|
74152
74216
|
name: "oh-my-opencode",
|
|
74153
|
-
version: "5.
|
|
74217
|
+
version: "5.1.1",
|
|
74154
74218
|
description: "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
|
|
74155
74219
|
main: "./dist/index.js",
|
|
74156
74220
|
types: "dist/index.d.ts",
|
|
@@ -74183,6 +74247,11 @@ var package_default = {
|
|
|
74183
74247
|
"packages/omo-codex",
|
|
74184
74248
|
"packages/omo-senpi",
|
|
74185
74249
|
"packages/senpi-task",
|
|
74250
|
+
"packages/senpi-desktop-protocol",
|
|
74251
|
+
"packages/senpi-desktop-engine",
|
|
74252
|
+
"packages/senpi-desktop-prelude",
|
|
74253
|
+
"packages/senpi-desktop-service",
|
|
74254
|
+
"packages/senpi-desktop-tool",
|
|
74186
74255
|
"packages/omo-opencode",
|
|
74187
74256
|
"packages/omo-native"
|
|
74188
74257
|
],
|
|
@@ -74284,7 +74353,7 @@ var package_default = {
|
|
|
74284
74353
|
prepublishOnly: "bun run clean && bun run build:lsp-tools-mcp && bun run build:lsp-daemon && bun run build",
|
|
74285
74354
|
"test:model-capabilities": "bun test --timeout 20000 packages/model-core/src/model-capability-aliases.test.ts packages/model-core/src/model-capability-guardrails.test.ts packages/model-core/src/model-capabilities.test.ts packages/omo-opencode/src/cli/doctor/checks/model-resolution.test.ts --bail",
|
|
74286
74355
|
typecheck: "tsgo --noEmit && bun run typecheck:script && bun run typecheck:packages",
|
|
74287
|
-
"typecheck:packages": "tsgo --noEmit -p packages/rules-engine/tsconfig.json && tsgo --noEmit -p packages/delegate-core/tsconfig.json && tsgo --noEmit -p packages/mcp-stdio-core/tsconfig.json && tsgo --noEmit -p packages/mcp-client-core/tsconfig.json && tsgo --noEmit -p packages/git-bash-mcp/tsconfig.json && tsgo --noEmit -p packages/ast-grep-mcp/tsconfig.json && tsgo --noEmit -p packages/lsp-core/tsconfig.json && tsgo --noEmit -p packages/utils/tsconfig.json && tsgo --noEmit -p packages/model-core/tsconfig.json && tsgo --noEmit -p packages/omo-config-core/tsconfig.json && tsgo --noEmit -p packages/prompts-core/tsconfig.json && tsgo --noEmit -p packages/comment-checker-core/tsconfig.json && tsgo --noEmit -p packages/hashline-core/tsconfig.json && tsgo --noEmit -p packages/tmux-core/tsconfig.json && tsgo --noEmit -p packages/team-core/tsconfig.json && tsgo --noEmit -p packages/openclaw-core/tsconfig.json && tsgo --noEmit -p packages/boulder-state/tsconfig.json && tsgo --noEmit -p packages/isolation-core/tsconfig.json && tsgo --noEmit -p packages/memory-core/tsconfig.json && tsgo --noEmit -p packages/telemetry-core/tsconfig.json && tsgo --noEmit -p packages/claude-code-compat-core/tsconfig.json && tsgo --noEmit -p packages/skills-loader-core/tsconfig.json && tsgo --noEmit -p packages/agents-md-core/tsconfig.json && tsgo --noEmit -p packages/omo-codex/plugin/shared/tsconfig.json && tsgo --noEmit -p packages/omo-codex/tsconfig.json && tsgo --noEmit -p packages/omo-senpi/tsconfig.json && tsgo --noEmit -p packages/senpi-task/tsconfig.json && tsgo --noEmit -p packages/omo-opencode/tsconfig.json && tsgo --noEmit -p packages/omo-native/tsconfig.json",
|
|
74356
|
+
"typecheck:packages": "tsgo --noEmit -p packages/rules-engine/tsconfig.json && tsgo --noEmit -p packages/delegate-core/tsconfig.json && tsgo --noEmit -p packages/mcp-stdio-core/tsconfig.json && tsgo --noEmit -p packages/mcp-client-core/tsconfig.json && tsgo --noEmit -p packages/git-bash-mcp/tsconfig.json && tsgo --noEmit -p packages/ast-grep-mcp/tsconfig.json && tsgo --noEmit -p packages/lsp-core/tsconfig.json && tsgo --noEmit -p packages/utils/tsconfig.json && tsgo --noEmit -p packages/model-core/tsconfig.json && tsgo --noEmit -p packages/omo-config-core/tsconfig.json && tsgo --noEmit -p packages/prompts-core/tsconfig.json && tsgo --noEmit -p packages/comment-checker-core/tsconfig.json && tsgo --noEmit -p packages/hashline-core/tsconfig.json && tsgo --noEmit -p packages/tmux-core/tsconfig.json && tsgo --noEmit -p packages/team-core/tsconfig.json && tsgo --noEmit -p packages/openclaw-core/tsconfig.json && tsgo --noEmit -p packages/boulder-state/tsconfig.json && tsgo --noEmit -p packages/isolation-core/tsconfig.json && tsgo --noEmit -p packages/memory-core/tsconfig.json && tsgo --noEmit -p packages/telemetry-core/tsconfig.json && tsgo --noEmit -p packages/claude-code-compat-core/tsconfig.json && tsgo --noEmit -p packages/skills-loader-core/tsconfig.json && tsgo --noEmit -p packages/agents-md-core/tsconfig.json && tsgo --noEmit -p packages/omo-codex/plugin/shared/tsconfig.json && tsgo --noEmit -p packages/omo-codex/tsconfig.json && tsgo --noEmit -p packages/omo-senpi/tsconfig.json && tsgo --noEmit -p packages/senpi-task/tsconfig.json && tsgo --noEmit -p packages/omo-opencode/tsconfig.json && tsgo --noEmit -p packages/omo-native/tsconfig.json && tsgo --noEmit -p packages/senpi-desktop-protocol/tsconfig.json && tsgo --noEmit -p packages/senpi-desktop-engine/tsconfig.json && tsgo --noEmit -p packages/senpi-desktop-prelude/tsconfig.json && tsgo --noEmit -p packages/senpi-desktop-service/tsconfig.json && tsgo --noEmit -p packages/senpi-desktop-tool/tsconfig.json",
|
|
74288
74357
|
"typecheck:script": "tsgo --noEmit -p script/tsconfig.json",
|
|
74289
74358
|
test: "bun test --timeout 20000",
|
|
74290
74359
|
"changelog:section": "bun script/changelog-section.ts",
|
|
@@ -74293,7 +74362,8 @@ var package_default = {
|
|
|
74293
74362
|
"test:senpi": "bun run build:senpi-plugin && tsgo --noEmit -p packages/omo-senpi/tsconfig.json && bun test --timeout 20000 packages/omo-senpi && bun test ./.agents/skills/senpi-qa/scripts/resolve-evidence-dir.test.mjs",
|
|
74294
74363
|
"test:windows-codex": "bun run test:codex",
|
|
74295
74364
|
"build:git-bash-mcp": "bun run --cwd packages/git-bash-mcp build",
|
|
74296
|
-
"build:ast-grep-mcp": "bun run --cwd packages/ast-grep-mcp build"
|
|
74365
|
+
"build:ast-grep-mcp": "bun run --cwd packages/ast-grep-mcp build",
|
|
74366
|
+
"test:desktop": "bun script/check-cargo-pinned-deps.mjs && bun run --cwd packages/senpi-desktop-protocol test && bun run --cwd packages/senpi-desktop-engine test && bun run --cwd packages/senpi-desktop-prelude test && bun run --cwd packages/senpi-desktop-service test && bun run --cwd packages/senpi-desktop-tool test"
|
|
74297
74367
|
},
|
|
74298
74368
|
keywords: [
|
|
74299
74369
|
"opencode",
|
|
@@ -74333,7 +74403,7 @@ var package_default = {
|
|
|
74333
74403
|
zod: "^4.6.5"
|
|
74334
74404
|
},
|
|
74335
74405
|
devDependencies: {
|
|
74336
|
-
"@code-yeongyu/senpi": "2026.9.
|
|
74406
|
+
"@code-yeongyu/senpi": "2026.9.29",
|
|
74337
74407
|
"@oh-my-opencode/agents-md-core": "workspace:*",
|
|
74338
74408
|
"@oh-my-opencode/ast-grep-mcp": "workspace:*",
|
|
74339
74409
|
"@oh-my-opencode/boulder-state": "workspace:*",
|
|
@@ -74342,11 +74412,11 @@ var package_default = {
|
|
|
74342
74412
|
"@oh-my-opencode/delegate-core": "workspace:*",
|
|
74343
74413
|
"@oh-my-opencode/git-bash-mcp": "workspace:*",
|
|
74344
74414
|
"@oh-my-opencode/hashline-core": "workspace:*",
|
|
74345
|
-
"@oh-my-opencode/lsp-core": "workspace:*",
|
|
74346
74415
|
"@oh-my-opencode/isolation-core": "workspace:*",
|
|
74347
|
-
"@oh-my-opencode/
|
|
74416
|
+
"@oh-my-opencode/lsp-core": "workspace:*",
|
|
74348
74417
|
"@oh-my-opencode/mcp-client-core": "workspace:*",
|
|
74349
74418
|
"@oh-my-opencode/mcp-stdio-core": "workspace:*",
|
|
74419
|
+
"@oh-my-opencode/memory-core": "workspace:*",
|
|
74350
74420
|
"@oh-my-opencode/model-core": "workspace:*",
|
|
74351
74421
|
"@oh-my-opencode/omo-codex": "workspace:*",
|
|
74352
74422
|
"@oh-my-opencode/omo-config-core": "workspace:*",
|
|
@@ -74355,6 +74425,11 @@ var package_default = {
|
|
|
74355
74425
|
"@oh-my-opencode/openclaw-core": "workspace:*",
|
|
74356
74426
|
"@oh-my-opencode/prompts-core": "workspace:*",
|
|
74357
74427
|
"@oh-my-opencode/rules-engine": "workspace:*",
|
|
74428
|
+
"@oh-my-opencode/senpi-desktop-engine": "workspace:*",
|
|
74429
|
+
"@oh-my-opencode/senpi-desktop-prelude": "workspace:*",
|
|
74430
|
+
"@oh-my-opencode/senpi-desktop-protocol": "workspace:*",
|
|
74431
|
+
"@oh-my-opencode/senpi-desktop-service": "workspace:*",
|
|
74432
|
+
"@oh-my-opencode/senpi-desktop-tool": "workspace:*",
|
|
74358
74433
|
"@oh-my-opencode/senpi-task": "workspace:*",
|
|
74359
74434
|
"@oh-my-opencode/shared-skills": "workspace:*",
|
|
74360
74435
|
"@oh-my-opencode/skills-loader-core": "workspace:*",
|
|
@@ -74374,18 +74449,18 @@ var package_default = {
|
|
|
74374
74449
|
typescript: "^7.0.2"
|
|
74375
74450
|
},
|
|
74376
74451
|
optionalDependencies: {
|
|
74377
|
-
"oh-my-opencode-darwin-arm64": "5.
|
|
74378
|
-
"oh-my-opencode-darwin-x64": "5.
|
|
74379
|
-
"oh-my-opencode-darwin-x64-baseline": "5.
|
|
74380
|
-
"oh-my-opencode-linux-arm64": "5.
|
|
74381
|
-
"oh-my-opencode-linux-arm64-musl": "5.
|
|
74382
|
-
"oh-my-opencode-linux-x64": "5.
|
|
74383
|
-
"oh-my-opencode-linux-x64-baseline": "5.
|
|
74384
|
-
"oh-my-opencode-linux-x64-musl": "5.
|
|
74385
|
-
"oh-my-opencode-linux-x64-musl-baseline": "5.
|
|
74386
|
-
"oh-my-opencode-windows-arm64": "5.
|
|
74387
|
-
"oh-my-opencode-windows-x64": "5.
|
|
74388
|
-
"oh-my-opencode-windows-x64-baseline": "5.
|
|
74452
|
+
"oh-my-opencode-darwin-arm64": "5.1.1",
|
|
74453
|
+
"oh-my-opencode-darwin-x64": "5.1.1",
|
|
74454
|
+
"oh-my-opencode-darwin-x64-baseline": "5.1.1",
|
|
74455
|
+
"oh-my-opencode-linux-arm64": "5.1.1",
|
|
74456
|
+
"oh-my-opencode-linux-arm64-musl": "5.1.1",
|
|
74457
|
+
"oh-my-opencode-linux-x64": "5.1.1",
|
|
74458
|
+
"oh-my-opencode-linux-x64-baseline": "5.1.1",
|
|
74459
|
+
"oh-my-opencode-linux-x64-musl": "5.1.1",
|
|
74460
|
+
"oh-my-opencode-linux-x64-musl-baseline": "5.1.1",
|
|
74461
|
+
"oh-my-opencode-windows-arm64": "5.1.1",
|
|
74462
|
+
"oh-my-opencode-windows-x64": "5.1.1",
|
|
74463
|
+
"oh-my-opencode-windows-x64-baseline": "5.1.1"
|
|
74389
74464
|
},
|
|
74390
74465
|
overrides: {
|
|
74391
74466
|
"@earendil-works/pi-agent-core": "0.84.2",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "oh-my-opencode",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.1.1",
|
|
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",
|
|
@@ -33,6 +33,11 @@
|
|
|
33
33
|
"packages/omo-codex",
|
|
34
34
|
"packages/omo-senpi",
|
|
35
35
|
"packages/senpi-task",
|
|
36
|
+
"packages/senpi-desktop-protocol",
|
|
37
|
+
"packages/senpi-desktop-engine",
|
|
38
|
+
"packages/senpi-desktop-prelude",
|
|
39
|
+
"packages/senpi-desktop-service",
|
|
40
|
+
"packages/senpi-desktop-tool",
|
|
36
41
|
"packages/omo-opencode",
|
|
37
42
|
"packages/omo-native"
|
|
38
43
|
],
|
|
@@ -134,7 +139,7 @@
|
|
|
134
139
|
"prepublishOnly": "bun run clean && bun run build:lsp-tools-mcp && bun run build:lsp-daemon && bun run build",
|
|
135
140
|
"test:model-capabilities": "bun test --timeout 20000 packages/model-core/src/model-capability-aliases.test.ts packages/model-core/src/model-capability-guardrails.test.ts packages/model-core/src/model-capabilities.test.ts packages/omo-opencode/src/cli/doctor/checks/model-resolution.test.ts --bail",
|
|
136
141
|
"typecheck": "tsgo --noEmit && bun run typecheck:script && bun run typecheck:packages",
|
|
137
|
-
"typecheck:packages": "tsgo --noEmit -p packages/rules-engine/tsconfig.json && tsgo --noEmit -p packages/delegate-core/tsconfig.json && tsgo --noEmit -p packages/mcp-stdio-core/tsconfig.json && tsgo --noEmit -p packages/mcp-client-core/tsconfig.json && tsgo --noEmit -p packages/git-bash-mcp/tsconfig.json && tsgo --noEmit -p packages/ast-grep-mcp/tsconfig.json && tsgo --noEmit -p packages/lsp-core/tsconfig.json && tsgo --noEmit -p packages/utils/tsconfig.json && tsgo --noEmit -p packages/model-core/tsconfig.json && tsgo --noEmit -p packages/omo-config-core/tsconfig.json && tsgo --noEmit -p packages/prompts-core/tsconfig.json && tsgo --noEmit -p packages/comment-checker-core/tsconfig.json && tsgo --noEmit -p packages/hashline-core/tsconfig.json && tsgo --noEmit -p packages/tmux-core/tsconfig.json && tsgo --noEmit -p packages/team-core/tsconfig.json && tsgo --noEmit -p packages/openclaw-core/tsconfig.json && tsgo --noEmit -p packages/boulder-state/tsconfig.json && tsgo --noEmit -p packages/isolation-core/tsconfig.json && tsgo --noEmit -p packages/memory-core/tsconfig.json && tsgo --noEmit -p packages/telemetry-core/tsconfig.json && tsgo --noEmit -p packages/claude-code-compat-core/tsconfig.json && tsgo --noEmit -p packages/skills-loader-core/tsconfig.json && tsgo --noEmit -p packages/agents-md-core/tsconfig.json && tsgo --noEmit -p packages/omo-codex/plugin/shared/tsconfig.json && tsgo --noEmit -p packages/omo-codex/tsconfig.json && tsgo --noEmit -p packages/omo-senpi/tsconfig.json && tsgo --noEmit -p packages/senpi-task/tsconfig.json && tsgo --noEmit -p packages/omo-opencode/tsconfig.json && tsgo --noEmit -p packages/omo-native/tsconfig.json",
|
|
142
|
+
"typecheck:packages": "tsgo --noEmit -p packages/rules-engine/tsconfig.json && tsgo --noEmit -p packages/delegate-core/tsconfig.json && tsgo --noEmit -p packages/mcp-stdio-core/tsconfig.json && tsgo --noEmit -p packages/mcp-client-core/tsconfig.json && tsgo --noEmit -p packages/git-bash-mcp/tsconfig.json && tsgo --noEmit -p packages/ast-grep-mcp/tsconfig.json && tsgo --noEmit -p packages/lsp-core/tsconfig.json && tsgo --noEmit -p packages/utils/tsconfig.json && tsgo --noEmit -p packages/model-core/tsconfig.json && tsgo --noEmit -p packages/omo-config-core/tsconfig.json && tsgo --noEmit -p packages/prompts-core/tsconfig.json && tsgo --noEmit -p packages/comment-checker-core/tsconfig.json && tsgo --noEmit -p packages/hashline-core/tsconfig.json && tsgo --noEmit -p packages/tmux-core/tsconfig.json && tsgo --noEmit -p packages/team-core/tsconfig.json && tsgo --noEmit -p packages/openclaw-core/tsconfig.json && tsgo --noEmit -p packages/boulder-state/tsconfig.json && tsgo --noEmit -p packages/isolation-core/tsconfig.json && tsgo --noEmit -p packages/memory-core/tsconfig.json && tsgo --noEmit -p packages/telemetry-core/tsconfig.json && tsgo --noEmit -p packages/claude-code-compat-core/tsconfig.json && tsgo --noEmit -p packages/skills-loader-core/tsconfig.json && tsgo --noEmit -p packages/agents-md-core/tsconfig.json && tsgo --noEmit -p packages/omo-codex/plugin/shared/tsconfig.json && tsgo --noEmit -p packages/omo-codex/tsconfig.json && tsgo --noEmit -p packages/omo-senpi/tsconfig.json && tsgo --noEmit -p packages/senpi-task/tsconfig.json && tsgo --noEmit -p packages/omo-opencode/tsconfig.json && tsgo --noEmit -p packages/omo-native/tsconfig.json && tsgo --noEmit -p packages/senpi-desktop-protocol/tsconfig.json && tsgo --noEmit -p packages/senpi-desktop-engine/tsconfig.json && tsgo --noEmit -p packages/senpi-desktop-prelude/tsconfig.json && tsgo --noEmit -p packages/senpi-desktop-service/tsconfig.json && tsgo --noEmit -p packages/senpi-desktop-tool/tsconfig.json",
|
|
138
143
|
"typecheck:script": "tsgo --noEmit -p script/tsconfig.json",
|
|
139
144
|
"test": "bun test --timeout 20000",
|
|
140
145
|
"changelog:section": "bun script/changelog-section.ts",
|
|
@@ -143,7 +148,8 @@
|
|
|
143
148
|
"test:senpi": "bun run build:senpi-plugin && tsgo --noEmit -p packages/omo-senpi/tsconfig.json && bun test --timeout 20000 packages/omo-senpi && bun test ./.agents/skills/senpi-qa/scripts/resolve-evidence-dir.test.mjs",
|
|
144
149
|
"test:windows-codex": "bun run test:codex",
|
|
145
150
|
"build:git-bash-mcp": "bun run --cwd packages/git-bash-mcp build",
|
|
146
|
-
"build:ast-grep-mcp": "bun run --cwd packages/ast-grep-mcp build"
|
|
151
|
+
"build:ast-grep-mcp": "bun run --cwd packages/ast-grep-mcp build",
|
|
152
|
+
"test:desktop": "bun script/check-cargo-pinned-deps.mjs && bun run --cwd packages/senpi-desktop-protocol test && bun run --cwd packages/senpi-desktop-engine test && bun run --cwd packages/senpi-desktop-prelude test && bun run --cwd packages/senpi-desktop-service test && bun run --cwd packages/senpi-desktop-tool test"
|
|
147
153
|
},
|
|
148
154
|
"keywords": [
|
|
149
155
|
"opencode",
|
|
@@ -183,7 +189,7 @@
|
|
|
183
189
|
"zod": "^4.6.5"
|
|
184
190
|
},
|
|
185
191
|
"devDependencies": {
|
|
186
|
-
"@code-yeongyu/senpi": "2026.9.
|
|
192
|
+
"@code-yeongyu/senpi": "2026.9.29",
|
|
187
193
|
"@oh-my-opencode/agents-md-core": "workspace:*",
|
|
188
194
|
"@oh-my-opencode/ast-grep-mcp": "workspace:*",
|
|
189
195
|
"@oh-my-opencode/boulder-state": "workspace:*",
|
|
@@ -192,11 +198,11 @@
|
|
|
192
198
|
"@oh-my-opencode/delegate-core": "workspace:*",
|
|
193
199
|
"@oh-my-opencode/git-bash-mcp": "workspace:*",
|
|
194
200
|
"@oh-my-opencode/hashline-core": "workspace:*",
|
|
195
|
-
"@oh-my-opencode/lsp-core": "workspace:*",
|
|
196
201
|
"@oh-my-opencode/isolation-core": "workspace:*",
|
|
197
|
-
"@oh-my-opencode/
|
|
202
|
+
"@oh-my-opencode/lsp-core": "workspace:*",
|
|
198
203
|
"@oh-my-opencode/mcp-client-core": "workspace:*",
|
|
199
204
|
"@oh-my-opencode/mcp-stdio-core": "workspace:*",
|
|
205
|
+
"@oh-my-opencode/memory-core": "workspace:*",
|
|
200
206
|
"@oh-my-opencode/model-core": "workspace:*",
|
|
201
207
|
"@oh-my-opencode/omo-codex": "workspace:*",
|
|
202
208
|
"@oh-my-opencode/omo-config-core": "workspace:*",
|
|
@@ -205,6 +211,11 @@
|
|
|
205
211
|
"@oh-my-opencode/openclaw-core": "workspace:*",
|
|
206
212
|
"@oh-my-opencode/prompts-core": "workspace:*",
|
|
207
213
|
"@oh-my-opencode/rules-engine": "workspace:*",
|
|
214
|
+
"@oh-my-opencode/senpi-desktop-engine": "workspace:*",
|
|
215
|
+
"@oh-my-opencode/senpi-desktop-prelude": "workspace:*",
|
|
216
|
+
"@oh-my-opencode/senpi-desktop-protocol": "workspace:*",
|
|
217
|
+
"@oh-my-opencode/senpi-desktop-service": "workspace:*",
|
|
218
|
+
"@oh-my-opencode/senpi-desktop-tool": "workspace:*",
|
|
208
219
|
"@oh-my-opencode/senpi-task": "workspace:*",
|
|
209
220
|
"@oh-my-opencode/shared-skills": "workspace:*",
|
|
210
221
|
"@oh-my-opencode/skills-loader-core": "workspace:*",
|
|
@@ -224,18 +235,18 @@
|
|
|
224
235
|
"typescript": "^7.0.2"
|
|
225
236
|
},
|
|
226
237
|
"optionalDependencies": {
|
|
227
|
-
"oh-my-opencode-darwin-arm64": "5.
|
|
228
|
-
"oh-my-opencode-darwin-x64": "5.
|
|
229
|
-
"oh-my-opencode-darwin-x64-baseline": "5.
|
|
230
|
-
"oh-my-opencode-linux-arm64": "5.
|
|
231
|
-
"oh-my-opencode-linux-arm64-musl": "5.
|
|
232
|
-
"oh-my-opencode-linux-x64": "5.
|
|
233
|
-
"oh-my-opencode-linux-x64-baseline": "5.
|
|
234
|
-
"oh-my-opencode-linux-x64-musl": "5.
|
|
235
|
-
"oh-my-opencode-linux-x64-musl-baseline": "5.
|
|
236
|
-
"oh-my-opencode-windows-arm64": "5.
|
|
237
|
-
"oh-my-opencode-windows-x64": "5.
|
|
238
|
-
"oh-my-opencode-windows-x64-baseline": "5.
|
|
238
|
+
"oh-my-opencode-darwin-arm64": "5.1.1",
|
|
239
|
+
"oh-my-opencode-darwin-x64": "5.1.1",
|
|
240
|
+
"oh-my-opencode-darwin-x64-baseline": "5.1.1",
|
|
241
|
+
"oh-my-opencode-linux-arm64": "5.1.1",
|
|
242
|
+
"oh-my-opencode-linux-arm64-musl": "5.1.1",
|
|
243
|
+
"oh-my-opencode-linux-x64": "5.1.1",
|
|
244
|
+
"oh-my-opencode-linux-x64-baseline": "5.1.1",
|
|
245
|
+
"oh-my-opencode-linux-x64-musl": "5.1.1",
|
|
246
|
+
"oh-my-opencode-linux-x64-musl-baseline": "5.1.1",
|
|
247
|
+
"oh-my-opencode-windows-arm64": "5.1.1",
|
|
248
|
+
"oh-my-opencode-windows-x64": "5.1.1",
|
|
249
|
+
"oh-my-opencode-windows-x64-baseline": "5.1.1"
|
|
239
250
|
},
|
|
240
251
|
"overrides": {
|
|
241
252
|
"@earendil-works/pi-agent-core": "0.84.2",
|