lazycodex-ai 4.17.0 → 4.18.0
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/get-local-version/types.d.ts +1 -1
- package/dist/cli/index.js +71 -38
- package/dist/cli-node/index.js +71 -38
- package/package.json +1 -1
- package/packages/lsp-daemon/dist/cli.js +7 -13
- package/packages/lsp-daemon/dist/daemon-client.js +3 -5
- package/packages/lsp-daemon/dist/index.js +12 -18
- package/packages/lsp-daemon/dist/request-routing.js +6 -8
- package/packages/omo-codex/plugin/.codex-plugin/plugin.json +1 -1
- package/packages/omo-codex/plugin/components/bootstrap/dist/cli.js +398 -400
- 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/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/cli.js +14 -14
- 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/bundled-rules/hephaestus/gpt-5.5.md +2 -2
- package/packages/omo-codex/plugin/components/rules/bundled-rules/hephaestus/gpt-5.6.md +9 -7
- 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/AGENTS.md +2 -2
- 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/teammode/skills/teammode/SKILL.md +33 -16
- package/packages/omo-codex/plugin/components/teammode/skills/teammode/scripts/team.mjs +2 -1
- package/packages/omo-codex/plugin/components/teammode/test/v2-spawn-schema.test.ts +69 -0
- 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/agents/plan.toml +3 -3
- package/packages/omo-codex/plugin/components/ultrawork/directive.md +66 -27
- 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/ultrawork/skills/ultrawork/SKILL.md +66 -27
- package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/SKILL.md +2 -1
- package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/references/full-workflow.md +1 -1
- package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/references/intent-unclear.md +4 -4
- package/packages/omo-codex/plugin/components/ultrawork/test/codex-hook.test.ts +9 -6
- package/packages/omo-codex/plugin/components/ulw-loop/directive.md +66 -27
- 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/SKILL.md +2 -2
- package/packages/omo-codex/plugin/components/ulw-loop/skills/ulw-loop/references/full-workflow.md +6 -6
- 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/plugin/skills/frontend/SKILL.md +1 -1
- package/packages/omo-codex/plugin/skills/frontend/references/design/README.md +9 -0
- package/packages/omo-codex/plugin/skills/frontend/references/design/design-system-architecture.md +4 -2
- package/packages/omo-codex/plugin/skills/frontend/references/design/layout-skill.md +107 -0
- package/packages/omo-codex/plugin/skills/programming/SKILL.md +12 -2
- package/packages/omo-codex/plugin/skills/review-work/SKILL.md +10 -2
- package/packages/omo-codex/plugin/skills/start-work/SKILL.md +1 -1
- package/packages/omo-codex/plugin/skills/teammode/SKILL.md +33 -16
- package/packages/omo-codex/plugin/skills/teammode/scripts/team.mjs +2 -1
- package/packages/omo-codex/plugin/skills/ultimate-browsing/ATTRIBUTION.md +2 -2
- package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/templates/package.json +1 -1
- package/packages/omo-codex/plugin/skills/ultimate-browsing/references/chrome-stealth.md +11 -11
- package/packages/omo-codex/plugin/skills/ultrawork/SKILL.md +66 -27
- package/packages/omo-codex/plugin/skills/ulw-loop/SKILL.md +2 -2
- package/packages/omo-codex/plugin/skills/ulw-loop/references/full-workflow.md +6 -6
- package/packages/omo-codex/plugin/skills/ulw-plan/SKILL.md +2 -1
- package/packages/omo-codex/plugin/skills/ulw-plan/references/full-workflow.md +1 -1
- package/packages/omo-codex/plugin/skills/ulw-plan/references/intent-unclear.md +4 -4
- package/packages/omo-codex/plugin/skills/visual-qa/SKILL.md +9 -5
- package/packages/omo-codex/plugin/test/sync-skills.test.mjs +1 -1
- package/packages/omo-codex/plugin/test/teammode-transport.test.mjs +25 -0
- package/packages/omo-codex/plugin/test/ulw-plan-scope-contract.test.mjs +24 -0
- package/packages/omo-codex/scripts/install-dist/install-local.mjs +32 -22
- package/packages/shared-skills/skills/frontend/SKILL.md +1 -1
- package/packages/shared-skills/skills/frontend/references/design/README.md +9 -0
- package/packages/shared-skills/skills/frontend/references/design/design-system-architecture.md +4 -2
- package/packages/shared-skills/skills/frontend/references/design/layout-skill.md +107 -0
- package/packages/shared-skills/skills/programming/SKILL.md +12 -2
- package/packages/shared-skills/skills/review-work/SKILL.md +10 -2
- package/packages/shared-skills/skills/start-work/SKILL.md +1 -1
- package/packages/shared-skills/skills/ultimate-browsing/ATTRIBUTION.md +2 -2
- package/packages/shared-skills/skills/ultimate-browsing/engine/templates/package.json +1 -1
- package/packages/shared-skills/skills/ultimate-browsing/references/chrome-stealth.md +11 -11
- package/packages/shared-skills/skills/ulw-plan/SKILL.md +2 -1
- package/packages/shared-skills/skills/ulw-plan/references/full-workflow.md +1 -1
- package/packages/shared-skills/skills/ulw-plan/references/intent-unclear.md +4 -4
- package/packages/shared-skills/skills/visual-qa/SKILL.md +9 -5
|
@@ -1415,6 +1415,11 @@ async function disposeDefaultLspManager() {
|
|
|
1415
1415
|
// src/daemon-client.ts
|
|
1416
1416
|
import { connect as connect2 } from "node:net";
|
|
1417
1417
|
|
|
1418
|
+
// ../mcp-stdio-core/src/record.ts
|
|
1419
|
+
function isPlainRecord(value) {
|
|
1420
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
1421
|
+
}
|
|
1422
|
+
|
|
1418
1423
|
// src/ensure-daemon.ts
|
|
1419
1424
|
import { spawn as spawn2 } from "node:child_process";
|
|
1420
1425
|
import { closeSync as closeSync2, existsSync as existsSync2, mkdirSync as mkdirSync2, openSync as openSync2 } from "node:fs";
|
|
@@ -1632,11 +1637,6 @@ function resolveSocketPath(dir, version) {
|
|
|
1632
1637
|
return natural;
|
|
1633
1638
|
return join2(tmpdir(), `omo-lsp-${version}-${digest}.sock`);
|
|
1634
1639
|
}
|
|
1635
|
-
|
|
1636
|
-
// ../mcp-stdio-core/src/record.ts
|
|
1637
|
-
function isPlainRecord(value) {
|
|
1638
|
-
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
1639
|
-
}
|
|
1640
1640
|
// ../mcp-stdio-core/src/responses.ts
|
|
1641
1641
|
function successResponse(id, result) {
|
|
1642
1642
|
return { jsonrpc: "2.0", id, result };
|
|
@@ -3550,13 +3550,13 @@ function requestedProtocolVersion(params) {
|
|
|
3550
3550
|
// src/request-routing.ts
|
|
3551
3551
|
var CONTEXT_KEY = "_context";
|
|
3552
3552
|
function extractRequestContext(raw) {
|
|
3553
|
-
if (!
|
|
3553
|
+
if (!isPlainRecord(raw) || raw["method"] !== "tools/call")
|
|
3554
3554
|
return { input: raw, context: undefined };
|
|
3555
3555
|
const params = raw["params"];
|
|
3556
|
-
if (!
|
|
3556
|
+
if (!isPlainRecord(params))
|
|
3557
3557
|
return { input: raw, context: undefined };
|
|
3558
3558
|
const args = params["arguments"];
|
|
3559
|
-
if (!
|
|
3559
|
+
if (!isPlainRecord(args))
|
|
3560
3560
|
return { input: raw, context: undefined };
|
|
3561
3561
|
const context = parseContext(args[CONTEXT_KEY]);
|
|
3562
3562
|
if (!context)
|
|
@@ -3573,7 +3573,7 @@ function handleDaemonMessage(raw) {
|
|
|
3573
3573
|
return handleLspMcpRequest(input);
|
|
3574
3574
|
}
|
|
3575
3575
|
function parseContext(value) {
|
|
3576
|
-
if (!
|
|
3576
|
+
if (!isPlainRecord(value))
|
|
3577
3577
|
return;
|
|
3578
3578
|
const context = {};
|
|
3579
3579
|
const cwd = value["cwd"];
|
|
@@ -3584,11 +3584,8 @@ function parseContext(value) {
|
|
|
3584
3584
|
context.env = env;
|
|
3585
3585
|
return context.cwd === undefined && context.env === undefined ? undefined : context;
|
|
3586
3586
|
}
|
|
3587
|
-
function isRecord5(value) {
|
|
3588
|
-
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
3589
|
-
}
|
|
3590
3587
|
function isStringRecord2(value) {
|
|
3591
|
-
return
|
|
3588
|
+
return isPlainRecord(value) && Object.values(value).every((item) => typeof item === "string");
|
|
3592
3589
|
}
|
|
3593
3590
|
|
|
3594
3591
|
// src/socket-jsonrpc.ts
|
|
@@ -3715,10 +3712,10 @@ function sendToolCall(socketPath, name, args, timeoutMs) {
|
|
|
3715
3712
|
});
|
|
3716
3713
|
}
|
|
3717
3714
|
function toToolResult(message) {
|
|
3718
|
-
if (!
|
|
3715
|
+
if (!isPlainRecord(message) || message["id"] !== REQUEST_ID)
|
|
3719
3716
|
return null;
|
|
3720
3717
|
const result = message["result"];
|
|
3721
|
-
if (!
|
|
3718
|
+
if (!isPlainRecord(result) || !Array.isArray(result["content"]))
|
|
3722
3719
|
return null;
|
|
3723
3720
|
return {
|
|
3724
3721
|
content: result["content"],
|
|
@@ -3726,9 +3723,6 @@ function toToolResult(message) {
|
|
|
3726
3723
|
details: result["details"]
|
|
3727
3724
|
};
|
|
3728
3725
|
}
|
|
3729
|
-
function isRecord6(value) {
|
|
3730
|
-
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
3731
|
-
}
|
|
3732
3726
|
function errorText(error) {
|
|
3733
3727
|
return error instanceof Error ? error.message : String(error);
|
|
3734
3728
|
}
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import { handleLspMcpRequest } from "@oh-my-opencode/lsp-core/mcp";
|
|
2
2
|
import { runWithRequestContext } from "@oh-my-opencode/lsp-core/request-context";
|
|
3
|
+
import { isPlainRecord } from "@oh-my-opencode/mcp-stdio-core/record";
|
|
3
4
|
export const CONTEXT_KEY = "_context";
|
|
4
5
|
export function extractRequestContext(raw) {
|
|
5
|
-
if (!
|
|
6
|
+
if (!isPlainRecord(raw) || raw["method"] !== "tools/call")
|
|
6
7
|
return { input: raw, context: undefined };
|
|
7
8
|
const params = raw["params"];
|
|
8
|
-
if (!
|
|
9
|
+
if (!isPlainRecord(params))
|
|
9
10
|
return { input: raw, context: undefined };
|
|
10
11
|
const args = params["arguments"];
|
|
11
|
-
if (!
|
|
12
|
+
if (!isPlainRecord(args))
|
|
12
13
|
return { input: raw, context: undefined };
|
|
13
14
|
const context = parseContext(args[CONTEXT_KEY]);
|
|
14
15
|
if (!context)
|
|
@@ -25,7 +26,7 @@ export function handleDaemonMessage(raw) {
|
|
|
25
26
|
return handleLspMcpRequest(input);
|
|
26
27
|
}
|
|
27
28
|
function parseContext(value) {
|
|
28
|
-
if (!
|
|
29
|
+
if (!isPlainRecord(value))
|
|
29
30
|
return undefined;
|
|
30
31
|
const context = {};
|
|
31
32
|
const cwd = value["cwd"];
|
|
@@ -36,9 +37,6 @@ function parseContext(value) {
|
|
|
36
37
|
context.env = env;
|
|
37
38
|
return context.cwd === undefined && context.env === undefined ? undefined : context;
|
|
38
39
|
}
|
|
39
|
-
function isRecord(value) {
|
|
40
|
-
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
41
|
-
}
|
|
42
40
|
function isStringRecord(value) {
|
|
43
|
-
return
|
|
41
|
+
return isPlainRecord(value) && Object.values(value).every((item) => typeof item === "string");
|
|
44
42
|
}
|