lazycodex-ai 5.1.30 → 5.1.33
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 +25 -19
- package/dist/cli/service-auth/commands.d.ts +11 -0
- package/dist/cli-node/index.js +25 -19
- package/package.json +1 -1
- package/packages/omo-codex/plugin/.codex-plugin/plugin.json +1 -1
- package/packages/omo-codex/plugin/components/bootstrap/dist/cli.js +4 -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/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/lcx/skills/lcx-contribute-bug-fix/SKILL.md +7 -4
- 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/teammode/skills/teammode/SKILL.md +3 -3
- 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/dist/cli.js +18 -15
- 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/src/directive-content.ts +1 -1
- package/packages/omo-codex/plugin/components/ulw-execute-continuation/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/ulw-execute-continuation/package.json +1 -1
- package/packages/omo-codex/plugin/components/ulw-loop/directive.md +18 -15
- package/packages/omo-codex/plugin/components/ulw-loop/hooks/hooks.json +5 -5
- 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 +2 -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-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/post-tool-use-recording-spawn-admission.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-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/scripts/sync-skills.mjs +2 -2
- package/packages/omo-codex/plugin/skills/browser/runtime/omowright/manifest.json +1 -1
- package/packages/omo-codex/plugin/skills/lcx-contribute-bug-fix/SKILL.md +7 -4
- package/packages/omo-codex/plugin/skills/teammode/SKILL.md +3 -3
- package/packages/omo-codex/plugin/skills/ultrawork/SKILL.md +18 -15
- package/packages/omo-codex/plugin/skills/ulw-execute/SKILL.md +10 -7
- package/packages/omo-codex/plugin/skills/ulw-loop/SKILL.md +2 -2
- package/packages/omo-codex/plugin/skills/ulw-loop/references/full-workflow.md +2 -2
- package/packages/omo-codex/plugin/skills/ulw-research/SKILL.md +4 -4
- package/packages/omo-codex/plugin/test/sync-skills-test-support.mjs +2 -2
- package/packages/omo-codex/scripts/install-dist/install-local.mjs +6 -4
- package/packages/prompts-core/prompts/ultrawork/codex.md +18 -15
- package/packages/shared-skills/skills/browser/runtime/omowright/manifest.json +1 -1
- package/packages/shared-skills/skills/ulw-execute/SKILL.md +10 -7
- package/packages/shared-skills/skills/ulw-research/SKILL.md +4 -4
package/dist/cli/index.js
CHANGED
|
@@ -64,7 +64,7 @@ var package_default;
|
|
|
64
64
|
var init_package = __esm(() => {
|
|
65
65
|
package_default = {
|
|
66
66
|
name: "oh-my-opencode",
|
|
67
|
-
version: "5.1.
|
|
67
|
+
version: "5.1.33",
|
|
68
68
|
description: "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
|
|
69
69
|
main: "./dist/index.js",
|
|
70
70
|
types: "dist/index.d.ts",
|
|
@@ -241,7 +241,7 @@ var init_package = __esm(() => {
|
|
|
241
241
|
},
|
|
242
242
|
devDependencies: {
|
|
243
243
|
"@clack/prompts": "^1.8.1",
|
|
244
|
-
"@code-yeongyu/senpi": "2026.10.
|
|
244
|
+
"@code-yeongyu/senpi": "2026.10.13",
|
|
245
245
|
"@modelcontextprotocol/sdk": "^1.30.0",
|
|
246
246
|
"@oh-my-opencode/agents-md-core": "workspace:*",
|
|
247
247
|
"@oh-my-opencode/ast-grep-mcp": "workspace:*",
|
|
@@ -300,18 +300,18 @@ var init_package = __esm(() => {
|
|
|
300
300
|
typescript: "^7.0.2"
|
|
301
301
|
},
|
|
302
302
|
optionalDependencies: {
|
|
303
|
-
"oh-my-opencode-darwin-arm64": "5.1.
|
|
304
|
-
"oh-my-opencode-darwin-x64": "5.1.
|
|
305
|
-
"oh-my-opencode-darwin-x64-baseline": "5.1.
|
|
306
|
-
"oh-my-opencode-linux-arm64": "5.1.
|
|
307
|
-
"oh-my-opencode-linux-arm64-musl": "5.1.
|
|
308
|
-
"oh-my-opencode-linux-x64": "5.1.
|
|
309
|
-
"oh-my-opencode-linux-x64-baseline": "5.1.
|
|
310
|
-
"oh-my-opencode-linux-x64-musl": "5.1.
|
|
311
|
-
"oh-my-opencode-linux-x64-musl-baseline": "5.1.
|
|
312
|
-
"oh-my-opencode-windows-arm64": "5.1.
|
|
313
|
-
"oh-my-opencode-windows-x64": "5.1.
|
|
314
|
-
"oh-my-opencode-windows-x64-baseline": "5.1.
|
|
303
|
+
"oh-my-opencode-darwin-arm64": "5.1.33",
|
|
304
|
+
"oh-my-opencode-darwin-x64": "5.1.33",
|
|
305
|
+
"oh-my-opencode-darwin-x64-baseline": "5.1.33",
|
|
306
|
+
"oh-my-opencode-linux-arm64": "5.1.33",
|
|
307
|
+
"oh-my-opencode-linux-arm64-musl": "5.1.33",
|
|
308
|
+
"oh-my-opencode-linux-x64": "5.1.33",
|
|
309
|
+
"oh-my-opencode-linux-x64-baseline": "5.1.33",
|
|
310
|
+
"oh-my-opencode-linux-x64-musl": "5.1.33",
|
|
311
|
+
"oh-my-opencode-linux-x64-musl-baseline": "5.1.33",
|
|
312
|
+
"oh-my-opencode-windows-arm64": "5.1.33",
|
|
313
|
+
"oh-my-opencode-windows-x64": "5.1.33",
|
|
314
|
+
"oh-my-opencode-windows-x64-baseline": "5.1.33"
|
|
315
315
|
},
|
|
316
316
|
overrides: {
|
|
317
317
|
hono: "^4.13.8",
|
|
@@ -74749,7 +74749,8 @@ var init_memory = __esm(() => {
|
|
|
74749
74749
|
}).strict();
|
|
74750
74750
|
OmoMemoryFactsSchema = object({
|
|
74751
74751
|
enabled: boolean2().default(true),
|
|
74752
|
-
debounce_settles: number2().int().min(1).default(4)
|
|
74752
|
+
debounce_settles: number2().int().min(1).default(4),
|
|
74753
|
+
model: string2().min(1).optional()
|
|
74753
74754
|
}).strict();
|
|
74754
74755
|
OmoMemoryDreamSchema = object({
|
|
74755
74756
|
enabled: boolean2().default(true),
|
|
@@ -74811,7 +74812,8 @@ var init_memory = __esm(() => {
|
|
|
74811
74812
|
}).strict();
|
|
74812
74813
|
OmoMemoryFactsLayerSchema = object({
|
|
74813
74814
|
enabled: boolean2().optional(),
|
|
74814
|
-
debounce_settles: number2().int().min(1).optional()
|
|
74815
|
+
debounce_settles: number2().int().min(1).optional(),
|
|
74816
|
+
model: string2().min(1).optional()
|
|
74815
74817
|
}).strict();
|
|
74816
74818
|
OmoMemoryDreamLayerSchema = object({
|
|
74817
74819
|
enabled: boolean2().optional(),
|
|
@@ -89900,7 +89902,7 @@ var package_default2;
|
|
|
89900
89902
|
var init_package2 = __esm(() => {
|
|
89901
89903
|
package_default2 = {
|
|
89902
89904
|
name: "@oh-my-opencode/omo-codex",
|
|
89903
|
-
version: "5.1.
|
|
89905
|
+
version: "5.1.33",
|
|
89904
89906
|
type: "module",
|
|
89905
89907
|
private: true,
|
|
89906
89908
|
description: "Codex harness adapter for oh-my-openagent. Vendored Codex plugin namespace (omo) + TypeScript installer + telemetry.",
|
|
@@ -111127,6 +111129,10 @@ var chooseDevice = async (devices) => {
|
|
|
111127
111129
|
const agreed = await confirm({ message: "Sign out the selected device?", initialValue: false });
|
|
111128
111130
|
return agreed === true ? chosen : null;
|
|
111129
111131
|
};
|
|
111132
|
+
var DEFAULT_ACCOUNTS_ORIGIN = "https://signin.omo.dev";
|
|
111133
|
+
function accountsOrigin(options, env) {
|
|
111134
|
+
return serviceOrigin(options.accounts ?? env.OMO_SERVICE_ACCOUNTS_URL ?? DEFAULT_ACCOUNTS_ORIGIN);
|
|
111135
|
+
}
|
|
111130
111136
|
async function run2(action, options) {
|
|
111131
111137
|
const controller = new AbortController;
|
|
111132
111138
|
const cancel = () => controller.abort();
|
|
@@ -111155,7 +111161,7 @@ async function run2(action, options) {
|
|
|
111155
111161
|
if (!options.device && options.browser !== false) {
|
|
111156
111162
|
try {
|
|
111157
111163
|
await loginLoopback(session, {
|
|
111158
|
-
accounts:
|
|
111164
|
+
accounts: accountsOrigin(options, process.env),
|
|
111159
111165
|
name,
|
|
111160
111166
|
platform,
|
|
111161
111167
|
open: openSignInBrowser,
|
|
@@ -111188,7 +111194,7 @@ async function run2(action, options) {
|
|
|
111188
111194
|
}
|
|
111189
111195
|
}
|
|
111190
111196
|
function configureServiceAuthCommands(program) {
|
|
111191
|
-
program.command("login").description("Sign in to OmO using the OS credential store").option("--device", "Use a device code instead of a browser callback").option("--no-browser", "Sign in by device code without opening a browser").option("--api <url>", "OmO API origin (or OMO_SERVICE_API_URL)").option("--accounts <url>", "OmO
|
|
111197
|
+
program.command("login").description("Sign in to OmO using the OS credential store").option("--device", "Use a device code instead of a browser callback").option("--no-browser", "Sign in by device code without opening a browser").option("--api <url>", "OmO API origin (or OMO_SERVICE_API_URL)").option("--accounts <url>", "OmO sign-in page origin (or OMO_SERVICE_ACCOUNTS_URL)").action((options) => run2("login", options));
|
|
111192
111198
|
for (const action of ["logout", "whoami"]) {
|
|
111193
111199
|
program.command(action).description(action === "logout" ? "Remove stored OmO credentials and device keys" : "Show the current OmO device sign-in").option("--api <url>", "OmO API origin (or OMO_SERVICE_API_URL)").action((options) => run2(action, options));
|
|
111194
111200
|
}
|
|
@@ -1,8 +1,19 @@
|
|
|
1
1
|
import { Command } from "commander";
|
|
2
2
|
import { type ListedDevice } from "./protocol";
|
|
3
|
+
type Options = {
|
|
4
|
+
readonly api?: string;
|
|
5
|
+
readonly accounts?: string;
|
|
6
|
+
readonly device?: boolean;
|
|
7
|
+
readonly browser?: boolean;
|
|
8
|
+
};
|
|
3
9
|
export declare function deviceChoices(devices: readonly ListedDevice[]): {
|
|
4
10
|
value: string;
|
|
5
11
|
label: string;
|
|
6
12
|
}[];
|
|
13
|
+
/** The OmO sign-in page. `accounts.omo.dev` is the identity provider's own account portal (#9965). */
|
|
14
|
+
export declare const DEFAULT_ACCOUNTS_ORIGIN = "https://signin.omo.dev";
|
|
15
|
+
/** The sign-in origin: the `--accounts` flag, then `OMO_SERVICE_ACCOUNTS_URL`, then the default. */
|
|
16
|
+
export declare function accountsOrigin(options: Pick<Options, "accounts">, env: Record<string, string | undefined>): string;
|
|
7
17
|
export declare function configureServiceAuthCommands(program: Command): void;
|
|
8
18
|
export declare function runServiceAuthCommand(args: readonly string[]): Promise<void>;
|
|
19
|
+
export {};
|
package/dist/cli-node/index.js
CHANGED
|
@@ -65,7 +65,7 @@ var package_default;
|
|
|
65
65
|
var init_package = __esm(() => {
|
|
66
66
|
package_default = {
|
|
67
67
|
name: "oh-my-opencode",
|
|
68
|
-
version: "5.1.
|
|
68
|
+
version: "5.1.33",
|
|
69
69
|
description: "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
|
|
70
70
|
main: "./dist/index.js",
|
|
71
71
|
types: "dist/index.d.ts",
|
|
@@ -242,7 +242,7 @@ var init_package = __esm(() => {
|
|
|
242
242
|
},
|
|
243
243
|
devDependencies: {
|
|
244
244
|
"@clack/prompts": "^1.8.1",
|
|
245
|
-
"@code-yeongyu/senpi": "2026.10.
|
|
245
|
+
"@code-yeongyu/senpi": "2026.10.13",
|
|
246
246
|
"@modelcontextprotocol/sdk": "^1.30.0",
|
|
247
247
|
"@oh-my-opencode/agents-md-core": "workspace:*",
|
|
248
248
|
"@oh-my-opencode/ast-grep-mcp": "workspace:*",
|
|
@@ -301,18 +301,18 @@ var init_package = __esm(() => {
|
|
|
301
301
|
typescript: "^7.0.2"
|
|
302
302
|
},
|
|
303
303
|
optionalDependencies: {
|
|
304
|
-
"oh-my-opencode-darwin-arm64": "5.1.
|
|
305
|
-
"oh-my-opencode-darwin-x64": "5.1.
|
|
306
|
-
"oh-my-opencode-darwin-x64-baseline": "5.1.
|
|
307
|
-
"oh-my-opencode-linux-arm64": "5.1.
|
|
308
|
-
"oh-my-opencode-linux-arm64-musl": "5.1.
|
|
309
|
-
"oh-my-opencode-linux-x64": "5.1.
|
|
310
|
-
"oh-my-opencode-linux-x64-baseline": "5.1.
|
|
311
|
-
"oh-my-opencode-linux-x64-musl": "5.1.
|
|
312
|
-
"oh-my-opencode-linux-x64-musl-baseline": "5.1.
|
|
313
|
-
"oh-my-opencode-windows-arm64": "5.1.
|
|
314
|
-
"oh-my-opencode-windows-x64": "5.1.
|
|
315
|
-
"oh-my-opencode-windows-x64-baseline": "5.1.
|
|
304
|
+
"oh-my-opencode-darwin-arm64": "5.1.33",
|
|
305
|
+
"oh-my-opencode-darwin-x64": "5.1.33",
|
|
306
|
+
"oh-my-opencode-darwin-x64-baseline": "5.1.33",
|
|
307
|
+
"oh-my-opencode-linux-arm64": "5.1.33",
|
|
308
|
+
"oh-my-opencode-linux-arm64-musl": "5.1.33",
|
|
309
|
+
"oh-my-opencode-linux-x64": "5.1.33",
|
|
310
|
+
"oh-my-opencode-linux-x64-baseline": "5.1.33",
|
|
311
|
+
"oh-my-opencode-linux-x64-musl": "5.1.33",
|
|
312
|
+
"oh-my-opencode-linux-x64-musl-baseline": "5.1.33",
|
|
313
|
+
"oh-my-opencode-windows-arm64": "5.1.33",
|
|
314
|
+
"oh-my-opencode-windows-x64": "5.1.33",
|
|
315
|
+
"oh-my-opencode-windows-x64-baseline": "5.1.33"
|
|
316
316
|
},
|
|
317
317
|
overrides: {
|
|
318
318
|
hono: "^4.13.8",
|
|
@@ -74828,7 +74828,8 @@ var init_memory = __esm(() => {
|
|
|
74828
74828
|
}).strict();
|
|
74829
74829
|
OmoMemoryFactsSchema = object({
|
|
74830
74830
|
enabled: boolean2().default(true),
|
|
74831
|
-
debounce_settles: number2().int().min(1).default(4)
|
|
74831
|
+
debounce_settles: number2().int().min(1).default(4),
|
|
74832
|
+
model: string2().min(1).optional()
|
|
74832
74833
|
}).strict();
|
|
74833
74834
|
OmoMemoryDreamSchema = object({
|
|
74834
74835
|
enabled: boolean2().default(true),
|
|
@@ -74890,7 +74891,8 @@ var init_memory = __esm(() => {
|
|
|
74890
74891
|
}).strict();
|
|
74891
74892
|
OmoMemoryFactsLayerSchema = object({
|
|
74892
74893
|
enabled: boolean2().optional(),
|
|
74893
|
-
debounce_settles: number2().int().min(1).optional()
|
|
74894
|
+
debounce_settles: number2().int().min(1).optional(),
|
|
74895
|
+
model: string2().min(1).optional()
|
|
74894
74896
|
}).strict();
|
|
74895
74897
|
OmoMemoryDreamLayerSchema = object({
|
|
74896
74898
|
enabled: boolean2().optional(),
|
|
@@ -89979,7 +89981,7 @@ var package_default2;
|
|
|
89979
89981
|
var init_package2 = __esm(() => {
|
|
89980
89982
|
package_default2 = {
|
|
89981
89983
|
name: "@oh-my-opencode/omo-codex",
|
|
89982
|
-
version: "5.1.
|
|
89984
|
+
version: "5.1.33",
|
|
89983
89985
|
type: "module",
|
|
89984
89986
|
private: true,
|
|
89985
89987
|
description: "Codex harness adapter for oh-my-openagent. Vendored Codex plugin namespace (omo) + TypeScript installer + telemetry.",
|
|
@@ -111206,6 +111208,10 @@ var chooseDevice = async (devices) => {
|
|
|
111206
111208
|
const agreed = await confirm({ message: "Sign out the selected device?", initialValue: false });
|
|
111207
111209
|
return agreed === true ? chosen : null;
|
|
111208
111210
|
};
|
|
111211
|
+
var DEFAULT_ACCOUNTS_ORIGIN = "https://signin.omo.dev";
|
|
111212
|
+
function accountsOrigin(options, env) {
|
|
111213
|
+
return serviceOrigin(options.accounts ?? env.OMO_SERVICE_ACCOUNTS_URL ?? DEFAULT_ACCOUNTS_ORIGIN);
|
|
111214
|
+
}
|
|
111209
111215
|
async function run2(action, options) {
|
|
111210
111216
|
const controller = new AbortController;
|
|
111211
111217
|
const cancel = () => controller.abort();
|
|
@@ -111234,7 +111240,7 @@ async function run2(action, options) {
|
|
|
111234
111240
|
if (!options.device && options.browser !== false) {
|
|
111235
111241
|
try {
|
|
111236
111242
|
await loginLoopback(session, {
|
|
111237
|
-
accounts:
|
|
111243
|
+
accounts: accountsOrigin(options, process.env),
|
|
111238
111244
|
name,
|
|
111239
111245
|
platform,
|
|
111240
111246
|
open: openSignInBrowser,
|
|
@@ -111267,7 +111273,7 @@ async function run2(action, options) {
|
|
|
111267
111273
|
}
|
|
111268
111274
|
}
|
|
111269
111275
|
function configureServiceAuthCommands(program) {
|
|
111270
|
-
program.command("login").description("Sign in to OmO using the OS credential store").option("--device", "Use a device code instead of a browser callback").option("--no-browser", "Sign in by device code without opening a browser").option("--api <url>", "OmO API origin (or OMO_SERVICE_API_URL)").option("--accounts <url>", "OmO
|
|
111276
|
+
program.command("login").description("Sign in to OmO using the OS credential store").option("--device", "Use a device code instead of a browser callback").option("--no-browser", "Sign in by device code without opening a browser").option("--api <url>", "OmO API origin (or OMO_SERVICE_API_URL)").option("--accounts <url>", "OmO sign-in page origin (or OMO_SERVICE_ACCOUNTS_URL)").action((options) => run2("login", options));
|
|
111271
111277
|
for (const action of ["logout", "whoami"]) {
|
|
111272
111278
|
program.command(action).description(action === "logout" ? "Remove stored OmO credentials and device keys" : "Show the current OmO device sign-in").option("--api <url>", "OmO API origin (or OMO_SERVICE_API_URL)").action((options) => run2(action, options));
|
|
111273
111279
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lazycodex-ai",
|
|
3
|
-
"version": "5.1.
|
|
3
|
+
"version": "5.1.33",
|
|
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",
|
|
@@ -7158,7 +7158,8 @@ var OmoMemoryNudgeSchema = object({
|
|
|
7158
7158
|
}).strict();
|
|
7159
7159
|
var OmoMemoryFactsSchema = object({
|
|
7160
7160
|
enabled: boolean2().default(true),
|
|
7161
|
-
debounce_settles: number2().int().min(1).default(4)
|
|
7161
|
+
debounce_settles: number2().int().min(1).default(4),
|
|
7162
|
+
model: string2().min(1).optional()
|
|
7162
7163
|
}).strict();
|
|
7163
7164
|
var OmoMemoryDreamSchema = object({
|
|
7164
7165
|
enabled: boolean2().default(true),
|
|
@@ -7220,7 +7221,8 @@ var OmoMemoryNudgeLayerSchema = object({
|
|
|
7220
7221
|
}).strict();
|
|
7221
7222
|
var OmoMemoryFactsLayerSchema = object({
|
|
7222
7223
|
enabled: boolean2().optional(),
|
|
7223
|
-
debounce_settles: number2().int().min(1).optional()
|
|
7224
|
+
debounce_settles: number2().int().min(1).optional(),
|
|
7225
|
+
model: string2().min(1).optional()
|
|
7224
7226
|
}).strict();
|
|
7225
7227
|
var OmoMemoryDreamLayerSchema = object({
|
|
7226
7228
|
enabled: boolean2().optional(),
|
|
@@ -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.1.
|
|
11
|
+
"statusMessage": "(OmO 5.1.33) Checking Bootstrap Provisioning"
|
|
12
12
|
}
|
|
13
13
|
]
|
|
14
14
|
}
|
|
@@ -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.1.
|
|
11
|
+
"statusMessage": "(OmO 5.1.33) 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.1.
|
|
23
|
+
"statusMessage": "(OmO 5.1.33) 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.1.
|
|
11
|
+
"statusMessage": "(OmO 5.1.33) Verifying LazyCodex Executor Evidence"
|
|
12
12
|
}
|
|
13
13
|
]
|
|
14
14
|
}
|
|
@@ -37,11 +37,12 @@ For `code-yeongyu/lazycodex`, create an issue (never a PR) that includes:
|
|
|
37
37
|
|
|
38
38
|
## Required Workflow
|
|
39
39
|
|
|
40
|
-
1. Read the user's bug report and identify the affected surface.
|
|
40
|
+
1. Read the user's bug report and identify the affected surface. Before commands, apply the bundled ultrawork directive’s Task resources and todo rules; read those sections if absent from context.
|
|
41
41
|
2. Invoke `$omo:debugging` for the investigation. If only unqualified skill names are exposed, invoke `$debugging` and state that it is the OMO debugging skill.
|
|
42
42
|
3. Materialize the latest sources under `LAZYCODEX_SOURCE_ROOT="${LAZYCODEX_SOURCE_ROOT:-${TMPDIR:-/tmp}/lazycodex-sources}"`, then decide the target repository. Sync both checkouts on every run and compare them before choosing. Validate cached checkouts before reuse so an incomplete `.git` directory cannot route the fix to the wrong repo:
|
|
43
43
|
|
|
44
44
|
```bash
|
|
45
|
+
# The default checkout cache is per-task under TMPDIR=$RUN_TMP.
|
|
45
46
|
LAZYCODEX_SOURCE_ROOT="${LAZYCODEX_SOURCE_ROOT:-${TMPDIR:-/tmp}/lazycodex-sources}"
|
|
46
47
|
mkdir -p "$LAZYCODEX_SOURCE_ROOT"
|
|
47
48
|
|
|
@@ -86,11 +87,11 @@ sync_latest_source() {
|
|
|
86
87
|
sync_latest_source code-yeongyu/lazycodex "$LAZYCODEX_SOURCE_ROOT/lazycodex-source"
|
|
87
88
|
sync_latest_source openai/codex "$LAZYCODEX_SOURCE_ROOT/chatgpt-subscription-source"
|
|
88
89
|
```
|
|
89
|
-
4. Create a fresh temporary clone and branch under `${TMPDIR:-/tmp}`. Do not modify the user's current repository for the target fix unless the current repository is itself the requested target and the user explicitly asked for local edits.
|
|
90
|
+
4. Create a fresh temporary clone and branch under `${TMPDIR:-/tmp}`. Do not modify the user's current repository for the target fix unless the current repository is itself the requested target and the user explicitly asked for local edits. Apply those resource rules at clone/worktree creation.
|
|
90
91
|
|
|
91
92
|
```bash
|
|
92
93
|
TARGET_REPO="code-yeongyu/lazycodex" # or openai/codex
|
|
93
|
-
WORK_ROOT="$
|
|
94
|
+
WORK_ROOT="${RUN_TMP:?apply ultrawork Task resources first}"
|
|
94
95
|
gh repo clone "$TARGET_REPO" "$WORK_ROOT/repo" -- --depth=1
|
|
95
96
|
cd "$WORK_ROOT/repo"
|
|
96
97
|
BASE_BRANCH="$(git remote show origin | sed -n '/HEAD branch/s/.*: //p')"
|
|
@@ -152,13 +153,15 @@ git push -u fork "$BRANCH_NAME"
|
|
|
152
153
|
gh pr create --repo openai/codex --base "$BASE_BRANCH" --head "$GH_USER:$BRANCH_NAME" --title "<short fix title>" "${LABEL_ARGS[@]}" --body-file "$PR_BODY"
|
|
153
154
|
```
|
|
154
155
|
|
|
155
|
-
13.
|
|
156
|
+
13. Finish cleanup per Task resources. Run this only when that rule permits removing the worktree and run root; otherwise retain them and report the outstanding cleanup todo:
|
|
156
157
|
|
|
157
158
|
```bash
|
|
158
159
|
cd /
|
|
159
160
|
git -C "$WORK_ROOT/repo" worktree remove "$WORK_ROOT/worktree"
|
|
161
|
+
unset TMPDIR NODE_COMPILE_CACHE BUN_RUNTIME_TRANSPILER_CACHE_PATH
|
|
160
162
|
find "$WORK_ROOT" -mindepth 1 -maxdepth 1 -exec rm -r -- {} +
|
|
161
163
|
rmdir "$WORK_ROOT"
|
|
164
|
+
test ! -e "$WORK_ROOT" && printf 'cleanup: worktree and caches REMOVED\n'
|
|
162
165
|
```
|
|
163
166
|
|
|
164
167
|
Return the PR or issue URL, the reproduction command, the verification command, and the cleanup receipt.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
|
-
"version": "5.1.
|
|
4
|
-
"inputDigest": "sha256:
|
|
3
|
+
"version": "5.1.33",
|
|
4
|
+
"inputDigest": "sha256:4371f9aa85f140a0d0329d0c4fea93008200e1f40523c65cc62d772a3d6f1ded",
|
|
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.1.
|
|
11
|
+
"statusMessage": "(OmO 5.1.33) 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.1.
|
|
24
|
+
"statusMessage": "(OmO 5.1.33) 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.1.
|
|
10
|
+
"statusMessage": "(OmO 5.1.33) 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.1.
|
|
22
|
+
"statusMessage": "(OmO 5.1.33) 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.1.
|
|
35
|
+
"statusMessage": "(OmO 5.1.33) 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.1.
|
|
48
|
+
"statusMessage": "(OmO 5.1.33) Resetting Project Rule Cache"
|
|
49
49
|
}
|
|
50
50
|
]
|
|
51
51
|
}
|
|
@@ -229,9 +229,9 @@ cannot clobber each other. Decide this whenever you see the collision - at team
|
|
|
229
229
|
not only up front. For each colliding member run `worktree-add --team <id> --id <member>`: it creates
|
|
230
230
|
the worktree off the base branch on a derived branch, flips the team into worktree mode, records it in
|
|
231
231
|
`team.json`, and prints the `cd` path to hand that member. The member works and commits only inside
|
|
232
|
-
its own worktree. To land the work, `integrate --team <id>` merges every member branch into your
|
|
232
|
+
its own worktree. Use the bundled ultrawork directive’s Task resources and todo rules at member/worktree creation; read those sections if absent from context. To land the work, `integrate --team <id>` merges every member branch into your
|
|
233
233
|
current branch with a merge commit (never a squash or rebase); resolve any conflict it reports, then
|
|
234
|
-
|
|
234
|
+
finish owned directory teardown per Task resources.
|
|
235
235
|
|
|
236
236
|
Delivering the path differs by transport: on MultiAgentV2, create the worktree BEFORE spawning
|
|
237
237
|
so the bootstrap carries it, or send it to an already-running member as a `followup_task`; on
|
|
@@ -280,7 +280,7 @@ is never disbanded is a leak.
|
|
|
280
280
|
- `delete` removes `.omo/teams/{session_id}` and refuses while the team is unarchived or any member
|
|
281
281
|
is still active unless `--force`.
|
|
282
282
|
- When the work wraps up, land it the way the user asked: `integrate --team <id>` for a direct merge
|
|
283
|
-
commit, or push each member branch and open a PR. Then
|
|
283
|
+
commit, or push each member branch and open a PR. Then finish worktree cleanup per Task resources, archive, and
|
|
284
284
|
delete. Cleanup is real work; respect the user's instruction on how to land it.
|
|
285
285
|
|
|
286
286
|
## Stop rules
|
|
@@ -118,7 +118,11 @@ degrades color and wide-glyph width. In this repo:
|
|
|
118
118
|
stream). Outside this repo, capture equivalent browser-rendered terminal
|
|
119
119
|
evidence: screenshot + plain transcript + cleanup receipt.
|
|
120
120
|
|
|
121
|
-
# Bootstrap (
|
|
121
|
+
# Bootstrap (COMPLETE EVERY SECTION BEFORE ANY OTHER WORK — NO SKIPPING)
|
|
122
|
+
|
|
123
|
+
## Task resources
|
|
124
|
+
Before the first task command, create one \`RUN_TMP=$(mktemp -d)\` per task, tracking its paths under section 3 immediately. Export \`TMPDIR="$RUN_TMP" NODE_COMPILE_CACHE="$RUN_TMP/node-compile-cache" BUN_RUNTIME_TRANSPILER_CACHE_PATH="$RUN_TMP/bun-transpiler"\` for every command; pass the same environment explicitly to children that do not inherit it. Give independent child tasks their own run roots.
|
|
125
|
+
At task end, after owned processes exit, remove only owned directories, including runtime caches. Never wipe shared caches; retain worktrees still needed by open PRs and any parent directory containing them.
|
|
122
126
|
|
|
123
127
|
## 0. Survey the skills, gather context, then size the work
|
|
124
128
|
First, survey the loaded skill list and read the description of each
|
|
@@ -212,7 +216,7 @@ steps.
|
|
|
212
216
|
|
|
213
217
|
## 3. Register obsessive todos via \`update_plan\`
|
|
214
218
|
The todo tool is Codex \`update_plan\` — your live, user-visible
|
|
215
|
-
checklist. Translate every action from the plan into one \`update_plan\`
|
|
219
|
+
checklist. Keep resource-cleanup todos registered earlier. Translate every action from the plan into one \`update_plan\`
|
|
216
220
|
step — one step per atomic work unit: an edit plus its verification, a
|
|
217
221
|
QA scenario run, a teardown. Keep each step small enough to finish
|
|
218
222
|
within a few tool calls.
|
|
@@ -224,6 +228,9 @@ behind reality. Add newly discovered steps the moment they surface
|
|
|
224
228
|
instead of waiting for the next pass. Step text encodes WHERE / WHY
|
|
225
229
|
(which criterion it advances) / HOW / VERIFY:
|
|
226
230
|
\`path: <action> for <criterion> — verify by <check>\`.
|
|
231
|
+
ALWAYS add a cleanup todo AT CREATION for each worktree, cache directory (including
|
|
232
|
+
the run root), and QA resource (PID, tmux session, browser context, port, container,
|
|
233
|
+
script or temp path); complete it only after a read-back teardown receipt.
|
|
227
234
|
|
|
228
235
|
GOOD pair (ordered):
|
|
229
236
|
\`test/foo.test.ts: read the validateEmail cases for criterion 2 — verify by noting intent / coverage / pass in the notepad\`
|
|
@@ -286,19 +293,15 @@ Until every success criterion PASSES with its evidence captured:
|
|
|
286
293
|
above; auxiliary surface for CLI- or data-shaped criteria), end to
|
|
287
294
|
end, yourself, plus the step-2 tests; a reproduction now passes.
|
|
288
295
|
Paste the artifact path into the notepad.
|
|
289
|
-
5. CLEANUP (PAIRED — NEVER SKIP):
|
|
290
|
-
|
|
291
|
-
\`
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
sockets / files / dirs (\`rm -rf\` the \`mktemp\` paths), QA-only env
|
|
299
|
-
vars. Append a one-line cleanup receipt to the notepad next to the
|
|
300
|
-
artifact, e.g. \`cleanup: killed 12345; tmux kill-session ulw-qa-foo;
|
|
301
|
-
rm -rf /tmp/ulw.aB12cD\`. No receipt → criterion stays in_progress.
|
|
296
|
+
5. CLEANUP (PAIRED — NEVER SKIP):
|
|
297
|
+
Before recording QA, tear down owned server PIDs (\`kill <pid>\`; verify
|
|
298
|
+
\`kill -0\` fails), tmux sessions (\`tmux kill-session -t ulw-qa-<criterion>\`; confirm \`tmux ls\`),
|
|
299
|
+
browsers / sessions (\`browser.close()\` / \`session.stop()\`), containers (\`docker rm -f\`), ports
|
|
300
|
+
(\`lsof -i :<port>\` empty), QA scripts, temp paths and QA-only env vars.
|
|
301
|
+
Remove QA temp paths inside \`$RUN_TMP\` per criterion; remove the run root
|
|
302
|
+
and eligible worktrees at task end under Task resources.
|
|
303
|
+
Append the read-back receipt beside the artifact in the notepad.
|
|
304
|
+
No receipt → criterion stays in_progress.
|
|
302
305
|
6. Verify: LSP diagnostics clean on changed files; no test skipped or
|
|
303
306
|
xfail-ed this turn.
|
|
304
307
|
7. Mark completed. Append non-obvious findings / learnings.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@code-yeongyu/codex-ultrawork",
|
|
3
|
-
"version": "5.1.
|
|
3
|
+
"version": "5.1.33",
|
|
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",
|