oh-my-opencode 5.1.19 → 5.1.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/dist/cli/index.js +110 -89
  2. package/dist/cli-node/index.js +110 -89
  3. package/dist/index.js +129 -118
  4. package/dist/skills/browser/runtime/omowright/manifest.json +1 -1
  5. package/dist/skills/frontend/ATTRIBUTION.md +12 -0
  6. package/dist/skills/frontend/SKILL.md +1 -0
  7. package/dist/skills/frontend/references/design/_INDEX.md +2 -1
  8. package/dist/skills/frontend/references/design/ambience-skill.md +1 -1
  9. package/dist/skills/frontend/references/design/component-catalogs.md +83 -0
  10. package/dist/skills/frontend/references/design/design-system-architecture.md +1 -1
  11. package/dist/skills/frontend/references/design/interaction-skill.md +1 -1
  12. package/dist/tui.js +87 -76
  13. package/package.json +14 -14
  14. package/packages/omo-codex/plugin/.codex-plugin/plugin.json +1 -1
  15. package/packages/omo-codex/plugin/components/bootstrap/dist/cli.js +11 -0
  16. package/packages/omo-codex/plugin/components/bootstrap/hooks/hooks.json +1 -1
  17. package/packages/omo-codex/plugin/components/bootstrap/package.json +1 -1
  18. package/packages/omo-codex/plugin/components/comment-checker/hooks/hooks.json +1 -1
  19. package/packages/omo-codex/plugin/components/comment-checker/package.json +1 -1
  20. package/packages/omo-codex/plugin/components/git-bash/hooks/hooks.json +2 -2
  21. package/packages/omo-codex/plugin/components/git-bash/package.json +1 -1
  22. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/hooks/hooks.json +1 -1
  23. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/package.json +1 -1
  24. package/packages/omo-codex/plugin/components/lsp/dist/.omo-runtime-manifest.json +2 -2
  25. package/packages/omo-codex/plugin/components/lsp/hooks/hooks.json +2 -2
  26. package/packages/omo-codex/plugin/components/lsp/package.json +1 -1
  27. package/packages/omo-codex/plugin/components/rules/hooks/hooks.json +4 -4
  28. package/packages/omo-codex/plugin/components/rules/package.json +1 -1
  29. package/packages/omo-codex/plugin/components/teammode/hooks/hooks.json +1 -1
  30. package/packages/omo-codex/plugin/components/teammode/package.json +1 -1
  31. package/packages/omo-codex/plugin/components/telemetry/hooks/hooks.json +1 -1
  32. package/packages/omo-codex/plugin/components/telemetry/package.json +1 -1
  33. package/packages/omo-codex/plugin/components/ultrawork/hooks/hooks.json +1 -1
  34. package/packages/omo-codex/plugin/components/ultrawork/package.json +1 -1
  35. package/packages/omo-codex/plugin/components/ulw-execute-continuation/hooks/hooks.json +1 -1
  36. package/packages/omo-codex/plugin/components/ulw-execute-continuation/package.json +1 -1
  37. package/packages/omo-codex/plugin/components/ulw-loop/hooks/hooks.json +5 -5
  38. package/packages/omo-codex/plugin/components/ulw-loop/package.json +1 -1
  39. package/packages/omo-codex/plugin/hooks/post-compact-resetting-git-bash-mcp-reminder.json +1 -1
  40. package/packages/omo-codex/plugin/hooks/post-compact-resetting-lsp-diagnostics-cache.json +1 -1
  41. package/packages/omo-codex/plugin/hooks/post-compact-resetting-project-rule-cache.json +1 -1
  42. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-comments.json +1 -1
  43. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-lsp-diagnostics.json +1 -1
  44. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-thread-title-hygiene.json +1 -1
  45. package/packages/omo-codex/plugin/hooks/post-tool-use-matching-project-rules.json +1 -1
  46. package/packages/omo-codex/plugin/hooks/post-tool-use-recording-spawn-admission.json +1 -1
  47. package/packages/omo-codex/plugin/hooks/pre-tool-use-enforcing-unlimited-goal-budget.json +1 -1
  48. package/packages/omo-codex/plugin/hooks/pre-tool-use-guarding-ulw-loop-spawns.json +1 -1
  49. package/packages/omo-codex/plugin/hooks/pre-tool-use-recommending-git-bash-mcp.json +1 -1
  50. package/packages/omo-codex/plugin/hooks/session-start-checking-auto-update.json +1 -1
  51. package/packages/omo-codex/plugin/hooks/session-start-checking-bootstrap-provisioning.json +1 -1
  52. package/packages/omo-codex/plugin/hooks/session-start-loading-project-rules.json +1 -1
  53. package/packages/omo-codex/plugin/hooks/session-start-recording-session-telemetry.json +1 -1
  54. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-execute-continuation.json +1 -1
  55. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-loop-resume.json +1 -1
  56. package/packages/omo-codex/plugin/hooks/subagent-stop-verifying-lazycodex-executor-evidence.json +1 -1
  57. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ultrawork-trigger.json +1 -1
  58. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ulw-loop-steering.json +1 -1
  59. package/packages/omo-codex/plugin/hooks/user-prompt-submit-loading-project-rules.json +1 -1
  60. package/packages/omo-codex/plugin/package-lock.json +12 -12
  61. package/packages/omo-codex/plugin/package.json +1 -1
  62. package/packages/omo-codex/plugin/skills/browser/runtime/omowright/manifest.json +1 -1
  63. package/packages/omo-codex/plugin/skills/frontend/ATTRIBUTION.md +12 -0
  64. package/packages/omo-codex/plugin/skills/frontend/SKILL.md +1 -0
  65. package/packages/omo-codex/plugin/skills/frontend/references/design/_INDEX.md +2 -1
  66. package/packages/omo-codex/plugin/skills/frontend/references/design/ambience-skill.md +1 -1
  67. package/packages/omo-codex/plugin/skills/frontend/references/design/component-catalogs.md +83 -0
  68. package/packages/omo-codex/plugin/skills/frontend/references/design/design-system-architecture.md +1 -1
  69. package/packages/omo-codex/plugin/skills/frontend/references/design/interaction-skill.md +1 -1
  70. package/packages/omo-codex/scripts/install-dist/install-local.mjs +21 -2
  71. package/packages/shared-skills/skills/browser/runtime/omowright/manifest.json +1 -1
  72. package/packages/shared-skills/skills/frontend/ATTRIBUTION.md +12 -0
  73. package/packages/shared-skills/skills/frontend/SKILL.md +1 -0
  74. package/packages/shared-skills/skills/frontend/references/design/_INDEX.md +2 -1
  75. package/packages/shared-skills/skills/frontend/references/design/ambience-skill.md +1 -1
  76. package/packages/shared-skills/skills/frontend/references/design/component-catalogs.md +83 -0
  77. package/packages/shared-skills/skills/frontend/references/design/design-system-architecture.md +1 -1
  78. package/packages/shared-skills/skills/frontend/references/design/interaction-skill.md +1 -1
package/dist/tui.js CHANGED
@@ -3628,6 +3628,67 @@ var init_model_requirements = __esm(() => {
3628
3628
  init_category_model_requirements();
3629
3629
  });
3630
3630
 
3631
+ // packages/model-core/src/reasoning-level.ts
3632
+ function isReasoningLevelOrAuto(value) {
3633
+ return REASONING_LEVEL_OR_AUTO_SET.has(value);
3634
+ }
3635
+ function splitReasoningSuffix(model, options) {
3636
+ if (typeof model !== "string")
3637
+ return { base: "" };
3638
+ const trimmed = model.trim();
3639
+ if (!trimmed)
3640
+ return { base: "" };
3641
+ const separatorIndex = trimmed.lastIndexOf(":");
3642
+ if (separatorIndex === -1)
3643
+ return { base: trimmed };
3644
+ const base = trimmed.slice(0, separatorIndex).trim();
3645
+ const token = trimmed.slice(separatorIndex + 1).trim().toLowerCase();
3646
+ if (!base || !isReasoningLevelOrAuto(token))
3647
+ return { base: trimmed };
3648
+ if (token === "max" && !(options?.allowMaxSuffix ?? base.includes("/")))
3649
+ return { base: trimmed };
3650
+ return { base, level: token };
3651
+ }
3652
+ var REASONING_LEVELS, REASONING_AUTO = "auto", REASONING_LEVEL_SET, REASONING_LEVEL_OR_AUTO_SET;
3653
+ var init_reasoning_level = __esm(() => {
3654
+ REASONING_LEVELS = ["off", "minimal", "low", "medium", "high", "xhigh", "max"];
3655
+ REASONING_LEVEL_SET = new Set(REASONING_LEVELS);
3656
+ REASONING_LEVEL_OR_AUTO_SET = new Set([...REASONING_LEVELS, REASONING_AUTO]);
3657
+ });
3658
+
3659
+ // packages/model-core/src/model-string-parser.ts
3660
+ function parseVariantFromModelID(rawModelID, options) {
3661
+ if (typeof rawModelID !== "string") {
3662
+ return { modelID: "" };
3663
+ }
3664
+ const trimmedModelID = rawModelID.trim();
3665
+ if (!trimmedModelID) {
3666
+ return { modelID: "" };
3667
+ }
3668
+ const parenthesizedVariant = trimmedModelID.match(/^(.*)\(([^()]+)\)\s*$/);
3669
+ if (parenthesizedVariant) {
3670
+ const modelID = parenthesizedVariant[1]?.trim() ?? "";
3671
+ const variant = parenthesizedVariant[2]?.trim();
3672
+ return variant ? { modelID, variant } : { modelID };
3673
+ }
3674
+ const suffixedModel = splitReasoningSuffix(trimmedModelID, options);
3675
+ if (suffixedModel.level) {
3676
+ return { modelID: suffixedModel.base, variant: suffixedModel.level };
3677
+ }
3678
+ const spaceVariant = trimmedModelID.match(/^(.*\S)\s+([a-z][a-z0-9_-]*)$/i);
3679
+ if (spaceVariant) {
3680
+ const modelID = spaceVariant[1]?.trim() ?? "";
3681
+ const variant = spaceVariant[2]?.trim().toLowerCase();
3682
+ if (variant) {
3683
+ return { modelID, variant };
3684
+ }
3685
+ }
3686
+ return { modelID: trimmedModelID };
3687
+ }
3688
+ var init_model_string_parser = __esm(() => {
3689
+ init_reasoning_level();
3690
+ });
3691
+
3631
3692
  // packages/model-core/src/model-family-detectors.ts
3632
3693
  var init_model_family_detectors = () => {};
3633
3694
 
@@ -3727,67 +3788,6 @@ function normalizeModelID(modelID) {
3727
3788
  return modelID.replace(/\.(\d+)/g, "-$1");
3728
3789
  }
3729
3790
 
3730
- // packages/model-core/src/reasoning-level.ts
3731
- function isReasoningLevelOrAuto(value) {
3732
- return REASONING_LEVEL_OR_AUTO_SET.has(value);
3733
- }
3734
- function splitReasoningSuffix(model, options) {
3735
- if (typeof model !== "string")
3736
- return { base: "" };
3737
- const trimmed = model.trim();
3738
- if (!trimmed)
3739
- return { base: "" };
3740
- const separatorIndex = trimmed.lastIndexOf(":");
3741
- if (separatorIndex === -1)
3742
- return { base: trimmed };
3743
- const base = trimmed.slice(0, separatorIndex).trim();
3744
- const token = trimmed.slice(separatorIndex + 1).trim().toLowerCase();
3745
- if (!base || !isReasoningLevelOrAuto(token))
3746
- return { base: trimmed };
3747
- if (token === "max" && !(options?.allowMaxSuffix ?? base.includes("/")))
3748
- return { base: trimmed };
3749
- return { base, level: token };
3750
- }
3751
- var REASONING_LEVELS, REASONING_AUTO = "auto", REASONING_LEVEL_SET, REASONING_LEVEL_OR_AUTO_SET;
3752
- var init_reasoning_level = __esm(() => {
3753
- REASONING_LEVELS = ["off", "minimal", "low", "medium", "high", "xhigh", "max"];
3754
- REASONING_LEVEL_SET = new Set(REASONING_LEVELS);
3755
- REASONING_LEVEL_OR_AUTO_SET = new Set([...REASONING_LEVELS, REASONING_AUTO]);
3756
- });
3757
-
3758
- // packages/model-core/src/model-string-parser.ts
3759
- function parseVariantFromModelID(rawModelID, options) {
3760
- if (typeof rawModelID !== "string") {
3761
- return { modelID: "" };
3762
- }
3763
- const trimmedModelID = rawModelID.trim();
3764
- if (!trimmedModelID) {
3765
- return { modelID: "" };
3766
- }
3767
- const parenthesizedVariant = trimmedModelID.match(/^(.*)\(([^()]+)\)\s*$/);
3768
- if (parenthesizedVariant) {
3769
- const modelID = parenthesizedVariant[1]?.trim() ?? "";
3770
- const variant = parenthesizedVariant[2]?.trim();
3771
- return variant ? { modelID, variant } : { modelID };
3772
- }
3773
- const suffixedModel = splitReasoningSuffix(trimmedModelID, options);
3774
- if (suffixedModel.level) {
3775
- return { modelID: suffixedModel.base, variant: suffixedModel.level };
3776
- }
3777
- const spaceVariant = trimmedModelID.match(/^(.*\S)\s+([a-z][a-z0-9_-]*)$/i);
3778
- if (spaceVariant) {
3779
- const modelID = spaceVariant[1]?.trim() ?? "";
3780
- const variant = spaceVariant[2]?.trim().toLowerCase();
3781
- if (variant) {
3782
- return { modelID, variant };
3783
- }
3784
- }
3785
- return { modelID: trimmedModelID };
3786
- }
3787
- var init_model_string_parser = __esm(() => {
3788
- init_reasoning_level();
3789
- });
3790
-
3791
3791
  // packages/model-core/src/model-capability-heuristics.ts
3792
3792
  function detectHeuristicModelFamily(modelID) {
3793
3793
  const parsedModel = parseVariantFromModelID(modelID, { allowMaxSuffix: true });
@@ -69872,7 +69872,7 @@ var init_harness = __esm(() => {
69872
69872
  });
69873
69873
 
69874
69874
  // packages/omo-config-core/src/schema/memory.ts
69875
- var OmoMemoryReflectionTriggerSchema, OmoMemoryReflectionSchema, OmoMemorySyncSchema, OmoMemorySearchSchema, OmoMemoryRecallEventCapsSchema, OmoMemoryRecallSchema, OmoMemoryNudgeSchema, OmoMemoryFactsSchema, OmoMemoryDreamSchema, OmoMemoryPeopleSchema, OmoMemorySoulSchema, OmoMemoryWriteNoticeSchema, OmoMemoryReflectionTriggerLayerSchema, OmoMemoryReflectionLayerSchema, OmoMemorySyncLayerSchema, OmoMemorySearchLayerSchema, OmoMemoryRecallEventCapsLayerSchema, OmoMemoryRecallLayerSchema, OmoMemoryNudgeLayerSchema, OmoMemoryFactsLayerSchema, OmoMemoryDreamLayerSchema, OmoMemoryPeopleLayerSchema, OmoMemorySoulLayerSchema, OmoMemoryWriteNoticeLayerSchema, OmoMemoryAgentOverridesSchema, OmoMemorySettingsSchema, OmoMemorySettingsLayerSchema;
69875
+ var OmoMemoryReflectionTriggerSchema, OmoMemoryReflectionSchema, OmoMemorySyncSchema, OmoMemorySearchSchema, OmoMemoryRecallEventCapsSchema, OmoMemoryRecallSchema, OmoMemoryNudgeSchema, OmoMemoryFactsSchema, OmoMemoryDreamSchema, OmoMemoryPeopleSchema, OmoMemorySoulSchema, OmoMemoryWriteNoticeSchema, OmoMemoryReflectionTriggerLayerSchema, OmoMemoryReflectionLayerSchema, OmoMemorySyncLayerSchema, OmoMemorySearchLayerSchema, OmoMemoryRecallEventCapsLayerSchema, OmoMemoryRecallLayerSchema, OmoMemoryNudgeLayerSchema, OmoMemoryFactsLayerSchema, OmoMemoryDreamLayerSchema, OmoMemoryPeopleLayerSchema, OmoMemorySoulLayerSchema, OmoMemoryWriteNoticeLayerSchema, OmoMemoryProjectionSchema, OmoMemoryProjectionLayerSchema, OmoMemoryAgentOverridesSchema, OmoMemorySettingsSchema, OmoMemorySettingsLayerSchema;
69876
69876
  var init_memory = __esm(() => {
69877
69877
  init_zod();
69878
69878
  OmoMemoryReflectionTriggerSchema = object({
@@ -69999,6 +69999,14 @@ var init_memory = __esm(() => {
69999
69999
  OmoMemoryWriteNoticeLayerSchema = object({
70000
70000
  enabled: boolean2().optional()
70001
70001
  }).strict();
70002
+ OmoMemoryProjectionSchema = object({
70003
+ max_entries_per_directory: number2().int().min(0).default(40),
70004
+ max_bytes: number2().int().min(0).default(24576)
70005
+ }).strict();
70006
+ OmoMemoryProjectionLayerSchema = object({
70007
+ max_entries_per_directory: number2().int().min(0).optional(),
70008
+ max_bytes: number2().int().min(0).optional()
70009
+ }).strict();
70002
70010
  OmoMemoryAgentOverridesSchema = object({
70003
70011
  enabled: boolean2().optional(),
70004
70012
  agent: string2().min(1).optional(),
@@ -70012,6 +70020,7 @@ var init_memory = __esm(() => {
70012
70020
  sync: OmoMemorySyncLayerSchema.optional(),
70013
70021
  search: OmoMemorySearchLayerSchema.optional(),
70014
70022
  recall: OmoMemoryRecallLayerSchema.optional(),
70023
+ projection: OmoMemoryProjectionLayerSchema.optional(),
70015
70024
  compile_warn_tokens: number2().int().positive().optional()
70016
70025
  }).strict();
70017
70026
  OmoMemorySettingsSchema = object({
@@ -70050,6 +70059,7 @@ var init_memory = __esm(() => {
70050
70059
  tool_budget: 8,
70051
70060
  query_expansion: false
70052
70061
  }),
70062
+ projection: OmoMemoryProjectionSchema.default({ max_entries_per_directory: 40, max_bytes: 24576 }),
70053
70063
  compile_warn_tokens: number2().int().positive().default(30000),
70054
70064
  agents: record(string2(), OmoMemoryAgentOverridesSchema).default({})
70055
70065
  }).strict();
@@ -70066,6 +70076,7 @@ var init_memory = __esm(() => {
70066
70076
  sync: OmoMemorySyncLayerSchema.optional(),
70067
70077
  search: OmoMemorySearchLayerSchema.optional(),
70068
70078
  recall: OmoMemoryRecallLayerSchema.optional(),
70079
+ projection: OmoMemoryProjectionLayerSchema.optional(),
70069
70080
  compile_warn_tokens: number2().int().positive().optional(),
70070
70081
  agents: record(string2(), OmoMemoryAgentOverridesSchema).optional()
70071
70082
  }).strict();
@@ -74609,7 +74620,7 @@ init_shared();
74609
74620
  // package.json
74610
74621
  var package_default = {
74611
74622
  name: "oh-my-opencode",
74612
- version: "5.1.19",
74623
+ version: "5.1.22",
74613
74624
  description: "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
74614
74625
  main: "./dist/index.js",
74615
74626
  types: "dist/index.d.ts",
@@ -74786,7 +74797,7 @@ var package_default = {
74786
74797
  },
74787
74798
  devDependencies: {
74788
74799
  "@clack/prompts": "^1.8.1",
74789
- "@code-yeongyu/senpi": "2026.10.10",
74800
+ "@code-yeongyu/senpi": "2026.10.10-5",
74790
74801
  "@modelcontextprotocol/sdk": "^1.30.0",
74791
74802
  "@oh-my-opencode/agents-md-core": "workspace:*",
74792
74803
  "@oh-my-opencode/ast-grep-mcp": "workspace:*",
@@ -74844,18 +74855,18 @@ var package_default = {
74844
74855
  typescript: "^7.0.2"
74845
74856
  },
74846
74857
  optionalDependencies: {
74847
- "oh-my-opencode-darwin-arm64": "5.1.19",
74848
- "oh-my-opencode-darwin-x64": "5.1.19",
74849
- "oh-my-opencode-darwin-x64-baseline": "5.1.19",
74850
- "oh-my-opencode-linux-arm64": "5.1.19",
74851
- "oh-my-opencode-linux-arm64-musl": "5.1.19",
74852
- "oh-my-opencode-linux-x64": "5.1.19",
74853
- "oh-my-opencode-linux-x64-baseline": "5.1.19",
74854
- "oh-my-opencode-linux-x64-musl": "5.1.19",
74855
- "oh-my-opencode-linux-x64-musl-baseline": "5.1.19",
74856
- "oh-my-opencode-windows-arm64": "5.1.19",
74857
- "oh-my-opencode-windows-x64": "5.1.19",
74858
- "oh-my-opencode-windows-x64-baseline": "5.1.19"
74858
+ "oh-my-opencode-darwin-arm64": "5.1.22",
74859
+ "oh-my-opencode-darwin-x64": "5.1.22",
74860
+ "oh-my-opencode-darwin-x64-baseline": "5.1.22",
74861
+ "oh-my-opencode-linux-arm64": "5.1.22",
74862
+ "oh-my-opencode-linux-arm64-musl": "5.1.22",
74863
+ "oh-my-opencode-linux-x64": "5.1.22",
74864
+ "oh-my-opencode-linux-x64-baseline": "5.1.22",
74865
+ "oh-my-opencode-linux-x64-musl": "5.1.22",
74866
+ "oh-my-opencode-linux-x64-musl-baseline": "5.1.22",
74867
+ "oh-my-opencode-windows-arm64": "5.1.22",
74868
+ "oh-my-opencode-windows-x64": "5.1.22",
74869
+ "oh-my-opencode-windows-x64-baseline": "5.1.22"
74859
74870
  },
74860
74871
  overrides: {
74861
74872
  hono: "^4.13.8",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oh-my-opencode",
3
- "version": "5.1.19",
3
+ "version": "5.1.22",
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",
@@ -177,7 +177,7 @@
177
177
  },
178
178
  "devDependencies": {
179
179
  "@clack/prompts": "^1.8.1",
180
- "@code-yeongyu/senpi": "2026.10.10",
180
+ "@code-yeongyu/senpi": "2026.10.10-5",
181
181
  "@modelcontextprotocol/sdk": "^1.30.0",
182
182
  "@oh-my-opencode/agents-md-core": "workspace:*",
183
183
  "@oh-my-opencode/ast-grep-mcp": "workspace:*",
@@ -235,18 +235,18 @@
235
235
  "typescript": "^7.0.2"
236
236
  },
237
237
  "optionalDependencies": {
238
- "oh-my-opencode-darwin-arm64": "5.1.19",
239
- "oh-my-opencode-darwin-x64": "5.1.19",
240
- "oh-my-opencode-darwin-x64-baseline": "5.1.19",
241
- "oh-my-opencode-linux-arm64": "5.1.19",
242
- "oh-my-opencode-linux-arm64-musl": "5.1.19",
243
- "oh-my-opencode-linux-x64": "5.1.19",
244
- "oh-my-opencode-linux-x64-baseline": "5.1.19",
245
- "oh-my-opencode-linux-x64-musl": "5.1.19",
246
- "oh-my-opencode-linux-x64-musl-baseline": "5.1.19",
247
- "oh-my-opencode-windows-arm64": "5.1.19",
248
- "oh-my-opencode-windows-x64": "5.1.19",
249
- "oh-my-opencode-windows-x64-baseline": "5.1.19"
238
+ "oh-my-opencode-darwin-arm64": "5.1.22",
239
+ "oh-my-opencode-darwin-x64": "5.1.22",
240
+ "oh-my-opencode-darwin-x64-baseline": "5.1.22",
241
+ "oh-my-opencode-linux-arm64": "5.1.22",
242
+ "oh-my-opencode-linux-arm64-musl": "5.1.22",
243
+ "oh-my-opencode-linux-x64": "5.1.22",
244
+ "oh-my-opencode-linux-x64-baseline": "5.1.22",
245
+ "oh-my-opencode-linux-x64-musl": "5.1.22",
246
+ "oh-my-opencode-linux-x64-musl-baseline": "5.1.22",
247
+ "oh-my-opencode-windows-arm64": "5.1.22",
248
+ "oh-my-opencode-windows-x64": "5.1.22",
249
+ "oh-my-opencode-windows-x64-baseline": "5.1.22"
250
250
  },
251
251
  "overrides": {
252
252
  "hono": "^4.13.8",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "omo",
3
- "version": "5.1.19",
3
+ "version": "5.1.22",
4
4
  "description": "One Codex plugin namespace for Yeongyu's local Codex components.",
5
5
  "author": {
6
6
  "name": "Yeongyu Kim",
@@ -7240,6 +7240,14 @@ var OmoMemorySoulLayerSchema = object({
7240
7240
  var OmoMemoryWriteNoticeLayerSchema = object({
7241
7241
  enabled: boolean2().optional()
7242
7242
  }).strict();
7243
+ var OmoMemoryProjectionSchema = object({
7244
+ max_entries_per_directory: number2().int().min(0).default(40),
7245
+ max_bytes: number2().int().min(0).default(24576)
7246
+ }).strict();
7247
+ var OmoMemoryProjectionLayerSchema = object({
7248
+ max_entries_per_directory: number2().int().min(0).optional(),
7249
+ max_bytes: number2().int().min(0).optional()
7250
+ }).strict();
7243
7251
  var OmoMemoryAgentOverridesSchema = object({
7244
7252
  enabled: boolean2().optional(),
7245
7253
  agent: string2().min(1).optional(),
@@ -7253,6 +7261,7 @@ var OmoMemoryAgentOverridesSchema = object({
7253
7261
  sync: OmoMemorySyncLayerSchema.optional(),
7254
7262
  search: OmoMemorySearchLayerSchema.optional(),
7255
7263
  recall: OmoMemoryRecallLayerSchema.optional(),
7264
+ projection: OmoMemoryProjectionLayerSchema.optional(),
7256
7265
  compile_warn_tokens: number2().int().positive().optional()
7257
7266
  }).strict();
7258
7267
  var OmoMemorySettingsSchema = object({
@@ -7291,6 +7300,7 @@ var OmoMemorySettingsSchema = object({
7291
7300
  tool_budget: 8,
7292
7301
  query_expansion: false
7293
7302
  }),
7303
+ projection: OmoMemoryProjectionSchema.default({ max_entries_per_directory: 40, max_bytes: 24576 }),
7294
7304
  compile_warn_tokens: number2().int().positive().default(30000),
7295
7305
  agents: record(string2(), OmoMemoryAgentOverridesSchema).default({})
7296
7306
  }).strict();
@@ -7307,6 +7317,7 @@ var OmoMemorySettingsLayerSchema = object({
7307
7317
  sync: OmoMemorySyncLayerSchema.optional(),
7308
7318
  search: OmoMemorySearchLayerSchema.optional(),
7309
7319
  recall: OmoMemoryRecallLayerSchema.optional(),
7320
+ projection: OmoMemoryProjectionLayerSchema.optional(),
7310
7321
  compile_warn_tokens: number2().int().positive().optional(),
7311
7322
  agents: record(string2(), OmoMemoryAgentOverridesSchema).optional()
7312
7323
  }).strict();
@@ -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.19) Checking Bootstrap Provisioning"
11
+ "statusMessage": "(OmO 5.1.22) Checking Bootstrap Provisioning"
12
12
  }
13
13
  ]
14
14
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sisyphuslabs/codex-bootstrap",
3
- "version": "5.1.19",
3
+ "version": "5.1.22",
4
4
  "description": "Codex SessionStart bootstrap component that provisions LazyCodex runtime dependencies from a detached worker.",
5
5
  "type": "module",
6
6
  "private": true,
@@ -8,7 +8,7 @@
8
8
  "type": "command",
9
9
  "command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook post-tool-use",
10
10
  "timeout": 30,
11
- "statusMessage": "(OmO 5.1.19) Checking Comments"
11
+ "statusMessage": "(OmO 5.1.22) Checking Comments"
12
12
  }
13
13
  ]
14
14
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@code-yeongyu/codex-comment-checker",
3
- "version": "5.1.19",
3
+ "version": "5.1.22",
4
4
  "description": "Codex plugin that runs comment-checker after edit-like PostToolUse hooks.",
5
5
  "type": "module",
6
6
  "packageManager": "npm@11.12.1",
@@ -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.19) Recommending Git Bash MCP"
11
+ "statusMessage": "(OmO 5.1.22) 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.19) Resetting Git Bash MCP Reminder"
23
+ "statusMessage": "(OmO 5.1.22) Resetting Git Bash MCP Reminder"
24
24
  }
25
25
  ]
26
26
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sisyphuslabs/codex-git-bash-hook",
3
- "version": "5.1.19",
3
+ "version": "5.1.22",
4
4
  "description": "Codex hook component that reminds Windows sessions to prefer the OMO git_bash MCP.",
5
5
  "type": "module",
6
6
  "private": true,
@@ -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.19) Verifying LazyCodex Executor Evidence"
11
+ "statusMessage": "(OmO 5.1.22) Verifying LazyCodex Executor Evidence"
12
12
  }
13
13
  ]
14
14
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@code-yeongyu/codex-lazycodex-executor-verify",
3
- "version": "5.1.19",
3
+ "version": "5.1.22",
4
4
  "description": "Codex SubagentStop evidence verifier for LazyCodex executor completions.",
5
5
  "type": "module",
6
6
  "packageManager": "npm@11.12.1",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "version": "5.1.19",
4
- "inputDigest": "sha256:6e0c92ad7f9c30bfe3f332c650b25803beaf410a5834e0d84e5cf68d467e5344",
3
+ "version": "5.1.22",
4
+ "inputDigest": "sha256:3b5da61f73a9f075c8dcd3bd96108a2284393824e78111a612ed75cbcc169a7a",
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.19) Checking LSP Diagnostics"
11
+ "statusMessage": "(OmO 5.1.22) 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.19) Resetting LSP Diagnostics Cache"
24
+ "statusMessage": "(OmO 5.1.22) Resetting LSP Diagnostics Cache"
25
25
  }
26
26
  ]
27
27
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@code-yeongyu/codex-lsp",
3
- "version": "5.1.19",
3
+ "version": "5.1.22",
4
4
  "description": "Codex plugin that exposes Language Server Protocol tools and post-edit diagnostics.",
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}/dist/cli.js\" hook session-start",
9
9
  "timeout": 10,
10
- "statusMessage": "(OmO 5.1.19) Loading Project Rules"
10
+ "statusMessage": "(OmO 5.1.22) 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.19) Loading Project Rules"
22
+ "statusMessage": "(OmO 5.1.22) 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.19) Matching Project Rules"
35
+ "statusMessage": "(OmO 5.1.22) 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.19) Resetting Project Rule Cache"
48
+ "statusMessage": "(OmO 5.1.22) Resetting Project Rule Cache"
49
49
  }
50
50
  ]
51
51
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@code-yeongyu/codex-rules",
3
- "version": "5.1.19",
3
+ "version": "5.1.22",
4
4
  "description": "Codex plugin that injects project rule files into model context through lifecycle hooks.",
5
5
  "type": "module",
6
6
  "packageManager": "npm@11.12.1",
@@ -8,7 +8,7 @@
8
8
  "type": "command",
9
9
  "command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook post-tool-use",
10
10
  "timeout": 10,
11
- "statusMessage": "(OmO 5.1.19) Checking Thread Title Hygiene"
11
+ "statusMessage": "(OmO 5.1.22) Checking Thread Title Hygiene"
12
12
  }
13
13
  ]
14
14
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sisyphuslabs/codex-teammode",
3
- "version": "5.1.19",
3
+ "version": "5.1.22",
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,
@@ -7,7 +7,7 @@
7
7
  "type": "command",
8
8
  "command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook session-start",
9
9
  "timeout": 5,
10
- "statusMessage": "(OmO 5.1.19) Recording Session Telemetry"
10
+ "statusMessage": "(OmO 5.1.22) Recording Session Telemetry"
11
11
  }
12
12
  ]
13
13
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@code-yeongyu/codex-telemetry",
3
- "version": "5.1.19",
3
+ "version": "5.1.22",
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",
@@ -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.1.19) Checking Ultrawork Trigger"
10
+ "statusMessage": "(OmO 5.1.22) 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.1.19",
3
+ "version": "5.1.22",
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.19) Checking Ulw-Execute Continuation"
10
+ "statusMessage": "(OmO 5.1.22) Checking Ulw-Execute Continuation"
11
11
  }
12
12
  ]
13
13
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@code-yeongyu/codex-ulw-execute-continuation",
3
- "version": "5.1.19",
3
+ "version": "5.1.22",
4
4
  "description": "Codex Stop hook continuation injector for omo-codex ulw-execute plans.",
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}/dist/cli.js\" hook user-prompt-submit --with-ultrawork",
9
9
  "timeout": 10,
10
- "statusMessage": "(OmO 5.1.19) Checking Ulw-Loop Steering"
10
+ "statusMessage": "(OmO 5.1.22) 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 post-tool-use-spawn",
22
22
  "timeout": 5,
23
- "statusMessage": "(OmO 5.1.19) Recording Spawn Admission"
23
+ "statusMessage": "(OmO 5.1.22) Recording Spawn Admission"
24
24
  }
25
25
  ]
26
26
  }
@@ -33,7 +33,7 @@
33
33
  "type": "command",
34
34
  "command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook pre-tool-use",
35
35
  "timeout": 5,
36
- "statusMessage": "(OmO 5.1.19) Enforcing Unlimited Ulw-Loop Budget"
36
+ "statusMessage": "(OmO 5.1.22) Enforcing Unlimited Ulw-Loop Budget"
37
37
  }
38
38
  ]
39
39
  },
@@ -44,7 +44,7 @@
44
44
  "type": "command",
45
45
  "command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook pre-tool-use-spawn",
46
46
  "timeout": 5,
47
- "statusMessage": "(OmO 5.1.19) Guarding Ulw-Loop Spawns"
47
+ "statusMessage": "(OmO 5.1.22) Guarding Ulw-Loop Spawns"
48
48
  }
49
49
  ]
50
50
  }
@@ -56,7 +56,7 @@
56
56
  "type": "command",
57
57
  "command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook stop",
58
58
  "timeout": 10,
59
- "statusMessage": "(OmO 5.1.19) Checking Ulw-Loop Resume"
59
+ "statusMessage": "(OmO 5.1.22) Checking Ulw-Loop Resume"
60
60
  }
61
61
  ]
62
62
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@code-yeongyu/codex-ulw-loop",
3
- "version": "5.1.19",
3
+ "version": "5.1.22",
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",
@@ -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.1.19) Resetting Git Bash MCP Reminder",
10
+ "statusMessage": "(OmO 5.1.22) 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
  ],