oh-my-opencode 5.0.0-beta.18 → 5.0.0-beta.19
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 +289 -160
- package/dist/cli-node/index.js +289 -160
- package/dist/index.js +324 -176
- package/dist/skills/ast-grep/AGENTS.md +51 -0
- package/dist/skills/coding-agent-sessions/AGENTS.md +62 -0
- package/dist/skills/start-work/SKILL.md +2 -1
- package/dist/skills/ultimate-browsing/SKILL.md +2 -0
- package/dist/skills/ultimate-browsing/references/chrome-stealth.md +2 -0
- package/dist/skills/visual-qa/AGENTS.md +58 -0
- package/dist/tui.js +17 -17
- package/package.json +21 -21
- package/packages/omo-codex/plugin/.codex-plugin/plugin.json +1 -1
- package/packages/omo-codex/plugin/AGENTS.md +47 -0
- 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/AGENTS.md +9 -0
- package/packages/omo-codex/plugin/components/comment-checker/biome.json +2 -2
- 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/comment-checker/src/apply-patch.ts +2 -8
- package/packages/omo-codex/plugin/components/comment-checker/src/core.ts +1 -2
- package/packages/omo-codex/plugin/components/comment-checker/src/request-extractor.ts +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/biome.json +2 -2
- package/packages/omo-codex/plugin/components/lazycodex-executor-verify/dist/cli.js +1 -5
- package/packages/omo-codex/plugin/components/lazycodex-executor-verify/dist/codex-hook.js +1 -5
- 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/lazycodex-executor-verify/src/codex-hook.ts +1 -5
- package/packages/omo-codex/plugin/components/lazycodex-executor-verify/test/codex-hook.test.ts +1 -4
- package/packages/omo-codex/plugin/components/lsp/AGENTS.md +30 -15
- package/packages/omo-codex/plugin/components/lsp/biome.json +2 -2
- package/packages/omo-codex/plugin/components/lsp/dist/.omo-runtime-manifest.json +3 -3
- package/packages/omo-codex/plugin/components/lsp/dist/daemon-cli-path.js +1 -1
- 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/lsp/src/codex-hook.ts +1 -1
- package/packages/omo-codex/plugin/components/lsp/src/daemon-cli-path.ts +1 -5
- package/packages/omo-codex/plugin/components/lsp/test/codex-hook-unavailable.test.ts +6 -7
- package/packages/omo-codex/plugin/components/lsp/test/codex-hook.test.ts +1 -2
- package/packages/omo-codex/plugin/components/lsp/test/package-smoke.test.ts +11 -1
- package/packages/omo-codex/plugin/components/rules/AGENTS.md +12 -0
- package/packages/omo-codex/plugin/components/rules/biome.json +2 -2
- package/packages/omo-codex/plugin/components/rules/dist/cli.js +43 -30
- package/packages/omo-codex/plugin/components/rules/hooks/hooks.json +4 -4
- package/packages/omo-codex/plugin/components/rules/package.json +2 -2
- package/packages/omo-codex/plugin/components/rules/src/config.ts +1 -2
- package/packages/omo-codex/plugin/components/rules/src/persistent-cache.ts +1 -2
- package/packages/omo-codex/plugin/components/rules/src/post-compact-budget.ts +6 -2
- package/packages/omo-codex/plugin/components/rules/src/rules-engine-factory.ts +1 -4
- package/packages/omo-codex/plugin/components/rules/src/static-injection.ts +4 -9
- package/packages/omo-codex/plugin/components/rules/test/bundled-rules.test.ts +1 -2
- package/packages/omo-codex/plugin/components/rules/test/dynamic-target-fingerprints.test.ts +1 -2
- package/packages/omo-codex/plugin/components/rules/test/engine.test.ts +7 -4
- package/packages/omo-codex/plugin/components/rules/test/finder.test.ts +2 -3
- package/packages/omo-codex/plugin/components/rules/test/formatter.test.ts +2 -3
- package/packages/omo-codex/plugin/components/rules/test/hephaestus-model-variant.test.ts +1 -2
- package/packages/omo-codex/plugin/components/rules/test/matcher.test.ts +2 -3
- package/packages/omo-codex/plugin/components/rules/test/package-smoke.test.ts +1 -1
- package/packages/omo-codex/plugin/components/rules/test/parser.test.ts +1 -2
- package/packages/omo-codex/plugin/components/rules/test/post-compact-budget.test.ts +1 -2
- package/packages/omo-codex/plugin/components/rules/test/rules-engine-consumption.test.ts +3 -6
- package/packages/omo-codex/plugin/components/rules/test/scanner.test.ts +1 -2
- package/packages/omo-codex/plugin/components/rules/test/sources.test.ts +2 -5
- package/packages/omo-codex/plugin/components/rules/test/windows-git-bash-bundled-rule.test.ts +1 -2
- package/packages/omo-codex/plugin/components/start-work-continuation/biome.json +2 -2
- 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/AGENTS.md +8 -0
- package/packages/omo-codex/plugin/components/telemetry/biome.json +2 -2
- package/packages/omo-codex/plugin/components/telemetry/dist/cli.js +237 -99
- package/packages/omo-codex/plugin/components/telemetry/dist/posthog.js +237 -99
- 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/telemetry/src/codex-hook.ts +1 -4
- package/packages/omo-codex/plugin/components/telemetry/src/posthog.ts +4 -14
- package/packages/omo-codex/plugin/components/telemetry/src/product-identity.ts +1 -1
- package/packages/omo-codex/plugin/components/telemetry/test/diagnostics.test.ts +2 -5
- package/packages/omo-codex/plugin/components/ultrawork/AGENTS.md +5 -0
- package/packages/omo-codex/plugin/components/ultrawork/biome.json +2 -2
- package/packages/omo-codex/plugin/components/ultrawork/directive.md +7 -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/ultrawork/skills/ultrawork/SKILL.md +7 -1
- package/packages/omo-codex/plugin/components/ultrawork/test/codex-hook-trigger-policy.test.ts +9 -1
- package/packages/omo-codex/plugin/components/ulw-loop/AGENTS.md +16 -0
- package/packages/omo-codex/plugin/components/ulw-loop/biome.json +2 -2
- package/packages/omo-codex/plugin/components/ulw-loop/directive.md +7 -1
- package/packages/omo-codex/plugin/components/ulw-loop/dist/cli.js +1 -1
- package/packages/omo-codex/plugin/components/ulw-loop/dist/codex-goal-snapshot.js +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/components/ulw-loop/src/codex-goal-snapshot.ts +3 -1
- package/packages/omo-codex/plugin/components/ulw-loop/src/codex-hook.ts +3 -1
- package/packages/omo-codex/plugin/components/ulw-loop/test/codex-goal-snapshot.test.ts +18 -0
- package/packages/omo-codex/plugin/components/ulw-loop/test/package-smoke.test.ts +3 -2
- package/packages/omo-codex/plugin/components/ulw-loop/test/steering.test.ts +8 -5
- 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 +19 -19
- package/packages/omo-codex/plugin/package.json +1 -1
- package/packages/omo-codex/plugin/scripts/AGENTS.md +40 -0
- package/packages/omo-codex/plugin/skills/ast-grep/AGENTS.md +51 -0
- package/packages/omo-codex/plugin/skills/coding-agent-sessions/AGENTS.md +62 -0
- package/packages/omo-codex/plugin/skills/start-work/SKILL.md +2 -1
- package/packages/omo-codex/plugin/skills/ultimate-browsing/SKILL.md +2 -0
- package/packages/omo-codex/plugin/skills/ultimate-browsing/references/chrome-stealth.md +2 -0
- package/packages/omo-codex/plugin/skills/ultrawork/SKILL.md +7 -1
- package/packages/omo-codex/plugin/skills/visual-qa/AGENTS.md +58 -0
- package/packages/omo-codex/plugin/test/AGENTS.md +47 -0
- package/packages/omo-codex/scripts/AGENTS.md +36 -0
- package/packages/omo-codex/scripts/install-dist/install-local.mjs +249 -120
- package/packages/shared-skills/skills/ast-grep/AGENTS.md +51 -0
- package/packages/shared-skills/skills/coding-agent-sessions/AGENTS.md +62 -0
- package/packages/shared-skills/skills/start-work/SKILL.md +2 -1
- package/packages/shared-skills/skills/ultimate-browsing/SKILL.md +2 -0
- package/packages/shared-skills/skills/ultimate-browsing/references/chrome-stealth.md +2 -0
- package/packages/shared-skills/skills/visual-qa/AGENTS.md +58 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@code-yeongyu/codex-telemetry",
|
|
3
|
-
"version": "5.0.0-beta.
|
|
3
|
+
"version": "5.0.0-beta.19",
|
|
4
4
|
"description": "Codex plugin component that emits omo-codex anonymous daily-active telemetry on SessionStart.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"packageManager": "npm@11.12.1",
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
type TelemetryDiagnosticErrorKind,
|
|
3
|
-
type TelemetryDiagnosticEvent,
|
|
4
|
-
} from "@oh-my-opencode/telemetry-core";
|
|
1
|
+
import type { TelemetryDiagnosticErrorKind, TelemetryDiagnosticEvent } from "@oh-my-opencode/telemetry-core";
|
|
5
2
|
import {
|
|
6
3
|
createPluginPostHog,
|
|
7
4
|
getPostHogDistinctId,
|
|
@@ -9,10 +9,10 @@ import {
|
|
|
9
9
|
} from "@oh-my-opencode/telemetry-core";
|
|
10
10
|
|
|
11
11
|
import {
|
|
12
|
-
MACHINE_ID_PREFIX,
|
|
13
12
|
createComponentTelemetryProductConfig,
|
|
14
13
|
getComponentTelemetryStateDir,
|
|
15
14
|
getComponentVersion,
|
|
15
|
+
MACHINE_ID_PREFIX,
|
|
16
16
|
writeComponentTelemetryDiagnostic,
|
|
17
17
|
} from "./product-identity.js";
|
|
18
18
|
|
|
@@ -53,24 +53,14 @@ function resolveActivityStateProvider(options: CreatePluginPostHogOptions): Acti
|
|
|
53
53
|
|
|
54
54
|
if (options.stateDir === undefined) {
|
|
55
55
|
return () =>
|
|
56
|
-
getDailyActiveCaptureState(createDailyActiveCaptureStateInput(
|
|
57
|
-
getComponentTelemetryStateDir(),
|
|
58
|
-
options.now,
|
|
59
|
-
));
|
|
56
|
+
getDailyActiveCaptureState(createDailyActiveCaptureStateInput(getComponentTelemetryStateDir(), options.now));
|
|
60
57
|
}
|
|
61
58
|
|
|
62
59
|
const stateDir = options.stateDir;
|
|
63
|
-
return () =>
|
|
64
|
-
getDailyActiveCaptureState(createDailyActiveCaptureStateInput(
|
|
65
|
-
stateDir,
|
|
66
|
-
options.now,
|
|
67
|
-
));
|
|
60
|
+
return () => getDailyActiveCaptureState(createDailyActiveCaptureStateInput(stateDir, options.now));
|
|
68
61
|
}
|
|
69
62
|
|
|
70
|
-
function createDailyActiveCaptureStateInput(
|
|
71
|
-
stateDir: string,
|
|
72
|
-
now: Date | undefined,
|
|
73
|
-
) {
|
|
63
|
+
function createDailyActiveCaptureStateInput(stateDir: string, now: Date | undefined) {
|
|
74
64
|
if (now === undefined) {
|
|
75
65
|
return {
|
|
76
66
|
diagnostics: writeComponentTelemetryDiagnostic,
|
|
@@ -5,9 +5,9 @@ import {
|
|
|
5
5
|
DEFAULT_POSTHOG_HOST,
|
|
6
6
|
getTelemetryDiagnosticsFilePath,
|
|
7
7
|
resolveTelemetryStateDir,
|
|
8
|
-
writeTelemetryDiagnostic,
|
|
9
8
|
type TelemetryDiagnosticInput,
|
|
10
9
|
type TelemetryProductConfig,
|
|
10
|
+
writeTelemetryDiagnostic,
|
|
11
11
|
} from "@oh-my-opencode/telemetry-core";
|
|
12
12
|
|
|
13
13
|
export { DEFAULT_POSTHOG_API_KEY, DEFAULT_POSTHOG_HOST };
|
|
@@ -1,17 +1,14 @@
|
|
|
1
1
|
import { existsSync, mkdirSync, mkdtempSync, readFileSync, rmSync, writeFileSync } from "node:fs";
|
|
2
2
|
import { tmpdir } from "node:os";
|
|
3
3
|
import path from "node:path";
|
|
4
|
+
import { cleanupTelemetryDiagnostics } from "@oh-my-opencode/telemetry-core";
|
|
4
5
|
import { afterEach, describe, expect, it } from "vitest";
|
|
5
|
-
|
|
6
|
-
import {
|
|
7
|
-
cleanupTelemetryDiagnostics,
|
|
8
|
-
} from "@oh-my-opencode/telemetry-core";
|
|
9
6
|
import {
|
|
7
|
+
CACHE_DIR_NAME,
|
|
10
8
|
getComponentTelemetryDiagnosticsFilePath,
|
|
11
9
|
getComponentTelemetryStateDir,
|
|
12
10
|
writeComponentTelemetryDiagnostic,
|
|
13
11
|
} from "../src/product-identity.js";
|
|
14
|
-
import { CACHE_DIR_NAME } from "../src/product-identity.js";
|
|
15
12
|
|
|
16
13
|
const originalXdgDataHome = process.env["XDG_DATA_HOME"];
|
|
17
14
|
const tempDirectories: string[] = [];
|
|
@@ -34,6 +34,11 @@ Conventions for human contributors and AI agents working on this repository.
|
|
|
34
34
|
## Commands
|
|
35
35
|
|
|
36
36
|
```bash
|
|
37
|
+
# build / test / check (from the component directory)
|
|
38
|
+
npm run build # sync-directive -> wipe dist -> bun bundle src/cli.ts to dist/cli.js
|
|
39
|
+
npm test # vitest once (test:watch for watch mode)
|
|
40
|
+
npm run check # typecheck + biome + build
|
|
41
|
+
|
|
37
42
|
# smoke test the hook
|
|
38
43
|
PAYLOAD='{"cwd":"/tmp","hook_event_name":"UserPromptSubmit","model":"gpt-5.5","permission_mode":"default","session_id":"x","transcript_path":"","turn_id":"y","prompt":"please ultrawork"}'
|
|
39
44
|
npm run build
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
|
-
"$schema": "https://biomejs.dev/schemas/2.
|
|
2
|
+
"$schema": "https://biomejs.dev/schemas/2.5.9/schema.json",
|
|
3
3
|
"linter": {
|
|
4
4
|
"enabled": true,
|
|
5
5
|
"rules": {
|
|
6
|
-
"
|
|
6
|
+
"preset": "recommended",
|
|
7
7
|
"style": {
|
|
8
8
|
"noDefaultExport": "error",
|
|
9
9
|
"noEnum": "error",
|
|
@@ -66,7 +66,13 @@ exercises the surface; capture the artifact.
|
|
|
66
66
|
if Chrome is not available, download and use agent-browser
|
|
67
67
|
(https://github.com/vercel-labs/agent-browser). Capture action
|
|
68
68
|
log + screenshot path. Never downgrade to a non-browser surface
|
|
69
|
-
for a browser-facing criterion.
|
|
69
|
+
for a browser-facing criterion. NEVER clear cookies, cache, or
|
|
70
|
+
site data (`Network.clearBrowserCookies`, `Storage.clearCookies`,
|
|
71
|
+
`chrome.browsingData.remove`, "clear browsing data") on the user's
|
|
72
|
+
real/main browser profile — it wipes their logged-in state. If you
|
|
73
|
+
need that profile's login state, clone it first (`rsync -a
|
|
74
|
+
<profile>/ <tmp-clone>/`) and launch Chrome / agent-browser against
|
|
75
|
+
the clone as the user-data-dir; run any clearing there only.
|
|
70
76
|
4. Computer use — when the surface is a desktop/GUI app rather than a
|
|
71
77
|
page, drive it via OS-level automation (a computer-use agent,
|
|
72
78
|
AppleScript, xdotool, etc.) against the running app; capture
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"type": "command",
|
|
8
8
|
"command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook user-prompt-submit",
|
|
9
9
|
"timeout": 5,
|
|
10
|
-
"statusMessage": "(OmO 5.0.0-beta.
|
|
10
|
+
"statusMessage": "(OmO 5.0.0-beta.19) Checking Ultrawork Trigger"
|
|
11
11
|
}
|
|
12
12
|
]
|
|
13
13
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@code-yeongyu/codex-ultrawork",
|
|
3
|
-
"version": "5.0.0-beta.
|
|
3
|
+
"version": "5.0.0-beta.19",
|
|
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",
|
|
@@ -73,7 +73,13 @@ exercises the surface; capture the artifact.
|
|
|
73
73
|
if Chrome is not available, download and use agent-browser
|
|
74
74
|
(https://github.com/vercel-labs/agent-browser). Capture action
|
|
75
75
|
log + screenshot path. Never downgrade to a non-browser surface
|
|
76
|
-
for a browser-facing criterion.
|
|
76
|
+
for a browser-facing criterion. NEVER clear cookies, cache, or
|
|
77
|
+
site data (`Network.clearBrowserCookies`, `Storage.clearCookies`,
|
|
78
|
+
`chrome.browsingData.remove`, "clear browsing data") on the user's
|
|
79
|
+
real/main browser profile — it wipes their logged-in state. If you
|
|
80
|
+
need that profile's login state, clone it first (`rsync -a
|
|
81
|
+
<profile>/ <tmp-clone>/`) and launch Chrome / agent-browser against
|
|
82
|
+
the clone as the user-data-dir; run any clearing there only.
|
|
77
83
|
4. Computer use — when the surface is a desktop/GUI app rather than a
|
|
78
84
|
page, drive it via OS-level automation (a computer-use agent,
|
|
79
85
|
AppleScript, xdotool, etc.) against the running app; capture
|
package/packages/omo-codex/plugin/components/ultrawork/test/codex-hook-trigger-policy.test.ts
CHANGED
|
@@ -105,7 +105,15 @@ describe("codex ultrawork trigger policy", () => {
|
|
|
105
105
|
|
|
106
106
|
// then
|
|
107
107
|
expect(outputs).toEqual(["", "", "", "", "", "", ""]);
|
|
108
|
-
expect(prompts.map((prompt) => isUltraworkPrompt(prompt))).toEqual([
|
|
108
|
+
expect(prompts.map((prompt) => isUltraworkPrompt(prompt))).toEqual([
|
|
109
|
+
false,
|
|
110
|
+
false,
|
|
111
|
+
false,
|
|
112
|
+
false,
|
|
113
|
+
false,
|
|
114
|
+
false,
|
|
115
|
+
false,
|
|
116
|
+
]);
|
|
109
117
|
});
|
|
110
118
|
|
|
111
119
|
it("#given prompt contains ultrawork or standalone ulw #when hook runs #then emits directive", () => {
|
|
@@ -42,7 +42,23 @@ Conventions for human contributors and AI agents working on this repository.
|
|
|
42
42
|
- CLI commands use the `omo-agent-toolkit ulw-loop` form.
|
|
43
43
|
- Do not use any alternate legacy CLI alias anywhere.
|
|
44
44
|
|
|
45
|
+
## Layout
|
|
46
|
+
|
|
47
|
+
- `src/cli.ts`: bin entry (`omo-ulw-loop`, `ulw`, `ulw-loop` all map to `dist/cli.js`); documented invocation form `omo-agent-toolkit ulw-loop <subcommand>`.
|
|
48
|
+
- `src/cli-commands.ts`: subcommand dispatch (`ULW_LOOP_SUBCOMMANDS`, `ulwLoopCommand`, flag/value readers).
|
|
49
|
+
- `src/plan-io.ts`: plan persistence, append-only `ledger.jsonl`, `withUlwLoopMutationLock`.
|
|
50
|
+
- `src/quality-gate.ts` (266 LOC), `src/checkpoint.ts` (260), `src/steering.ts` (227): state-transition hotspots (evidence containment, checkpoint reconciliation, steering mutations).
|
|
51
|
+
- `src/codex-hook.ts`: UserPromptSubmit steering injection + `create_goal` budget guard.
|
|
52
|
+
- `src/spawn-guard.ts`, `src/stop-resume-hook.ts`: spawn guards, Stop auto-resume.
|
|
53
|
+
- `src/ultrawork-skill-pointer.ts`: byte-identical mirror of ultrawork's pointer (pinned by `plugin/test/ultrawork-skill-pointer.test.mjs`).
|
|
54
|
+
- `directive.md`: runtime-read directive (never inlined into TypeScript).
|
|
55
|
+
|
|
45
56
|
## Build and Hooks
|
|
46
57
|
|
|
47
58
|
- Build output goes to `dist/`.
|
|
48
59
|
- `hooks/hooks.json` wires `hook user-prompt-submit --with-ultrawork` (UserPromptSubmit), `hook pre-tool-use` (create_goal budget), `hook pre-tool-use-spawn` (spawn guards), and `hook stop` (auto-resume).
|
|
60
|
+
|
|
61
|
+
## Commands
|
|
62
|
+
|
|
63
|
+
- `npm test` (vitest --run) / `npm run test:watch`; focused: `bunx vitest run test/<file>.test.ts`
|
|
64
|
+
- `npm run typecheck` / `npm run lint` / `npm run build` (`tsc -p tsconfig.build.json`) / `npm run check`
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
|
-
"$schema": "https://biomejs.dev/schemas/2.
|
|
2
|
+
"$schema": "https://biomejs.dev/schemas/2.5.9/schema.json",
|
|
3
3
|
"linter": {
|
|
4
4
|
"enabled": true,
|
|
5
5
|
"rules": {
|
|
6
|
-
"
|
|
6
|
+
"preset": "recommended",
|
|
7
7
|
"style": {
|
|
8
8
|
"noDefaultExport": "error",
|
|
9
9
|
"noEnum": "error",
|
|
@@ -66,7 +66,13 @@ exercises the surface; capture the artifact.
|
|
|
66
66
|
if Chrome is not available, download and use agent-browser
|
|
67
67
|
(https://github.com/vercel-labs/agent-browser). Capture action
|
|
68
68
|
log + screenshot path. Never downgrade to a non-browser surface
|
|
69
|
-
for a browser-facing criterion.
|
|
69
|
+
for a browser-facing criterion. NEVER clear cookies, cache, or
|
|
70
|
+
site data (`Network.clearBrowserCookies`, `Storage.clearCookies`,
|
|
71
|
+
`chrome.browsingData.remove`, "clear browsing data") on the user's
|
|
72
|
+
real/main browser profile — it wipes their logged-in state. If you
|
|
73
|
+
need that profile's login state, clone it first (`rsync -a
|
|
74
|
+
<profile>/ <tmp-clone>/`) and launch Chrome / agent-browser against
|
|
75
|
+
the clone as the user-data-dir; run any clearing there only.
|
|
70
76
|
4. Computer use — when the surface is a desktop/GUI app rather than a
|
|
71
77
|
page, drive it via OS-level automation (a computer-use agent,
|
|
72
78
|
AppleScript, xdotool, etc.) against the running app; capture
|
|
@@ -300,7 +300,7 @@ function parseCodexGoalSnapshot(value) {
|
|
|
300
300
|
return { available: false, raw: value };
|
|
301
301
|
}
|
|
302
302
|
const goal = safeObject(goalValue);
|
|
303
|
-
const objective = safeString(goal["objective"] ?? goal["goal"] ?? goal["description"] ?? root["objective"]);
|
|
303
|
+
const objective = safeString(goal["objective"] ?? goal["goal"] ?? goal["description"] ?? goal["title"] ?? root["objective"] ?? root["title"]);
|
|
304
304
|
const status = normalizeStatus(goal["status"] ?? root["status"]);
|
|
305
305
|
return {
|
|
306
306
|
available: Boolean(objective || status !== "unknown"),
|
|
@@ -31,7 +31,7 @@ export function parseCodexGoalSnapshot(value) {
|
|
|
31
31
|
return { available: false, raw: value };
|
|
32
32
|
}
|
|
33
33
|
const goal = safeObject(goalValue);
|
|
34
|
-
const objective = safeString(goal["objective"] ?? goal["goal"] ?? goal["description"] ?? root["objective"]);
|
|
34
|
+
const objective = safeString(goal["objective"] ?? goal["goal"] ?? goal["description"] ?? goal["title"] ?? root["objective"] ?? root["title"]);
|
|
35
35
|
const status = normalizeStatus(goal["status"] ?? root["status"]);
|
|
36
36
|
return {
|
|
37
37
|
available: Boolean(objective || status !== "unknown"),
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"type": "command",
|
|
8
8
|
"command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook user-prompt-submit --with-ultrawork",
|
|
9
9
|
"timeout": 10,
|
|
10
|
-
"statusMessage": "(OmO 5.0.0-beta.
|
|
10
|
+
"statusMessage": "(OmO 5.0.0-beta.19) Checking Ulw-Loop Steering"
|
|
11
11
|
}
|
|
12
12
|
]
|
|
13
13
|
}
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"type": "command",
|
|
21
21
|
"command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook pre-tool-use",
|
|
22
22
|
"timeout": 5,
|
|
23
|
-
"statusMessage": "(OmO 5.0.0-beta.
|
|
23
|
+
"statusMessage": "(OmO 5.0.0-beta.19) Enforcing Unlimited Ulw-Loop Budget"
|
|
24
24
|
}
|
|
25
25
|
]
|
|
26
26
|
},
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"type": "command",
|
|
32
32
|
"command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook pre-tool-use-spawn",
|
|
33
33
|
"timeout": 5,
|
|
34
|
-
"statusMessage": "(OmO 5.0.0-beta.
|
|
34
|
+
"statusMessage": "(OmO 5.0.0-beta.19) Guarding Ulw-Loop Spawns"
|
|
35
35
|
}
|
|
36
36
|
]
|
|
37
37
|
}
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"type": "command",
|
|
44
44
|
"command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook stop",
|
|
45
45
|
"timeout": 10,
|
|
46
|
-
"statusMessage": "(OmO 5.0.0-beta.
|
|
46
|
+
"statusMessage": "(OmO 5.0.0-beta.19) Checking Ulw-Loop Resume"
|
|
47
47
|
}
|
|
48
48
|
]
|
|
49
49
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@code-yeongyu/codex-ulw-loop",
|
|
3
|
-
"version": "5.0.0-beta.
|
|
3
|
+
"version": "5.0.0-beta.19",
|
|
4
4
|
"description": "Codex plugin: durable repo-native multi-goal orchestration with embedded success criteria and observable evidence audit.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"packageManager": "npm@11.12.1",
|
|
@@ -56,7 +56,9 @@ export function parseCodexGoalSnapshot(value: unknown): CodexGoalSnapshot {
|
|
|
56
56
|
}
|
|
57
57
|
|
|
58
58
|
const goal = safeObject(goalValue);
|
|
59
|
-
const objective = safeString(
|
|
59
|
+
const objective = safeString(
|
|
60
|
+
goal["objective"] ?? goal["goal"] ?? goal["description"] ?? goal["title"] ?? root["objective"] ?? root["title"],
|
|
61
|
+
);
|
|
60
62
|
const status = normalizeStatus(goal["status"] ?? root["status"]);
|
|
61
63
|
|
|
62
64
|
return {
|
|
@@ -95,7 +95,9 @@ export async function applyUserPromptUlwLoopSteering(
|
|
|
95
95
|
}
|
|
96
96
|
|
|
97
97
|
function hasSteeringDirectiveMarker(prompt: string): boolean {
|
|
98
|
-
return /(?:^|\s)(?:OMO_ULW_LOOP_STEER|omo\.ulw-loop\.steer|omo ulw-loop steer|omo-agent-toolkit ulw-loop steer):/u.test(
|
|
98
|
+
return /(?:^|\s)(?:OMO_ULW_LOOP_STEER|omo\.ulw-loop\.steer|omo ulw-loop steer|omo-agent-toolkit ulw-loop steer):/u.test(
|
|
99
|
+
prompt,
|
|
100
|
+
);
|
|
99
101
|
}
|
|
100
102
|
|
|
101
103
|
function payloadScope(payload: UserPromptSubmitPayload): UlwLoopScope {
|
|
@@ -24,6 +24,24 @@ describe("parseCodexGoalSnapshot", () => {
|
|
|
24
24
|
expect(snapshot.status).toBe("active");
|
|
25
25
|
});
|
|
26
26
|
|
|
27
|
+
it("reads the objective from a title-bearing ulw-loop status goal", () => {
|
|
28
|
+
// given
|
|
29
|
+
const payload = {
|
|
30
|
+
id: "G002-goal-2-senpi-repo-audit-determine-wh",
|
|
31
|
+
title: "Audit the Senpi repository",
|
|
32
|
+
status: "in_progress",
|
|
33
|
+
successCriteria: [],
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
// when
|
|
37
|
+
const snapshot = parseCodexGoalSnapshot(payload);
|
|
38
|
+
|
|
39
|
+
// then
|
|
40
|
+
expect(snapshot.available).toBe(true);
|
|
41
|
+
expect(snapshot.objective).toBe("Audit the Senpi repository");
|
|
42
|
+
expect(snapshot.status).toBe("active");
|
|
43
|
+
});
|
|
44
|
+
|
|
27
45
|
it("ignores remaining token budget fields from goal snapshots", () => {
|
|
28
46
|
// given
|
|
29
47
|
const payload = { goal: { objective: "X", status: "active" }, remainingTokens: 123 };
|
|
@@ -88,7 +88,8 @@ describe("hooks/hooks.json", () => {
|
|
|
88
88
|
const hooks = await readJson("hooks/hooks.json") as Record<string, unknown>;
|
|
89
89
|
const events = (hooks["hooks"] as Record<string, unknown>)["UserPromptSubmit"] as readonly Record<string, unknown>[];
|
|
90
90
|
expect(events.length).toBeGreaterThan(0);
|
|
91
|
-
const command = (
|
|
91
|
+
const command = (events[0]?.["hooks"] as readonly Record<string, unknown>[] | undefined)?.[0]?.["command"];
|
|
92
|
+
expect(command).toEqual(expect.any(String));
|
|
92
93
|
expect(command).toContain(`$${"{PLUGIN_ROOT}"}`);
|
|
93
94
|
expect(command).toContain("dist/cli.js");
|
|
94
95
|
expect(command).toContain("hook user-prompt-submit");
|
|
@@ -168,7 +169,7 @@ describe("skills/ulw-loop/SKILL.md", () => {
|
|
|
168
169
|
].join("\n"),
|
|
169
170
|
);
|
|
170
171
|
|
|
171
|
-
const result = await runShell(`${bootstrap}\n
|
|
172
|
+
const result = await runShell(`${bootstrap}\n"$ULW_LOOP_NODE" "$ULW_LOOP_CLI" ulw-loop status --json`, {
|
|
172
173
|
...process.env,
|
|
173
174
|
CODEX_HOME: codexHome,
|
|
174
175
|
HOME: home,
|
|
@@ -422,11 +422,14 @@ describe("steerUlwLoop", () => {
|
|
|
422
422
|
});
|
|
423
423
|
|
|
424
424
|
describe("parseUlwLoopSteeringDirective", () => {
|
|
425
|
-
it.each(["OMO_ULW_LOOP_STEER", "omo.ulw-loop.steer", "omo ulw-loop steer", "omo-agent-toolkit ulw-loop steer"])(
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
425
|
+
it.each(["OMO_ULW_LOOP_STEER", "omo.ulw-loop.steer", "omo ulw-loop steer", "omo-agent-toolkit ulw-loop steer"])(
|
|
426
|
+
"parses %s pattern",
|
|
427
|
+
(marker) => {
|
|
428
|
+
expect(parseUlwLoopSteeringDirective(`${marker}: ${JSON.stringify(steering())}`)).toMatchObject({
|
|
429
|
+
kind: "add_subgoal",
|
|
430
|
+
});
|
|
431
|
+
},
|
|
432
|
+
);
|
|
430
433
|
|
|
431
434
|
it("returns null when no marker", () => {
|
|
432
435
|
expect(parseUlwLoopSteeringDirective(JSON.stringify(steering()))).toBeNull();
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"type": "command",
|
|
8
8
|
"command": "node \"${PLUGIN_ROOT}/components/git-bash/dist/cli.js\" hook post-compact",
|
|
9
9
|
"timeout": 5,
|
|
10
|
-
"statusMessage": "(OmO 5.0.0-beta.
|
|
10
|
+
"statusMessage": "(OmO 5.0.0-beta.19) Resetting Git Bash MCP Reminder",
|
|
11
11
|
"commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\git-bash\\dist\\cli.js\" hook post-compact"
|
|
12
12
|
}
|
|
13
13
|
],
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"type": "command",
|
|
8
8
|
"command": "node \"${PLUGIN_ROOT}/components/lsp/dist/cli.js\" hook post-compact",
|
|
9
9
|
"timeout": 5,
|
|
10
|
-
"statusMessage": "(OmO 5.0.0-beta.
|
|
10
|
+
"statusMessage": "(OmO 5.0.0-beta.19) Resetting LSP Diagnostics Cache",
|
|
11
11
|
"commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\lsp\\dist\\cli.js\" hook post-compact"
|
|
12
12
|
}
|
|
13
13
|
],
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"type": "command",
|
|
8
8
|
"command": "node \"${PLUGIN_ROOT}/components/rules/dist/cli.js\" hook post-compact",
|
|
9
9
|
"timeout": 10,
|
|
10
|
-
"statusMessage": "(OmO 5.0.0-beta.
|
|
10
|
+
"statusMessage": "(OmO 5.0.0-beta.19) Resetting Project Rule Cache",
|
|
11
11
|
"commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\rules\\dist\\cli.js\" hook post-compact"
|
|
12
12
|
}
|
|
13
13
|
],
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"type": "command",
|
|
8
8
|
"command": "node \"${PLUGIN_ROOT}/components/codegraph/dist/cli.js\" hook post-tool-use",
|
|
9
9
|
"timeout": 5,
|
|
10
|
-
"statusMessage": "(OmO 5.0.0-beta.
|
|
10
|
+
"statusMessage": "(OmO 5.0.0-beta.19) Checking CodeGraph Init Guidance",
|
|
11
11
|
"commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\codegraph\\dist\\cli.js\" hook post-tool-use"
|
|
12
12
|
}
|
|
13
13
|
],
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"type": "command",
|
|
8
8
|
"command": "node \"${PLUGIN_ROOT}/components/comment-checker/dist/cli.js\" hook post-tool-use",
|
|
9
9
|
"timeout": 30,
|
|
10
|
-
"statusMessage": "(OmO 5.0.0-beta.
|
|
10
|
+
"statusMessage": "(OmO 5.0.0-beta.19) Checking Comments",
|
|
11
11
|
"commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\comment-checker\\dist\\cli.js\" hook post-tool-use"
|
|
12
12
|
}
|
|
13
13
|
],
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"type": "command",
|
|
8
8
|
"command": "node \"${PLUGIN_ROOT}/components/lsp/dist/cli.js\" hook post-tool-use",
|
|
9
9
|
"timeout": 60,
|
|
10
|
-
"statusMessage": "(OmO 5.0.0-beta.
|
|
10
|
+
"statusMessage": "(OmO 5.0.0-beta.19) Checking LSP Diagnostics",
|
|
11
11
|
"commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\lsp\\dist\\cli.js\" hook post-tool-use"
|
|
12
12
|
}
|
|
13
13
|
],
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"type": "command",
|
|
9
9
|
"command": "node \"${PLUGIN_ROOT}/components/teammode/dist/cli.js\" hook post-tool-use",
|
|
10
10
|
"timeout": 10,
|
|
11
|
-
"statusMessage": "(OmO 5.0.0-beta.
|
|
11
|
+
"statusMessage": "(OmO 5.0.0-beta.19) Checking Thread Title Hygiene",
|
|
12
12
|
"commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\teammode\\dist\\cli.js\" hook post-tool-use"
|
|
13
13
|
}
|
|
14
14
|
]
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"type": "command",
|
|
8
8
|
"command": "node \"${PLUGIN_ROOT}/components/rules/dist/cli.js\" hook post-tool-use",
|
|
9
9
|
"timeout": 10,
|
|
10
|
-
"statusMessage": "(OmO 5.0.0-beta.
|
|
10
|
+
"statusMessage": "(OmO 5.0.0-beta.19) Matching Project Rules",
|
|
11
11
|
"commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\rules\\dist\\cli.js\" hook post-tool-use"
|
|
12
12
|
}
|
|
13
13
|
],
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"type": "command",
|
|
8
8
|
"command": "node \"${PLUGIN_ROOT}/components/ulw-loop/dist/cli.js\" hook pre-tool-use",
|
|
9
9
|
"timeout": 5,
|
|
10
|
-
"statusMessage": "(OmO 5.0.0-beta.
|
|
10
|
+
"statusMessage": "(OmO 5.0.0-beta.19) Enforcing Unlimited Goal Budget",
|
|
11
11
|
"commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\ulw-loop\\dist\\cli.js\" hook pre-tool-use"
|
|
12
12
|
}
|
|
13
13
|
],
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"type": "command",
|
|
9
9
|
"command": "node \"${PLUGIN_ROOT}/components/ulw-loop/dist/cli.js\" hook pre-tool-use-spawn",
|
|
10
10
|
"timeout": 5,
|
|
11
|
-
"statusMessage": "(OmO 5.0.0-beta.
|
|
11
|
+
"statusMessage": "(OmO 5.0.0-beta.19) Guarding Ulw-Loop Spawns",
|
|
12
12
|
"commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\ulw-loop\\dist\\cli.js\" hook pre-tool-use-spawn"
|
|
13
13
|
}
|
|
14
14
|
]
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"type": "command",
|
|
8
8
|
"command": "node \"${PLUGIN_ROOT}/components/git-bash/dist/cli.js\" hook pre-tool-use",
|
|
9
9
|
"timeout": 5,
|
|
10
|
-
"statusMessage": "(OmO 5.0.0-beta.
|
|
10
|
+
"statusMessage": "(OmO 5.0.0-beta.19) Recommending Git Bash MCP",
|
|
11
11
|
"commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\git-bash\\dist\\cli.js\" hook pre-tool-use"
|
|
12
12
|
}
|
|
13
13
|
],
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"type": "command",
|
|
8
8
|
"command": "node \"${PLUGIN_ROOT}/scripts/auto-update.mjs\" hook session-start",
|
|
9
9
|
"timeout": 15,
|
|
10
|
-
"statusMessage": "(OmO 5.0.0-beta.
|
|
10
|
+
"statusMessage": "(OmO 5.0.0-beta.19) Checking Auto Update",
|
|
11
11
|
"commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\scripts\\auto-update.mjs\" hook session-start"
|
|
12
12
|
}
|
|
13
13
|
],
|
|
@@ -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.19) Checking Bootstrap Provisioning"
|
|
12
12
|
}
|
|
13
13
|
]
|
|
14
14
|
}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"type": "command",
|
|
8
8
|
"command": "node \"${PLUGIN_ROOT}/components/codegraph/dist/cli.js\" hook session-start",
|
|
9
9
|
"timeout": 15,
|
|
10
|
-
"statusMessage": "(OmO 5.0.0-beta.
|
|
10
|
+
"statusMessage": "(OmO 5.0.0-beta.19) Checking CodeGraph Bootstrap",
|
|
11
11
|
"commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\codegraph\\dist\\cli.js\" hook session-start"
|
|
12
12
|
}
|
|
13
13
|
]
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"type": "command",
|
|
8
8
|
"command": "node \"${PLUGIN_ROOT}/components/rules/dist/cli.js\" hook session-start",
|
|
9
9
|
"timeout": 10,
|
|
10
|
-
"statusMessage": "(OmO 5.0.0-beta.
|
|
10
|
+
"statusMessage": "(OmO 5.0.0-beta.19) Loading Project Rules",
|
|
11
11
|
"commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\rules\\dist\\cli.js\" hook session-start"
|
|
12
12
|
}
|
|
13
13
|
]
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"type": "command",
|
|
8
8
|
"command": "node \"${PLUGIN_ROOT}/components/telemetry/dist/cli.js\" hook session-start",
|
|
9
9
|
"timeout": 15,
|
|
10
|
-
"statusMessage": "(OmO 5.0.0-beta.
|
|
10
|
+
"statusMessage": "(OmO 5.0.0-beta.19) Recording Session Telemetry",
|
|
11
11
|
"commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\telemetry\\dist\\cli.js\" hook session-start"
|
|
12
12
|
}
|
|
13
13
|
]
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"type": "command",
|
|
8
8
|
"command": "node \"${PLUGIN_ROOT}/components/start-work-continuation/dist/cli.js\" hook stop",
|
|
9
9
|
"timeout": 10,
|
|
10
|
-
"statusMessage": "(OmO 5.0.0-beta.
|
|
10
|
+
"statusMessage": "(OmO 5.0.0-beta.19) Checking Start-Work Continuation",
|
|
11
11
|
"commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\start-work-continuation\\dist\\cli.js\" hook stop"
|
|
12
12
|
}
|
|
13
13
|
]
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"type": "command",
|
|
8
8
|
"command": "node \"${PLUGIN_ROOT}/components/ulw-loop/dist/cli.js\" hook stop",
|
|
9
9
|
"timeout": 10,
|
|
10
|
-
"statusMessage": "(OmO 5.0.0-beta.
|
|
10
|
+
"statusMessage": "(OmO 5.0.0-beta.19) Checking Ulw-Loop Resume",
|
|
11
11
|
"commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\ulw-loop\\dist\\cli.js\" hook stop"
|
|
12
12
|
}
|
|
13
13
|
]
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"type": "command",
|
|
8
8
|
"command": "node \"${PLUGIN_ROOT}/components/start-work-continuation/dist/cli.js\" hook subagent-stop",
|
|
9
9
|
"timeout": 10,
|
|
10
|
-
"statusMessage": "(OmO 5.0.0-beta.
|
|
10
|
+
"statusMessage": "(OmO 5.0.0-beta.19) Checking Start-Work Continuation",
|
|
11
11
|
"commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\start-work-continuation\\dist\\cli.js\" hook subagent-stop"
|
|
12
12
|
}
|
|
13
13
|
]
|
package/packages/omo-codex/plugin/hooks/subagent-stop-verifying-lazycodex-executor-evidence.json
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"type": "command",
|
|
8
8
|
"command": "node \"${PLUGIN_ROOT}/components/lazycodex-executor-verify/dist/cli.js\" hook subagent-stop",
|
|
9
9
|
"timeout": 10,
|
|
10
|
-
"statusMessage": "(OmO 5.0.0-beta.
|
|
10
|
+
"statusMessage": "(OmO 5.0.0-beta.19) Verifying LazyCodex Executor Evidence",
|
|
11
11
|
"commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\lazycodex-executor-verify\\dist\\cli.js\" hook subagent-stop"
|
|
12
12
|
}
|
|
13
13
|
],
|