lazycodex-ai 5.1.34 → 5.1.38
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 +122 -48
- package/dist/cli-node/index.js +122 -48
- package/package.json +1 -1
- package/packages/omo-codex/plugin/.codex-plugin/plugin.json +1 -1
- package/packages/omo-codex/plugin/components/bootstrap/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/bootstrap/package.json +1 -1
- package/packages/omo-codex/plugin/components/comment-checker/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/comment-checker/package.json +1 -1
- package/packages/omo-codex/plugin/components/git-bash/hooks/hooks.json +2 -2
- package/packages/omo-codex/plugin/components/git-bash/package.json +1 -1
- package/packages/omo-codex/plugin/components/lazycodex-executor-verify/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/lazycodex-executor-verify/package.json +1 -1
- package/packages/omo-codex/plugin/components/lsp/dist/.omo-runtime-manifest.json +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 +2 -2
- package/packages/omo-codex/plugin/components/telemetry/dist/cli.js +2 -1
- package/packages/omo-codex/plugin/components/telemetry/dist/posthog.js +2 -1
- package/packages/omo-codex/plugin/components/telemetry/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/telemetry/package.json +1 -1
- package/packages/omo-codex/plugin/components/ultrawork/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/ultrawork/package.json +1 -1
- package/packages/omo-codex/plugin/components/ulw-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/hooks/hooks.json +5 -5
- package/packages/omo-codex/plugin/components/ulw-loop/package.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-compact-resetting-git-bash-mcp-reminder.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-compact-resetting-lsp-diagnostics-cache.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-compact-resetting-project-rule-cache.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-tool-use-checking-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 +18 -17
- package/packages/omo-codex/plugin/package.json +1 -1
- package/packages/omo-codex/plugin/shared/package.json +1 -1
- package/packages/omo-codex/plugin/skills/browser/runtime/omowright/index.js +4 -4
- package/packages/omo-codex/plugin/skills/browser/runtime/omowright/manifest.json +2 -2
- package/packages/omo-codex/plugin/skills/frontend/SKILL.md +8 -1
- package/packages/omo-codex/plugin/skills/frontend/references/design/README.md +3 -2
- package/packages/omo-codex/plugin/skills/frontend/references/perfection/README.md +2 -1
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/accent-stripes/color.ts +132 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/accent-stripes/css-parse.ts +103 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/accent-stripes/declarations.ts +156 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/accent-stripes/findings.ts +34 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/accent-stripes/gradient.ts +70 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/accent-stripes/lint.ts +110 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/accent-stripes/markup.ts +148 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/accent-stripes/selector.ts +46 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/accent-stripes/tailwind.ts +117 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/check-accent-stripes.ts +50 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/exempt-states.css +4 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/flat-stripe-side.tsx +11 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/full-surface-gradients.css +34 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/inline-ok.tsx +7 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/neutral-and-flat.css +6 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/pseudo-overlays.css +3 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/tailwind-ok.tsx +11 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/uniform-and-rings.css +3 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/wide-blocks-and-hairlines.css +3 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/apply.css +3 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/border-top-card.css +5 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/cva-variant.ts +1 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/gradient-edges.css +26 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/inline-styles.tsx +6 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/inset-shadow.css +4 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/non-visible-focus-and-nested.tsx +6 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/pseudo-bar.css +13 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/split-rule-and-token.scss +14 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/styled-components.tsx +14 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/tailwind-cards.tsx +8 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/tailwind-inset-and-style.vue +11 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/tailwind-pseudo.html +3 -0
- package/packages/omo-codex/plugin/skills/ulw-research/references/report-gates.md +1 -1
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/gates-figures.mjs +22 -6
- package/packages/omo-codex/scripts/install-dist/install-local.mjs +51 -4
- package/packages/shared-skills/skills/browser/runtime/omowright/index.js +4 -4
- package/packages/shared-skills/skills/browser/runtime/omowright/manifest.json +2 -2
- package/packages/shared-skills/skills/frontend/SKILL.md +8 -1
- package/packages/shared-skills/skills/frontend/references/design/README.md +3 -2
- package/packages/shared-skills/skills/frontend/references/perfection/README.md +2 -1
- package/packages/shared-skills/skills/frontend/scripts/perfection/accent-stripes/color.ts +132 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/accent-stripes/css-parse.ts +103 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/accent-stripes/declarations.ts +156 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/accent-stripes/findings.ts +34 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/accent-stripes/gradient.ts +70 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/accent-stripes/lint.ts +110 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/accent-stripes/markup.ts +148 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/accent-stripes/selector.ts +46 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/accent-stripes/tailwind.ts +117 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/check-accent-stripes.test.ts +86 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/check-accent-stripes.ts +50 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/exempt-states.css +4 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/flat-stripe-side.tsx +11 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/full-surface-gradients.css +34 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/inline-ok.tsx +7 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/neutral-and-flat.css +6 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/pseudo-overlays.css +3 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/tailwind-ok.tsx +11 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/uniform-and-rings.css +3 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/wide-blocks-and-hairlines.css +3 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/apply.css +3 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/border-top-card.css +5 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/cva-variant.ts +1 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/gradient-edges.css +26 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/inline-styles.tsx +6 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/inset-shadow.css +4 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/non-visible-focus-and-nested.tsx +6 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/pseudo-bar.css +13 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/split-rule-and-token.scss +14 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/styled-components.tsx +14 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/tailwind-cards.tsx +8 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/tailwind-inset-and-style.vue +11 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/tailwind-pseudo.html +3 -0
- package/packages/shared-skills/skills/ulw-research/references/report-gates.md +1 -1
- package/packages/shared-skills/skills/ulw-research/scripts/gates-figures.mjs +22 -6
- package/packages/shared-skills/skills/ulw-research/scripts/gates-static.test.ts +13 -0
package/dist/cli-node/index.js
CHANGED
|
@@ -2133,7 +2133,7 @@ var package_default;
|
|
|
2133
2133
|
var init_package = __esm(() => {
|
|
2134
2134
|
package_default = {
|
|
2135
2135
|
name: "oh-my-opencode",
|
|
2136
|
-
version: "5.1.
|
|
2136
|
+
version: "5.1.38",
|
|
2137
2137
|
description: "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
|
|
2138
2138
|
main: "./dist/index.js",
|
|
2139
2139
|
types: "dist/index.d.ts",
|
|
@@ -2310,7 +2310,7 @@ var init_package = __esm(() => {
|
|
|
2310
2310
|
},
|
|
2311
2311
|
devDependencies: {
|
|
2312
2312
|
"@clack/prompts": "^1.8.1",
|
|
2313
|
-
"@code-yeongyu/senpi": "2026.10.
|
|
2313
|
+
"@code-yeongyu/senpi": "2026.10.19",
|
|
2314
2314
|
"@modelcontextprotocol/sdk": "^1.30.0",
|
|
2315
2315
|
"@oh-my-opencode/agents-md-core": "workspace:*",
|
|
2316
2316
|
"@oh-my-opencode/ast-grep-mcp": "workspace:*",
|
|
@@ -2347,6 +2347,7 @@ var init_package = __esm(() => {
|
|
|
2347
2347
|
"@oh-my-opencode/utils": "workspace:*",
|
|
2348
2348
|
"@opencode-ai/plugin": "1.18.31",
|
|
2349
2349
|
"@opencode-ai/sdk": "1.18.31",
|
|
2350
|
+
"@opencode/plugin": "2.0.32",
|
|
2350
2351
|
"@opentui/core": "^0.5.11",
|
|
2351
2352
|
"@opentui/keymap": "^0.5.11",
|
|
2352
2353
|
"@types/js-yaml": "^4.0.9",
|
|
@@ -2355,7 +2356,7 @@ var init_package = __esm(() => {
|
|
|
2355
2356
|
"@typescript/typescript6": "6.0.2",
|
|
2356
2357
|
"@xterm/addon-unicode11": "^0.9.0",
|
|
2357
2358
|
"@xterm/xterm": "^6.0.0",
|
|
2358
|
-
"bun-types": "1.4.
|
|
2359
|
+
"bun-types": "1.4.3",
|
|
2359
2360
|
commander: "^15.0.0",
|
|
2360
2361
|
diff: "^9.0.0",
|
|
2361
2362
|
"js-yaml": "^5.4.2",
|
|
@@ -2369,18 +2370,18 @@ var init_package = __esm(() => {
|
|
|
2369
2370
|
typescript: "^7.0.2"
|
|
2370
2371
|
},
|
|
2371
2372
|
optionalDependencies: {
|
|
2372
|
-
"oh-my-opencode-darwin-arm64": "5.1.
|
|
2373
|
-
"oh-my-opencode-darwin-x64": "5.1.
|
|
2374
|
-
"oh-my-opencode-darwin-x64-baseline": "5.1.
|
|
2375
|
-
"oh-my-opencode-linux-arm64": "5.1.
|
|
2376
|
-
"oh-my-opencode-linux-arm64-musl": "5.1.
|
|
2377
|
-
"oh-my-opencode-linux-x64": "5.1.
|
|
2378
|
-
"oh-my-opencode-linux-x64-baseline": "5.1.
|
|
2379
|
-
"oh-my-opencode-linux-x64-musl": "5.1.
|
|
2380
|
-
"oh-my-opencode-linux-x64-musl-baseline": "5.1.
|
|
2381
|
-
"oh-my-opencode-windows-arm64": "5.1.
|
|
2382
|
-
"oh-my-opencode-windows-x64": "5.1.
|
|
2383
|
-
"oh-my-opencode-windows-x64-baseline": "5.1.
|
|
2373
|
+
"oh-my-opencode-darwin-arm64": "5.1.38",
|
|
2374
|
+
"oh-my-opencode-darwin-x64": "5.1.38",
|
|
2375
|
+
"oh-my-opencode-darwin-x64-baseline": "5.1.38",
|
|
2376
|
+
"oh-my-opencode-linux-arm64": "5.1.38",
|
|
2377
|
+
"oh-my-opencode-linux-arm64-musl": "5.1.38",
|
|
2378
|
+
"oh-my-opencode-linux-x64": "5.1.38",
|
|
2379
|
+
"oh-my-opencode-linux-x64-baseline": "5.1.38",
|
|
2380
|
+
"oh-my-opencode-linux-x64-musl": "5.1.38",
|
|
2381
|
+
"oh-my-opencode-linux-x64-musl-baseline": "5.1.38",
|
|
2382
|
+
"oh-my-opencode-windows-arm64": "5.1.38",
|
|
2383
|
+
"oh-my-opencode-windows-x64": "5.1.38",
|
|
2384
|
+
"oh-my-opencode-windows-x64-baseline": "5.1.38"
|
|
2384
2385
|
},
|
|
2385
2386
|
overrides: {
|
|
2386
2387
|
hono: "^4.13.8",
|
|
@@ -9547,6 +9548,7 @@ var init_category_model_requirements = __esm(() => {
|
|
|
9547
9548
|
},
|
|
9548
9549
|
{ providers: ["xiaomi", "opencode-go"], model: "mimo-v2.6-pro", variant: "max" },
|
|
9549
9550
|
{ providers: ["xai", "github-copilot", "opencode-go"], model: "grok-4.7", variant: "xhigh" },
|
|
9551
|
+
{ providers: ["zai-coding-plan", "opencode-go"], model: "glm-5.3", variant: "high" },
|
|
9550
9552
|
{ providers: ["openai", "chatgpt-subscription"], model: "gpt-6.1-sol", variant: "medium" },
|
|
9551
9553
|
{
|
|
9552
9554
|
providers: ["openai", "chatgpt-subscription", "github-copilot", "opencode"],
|
|
@@ -82386,6 +82388,9 @@ var init_activity_state = __esm(() => {
|
|
|
82386
82388
|
capturedDaysByStateDir = new Map;
|
|
82387
82389
|
});
|
|
82388
82390
|
|
|
82391
|
+
// packages/telemetry-core/src/consent-gated-fetch.ts
|
|
82392
|
+
var init_consent_gated_fetch = () => {};
|
|
82393
|
+
|
|
82389
82394
|
// packages/telemetry-core/src/constants.ts
|
|
82390
82395
|
var DEFAULT_POSTHOG_HOST = "https://us.i.posthog.com", DEFAULT_POSTHOG_API_KEY = "phc_CFJhj5HyvA62QPhvyaUCtaq23aUfznnijg5VaaGkNk74", UNCONFIGURED_POSTHOG_API_KEY = "phc_REPLACE_ME_OMO_NATIVE";
|
|
82391
82396
|
|
|
@@ -82433,6 +82438,7 @@ function toDiagnosticRecord(input, now) {
|
|
|
82433
82438
|
timestamp: now.toISOString(),
|
|
82434
82439
|
event: input.event,
|
|
82435
82440
|
source: input.source,
|
|
82441
|
+
...input.count === undefined ? {} : { count: input.count },
|
|
82436
82442
|
...serializeError(input.error, input.errorKind)
|
|
82437
82443
|
};
|
|
82438
82444
|
}
|
|
@@ -82525,7 +82531,7 @@ function shouldDisableTelemetry(input) {
|
|
|
82525
82531
|
const env = input.env ?? process.env;
|
|
82526
82532
|
const globalPrefix = input.globalEnvPrefix ?? "OMO";
|
|
82527
82533
|
const prefixes = Array.from(new Set([globalPrefix, input.productEnvPrefix]));
|
|
82528
|
-
if (isDisableFlag(env["DO_NOT_TRACK"])) {
|
|
82534
|
+
if (isDisableFlag(env["DO_NOT_TRACK"]) || isDisableFlag(env[`${globalPrefix}_DISABLE_TELEMETRY`])) {
|
|
82529
82535
|
return true;
|
|
82530
82536
|
}
|
|
82531
82537
|
for (const prefix of prefixes) {
|
|
@@ -82557,6 +82563,47 @@ var init_env = __esm(() => {
|
|
|
82557
82563
|
SEND_OPT_OUT_VALUES = ["0", "false", "no", "yes"];
|
|
82558
82564
|
});
|
|
82559
82565
|
|
|
82566
|
+
// packages/telemetry-core/src/event-id.ts
|
|
82567
|
+
import { randomBytes as nodeRandomBytes } from "node:crypto";
|
|
82568
|
+
function createUuidV7Generator(source = {}) {
|
|
82569
|
+
const now = source.now ?? Date.now;
|
|
82570
|
+
const randomBytes = source.randomBytes ?? ((size) => new Uint8Array(nodeRandomBytes(size)));
|
|
82571
|
+
let lastMs = -1;
|
|
82572
|
+
let counter = 0;
|
|
82573
|
+
return () => {
|
|
82574
|
+
const random = randomBytes(10);
|
|
82575
|
+
const wallMs = Math.floor(now());
|
|
82576
|
+
if (wallMs > lastMs) {
|
|
82577
|
+
lastMs = wallMs;
|
|
82578
|
+
counter = (random[0] << 8 | random[1]) & COUNTER_SEED_MASK;
|
|
82579
|
+
} else if (counter < MAX_COUNTER) {
|
|
82580
|
+
counter += 1;
|
|
82581
|
+
} else {
|
|
82582
|
+
lastMs += 1;
|
|
82583
|
+
counter = (random[0] << 8 | random[1]) & COUNTER_SEED_MASK;
|
|
82584
|
+
}
|
|
82585
|
+
const bytes = new Uint8Array(16);
|
|
82586
|
+
let timestamp = lastMs;
|
|
82587
|
+
for (let index = 5;index >= 0; index -= 1) {
|
|
82588
|
+
bytes[index] = timestamp % 256;
|
|
82589
|
+
timestamp = Math.floor(timestamp / 256);
|
|
82590
|
+
}
|
|
82591
|
+
bytes[6] = 112 | counter >> 8;
|
|
82592
|
+
bytes[7] = counter & 255;
|
|
82593
|
+
bytes[8] = 128 | random[2] & 63;
|
|
82594
|
+
bytes.set(random.subarray(3, 10), 9);
|
|
82595
|
+
return formatUuid(bytes);
|
|
82596
|
+
};
|
|
82597
|
+
}
|
|
82598
|
+
function formatUuid(bytes) {
|
|
82599
|
+
const hex = Array.from(bytes, (byte) => byte.toString(16).padStart(2, "0")).join("");
|
|
82600
|
+
return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20)}`;
|
|
82601
|
+
}
|
|
82602
|
+
var MAX_COUNTER = 4095, COUNTER_SEED_MASK = 2047, fallbackEventId;
|
|
82603
|
+
var init_event_id = __esm(() => {
|
|
82604
|
+
fallbackEventId = createUuidV7Generator();
|
|
82605
|
+
});
|
|
82606
|
+
|
|
82560
82607
|
// node_modules/.bun/posthog-node@5.52.4/node_modules/posthog-node/dist/extensions/error-tracking/modifiers/module.node.mjs
|
|
82561
82608
|
import { dirname as dirname18, posix as posix7, sep as sep7 } from "path";
|
|
82562
82609
|
function createModulerModifier() {
|
|
@@ -92123,8 +92170,10 @@ var init_record_daily_active = () => {};
|
|
|
92123
92170
|
// packages/telemetry-core/src/index.ts
|
|
92124
92171
|
var init_src5 = __esm(() => {
|
|
92125
92172
|
init_activity_state();
|
|
92173
|
+
init_consent_gated_fetch();
|
|
92126
92174
|
init_diagnostics();
|
|
92127
92175
|
init_env();
|
|
92176
|
+
init_event_id();
|
|
92128
92177
|
init_events();
|
|
92129
92178
|
init_machine_id();
|
|
92130
92179
|
init_posthog_client();
|
|
@@ -92136,7 +92185,7 @@ var package_default2;
|
|
|
92136
92185
|
var init_package2 = __esm(() => {
|
|
92137
92186
|
package_default2 = {
|
|
92138
92187
|
name: "@oh-my-opencode/omo-codex",
|
|
92139
|
-
version: "5.1.
|
|
92188
|
+
version: "5.1.38",
|
|
92140
92189
|
type: "module",
|
|
92141
92190
|
private: true,
|
|
92142
92191
|
description: "Codex harness adapter for oh-my-openagent. Vendored Codex plugin namespace (omo) + TypeScript installer + telemetry.",
|
|
@@ -92171,7 +92220,7 @@ var init_package2 = __esm(() => {
|
|
|
92171
92220
|
"@oh-my-opencode/utils": "workspace:*"
|
|
92172
92221
|
},
|
|
92173
92222
|
devDependencies: {
|
|
92174
|
-
"bun-types": "1.4.
|
|
92223
|
+
"bun-types": "1.4.3"
|
|
92175
92224
|
}
|
|
92176
92225
|
};
|
|
92177
92226
|
});
|
|
@@ -99434,6 +99483,7 @@ var REQUIRED_PLUGIN_ARTIFACTS = [
|
|
|
99434
99483
|
join63("extensions", "omo-computer-use.js"),
|
|
99435
99484
|
join63("extensions", "omo-memory-doctor.js"),
|
|
99436
99485
|
join63("extensions", "omo-memory-memfs.js"),
|
|
99486
|
+
join63("extensions", "omo-memory-palace.js"),
|
|
99437
99487
|
join63("extensions", "omo-thread-client.js"),
|
|
99438
99488
|
join63("extensions", "assets.generated.json"),
|
|
99439
99489
|
join63("extensions", "omo-member.js"),
|
|
@@ -108509,6 +108559,7 @@ var package_default3 = {
|
|
|
108509
108559
|
"@oh-my-opencode/utils": "workspace:*",
|
|
108510
108560
|
"@opencode-ai/plugin": "1.18.31",
|
|
108511
108561
|
"@opencode-ai/sdk": "1.18.31",
|
|
108562
|
+
"@opencode/plugin": "2.0.32",
|
|
108512
108563
|
commander: "^15.0.0",
|
|
108513
108564
|
"jsonc-parser": "^3.3.1",
|
|
108514
108565
|
picocolors: "^1.1.1",
|
|
@@ -110573,7 +110624,11 @@ function compareUtf16(left, right) {
|
|
|
110573
110624
|
const b = Buffer2.from(right, "utf16le").swap16();
|
|
110574
110625
|
return Buffer2.compare(a, b);
|
|
110575
110626
|
}
|
|
110576
|
-
|
|
110627
|
+
var MAX_SERIALIZE_DEPTH = 64;
|
|
110628
|
+
function serializeValue(value, out, depth = 0) {
|
|
110629
|
+
if (typeof value === "object" && value !== null && depth >= MAX_SERIALIZE_DEPTH) {
|
|
110630
|
+
throw new CanonicalJsonError("json", `nesting deeper than ${MAX_SERIALIZE_DEPTH}`);
|
|
110631
|
+
}
|
|
110577
110632
|
if (value === null)
|
|
110578
110633
|
out.push("null");
|
|
110579
110634
|
else if (typeof value === "boolean")
|
|
@@ -110587,7 +110642,7 @@ function serializeValue(value, out) {
|
|
|
110587
110642
|
value.forEach((element, index) => {
|
|
110588
110643
|
if (index > 0)
|
|
110589
110644
|
out.push(",");
|
|
110590
|
-
serializeValue(element, out);
|
|
110645
|
+
serializeValue(element, out, depth + 1);
|
|
110591
110646
|
});
|
|
110592
110647
|
out.push("]");
|
|
110593
110648
|
} else {
|
|
@@ -110596,7 +110651,7 @@ function serializeValue(value, out) {
|
|
|
110596
110651
|
if (index > 0)
|
|
110597
110652
|
out.push(",");
|
|
110598
110653
|
out.push(escapeCanonicalString(key), ":");
|
|
110599
|
-
serializeValue(value[key], out);
|
|
110654
|
+
serializeValue(value[key], out, depth + 1);
|
|
110600
110655
|
});
|
|
110601
110656
|
out.push("}");
|
|
110602
110657
|
}
|
|
@@ -110608,9 +110663,12 @@ function canonicalizeJson(value) {
|
|
|
110608
110663
|
}
|
|
110609
110664
|
|
|
110610
110665
|
// packages/memory-core/src/sync/canonical-json.ts
|
|
110666
|
+
var MAX_CANONICAL_DEPTH = 64;
|
|
110667
|
+
|
|
110611
110668
|
class Parser {
|
|
110612
110669
|
text;
|
|
110613
110670
|
position = 0;
|
|
110671
|
+
depth = 0;
|
|
110614
110672
|
constructor(text) {
|
|
110615
110673
|
this.text = text;
|
|
110616
110674
|
}
|
|
@@ -110624,10 +110682,14 @@ class Parser {
|
|
|
110624
110682
|
parseValue() {
|
|
110625
110683
|
this.skipInsignificant();
|
|
110626
110684
|
const char = this.text[this.position];
|
|
110627
|
-
if (char === "{")
|
|
110628
|
-
|
|
110629
|
-
|
|
110630
|
-
|
|
110685
|
+
if (char === "{" || char === "[") {
|
|
110686
|
+
if (this.depth >= MAX_CANONICAL_DEPTH)
|
|
110687
|
+
throw this.fail("json", `nesting deeper than ${MAX_CANONICAL_DEPTH}`);
|
|
110688
|
+
this.depth++;
|
|
110689
|
+
const value = char === "{" ? this.parseObject() : this.parseArray();
|
|
110690
|
+
this.depth--;
|
|
110691
|
+
return value;
|
|
110692
|
+
}
|
|
110631
110693
|
if (char === '"')
|
|
110632
110694
|
return this.parseString().value;
|
|
110633
110695
|
if (char === "-" || char >= "0" && char <= "9")
|
|
@@ -110823,7 +110885,14 @@ function openHpkeSealedBox(sealingPrivateRaw, sealingPublicRaw, wrap, info = Buf
|
|
|
110823
110885
|
},
|
|
110824
110886
|
format: "jwk"
|
|
110825
110887
|
});
|
|
110826
|
-
|
|
110888
|
+
let dh;
|
|
110889
|
+
try {
|
|
110890
|
+
dh = diffieHellman({ privateKey, publicKey: x25519PublicKeyFromRaw(enc) });
|
|
110891
|
+
} catch {
|
|
110892
|
+
throw new Error("sealed box does not open: wrong recipient or corrupted wrap");
|
|
110893
|
+
}
|
|
110894
|
+
if (dh.every((byte) => byte === 0))
|
|
110895
|
+
throw new Error("sealed box does not open: wrong recipient or corrupted wrap");
|
|
110827
110896
|
const kem = Buffer4.concat([Buffer4.from("KEM"), KEM_ID]);
|
|
110828
110897
|
const suite = Buffer4.concat([Buffer4.from("HPKE"), KEM_ID, KDF_ID, AEAD_ID]);
|
|
110829
110898
|
const sharedSecret = labeledExpand(kem, "shared_secret", labeledExtract(kem, "eae_prk", dh, Buffer4.alloc(0)), Buffer4.concat([Buffer4.from(enc), Buffer4.from(sealingPublicRaw)]), 32);
|
|
@@ -110863,6 +110932,24 @@ var SIGNING_DOMAIN_TAGS = {
|
|
|
110863
110932
|
function domainSeparatedMessage(purpose, payload) {
|
|
110864
110933
|
return Buffer5.concat([Buffer5.from(SIGNING_DOMAIN_TAGS[purpose], "ascii"), Buffer5.from([0]), Buffer5.from(payload)]);
|
|
110865
110934
|
}
|
|
110935
|
+
var CANONICAL_REASONS = {
|
|
110936
|
+
json: "record-json",
|
|
110937
|
+
"duplicate-key": "record-canonical-duplicate-key",
|
|
110938
|
+
number: "record-canonical-number",
|
|
110939
|
+
order: "record-canonical-order",
|
|
110940
|
+
escape: "record-canonical-escape",
|
|
110941
|
+
whitespace: "record-canonical-whitespace",
|
|
110942
|
+
encoding: "record-canonical-encoding"
|
|
110943
|
+
};
|
|
110944
|
+
function parseCanonical(bytes, what) {
|
|
110945
|
+
try {
|
|
110946
|
+
return requireCanonicalJson(bytes);
|
|
110947
|
+
} catch (error) {
|
|
110948
|
+
if (!(error instanceof CanonicalJsonError))
|
|
110949
|
+
throw error;
|
|
110950
|
+
throw new DeviceKeyringSignError(CANONICAL_REASONS[error.violation], `sign: ${what} preimage is not RFC 8785 canonical JSON: ${error.message}`);
|
|
110951
|
+
}
|
|
110952
|
+
}
|
|
110866
110953
|
function validateSignRequest(request) {
|
|
110867
110954
|
if (typeof request !== "object" || request === null) {
|
|
110868
110955
|
throw new DeviceKeyringSignError("unknown-purpose", "sign: request must be a typed sign request");
|
|
@@ -110877,16 +110964,7 @@ function validateSignRequest(request) {
|
|
|
110877
110964
|
if (!(request.canonicalJson instanceof Uint8Array)) {
|
|
110878
110965
|
throw new DeviceKeyringSignError("record-json", "sign: record needs RFC 8785 canonical JSON bytes");
|
|
110879
110966
|
}
|
|
110880
|
-
|
|
110881
|
-
try {
|
|
110882
|
-
parsed = requireCanonicalJson(request.canonicalJson);
|
|
110883
|
-
} catch (error) {
|
|
110884
|
-
if (error instanceof CanonicalJsonError) {
|
|
110885
|
-
const reason = error.violation === "json" ? "record-json" : error.violation === "duplicate-key" ? "record-canonical-duplicate-key" : error.violation === "number" ? "record-canonical-number" : error.violation === "order" ? "record-canonical-order" : error.violation === "escape" ? "record-canonical-escape" : error.violation === "whitespace" ? "record-canonical-whitespace" : "record-canonical-encoding";
|
|
110886
|
-
throw new DeviceKeyringSignError(reason, `sign: record preimage is not RFC 8785 canonical JSON: ${error.message}`);
|
|
110887
|
-
}
|
|
110888
|
-
throw error;
|
|
110889
|
-
}
|
|
110967
|
+
const parsed = parseCanonical(request.canonicalJson, "record");
|
|
110890
110968
|
if (typeof parsed !== "object" || parsed === null || Array.isArray(parsed) || typeof parsed.t !== "string") {
|
|
110891
110969
|
throw new DeviceKeyringSignError("record-json", 'sign: record preimage needs a top-level "t" string');
|
|
110892
110970
|
}
|
|
@@ -110894,8 +110972,8 @@ function validateSignRequest(request) {
|
|
|
110894
110972
|
if (!t.startsWith("omo-sync/v1/")) {
|
|
110895
110973
|
throw new DeviceKeyringSignError("record-prefix", 'sign: record "t" must start with "omo-sync/v1/"');
|
|
110896
110974
|
}
|
|
110897
|
-
if (t === SIGNING_DOMAIN_TAGS["object-digest"]) {
|
|
110898
|
-
throw new DeviceKeyringSignError("record-prefix",
|
|
110975
|
+
if (t === SIGNING_DOMAIN_TAGS["object-digest"] || t === SIGNING_DOMAIN_TAGS.snapshot) {
|
|
110976
|
+
throw new DeviceKeyringSignError("record-prefix", `sign: record "t" must name a keyring record type, not another purpose's tag`);
|
|
110899
110977
|
}
|
|
110900
110978
|
return request.canonicalJson;
|
|
110901
110979
|
}
|
|
@@ -110903,15 +110981,7 @@ function validateSignRequest(request) {
|
|
|
110903
110981
|
if (!(request.canonicalJson instanceof Uint8Array)) {
|
|
110904
110982
|
throw new DeviceKeyringSignError("record-json", "sign: snapshot needs RFC 8785 canonical JSON bytes");
|
|
110905
110983
|
}
|
|
110906
|
-
|
|
110907
|
-
try {
|
|
110908
|
-
parsed = requireCanonicalJson(request.canonicalJson);
|
|
110909
|
-
} catch (error) {
|
|
110910
|
-
if (error instanceof CanonicalJsonError) {
|
|
110911
|
-
throw new DeviceKeyringSignError("record-canonical", `sign: snapshot preimage is not RFC 8785 canonical JSON: ${error.message}`);
|
|
110912
|
-
}
|
|
110913
|
-
throw error;
|
|
110914
|
-
}
|
|
110984
|
+
const parsed = parseCanonical(request.canonicalJson, "snapshot");
|
|
110915
110985
|
const t = typeof parsed === "object" && parsed !== null ? parsed.t : undefined;
|
|
110916
110986
|
if (t !== SIGNING_DOMAIN_TAGS.snapshot) {
|
|
110917
110987
|
throw new DeviceKeyringSignError("snapshot-prefix", 'sign: snapshot preimage "t" must be exactly "omo-sync/v1/snapshot"');
|
|
@@ -110921,7 +110991,11 @@ function validateSignRequest(request) {
|
|
|
110921
110991
|
throw new DeviceKeyringSignError("unknown-purpose", `sign: unsupported purpose ${JSON.stringify(request.purpose ?? null)}`);
|
|
110922
110992
|
}
|
|
110923
110993
|
var WRAP_INFO = Buffer5.concat([Buffer5.from("omo-sync/v1/wrap", "ascii"), Buffer5.from([0])]);
|
|
110924
|
-
var wrapAad = (binding) =>
|
|
110994
|
+
var wrapAad = (binding) => {
|
|
110995
|
+
if (!Number.isSafeInteger(binding.epoch) || binding.epoch < 0)
|
|
110996
|
+
throw new Error("unseal: the wrap epoch must be a non-negative integer");
|
|
110997
|
+
return canonicalizeJson({ account: binding.account, epoch: binding.epoch, id: binding.id });
|
|
110998
|
+
};
|
|
110925
110999
|
function generateDeviceKeyMaterial() {
|
|
110926
111000
|
const signing = generateKeyPairSync("ed25519");
|
|
110927
111001
|
const sealing = generateKeyPairSync("x25519");
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lazycodex-ai",
|
|
3
|
-
"version": "5.1.
|
|
3
|
+
"version": "5.1.38",
|
|
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",
|
|
@@ -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.38) 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.38) 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.38) 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.38) Verifying LazyCodex Executor Evidence"
|
|
12
12
|
}
|
|
13
13
|
]
|
|
14
14
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
|
-
"version": "5.1.
|
|
4
|
-
"inputDigest": "sha256:
|
|
3
|
+
"version": "5.1.38",
|
|
4
|
+
"inputDigest": "sha256:243e2955ac73aa061ab27152dc6f31cf118025bce72b0f52537519d2f687a54e",
|
|
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.38) 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.38) 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.38) 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.38) 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.38) 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.38) Resetting Project Rule Cache"
|
|
49
49
|
}
|
|
50
50
|
]
|
|
51
51
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sisyphuslabs/codex-teammode",
|
|
3
|
-
"version": "5.1.
|
|
3
|
+
"version": "5.1.38",
|
|
4
4
|
"description": "Codex team-mode hook component that keeps background thread titles descriptive after create_thread.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"private": true,
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"devDependencies": {
|
|
18
18
|
"@vitest/coverage-v8": "5.0.1",
|
|
19
19
|
"@types/node": "^26.6.2",
|
|
20
|
-
"bun-types": "^1.4.
|
|
20
|
+
"bun-types": "^1.4.3",
|
|
21
21
|
"typescript": "^7.0.2",
|
|
22
22
|
"vitest": "5.0.1"
|
|
23
23
|
},
|
|
@@ -270,6 +270,7 @@ function toDiagnosticRecord(input, now) {
|
|
|
270
270
|
timestamp: now.toISOString(),
|
|
271
271
|
event: input.event,
|
|
272
272
|
source: input.source,
|
|
273
|
+
...input.count === undefined ? {} : { count: input.count },
|
|
273
274
|
...serializeError(input.error, input.errorKind)
|
|
274
275
|
};
|
|
275
276
|
}
|
|
@@ -358,7 +359,7 @@ function shouldDisableTelemetry(input) {
|
|
|
358
359
|
const env = input.env ?? process.env;
|
|
359
360
|
const globalPrefix = input.globalEnvPrefix ?? "OMO";
|
|
360
361
|
const prefixes = Array.from(new Set([globalPrefix, input.productEnvPrefix]));
|
|
361
|
-
if (isDisableFlag(env["DO_NOT_TRACK"])) {
|
|
362
|
+
if (isDisableFlag(env["DO_NOT_TRACK"]) || isDisableFlag(env[`${globalPrefix}_DISABLE_TELEMETRY`])) {
|
|
362
363
|
return true;
|
|
363
364
|
}
|
|
364
365
|
for (const prefix of prefixes) {
|
|
@@ -265,6 +265,7 @@ function toDiagnosticRecord(input, now) {
|
|
|
265
265
|
timestamp: now.toISOString(),
|
|
266
266
|
event: input.event,
|
|
267
267
|
source: input.source,
|
|
268
|
+
...input.count === undefined ? {} : { count: input.count },
|
|
268
269
|
...serializeError(input.error, input.errorKind)
|
|
269
270
|
};
|
|
270
271
|
}
|
|
@@ -353,7 +354,7 @@ function shouldDisableTelemetry(input) {
|
|
|
353
354
|
const env = input.env ?? process.env;
|
|
354
355
|
const globalPrefix = input.globalEnvPrefix ?? "OMO";
|
|
355
356
|
const prefixes = Array.from(new Set([globalPrefix, input.productEnvPrefix]));
|
|
356
|
-
if (isDisableFlag(env["DO_NOT_TRACK"])) {
|
|
357
|
+
if (isDisableFlag(env["DO_NOT_TRACK"]) || isDisableFlag(env[`${globalPrefix}_DISABLE_TELEMETRY`])) {
|
|
357
358
|
return true;
|
|
358
359
|
}
|
|
359
360
|
for (const prefix of prefixes) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@code-yeongyu/codex-ultrawork",
|
|
3
|
-
"version": "5.1.
|
|
3
|
+
"version": "5.1.38",
|
|
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",
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"type": "command",
|
|
8
8
|
"command": "node \"${PLUGIN_ROOT}/components/ulw-execute-continuation/dist/cli.js\" hook stop",
|
|
9
9
|
"timeout": 10,
|
|
10
|
-
"statusMessage": "(OmO 5.1.
|
|
10
|
+
"statusMessage": "(OmO 5.1.38) Checking Ulw-Execute Continuation"
|
|
11
11
|
}
|
|
12
12
|
]
|
|
13
13
|
}
|