oh-my-opencode 5.0.0-beta.21 → 5.0.0-beta.23
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 +290 -288
- package/dist/cli-node/index.js +290 -288
- package/dist/index.js +1675 -1657
- package/dist/skills/debugging/SKILL.md +2 -0
- package/dist/skills/debugging/references/methodology/00-setup.md +12 -0
- package/dist/skills/debugging/references/methodology/02-investigate.md +21 -0
- package/dist/skills/debugging/references/runtimes/go.md +15 -1
- package/dist/skills/debugging/references/runtimes/native-binary.md +38 -0
- package/dist/skills/debugging/references/runtimes/node.md +25 -0
- package/dist/skills/debugging/references/runtimes/python.md +13 -0
- package/dist/skills/debugging/references/runtimes/rust.md +41 -0
- package/dist/skills/debugging/references/scripts/dap.mjs +267 -0
- package/dist/skills/debugging/references/scripts/dap.test.ts +86 -0
- package/dist/skills/debugging/references/scripts/fixture-adapter.mjs +59 -0
- package/dist/skills/debugging/references/tools/dap.md +103 -0
- package/dist/skills/debugging/references/tools/frida.md +193 -0
- package/dist/tools/delegate-task/types.d.ts +3 -0
- package/dist/tui.js +131 -147
- package/package.json +18 -15
- package/packages/lsp-core/src/index.ts +1 -0
- package/packages/lsp-core/src/lsp/client-wrapper.ts +25 -5
- package/packages/lsp-core/src/lsp/client.ts +26 -0
- package/packages/lsp-core/src/lsp/connection.ts +16 -0
- package/packages/lsp-core/src/lsp/constants.ts +1 -0
- package/packages/lsp-core/src/lsp/format-document.test.ts +143 -0
- package/packages/lsp-core/src/lsp/format-document.ts +90 -0
- package/packages/lsp-core/src/lsp/manager-max-clients.test.ts +151 -0
- package/packages/lsp-core/src/lsp/manager.ts +34 -1
- package/packages/lsp-core/src/lsp/server-definitions.ts +29 -0
- package/packages/lsp-core/src/lsp/server-installation.test.ts +376 -0
- package/packages/lsp-core/src/lsp/server-installation.ts +200 -27
- package/packages/lsp-core/src/lsp/server-resolution-local-binary.test.ts +170 -0
- package/packages/lsp-core/src/lsp/server-resolution.ts +18 -5
- package/packages/lsp-core/src/lsp/transport.ts +9 -0
- package/packages/lsp-core/src/lsp/types.ts +8 -0
- package/packages/lsp-core/src/tool-surface.test.ts +13 -1
- package/packages/lsp-core/src/tools/definitions.ts +14 -0
- package/packages/lsp-core/src/tools/format.test.ts +56 -0
- package/packages/lsp-core/src/tools/format.ts +56 -0
- package/packages/lsp-core/src/tools/index.ts +1 -0
- package/packages/lsp-core/src/tools/types.ts +10 -0
- package/packages/lsp-daemon/dist/cli.js +432 -144
- package/packages/lsp-daemon/dist/client.d.ts +10 -0
- package/packages/lsp-daemon/dist/client.js +401 -107
- package/packages/lsp-daemon/dist/daemon-client.d.ts +1 -0
- package/packages/lsp-daemon/dist/daemon-client.js +3 -0
- package/packages/lsp-daemon/dist/index.js +395 -107
- package/packages/lsp-daemon/package.json +1 -1
- package/packages/lsp-tools-mcp/dist/cli.js +384 -99
- package/packages/lsp-tools-mcp/dist/lsp/manager.js +53 -0
- package/packages/lsp-tools-mcp/dist/mcp.js +384 -99
- package/packages/lsp-tools-mcp/dist/tools.js +385 -99
- package/packages/omo-codex/plugin/.codex-plugin/plugin.json +1 -1
- package/packages/omo-codex/plugin/components/bootstrap/dist/cli.js +2 -2
- 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/codegraph/dist/cli.js +69 -35
- package/packages/omo-codex/plugin/components/codegraph/dist/serve.js +21 -2
- package/packages/omo-codex/plugin/components/codegraph/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 +3 -3
- package/packages/omo-codex/plugin/components/lsp/dist/cli.js +404 -121
- 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/dist/cli.js +3 -3
- 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/rules/src/post-compact-budget.ts +3 -3
- package/packages/omo-codex/plugin/components/rules/test/post-compact-budget.test.ts +4 -4
- 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/dist/cli.js +30 -15
- package/packages/omo-codex/plugin/components/telemetry/dist/posthog.js +30 -15
- 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-commands.js +5 -1
- package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-output.d.ts +2 -1
- package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-output.js +11 -1
- package/packages/omo-codex/plugin/components/ulw-loop/dist/cli.js +22 -10
- 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/src/cli-commands.ts +5 -1
- package/packages/omo-codex/plugin/components/ulw-loop/src/cli-output.ts +13 -1
- package/packages/omo-codex/plugin/components/ulw-loop/src/cli.ts +3 -5
- package/packages/omo-codex/plugin/components/ulw-loop/test/cli-entrypoint.test.ts +26 -2
- 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-codegraph-init-guidance.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-checking-codegraph-bootstrap.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/model-catalog.json +3 -3
- package/packages/omo-codex/plugin/package-lock.json +13 -13
- package/packages/omo-codex/plugin/package.json +1 -1
- package/packages/omo-codex/plugin/scripts/migrate-codex-config/catalog.mjs +3 -3
- package/packages/omo-codex/plugin/skills/debugging/SKILL.md +2 -0
- package/packages/omo-codex/plugin/skills/debugging/references/methodology/00-setup.md +12 -0
- package/packages/omo-codex/plugin/skills/debugging/references/methodology/02-investigate.md +21 -0
- package/packages/omo-codex/plugin/skills/debugging/references/runtimes/go.md +15 -1
- package/packages/omo-codex/plugin/skills/debugging/references/runtimes/native-binary.md +38 -0
- package/packages/omo-codex/plugin/skills/debugging/references/runtimes/node.md +25 -0
- package/packages/omo-codex/plugin/skills/debugging/references/runtimes/python.md +13 -0
- package/packages/omo-codex/plugin/skills/debugging/references/runtimes/rust.md +41 -0
- package/packages/omo-codex/plugin/skills/debugging/references/scripts/dap.mjs +267 -0
- package/packages/omo-codex/plugin/skills/debugging/references/scripts/fixture-adapter.mjs +59 -0
- package/packages/omo-codex/plugin/skills/debugging/references/tools/dap.md +103 -0
- package/packages/omo-codex/plugin/skills/debugging/references/tools/frida.md +193 -0
- package/packages/omo-codex/plugin/test/aggregate-model-catalog.test.mjs +1 -1
- package/packages/omo-codex/plugin/test/auto-update.test.mjs +2 -2
- package/packages/omo-codex/plugin/test/migrate-codex-config.test.mjs +8 -8
- package/packages/omo-codex/scripts/install-config-reasoning.test.mjs +2 -2
- package/packages/omo-codex/scripts/install-dist/install-local.mjs +38 -23
- package/packages/shared-skills/skills/debugging/SKILL.md +2 -0
- package/packages/shared-skills/skills/debugging/references/methodology/00-setup.md +12 -0
- package/packages/shared-skills/skills/debugging/references/methodology/02-investigate.md +21 -0
- package/packages/shared-skills/skills/debugging/references/runtimes/go.md +15 -1
- package/packages/shared-skills/skills/debugging/references/runtimes/native-binary.md +38 -0
- package/packages/shared-skills/skills/debugging/references/runtimes/node.md +25 -0
- package/packages/shared-skills/skills/debugging/references/runtimes/python.md +13 -0
- package/packages/shared-skills/skills/debugging/references/runtimes/rust.md +41 -0
- package/packages/shared-skills/skills/debugging/references/scripts/dap.mjs +267 -0
- package/packages/shared-skills/skills/debugging/references/scripts/dap.test.ts +86 -0
- package/packages/shared-skills/skills/debugging/references/scripts/fixture-adapter.mjs +59 -0
- package/packages/shared-skills/skills/debugging/references/tools/dap.md +103 -0
- package/packages/shared-skills/skills/debugging/references/tools/frida.md +193 -0
|
@@ -3088,14 +3088,14 @@ import { join as join16 } from "node:path";
|
|
|
3088
3088
|
var FALLBACK_CODEX_MODEL_CATALOG = {
|
|
3089
3089
|
current: {
|
|
3090
3090
|
model: "gpt-5.6-sol",
|
|
3091
|
-
modelContextWindow:
|
|
3091
|
+
modelContextWindow: 650000,
|
|
3092
3092
|
modelReasoningEffort: "high",
|
|
3093
3093
|
planModeReasoningEffort: "xhigh"
|
|
3094
3094
|
},
|
|
3095
3095
|
managedProfiles: [
|
|
3096
3096
|
{
|
|
3097
3097
|
model: "gpt-5.5",
|
|
3098
|
-
modelContextWindow:
|
|
3098
|
+
modelContextWindow: 650000,
|
|
3099
3099
|
modelReasoningEffort: "high",
|
|
3100
3100
|
planModeReasoningEffort: "xhigh"
|
|
3101
3101
|
},
|
|
@@ -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.23) 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.23",
|
|
4
4
|
"description": "Codex SessionStart bootstrap component that provisions LazyCodex runtime dependencies from a detached worker.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"private": true,
|
|
@@ -5882,9 +5882,25 @@ var OmoTelemetrySettingsSchema = OmoTelemetrySettingsLayerSchema.extend({
|
|
|
5882
5882
|
enabled: boolean2().default(true)
|
|
5883
5883
|
}).strict();
|
|
5884
5884
|
|
|
5885
|
+
// ../../omo-config-core/src/schema/format-on-mutation.ts
|
|
5886
|
+
var mode = _enum(["off", "best-effort", "required"]);
|
|
5887
|
+
var languages = record(string2(), boolean2()).optional();
|
|
5888
|
+
var OmoFormatOnMutationLayerSchema = object({
|
|
5889
|
+
mode: mode.optional(),
|
|
5890
|
+
languages,
|
|
5891
|
+
maxFileBytes: number2().int().positive().optional(),
|
|
5892
|
+
timeoutMs: number2().int().positive().optional()
|
|
5893
|
+
}).strict();
|
|
5894
|
+
var OmoFormatOnMutationSchema = OmoFormatOnMutationLayerSchema.extend({
|
|
5895
|
+
mode: mode.default("best-effort"),
|
|
5896
|
+
maxFileBytes: number2().int().positive().default(1048576),
|
|
5897
|
+
timeoutMs: number2().int().positive().default(3000)
|
|
5898
|
+
}).strict();
|
|
5899
|
+
|
|
5885
5900
|
// ../../omo-config-core/src/schema/config.ts
|
|
5886
5901
|
var OmoOpenCodeHarnessConfigSchema = record(string2(), unknown());
|
|
5887
5902
|
var OmoTypedHarnessConfigSchema = object({
|
|
5903
|
+
formatOnMutation: OmoFormatOnMutationLayerSchema.optional(),
|
|
5888
5904
|
categories: OmoCategoriesConfigSchema.optional(),
|
|
5889
5905
|
agents: OmoAgentsConfigSchema.optional(),
|
|
5890
5906
|
codegraph: OmoCodegraphSettingsLayerSchema.optional(),
|
|
@@ -5896,6 +5912,7 @@ var OmoTypedHarnessConfigSchema = object({
|
|
|
5896
5912
|
telemetry: OmoTelemetrySettingsLayerSchema.optional()
|
|
5897
5913
|
}).strict();
|
|
5898
5914
|
var OmoConfigProfileSchema = object({
|
|
5915
|
+
formatOnMutation: OmoFormatOnMutationLayerSchema.optional(),
|
|
5899
5916
|
categories: OmoCategoriesConfigSchema.optional(),
|
|
5900
5917
|
agents: OmoAgentsConfigSchema.optional(),
|
|
5901
5918
|
codegraph: OmoCodegraphSettingsLayerSchema.optional(),
|
|
@@ -5910,6 +5927,7 @@ var OmoConfigProfileSchema = object({
|
|
|
5910
5927
|
"[codex]": OmoTypedHarnessConfigSchema.optional()
|
|
5911
5928
|
}).strict();
|
|
5912
5929
|
var OmoConfigSchema = object({
|
|
5930
|
+
formatOnMutation: OmoFormatOnMutationSchema.optional(),
|
|
5913
5931
|
$schema: string2().optional(),
|
|
5914
5932
|
categories: OmoCategoriesConfigSchema.optional(),
|
|
5915
5933
|
agents: OmoAgentsConfigSchema.optional(),
|
|
@@ -5928,6 +5946,7 @@ var OmoConfigSchema = object({
|
|
|
5928
5946
|
legacy_migrations: record(string2(), unknown()).optional()
|
|
5929
5947
|
}).strict();
|
|
5930
5948
|
var OmoConfigLayerSchema = object({
|
|
5949
|
+
formatOnMutation: OmoFormatOnMutationLayerSchema.optional(),
|
|
5931
5950
|
$schema: string2().optional(),
|
|
5932
5951
|
categories: OmoCategoriesConfigSchema.optional(),
|
|
5933
5952
|
agents: OmoAgentsConfigSchema.optional(),
|
|
@@ -9588,7 +9607,7 @@ function defaultPluginRoot() {
|
|
|
9588
9607
|
}
|
|
9589
9608
|
|
|
9590
9609
|
// components/codegraph/src/session-start-cooldown.ts
|
|
9591
|
-
import { mkdirSync as mkdirSync4, readFileSync as readFileSync6, rmSync as
|
|
9610
|
+
import { mkdirSync as mkdirSync4, readFileSync as readFileSync6, rmSync as rmSync3 } from "node:fs";
|
|
9592
9611
|
|
|
9593
9612
|
// ../../utils/src/atomic-write.ts
|
|
9594
9613
|
import {
|
|
@@ -9596,9 +9615,12 @@ import {
|
|
|
9596
9615
|
fsyncSync,
|
|
9597
9616
|
openSync,
|
|
9598
9617
|
renameSync as renameSync2,
|
|
9618
|
+
rmSync as rmSync2,
|
|
9599
9619
|
unlinkSync as unlinkSync2,
|
|
9600
9620
|
writeFileSync as writeFileSync4
|
|
9601
9621
|
} from "node:fs";
|
|
9622
|
+
import { randomUUID as randomUUID2 } from "node:crypto";
|
|
9623
|
+
import { dirname as dirname8 } from "node:path";
|
|
9602
9624
|
var TOLERATED_FSYNC_CODES = new Set([
|
|
9603
9625
|
"EPERM",
|
|
9604
9626
|
"EACCES",
|
|
@@ -9620,29 +9642,41 @@ function tolerantFsyncSync(fileDescriptor, fsyncImpl) {
|
|
|
9620
9642
|
}
|
|
9621
9643
|
}
|
|
9622
9644
|
function writeFileAtomically(filePath, content, options = {}) {
|
|
9623
|
-
const
|
|
9624
|
-
|
|
9625
|
-
const
|
|
9626
|
-
try {
|
|
9627
|
-
tolerantFsyncSync(tempFileDescriptor, options.fsyncSync ?? fsyncSync);
|
|
9628
|
-
} finally {
|
|
9629
|
-
closeSync(tempFileDescriptor);
|
|
9630
|
-
}
|
|
9645
|
+
const platform = options.platform ?? process.platform;
|
|
9646
|
+
const fsyncImpl = options.fsyncSync ?? fsyncSync;
|
|
9647
|
+
const tempPath = `${filePath}.${process.pid}.${randomUUID2()}.tmp`;
|
|
9631
9648
|
try {
|
|
9632
|
-
|
|
9633
|
-
|
|
9634
|
-
|
|
9635
|
-
|
|
9649
|
+
writeFileSync4(tempPath, content, "utf-8");
|
|
9650
|
+
const tempFileDescriptor = openSync(tempPath, "r+");
|
|
9651
|
+
try {
|
|
9652
|
+
tolerantFsyncSync(tempFileDescriptor, fsyncImpl);
|
|
9653
|
+
} finally {
|
|
9654
|
+
closeSync(tempFileDescriptor);
|
|
9655
|
+
}
|
|
9656
|
+
try {
|
|
9657
|
+
renameSync2(tempPath, filePath);
|
|
9658
|
+
} catch (error) {
|
|
9659
|
+
const isPermissionError = error instanceof Error && (error.message.includes("EPERM") || error.message.includes("EACCES"));
|
|
9660
|
+
if (platform !== "win32" || !isPermissionError)
|
|
9661
|
+
throw error;
|
|
9636
9662
|
unlinkSync2(filePath);
|
|
9637
9663
|
renameSync2(tempPath, filePath);
|
|
9664
|
+
}
|
|
9665
|
+
if (platform === "win32")
|
|
9638
9666
|
return;
|
|
9667
|
+
const directoryFileDescriptor = openSync(dirname8(filePath), "r");
|
|
9668
|
+
try {
|
|
9669
|
+
tolerantFsyncSync(directoryFileDescriptor, fsyncImpl);
|
|
9670
|
+
} finally {
|
|
9671
|
+
closeSync(directoryFileDescriptor);
|
|
9639
9672
|
}
|
|
9640
|
-
|
|
9673
|
+
} finally {
|
|
9674
|
+
rmSync2(tempPath, { force: true });
|
|
9641
9675
|
}
|
|
9642
9676
|
}
|
|
9643
9677
|
|
|
9644
9678
|
// components/codegraph/src/session-start-paths.ts
|
|
9645
|
-
import { basename as basename3, dirname as
|
|
9679
|
+
import { basename as basename3, dirname as dirname9, join as join14 } from "node:path";
|
|
9646
9680
|
function resolveSessionStartStatePaths(homeDir, projectRoot) {
|
|
9647
9681
|
const canonicalProjectRoot = canonicalizeCodegraphPath(projectRoot);
|
|
9648
9682
|
const workspacePaths = resolveCodegraphWorkspacePaths(canonicalProjectRoot, { homeDir });
|
|
@@ -9657,7 +9691,7 @@ function resolveSessionStartStatePaths(homeDir, projectRoot) {
|
|
|
9657
9691
|
};
|
|
9658
9692
|
}
|
|
9659
9693
|
function stateParent(path) {
|
|
9660
|
-
return
|
|
9694
|
+
return dirname9(path);
|
|
9661
9695
|
}
|
|
9662
9696
|
|
|
9663
9697
|
// components/codegraph/src/session-start-cooldown.ts
|
|
@@ -9693,7 +9727,7 @@ function recordSessionStartFailure(options) {
|
|
|
9693
9727
|
}
|
|
9694
9728
|
function clearSessionStartCooldown(options) {
|
|
9695
9729
|
const path = resolveSessionStartStatePaths(options.homeDir, options.projectRoot).cooldownPath;
|
|
9696
|
-
|
|
9730
|
+
rmSync3(path, { force: true });
|
|
9697
9731
|
}
|
|
9698
9732
|
function cooldownDuration(baseCooldownMs, failureCount, maxCooldownMs) {
|
|
9699
9733
|
let duration3 = Math.min(baseCooldownMs, maxCooldownMs);
|
|
@@ -9777,8 +9811,8 @@ function writeSessionStartNotice(stdout, notice) {
|
|
|
9777
9811
|
}
|
|
9778
9812
|
|
|
9779
9813
|
// components/codegraph/src/session-start-lock.ts
|
|
9780
|
-
import { randomUUID as
|
|
9781
|
-
import { mkdirSync as mkdirSync5, readFileSync as readFileSync7, rmSync as
|
|
9814
|
+
import { randomUUID as randomUUID3 } from "node:crypto";
|
|
9815
|
+
import { mkdirSync as mkdirSync5, readFileSync as readFileSync7, rmSync as rmSync4, statSync as statSync3, writeFileSync as writeFileSync5 } from "node:fs";
|
|
9782
9816
|
function acquireSessionStartLock(options) {
|
|
9783
9817
|
const paths = resolveSessionStartStatePaths(options.homeDir, options.projectRoot);
|
|
9784
9818
|
const lockPath = paths.lockPath;
|
|
@@ -9807,7 +9841,7 @@ function releaseSessionStartLock(lock) {
|
|
|
9807
9841
|
if (snapshot.kind !== "present" || snapshot.token !== lock.token)
|
|
9808
9842
|
return false;
|
|
9809
9843
|
try {
|
|
9810
|
-
|
|
9844
|
+
rmSync4(lock.path, { force: true });
|
|
9811
9845
|
return true;
|
|
9812
9846
|
} catch (error) {
|
|
9813
9847
|
if (error instanceof Error)
|
|
@@ -9832,7 +9866,7 @@ function reclaimStaleLock(lockPath, staleSnapshot, options) {
|
|
|
9832
9866
|
const changed = current.raw !== staleSnapshot.raw || current.mtimeMs !== staleSnapshot.mtimeMs;
|
|
9833
9867
|
if (changed || options.nowMs - current.mtimeMs < options.staleMs)
|
|
9834
9868
|
return { kind: "locked" };
|
|
9835
|
-
|
|
9869
|
+
rmSync4(lockPath, { force: true });
|
|
9836
9870
|
}
|
|
9837
9871
|
const acquired = tryCreateLock(lockPath, options.projectRoot);
|
|
9838
9872
|
return acquired.kind === "acquired" ? { ...acquired, recoveredStale: true } : acquired;
|
|
@@ -9841,11 +9875,11 @@ function reclaimStaleLock(lockPath, staleSnapshot, options) {
|
|
|
9841
9875
|
return { kind: "inconclusive", reason: error.message };
|
|
9842
9876
|
throw error;
|
|
9843
9877
|
} finally {
|
|
9844
|
-
|
|
9878
|
+
rmSync4(reclaimPath, { force: true });
|
|
9845
9879
|
}
|
|
9846
9880
|
}
|
|
9847
9881
|
function tryCreateLock(lockPath, projectRoot) {
|
|
9848
|
-
const token =
|
|
9882
|
+
const token = randomUUID3();
|
|
9849
9883
|
try {
|
|
9850
9884
|
writeFileSync5(lockPath, `${JSON.stringify({ projectRoot, token })}
|
|
9851
9885
|
`, {
|
|
@@ -9864,7 +9898,7 @@ function tryCreateLock(lockPath, projectRoot) {
|
|
|
9864
9898
|
}
|
|
9865
9899
|
function tryCreateMarker(path) {
|
|
9866
9900
|
try {
|
|
9867
|
-
writeFileSync5(path, `${
|
|
9901
|
+
writeFileSync5(path, `${randomUUID3()}
|
|
9868
9902
|
`, { encoding: "utf8", flag: "wx", mode: 384 });
|
|
9869
9903
|
return { kind: "acquired" };
|
|
9870
9904
|
} catch (error) {
|
|
@@ -9902,17 +9936,17 @@ function errorCode2(error) {
|
|
|
9902
9936
|
|
|
9903
9937
|
// components/codegraph/src/session-start-outcome.ts
|
|
9904
9938
|
import { appendFileSync as appendFileSync2, mkdirSync as mkdirSync6 } from "node:fs";
|
|
9905
|
-
import { dirname as
|
|
9939
|
+
import { dirname as dirname10, join as join15 } from "node:path";
|
|
9906
9940
|
function appendSessionStartOutcome(homeDir, outcome, nowMs = Date.now()) {
|
|
9907
9941
|
const path = join15(codegraphDataRoot(homeDir), "session-start.jsonl");
|
|
9908
|
-
mkdirSync6(
|
|
9942
|
+
mkdirSync6(dirname10(path), { recursive: true });
|
|
9909
9943
|
appendFileSync2(path, `${JSON.stringify({ ...outcome, timestamp: new Date(nowMs).toISOString() })}
|
|
9910
9944
|
`);
|
|
9911
9945
|
}
|
|
9912
9946
|
|
|
9913
9947
|
// components/codegraph/src/session-start-project.ts
|
|
9914
9948
|
import { realpathSync as realpathSync7, statSync as statSync4 } from "node:fs";
|
|
9915
|
-
import { dirname as
|
|
9949
|
+
import { dirname as dirname11, join as join16 } from "node:path";
|
|
9916
9950
|
function probeCodegraphProject(projectRoot, options = {}) {
|
|
9917
9951
|
const resolved = resolveProjectRoot(projectRoot);
|
|
9918
9952
|
if (resolved.kind === "inconclusive")
|
|
@@ -9944,14 +9978,14 @@ function probeResolvedExactProject(projectRoot, probeDatabase) {
|
|
|
9944
9978
|
return { kind: "uninitialized" };
|
|
9945
9979
|
}
|
|
9946
9980
|
function probeResolvedAncestors(projectRoot, probeDatabase) {
|
|
9947
|
-
let ancestorRoot =
|
|
9981
|
+
let ancestorRoot = dirname11(projectRoot);
|
|
9948
9982
|
while (ancestorRoot !== projectRoot) {
|
|
9949
9983
|
const database = probeDatabase(ancestorRoot);
|
|
9950
9984
|
if (database.kind === "present")
|
|
9951
9985
|
return { ancestorRoot, kind: "nested-root" };
|
|
9952
9986
|
if (database.kind === "inconclusive")
|
|
9953
9987
|
return database;
|
|
9954
|
-
const parent =
|
|
9988
|
+
const parent = dirname11(ancestorRoot);
|
|
9955
9989
|
if (parent === ancestorRoot)
|
|
9956
9990
|
break;
|
|
9957
9991
|
ancestorRoot = parent;
|
|
@@ -10113,7 +10147,7 @@ function parseNodeMajor(version2) {
|
|
|
10113
10147
|
}
|
|
10114
10148
|
|
|
10115
10149
|
// ../../utils/src/codegraph/provision.ts
|
|
10116
|
-
import { createHash as createHash2, randomUUID as
|
|
10150
|
+
import { createHash as createHash2, randomUUID as randomUUID4 } from "node:crypto";
|
|
10117
10151
|
import { execFile as execFile2 } from "node:child_process";
|
|
10118
10152
|
import { chmod, mkdir, readdir, readFile, rename, rm, rmdir, stat, writeFile } from "node:fs/promises";
|
|
10119
10153
|
import { existsSync as existsSync9 } from "node:fs";
|
|
@@ -10233,7 +10267,7 @@ async function installExtractedBundle(extractDir, installDir, executableName) {
|
|
|
10233
10267
|
}
|
|
10234
10268
|
async function installAsset(layout) {
|
|
10235
10269
|
const { asset, downloader, installDir, version: version2 } = layout;
|
|
10236
|
-
const stagingDir = join18(installDir, ".staging",
|
|
10270
|
+
const stagingDir = join18(installDir, ".staging", randomUUID4());
|
|
10237
10271
|
const archivePath = join18(stagingDir, basename4(asset.url));
|
|
10238
10272
|
const extractDir = join18(stagingDir, "extract");
|
|
10239
10273
|
try {
|
|
@@ -10296,7 +10330,7 @@ async function ensureCodegraphProvisioned(options) {
|
|
|
10296
10330
|
import { existsSync as existsSync10 } from "node:fs";
|
|
10297
10331
|
import { homedir as homedir10 } from "node:os";
|
|
10298
10332
|
import { spawnSync } from "node:child_process";
|
|
10299
|
-
import { basename as basename5, dirname as
|
|
10333
|
+
import { basename as basename5, dirname as dirname12, join as join20 } from "node:path";
|
|
10300
10334
|
import { createRequire } from "node:module";
|
|
10301
10335
|
|
|
10302
10336
|
// ../../utils/src/runtime/which.ts
|
|
@@ -10449,7 +10483,7 @@ function defaultProvisionedBin(homeDir, fileExists) {
|
|
|
10449
10483
|
function resolveBundledShim(requireResolve, fileExists) {
|
|
10450
10484
|
try {
|
|
10451
10485
|
const packageJson = requireResolve(`${CODEGRAPH_PACKAGE}/package.json`);
|
|
10452
|
-
const packageRoot =
|
|
10486
|
+
const packageRoot = dirname12(packageJson);
|
|
10453
10487
|
const candidates = [join20(packageRoot, "bin", "codegraph.js"), join20(packageRoot, "npm-shim.js")];
|
|
10454
10488
|
return candidates.find((candidate) => fileExists(candidate)) ?? null;
|
|
10455
10489
|
} catch (error) {
|
|
@@ -11759,8 +11793,8 @@ async function runBridgedCodegraphProcess(command, args, options) {
|
|
|
11759
11793
|
destroyChildPipes();
|
|
11760
11794
|
terminateCodegraphChild(child);
|
|
11761
11795
|
});
|
|
11762
|
-
const clientForwardingDone = forwardClientToCodegraph(options.input, childInput, pendingResponses, (
|
|
11763
|
-
defaultResponseMode =
|
|
11796
|
+
const clientForwardingDone = forwardClientToCodegraph(options.input, childInput, pendingResponses, (mode2) => {
|
|
11797
|
+
defaultResponseMode = mode2;
|
|
11764
11798
|
}, () => parentWatchdogFired);
|
|
11765
11799
|
const responseForwardingDone = forwardCodegraphToClient(childOutput, options.output, pendingResponses, () => defaultResponseMode, () => parentWatchdogFired);
|
|
11766
11800
|
const bridgeDone = Promise.all([clientForwardingDone, responseForwardingDone]);
|
|
@@ -6148,9 +6148,25 @@ var OmoTelemetrySettingsSchema = OmoTelemetrySettingsLayerSchema.extend({
|
|
|
6148
6148
|
enabled: boolean2().default(true)
|
|
6149
6149
|
}).strict();
|
|
6150
6150
|
|
|
6151
|
+
// ../../../../omo-config-core/src/schema/format-on-mutation.ts
|
|
6152
|
+
var mode = _enum(["off", "best-effort", "required"]);
|
|
6153
|
+
var languages = record(string2(), boolean2()).optional();
|
|
6154
|
+
var OmoFormatOnMutationLayerSchema = object({
|
|
6155
|
+
mode: mode.optional(),
|
|
6156
|
+
languages,
|
|
6157
|
+
maxFileBytes: number2().int().positive().optional(),
|
|
6158
|
+
timeoutMs: number2().int().positive().optional()
|
|
6159
|
+
}).strict();
|
|
6160
|
+
var OmoFormatOnMutationSchema = OmoFormatOnMutationLayerSchema.extend({
|
|
6161
|
+
mode: mode.default("best-effort"),
|
|
6162
|
+
maxFileBytes: number2().int().positive().default(1048576),
|
|
6163
|
+
timeoutMs: number2().int().positive().default(3000)
|
|
6164
|
+
}).strict();
|
|
6165
|
+
|
|
6151
6166
|
// ../../../../omo-config-core/src/schema/config.ts
|
|
6152
6167
|
var OmoOpenCodeHarnessConfigSchema = record(string2(), unknown());
|
|
6153
6168
|
var OmoTypedHarnessConfigSchema = object({
|
|
6169
|
+
formatOnMutation: OmoFormatOnMutationLayerSchema.optional(),
|
|
6154
6170
|
categories: OmoCategoriesConfigSchema.optional(),
|
|
6155
6171
|
agents: OmoAgentsConfigSchema.optional(),
|
|
6156
6172
|
codegraph: OmoCodegraphSettingsLayerSchema.optional(),
|
|
@@ -6162,6 +6178,7 @@ var OmoTypedHarnessConfigSchema = object({
|
|
|
6162
6178
|
telemetry: OmoTelemetrySettingsLayerSchema.optional()
|
|
6163
6179
|
}).strict();
|
|
6164
6180
|
var OmoConfigProfileSchema = object({
|
|
6181
|
+
formatOnMutation: OmoFormatOnMutationLayerSchema.optional(),
|
|
6165
6182
|
categories: OmoCategoriesConfigSchema.optional(),
|
|
6166
6183
|
agents: OmoAgentsConfigSchema.optional(),
|
|
6167
6184
|
codegraph: OmoCodegraphSettingsLayerSchema.optional(),
|
|
@@ -6176,6 +6193,7 @@ var OmoConfigProfileSchema = object({
|
|
|
6176
6193
|
"[codex]": OmoTypedHarnessConfigSchema.optional()
|
|
6177
6194
|
}).strict();
|
|
6178
6195
|
var OmoConfigSchema = object({
|
|
6196
|
+
formatOnMutation: OmoFormatOnMutationSchema.optional(),
|
|
6179
6197
|
$schema: string2().optional(),
|
|
6180
6198
|
categories: OmoCategoriesConfigSchema.optional(),
|
|
6181
6199
|
agents: OmoAgentsConfigSchema.optional(),
|
|
@@ -6194,6 +6212,7 @@ var OmoConfigSchema = object({
|
|
|
6194
6212
|
legacy_migrations: record(string2(), unknown()).optional()
|
|
6195
6213
|
}).strict();
|
|
6196
6214
|
var OmoConfigLayerSchema = object({
|
|
6215
|
+
formatOnMutation: OmoFormatOnMutationLayerSchema.optional(),
|
|
6197
6216
|
$schema: string2().optional(),
|
|
6198
6217
|
categories: OmoCategoriesConfigSchema.optional(),
|
|
6199
6218
|
agents: OmoAgentsConfigSchema.optional(),
|
|
@@ -9458,8 +9477,8 @@ async function runBridgedCodegraphProcess(command, args, options) {
|
|
|
9458
9477
|
destroyChildPipes();
|
|
9459
9478
|
terminateCodegraphChild(child);
|
|
9460
9479
|
});
|
|
9461
|
-
const clientForwardingDone = forwardClientToCodegraph(options.input, childInput, pendingResponses, (
|
|
9462
|
-
defaultResponseMode =
|
|
9480
|
+
const clientForwardingDone = forwardClientToCodegraph(options.input, childInput, pendingResponses, (mode2) => {
|
|
9481
|
+
defaultResponseMode = mode2;
|
|
9463
9482
|
}, () => parentWatchdogFired);
|
|
9464
9483
|
const responseForwardingDone = forwardCodegraphToClient(childOutput, options.output, pendingResponses, () => defaultResponseMode, () => parentWatchdogFired);
|
|
9465
9484
|
const bridgeDone = Promise.all([clientForwardingDone, responseForwardingDone]);
|
|
@@ -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.23) 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.23) 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.23) 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.23",
|
|
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.23",
|
|
4
|
+
"inputDigest": "sha256:6ca6ad100ccdd3adbac2d93a8fe3fe5e774cd0cf0d51bef5b12fe2b311c3909d",
|
|
5
5
|
"outputs": [
|
|
6
6
|
{
|
|
7
7
|
"path": "cli.d.ts",
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
},
|
|
10
10
|
{
|
|
11
11
|
"path": "cli.js",
|
|
12
|
-
"sha256": "
|
|
12
|
+
"sha256": "5e3645a0299f523876c758e645e70f7a122a46da6ec7d3994473ec19f9048430"
|
|
13
13
|
},
|
|
14
14
|
{
|
|
15
15
|
"path": "codex-hook-cli.d.ts",
|