oh-my-opencode 5.0.0-beta.10 → 5.0.0-beta.12
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 +34 -86
- package/dist/cli-node/index.js +34 -86
- package/dist/index.js +80 -93
- package/dist/tools/delegate-task/builtin-categories.d.ts +1 -0
- package/dist/tools/delegate-task/builtin-category-definition.d.ts +1 -0
- package/dist/tools/delegate-task/tool-description.d.ts +3 -1
- package/dist/tui.js +19 -71
- package/package.json +14 -14
- package/packages/lsp-core/src/lsp/client-wrapper-outside-cwd.test.ts +78 -0
- package/packages/lsp-core/src/lsp/client-wrapper.test.ts +6 -6
- package/packages/lsp-core/src/lsp/client-wrapper.ts +5 -6
- package/packages/lsp-core/src/lsp/outside-context-workspace.ts +33 -0
- package/packages/lsp-core/src/lsp/workspace-markers.ts +1 -0
- package/packages/lsp-daemon/dist/cli.js +94 -59
- package/packages/lsp-daemon/dist/client.js +72 -37
- package/packages/lsp-daemon/dist/index.js +78 -43
- package/packages/lsp-tools-mcp/dist/cli.js +68 -33
- package/packages/lsp-tools-mcp/dist/mcp.js +68 -33
- package/packages/lsp-tools-mcp/dist/tools.js +68 -33
- 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/codegraph/dist/cli.js +9 -0
- package/packages/omo-codex/plugin/components/codegraph/dist/serve.js +9 -0
- 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 +83 -54
- 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/start-work-continuation/hooks/hooks.json +2 -2
- package/packages/omo-codex/plugin/components/start-work-continuation/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-loop/hooks/hooks.json +4 -4
- package/packages/omo-codex/plugin/components/ulw-loop/package.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-compact-resetting-git-bash-mcp-reminder.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-compact-resetting-lsp-diagnostics-cache.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-compact-resetting-project-rule-cache.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-tool-use-checking-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-start-work-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-start-work-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 +13 -13
- package/packages/omo-codex/plugin/package.json +1 -1
- package/packages/omo-codex/scripts/install-dist/install-local.mjs +2 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// ../lsp-core/src/lsp/client-wrapper.ts
|
|
2
|
-
import { existsSync as
|
|
3
|
-
import { basename as basename3, dirname as
|
|
2
|
+
import { existsSync as existsSync10, realpathSync as realpathSync5, statSync as statSync3 } from "node:fs";
|
|
3
|
+
import { basename as basename3, dirname as dirname7, join as join5, resolve as resolve7 } from "node:path";
|
|
4
4
|
|
|
5
5
|
// ../lsp-core/src/request-context.ts
|
|
6
6
|
import { AsyncLocalStorage } from "node:async_hooks";
|
|
@@ -3194,15 +3194,52 @@ async function disposeDefaultLspManager() {
|
|
|
3194
3194
|
}
|
|
3195
3195
|
}
|
|
3196
3196
|
|
|
3197
|
+
// ../lsp-core/src/lsp/outside-context-workspace.ts
|
|
3198
|
+
import { existsSync as existsSync6, realpathSync as realpathSync4 } from "node:fs";
|
|
3199
|
+
import { dirname as dirname5, join as join3 } from "node:path";
|
|
3200
|
+
|
|
3201
|
+
// ../lsp-core/src/lsp/workspace-markers.ts
|
|
3202
|
+
var WORKSPACE_MARKERS = [".git", "package.json", "pyproject.toml", "Cargo.toml", "go.mod", "pom.xml", "build.gradle"];
|
|
3203
|
+
|
|
3204
|
+
// ../lsp-core/src/lsp/outside-context-workspace.ts
|
|
3205
|
+
function findWorkspaceRootOutsideContext(directory) {
|
|
3206
|
+
const marked = nearestMarkedAncestor(directory);
|
|
3207
|
+
if (marked !== undefined)
|
|
3208
|
+
return marked;
|
|
3209
|
+
return realpathSync4(nearestExistingAncestor(directory));
|
|
3210
|
+
}
|
|
3211
|
+
function nearestMarkedAncestor(directory) {
|
|
3212
|
+
let current = directory;
|
|
3213
|
+
for (;; ) {
|
|
3214
|
+
if (existsSync6(current) && WORKSPACE_MARKERS.some((marker) => existsSync6(join3(current, marker)))) {
|
|
3215
|
+
return realpathSync4(current);
|
|
3216
|
+
}
|
|
3217
|
+
const parent = dirname5(current);
|
|
3218
|
+
if (parent === current)
|
|
3219
|
+
return;
|
|
3220
|
+
current = parent;
|
|
3221
|
+
}
|
|
3222
|
+
}
|
|
3223
|
+
function nearestExistingAncestor(directory) {
|
|
3224
|
+
let current = directory;
|
|
3225
|
+
while (!existsSync6(current)) {
|
|
3226
|
+
const parent = dirname5(current);
|
|
3227
|
+
if (parent === current)
|
|
3228
|
+
return current;
|
|
3229
|
+
current = parent;
|
|
3230
|
+
}
|
|
3231
|
+
return current;
|
|
3232
|
+
}
|
|
3233
|
+
|
|
3197
3234
|
// ../lsp-core/src/lsp/server-install-state.ts
|
|
3198
|
-
import { existsSync as
|
|
3199
|
-
import { dirname as
|
|
3235
|
+
import { existsSync as existsSync7, mkdirSync, readFileSync as readFileSync3, renameSync as renameSync2, writeFileSync as writeFileSync2 } from "node:fs";
|
|
3236
|
+
import { dirname as dirname6 } from "node:path";
|
|
3200
3237
|
function getInstallDecisionsPath() {
|
|
3201
3238
|
return lspRequestContext().installDecisionsPath;
|
|
3202
3239
|
}
|
|
3203
3240
|
function loadInstallDecisions() {
|
|
3204
3241
|
const path = getInstallDecisionsPath();
|
|
3205
|
-
if (!
|
|
3242
|
+
if (!existsSync7(path))
|
|
3206
3243
|
return {};
|
|
3207
3244
|
try {
|
|
3208
3245
|
const parsed = JSON.parse(readFileSync3(path, "utf8"));
|
|
@@ -3224,7 +3261,7 @@ function isInstallDecision(value) {
|
|
|
3224
3261
|
}
|
|
3225
3262
|
function writeInstallDecisions(decisions) {
|
|
3226
3263
|
const path = getInstallDecisionsPath();
|
|
3227
|
-
mkdirSync(
|
|
3264
|
+
mkdirSync(dirname6(path), { recursive: true });
|
|
3228
3265
|
const tmpPath = `${path}.tmp`;
|
|
3229
3266
|
writeFileSync2(tmpPath, `${JSON.stringify(decisions, null, 2)}
|
|
3230
3267
|
`, "utf8");
|
|
@@ -3243,7 +3280,7 @@ function isRecord5(value) {
|
|
|
3243
3280
|
}
|
|
3244
3281
|
|
|
3245
3282
|
// ../lsp-core/src/lsp/config-loader.ts
|
|
3246
|
-
import { existsSync as
|
|
3283
|
+
import { existsSync as existsSync8, readFileSync as readFileSync4 } from "node:fs";
|
|
3247
3284
|
|
|
3248
3285
|
// ../lsp-core/src/lsp/server-definitions.ts
|
|
3249
3286
|
var LSP_INSTALL_HINTS = {
|
|
@@ -3400,7 +3437,7 @@ function getUserConfigPath() {
|
|
|
3400
3437
|
return lspRequestContext().userConfigPath;
|
|
3401
3438
|
}
|
|
3402
3439
|
function loadJsonFile(path) {
|
|
3403
|
-
if (!
|
|
3440
|
+
if (!existsSync8(path))
|
|
3404
3441
|
return null;
|
|
3405
3442
|
try {
|
|
3406
3443
|
const parsed = JSON.parse(readFileSync4(path, "utf-8"));
|
|
@@ -3588,8 +3625,8 @@ function getDisabledServerIds() {
|
|
|
3588
3625
|
}
|
|
3589
3626
|
|
|
3590
3627
|
// ../lsp-core/src/lsp/server-installation.ts
|
|
3591
|
-
import { existsSync as
|
|
3592
|
-
import { delimiter as delimiter3, join as
|
|
3628
|
+
import { existsSync as existsSync9 } from "node:fs";
|
|
3629
|
+
import { delimiter as delimiter3, join as join4 } from "node:path";
|
|
3593
3630
|
function isServerInstalled(command, _workingDirectory) {
|
|
3594
3631
|
if (command.length === 0)
|
|
3595
3632
|
return false;
|
|
@@ -3597,7 +3634,7 @@ function isServerInstalled(command, _workingDirectory) {
|
|
|
3597
3634
|
if (!cmd)
|
|
3598
3635
|
return false;
|
|
3599
3636
|
if (cmd.includes("/") || cmd.includes("\\")) {
|
|
3600
|
-
if (
|
|
3637
|
+
if (existsSync9(cmd))
|
|
3601
3638
|
return true;
|
|
3602
3639
|
}
|
|
3603
3640
|
const isWindows = process.platform === "win32";
|
|
@@ -3618,7 +3655,7 @@ function isServerInstalled(command, _workingDirectory) {
|
|
|
3618
3655
|
const paths = pathEnv.split(delimiter3);
|
|
3619
3656
|
for (const p of paths) {
|
|
3620
3657
|
for (const suffix of exts) {
|
|
3621
|
-
if (
|
|
3658
|
+
if (existsSync9(join4(p, cmd + suffix))) {
|
|
3622
3659
|
return true;
|
|
3623
3660
|
}
|
|
3624
3661
|
}
|
|
@@ -3714,7 +3751,6 @@ function getAllServers() {
|
|
|
3714
3751
|
}
|
|
3715
3752
|
|
|
3716
3753
|
// ../lsp-core/src/lsp/client-wrapper.ts
|
|
3717
|
-
var WORKSPACE_MARKERS = [".git", "package.json", "pyproject.toml", "Cargo.toml", "go.mod", "pom.xml", "build.gradle"];
|
|
3718
3754
|
function isDirectoryPath(filePath) {
|
|
3719
3755
|
try {
|
|
3720
3756
|
return statSync3(filePath).isDirectory();
|
|
@@ -3727,21 +3763,23 @@ function findWorkspaceRoot(filePath) {
|
|
|
3727
3763
|
const abs = resolveReadablePathInsideContext(filePath);
|
|
3728
3764
|
let dir = abs;
|
|
3729
3765
|
if (!isDirectoryPath(dir)) {
|
|
3730
|
-
dir =
|
|
3766
|
+
dir = dirname7(dir);
|
|
3731
3767
|
}
|
|
3768
|
+
if (!isPathInside(cwd, abs))
|
|
3769
|
+
return findWorkspaceRootOutsideContext(dir);
|
|
3732
3770
|
const fallbackRoot = nearestExistingDirectoryInsideContext(dir, cwd) ?? cwd;
|
|
3733
3771
|
while (isPathInside(cwd, dir)) {
|
|
3734
3772
|
const canonicalDir = existingDirectoryInsideContext(dir, cwd);
|
|
3735
3773
|
if (canonicalDir !== undefined) {
|
|
3736
3774
|
for (const marker of WORKSPACE_MARKERS) {
|
|
3737
|
-
if (
|
|
3775
|
+
if (existsSync10(join5(dir, marker))) {
|
|
3738
3776
|
return canonicalDir;
|
|
3739
3777
|
}
|
|
3740
3778
|
}
|
|
3741
3779
|
}
|
|
3742
3780
|
if (dir === cwd)
|
|
3743
3781
|
break;
|
|
3744
|
-
dir =
|
|
3782
|
+
dir = dirname7(dir);
|
|
3745
3783
|
}
|
|
3746
3784
|
return fallbackRoot;
|
|
3747
3785
|
}
|
|
@@ -3753,10 +3791,7 @@ function resolveReadablePathInsideContext(filePath) {
|
|
|
3753
3791
|
const rebased = rebaseThroughCanonicalAncestor(abs, cwd);
|
|
3754
3792
|
if (rebased !== undefined)
|
|
3755
3793
|
return rebased;
|
|
3756
|
-
|
|
3757
|
-
if (isPathInside(cwd, canonical))
|
|
3758
|
-
return canonical;
|
|
3759
|
-
throw new LspInvalidPathError(`LSP file path must be inside request cwd: ${filePath}`);
|
|
3794
|
+
return canonicalizeExistingOrNearestAncestor(abs);
|
|
3760
3795
|
}
|
|
3761
3796
|
function resolvePathInsideContext(filePath) {
|
|
3762
3797
|
const cwd = contextCwd();
|
|
@@ -3771,12 +3806,12 @@ function rebaseThroughCanonicalAncestor(path, cwd) {
|
|
|
3771
3806
|
let current = path;
|
|
3772
3807
|
const suffix = [];
|
|
3773
3808
|
while (true) {
|
|
3774
|
-
if (
|
|
3775
|
-
const canonical =
|
|
3809
|
+
if (existsSync10(current)) {
|
|
3810
|
+
const canonical = realpathSync5(current);
|
|
3776
3811
|
if (isPathInside(cwd, canonical))
|
|
3777
|
-
return suffix.length === 0 ? canonical :
|
|
3812
|
+
return suffix.length === 0 ? canonical : join5(canonical, ...suffix);
|
|
3778
3813
|
}
|
|
3779
|
-
const parent =
|
|
3814
|
+
const parent = dirname7(current);
|
|
3780
3815
|
if (parent === current)
|
|
3781
3816
|
return;
|
|
3782
3817
|
suffix.unshift(basename3(current));
|
|
@@ -3784,9 +3819,9 @@ function rebaseThroughCanonicalAncestor(path, cwd) {
|
|
|
3784
3819
|
}
|
|
3785
3820
|
}
|
|
3786
3821
|
function existingDirectoryInsideContext(directory, cwd) {
|
|
3787
|
-
if (!
|
|
3822
|
+
if (!existsSync10(directory))
|
|
3788
3823
|
return;
|
|
3789
|
-
const canonical =
|
|
3824
|
+
const canonical = realpathSync5(directory);
|
|
3790
3825
|
if (!statSync3(canonical).isDirectory())
|
|
3791
3826
|
return;
|
|
3792
3827
|
return isPathInside(cwd, canonical) ? canonical : undefined;
|
|
@@ -3799,7 +3834,7 @@ function nearestExistingDirectoryInsideContext(directory, cwd) {
|
|
|
3799
3834
|
return canonical;
|
|
3800
3835
|
if (current === cwd)
|
|
3801
3836
|
return;
|
|
3802
|
-
current =
|
|
3837
|
+
current = dirname7(current);
|
|
3803
3838
|
}
|
|
3804
3839
|
return;
|
|
3805
3840
|
}
|
|
@@ -3917,8 +3952,8 @@ async function withLspClient(filePath, fn, toolName, options = {}) {
|
|
|
3917
3952
|
}
|
|
3918
3953
|
|
|
3919
3954
|
// ../lsp-core/src/lsp/directory-diagnostics.ts
|
|
3920
|
-
import { existsSync as
|
|
3921
|
-
import { join as
|
|
3955
|
+
import { existsSync as existsSync11, lstatSync as lstatSync4, readdirSync as readdirSync3 } from "node:fs";
|
|
3956
|
+
import { join as join6, resolve as resolve8 } from "node:path";
|
|
3922
3957
|
|
|
3923
3958
|
// ../lsp-core/src/lsp/formatters.ts
|
|
3924
3959
|
import { fileURLToPath as fileURLToPath2 } from "node:url";
|
|
@@ -4048,7 +4083,7 @@ function collectFilesWithExtension(dir, extension, maxFiles) {
|
|
|
4048
4083
|
for (const entry of entries) {
|
|
4049
4084
|
if (files.length >= maxFiles)
|
|
4050
4085
|
return;
|
|
4051
|
-
const fullPath =
|
|
4086
|
+
const fullPath = join6(currentDir, entry);
|
|
4052
4087
|
let stat;
|
|
4053
4088
|
try {
|
|
4054
4089
|
stat = lstatSync4(fullPath);
|
|
@@ -4074,7 +4109,7 @@ async function aggregateDiagnosticsForDirectory(directory, extension, severity,
|
|
|
4074
4109
|
throw new LspInvalidPathError(`Extension must start with a dot (e.g., ".ts", not "${extension}"). Use ".${extension}" instead.`);
|
|
4075
4110
|
}
|
|
4076
4111
|
const absDir = resolve8(options.workspaceRoot ?? contextCwd(), directory);
|
|
4077
|
-
if (!
|
|
4112
|
+
if (!existsSync11(absDir)) {
|
|
4078
4113
|
throw new LspInvalidPathError(`Directory does not exist: ${absDir}`);
|
|
4079
4114
|
}
|
|
4080
4115
|
const serverResult = options.server === undefined ? findServerForExtension(extension) : { status: "found", server: options.server };
|
|
@@ -4161,7 +4196,7 @@ async function aggregateDiagnosticsForDirectory(directory, extension, severity,
|
|
|
4161
4196
|
|
|
4162
4197
|
// ../lsp-core/src/lsp/infer-extension.ts
|
|
4163
4198
|
import { lstatSync as lstatSync5, readdirSync as readdirSync4 } from "node:fs";
|
|
4164
|
-
import { join as
|
|
4199
|
+
import { join as join7 } from "node:path";
|
|
4165
4200
|
var SKIP_DIRECTORIES2 = new Set(["node_modules", ".git", "dist", "build", ".next", "out"]);
|
|
4166
4201
|
var MAX_SCAN_ENTRIES = 500;
|
|
4167
4202
|
function inferExtensionFromDirectory(directory) {
|
|
@@ -4179,7 +4214,7 @@ function inferExtensionFromDirectory(directory) {
|
|
|
4179
4214
|
for (const entry of entries) {
|
|
4180
4215
|
if (scanned >= MAX_SCAN_ENTRIES)
|
|
4181
4216
|
return;
|
|
4182
|
-
const fullPath =
|
|
4217
|
+
const fullPath = join7(dir, entry);
|
|
4183
4218
|
let stat;
|
|
4184
4219
|
try {
|
|
4185
4220
|
stat = lstatSync5(fullPath);
|
|
@@ -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.12) 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.12",
|
|
4
4
|
"description": "Codex SessionStart bootstrap component that provisions LazyCodex runtime dependencies from a detached worker.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"private": true,
|
|
@@ -5593,6 +5593,9 @@ var OmoMemoryPeopleSchema = object({
|
|
|
5593
5593
|
var OmoMemorySoulSchema = object({
|
|
5594
5594
|
edit_notice: boolean2().default(true)
|
|
5595
5595
|
}).strict();
|
|
5596
|
+
var OmoMemoryWriteNoticeSchema = object({
|
|
5597
|
+
enabled: boolean2().default(true)
|
|
5598
|
+
}).strict();
|
|
5596
5599
|
var OmoMemoryReflectionTriggerLayerSchema = object({
|
|
5597
5600
|
step_count: number2().int().nonnegative().optional(),
|
|
5598
5601
|
on_compaction: boolean2().optional()
|
|
@@ -5636,6 +5639,9 @@ var OmoMemoryPeopleLayerSchema = object({
|
|
|
5636
5639
|
var OmoMemorySoulLayerSchema = object({
|
|
5637
5640
|
edit_notice: boolean2().optional()
|
|
5638
5641
|
}).strict();
|
|
5642
|
+
var OmoMemoryWriteNoticeLayerSchema = object({
|
|
5643
|
+
enabled: boolean2().optional()
|
|
5644
|
+
}).strict();
|
|
5639
5645
|
var OmoMemoryAgentOverridesSchema = object({
|
|
5640
5646
|
enabled: boolean2().optional(),
|
|
5641
5647
|
agent: string2().min(1).optional(),
|
|
@@ -5645,6 +5651,7 @@ var OmoMemoryAgentOverridesSchema = object({
|
|
|
5645
5651
|
dream: OmoMemoryDreamLayerSchema.optional(),
|
|
5646
5652
|
people: OmoMemoryPeopleLayerSchema.optional(),
|
|
5647
5653
|
soul: OmoMemorySoulLayerSchema.optional(),
|
|
5654
|
+
write_notice: OmoMemoryWriteNoticeLayerSchema.optional(),
|
|
5648
5655
|
sync: OmoMemorySyncLayerSchema.optional(),
|
|
5649
5656
|
search: OmoMemorySearchLayerSchema.optional(),
|
|
5650
5657
|
compile_warn_tokens: number2().int().positive().optional()
|
|
@@ -5673,6 +5680,7 @@ var OmoMemorySettingsSchema = object({
|
|
|
5673
5680
|
}),
|
|
5674
5681
|
people: OmoMemoryPeopleSchema.default({ enabled: true, max_entries: 40, max_entry_chars: 200 }),
|
|
5675
5682
|
soul: OmoMemorySoulSchema.default({ edit_notice: true }),
|
|
5683
|
+
write_notice: OmoMemoryWriteNoticeSchema.default({ enabled: true }),
|
|
5676
5684
|
sync: OmoMemorySyncSchema.default({ enabled: true }),
|
|
5677
5685
|
search: OmoMemorySearchSchema.default({ enabled: true }),
|
|
5678
5686
|
compile_warn_tokens: number2().int().positive().default(30000),
|
|
@@ -5688,6 +5696,7 @@ var OmoMemorySettingsLayerSchema = object({
|
|
|
5688
5696
|
dream: OmoMemoryDreamLayerSchema.optional(),
|
|
5689
5697
|
people: OmoMemoryPeopleLayerSchema.optional(),
|
|
5690
5698
|
soul: OmoMemorySoulLayerSchema.optional(),
|
|
5699
|
+
write_notice: OmoMemoryWriteNoticeLayerSchema.optional(),
|
|
5691
5700
|
sync: OmoMemorySyncLayerSchema.optional(),
|
|
5692
5701
|
search: OmoMemorySearchLayerSchema.optional(),
|
|
5693
5702
|
compile_warn_tokens: number2().int().positive().optional(),
|
|
@@ -5859,6 +5859,9 @@ var OmoMemoryPeopleSchema = object({
|
|
|
5859
5859
|
var OmoMemorySoulSchema = object({
|
|
5860
5860
|
edit_notice: boolean2().default(true)
|
|
5861
5861
|
}).strict();
|
|
5862
|
+
var OmoMemoryWriteNoticeSchema = object({
|
|
5863
|
+
enabled: boolean2().default(true)
|
|
5864
|
+
}).strict();
|
|
5862
5865
|
var OmoMemoryReflectionTriggerLayerSchema = object({
|
|
5863
5866
|
step_count: number2().int().nonnegative().optional(),
|
|
5864
5867
|
on_compaction: boolean2().optional()
|
|
@@ -5902,6 +5905,9 @@ var OmoMemoryPeopleLayerSchema = object({
|
|
|
5902
5905
|
var OmoMemorySoulLayerSchema = object({
|
|
5903
5906
|
edit_notice: boolean2().optional()
|
|
5904
5907
|
}).strict();
|
|
5908
|
+
var OmoMemoryWriteNoticeLayerSchema = object({
|
|
5909
|
+
enabled: boolean2().optional()
|
|
5910
|
+
}).strict();
|
|
5905
5911
|
var OmoMemoryAgentOverridesSchema = object({
|
|
5906
5912
|
enabled: boolean2().optional(),
|
|
5907
5913
|
agent: string2().min(1).optional(),
|
|
@@ -5911,6 +5917,7 @@ var OmoMemoryAgentOverridesSchema = object({
|
|
|
5911
5917
|
dream: OmoMemoryDreamLayerSchema.optional(),
|
|
5912
5918
|
people: OmoMemoryPeopleLayerSchema.optional(),
|
|
5913
5919
|
soul: OmoMemorySoulLayerSchema.optional(),
|
|
5920
|
+
write_notice: OmoMemoryWriteNoticeLayerSchema.optional(),
|
|
5914
5921
|
sync: OmoMemorySyncLayerSchema.optional(),
|
|
5915
5922
|
search: OmoMemorySearchLayerSchema.optional(),
|
|
5916
5923
|
compile_warn_tokens: number2().int().positive().optional()
|
|
@@ -5939,6 +5946,7 @@ var OmoMemorySettingsSchema = object({
|
|
|
5939
5946
|
}),
|
|
5940
5947
|
people: OmoMemoryPeopleSchema.default({ enabled: true, max_entries: 40, max_entry_chars: 200 }),
|
|
5941
5948
|
soul: OmoMemorySoulSchema.default({ edit_notice: true }),
|
|
5949
|
+
write_notice: OmoMemoryWriteNoticeSchema.default({ enabled: true }),
|
|
5942
5950
|
sync: OmoMemorySyncSchema.default({ enabled: true }),
|
|
5943
5951
|
search: OmoMemorySearchSchema.default({ enabled: true }),
|
|
5944
5952
|
compile_warn_tokens: number2().int().positive().default(30000),
|
|
@@ -5954,6 +5962,7 @@ var OmoMemorySettingsLayerSchema = object({
|
|
|
5954
5962
|
dream: OmoMemoryDreamLayerSchema.optional(),
|
|
5955
5963
|
people: OmoMemoryPeopleLayerSchema.optional(),
|
|
5956
5964
|
soul: OmoMemorySoulLayerSchema.optional(),
|
|
5965
|
+
write_notice: OmoMemoryWriteNoticeLayerSchema.optional(),
|
|
5957
5966
|
sync: OmoMemorySyncLayerSchema.optional(),
|
|
5958
5967
|
search: OmoMemorySearchLayerSchema.optional(),
|
|
5959
5968
|
compile_warn_tokens: number2().int().positive().optional(),
|
|
@@ -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.12) 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.12) 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.12) 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.12",
|
|
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.12",
|
|
4
|
+
"inputDigest": "sha256:c75353e569452b53e38c595b527f4593631b35f2e88ed43b7ebe7270512cb62f",
|
|
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": "49e3aaf5a6c6154474618f4845453461f9ce917692c219c8e23323aeb9d3d3ec"
|
|
13
13
|
},
|
|
14
14
|
{
|
|
15
15
|
"path": "codex-hook-cli.d.ts",
|