oh-my-openagent 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/agents/gpt-prompt-identity.d.ts +1 -1
- package/dist/cli/index.js +122 -48
- package/dist/cli-node/index.js +122 -48
- package/dist/index.d.ts +7 -3
- package/dist/index.js +28335 -28302
- package/dist/opencode-v2/server-entry.d.ts +2 -0
- package/dist/opencode-v2/startup-notice.d.ts +3 -0
- package/dist/opencode-v2/tui-entry.d.ts +16 -0
- package/dist/skills/browser/runtime/omowright/index.js +4 -4
- package/dist/skills/browser/runtime/omowright/manifest.json +2 -2
- package/dist/skills/frontend/SKILL.md +8 -1
- package/dist/skills/frontend/references/design/README.md +3 -2
- package/dist/skills/frontend/references/perfection/README.md +2 -1
- package/dist/skills/frontend/scripts/perfection/accent-stripes/color.ts +132 -0
- package/dist/skills/frontend/scripts/perfection/accent-stripes/css-parse.ts +103 -0
- package/dist/skills/frontend/scripts/perfection/accent-stripes/declarations.ts +156 -0
- package/dist/skills/frontend/scripts/perfection/accent-stripes/findings.ts +34 -0
- package/dist/skills/frontend/scripts/perfection/accent-stripes/gradient.ts +70 -0
- package/dist/skills/frontend/scripts/perfection/accent-stripes/lint.ts +110 -0
- package/dist/skills/frontend/scripts/perfection/accent-stripes/markup.ts +148 -0
- package/dist/skills/frontend/scripts/perfection/accent-stripes/selector.ts +46 -0
- package/dist/skills/frontend/scripts/perfection/accent-stripes/tailwind.ts +117 -0
- package/dist/skills/frontend/scripts/perfection/check-accent-stripes.test.ts +86 -0
- package/dist/skills/frontend/scripts/perfection/check-accent-stripes.ts +50 -0
- package/dist/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/exempt-states.css +4 -0
- package/dist/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/flat-stripe-side.tsx +11 -0
- package/dist/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/full-surface-gradients.css +34 -0
- package/dist/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/inline-ok.tsx +7 -0
- package/dist/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/neutral-and-flat.css +6 -0
- package/dist/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/pseudo-overlays.css +3 -0
- package/dist/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/tailwind-ok.tsx +11 -0
- package/dist/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/uniform-and-rings.css +3 -0
- package/dist/skills/frontend/scripts/perfection/fixtures/accent-stripes/negative/wide-blocks-and-hairlines.css +3 -0
- package/dist/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/apply.css +3 -0
- package/dist/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/border-top-card.css +5 -0
- package/dist/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/cva-variant.ts +1 -0
- package/dist/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/gradient-edges.css +26 -0
- package/dist/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/inline-styles.tsx +6 -0
- package/dist/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/inset-shadow.css +4 -0
- package/dist/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/non-visible-focus-and-nested.tsx +6 -0
- package/dist/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/pseudo-bar.css +13 -0
- package/dist/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/split-rule-and-token.scss +14 -0
- package/dist/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/styled-components.tsx +14 -0
- package/dist/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/tailwind-cards.tsx +8 -0
- package/dist/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/tailwind-inset-and-style.vue +11 -0
- package/dist/skills/frontend/scripts/perfection/fixtures/accent-stripes/positive/tailwind-pseudo.html +3 -0
- package/dist/skills/ulw-research/references/report-gates.md +1 -1
- package/dist/skills/ulw-research/scripts/gates-figures.mjs +22 -6
- package/dist/skills/ulw-research/scripts/gates-static.test.ts +13 -0
- package/dist/tui.d.ts +7 -3
- package/dist/tui.js +49 -16
- package/package.json +16 -15
- package/packages/git-bash-mcp/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
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export type GptPromptIdentityKey = "gpt-5.5" | "gpt-5.6-sol" | "gpt-6-astra" | "gpt-6-sol" | "gpt-family";
|
|
1
|
+
export type GptPromptIdentityKey = "gpt-5.5" | "gpt-5.6-sol" | "gpt-6-astra" | "gpt-6-sol" | "gpt-6.1-sol" | "gpt-6-luna" | "gpt-family";
|
|
2
2
|
export declare function getGptPromptIdentityKey(model?: string): GptPromptIdentityKey;
|
|
3
3
|
export declare function getGptPromptIdentity(model?: string): string;
|
package/dist/cli/index.js
CHANGED
|
@@ -2132,7 +2132,7 @@ var package_default;
|
|
|
2132
2132
|
var init_package = __esm(() => {
|
|
2133
2133
|
package_default = {
|
|
2134
2134
|
name: "oh-my-opencode",
|
|
2135
|
-
version: "5.1.
|
|
2135
|
+
version: "5.1.38",
|
|
2136
2136
|
description: "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
|
|
2137
2137
|
main: "./dist/index.js",
|
|
2138
2138
|
types: "dist/index.d.ts",
|
|
@@ -2309,7 +2309,7 @@ var init_package = __esm(() => {
|
|
|
2309
2309
|
},
|
|
2310
2310
|
devDependencies: {
|
|
2311
2311
|
"@clack/prompts": "^1.8.1",
|
|
2312
|
-
"@code-yeongyu/senpi": "2026.10.
|
|
2312
|
+
"@code-yeongyu/senpi": "2026.10.19",
|
|
2313
2313
|
"@modelcontextprotocol/sdk": "^1.30.0",
|
|
2314
2314
|
"@oh-my-opencode/agents-md-core": "workspace:*",
|
|
2315
2315
|
"@oh-my-opencode/ast-grep-mcp": "workspace:*",
|
|
@@ -2346,6 +2346,7 @@ var init_package = __esm(() => {
|
|
|
2346
2346
|
"@oh-my-opencode/utils": "workspace:*",
|
|
2347
2347
|
"@opencode-ai/plugin": "1.18.31",
|
|
2348
2348
|
"@opencode-ai/sdk": "1.18.31",
|
|
2349
|
+
"@opencode/plugin": "2.0.32",
|
|
2349
2350
|
"@opentui/core": "^0.5.11",
|
|
2350
2351
|
"@opentui/keymap": "^0.5.11",
|
|
2351
2352
|
"@types/js-yaml": "^4.0.9",
|
|
@@ -2354,7 +2355,7 @@ var init_package = __esm(() => {
|
|
|
2354
2355
|
"@typescript/typescript6": "6.0.2",
|
|
2355
2356
|
"@xterm/addon-unicode11": "^0.9.0",
|
|
2356
2357
|
"@xterm/xterm": "^6.0.0",
|
|
2357
|
-
"bun-types": "1.4.
|
|
2358
|
+
"bun-types": "1.4.3",
|
|
2358
2359
|
commander: "^15.0.0",
|
|
2359
2360
|
diff: "^9.0.0",
|
|
2360
2361
|
"js-yaml": "^5.4.2",
|
|
@@ -2368,18 +2369,18 @@ var init_package = __esm(() => {
|
|
|
2368
2369
|
typescript: "^7.0.2"
|
|
2369
2370
|
},
|
|
2370
2371
|
optionalDependencies: {
|
|
2371
|
-
"oh-my-opencode-darwin-arm64": "5.1.
|
|
2372
|
-
"oh-my-opencode-darwin-x64": "5.1.
|
|
2373
|
-
"oh-my-opencode-darwin-x64-baseline": "5.1.
|
|
2374
|
-
"oh-my-opencode-linux-arm64": "5.1.
|
|
2375
|
-
"oh-my-opencode-linux-arm64-musl": "5.1.
|
|
2376
|
-
"oh-my-opencode-linux-x64": "5.1.
|
|
2377
|
-
"oh-my-opencode-linux-x64-baseline": "5.1.
|
|
2378
|
-
"oh-my-opencode-linux-x64-musl": "5.1.
|
|
2379
|
-
"oh-my-opencode-linux-x64-musl-baseline": "5.1.
|
|
2380
|
-
"oh-my-opencode-windows-arm64": "5.1.
|
|
2381
|
-
"oh-my-opencode-windows-x64": "5.1.
|
|
2382
|
-
"oh-my-opencode-windows-x64-baseline": "5.1.
|
|
2372
|
+
"oh-my-opencode-darwin-arm64": "5.1.38",
|
|
2373
|
+
"oh-my-opencode-darwin-x64": "5.1.38",
|
|
2374
|
+
"oh-my-opencode-darwin-x64-baseline": "5.1.38",
|
|
2375
|
+
"oh-my-opencode-linux-arm64": "5.1.38",
|
|
2376
|
+
"oh-my-opencode-linux-arm64-musl": "5.1.38",
|
|
2377
|
+
"oh-my-opencode-linux-x64": "5.1.38",
|
|
2378
|
+
"oh-my-opencode-linux-x64-baseline": "5.1.38",
|
|
2379
|
+
"oh-my-opencode-linux-x64-musl": "5.1.38",
|
|
2380
|
+
"oh-my-opencode-linux-x64-musl-baseline": "5.1.38",
|
|
2381
|
+
"oh-my-opencode-windows-arm64": "5.1.38",
|
|
2382
|
+
"oh-my-opencode-windows-x64": "5.1.38",
|
|
2383
|
+
"oh-my-opencode-windows-x64-baseline": "5.1.38"
|
|
2383
2384
|
},
|
|
2384
2385
|
overrides: {
|
|
2385
2386
|
hono: "^4.13.8",
|
|
@@ -9546,6 +9547,7 @@ var init_category_model_requirements = __esm(() => {
|
|
|
9546
9547
|
},
|
|
9547
9548
|
{ providers: ["xiaomi", "opencode-go"], model: "mimo-v2.6-pro", variant: "max" },
|
|
9548
9549
|
{ providers: ["xai", "github-copilot", "opencode-go"], model: "grok-4.7", variant: "xhigh" },
|
|
9550
|
+
{ providers: ["zai-coding-plan", "opencode-go"], model: "glm-5.3", variant: "high" },
|
|
9549
9551
|
{ providers: ["openai", "chatgpt-subscription"], model: "gpt-6.1-sol", variant: "medium" },
|
|
9550
9552
|
{
|
|
9551
9553
|
providers: ["openai", "chatgpt-subscription", "github-copilot", "opencode"],
|
|
@@ -82307,6 +82309,9 @@ var init_activity_state = __esm(() => {
|
|
|
82307
82309
|
capturedDaysByStateDir = new Map;
|
|
82308
82310
|
});
|
|
82309
82311
|
|
|
82312
|
+
// packages/telemetry-core/src/consent-gated-fetch.ts
|
|
82313
|
+
var init_consent_gated_fetch = () => {};
|
|
82314
|
+
|
|
82310
82315
|
// packages/telemetry-core/src/constants.ts
|
|
82311
82316
|
var DEFAULT_POSTHOG_HOST = "https://us.i.posthog.com", DEFAULT_POSTHOG_API_KEY = "phc_CFJhj5HyvA62QPhvyaUCtaq23aUfznnijg5VaaGkNk74", UNCONFIGURED_POSTHOG_API_KEY = "phc_REPLACE_ME_OMO_NATIVE";
|
|
82312
82317
|
|
|
@@ -82354,6 +82359,7 @@ function toDiagnosticRecord(input, now) {
|
|
|
82354
82359
|
timestamp: now.toISOString(),
|
|
82355
82360
|
event: input.event,
|
|
82356
82361
|
source: input.source,
|
|
82362
|
+
...input.count === undefined ? {} : { count: input.count },
|
|
82357
82363
|
...serializeError(input.error, input.errorKind)
|
|
82358
82364
|
};
|
|
82359
82365
|
}
|
|
@@ -82446,7 +82452,7 @@ function shouldDisableTelemetry(input) {
|
|
|
82446
82452
|
const env = input.env ?? process.env;
|
|
82447
82453
|
const globalPrefix = input.globalEnvPrefix ?? "OMO";
|
|
82448
82454
|
const prefixes = Array.from(new Set([globalPrefix, input.productEnvPrefix]));
|
|
82449
|
-
if (isDisableFlag(env["DO_NOT_TRACK"])) {
|
|
82455
|
+
if (isDisableFlag(env["DO_NOT_TRACK"]) || isDisableFlag(env[`${globalPrefix}_DISABLE_TELEMETRY`])) {
|
|
82450
82456
|
return true;
|
|
82451
82457
|
}
|
|
82452
82458
|
for (const prefix of prefixes) {
|
|
@@ -82478,6 +82484,47 @@ var init_env = __esm(() => {
|
|
|
82478
82484
|
SEND_OPT_OUT_VALUES = ["0", "false", "no", "yes"];
|
|
82479
82485
|
});
|
|
82480
82486
|
|
|
82487
|
+
// packages/telemetry-core/src/event-id.ts
|
|
82488
|
+
import { randomBytes as nodeRandomBytes } from "crypto";
|
|
82489
|
+
function createUuidV7Generator(source = {}) {
|
|
82490
|
+
const now = source.now ?? Date.now;
|
|
82491
|
+
const randomBytes = source.randomBytes ?? ((size) => new Uint8Array(nodeRandomBytes(size)));
|
|
82492
|
+
let lastMs = -1;
|
|
82493
|
+
let counter = 0;
|
|
82494
|
+
return () => {
|
|
82495
|
+
const random = randomBytes(10);
|
|
82496
|
+
const wallMs = Math.floor(now());
|
|
82497
|
+
if (wallMs > lastMs) {
|
|
82498
|
+
lastMs = wallMs;
|
|
82499
|
+
counter = (random[0] << 8 | random[1]) & COUNTER_SEED_MASK;
|
|
82500
|
+
} else if (counter < MAX_COUNTER) {
|
|
82501
|
+
counter += 1;
|
|
82502
|
+
} else {
|
|
82503
|
+
lastMs += 1;
|
|
82504
|
+
counter = (random[0] << 8 | random[1]) & COUNTER_SEED_MASK;
|
|
82505
|
+
}
|
|
82506
|
+
const bytes = new Uint8Array(16);
|
|
82507
|
+
let timestamp = lastMs;
|
|
82508
|
+
for (let index = 5;index >= 0; index -= 1) {
|
|
82509
|
+
bytes[index] = timestamp % 256;
|
|
82510
|
+
timestamp = Math.floor(timestamp / 256);
|
|
82511
|
+
}
|
|
82512
|
+
bytes[6] = 112 | counter >> 8;
|
|
82513
|
+
bytes[7] = counter & 255;
|
|
82514
|
+
bytes[8] = 128 | random[2] & 63;
|
|
82515
|
+
bytes.set(random.subarray(3, 10), 9);
|
|
82516
|
+
return formatUuid(bytes);
|
|
82517
|
+
};
|
|
82518
|
+
}
|
|
82519
|
+
function formatUuid(bytes) {
|
|
82520
|
+
const hex = Array.from(bytes, (byte) => byte.toString(16).padStart(2, "0")).join("");
|
|
82521
|
+
return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20)}`;
|
|
82522
|
+
}
|
|
82523
|
+
var MAX_COUNTER = 4095, COUNTER_SEED_MASK = 2047, fallbackEventId;
|
|
82524
|
+
var init_event_id = __esm(() => {
|
|
82525
|
+
fallbackEventId = createUuidV7Generator();
|
|
82526
|
+
});
|
|
82527
|
+
|
|
82481
82528
|
// node_modules/.bun/posthog-node@5.52.4/node_modules/posthog-node/dist/extensions/error-tracking/modifiers/module.node.mjs
|
|
82482
82529
|
import { dirname as dirname18, posix as posix7, sep as sep7 } from "path";
|
|
82483
82530
|
function createModulerModifier() {
|
|
@@ -92044,8 +92091,10 @@ var init_record_daily_active = () => {};
|
|
|
92044
92091
|
// packages/telemetry-core/src/index.ts
|
|
92045
92092
|
var init_src5 = __esm(() => {
|
|
92046
92093
|
init_activity_state();
|
|
92094
|
+
init_consent_gated_fetch();
|
|
92047
92095
|
init_diagnostics();
|
|
92048
92096
|
init_env();
|
|
92097
|
+
init_event_id();
|
|
92049
92098
|
init_events();
|
|
92050
92099
|
init_machine_id();
|
|
92051
92100
|
init_posthog_client();
|
|
@@ -92057,7 +92106,7 @@ var package_default2;
|
|
|
92057
92106
|
var init_package2 = __esm(() => {
|
|
92058
92107
|
package_default2 = {
|
|
92059
92108
|
name: "@oh-my-opencode/omo-codex",
|
|
92060
|
-
version: "5.1.
|
|
92109
|
+
version: "5.1.38",
|
|
92061
92110
|
type: "module",
|
|
92062
92111
|
private: true,
|
|
92063
92112
|
description: "Codex harness adapter for oh-my-openagent. Vendored Codex plugin namespace (omo) + TypeScript installer + telemetry.",
|
|
@@ -92092,7 +92141,7 @@ var init_package2 = __esm(() => {
|
|
|
92092
92141
|
"@oh-my-opencode/utils": "workspace:*"
|
|
92093
92142
|
},
|
|
92094
92143
|
devDependencies: {
|
|
92095
|
-
"bun-types": "1.4.
|
|
92144
|
+
"bun-types": "1.4.3"
|
|
92096
92145
|
}
|
|
92097
92146
|
};
|
|
92098
92147
|
});
|
|
@@ -99355,6 +99404,7 @@ var REQUIRED_PLUGIN_ARTIFACTS = [
|
|
|
99355
99404
|
join63("extensions", "omo-computer-use.js"),
|
|
99356
99405
|
join63("extensions", "omo-memory-doctor.js"),
|
|
99357
99406
|
join63("extensions", "omo-memory-memfs.js"),
|
|
99407
|
+
join63("extensions", "omo-memory-palace.js"),
|
|
99358
99408
|
join63("extensions", "omo-thread-client.js"),
|
|
99359
99409
|
join63("extensions", "assets.generated.json"),
|
|
99360
99410
|
join63("extensions", "omo-member.js"),
|
|
@@ -108430,6 +108480,7 @@ var package_default3 = {
|
|
|
108430
108480
|
"@oh-my-opencode/utils": "workspace:*",
|
|
108431
108481
|
"@opencode-ai/plugin": "1.18.31",
|
|
108432
108482
|
"@opencode-ai/sdk": "1.18.31",
|
|
108483
|
+
"@opencode/plugin": "2.0.32",
|
|
108433
108484
|
commander: "^15.0.0",
|
|
108434
108485
|
"jsonc-parser": "^3.3.1",
|
|
108435
108486
|
picocolors: "^1.1.1",
|
|
@@ -110494,7 +110545,11 @@ function compareUtf16(left, right) {
|
|
|
110494
110545
|
const b = Buffer2.from(right, "utf16le").swap16();
|
|
110495
110546
|
return Buffer2.compare(a, b);
|
|
110496
110547
|
}
|
|
110497
|
-
|
|
110548
|
+
var MAX_SERIALIZE_DEPTH = 64;
|
|
110549
|
+
function serializeValue(value, out, depth = 0) {
|
|
110550
|
+
if (typeof value === "object" && value !== null && depth >= MAX_SERIALIZE_DEPTH) {
|
|
110551
|
+
throw new CanonicalJsonError("json", `nesting deeper than ${MAX_SERIALIZE_DEPTH}`);
|
|
110552
|
+
}
|
|
110498
110553
|
if (value === null)
|
|
110499
110554
|
out.push("null");
|
|
110500
110555
|
else if (typeof value === "boolean")
|
|
@@ -110508,7 +110563,7 @@ function serializeValue(value, out) {
|
|
|
110508
110563
|
value.forEach((element, index) => {
|
|
110509
110564
|
if (index > 0)
|
|
110510
110565
|
out.push(",");
|
|
110511
|
-
serializeValue(element, out);
|
|
110566
|
+
serializeValue(element, out, depth + 1);
|
|
110512
110567
|
});
|
|
110513
110568
|
out.push("]");
|
|
110514
110569
|
} else {
|
|
@@ -110517,7 +110572,7 @@ function serializeValue(value, out) {
|
|
|
110517
110572
|
if (index > 0)
|
|
110518
110573
|
out.push(",");
|
|
110519
110574
|
out.push(escapeCanonicalString(key), ":");
|
|
110520
|
-
serializeValue(value[key], out);
|
|
110575
|
+
serializeValue(value[key], out, depth + 1);
|
|
110521
110576
|
});
|
|
110522
110577
|
out.push("}");
|
|
110523
110578
|
}
|
|
@@ -110529,9 +110584,12 @@ function canonicalizeJson(value) {
|
|
|
110529
110584
|
}
|
|
110530
110585
|
|
|
110531
110586
|
// packages/memory-core/src/sync/canonical-json.ts
|
|
110587
|
+
var MAX_CANONICAL_DEPTH = 64;
|
|
110588
|
+
|
|
110532
110589
|
class Parser {
|
|
110533
110590
|
text;
|
|
110534
110591
|
position = 0;
|
|
110592
|
+
depth = 0;
|
|
110535
110593
|
constructor(text) {
|
|
110536
110594
|
this.text = text;
|
|
110537
110595
|
}
|
|
@@ -110545,10 +110603,14 @@ class Parser {
|
|
|
110545
110603
|
parseValue() {
|
|
110546
110604
|
this.skipInsignificant();
|
|
110547
110605
|
const char = this.text[this.position];
|
|
110548
|
-
if (char === "{")
|
|
110549
|
-
|
|
110550
|
-
|
|
110551
|
-
|
|
110606
|
+
if (char === "{" || char === "[") {
|
|
110607
|
+
if (this.depth >= MAX_CANONICAL_DEPTH)
|
|
110608
|
+
throw this.fail("json", `nesting deeper than ${MAX_CANONICAL_DEPTH}`);
|
|
110609
|
+
this.depth++;
|
|
110610
|
+
const value = char === "{" ? this.parseObject() : this.parseArray();
|
|
110611
|
+
this.depth--;
|
|
110612
|
+
return value;
|
|
110613
|
+
}
|
|
110552
110614
|
if (char === '"')
|
|
110553
110615
|
return this.parseString().value;
|
|
110554
110616
|
if (char === "-" || char >= "0" && char <= "9")
|
|
@@ -110744,7 +110806,14 @@ function openHpkeSealedBox(sealingPrivateRaw, sealingPublicRaw, wrap, info = Buf
|
|
|
110744
110806
|
},
|
|
110745
110807
|
format: "jwk"
|
|
110746
110808
|
});
|
|
110747
|
-
|
|
110809
|
+
let dh;
|
|
110810
|
+
try {
|
|
110811
|
+
dh = diffieHellman({ privateKey, publicKey: x25519PublicKeyFromRaw(enc) });
|
|
110812
|
+
} catch {
|
|
110813
|
+
throw new Error("sealed box does not open: wrong recipient or corrupted wrap");
|
|
110814
|
+
}
|
|
110815
|
+
if (dh.every((byte) => byte === 0))
|
|
110816
|
+
throw new Error("sealed box does not open: wrong recipient or corrupted wrap");
|
|
110748
110817
|
const kem = Buffer4.concat([Buffer4.from("KEM"), KEM_ID]);
|
|
110749
110818
|
const suite = Buffer4.concat([Buffer4.from("HPKE"), KEM_ID, KDF_ID, AEAD_ID]);
|
|
110750
110819
|
const sharedSecret = labeledExpand(kem, "shared_secret", labeledExtract(kem, "eae_prk", dh, Buffer4.alloc(0)), Buffer4.concat([Buffer4.from(enc), Buffer4.from(sealingPublicRaw)]), 32);
|
|
@@ -110784,6 +110853,24 @@ var SIGNING_DOMAIN_TAGS = {
|
|
|
110784
110853
|
function domainSeparatedMessage(purpose, payload) {
|
|
110785
110854
|
return Buffer5.concat([Buffer5.from(SIGNING_DOMAIN_TAGS[purpose], "ascii"), Buffer5.from([0]), Buffer5.from(payload)]);
|
|
110786
110855
|
}
|
|
110856
|
+
var CANONICAL_REASONS = {
|
|
110857
|
+
json: "record-json",
|
|
110858
|
+
"duplicate-key": "record-canonical-duplicate-key",
|
|
110859
|
+
number: "record-canonical-number",
|
|
110860
|
+
order: "record-canonical-order",
|
|
110861
|
+
escape: "record-canonical-escape",
|
|
110862
|
+
whitespace: "record-canonical-whitespace",
|
|
110863
|
+
encoding: "record-canonical-encoding"
|
|
110864
|
+
};
|
|
110865
|
+
function parseCanonical(bytes, what) {
|
|
110866
|
+
try {
|
|
110867
|
+
return requireCanonicalJson(bytes);
|
|
110868
|
+
} catch (error) {
|
|
110869
|
+
if (!(error instanceof CanonicalJsonError))
|
|
110870
|
+
throw error;
|
|
110871
|
+
throw new DeviceKeyringSignError(CANONICAL_REASONS[error.violation], `sign: ${what} preimage is not RFC 8785 canonical JSON: ${error.message}`);
|
|
110872
|
+
}
|
|
110873
|
+
}
|
|
110787
110874
|
function validateSignRequest(request) {
|
|
110788
110875
|
if (typeof request !== "object" || request === null) {
|
|
110789
110876
|
throw new DeviceKeyringSignError("unknown-purpose", "sign: request must be a typed sign request");
|
|
@@ -110798,16 +110885,7 @@ function validateSignRequest(request) {
|
|
|
110798
110885
|
if (!(request.canonicalJson instanceof Uint8Array)) {
|
|
110799
110886
|
throw new DeviceKeyringSignError("record-json", "sign: record needs RFC 8785 canonical JSON bytes");
|
|
110800
110887
|
}
|
|
110801
|
-
|
|
110802
|
-
try {
|
|
110803
|
-
parsed = requireCanonicalJson(request.canonicalJson);
|
|
110804
|
-
} catch (error) {
|
|
110805
|
-
if (error instanceof CanonicalJsonError) {
|
|
110806
|
-
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";
|
|
110807
|
-
throw new DeviceKeyringSignError(reason, `sign: record preimage is not RFC 8785 canonical JSON: ${error.message}`);
|
|
110808
|
-
}
|
|
110809
|
-
throw error;
|
|
110810
|
-
}
|
|
110888
|
+
const parsed = parseCanonical(request.canonicalJson, "record");
|
|
110811
110889
|
if (typeof parsed !== "object" || parsed === null || Array.isArray(parsed) || typeof parsed.t !== "string") {
|
|
110812
110890
|
throw new DeviceKeyringSignError("record-json", 'sign: record preimage needs a top-level "t" string');
|
|
110813
110891
|
}
|
|
@@ -110815,8 +110893,8 @@ function validateSignRequest(request) {
|
|
|
110815
110893
|
if (!t.startsWith("omo-sync/v1/")) {
|
|
110816
110894
|
throw new DeviceKeyringSignError("record-prefix", 'sign: record "t" must start with "omo-sync/v1/"');
|
|
110817
110895
|
}
|
|
110818
|
-
if (t === SIGNING_DOMAIN_TAGS["object-digest"]) {
|
|
110819
|
-
throw new DeviceKeyringSignError("record-prefix",
|
|
110896
|
+
if (t === SIGNING_DOMAIN_TAGS["object-digest"] || t === SIGNING_DOMAIN_TAGS.snapshot) {
|
|
110897
|
+
throw new DeviceKeyringSignError("record-prefix", `sign: record "t" must name a keyring record type, not another purpose's tag`);
|
|
110820
110898
|
}
|
|
110821
110899
|
return request.canonicalJson;
|
|
110822
110900
|
}
|
|
@@ -110824,15 +110902,7 @@ function validateSignRequest(request) {
|
|
|
110824
110902
|
if (!(request.canonicalJson instanceof Uint8Array)) {
|
|
110825
110903
|
throw new DeviceKeyringSignError("record-json", "sign: snapshot needs RFC 8785 canonical JSON bytes");
|
|
110826
110904
|
}
|
|
110827
|
-
|
|
110828
|
-
try {
|
|
110829
|
-
parsed = requireCanonicalJson(request.canonicalJson);
|
|
110830
|
-
} catch (error) {
|
|
110831
|
-
if (error instanceof CanonicalJsonError) {
|
|
110832
|
-
throw new DeviceKeyringSignError("record-canonical", `sign: snapshot preimage is not RFC 8785 canonical JSON: ${error.message}`);
|
|
110833
|
-
}
|
|
110834
|
-
throw error;
|
|
110835
|
-
}
|
|
110905
|
+
const parsed = parseCanonical(request.canonicalJson, "snapshot");
|
|
110836
110906
|
const t = typeof parsed === "object" && parsed !== null ? parsed.t : undefined;
|
|
110837
110907
|
if (t !== SIGNING_DOMAIN_TAGS.snapshot) {
|
|
110838
110908
|
throw new DeviceKeyringSignError("snapshot-prefix", 'sign: snapshot preimage "t" must be exactly "omo-sync/v1/snapshot"');
|
|
@@ -110842,7 +110912,11 @@ function validateSignRequest(request) {
|
|
|
110842
110912
|
throw new DeviceKeyringSignError("unknown-purpose", `sign: unsupported purpose ${JSON.stringify(request.purpose ?? null)}`);
|
|
110843
110913
|
}
|
|
110844
110914
|
var WRAP_INFO = Buffer5.concat([Buffer5.from("omo-sync/v1/wrap", "ascii"), Buffer5.from([0])]);
|
|
110845
|
-
var wrapAad = (binding) =>
|
|
110915
|
+
var wrapAad = (binding) => {
|
|
110916
|
+
if (!Number.isSafeInteger(binding.epoch) || binding.epoch < 0)
|
|
110917
|
+
throw new Error("unseal: the wrap epoch must be a non-negative integer");
|
|
110918
|
+
return canonicalizeJson({ account: binding.account, epoch: binding.epoch, id: binding.id });
|
|
110919
|
+
};
|
|
110846
110920
|
function generateDeviceKeyMaterial() {
|
|
110847
110921
|
const signing = generateKeyPairSync("ed25519");
|
|
110848
110922
|
const sealing = generateKeyPairSync("x25519");
|