oh-my-opencode 5.0.0-beta.4 → 5.0.0-beta.6

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 (86) hide show
  1. package/dist/cli/index.js +496 -377
  2. package/dist/cli-node/index.js +496 -377
  3. package/dist/index.js +1136 -1104
  4. package/dist/skills/coding-agent-sessions/SKILL.md +3 -2
  5. package/dist/skills/coding-agent-sessions/references/all-platforms.md +1 -1
  6. package/dist/skills/coding-agent-sessions/references/senpi.md +4 -4
  7. package/dist/skills/coding-agent-sessions/scripts/agent_sessions/pi_family.py +1 -1
  8. package/dist/tui.js +20 -1
  9. package/package.json +15 -14
  10. package/packages/lsp-core/src/lsp/client-wrapper.test.ts +60 -7
  11. package/packages/lsp-core/src/lsp/client-wrapper.ts +69 -16
  12. package/packages/lsp-core/src/lsp/workspace-edit-adversarial.test.ts +20 -1
  13. package/packages/lsp-core/src/tools/diagnostics.ts +3 -3
  14. package/packages/lsp-core/src/tools/navigation.ts +4 -2
  15. package/packages/lsp-core/src/tools/rename.ts +4 -2
  16. package/packages/lsp-core/src/tools/symbols.ts +1 -1
  17. package/packages/lsp-daemon/dist/cli.js +83 -29
  18. package/packages/lsp-daemon/dist/client.js +76 -22
  19. package/packages/lsp-daemon/dist/index.js +81 -27
  20. package/packages/lsp-tools-mcp/dist/cli.js +76 -22
  21. package/packages/lsp-tools-mcp/dist/mcp.js +76 -22
  22. package/packages/lsp-tools-mcp/dist/tools.js +76 -22
  23. package/packages/omo-codex/plugin/.codex-plugin/plugin.json +1 -1
  24. package/packages/omo-codex/plugin/components/bootstrap/hooks/hooks.json +1 -1
  25. package/packages/omo-codex/plugin/components/bootstrap/package.json +1 -1
  26. package/packages/omo-codex/plugin/components/codegraph/dist/cli.js +14 -1
  27. package/packages/omo-codex/plugin/components/codegraph/dist/serve.js +14 -1
  28. package/packages/omo-codex/plugin/components/codegraph/package.json +1 -1
  29. package/packages/omo-codex/plugin/components/comment-checker/hooks/hooks.json +1 -1
  30. package/packages/omo-codex/plugin/components/comment-checker/package.json +1 -1
  31. package/packages/omo-codex/plugin/components/git-bash/hooks/hooks.json +2 -2
  32. package/packages/omo-codex/plugin/components/git-bash/package.json +1 -1
  33. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/hooks/hooks.json +1 -1
  34. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/package.json +1 -1
  35. package/packages/omo-codex/plugin/components/lsp/dist/.omo-runtime-manifest.json +3 -3
  36. package/packages/omo-codex/plugin/components/lsp/dist/cli.js +83 -29
  37. package/packages/omo-codex/plugin/components/lsp/hooks/hooks.json +2 -2
  38. package/packages/omo-codex/plugin/components/lsp/package.json +1 -1
  39. package/packages/omo-codex/plugin/components/rules/hooks/hooks.json +4 -4
  40. package/packages/omo-codex/plugin/components/rules/package.json +1 -1
  41. package/packages/omo-codex/plugin/components/start-work-continuation/hooks/hooks.json +2 -2
  42. package/packages/omo-codex/plugin/components/start-work-continuation/package.json +1 -1
  43. package/packages/omo-codex/plugin/components/teammode/hooks/hooks.json +1 -1
  44. package/packages/omo-codex/plugin/components/teammode/package.json +1 -1
  45. package/packages/omo-codex/plugin/components/telemetry/dist/cli.js +24 -12
  46. package/packages/omo-codex/plugin/components/telemetry/dist/posthog.js +24 -12
  47. package/packages/omo-codex/plugin/components/telemetry/hooks/hooks.json +1 -1
  48. package/packages/omo-codex/plugin/components/telemetry/package.json +1 -1
  49. package/packages/omo-codex/plugin/components/ultrawork/hooks/hooks.json +1 -1
  50. package/packages/omo-codex/plugin/components/ultrawork/package.json +1 -1
  51. package/packages/omo-codex/plugin/components/ulw-loop/hooks/hooks.json +4 -4
  52. package/packages/omo-codex/plugin/components/ulw-loop/package.json +1 -1
  53. package/packages/omo-codex/plugin/hooks/post-compact-resetting-git-bash-mcp-reminder.json +1 -1
  54. package/packages/omo-codex/plugin/hooks/post-compact-resetting-lsp-diagnostics-cache.json +1 -1
  55. package/packages/omo-codex/plugin/hooks/post-compact-resetting-project-rule-cache.json +1 -1
  56. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-codegraph-init-guidance.json +1 -1
  57. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-comments.json +1 -1
  58. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-lsp-diagnostics.json +1 -1
  59. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-thread-title-hygiene.json +1 -1
  60. package/packages/omo-codex/plugin/hooks/post-tool-use-matching-project-rules.json +1 -1
  61. package/packages/omo-codex/plugin/hooks/pre-tool-use-enforcing-unlimited-goal-budget.json +1 -1
  62. package/packages/omo-codex/plugin/hooks/pre-tool-use-guarding-ulw-loop-spawns.json +1 -1
  63. package/packages/omo-codex/plugin/hooks/pre-tool-use-recommending-git-bash-mcp.json +1 -1
  64. package/packages/omo-codex/plugin/hooks/session-start-checking-auto-update.json +1 -1
  65. package/packages/omo-codex/plugin/hooks/session-start-checking-bootstrap-provisioning.json +1 -1
  66. package/packages/omo-codex/plugin/hooks/session-start-checking-codegraph-bootstrap.json +1 -1
  67. package/packages/omo-codex/plugin/hooks/session-start-loading-project-rules.json +1 -1
  68. package/packages/omo-codex/plugin/hooks/session-start-recording-session-telemetry.json +1 -1
  69. package/packages/omo-codex/plugin/hooks/stop-checking-start-work-continuation.json +1 -1
  70. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-loop-resume.json +1 -1
  71. package/packages/omo-codex/plugin/hooks/subagent-stop-checking-start-work-continuation.json +1 -1
  72. package/packages/omo-codex/plugin/hooks/subagent-stop-verifying-lazycodex-executor-evidence.json +1 -1
  73. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ultrawork-trigger.json +1 -1
  74. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ulw-loop-steering.json +1 -1
  75. package/packages/omo-codex/plugin/hooks/user-prompt-submit-loading-project-rules.json +1 -1
  76. package/packages/omo-codex/plugin/package-lock.json +13 -13
  77. package/packages/omo-codex/plugin/package.json +1 -1
  78. package/packages/omo-codex/plugin/skills/coding-agent-sessions/SKILL.md +3 -2
  79. package/packages/omo-codex/plugin/skills/coding-agent-sessions/references/all-platforms.md +1 -1
  80. package/packages/omo-codex/plugin/skills/coding-agent-sessions/references/senpi.md +4 -4
  81. package/packages/omo-codex/plugin/skills/coding-agent-sessions/scripts/agent_sessions/pi_family.py +1 -1
  82. package/packages/omo-codex/scripts/install-dist/install-local.mjs +39 -16
  83. package/packages/shared-skills/skills/coding-agent-sessions/SKILL.md +3 -2
  84. package/packages/shared-skills/skills/coding-agent-sessions/references/all-platforms.md +1 -1
  85. package/packages/shared-skills/skills/coding-agent-sessions/references/senpi.md +4 -4
  86. package/packages/shared-skills/skills/coding-agent-sessions/scripts/agent_sessions/pi_family.py +1 -1
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- // omo-codex-install:7bc4b0f020f0a1b4448cc75385a7e3c60042e3b270e304d4c1a43a859e81a4c2:54c5deff141c27a06766aaabd5a31e397f1e7f83da9ca85613b703c972c36b8f
2
+ // omo-codex-install:7bc4b0f020f0a1b4448cc75385a7e3c60042e3b270e304d4c1a43a859e81a4c2:9893df521102f2aae34e0951a4e477c0bde46e78392d22fc33c84108921cfdcf
3
3
  var __defProp = Object.defineProperty;
4
4
  var __returnValue = (v) => v;
5
5
  function __exportSetter(name, newValue) {
@@ -177,7 +177,7 @@ var init_activity_state = __esm(() => {
177
177
  });
178
178
 
179
179
  // packages/telemetry-core/src/constants.ts
180
- var DEFAULT_POSTHOG_HOST = "https://us.i.posthog.com", DEFAULT_POSTHOG_API_KEY = "phc_CFJhj5HyvA62QPhvyaUCtaq23aUfznnijg5VaaGkNk74";
180
+ var DEFAULT_POSTHOG_HOST = "https://us.i.posthog.com", DEFAULT_POSTHOG_API_KEY = "phc_CFJhj5HyvA62QPhvyaUCtaq23aUfznnijg5VaaGkNk74", UNCONFIGURED_POSTHOG_API_KEY = "phc_REPLACE_ME_OMO_NATIVE";
181
181
 
182
182
  // packages/telemetry-core/src/diagnostics.ts
183
183
  import { appendFileSync, existsSync as existsSync6, mkdirSync as mkdirSync3, readFileSync as readFileSync3 } from "node:fs";
@@ -315,6 +315,9 @@ function shouldDisableTelemetry(input) {
315
315
  const env = input.env ?? process.env;
316
316
  const globalPrefix = input.globalEnvPrefix ?? "OMO";
317
317
  const prefixes = Array.from(new Set([globalPrefix, input.productEnvPrefix]));
318
+ if (isDisableFlag(env["DO_NOT_TRACK"])) {
319
+ return true;
320
+ }
318
321
  for (const prefix of prefixes) {
319
322
  if (isDisableFlag(env[`${prefix}_DISABLE_POSTHOG`])) {
320
323
  return true;
@@ -328,6 +331,13 @@ function shouldDisableTelemetry(input) {
328
331
  function getTelemetryApiKey(env = process.env, defaultApiKey = DEFAULT_POSTHOG_API_KEY) {
329
332
  return env["POSTHOG_API_KEY"]?.trim() ?? defaultApiKey;
330
333
  }
334
+ function isConfiguredTelemetryApiKey(apiKey) {
335
+ const normalized = apiKey.trim();
336
+ return normalized.length > 0 && normalized !== UNCONFIGURED_POSTHOG_API_KEY;
337
+ }
338
+ function hasTelemetryApiKey(env, defaultApiKey) {
339
+ return isConfiguredTelemetryApiKey(getTelemetryApiKey(env, defaultApiKey));
340
+ }
331
341
  function getTelemetryHost(env = process.env, defaultHost = DEFAULT_POSTHOG_HOST) {
332
342
  return env["POSTHOG_HOST"]?.trim() || defaultHost;
333
343
  }
@@ -337,17 +347,6 @@ var init_env = __esm(() => {
337
347
  SEND_OPT_OUT_VALUES = ["0", "false", "no", "yes"];
338
348
  });
339
349
 
340
- // packages/telemetry-core/src/machine-id.ts
341
- import { createHash as createHash3 } from "node:crypto";
342
- import os2 from "node:os";
343
- function getDefaultTelemetryOsProvider() {
344
- return os2;
345
- }
346
- function getTelemetryDistinctId(machineIdPrefix, osProvider = getDefaultTelemetryOsProvider()) {
347
- return createHash3("sha256").update(`${machineIdPrefix}${osProvider.hostname()}`).digest("hex");
348
- }
349
- var init_machine_id = () => {};
350
-
351
350
  // node_modules/.bun/posthog-node@5.35.12/node_modules/posthog-node/dist/extensions/error-tracking/modifiers/module.node.mjs
352
351
  import { dirname as dirname10, posix as posix2, sep as sep7 } from "node:path";
353
352
  function createModulerModifier() {
@@ -5722,6 +5721,17 @@ var init_index_node = __esm(() => {
5722
5721
  };
5723
5722
  });
5724
5723
 
5724
+ // packages/telemetry-core/src/machine-id.ts
5725
+ import { createHash as createHash3 } from "node:crypto";
5726
+ import os2 from "node:os";
5727
+ function getDefaultTelemetryOsProvider() {
5728
+ return os2;
5729
+ }
5730
+ function getTelemetryDistinctId(machineIdPrefix, osProvider = getDefaultTelemetryOsProvider()) {
5731
+ return createHash3("sha256").update(`${machineIdPrefix}${osProvider.hostname()}`).digest("hex");
5732
+ }
5733
+ var init_machine_id = () => {};
5734
+
5725
5735
  // packages/telemetry-core/src/posthog-client.ts
5726
5736
  class PostHogTelemetryTransport {
5727
5737
  #client;
@@ -5743,7 +5753,7 @@ function createDefaultPostHogTransport(apiKey, options) {
5743
5753
  }
5744
5754
  function isTelemetryClientEnabled(input) {
5745
5755
  const env = input.env ?? process.env;
5746
- return !shouldDisableTelemetry({ env, productEnvPrefix: input.product.productEnvPrefix }) && getTelemetryApiKey(env, input.product.defaultApiKey).length > 0;
5756
+ return !shouldDisableTelemetry({ env, productEnvPrefix: input.product.productEnvPrefix }) && hasTelemetryApiKey(env, input.product.defaultApiKey);
5747
5757
  }
5748
5758
  function createTelemetryClient(input) {
5749
5759
  if (!isTelemetryClientEnabled(input)) {
@@ -5809,7 +5819,8 @@ function createTransport(input) {
5809
5819
  flushAt: 1,
5810
5820
  flushInterval: 0,
5811
5821
  host: getTelemetryHost(env, input.product.defaultHost),
5812
- disableGeoip: false
5822
+ disableGeoip: input.product.disableGeoip ?? false,
5823
+ ...input.product.transportOptions
5813
5824
  });
5814
5825
  } catch (error) {
5815
5826
  input.diagnostics?.({
@@ -5886,6 +5897,17 @@ var init_posthog_client = __esm(() => {
5886
5897
  };
5887
5898
  });
5888
5899
 
5900
+ // packages/telemetry-core/src/events.ts
5901
+ var ALLOWED_DOLLAR_KEYS;
5902
+ var init_events = __esm(() => {
5903
+ ALLOWED_DOLLAR_KEYS = new Set([
5904
+ "$os",
5905
+ "$os_version",
5906
+ "$process_person_profile",
5907
+ "$session_id"
5908
+ ]);
5909
+ });
5910
+
5889
5911
  // packages/telemetry-core/src/record-daily-active.ts
5890
5912
  var init_record_daily_active = () => {};
5891
5913
 
@@ -5894,6 +5916,7 @@ var init_src = __esm(() => {
5894
5916
  init_activity_state();
5895
5917
  init_diagnostics();
5896
5918
  init_env();
5919
+ init_events();
5897
5920
  init_machine_id();
5898
5921
  init_posthog_client();
5899
5922
  init_record_daily_active();
@@ -5904,7 +5927,7 @@ var package_default;
5904
5927
  var init_package = __esm(() => {
5905
5928
  package_default = {
5906
5929
  name: "@oh-my-opencode/omo-codex",
5907
- version: "5.0.0-beta.4",
5930
+ version: "5.0.0-beta.6",
5908
5931
  type: "module",
5909
5932
  private: true,
5910
5933
  description: "Codex harness adapter for oh-my-openagent. Vendored Codex plugin namespace (omo) + TypeScript installer + telemetry.",
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: coding-agent-sessions
3
- description: "MUST USE when asked to find, read, list, search, inspect, fetch, export, or reconstruct coding-agent sessions across Codex, Claude Code/Desktop, OpenCode, Senpi/pi, oh-my-pi (omp), gajae-code (gjc), OpenClaw, Factory Droid, Amp, Gemini/Kimi/Qwen CLIs, Codebuff, Roo/Kilo/Cline, Kodu, Cursor CLI, Aider, Aside browser-agent sessions, or unknown local agent logs. Covers transcripts, session IDs, rollout JSONL, state SQLite, Claude projects/pre-compact histories, OpenCode messages/parts, child/subagent linkage, cwd/model/time/token filters, archives, and cost clues. Expands fuzzy recall into parallel query lanes and first probes known stores so absent platforms are skipped cheaply. Triggers: coding agent sessions, Codex/Claude/OpenCode/Senpi/pi/oh-my-pi/omp/gajae-code/gjc/OpenClaw/Droid/Amp/Kodu/Cursor/Aider/Aside sessions, transcript search, session history, session ID, read transcript, token usage, subagent sessions, what did I do yesterday, did we already do this."
3
+ description: "MUST USE when asked to find, read, list, search, inspect, fetch, export, or reconstruct coding-agent sessions across Codex, Claude Code/Desktop, OpenCode, OMO/Senpi/pi, oh-my-pi (omp), gajae-code (gjc), OpenClaw, Factory Droid, Amp, Gemini/Kimi/Qwen CLIs, Codebuff, Roo/Kilo/Cline, Kodu, Cursor CLI, Aider, Aside browser-agent sessions, or unknown local agent logs. Covers transcripts, session IDs, rollout JSONL, state SQLite, Claude projects/pre-compact histories, OpenCode messages/parts, child/subagent linkage, cwd/model/time/token filters, archives, and cost clues. Expands fuzzy recall into parallel query lanes and first probes known stores so absent platforms are skipped cheaply. Triggers: coding agent sessions, Codex/Claude/OpenCode/OMO/Senpi/pi/oh-my-pi/omp/gajae-code/gjc/OpenClaw/Droid/Amp/Kodu/Cursor/Aider/Aside sessions, transcript search, session history, session ID, read transcript, token usage, subagent sessions, what did I do yesterday, did we already do this."
4
4
  ---
5
5
 
6
6
  # Coding Agent Sessions
@@ -15,7 +15,7 @@ Find local coding-agent sessions across agent products before answering from mem
15
15
  |---|---|
16
16
  | Codex / OpenAI Codex CLI | `references/codex.md` |
17
17
  | Claude Code / Claude Desktop histories | `references/claude.md` |
18
- | Senpi / pi coding-agent logs | `references/senpi.md` |
18
+ | OMO / Senpi / pi coding-agent logs | `references/senpi.md` |
19
19
  | oh-my-pi (`omp`, `~/.omp`) and gajae-code (`gjc`, `~/.gjc`) logs | `references/senpi.md` |
20
20
  | OpenCode / oh-my-openagent (formerly oh-my-opencode) storage | `references/opencode.md` |
21
21
  | OpenClaw, Droid, Amp, Gemini, Kimi, Qwen, Codebuff, Roo/Kilo/Cline, Kodu, Cursor CLI, Aider, Kiro, Goose, Hermes, Crush, Zed, Aside | `references/all-platforms.md` |
@@ -120,6 +120,7 @@ Use `references/codex.md` for Codex storage details.
120
120
  |---|---|
121
121
  | Missing Codex sessions | Set `CODEX_HOME` or pass `--root /path/to/.codex`. |
122
122
  | Missing oh-my-pi / gajae-code sessions | Those stores live in `~/.omp/agent/sessions` and `~/.gjc/agent/sessions`. For a custom `PI_CONFIG_DIR` / `PI_CODING_AGENT_DIR`, pass that agent dir with `--root`. |
123
+ | Missing OMO / Senpi sessions | The `senpi` platform searches `~/.omo/agent/sessions`, `~/.senpi/agent/sessions`, and `~/.pi/agent/sessions` (plus matching profile roots). Pass a nonstandard agent directory with `--root`. |
123
124
  | Missing OpenCode sessions | Pass the data dir that contains `messages/` and `parts/`, often `~/.opencode` or `~/.local/share/opencode`. |
124
125
  | Missing Claude sessions | Search `~/.claude/projects`, `~/.claude/transcripts`, and `~/.claude/pre-compact-session-histories`; use `--root` for nonstandard config dirs. |
125
126
  | Missing Aside sessions | The Aside browser agent stores per-user data under `~/.aside/u/<n>/` (`sessions/<date>_<id>/messages.jsonl` transcripts + a `state.db` index; `agents/*/sessions/` is just a hardlink mirror). Pass `--root` for a nonstandard `.aside` dir or an exported user dir. |
@@ -10,7 +10,7 @@ Registered platform keys: `codex`, `claude`, `senpi`, `oh-my-pi`, `gajae-code`,
10
10
  |---|---|---|
11
11
  | Codex | `$CODEX_HOME`, `~/.codex` | `%CODEX_HOME%`, `%USERPROFILE%\.codex` |
12
12
  | Claude | `~/.claude` | `%USERPROFILE%\.claude`, `%APPDATA%\Claude` |
13
- | Senpi / pi | `~/.senpi/agent`, `~/.pi/agent` | `%USERPROFILE%\.senpi\agent`, `%USERPROFILE%\.pi\agent` |
13
+ | OMO / Senpi / pi | `~/.omo/agent`, `~/.senpi/agent`, `~/.pi/agent` | `%USERPROFILE%\.omo\agent`, `%USERPROFILE%\.senpi\agent`, `%USERPROFILE%\.pi\agent` |
14
14
  | oh-my-pi (`omp`) | `~/.omp/agent`, `~/.omp/profiles/*/agent`, `$XDG_DATA_HOME/omp` | `%USERPROFILE%\.omp\agent` |
15
15
  | gajae-code (`gjc`) | `~/.gjc/agent`, `~/.gjc/profiles/*/agent`, `$XDG_DATA_HOME/gjc` | `%USERPROFILE%\.gjc\agent` |
16
16
  | OpenCode | `$OPENCODE_HOME`, `~/.opencode`, `~/.local/share/opencode` | `%OPENCODE_HOME%`, `%APPDATA%\opencode`, `%USERPROFILE%\.opencode` |
@@ -1,10 +1,10 @@
1
- # Senpi / pi Family Coding-Agent Sessions
1
+ # OMO / Senpi / pi Family Coding-Agent Sessions
2
2
 
3
- The pi family (Senpi, oh-my-pi, gajae-code) shares one session format, so one scanner serves all three under separate platform keys.
3
+ The pi family (OMO/Senpi, oh-my-pi, gajae-code) shares one session format, so one scanner serves all three under separate platform keys.
4
4
 
5
5
  | Platform key | Aliases | Config root | Sessions |
6
6
  |---|---|---|---|
7
- | `senpi` | - | `~/.senpi`, `~/.pi` | `<root>/agent/sessions/<encoded-cwd>/<timestamp>_<uuid>.jsonl` |
7
+ | `senpi` | - | `~/.omo`, `~/.senpi`, `~/.pi` | `<root>/agent/sessions/<encoded-cwd>/<timestamp>_<uuid>.jsonl` |
8
8
  | `oh-my-pi` | `omp`, `ohmypi` | `~/.omp` | `~/.omp/agent/sessions/<encoded-cwd>/<timestamp>_<uuid>.jsonl` |
9
9
  | `gajae-code` | `gjc`, `gajae` | `~/.gjc` | `~/.gjc/agent/sessions/<encoded-cwd>/<timestamp>_<uuid>.jsonl` |
10
10
 
@@ -14,7 +14,7 @@ Extra roots scanned for every pi-family platform:
14
14
  - XDG stores (macOS/Linux, default profile): `$XDG_DATA_HOME/<app>/sessions/**` and `$XDG_DATA_HOME/<app>/profiles/<profile>/sessions/**`, where `<app>` is `senpi`, `omp`, or `gjc`. XDG flattens the `agent/` path segment.
15
15
  - A custom `PI_CONFIG_DIR` / `PI_CODING_AGENT_DIR` / `GJC_CONFIG_DIR` store: pass that agent directory with `--root`.
16
16
 
17
- `~/.senpi/agent/settings.json`, `models.json`, and `auth.json` provide environment context; oh-my-pi and gajae-code keep the same files plus `config.yml` and `models.yml` next to their sessions directory.
17
+ `~/.omo/agent` and `~/.senpi/agent` are the current and legacy OMO/Senpi stores. Their `settings.json`, `models.json`, and `auth.json` files provide environment context; oh-my-pi and gajae-code keep the same files plus `config.yml` and `models.yml` next to their sessions directory.
18
18
 
19
19
  Common event types:
20
20
 
@@ -5,7 +5,7 @@ from pathlib import Path
5
5
  from .transcript import env_path, existing, jsonl_parallel, recent, stem_id
6
6
  from .types import Session
7
7
 
8
- SENPI_CONFIG_DIRS = (".senpi", ".pi")
8
+ SENPI_CONFIG_DIRS = (".omo", ".senpi", ".pi")
9
9
  OH_MY_PI_CONFIG_DIRS = (".omp",)
10
10
  GAJAE_CODE_CONFIG_DIRS = (".gjc",)
11
11