oh-my-opencode 5.0.0-beta.52 → 5.0.0-beta.54
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/.agents/command/publish.md +15 -7
- package/.agents/skills/publish/SKILL.md +15 -7
- package/.opencode/command/publish.md +15 -7
- package/README.ja.md +11 -18
- package/README.ko.md +10 -17
- package/README.md +11 -18
- package/README.ru.md +11 -18
- package/README.zh-cn.md +11 -18
- package/dist/cli/index.js +147 -46
- package/dist/cli-node/index.js +147 -46
- package/dist/index.js +1311 -1200
- package/dist/skills/refactor/SKILL.md +3 -3
- package/dist/skills/review-work/SKILL.md +1 -1
- package/dist/skills/ulw-execute/SKILL.md +5 -5
- package/dist/tui.js +107 -10
- package/package.json +15 -14
- 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/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/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/dist/checkpoint-codex-validation.d.ts +5 -1
- package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint-codex-validation.js +14 -34
- package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint-continuation.js +1 -4
- package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint-reconciliation.d.ts +0 -18
- package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint-reconciliation.js +1 -88
- package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint.d.ts +2 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint.js +10 -3
- package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-arg-parser.js +2 -2
- package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-subcommands.js +2 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/cli.js +86 -174
- package/packages/omo-codex/plugin/components/ulw-loop/dist/codex-goal-snapshot.d.ts +2 -18
- package/packages/omo-codex/plugin/components/ulw-loop/dist/codex-goal-snapshot.js +23 -33
- package/packages/omo-codex/plugin/components/ulw-loop/dist/review-blockers.d.ts +2 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/review-blockers.js +16 -9
- 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/components/ulw-loop/src/checkpoint-codex-validation.ts +18 -59
- package/packages/omo-codex/plugin/components/ulw-loop/src/checkpoint-continuation.ts +1 -6
- package/packages/omo-codex/plugin/components/ulw-loop/src/checkpoint-reconciliation.ts +1 -124
- package/packages/omo-codex/plugin/components/ulw-loop/src/checkpoint.ts +11 -3
- package/packages/omo-codex/plugin/components/ulw-loop/src/cli-arg-parser.ts +10 -4
- package/packages/omo-codex/plugin/components/ulw-loop/src/cli-subcommands.ts +2 -0
- package/packages/omo-codex/plugin/components/ulw-loop/src/codex-goal-snapshot.ts +31 -50
- package/packages/omo-codex/plugin/components/ulw-loop/src/review-blockers.ts +29 -10
- package/packages/omo-codex/plugin/components/ulw-loop/test/checkpoint-final.test.ts +0 -82
- package/packages/omo-codex/plugin/components/ulw-loop/test/checkpoint.test.ts +16 -22
- package/packages/omo-codex/plugin/components/ulw-loop/test/cli-checkpoint.test.ts +27 -0
- package/packages/omo-codex/plugin/components/ulw-loop/test/cli-json-errors.test.ts +25 -0
- package/packages/omo-codex/plugin/components/ulw-loop/test/codex-goal-snapshot.test.ts +34 -11
- package/packages/omo-codex/plugin/components/ulw-loop/test/guided-recovery.test.ts +9 -47
- package/packages/omo-codex/plugin/components/ulw-loop/test/review-blockers.test.ts +9 -7
- 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/refactor/SKILL.md +3 -3
- package/packages/omo-codex/plugin/skills/ulw-execute/SKILL.md +5 -5
- package/packages/omo-codex/scripts/install-dist/install-local.mjs +2 -2
- package/packages/shared-skills/skills/refactor/SKILL.md +3 -3
- package/packages/shared-skills/skills/review-work/SKILL.md +1 -1
- package/packages/shared-skills/skills/ulw-execute/SKILL.md +5 -5
|
@@ -684,7 +684,7 @@ Record the chosen path in the TodoWrite list.
|
|
|
684
684
|
|
|
685
685
|
Rationale for this composition:
|
|
686
686
|
- **4 workers = team mode's parallel cap.** 5+ just queues.
|
|
687
|
-
- **No verifier team member.** Verification needs \`deep\` reasoning (or \`unspecified-high\` fallback). In-team category routing downcasts to
|
|
687
|
+
- **No verifier team member.** Verification needs \`deep\` reasoning (or \`unspecified-high\` fallback). In-team category routing downcasts to the category worker, which is weaker than required — the verifier runs OUTSIDE the team as a \`task(category="deep")\`.
|
|
688
688
|
- **quick × 2** for mechanical edits, **unspecified-low × 2** for reasoning edits — mirrors the plan's split.
|
|
689
689
|
|
|
690
690
|
**Team lifecycle** (one team, reused until Phase 6 cleanup):
|
|
@@ -713,7 +713,7 @@ Rationale for this composition:
|
|
|
713
713
|
While any team task is \`pending | claimed | in_progress\`:
|
|
714
714
|
|
|
715
715
|
- Wait for \`<system-reminder>\` or member messages. Avoid tight polling; a single \`team_status\` check is acceptable if no notification arrives within roughly 10 seconds of expected completion.
|
|
716
|
-
- On a worker completion report, immediately dispatch an **external verifier** — verification runs OUTSIDE the team because team-member category routing downcasts to
|
|
716
|
+
- On a worker completion report, immediately dispatch an **external verifier** — verification runs OUTSIDE the team because team-member category routing downcasts to the category worker:
|
|
717
717
|
\`\`\`
|
|
718
718
|
task(
|
|
719
719
|
category="deep",
|
|
@@ -750,5 +750,5 @@ Append to the 6.6 summary a "Dispatch path" line and, when team path was used, t
|
|
|
750
750
|
- Do not inline the Intent Card or verify-spec into task descriptions — rely on the broadcasts.
|
|
751
751
|
- Do not recreate the team mid-session.
|
|
752
752
|
- Do not run tests from Lead — the external verifier owns that lane.
|
|
753
|
-
- Do not put \`oracle\` / \`librarian\` / \`deep\` into the team spec —
|
|
753
|
+
- Do not put \`oracle\` / \`librarian\` / \`deep\` into the team spec — curated read-only agents are team-ineligible, and \`deep\` under category routing downcasts to the category worker. Use them via \`task()\` outside the team when needed.
|
|
754
754
|
`
|
|
@@ -16,7 +16,7 @@ This skill may include examples copied from the OpenCode harness. In Codex, do n
|
|
|
16
16
|
| `background_output(task_id="...")` | `multi_agent_v1.wait_agent(...)` for mailbox signals |
|
|
17
17
|
| `team_*(...)` | Use Codex native subagents via `multi_agent_v1.spawn_agent` and `multi_agent_v1.wait_agent`; use `multi_agent_v1.send_input` and `multi_agent_v1.close_agent` only when exposed in the active tools list |
|
|
18
18
|
|
|
19
|
-
Role-specific behavior must be described in a self-contained `message`. Use `fork_context: false` to start the child with only the initial prompt (no parent history); use `fork_context: true` only when full parent history is truly required. Include any required conversation context, files, diffs, constraints, and requested skill names directly in the spawned agent's `message`. OMO installs these selectable agent roles into `~/.codex/agents/`: `explorer`, `librarian`, `plan`, `momus`, `metis`, `lazycodex-code-reviewer`, `lazycodex-qa-executor`, and `lazycodex-gate-reviewer` — pass the matching name as `agent_type` so the child gets that role's model and instructions. If the spawn tool exposes no `agent_type` parameter, omit it and describe the role inside `message`. If a code block below conflicts with this section, this section wins.
|
|
19
|
+
Role-specific behavior must be described in a self-contained `message`. Use `fork_context: false` to start the child with only the initial prompt (no parent history); use `fork_context: true` only when full parent history is truly required. Include any required conversation context, files, diffs, constraints, and requested skill names directly in the spawned agent's `message`. OMO installs these selectable agent roles into `~/.codex/agents/`: `explorer`, `librarian`, `plan`, `momus`, `metis`, `lazycodex-code-reviewer`, `lazycodex-qa-executor`, and `lazycodex-gate-reviewer` — pass the matching name as `agent_type` so the child gets that role's model and instructions. If the spawn tool exposes no `agent_type` parameter, omit it and describe the role inside `message`. If a code block below conflicts with this section, this section wins. <!-- retired-name-allowed -->
|
|
20
20
|
|
|
21
21
|
Codex exposes ONE of two subagent tool surfaces per session; check your own tool list and route accordingly. If `multi_agent_v1.*` tools exist, use the table above as written. If instead a flat `spawn_agent` with a required `task_name` exists (`multi_agent_v2`), rewrite every `multi_agent_v1.*` example: `multi_agent_v1.spawn_agent({...,"fork_context":false})` becomes `spawn_agent({"task_name":"<lowercase_digits_underscores>","message":...,"agent_type":...,"fork_turns":"none"})` (`"all"` only when full parent history is truly required); `send_input` becomes `send_message`; do not call `close_agent`/`resume_agent` (finished agents end on their own; `followup_task` re-tasks one, `interrupt_agent` stops one); `wait_agent` takes only `timeout_ms` and returns on any child mailbox activity. `agent_type` works the same on both surfaces. If a code block below conflicts with this section, this section wins.
|
|
22
22
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ulw-execute
|
|
3
|
-
description: "Executes a written
|
|
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
4
|
---
|
|
5
5
|
|
|
6
6
|
## ABSOLUTE RULE: YOU ARE AN ORCHESTRATOR — NEVER THE IMPLEMENTER
|
|
@@ -33,7 +33,7 @@ Plan and reviewer agents may run for a long time: spawn them in the background a
|
|
|
33
33
|
|
|
34
34
|
# ulw-execute
|
|
35
35
|
|
|
36
|
-
Execute a
|
|
36
|
+
Execute a work plan until every top-level checkbox is complete. This skill pairs with the harness's ulw-execute continuation hook, which re-injects the next turn while `.omo/boulder.json` says this `codex:<session_id>` still has unchecked plan work.
|
|
37
37
|
|
|
38
38
|
## Usage
|
|
39
39
|
|
|
@@ -57,7 +57,7 @@ Do ALL of this immediately after the plan is selected, BEFORE the first implemen
|
|
|
57
57
|
## Phase 1: Select the plan
|
|
58
58
|
|
|
59
59
|
1. Read `.omo/boulder.json` if it exists.
|
|
60
|
-
2. List
|
|
60
|
+
2. List work plan files under `.omo/plans/`.
|
|
61
61
|
3. If `plan-name` was provided, select the matching plan.
|
|
62
62
|
4. If exactly one active or paused Boulder work exists for this session, resume it.
|
|
63
63
|
5. If no active work exists and exactly one plan exists, select it.
|
|
@@ -69,7 +69,7 @@ Do ALL of this immediately after the plan is selected, BEFORE the first implemen
|
|
|
69
69
|
When the user explicitly said `start work` / `$ulw-execute` and no selectable plan exists, treat that phrase as approval: bootstrap `ulw-plan` to create the approved plan before execution and implementation, instead of stalling or asking for generic approval again. A brief or notes file without waves, checkboxes, and acceptance criteria is NOT decision-complete — enter this bootstrap too.
|
|
70
70
|
|
|
71
71
|
1. Invoke the `ulw-plan` skill from the current request and require its dynamic adversarial workflow: collect, verify, design, adversarial plan-review, synthesize.
|
|
72
|
-
2. The generated
|
|
72
|
+
2. The generated work plan must be saved under `.omo/plans/<slug>.md` before implementation or Boulder state writes that point at plan work.
|
|
73
73
|
3. Use maximum safe parallelism in the generated plan: independent files/tasks fan out; same-file writes, shared state, and named dependencies serialize.
|
|
74
74
|
4. Preserve safety boundaries. Ask one focused question only when the objective is missing, destructive, or has a safety/product ambiguity that repository exploration cannot resolve.
|
|
75
75
|
5. After the plan exists, continue directly to Phase 2.
|
|
@@ -181,7 +181,7 @@ For each checkbox, complete all five gates before marking it done:
|
|
|
181
181
|
|
|
182
182
|
Append evidence to `.omo/ulw-execute/ledger.jsonl`, one JSON object per line. Include at least `event`, `plan`, `task`, `session_id`, `commands`, `artifact`, `adversarial_classes`, and `cleanup` fields. `adversarial_classes` lists each probed class with its observable result and each ruled-out class with a one-line reason.
|
|
183
183
|
|
|
184
|
-
###
|
|
184
|
+
### Completion contract
|
|
185
185
|
|
|
186
186
|
A worker done claim is never final: each implementation sub-task returns a `DoneClaim`, a different context runs `AdversarialVerify` probing or reproducing the claim, failures loop back to the executor, and only a confirmed verifier verdict becomes `FullyDone`.
|
|
187
187
|
|
package/dist/tui.js
CHANGED
|
@@ -68018,7 +68018,7 @@ var init_harness = __esm(() => {
|
|
|
68018
68018
|
});
|
|
68019
68019
|
|
|
68020
68020
|
// packages/omo-config-core/src/schema/memory.ts
|
|
68021
|
-
var OmoMemoryReflectionTriggerSchema, OmoMemoryReflectionSchema, OmoMemorySyncSchema, OmoMemorySearchSchema, OmoMemoryRecallSchema, OmoMemoryNudgeSchema, OmoMemoryFactsSchema, OmoMemoryDreamSchema, OmoMemoryPeopleSchema, OmoMemorySoulSchema, OmoMemoryWriteNoticeSchema, OmoMemoryReflectionTriggerLayerSchema, OmoMemoryReflectionLayerSchema, OmoMemorySyncLayerSchema, OmoMemorySearchLayerSchema, OmoMemoryRecallLayerSchema, OmoMemoryNudgeLayerSchema, OmoMemoryFactsLayerSchema, OmoMemoryDreamLayerSchema, OmoMemoryPeopleLayerSchema, OmoMemorySoulLayerSchema, OmoMemoryWriteNoticeLayerSchema, OmoMemoryAgentOverridesSchema, OmoMemorySettingsSchema, OmoMemorySettingsLayerSchema;
|
|
68021
|
+
var OmoMemoryReflectionTriggerSchema, OmoMemoryReflectionSchema, OmoMemorySyncSchema, OmoMemorySearchSchema, OmoMemoryRecallEventCapsSchema, OmoMemoryRecallSchema, OmoMemoryNudgeSchema, OmoMemoryFactsSchema, OmoMemoryDreamSchema, OmoMemoryPeopleSchema, OmoMemorySoulSchema, OmoMemoryWriteNoticeSchema, OmoMemoryReflectionTriggerLayerSchema, OmoMemoryReflectionLayerSchema, OmoMemorySyncLayerSchema, OmoMemorySearchLayerSchema, OmoMemoryRecallEventCapsLayerSchema, OmoMemoryRecallLayerSchema, OmoMemoryNudgeLayerSchema, OmoMemoryFactsLayerSchema, OmoMemoryDreamLayerSchema, OmoMemoryPeopleLayerSchema, OmoMemorySoulLayerSchema, OmoMemoryWriteNoticeLayerSchema, OmoMemoryAgentOverridesSchema, OmoMemorySettingsSchema, OmoMemorySettingsLayerSchema;
|
|
68022
68022
|
var init_memory = __esm(() => {
|
|
68023
68023
|
init_zod();
|
|
68024
68024
|
OmoMemoryReflectionTriggerSchema = object({
|
|
@@ -68040,9 +68040,20 @@ var init_memory = __esm(() => {
|
|
|
68040
68040
|
OmoMemorySearchSchema = object({
|
|
68041
68041
|
enabled: boolean2().default(true)
|
|
68042
68042
|
}).strict();
|
|
68043
|
+
OmoMemoryRecallEventCapsSchema = object({
|
|
68044
|
+
tool_args: number2().int().nonnegative().default(400),
|
|
68045
|
+
result_head: number2().int().nonnegative().default(600),
|
|
68046
|
+
assistant: number2().int().nonnegative().default(1500),
|
|
68047
|
+
prompt: number2().int().nonnegative().default(4000)
|
|
68048
|
+
}).strict();
|
|
68043
68049
|
OmoMemoryRecallSchema = object({
|
|
68044
68050
|
enabled: boolean2().default(true),
|
|
68045
|
-
max_items: number2().int().min(1).max(5).default(2)
|
|
68051
|
+
max_items: number2().int().min(1).max(5).default(2),
|
|
68052
|
+
category: string2().min(1).default("quick"),
|
|
68053
|
+
event_caps: OmoMemoryRecallEventCapsSchema.default({ tool_args: 400, result_head: 600, assistant: 1500, prompt: 4000 }),
|
|
68054
|
+
sidecar_max_tokens: number2().int().positive().default(48000),
|
|
68055
|
+
max_concurrent_wakes: number2().int().positive().default(2),
|
|
68056
|
+
tool_budget: number2().int().positive().default(8)
|
|
68046
68057
|
}).strict();
|
|
68047
68058
|
OmoMemoryNudgeSchema = object({
|
|
68048
68059
|
enabled: boolean2().default(true),
|
|
@@ -68090,9 +68101,20 @@ var init_memory = __esm(() => {
|
|
|
68090
68101
|
OmoMemorySearchLayerSchema = object({
|
|
68091
68102
|
enabled: boolean2().optional()
|
|
68092
68103
|
}).strict();
|
|
68104
|
+
OmoMemoryRecallEventCapsLayerSchema = object({
|
|
68105
|
+
tool_args: number2().int().nonnegative().optional(),
|
|
68106
|
+
result_head: number2().int().nonnegative().optional(),
|
|
68107
|
+
assistant: number2().int().nonnegative().optional(),
|
|
68108
|
+
prompt: number2().int().nonnegative().optional()
|
|
68109
|
+
}).strict();
|
|
68093
68110
|
OmoMemoryRecallLayerSchema = object({
|
|
68094
68111
|
enabled: boolean2().optional(),
|
|
68095
|
-
max_items: number2().int().min(1).max(5).optional()
|
|
68112
|
+
max_items: number2().int().min(1).max(5).optional(),
|
|
68113
|
+
category: string2().min(1).optional(),
|
|
68114
|
+
event_caps: OmoMemoryRecallEventCapsLayerSchema.optional(),
|
|
68115
|
+
sidecar_max_tokens: number2().int().positive().optional(),
|
|
68116
|
+
max_concurrent_wakes: number2().int().positive().optional(),
|
|
68117
|
+
tool_budget: number2().int().positive().optional()
|
|
68096
68118
|
}).strict();
|
|
68097
68119
|
OmoMemoryNudgeLayerSchema = object({
|
|
68098
68120
|
enabled: boolean2().optional(),
|
|
@@ -68162,7 +68184,15 @@ var init_memory = __esm(() => {
|
|
|
68162
68184
|
write_notice: OmoMemoryWriteNoticeSchema.default({ enabled: true }),
|
|
68163
68185
|
sync: OmoMemorySyncSchema.default({ enabled: true }),
|
|
68164
68186
|
search: OmoMemorySearchSchema.default({ enabled: true }),
|
|
68165
|
-
recall: OmoMemoryRecallSchema.default({
|
|
68187
|
+
recall: OmoMemoryRecallSchema.default({
|
|
68188
|
+
enabled: true,
|
|
68189
|
+
max_items: 2,
|
|
68190
|
+
category: "quick",
|
|
68191
|
+
event_caps: { tool_args: 400, result_head: 600, assistant: 1500, prompt: 4000 },
|
|
68192
|
+
sidecar_max_tokens: 48000,
|
|
68193
|
+
max_concurrent_wakes: 2,
|
|
68194
|
+
tool_budget: 8
|
|
68195
|
+
}),
|
|
68166
68196
|
compile_warn_tokens: number2().int().positive().default(30000),
|
|
68167
68197
|
agents: record(string2(), OmoMemoryAgentOverridesSchema).default({})
|
|
68168
68198
|
}).strict();
|
|
@@ -68206,6 +68236,25 @@ var init_model_catalog = __esm(() => {
|
|
|
68206
68236
|
OmoModelCatalogLayerSchema = record(string2(), OmoModelCatalogEntryLayerSchema);
|
|
68207
68237
|
});
|
|
68208
68238
|
|
|
68239
|
+
// packages/omo-config-core/src/schema/model-profile.ts
|
|
68240
|
+
function isRecord8(value) {
|
|
68241
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
68242
|
+
}
|
|
68243
|
+
var OmoModelProfileInputSchema, OmoModelProfileSchema, OmoModelProfilesSchema, OmoModelProfileLayerInputSchema, OmoModelProfileLayerSchema, OmoModelProfilesLayerSchema;
|
|
68244
|
+
var init_model_profile = __esm(() => {
|
|
68245
|
+
init_zod();
|
|
68246
|
+
init_fallback_models();
|
|
68247
|
+
OmoModelProfileInputSchema = object({
|
|
68248
|
+
display_name: string2().optional(),
|
|
68249
|
+
models: array(union([string2(), OmoFallbackModelObjectSchema])).optional()
|
|
68250
|
+
}).strict();
|
|
68251
|
+
OmoModelProfileSchema = preprocess((value) => isRecord8(value) ? normalizeLegacyModelFields(value) : value, OmoModelProfileInputSchema);
|
|
68252
|
+
OmoModelProfilesSchema = record(string2(), OmoModelProfileSchema);
|
|
68253
|
+
OmoModelProfileLayerInputSchema = OmoModelProfileInputSchema.partial();
|
|
68254
|
+
OmoModelProfileLayerSchema = preprocess((value) => isRecord8(value) ? normalizeLegacyModelFields(value) : value, OmoModelProfileLayerInputSchema);
|
|
68255
|
+
OmoModelProfilesLayerSchema = record(string2(), OmoModelProfileLayerSchema);
|
|
68256
|
+
});
|
|
68257
|
+
|
|
68209
68258
|
// packages/omo-config-core/src/schema/task.ts
|
|
68210
68259
|
import { availableParallelism } from "os";
|
|
68211
68260
|
function resolveOmoTaskSettings(input, resolveParallelism = availableParallelism) {
|
|
@@ -68398,6 +68447,7 @@ var init_config = __esm(() => {
|
|
|
68398
68447
|
init_git_master();
|
|
68399
68448
|
init_memory();
|
|
68400
68449
|
init_model_catalog();
|
|
68450
|
+
init_model_profile();
|
|
68401
68451
|
init_task();
|
|
68402
68452
|
init_team();
|
|
68403
68453
|
init_telemetry();
|
|
@@ -68411,6 +68461,8 @@ var init_config = __esm(() => {
|
|
|
68411
68461
|
task: OmoTaskSettingsLayerSchema.optional(),
|
|
68412
68462
|
teams: OmoTeamsConfigLayerSchema.optional(),
|
|
68413
68463
|
models: OmoModelCatalogLayerSchema.optional(),
|
|
68464
|
+
model_profiles: OmoModelProfilesLayerSchema.optional(),
|
|
68465
|
+
model_profile: string2().optional(),
|
|
68414
68466
|
memory: OmoMemorySettingsLayerSchema.optional(),
|
|
68415
68467
|
telemetry: OmoTelemetrySettingsLayerSchema.optional()
|
|
68416
68468
|
}).strict();
|
|
@@ -68422,6 +68474,8 @@ var init_config = __esm(() => {
|
|
|
68422
68474
|
task: OmoTaskSettingsLayerSchema.optional(),
|
|
68423
68475
|
teams: OmoTeamsConfigLayerSchema.optional(),
|
|
68424
68476
|
models: OmoModelCatalogLayerSchema.optional(),
|
|
68477
|
+
model_profiles: OmoModelProfilesLayerSchema.optional(),
|
|
68478
|
+
model_profile: string2().optional(),
|
|
68425
68479
|
memory: OmoMemorySettingsLayerSchema.optional(),
|
|
68426
68480
|
telemetry: OmoTelemetrySettingsLayerSchema.optional(),
|
|
68427
68481
|
"[opencode]": OmoOpenCodeHarnessConfigSchema.optional(),
|
|
@@ -68437,6 +68491,8 @@ var init_config = __esm(() => {
|
|
|
68437
68491
|
task: OmoTaskSettingsSchema.optional(),
|
|
68438
68492
|
teams: OmoTeamsConfigSchema.optional(),
|
|
68439
68493
|
models: OmoModelCatalogSchema.optional(),
|
|
68494
|
+
model_profiles: OmoModelProfilesSchema.optional(),
|
|
68495
|
+
model_profile: string2().optional(),
|
|
68440
68496
|
memory: OmoMemorySettingsSchema.optional(),
|
|
68441
68497
|
telemetry: OmoTelemetrySettingsSchema.optional(),
|
|
68442
68498
|
"[opencode]": OmoOpenCodeHarnessConfigSchema.optional(),
|
|
@@ -68455,6 +68511,8 @@ var init_config = __esm(() => {
|
|
|
68455
68511
|
task: OmoTaskSettingsLayerSchema.optional(),
|
|
68456
68512
|
teams: OmoTeamsConfigLayerSchema.optional(),
|
|
68457
68513
|
models: OmoModelCatalogLayerSchema.optional(),
|
|
68514
|
+
model_profiles: OmoModelProfilesLayerSchema.optional(),
|
|
68515
|
+
model_profile: string2().optional(),
|
|
68458
68516
|
memory: OmoMemorySettingsLayerSchema.optional(),
|
|
68459
68517
|
telemetry: OmoTelemetrySettingsLayerSchema.optional(),
|
|
68460
68518
|
"[opencode]": OmoOpenCodeHarnessConfigSchema.optional(),
|
|
@@ -68477,6 +68535,7 @@ var init_schema = __esm(() => {
|
|
|
68477
68535
|
init_harness();
|
|
68478
68536
|
init_memory();
|
|
68479
68537
|
init_model_catalog();
|
|
68538
|
+
init_model_profile();
|
|
68480
68539
|
init_model_ref();
|
|
68481
68540
|
init_task();
|
|
68482
68541
|
init_team();
|
|
@@ -68730,21 +68789,21 @@ function hasUnsafeUnrecognizedKey(issues) {
|
|
|
68730
68789
|
function hasTamperedPrototype(value) {
|
|
68731
68790
|
if (Array.isArray(value))
|
|
68732
68791
|
return value.some((entry) => hasTamperedPrototype(entry));
|
|
68733
|
-
if (!
|
|
68792
|
+
if (!isRecord9(value))
|
|
68734
68793
|
return false;
|
|
68735
68794
|
const prototype = Object.getPrototypeOf(value);
|
|
68736
68795
|
if (prototype !== Object.prototype && prototype !== null)
|
|
68737
68796
|
return true;
|
|
68738
68797
|
return Object.values(value).some((entry) => hasTamperedPrototype(entry));
|
|
68739
68798
|
}
|
|
68740
|
-
function
|
|
68799
|
+
function isRecord9(value) {
|
|
68741
68800
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
68742
68801
|
}
|
|
68743
68802
|
function containerAt(record, path) {
|
|
68744
68803
|
let container = record;
|
|
68745
68804
|
for (const segment of path) {
|
|
68746
68805
|
const next = container[segment];
|
|
68747
|
-
if (!
|
|
68806
|
+
if (!isRecord9(next))
|
|
68748
68807
|
return null;
|
|
68749
68808
|
container = next;
|
|
68750
68809
|
}
|
|
@@ -69006,6 +69065,38 @@ function resolveCategoryDefinition(definition, catalog, cycleNames) {
|
|
|
69006
69065
|
...definition.fallback_models === undefined ? {} : { fallback_models: resolveFallbackModels(definition.fallback_models, catalog, cycleNames) }
|
|
69007
69066
|
};
|
|
69008
69067
|
}
|
|
69068
|
+
function resolveModelProfile(definition, catalog, cycleNames) {
|
|
69069
|
+
return {
|
|
69070
|
+
...definition,
|
|
69071
|
+
...definition.models === undefined ? {} : { models: definition.models.map((entry) => resolveModelEntry(entry, catalog, cycleNames)) }
|
|
69072
|
+
};
|
|
69073
|
+
}
|
|
69074
|
+
function profileShadowDiagnostics(view) {
|
|
69075
|
+
if (view.model_profiles === undefined || view.models === undefined)
|
|
69076
|
+
return [];
|
|
69077
|
+
return Object.keys(view.model_profiles).flatMap((name) => view.models?.[name] === undefined ? [] : [{
|
|
69078
|
+
kind: "validation",
|
|
69079
|
+
message: `Model profile "${name}" shadows a model catalog entry of the same name`,
|
|
69080
|
+
path: `model_profiles.${name}`
|
|
69081
|
+
}]);
|
|
69082
|
+
}
|
|
69083
|
+
function profileSpliceDiagnostics(section, definitions, profileNames) {
|
|
69084
|
+
if (definitions === undefined || profileNames.size === 0)
|
|
69085
|
+
return [];
|
|
69086
|
+
return Object.entries(definitions).flatMap(([name, definition]) => (definition.models ?? []).flatMap((entry, index) => typeof entry !== "string" || !profileNames.has(entry) ? [] : [{
|
|
69087
|
+
kind: "validation",
|
|
69088
|
+
message: `"${entry}" is a model profile; splicing a profile into a category chain is not supported yet`,
|
|
69089
|
+
path: `${section}.${name}.models.${index}`
|
|
69090
|
+
}]));
|
|
69091
|
+
}
|
|
69092
|
+
function modelProfileDiagnostics(view) {
|
|
69093
|
+
const profileNames = new Set(Object.keys(view.model_profiles ?? {}));
|
|
69094
|
+
return [
|
|
69095
|
+
...profileShadowDiagnostics(view),
|
|
69096
|
+
...profileSpliceDiagnostics("categories", view.categories, profileNames),
|
|
69097
|
+
...profileSpliceDiagnostics("agents", view.agents, profileNames)
|
|
69098
|
+
];
|
|
69099
|
+
}
|
|
69009
69100
|
function cycleDiagnostics(catalog) {
|
|
69010
69101
|
if (catalog === undefined)
|
|
69011
69102
|
return [];
|
|
@@ -69016,9 +69107,10 @@ function cycleDiagnostics(catalog) {
|
|
|
69016
69107
|
}));
|
|
69017
69108
|
}
|
|
69018
69109
|
function resolveModelReferences(view) {
|
|
69019
|
-
const
|
|
69110
|
+
const cycles = cycleDiagnostics(view.models);
|
|
69111
|
+
const diagnostics = [...cycles, ...modelProfileDiagnostics(view)];
|
|
69020
69112
|
const cycleNames = new Set;
|
|
69021
|
-
for (const diagnostic of
|
|
69113
|
+
for (const diagnostic of cycles) {
|
|
69022
69114
|
const name = diagnostic.path.split(".")[1];
|
|
69023
69115
|
if (name !== undefined)
|
|
69024
69116
|
cycleNames.add(name);
|
|
@@ -69031,12 +69123,17 @@ function resolveModelReferences(view) {
|
|
|
69031
69123
|
name,
|
|
69032
69124
|
resolveCategoryDefinition(definition, view.models, cycleNames)
|
|
69033
69125
|
]));
|
|
69126
|
+
const modelProfiles = view.model_profiles === undefined ? undefined : Object.fromEntries(Object.entries(view.model_profiles).map(([name, definition]) => [
|
|
69127
|
+
name,
|
|
69128
|
+
resolveModelProfile(definition, view.models, cycleNames)
|
|
69129
|
+
]));
|
|
69034
69130
|
return {
|
|
69035
69131
|
diagnostics,
|
|
69036
69132
|
view: {
|
|
69037
69133
|
...view,
|
|
69038
69134
|
...agents === undefined ? {} : { agents },
|
|
69039
|
-
...categories === undefined ? {} : { categories }
|
|
69135
|
+
...categories === undefined ? {} : { categories },
|
|
69136
|
+
...modelProfiles === undefined ? {} : { model_profiles: modelProfiles }
|
|
69040
69137
|
}
|
|
69041
69138
|
};
|
|
69042
69139
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "oh-my-opencode",
|
|
3
|
-
"version": "5.0.0-beta.
|
|
3
|
+
"version": "5.0.0-beta.54",
|
|
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",
|
|
@@ -138,6 +138,7 @@
|
|
|
138
138
|
"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/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/pi-goal/tsconfig.json && tsgo --noEmit -p packages/pi-webfetch/tsconfig.json && tsgo --noEmit -p packages/omo-opencode/tsconfig.json && tsgo --noEmit -p packages/omo-native/tsconfig.json",
|
|
139
139
|
"typecheck:script": "tsgo --noEmit -p script/tsconfig.json",
|
|
140
140
|
"test": "bun test --timeout 20000",
|
|
141
|
+
"changelog:section": "bun script/changelog-section.ts",
|
|
141
142
|
"test:codex": "bun run build:codex-install && bun run build:git-bash-mcp && bun run build:lsp-tools-mcp && bun run build:lsp-daemon && npm --prefix packages/lsp-tools-mcp test && npm --prefix packages/omo-codex/plugin ci && npm --prefix packages/omo-codex/plugin/components/ulw-loop test && bun run --cwd packages/omo-codex/plugin build && node scripts/check-third-party-notices.mjs --ship && bun test --timeout 20000 packages/omo-opencode/src/cli/cli-installer.platform.test.ts packages/omo-codex/src/install/codex-cache.test.ts packages/omo-codex/src/install/codex-cleanup.test.ts packages/omo-codex/src/install/codex-config-agent-cleanup.test.ts packages/omo-codex/src/install/codex-config-autonomous-features.test.ts packages/omo-codex/src/install/codex-config-reasoning.test.ts packages/omo-codex/src/install/codex-config-toml.test.ts packages/omo-codex/src/install/codex-project-local-cleanup.test.ts packages/omo-codex/src/install/install-codex-project-local-cleanup.test.ts packages/omo-codex/src/install/install-codex.test.ts packages/omo-codex/src/install/install-codex-packaged.test.ts packages/omo-codex/src/install/link-cached-plugin-agents.test.ts packages/omo-codex/src/**/*.test.ts packages/utils/src/jsonc-parser.test.ts packages/utils/src/frontmatter.test.ts packages/hashline-core/src/hash-computation.test.ts packages/hashline-core/src/smoke-untested-modules.test.ts packages/rules-engine/src/index.test.ts packages/rules-engine/src/security-boundary.test.ts packages/agents-md-core/src/injector.test.ts packages/omo-codex/plugin/components/lsp/test/package-smoke.test.ts && node --test packages/omo-codex/plugin/test/*.test.mjs packages/omo-codex/scripts/install-cache-copy.test.mjs packages/omo-codex/scripts/install-cli-args.test.mjs packages/omo-codex/scripts/install-delegated-command.test.mjs packages/omo-codex/scripts/install-config-autonomous-features.test.mjs packages/omo-codex/scripts/install-config-autonomous.test.mjs packages/omo-codex/scripts/install-config-reasoning.test.mjs packages/omo-codex/scripts/install-config.test.mjs packages/omo-codex/scripts/install-hook-targets.test.mjs packages/omo-codex/scripts/install-project-local-cleanup.test.mjs packages/omo-codex/scripts/install-lazycodex-version-stamp.test.mjs packages/omo-codex/scripts/install-local-entrypoint.test.mjs packages/omo-codex/scripts/install-local-git-bash-preflight.test.mjs packages/omo-codex/scripts/install-local.test.mjs packages/omo-codex/scripts/install-marketplace-cache.test.mjs packages/omo-codex/scripts/install-mcp-context7-runtime.test.mjs packages/omo-codex/scripts/install-mcp-runtime.test.mjs packages/omo-codex/scripts/install-packaged-local.test.mjs packages/omo-codex/scripts/install-generated-bundle.test.mjs packages/omo-codex/scripts/install-agent-links.test.mjs packages/omo-codex/scripts/install-bin-links.test.mjs",
|
|
142
143
|
"test:fast": "bun run script/test-fast.ts",
|
|
143
144
|
"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",
|
|
@@ -184,7 +185,7 @@
|
|
|
184
185
|
"zod": "^4.4.3"
|
|
185
186
|
},
|
|
186
187
|
"devDependencies": {
|
|
187
|
-
"@code-yeongyu/senpi": "2026.9.
|
|
188
|
+
"@code-yeongyu/senpi": "2026.9.11",
|
|
188
189
|
"@oh-my-opencode/agents-md-core": "workspace:*",
|
|
189
190
|
"@oh-my-opencode/ast-grep-mcp": "workspace:*",
|
|
190
191
|
"@oh-my-opencode/boulder-state": "workspace:*",
|
|
@@ -225,18 +226,18 @@
|
|
|
225
226
|
"typescript": "^7.0.2"
|
|
226
227
|
},
|
|
227
228
|
"optionalDependencies": {
|
|
228
|
-
"oh-my-opencode-darwin-arm64": "5.0.0-beta.
|
|
229
|
-
"oh-my-opencode-darwin-x64": "5.0.0-beta.
|
|
230
|
-
"oh-my-opencode-darwin-x64-baseline": "5.0.0-beta.
|
|
231
|
-
"oh-my-opencode-linux-arm64": "5.0.0-beta.
|
|
232
|
-
"oh-my-opencode-linux-arm64-musl": "5.0.0-beta.
|
|
233
|
-
"oh-my-opencode-linux-x64": "5.0.0-beta.
|
|
234
|
-
"oh-my-opencode-linux-x64-baseline": "5.0.0-beta.
|
|
235
|
-
"oh-my-opencode-linux-x64-musl": "5.0.0-beta.
|
|
236
|
-
"oh-my-opencode-linux-x64-musl-baseline": "5.0.0-beta.
|
|
237
|
-
"oh-my-opencode-windows-arm64": "5.0.0-beta.
|
|
238
|
-
"oh-my-opencode-windows-x64": "5.0.0-beta.
|
|
239
|
-
"oh-my-opencode-windows-x64-baseline": "5.0.0-beta.
|
|
229
|
+
"oh-my-opencode-darwin-arm64": "5.0.0-beta.54",
|
|
230
|
+
"oh-my-opencode-darwin-x64": "5.0.0-beta.54",
|
|
231
|
+
"oh-my-opencode-darwin-x64-baseline": "5.0.0-beta.54",
|
|
232
|
+
"oh-my-opencode-linux-arm64": "5.0.0-beta.54",
|
|
233
|
+
"oh-my-opencode-linux-arm64-musl": "5.0.0-beta.54",
|
|
234
|
+
"oh-my-opencode-linux-x64": "5.0.0-beta.54",
|
|
235
|
+
"oh-my-opencode-linux-x64-baseline": "5.0.0-beta.54",
|
|
236
|
+
"oh-my-opencode-linux-x64-musl": "5.0.0-beta.54",
|
|
237
|
+
"oh-my-opencode-linux-x64-musl-baseline": "5.0.0-beta.54",
|
|
238
|
+
"oh-my-opencode-windows-arm64": "5.0.0-beta.54",
|
|
239
|
+
"oh-my-opencode-windows-x64": "5.0.0-beta.54",
|
|
240
|
+
"oh-my-opencode-windows-x64-baseline": "5.0.0-beta.54"
|
|
240
241
|
},
|
|
241
242
|
"overrides": {
|
|
242
243
|
"@earendil-works/pi-agent-core": "0.84.2",
|
|
@@ -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.0.0-beta.
|
|
11
|
+
"statusMessage": "(OmO 5.0.0-beta.54) Checking Bootstrap Provisioning"
|
|
12
12
|
}
|
|
13
13
|
]
|
|
14
14
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sisyphuslabs/codex-bootstrap",
|
|
3
|
-
"version": "5.0.0-beta.
|
|
3
|
+
"version": "5.0.0-beta.54",
|
|
4
4
|
"description": "Codex SessionStart bootstrap component that provisions LazyCodex runtime dependencies from a detached worker.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"private": true,
|
|
@@ -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.0.0-beta.
|
|
11
|
+
"statusMessage": "(OmO 5.0.0-beta.54) 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.0.0-beta.
|
|
23
|
+
"statusMessage": "(OmO 5.0.0-beta.54) 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.0.0-beta.
|
|
11
|
+
"statusMessage": "(OmO 5.0.0-beta.54) Verifying LazyCodex Executor Evidence"
|
|
12
12
|
}
|
|
13
13
|
]
|
|
14
14
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@code-yeongyu/codex-lazycodex-executor-verify",
|
|
3
|
-
"version": "5.0.0-beta.
|
|
3
|
+
"version": "5.0.0-beta.54",
|
|
4
4
|
"description": "Codex SubagentStop evidence verifier for LazyCodex executor completions.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"packageManager": "npm@11.12.1",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
|
-
"version": "5.0.0-beta.
|
|
4
|
-
"inputDigest": "sha256:
|
|
3
|
+
"version": "5.0.0-beta.54",
|
|
4
|
+
"inputDigest": "sha256:a41b5561656a59e4498f10a6cdf0f42b6671cc4e0f045429d3919e98dca2f4c6",
|
|
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.0.0-beta.
|
|
11
|
+
"statusMessage": "(OmO 5.0.0-beta.54) 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.0.0-beta.
|
|
24
|
+
"statusMessage": "(OmO 5.0.0-beta.54) Resetting LSP Diagnostics Cache"
|
|
25
25
|
}
|
|
26
26
|
]
|
|
27
27
|
}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"type": "command",
|
|
8
8
|
"command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook session-start",
|
|
9
9
|
"timeout": 10,
|
|
10
|
-
"statusMessage": "(OmO 5.0.0-beta.
|
|
10
|
+
"statusMessage": "(OmO 5.0.0-beta.54) Loading Project Rules"
|
|
11
11
|
}
|
|
12
12
|
]
|
|
13
13
|
}
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"type": "command",
|
|
20
20
|
"command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook user-prompt-submit",
|
|
21
21
|
"timeout": 10,
|
|
22
|
-
"statusMessage": "(OmO 5.0.0-beta.
|
|
22
|
+
"statusMessage": "(OmO 5.0.0-beta.54) Loading Project Rules"
|
|
23
23
|
}
|
|
24
24
|
]
|
|
25
25
|
}
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"type": "command",
|
|
33
33
|
"command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook post-tool-use",
|
|
34
34
|
"timeout": 10,
|
|
35
|
-
"statusMessage": "(OmO 5.0.0-beta.
|
|
35
|
+
"statusMessage": "(OmO 5.0.0-beta.54) Matching Project Rules"
|
|
36
36
|
}
|
|
37
37
|
]
|
|
38
38
|
}
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"type": "command",
|
|
46
46
|
"command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook post-compact",
|
|
47
47
|
"timeout": 10,
|
|
48
|
-
"statusMessage": "(OmO 5.0.0-beta.
|
|
48
|
+
"statusMessage": "(OmO 5.0.0-beta.54) Resetting Project Rule Cache"
|
|
49
49
|
}
|
|
50
50
|
]
|
|
51
51
|
}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"type": "command",
|
|
9
9
|
"command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook post-tool-use",
|
|
10
10
|
"timeout": 10,
|
|
11
|
-
"statusMessage": "(OmO 5.0.0-beta.
|
|
11
|
+
"statusMessage": "(OmO 5.0.0-beta.54) Checking Thread Title Hygiene"
|
|
12
12
|
}
|
|
13
13
|
]
|
|
14
14
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@code-yeongyu/codex-telemetry",
|
|
3
|
-
"version": "5.0.0-beta.
|
|
3
|
+
"version": "5.0.0-beta.54",
|
|
4
4
|
"description": "Codex plugin component that emits omo-codex anonymous daily-active telemetry on SessionStart.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"packageManager": "npm@11.12.1",
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"type": "command",
|
|
8
8
|
"command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook user-prompt-submit",
|
|
9
9
|
"timeout": 5,
|
|
10
|
-
"statusMessage": "(OmO 5.0.0-beta.
|
|
10
|
+
"statusMessage": "(OmO 5.0.0-beta.54) Checking Ultrawork Trigger"
|
|
11
11
|
}
|
|
12
12
|
]
|
|
13
13
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@code-yeongyu/codex-ultrawork",
|
|
3
|
-
"version": "5.0.0-beta.
|
|
3
|
+
"version": "5.0.0-beta.54",
|
|
4
4
|
"description": "Codex plugin that injects the ultrawork orchestration directive and ships LazyCodex planning, review, QA, and gate agent roles.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"packageManager": "npm@11.12.1",
|