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.
Files changed (112) hide show
  1. package/dist/cli/get-local-version/types.d.ts +1 -1
  2. package/dist/cli/index.js +71 -38
  3. package/dist/cli-node/index.js +71 -38
  4. package/package.json +1 -1
  5. package/packages/lsp-daemon/dist/cli.js +7 -13
  6. package/packages/lsp-daemon/dist/daemon-client.js +3 -5
  7. package/packages/lsp-daemon/dist/index.js +12 -18
  8. package/packages/lsp-daemon/dist/request-routing.js +6 -8
  9. package/packages/omo-codex/plugin/.codex-plugin/plugin.json +1 -1
  10. package/packages/omo-codex/plugin/components/bootstrap/dist/cli.js +398 -400
  11. package/packages/omo-codex/plugin/components/bootstrap/hooks/hooks.json +1 -1
  12. package/packages/omo-codex/plugin/components/bootstrap/package.json +1 -1
  13. package/packages/omo-codex/plugin/components/codegraph/package.json +1 -1
  14. package/packages/omo-codex/plugin/components/comment-checker/hooks/hooks.json +1 -1
  15. package/packages/omo-codex/plugin/components/comment-checker/package.json +1 -1
  16. package/packages/omo-codex/plugin/components/git-bash/hooks/hooks.json +2 -2
  17. package/packages/omo-codex/plugin/components/git-bash/package.json +1 -1
  18. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/hooks/hooks.json +1 -1
  19. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/package.json +1 -1
  20. package/packages/omo-codex/plugin/components/lsp/dist/cli.js +14 -14
  21. package/packages/omo-codex/plugin/components/lsp/hooks/hooks.json +2 -2
  22. package/packages/omo-codex/plugin/components/lsp/package.json +1 -1
  23. package/packages/omo-codex/plugin/components/rules/bundled-rules/hephaestus/gpt-5.5.md +2 -2
  24. package/packages/omo-codex/plugin/components/rules/bundled-rules/hephaestus/gpt-5.6.md +9 -7
  25. package/packages/omo-codex/plugin/components/rules/hooks/hooks.json +4 -4
  26. package/packages/omo-codex/plugin/components/rules/package.json +1 -1
  27. package/packages/omo-codex/plugin/components/start-work-continuation/hooks/hooks.json +2 -2
  28. package/packages/omo-codex/plugin/components/start-work-continuation/package.json +1 -1
  29. package/packages/omo-codex/plugin/components/teammode/AGENTS.md +2 -2
  30. package/packages/omo-codex/plugin/components/teammode/hooks/hooks.json +1 -1
  31. package/packages/omo-codex/plugin/components/teammode/package.json +1 -1
  32. package/packages/omo-codex/plugin/components/teammode/skills/teammode/SKILL.md +33 -16
  33. package/packages/omo-codex/plugin/components/teammode/skills/teammode/scripts/team.mjs +2 -1
  34. package/packages/omo-codex/plugin/components/teammode/test/v2-spawn-schema.test.ts +69 -0
  35. package/packages/omo-codex/plugin/components/telemetry/hooks/hooks.json +1 -1
  36. package/packages/omo-codex/plugin/components/telemetry/package.json +1 -1
  37. package/packages/omo-codex/plugin/components/ultrawork/agents/plan.toml +3 -3
  38. package/packages/omo-codex/plugin/components/ultrawork/directive.md +66 -27
  39. package/packages/omo-codex/plugin/components/ultrawork/hooks/hooks.json +1 -1
  40. package/packages/omo-codex/plugin/components/ultrawork/package.json +1 -1
  41. package/packages/omo-codex/plugin/components/ultrawork/skills/ultrawork/SKILL.md +66 -27
  42. package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/SKILL.md +2 -1
  43. package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/references/full-workflow.md +1 -1
  44. package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/references/intent-unclear.md +4 -4
  45. package/packages/omo-codex/plugin/components/ultrawork/test/codex-hook.test.ts +9 -6
  46. package/packages/omo-codex/plugin/components/ulw-loop/directive.md +66 -27
  47. package/packages/omo-codex/plugin/components/ulw-loop/hooks/hooks.json +4 -4
  48. package/packages/omo-codex/plugin/components/ulw-loop/package.json +1 -1
  49. package/packages/omo-codex/plugin/components/ulw-loop/skills/ulw-loop/SKILL.md +2 -2
  50. package/packages/omo-codex/plugin/components/ulw-loop/skills/ulw-loop/references/full-workflow.md +6 -6
  51. package/packages/omo-codex/plugin/hooks/post-compact-resetting-git-bash-mcp-reminder.json +1 -1
  52. package/packages/omo-codex/plugin/hooks/post-compact-resetting-lsp-diagnostics-cache.json +1 -1
  53. package/packages/omo-codex/plugin/hooks/post-compact-resetting-project-rule-cache.json +1 -1
  54. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-codegraph-init-guidance.json +1 -1
  55. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-comments.json +1 -1
  56. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-lsp-diagnostics.json +1 -1
  57. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-thread-title-hygiene.json +1 -1
  58. package/packages/omo-codex/plugin/hooks/post-tool-use-matching-project-rules.json +1 -1
  59. package/packages/omo-codex/plugin/hooks/pre-tool-use-enforcing-unlimited-goal-budget.json +1 -1
  60. package/packages/omo-codex/plugin/hooks/pre-tool-use-guarding-ulw-loop-spawns.json +1 -1
  61. package/packages/omo-codex/plugin/hooks/pre-tool-use-recommending-git-bash-mcp.json +1 -1
  62. package/packages/omo-codex/plugin/hooks/session-start-checking-auto-update.json +1 -1
  63. package/packages/omo-codex/plugin/hooks/session-start-checking-bootstrap-provisioning.json +1 -1
  64. package/packages/omo-codex/plugin/hooks/session-start-checking-codegraph-bootstrap.json +1 -1
  65. package/packages/omo-codex/plugin/hooks/session-start-loading-project-rules.json +1 -1
  66. package/packages/omo-codex/plugin/hooks/session-start-recording-session-telemetry.json +1 -1
  67. package/packages/omo-codex/plugin/hooks/stop-checking-start-work-continuation.json +1 -1
  68. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-loop-resume.json +1 -1
  69. package/packages/omo-codex/plugin/hooks/subagent-stop-checking-start-work-continuation.json +1 -1
  70. package/packages/omo-codex/plugin/hooks/subagent-stop-verifying-lazycodex-executor-evidence.json +1 -1
  71. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ultrawork-trigger.json +1 -1
  72. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ulw-loop-steering.json +1 -1
  73. package/packages/omo-codex/plugin/hooks/user-prompt-submit-loading-project-rules.json +1 -1
  74. package/packages/omo-codex/plugin/package-lock.json +13 -13
  75. package/packages/omo-codex/plugin/package.json +1 -1
  76. package/packages/omo-codex/plugin/skills/frontend/SKILL.md +1 -1
  77. package/packages/omo-codex/plugin/skills/frontend/references/design/README.md +9 -0
  78. package/packages/omo-codex/plugin/skills/frontend/references/design/design-system-architecture.md +4 -2
  79. package/packages/omo-codex/plugin/skills/frontend/references/design/layout-skill.md +107 -0
  80. package/packages/omo-codex/plugin/skills/programming/SKILL.md +12 -2
  81. package/packages/omo-codex/plugin/skills/review-work/SKILL.md +10 -2
  82. package/packages/omo-codex/plugin/skills/start-work/SKILL.md +1 -1
  83. package/packages/omo-codex/plugin/skills/teammode/SKILL.md +33 -16
  84. package/packages/omo-codex/plugin/skills/teammode/scripts/team.mjs +2 -1
  85. package/packages/omo-codex/plugin/skills/ultimate-browsing/ATTRIBUTION.md +2 -2
  86. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/templates/package.json +1 -1
  87. package/packages/omo-codex/plugin/skills/ultimate-browsing/references/chrome-stealth.md +11 -11
  88. package/packages/omo-codex/plugin/skills/ultrawork/SKILL.md +66 -27
  89. package/packages/omo-codex/plugin/skills/ulw-loop/SKILL.md +2 -2
  90. package/packages/omo-codex/plugin/skills/ulw-loop/references/full-workflow.md +6 -6
  91. package/packages/omo-codex/plugin/skills/ulw-plan/SKILL.md +2 -1
  92. package/packages/omo-codex/plugin/skills/ulw-plan/references/full-workflow.md +1 -1
  93. package/packages/omo-codex/plugin/skills/ulw-plan/references/intent-unclear.md +4 -4
  94. package/packages/omo-codex/plugin/skills/visual-qa/SKILL.md +9 -5
  95. package/packages/omo-codex/plugin/test/sync-skills.test.mjs +1 -1
  96. package/packages/omo-codex/plugin/test/teammode-transport.test.mjs +25 -0
  97. package/packages/omo-codex/plugin/test/ulw-plan-scope-contract.test.mjs +24 -0
  98. package/packages/omo-codex/scripts/install-dist/install-local.mjs +32 -22
  99. package/packages/shared-skills/skills/frontend/SKILL.md +1 -1
  100. package/packages/shared-skills/skills/frontend/references/design/README.md +9 -0
  101. package/packages/shared-skills/skills/frontend/references/design/design-system-architecture.md +4 -2
  102. package/packages/shared-skills/skills/frontend/references/design/layout-skill.md +107 -0
  103. package/packages/shared-skills/skills/programming/SKILL.md +12 -2
  104. package/packages/shared-skills/skills/review-work/SKILL.md +10 -2
  105. package/packages/shared-skills/skills/start-work/SKILL.md +1 -1
  106. package/packages/shared-skills/skills/ultimate-browsing/ATTRIBUTION.md +2 -2
  107. package/packages/shared-skills/skills/ultimate-browsing/engine/templates/package.json +1 -1
  108. package/packages/shared-skills/skills/ultimate-browsing/references/chrome-stealth.md +11 -11
  109. package/packages/shared-skills/skills/ulw-plan/SKILL.md +2 -1
  110. package/packages/shared-skills/skills/ulw-plan/references/full-workflow.md +1 -1
  111. package/packages/shared-skills/skills/ulw-plan/references/intent-unclear.md +4 -4
  112. 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 (!isRecord5(raw) || raw["method"] !== "tools/call")
3553
+ if (!isPlainRecord(raw) || raw["method"] !== "tools/call")
3554
3554
  return { input: raw, context: undefined };
3555
3555
  const params = raw["params"];
3556
- if (!isRecord5(params))
3556
+ if (!isPlainRecord(params))
3557
3557
  return { input: raw, context: undefined };
3558
3558
  const args = params["arguments"];
3559
- if (!isRecord5(args))
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 (!isRecord5(value))
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 isRecord5(value) && Object.values(value).every((item) => typeof item === "string");
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 (!isRecord6(message) || message["id"] !== REQUEST_ID)
3715
+ if (!isPlainRecord(message) || message["id"] !== REQUEST_ID)
3719
3716
  return null;
3720
3717
  const result = message["result"];
3721
- if (!isRecord6(result) || !Array.isArray(result["content"]))
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 (!isRecord(raw) || raw["method"] !== "tools/call")
6
+ if (!isPlainRecord(raw) || raw["method"] !== "tools/call")
6
7
  return { input: raw, context: undefined };
7
8
  const params = raw["params"];
8
- if (!isRecord(params))
9
+ if (!isPlainRecord(params))
9
10
  return { input: raw, context: undefined };
10
11
  const args = params["arguments"];
11
- if (!isRecord(args))
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 (!isRecord(value))
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 isRecord(value) && Object.values(value).every((item) => typeof item === "string");
41
+ return isPlainRecord(value) && Object.values(value).every((item) => typeof item === "string");
44
42
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "omo",
3
- "version": "4.17.0",
3
+ "version": "4.18.0",
4
4
  "description": "One Codex plugin namespace for Yeongyu's local Codex components.",
5
5
  "author": {
6
6
  "name": "Yeongyu Kim",