oh-my-opencode 5.0.0-beta.37 → 5.0.0-beta.39
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/dist/cli/index.js +24 -15
- package/dist/cli-node/index.js +24 -15
- package/dist/features/background-agent/compaction-aware-message-resolver.d.ts +1 -0
- package/dist/hooks/compaction-context-injector/validated-model.d.ts +2 -0
- package/dist/index.js +36 -24
- package/dist/shared/compaction-agent-config-checkpoint.d.ts +1 -0
- package/package.json +13 -13
- package/packages/omo-codex/plugin/.codex-plugin/plugin.json +1 -1
- package/packages/omo-codex/plugin/components/bootstrap/dist/cli.js +10 -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 +2 -2
- package/packages/omo-codex/plugin/components/ulw-execute-continuation/package.json +1 -1
- package/packages/omo-codex/plugin/components/ulw-loop/dist/cli.js +32 -20
- package/packages/omo-codex/plugin/components/ulw-loop/dist/quality-gate-artifacts.d.ts +3 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/quality-gate-artifacts.js +31 -29
- package/packages/omo-codex/plugin/components/ulw-loop/dist/quality-gate.js +2 -2
- package/packages/omo-codex/plugin/components/ulw-loop/hooks/hooks.json +4 -4
- package/packages/omo-codex/plugin/components/ulw-loop/package.json +1 -1
- package/packages/omo-codex/plugin/components/ulw-loop/skills/ulw-loop/references/full-workflow.md +2 -0
- package/packages/omo-codex/plugin/components/ulw-loop/src/quality-gate-artifacts.ts +36 -35
- package/packages/omo-codex/plugin/components/ulw-loop/src/quality-gate.ts +2 -1
- package/packages/omo-codex/plugin/components/ulw-loop/test/quality-gate.test.ts +43 -3
- 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/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-checking-ulw-execute-continuation.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/ulw-loop/references/full-workflow.md +2 -0
- package/packages/omo-codex/scripts/install-config-autonomous-features.test.mjs +1 -1
- package/packages/omo-codex/scripts/install-config-autonomous.test.mjs +2 -1
- package/packages/omo-codex/scripts/install-dist/install-local.mjs +12 -3
package/dist/cli/index.js
CHANGED
|
@@ -54,7 +54,7 @@ var package_default;
|
|
|
54
54
|
var init_package = __esm(() => {
|
|
55
55
|
package_default = {
|
|
56
56
|
name: "oh-my-opencode",
|
|
57
|
-
version: "5.0.0-beta.
|
|
57
|
+
version: "5.0.0-beta.39",
|
|
58
58
|
description: "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
|
|
59
59
|
main: "./dist/index.js",
|
|
60
60
|
types: "dist/index.d.ts",
|
|
@@ -275,18 +275,18 @@ var init_package = __esm(() => {
|
|
|
275
275
|
typescript: "^7.0.2"
|
|
276
276
|
},
|
|
277
277
|
optionalDependencies: {
|
|
278
|
-
"oh-my-opencode-darwin-arm64": "5.0.0-beta.
|
|
279
|
-
"oh-my-opencode-darwin-x64": "5.0.0-beta.
|
|
280
|
-
"oh-my-opencode-darwin-x64-baseline": "5.0.0-beta.
|
|
281
|
-
"oh-my-opencode-linux-arm64": "5.0.0-beta.
|
|
282
|
-
"oh-my-opencode-linux-arm64-musl": "5.0.0-beta.
|
|
283
|
-
"oh-my-opencode-linux-x64": "5.0.0-beta.
|
|
284
|
-
"oh-my-opencode-linux-x64-baseline": "5.0.0-beta.
|
|
285
|
-
"oh-my-opencode-linux-x64-musl": "5.0.0-beta.
|
|
286
|
-
"oh-my-opencode-linux-x64-musl-baseline": "5.0.0-beta.
|
|
287
|
-
"oh-my-opencode-windows-arm64": "5.0.0-beta.
|
|
288
|
-
"oh-my-opencode-windows-x64": "5.0.0-beta.
|
|
289
|
-
"oh-my-opencode-windows-x64-baseline": "5.0.0-beta.
|
|
278
|
+
"oh-my-opencode-darwin-arm64": "5.0.0-beta.39",
|
|
279
|
+
"oh-my-opencode-darwin-x64": "5.0.0-beta.39",
|
|
280
|
+
"oh-my-opencode-darwin-x64-baseline": "5.0.0-beta.39",
|
|
281
|
+
"oh-my-opencode-linux-arm64": "5.0.0-beta.39",
|
|
282
|
+
"oh-my-opencode-linux-arm64-musl": "5.0.0-beta.39",
|
|
283
|
+
"oh-my-opencode-linux-x64": "5.0.0-beta.39",
|
|
284
|
+
"oh-my-opencode-linux-x64-baseline": "5.0.0-beta.39",
|
|
285
|
+
"oh-my-opencode-linux-x64-musl": "5.0.0-beta.39",
|
|
286
|
+
"oh-my-opencode-linux-x64-musl-baseline": "5.0.0-beta.39",
|
|
287
|
+
"oh-my-opencode-windows-arm64": "5.0.0-beta.39",
|
|
288
|
+
"oh-my-opencode-windows-x64": "5.0.0-beta.39",
|
|
289
|
+
"oh-my-opencode-windows-x64-baseline": "5.0.0-beta.39"
|
|
290
290
|
},
|
|
291
291
|
overrides: {
|
|
292
292
|
"@earendil-works/pi-agent-core": "0.84.2",
|
|
@@ -94349,7 +94349,7 @@ var package_default2;
|
|
|
94349
94349
|
var init_package2 = __esm(() => {
|
|
94350
94350
|
package_default2 = {
|
|
94351
94351
|
name: "@oh-my-opencode/omo-codex",
|
|
94352
|
-
version: "5.0.0-beta.
|
|
94352
|
+
version: "5.0.0-beta.39",
|
|
94353
94353
|
type: "module",
|
|
94354
94354
|
private: true,
|
|
94355
94355
|
description: "Codex harness adapter for oh-my-openagent. Vendored Codex plugin namespace (omo) + TypeScript installer + telemetry.",
|
|
@@ -99544,6 +99544,15 @@ function replaceOrInsertRootSetting(config3, key, value) {
|
|
|
99544
99544
|
|
|
99545
99545
|
${suffix.trimStart()}`;
|
|
99546
99546
|
}
|
|
99547
|
+
function removeRootSetting(config3, key) {
|
|
99548
|
+
const sectionStart = findFirstTableStart(config3);
|
|
99549
|
+
const root = config3.slice(0, sectionStart);
|
|
99550
|
+
const suffix = config3.slice(sectionStart);
|
|
99551
|
+
const linePattern = new RegExp(`^[ \\t]*${escapeRegExp(key)}[ \\t]*=.*(?:\\n|$)`, "m");
|
|
99552
|
+
if (!linePattern.test(root))
|
|
99553
|
+
return config3;
|
|
99554
|
+
return root.replace(linePattern, "") + suffix;
|
|
99555
|
+
}
|
|
99547
99556
|
function replaceOrInsertRootDottedSetting(config3, keyPath, value) {
|
|
99548
99557
|
const targetPath = parseTomlDottedKey(keyPath);
|
|
99549
99558
|
if (!targetPath)
|
|
@@ -100296,7 +100305,7 @@ var AUTONOMOUS_FEATURES = ["multi_agent", "unified_exec", "goals"];
|
|
|
100296
100305
|
function ensureAutonomousPermissions(config3) {
|
|
100297
100306
|
let next = replaceOrInsertRootSetting(config3, "approval_policy", JSON.stringify("never"));
|
|
100298
100307
|
next = replaceOrInsertRootSetting(next, "sandbox_mode", JSON.stringify("danger-full-access"));
|
|
100299
|
-
next =
|
|
100308
|
+
next = removeRootSetting(next, "network_access");
|
|
100300
100309
|
for (const featureName of AUTONOMOUS_FEATURES) {
|
|
100301
100310
|
next = ensureFeatureEnabled(next, featureName);
|
|
100302
100311
|
}
|
package/dist/cli-node/index.js
CHANGED
|
@@ -55,7 +55,7 @@ var package_default;
|
|
|
55
55
|
var init_package = __esm(() => {
|
|
56
56
|
package_default = {
|
|
57
57
|
name: "oh-my-opencode",
|
|
58
|
-
version: "5.0.0-beta.
|
|
58
|
+
version: "5.0.0-beta.39",
|
|
59
59
|
description: "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
|
|
60
60
|
main: "./dist/index.js",
|
|
61
61
|
types: "dist/index.d.ts",
|
|
@@ -276,18 +276,18 @@ var init_package = __esm(() => {
|
|
|
276
276
|
typescript: "^7.0.2"
|
|
277
277
|
},
|
|
278
278
|
optionalDependencies: {
|
|
279
|
-
"oh-my-opencode-darwin-arm64": "5.0.0-beta.
|
|
280
|
-
"oh-my-opencode-darwin-x64": "5.0.0-beta.
|
|
281
|
-
"oh-my-opencode-darwin-x64-baseline": "5.0.0-beta.
|
|
282
|
-
"oh-my-opencode-linux-arm64": "5.0.0-beta.
|
|
283
|
-
"oh-my-opencode-linux-arm64-musl": "5.0.0-beta.
|
|
284
|
-
"oh-my-opencode-linux-x64": "5.0.0-beta.
|
|
285
|
-
"oh-my-opencode-linux-x64-baseline": "5.0.0-beta.
|
|
286
|
-
"oh-my-opencode-linux-x64-musl": "5.0.0-beta.
|
|
287
|
-
"oh-my-opencode-linux-x64-musl-baseline": "5.0.0-beta.
|
|
288
|
-
"oh-my-opencode-windows-arm64": "5.0.0-beta.
|
|
289
|
-
"oh-my-opencode-windows-x64": "5.0.0-beta.
|
|
290
|
-
"oh-my-opencode-windows-x64-baseline": "5.0.0-beta.
|
|
279
|
+
"oh-my-opencode-darwin-arm64": "5.0.0-beta.39",
|
|
280
|
+
"oh-my-opencode-darwin-x64": "5.0.0-beta.39",
|
|
281
|
+
"oh-my-opencode-darwin-x64-baseline": "5.0.0-beta.39",
|
|
282
|
+
"oh-my-opencode-linux-arm64": "5.0.0-beta.39",
|
|
283
|
+
"oh-my-opencode-linux-arm64-musl": "5.0.0-beta.39",
|
|
284
|
+
"oh-my-opencode-linux-x64": "5.0.0-beta.39",
|
|
285
|
+
"oh-my-opencode-linux-x64-baseline": "5.0.0-beta.39",
|
|
286
|
+
"oh-my-opencode-linux-x64-musl": "5.0.0-beta.39",
|
|
287
|
+
"oh-my-opencode-linux-x64-musl-baseline": "5.0.0-beta.39",
|
|
288
|
+
"oh-my-opencode-windows-arm64": "5.0.0-beta.39",
|
|
289
|
+
"oh-my-opencode-windows-x64": "5.0.0-beta.39",
|
|
290
|
+
"oh-my-opencode-windows-x64-baseline": "5.0.0-beta.39"
|
|
291
291
|
},
|
|
292
292
|
overrides: {
|
|
293
293
|
"@earendil-works/pi-agent-core": "0.84.2",
|
|
@@ -94428,7 +94428,7 @@ var package_default2;
|
|
|
94428
94428
|
var init_package2 = __esm(() => {
|
|
94429
94429
|
package_default2 = {
|
|
94430
94430
|
name: "@oh-my-opencode/omo-codex",
|
|
94431
|
-
version: "5.0.0-beta.
|
|
94431
|
+
version: "5.0.0-beta.39",
|
|
94432
94432
|
type: "module",
|
|
94433
94433
|
private: true,
|
|
94434
94434
|
description: "Codex harness adapter for oh-my-openagent. Vendored Codex plugin namespace (omo) + TypeScript installer + telemetry.",
|
|
@@ -99623,6 +99623,15 @@ function replaceOrInsertRootSetting(config3, key, value) {
|
|
|
99623
99623
|
|
|
99624
99624
|
${suffix.trimStart()}`;
|
|
99625
99625
|
}
|
|
99626
|
+
function removeRootSetting(config3, key) {
|
|
99627
|
+
const sectionStart = findFirstTableStart(config3);
|
|
99628
|
+
const root = config3.slice(0, sectionStart);
|
|
99629
|
+
const suffix = config3.slice(sectionStart);
|
|
99630
|
+
const linePattern = new RegExp(`^[ \\t]*${escapeRegExp(key)}[ \\t]*=.*(?:\\n|$)`, "m");
|
|
99631
|
+
if (!linePattern.test(root))
|
|
99632
|
+
return config3;
|
|
99633
|
+
return root.replace(linePattern, "") + suffix;
|
|
99634
|
+
}
|
|
99626
99635
|
function replaceOrInsertRootDottedSetting(config3, keyPath, value) {
|
|
99627
99636
|
const targetPath = parseTomlDottedKey(keyPath);
|
|
99628
99637
|
if (!targetPath)
|
|
@@ -100375,7 +100384,7 @@ var AUTONOMOUS_FEATURES = ["multi_agent", "unified_exec", "goals"];
|
|
|
100375
100384
|
function ensureAutonomousPermissions(config3) {
|
|
100376
100385
|
let next = replaceOrInsertRootSetting(config3, "approval_policy", JSON.stringify("never"));
|
|
100377
100386
|
next = replaceOrInsertRootSetting(next, "sandbox_mode", JSON.stringify("danger-full-access"));
|
|
100378
|
-
next =
|
|
100387
|
+
next = removeRootSetting(next, "network_access");
|
|
100379
100388
|
for (const featureName of AUTONOMOUS_FEATURES) {
|
|
100380
100389
|
next = ensureFeatureEnabled(next, featureName);
|
|
100381
100390
|
}
|
|
@@ -4,9 +4,11 @@ type PromptConfigInfo = {
|
|
|
4
4
|
model?: {
|
|
5
5
|
providerID?: string;
|
|
6
6
|
modelID?: string;
|
|
7
|
+
variant?: string;
|
|
7
8
|
};
|
|
8
9
|
providerID?: string;
|
|
9
10
|
modelID?: string;
|
|
11
|
+
variant?: string;
|
|
10
12
|
};
|
|
11
13
|
export declare function resolveValidatedModel(info: PromptConfigInfo | undefined): CompactionAgentConfigCheckpoint["model"] | undefined;
|
|
12
14
|
export declare function validateCheckpointModel(checkpointModel: CompactionAgentConfigCheckpoint["model"], currentModel: CompactionAgentConfigCheckpoint["model"]): CompactionAgentConfigCheckpoint["model"] | undefined;
|
package/dist/index.js
CHANGED
|
@@ -96612,7 +96612,7 @@ function getCachedVersion(options = {}) {
|
|
|
96612
96612
|
// package.json
|
|
96613
96613
|
var package_default = {
|
|
96614
96614
|
name: "oh-my-opencode",
|
|
96615
|
-
version: "5.0.0-beta.
|
|
96615
|
+
version: "5.0.0-beta.39",
|
|
96616
96616
|
description: "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
|
|
96617
96617
|
main: "./dist/index.js",
|
|
96618
96618
|
types: "dist/index.d.ts",
|
|
@@ -96833,18 +96833,18 @@ var package_default = {
|
|
|
96833
96833
|
typescript: "^7.0.2"
|
|
96834
96834
|
},
|
|
96835
96835
|
optionalDependencies: {
|
|
96836
|
-
"oh-my-opencode-darwin-arm64": "5.0.0-beta.
|
|
96837
|
-
"oh-my-opencode-darwin-x64": "5.0.0-beta.
|
|
96838
|
-
"oh-my-opencode-darwin-x64-baseline": "5.0.0-beta.
|
|
96839
|
-
"oh-my-opencode-linux-arm64": "5.0.0-beta.
|
|
96840
|
-
"oh-my-opencode-linux-arm64-musl": "5.0.0-beta.
|
|
96841
|
-
"oh-my-opencode-linux-x64": "5.0.0-beta.
|
|
96842
|
-
"oh-my-opencode-linux-x64-baseline": "5.0.0-beta.
|
|
96843
|
-
"oh-my-opencode-linux-x64-musl": "5.0.0-beta.
|
|
96844
|
-
"oh-my-opencode-linux-x64-musl-baseline": "5.0.0-beta.
|
|
96845
|
-
"oh-my-opencode-windows-arm64": "5.0.0-beta.
|
|
96846
|
-
"oh-my-opencode-windows-x64": "5.0.0-beta.
|
|
96847
|
-
"oh-my-opencode-windows-x64-baseline": "5.0.0-beta.
|
|
96836
|
+
"oh-my-opencode-darwin-arm64": "5.0.0-beta.39",
|
|
96837
|
+
"oh-my-opencode-darwin-x64": "5.0.0-beta.39",
|
|
96838
|
+
"oh-my-opencode-darwin-x64-baseline": "5.0.0-beta.39",
|
|
96839
|
+
"oh-my-opencode-linux-arm64": "5.0.0-beta.39",
|
|
96840
|
+
"oh-my-opencode-linux-arm64-musl": "5.0.0-beta.39",
|
|
96841
|
+
"oh-my-opencode-linux-x64": "5.0.0-beta.39",
|
|
96842
|
+
"oh-my-opencode-linux-x64-baseline": "5.0.0-beta.39",
|
|
96843
|
+
"oh-my-opencode-linux-x64-musl": "5.0.0-beta.39",
|
|
96844
|
+
"oh-my-opencode-linux-x64-musl-baseline": "5.0.0-beta.39",
|
|
96845
|
+
"oh-my-opencode-windows-arm64": "5.0.0-beta.39",
|
|
96846
|
+
"oh-my-opencode-windows-x64": "5.0.0-beta.39",
|
|
96847
|
+
"oh-my-opencode-windows-x64-baseline": "5.0.0-beta.39"
|
|
96848
96848
|
},
|
|
96849
96849
|
overrides: {
|
|
96850
96850
|
"@earendil-works/pi-agent-core": "0.84.2",
|
|
@@ -116040,7 +116040,8 @@ function cloneCheckpoint(checkpoint) {
|
|
|
116040
116040
|
...checkpoint.model ? {
|
|
116041
116041
|
model: {
|
|
116042
116042
|
providerID: checkpoint.model.providerID,
|
|
116043
|
-
modelID: checkpoint.model.modelID
|
|
116043
|
+
modelID: checkpoint.model.modelID,
|
|
116044
|
+
...checkpoint.model.variant ? { variant: checkpoint.model.variant } : {}
|
|
116044
116045
|
}
|
|
116045
116046
|
} : {},
|
|
116046
116047
|
...checkpoint.tools ? { tools: { ...checkpoint.tools } } : {}
|
|
@@ -116143,10 +116144,11 @@ function resolveValidatedModel(info) {
|
|
|
116143
116144
|
}
|
|
116144
116145
|
const providerID = info?.model?.providerID ?? info?.providerID;
|
|
116145
116146
|
const modelID = info?.model?.modelID ?? info?.modelID;
|
|
116147
|
+
const variant = info?.model?.variant ?? info?.variant;
|
|
116146
116148
|
if (!providerID || !modelID) {
|
|
116147
116149
|
return;
|
|
116148
116150
|
}
|
|
116149
|
-
return { providerID, modelID };
|
|
116151
|
+
return { providerID, modelID, ...variant ? { variant } : {} };
|
|
116150
116152
|
}
|
|
116151
116153
|
function validateCheckpointModel(checkpointModel, currentModel) {
|
|
116152
116154
|
if (!checkpointModel) {
|
|
@@ -129378,6 +129380,8 @@ async function pollSyncSession(ctx, client3, input, timeoutMs) {
|
|
|
129378
129380
|
let timedOut = false;
|
|
129379
129381
|
let assistantTurnCount = 0;
|
|
129380
129382
|
let lastSeenAssistantId;
|
|
129383
|
+
let lastObservedAssistantId;
|
|
129384
|
+
let lastObservedMessageCount;
|
|
129381
129385
|
const childSettleMs = input.childWakeGraceMs ?? CHILD_WAKE_GRACE_MS;
|
|
129382
129386
|
let childWaitAssistantId;
|
|
129383
129387
|
let childSettleStartedAt = 0;
|
|
@@ -129456,13 +129460,12 @@ Session ID: ${input.sessionID}`;
|
|
|
129456
129460
|
sessionStatus: sessionStatus?.type ?? "not_in_status"
|
|
129457
129461
|
});
|
|
129458
129462
|
}
|
|
129459
|
-
|
|
129463
|
+
const isActive = isActiveSessionStatus(sessionStatus);
|
|
129464
|
+
const statusRevision = sessionStatus && (sessionStatus.updatedAt ?? sessionStatus.revision ?? sessionStatus.messageCount ?? sessionStatus.type);
|
|
129465
|
+
const statusChanged = statusRevision !== undefined && String(statusRevision) !== lastStatusRevision;
|
|
129466
|
+
if (statusChanged)
|
|
129460
129467
|
inactiveStart = Date.now();
|
|
129461
|
-
continue;
|
|
129462
|
-
}
|
|
129463
129468
|
nonActivePollsSinceMessageFetch++;
|
|
129464
|
-
const statusRevision = sessionStatus && (sessionStatus.updatedAt ?? sessionStatus.revision ?? sessionStatus.messageCount);
|
|
129465
|
-
const statusChanged = statusRevision !== undefined && String(statusRevision) !== lastStatusRevision;
|
|
129466
129469
|
if (hasFetchedNonActiveMessages && !statusChanged && nonActivePollsSinceMessageFetch < MAX_NON_ACTIVE_STATUS_STALENESS_POLLS) {
|
|
129467
129470
|
continue;
|
|
129468
129471
|
}
|
|
@@ -129479,13 +129482,18 @@ Session ID: ${input.sessionID}`;
|
|
|
129479
129482
|
}
|
|
129480
129483
|
if (!hasMessagesAfterAnchor(messages, input.anchorMessageID, input.anchorMessageCount))
|
|
129481
129484
|
continue;
|
|
129485
|
+
const currentAssistantId = [...messages].reverse().find((m) => m.info?.role === "assistant")?.info?.id;
|
|
129486
|
+
const messageStateChanged = lastObservedMessageCount !== undefined && (messages.length !== lastObservedMessageCount || currentAssistantId !== lastObservedAssistantId);
|
|
129487
|
+
lastObservedMessageCount = messages.length;
|
|
129488
|
+
lastObservedAssistantId = currentAssistantId;
|
|
129489
|
+
if (messageStateChanged)
|
|
129490
|
+
inactiveStart = Date.now();
|
|
129482
129491
|
const sessionError = getTerminalSessionError(messages);
|
|
129483
129492
|
if (sessionError) {
|
|
129484
129493
|
log2("[task] Poll detected terminal session error", { sessionID: input.sessionID, sessionError });
|
|
129485
129494
|
return sessionError;
|
|
129486
129495
|
}
|
|
129487
|
-
if (isSessionComplete(messages)) {
|
|
129488
|
-
const currentAssistantId = [...messages].reverse().find((m) => m.info?.role === "assistant")?.info?.id;
|
|
129496
|
+
if (!isActive && isSessionComplete(messages)) {
|
|
129489
129497
|
if (isAwaitingChildContinuation(currentAssistantId)) {
|
|
129490
129498
|
continue;
|
|
129491
129499
|
}
|
|
@@ -129508,6 +129516,8 @@ Session ID: ${input.sessionID}`;
|
|
|
129508
129516
|
return `Task aborted: subagent exceeded ${maxTurns} assistant turns without completing. This usually indicates an infinite tool-call loop. Session ID: ${input.sessionID}`;
|
|
129509
129517
|
}
|
|
129510
129518
|
}
|
|
129519
|
+
if (isActive)
|
|
129520
|
+
continue;
|
|
129511
129521
|
const hasAssistantText = messages.some((m) => {
|
|
129512
129522
|
if (m.info?.role !== "assistant")
|
|
129513
129523
|
return false;
|
|
@@ -134633,13 +134643,14 @@ function convertSessionMessageToStoredMessage(message) {
|
|
|
134633
134643
|
}
|
|
134634
134644
|
const providerID = info.model?.providerID ?? info.providerID;
|
|
134635
134645
|
const modelID = info.model?.modelID ?? info.modelID;
|
|
134646
|
+
const variant = info.model?.variant ?? info.variant;
|
|
134636
134647
|
return {
|
|
134637
134648
|
...info.agent ? { agent: info.agent } : {},
|
|
134638
134649
|
...providerID && modelID ? {
|
|
134639
134650
|
model: {
|
|
134640
134651
|
providerID,
|
|
134641
134652
|
modelID,
|
|
134642
|
-
...
|
|
134653
|
+
...variant ? { variant } : {}
|
|
134643
134654
|
}
|
|
134644
134655
|
} : {},
|
|
134645
134656
|
...info.tools ? { tools: info.tools } : {}
|
|
@@ -134678,7 +134689,8 @@ function mergeStoredMessages(messages, sessionID) {
|
|
|
134678
134689
|
if (!merged.model && checkpoint?.model) {
|
|
134679
134690
|
merged.model = {
|
|
134680
134691
|
providerID: checkpoint.model.providerID,
|
|
134681
|
-
modelID: checkpoint.model.modelID
|
|
134692
|
+
modelID: checkpoint.model.modelID,
|
|
134693
|
+
...checkpoint.model.variant ? { variant: checkpoint.model.variant } : {}
|
|
134682
134694
|
};
|
|
134683
134695
|
}
|
|
134684
134696
|
if (!merged.tools && checkpoint?.tools) {
|
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.39",
|
|
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",
|
|
@@ -221,18 +221,18 @@
|
|
|
221
221
|
"typescript": "^7.0.2"
|
|
222
222
|
},
|
|
223
223
|
"optionalDependencies": {
|
|
224
|
-
"oh-my-opencode-darwin-arm64": "5.0.0-beta.
|
|
225
|
-
"oh-my-opencode-darwin-x64": "5.0.0-beta.
|
|
226
|
-
"oh-my-opencode-darwin-x64-baseline": "5.0.0-beta.
|
|
227
|
-
"oh-my-opencode-linux-arm64": "5.0.0-beta.
|
|
228
|
-
"oh-my-opencode-linux-arm64-musl": "5.0.0-beta.
|
|
229
|
-
"oh-my-opencode-linux-x64": "5.0.0-beta.
|
|
230
|
-
"oh-my-opencode-linux-x64-baseline": "5.0.0-beta.
|
|
231
|
-
"oh-my-opencode-linux-x64-musl": "5.0.0-beta.
|
|
232
|
-
"oh-my-opencode-linux-x64-musl-baseline": "5.0.0-beta.
|
|
233
|
-
"oh-my-opencode-windows-arm64": "5.0.0-beta.
|
|
234
|
-
"oh-my-opencode-windows-x64": "5.0.0-beta.
|
|
235
|
-
"oh-my-opencode-windows-x64-baseline": "5.0.0-beta.
|
|
224
|
+
"oh-my-opencode-darwin-arm64": "5.0.0-beta.39",
|
|
225
|
+
"oh-my-opencode-darwin-x64": "5.0.0-beta.39",
|
|
226
|
+
"oh-my-opencode-darwin-x64-baseline": "5.0.0-beta.39",
|
|
227
|
+
"oh-my-opencode-linux-arm64": "5.0.0-beta.39",
|
|
228
|
+
"oh-my-opencode-linux-arm64-musl": "5.0.0-beta.39",
|
|
229
|
+
"oh-my-opencode-linux-x64": "5.0.0-beta.39",
|
|
230
|
+
"oh-my-opencode-linux-x64-baseline": "5.0.0-beta.39",
|
|
231
|
+
"oh-my-opencode-linux-x64-musl": "5.0.0-beta.39",
|
|
232
|
+
"oh-my-opencode-linux-x64-musl-baseline": "5.0.0-beta.39",
|
|
233
|
+
"oh-my-opencode-windows-arm64": "5.0.0-beta.39",
|
|
234
|
+
"oh-my-opencode-windows-x64": "5.0.0-beta.39",
|
|
235
|
+
"oh-my-opencode-windows-x64-baseline": "5.0.0-beta.39"
|
|
236
236
|
},
|
|
237
237
|
"overrides": {
|
|
238
238
|
"@earendil-works/pi-agent-core": "0.84.2",
|
|
@@ -1094,6 +1094,15 @@ function replaceOrInsertRootSetting(config, key, value) {
|
|
|
1094
1094
|
|
|
1095
1095
|
${suffix.trimStart()}`;
|
|
1096
1096
|
}
|
|
1097
|
+
function removeRootSetting(config, key) {
|
|
1098
|
+
const sectionStart = findFirstTableStart(config);
|
|
1099
|
+
const root = config.slice(0, sectionStart);
|
|
1100
|
+
const suffix = config.slice(sectionStart);
|
|
1101
|
+
const linePattern = new RegExp(`^[ \\t]*${escapeRegExp(key)}[ \\t]*=.*(?:\\n|$)`, "m");
|
|
1102
|
+
if (!linePattern.test(root))
|
|
1103
|
+
return config;
|
|
1104
|
+
return root.replace(linePattern, "") + suffix;
|
|
1105
|
+
}
|
|
1097
1106
|
function replaceOrInsertRootDottedSetting(config, keyPath, value) {
|
|
1098
1107
|
const targetPath = parseTomlDottedKey(keyPath);
|
|
1099
1108
|
if (!targetPath)
|
|
@@ -2829,7 +2838,7 @@ var AUTONOMOUS_FEATURES = ["multi_agent", "unified_exec", "goals"];
|
|
|
2829
2838
|
function ensureAutonomousPermissions(config) {
|
|
2830
2839
|
let next = replaceOrInsertRootSetting(config, "approval_policy", JSON.stringify("never"));
|
|
2831
2840
|
next = replaceOrInsertRootSetting(next, "sandbox_mode", JSON.stringify("danger-full-access"));
|
|
2832
|
-
next =
|
|
2841
|
+
next = removeRootSetting(next, "network_access");
|
|
2833
2842
|
for (const featureName of AUTONOMOUS_FEATURES) {
|
|
2834
2843
|
next = ensureFeatureEnabled(next, featureName);
|
|
2835
2844
|
}
|
|
@@ -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.39) 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.39",
|
|
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.39) 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.39) 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.39) 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.39",
|
|
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.39",
|
|
4
|
+
"inputDigest": "sha256:e6dca9fde576c2b56ce6cd9cad6cbaf2b72e8a636633fb21cec99d8bbb204852",
|
|
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.39) 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.39) 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.39) 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.39) 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.39) 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.39) 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.39) 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.39",
|
|
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.39) 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.39",
|
|
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",
|