jeopi-cli 16.2.13 → 16.2.15

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 (182) hide show
  1. package/CHANGELOG.md +21 -3
  2. package/README.md +1 -1
  3. package/dist/cli.js +3087 -3060
  4. package/dist/types/advisor/watchdog.d.ts +2 -2
  5. package/dist/types/autolearn/managed-skills.d.ts +2 -2
  6. package/dist/types/capability/types.d.ts +2 -2
  7. package/dist/types/cli/commands/migrate-legacy.d.ts +1 -0
  8. package/dist/types/cli/config-cli.d.ts +1 -1
  9. package/dist/types/cli/flag-tables.d.ts +1 -1
  10. package/dist/types/cli/grievances-cli.d.ts +1 -1
  11. package/dist/types/cli/models-cli.d.ts +1 -1
  12. package/dist/types/cli/update-cli.d.ts +2 -2
  13. package/dist/types/cli/worktree-cli.d.ts +1 -1
  14. package/dist/types/commit/index.d.ts +1 -1
  15. package/dist/types/commit/pipeline.d.ts +1 -1
  16. package/dist/types/commit/types.d.ts +1 -1
  17. package/dist/types/config/prompt-templates.d.ts +1 -1
  18. package/dist/types/config/settings-schema.d.ts +16 -6
  19. package/dist/types/config.d.ts +7 -7
  20. package/dist/types/discovery/helpers.d.ts +8 -8
  21. package/dist/types/discovery/omp-extension-roots.d.ts +2 -2
  22. package/dist/types/eval/py/runtime.d.ts +1 -1
  23. package/dist/types/extensibility/custom-tools/loader.d.ts +2 -2
  24. package/dist/types/extensibility/extensions/loader.d.ts +1 -1
  25. package/dist/types/extensibility/hooks/loader.d.ts +1 -1
  26. package/dist/types/extensibility/plugins/loader.d.ts +2 -2
  27. package/dist/types/extensibility/plugins/types.d.ts +13 -3
  28. package/dist/types/lsp/config.d.ts +2 -2
  29. package/dist/types/mcp/client.d.ts +1 -1
  30. package/dist/types/mcp/config-writer.d.ts +1 -1
  31. package/dist/types/mcp/oauth-flow.d.ts +1 -1
  32. package/dist/types/mcp/transports/http.d.ts +1 -1
  33. package/dist/types/memories/okf.d.ts +36 -0
  34. package/dist/types/modes/components/__tests__/assistant-agent-label.test.d.ts +1 -0
  35. package/dist/types/modes/components/assistant-message.d.ts +4 -0
  36. package/dist/types/modes/interactive-mode.d.ts +1 -1
  37. package/dist/types/sdk.d.ts +5 -5
  38. package/dist/types/session/agent-session.d.ts +3 -0
  39. package/dist/types/session/auth-broker-config.d.ts +4 -4
  40. package/dist/types/session/snapcompact-savings-journal.d.ts +1 -1
  41. package/dist/types/task/commands.d.ts +1 -1
  42. package/dist/types/task/critic-gate.d.ts +76 -0
  43. package/dist/types/task/critic-gate.test.d.ts +1 -0
  44. package/dist/types/task/discovery.d.ts +1 -1
  45. package/dist/types/task/executor.d.ts +1 -1
  46. package/dist/types/tools/acp-bridge.d.ts +2 -2
  47. package/dist/types/tools/browser/tab-protocol.d.ts +1 -1
  48. package/dist/types/tools/index.d.ts +6 -1
  49. package/dist/types/tools/plan-mode-guard.d.ts +8 -0
  50. package/dist/types/tools/report-tool-issue.d.ts +1 -1
  51. package/dist/types/utils/changelog.d.ts +2 -2
  52. package/dist/types/utils/image-loading.d.ts +4 -4
  53. package/dist/types/utils/image-resize.d.ts +1 -1
  54. package/dist/types/web/search/index.d.ts +1 -1
  55. package/examples/custom-tools/README.md +1 -1
  56. package/examples/extensions/README.md +1 -1
  57. package/examples/extensions/pirate.ts +1 -1
  58. package/examples/extensions/plan-mode.ts +1 -1
  59. package/examples/extensions/tools.ts +1 -1
  60. package/examples/hooks/README.md +1 -1
  61. package/examples/sdk/01-minimal.ts +1 -1
  62. package/examples/sdk/04-skills.ts +1 -1
  63. package/examples/sdk/06-extensions.ts +3 -3
  64. package/examples/sdk/09-api-keys-and-oauth.ts +2 -2
  65. package/examples/sdk/12-redis-sessions.ts +1 -1
  66. package/examples/sdk/13-sql-sessions.ts +1 -1
  67. package/examples/sdk/README.md +1 -1
  68. package/package.json +12 -12
  69. package/scripts/jeopi +1 -1
  70. package/src/advisor/__tests__/config.test.ts +4 -4
  71. package/src/advisor/watchdog.ts +8 -8
  72. package/src/autolearn/managed-skills.ts +4 -4
  73. package/src/autoresearch/storage.ts +2 -2
  74. package/src/capability/types.ts +2 -2
  75. package/src/cli/agents-cli.ts +2 -2
  76. package/src/cli/args.ts +3 -3
  77. package/src/cli/auth-broker-cli.ts +5 -5
  78. package/src/cli/auth-gateway-cli.ts +4 -4
  79. package/src/cli/claude-trace-cli.ts +1 -1
  80. package/src/cli/commands/migrate-legacy.ts +24 -0
  81. package/src/cli/config-cli.ts +20 -5
  82. package/src/cli/flag-tables.ts +1 -1
  83. package/src/cli/gallery-fixtures/misc.ts +7 -7
  84. package/src/cli/gallery-screenshot.ts +2 -2
  85. package/src/cli/grievances-cli.ts +1 -1
  86. package/src/cli/models-cli.ts +1 -1
  87. package/src/cli/plugin-cli.ts +2 -2
  88. package/src/cli/profile-alias.ts +8 -8
  89. package/src/cli/read-cli.ts +1 -1
  90. package/src/cli/ssh-cli.ts +2 -2
  91. package/src/cli/update-cli.ts +27 -27
  92. package/src/cli/worktree-cli.ts +3 -3
  93. package/src/cli.ts +5 -5
  94. package/src/commands/agents.ts +2 -2
  95. package/src/commands/auth-broker.ts +1 -1
  96. package/src/commands/config.ts +1 -1
  97. package/src/commands/dry-balance.ts +6 -6
  98. package/src/commands/launch.ts +2 -2
  99. package/src/commands/models.ts +1 -1
  100. package/src/commands/say.ts +1 -1
  101. package/src/commands/token.ts +5 -5
  102. package/src/commands/ttsr.ts +2 -2
  103. package/src/commands/worktree.ts +3 -3
  104. package/src/commit/agentic/prompts/system.md +1 -1
  105. package/src/commit/cli.ts +1 -1
  106. package/src/commit/index.ts +1 -1
  107. package/src/commit/pipeline.ts +1 -1
  108. package/src/commit/types.ts +1 -1
  109. package/src/config/mcp-schema.json +5 -5
  110. package/src/config/models-config-schema.ts +1 -1
  111. package/src/config/prompt-templates.ts +2 -2
  112. package/src/config/settings-schema.ts +20 -8
  113. package/src/config/settings.ts +1 -1
  114. package/src/config.ts +10 -10
  115. package/src/dap/session.ts +2 -2
  116. package/src/debug/protocol-probe.ts +1 -1
  117. package/src/debug/raw-sse-buffer.ts +3 -3
  118. package/src/debug/raw-sse.ts +2 -2
  119. package/src/discovery/builtin.ts +9 -9
  120. package/src/discovery/helpers.ts +13 -13
  121. package/src/discovery/omp-extension-roots.ts +4 -4
  122. package/src/discovery/omp-plugins.ts +2 -2
  123. package/src/discovery/substitute-plugin-root.ts +3 -3
  124. package/src/eval/py/runtime.ts +1 -1
  125. package/src/eval/rb/runner.rb +6 -6
  126. package/src/export/custom-share.ts +1 -1
  127. package/src/extensibility/custom-tools/loader.ts +3 -3
  128. package/src/extensibility/extensions/loader.ts +4 -4
  129. package/src/extensibility/hooks/loader.ts +1 -1
  130. package/src/extensibility/plugins/loader.ts +16 -10
  131. package/src/extensibility/plugins/manager.ts +10 -9
  132. package/src/extensibility/plugins/types.ts +15 -4
  133. package/src/internal-urls/docs-index.generated.txt +1 -1
  134. package/src/lsp/config.ts +4 -4
  135. package/src/lsp/index.ts +1 -1
  136. package/src/main.ts +1 -1
  137. package/src/mcp/client.ts +1 -1
  138. package/src/mcp/config-writer.ts +2 -2
  139. package/src/mcp/manager.ts +1 -1
  140. package/src/mcp/oauth-flow.ts +1 -1
  141. package/src/mcp/timeout.ts +2 -2
  142. package/src/mcp/transports/http.ts +1 -1
  143. package/src/memories/index.ts +82 -11
  144. package/src/memories/okf.ts +129 -0
  145. package/src/modes/components/__tests__/assistant-agent-label.test.ts +87 -0
  146. package/src/modes/components/assistant-message.ts +27 -0
  147. package/src/modes/components/extensions/extension-dashboard.ts +1 -1
  148. package/src/modes/controllers/mcp-command-controller.ts +2 -2
  149. package/src/modes/controllers/omfg-controller.ts +2 -2
  150. package/src/modes/controllers/ssh-command-controller.ts +2 -2
  151. package/src/modes/interactive-mode.ts +3 -1
  152. package/src/modes/setup-wizard/index.ts +1 -1
  153. package/src/prompts/agents/jeo.md +20 -10
  154. package/src/prompts/system/autolearn-guidance.md +2 -2
  155. package/src/prompts/system/system-prompt.md +10 -1
  156. package/src/prompts/tools/learn.md +1 -1
  157. package/src/prompts/tools/manage-skill.md +1 -1
  158. package/src/sdk.ts +8 -6
  159. package/src/secrets/index.ts +2 -2
  160. package/src/session/agent-session.ts +86 -6
  161. package/src/session/auth-broker-config.ts +6 -6
  162. package/src/session/snapcompact-savings-journal.ts +1 -1
  163. package/src/slash-commands/helpers/mcp.ts +1 -1
  164. package/src/system-prompt.test.ts +14 -14
  165. package/src/task/commands.ts +1 -1
  166. package/src/task/critic-gate.test.ts +181 -0
  167. package/src/task/critic-gate.ts +148 -0
  168. package/src/task/discovery.ts +5 -5
  169. package/src/task/executor.ts +1 -1
  170. package/src/task/index.ts +35 -2
  171. package/src/tools/acp-bridge.ts +2 -2
  172. package/src/tools/browser/launch.ts +1 -1
  173. package/src/tools/browser/tab-protocol.ts +1 -1
  174. package/src/tools/grep.ts +2 -2
  175. package/src/tools/index.ts +6 -1
  176. package/src/tools/plan-mode-guard.ts +16 -0
  177. package/src/tools/read.ts +1 -1
  178. package/src/tools/report-tool-issue.ts +2 -2
  179. package/src/utils/changelog.ts +2 -2
  180. package/src/utils/image-loading.ts +4 -4
  181. package/src/utils/image-resize.ts +5 -5
  182. package/src/web/search/index.ts +1 -1
@@ -24,7 +24,7 @@ export interface ConfigCandidate {
24
24
  /**
25
25
  * Walk the watchdog/advisor config search path — the user agent dir plus every
26
26
  * directory from `cwd` up to the repo root (or home), probing both `<F>` and
27
- * `.omp/<F>` for each given filename — and return the readable candidates with
27
+ * `.jeopi/<F>` for each given filename — and return the readable candidates with
28
28
  * their raw content, sorted user-first then project ancestor→leaf (depth
29
29
  * descending, so the leaf directory is most specific/last). Shared by
30
30
  * {@link discoverWatchdogFiles} and `discoverAdvisorConfigs`. Content is returned
@@ -32,7 +32,7 @@ export interface ConfigCandidate {
32
32
  */
33
33
  export declare function collectConfigCandidates(cwd: string, agentDir: string | undefined, filenames: string[]): Promise<ConfigCandidate[]>;
34
34
  /**
35
- * Discover and load WATCHDOG.md files walking up from cwd, project .omp folder, and user agent dir.
35
+ * Discover and load WATCHDOG.md files walking up from cwd, project .jeopi folder, and user agent dir.
36
36
  * Returns formatted watchdog file blocks ready to be appended to the advisor system prompt.
37
37
  */
38
38
  export declare function discoverWatchdogFiles(cwd: string, agentDir?: string): Promise<string[]>;
@@ -1,8 +1,8 @@
1
1
  /** Provider id stamped on discovered managed skills (distinguishes them from authored). */
2
- export declare const MANAGED_SKILLS_PROVIDER_ID = "omp-managed";
2
+ export declare const MANAGED_SKILLS_PROVIDER_ID = "jeopi-managed";
3
3
  /** Hard cap on a managed SKILL.md body to keep generated skills bounded. */
4
4
  export declare const MAX_MANAGED_SKILL_BYTES = 64000;
5
- /** Resolve the isolated managed-skills directory (`~/.omp/agent/managed-skills`). */
5
+ /** Resolve the isolated managed-skills directory (`~/.jeopi/agent/managed-skills`). */
6
6
  export declare function getManagedSkillsDir(agentDir?: string): string;
7
7
  /**
8
8
  * Validate + normalize a managed-skill name. Throws on anything outside the
@@ -28,7 +28,7 @@ export interface LoadResult<T> {
28
28
  * A provider that can load items for a capability.
29
29
  */
30
30
  export interface Provider<T> {
31
- /** Unique provider ID (e.g., "claude", "omp", "mcp-json", "agents-md") */
31
+ /** Unique provider ID (e.g., "claude", "jeopi", "mcp-json", "agents-md") */
32
32
  id: string;
33
33
  /** Human-readable name for UI display (e.g., "Claude Code", "OpenAI Codex") */
34
34
  displayName: string;
@@ -37,7 +37,7 @@ export interface Provider<T> {
37
37
  /**
38
38
  * Priority (higher = checked first, wins on conflicts).
39
39
  * Suggested ranges:
40
- * 100+ : Primary providers (omp, pi)
40
+ * 100+ : Primary providers (jeopi, pi)
41
41
  * 50-99: Tool-specific providers (claude, codex, gemini)
42
42
  * 1-49 : Shared standards (mcp-json, agents-md)
43
43
  */
@@ -0,0 +1 @@
1
+ export declare function migrateLegacyConfig(): Promise<void>;
@@ -4,7 +4,7 @@
4
4
  * Handles `jeopi config <command>` subcommands for managing settings.
5
5
  * Uses the settings schema as the source of truth for available settings.
6
6
  */
7
- export type ConfigAction = "list" | "get" | "set" | "reset" | "path" | "init-xdg";
7
+ export type ConfigAction = "list" | "get" | "set" | "reset" | "path" | "init-xdg" | "migrate-legacy";
8
8
  export interface ConfigCommandArgs {
9
9
  action: ConfigAction;
10
10
  key?: string;
@@ -111,7 +111,7 @@ export declare const OPTIONAL_VALUE_FLAGS: ReadonlySet<string>;
111
111
  * value of a preceding optional/extension flag. `parseArgs` ignores it, but its
112
112
  * flag-looking shape preserves argv boundaries during the second parse.
113
113
  */
114
- export declare const PROFILE_BOOTSTRAP_BOUNDARY_ARG = "--omp-profile-boundary";
114
+ export declare const PROFILE_BOOTSTRAP_BOUNDARY_ARG = "--jeopi-profile-boundary";
115
115
  /**
116
116
  * Long-form launch flags that take NO value (booleans). The bootstrap pre-parser
117
117
  * needs this to tell a known value-less flag (whose successor is a fresh
@@ -32,6 +32,6 @@ export declare function cleanGrievances(options: CleanGrievancesOptions): Promis
32
32
  * ignoring the user-facing consent gate (manual push is the user's
33
33
  * explicit "yes ship these now" intent).
34
34
  *
35
- * Requires endpoint configuration (default `qa.omp.sh/v1/grievances`).
35
+ * Requires endpoint configuration (default `qa.jeopi.sh/v1/grievances`).
36
36
  */
37
37
  export declare function pushGrievances(options: PushGrievancesOptions): Promise<void>;
@@ -5,7 +5,7 @@
5
5
  * - `ls` (default): list every available model grouped by provider.
6
6
  * - `find <substring>`: list models whose provider, id, or name contains the substring.
7
7
  * - `refresh`: force an online catalog re-fetch (ignoring the model cache TTL),
8
- * then list. This is the supported replacement for `rm -rf ~/.omp/models.db`
8
+ * then list. This is the supported replacement for `rm -rf ~/.jeopi/models.db`
9
9
  * when a provider ships a new model that the 24h cache has not picked up yet.
10
10
  *
11
11
  * `ls`/`find` use the cache when fresh (`online-if-uncached`); only `refresh`
@@ -26,7 +26,7 @@ interface UpdateMethodResolutionOptions {
26
26
  miseBinDirs?: readonly string[];
27
27
  miseDataDir?: string;
28
28
  }
29
- export declare function resolveUpdateMethodForTest(ompPath: string, bunBinDir: string | undefined, options?: UpdateMethodResolutionOptions): UpdateMethod;
29
+ export declare function resolveUpdateMethodForTest(jeopiPath: string, bunBinDir: string | undefined, options?: UpdateMethodResolutionOptions): UpdateMethod;
30
30
  interface BunInstallCachePruneResult {
31
31
  scannedPackages: number;
32
32
  removedEntries: number;
@@ -58,7 +58,7 @@ export declare function sweepStaleBackups(targetPath: string): Promise<void>;
58
58
  */
59
59
  export declare function replaceBinaryForUpdate(options: BinaryReplacementOptions): Promise<InstalledVersionVerification>;
60
60
  /**
61
- * Build the bun argv used to globally install a specific omp version.
61
+ * Build the bun argv used to globally install a specific jeopi version.
62
62
  *
63
63
  * The version is selected by hitting {@link NPM_REGISTRY} directly in
64
64
  * {@link getLatestRelease}, so the install MUST observe the same catalog:
@@ -1,6 +1,6 @@
1
1
  type WorktreeKind = "pr-checkout" | "task-isolation" | "empty" | "stray";
2
2
  export interface WorktreeEntry {
3
- /** Absolute path to the worktree dir (or stray container) under `~/.omp/wt/`. */
3
+ /** Absolute path to the worktree dir (or stray container) under `~/.jeopi/wt/`. */
4
4
  path: string;
5
5
  /** Classification of what we found on disk. */
6
6
  kind: WorktreeKind;
@@ -1,4 +1,4 @@
1
1
  /**
2
- * Entry points for the omp commit command.
2
+ * Entry points for the jeopi commit command.
3
3
  */
4
4
  export { runCommitCommand } from "./pipeline";
@@ -1,5 +1,5 @@
1
1
  import type { CommitCommandArgs } from "./types";
2
2
  /**
3
- * Execute the omp commit pipeline for staged changes.
3
+ * Execute the jeopi commit pipeline for staged changes.
4
4
  */
5
5
  export declare function runCommitCommand(args: CommitCommandArgs): Promise<void>;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Types for the omp commit pipeline.
2
+ * Types for the jeopi commit pipeline.
3
3
  */
4
4
  export type CommitType = "feat" | "fix" | "refactor" | "perf" | "docs" | "test" | "build" | "ci" | "chore" | "style" | "revert";
5
5
  export type ChangelogCategory = "Breaking Changes" | "Added" | "Changed" | "Deprecated" | "Removed" | "Fixed" | "Security";
@@ -22,7 +22,7 @@ export interface LoadPromptTemplatesOptions {
22
22
  /**
23
23
  * Load all prompt templates from:
24
24
  * 1. Global: agentDir/prompts/
25
- * 2. Project: cwd/.omp/prompts/
25
+ * 2. Project: cwd/.jeopi/prompts/
26
26
  */
27
27
  export declare function loadPromptTemplates(options?: LoadPromptTemplatesOptions): Promise<PromptTemplate[]>;
28
28
  /**
@@ -264,7 +264,7 @@ export declare const SETTINGS_SCHEMA: {
264
264
  readonly tab: "providers";
265
265
  readonly group: "Services";
266
266
  readonly label: "Max In-Flight Requests";
267
- readonly description: 'Maximum concurrent LLM requests per provider id (for example "openai" or "anthropic"), shared across local OMP processes with this config root. Omitted providers are unlimited.';
267
+ readonly description: 'Maximum concurrent LLM requests per provider id (for example "openai" or "anthropic"), shared across local jeopi processes with this config root. Omitted providers are unlimited.';
268
268
  };
269
269
  };
270
270
  readonly disabledExtensions: {
@@ -882,6 +882,16 @@ export declare const SETTINGS_SCHEMA: {
882
882
  readonly options: readonly [import("../thinking").ConfiguredThinkingLevelMetadata, ...import("../thinking").ThinkingLevelMetadata[]];
883
883
  };
884
884
  };
885
+ readonly "ui.agentLabel": {
886
+ readonly type: "string";
887
+ readonly default: "jeo";
888
+ readonly ui: {
889
+ readonly tab: "appearance";
890
+ readonly group: "Display";
891
+ readonly label: "Agent Label";
892
+ readonly description: "Identity name led on its own line before assistant replies and thinking blocks (jeo-code style). Empty disables the label";
893
+ };
894
+ };
885
895
  readonly hideThinkingBlock: {
886
896
  readonly type: "boolean";
887
897
  readonly default: false;
@@ -2870,7 +2880,7 @@ export declare const SETTINGS_SCHEMA: {
2870
2880
  };
2871
2881
  readonly "hindsight.retainContext": {
2872
2882
  readonly type: "string";
2873
- readonly default: "omp";
2883
+ readonly default: "jeopi";
2874
2884
  };
2875
2885
  readonly "hindsight.recallBudget": {
2876
2886
  readonly type: "enum";
@@ -3716,7 +3726,7 @@ export declare const SETTINGS_SCHEMA: {
3716
3726
  readonly tab: "tools";
3717
3727
  readonly group: "GitHub";
3718
3728
  readonly label: "GitHub View Cache";
3719
- readonly description: "Cache rendered issue/PR view output in ~/.omp/cache/github-cache.db so repeated reads are free";
3729
+ readonly description: "Cache rendered issue/PR view output in ~/.jeopi/cache/github-cache.db so repeated reads are free";
3720
3730
  };
3721
3731
  };
3722
3732
  readonly "github.cache.softTtlSec": {
@@ -4144,7 +4154,7 @@ export declare const SETTINGS_SCHEMA: {
4144
4154
  readonly tab: "tasks";
4145
4155
  readonly group: "Isolation";
4146
4156
  readonly label: "Worktree Base Directory";
4147
- readonly description: "Base directory for agent-managed worktrees — task-isolation copies, `github` PR checkouts, and `jeopi worktree` cleanup all live here. Unset uses ~/.omp/wt. Must be an absolute or ~-relative path; relative paths are ignored. The OMP_WORKTREE_DIR env var overrides this.";
4157
+ readonly description: "Base directory for agent-managed worktrees — task-isolation copies, `github` PR checkouts, and `jeopi worktree` cleanup all live here. Unset uses ~/.jeopi/wt. Must be an absolute or ~-relative path; relative paths are ignored. The JEOPI_WORKTREE_DIR env var overrides this.";
4148
4158
  };
4149
4159
  };
4150
4160
  readonly "task.eager": {
@@ -5348,12 +5358,12 @@ export declare const SETTINGS_SCHEMA: {
5348
5358
  };
5349
5359
  readonly "dev.autoqaPush.endpoint": {
5350
5360
  readonly type: "string";
5351
- readonly default: "https://qa.omp.sh/v1/grievances";
5361
+ readonly default: "https://qa.jeopi.sh/v1/grievances";
5352
5362
  readonly ui: {
5353
5363
  readonly tab: "tools";
5354
5364
  readonly group: "Developer";
5355
5365
  readonly label: "Auto QA Push Endpoint";
5356
- readonly description: "Full URL receiving Auto QA JSON reports (default https://qa.omp.sh/v1/grievances)";
5366
+ readonly description: "Full URL receiving Auto QA JSON reports (default https://qa.jeopi.sh/v1/grievances)";
5357
5367
  };
5358
5368
  };
5359
5369
  readonly "dev.autoqaPush.token": {
@@ -21,12 +21,12 @@ export declare function walkUpForPackageDir(startDir: string): string | undefine
21
21
  *
22
22
  * Callers MUST treat `undefined` as "no package assets available" and skip the
23
23
  * lookup. NEVER fall back to the user's `cwd` here: that conflates the host
24
- * project with omp's own assets and was the source of issue #1423 (the host
25
- * project's `CHANGELOG.md` rendered as omp's startup changelog).
24
+ * project with jeopi's own assets and was the source of issue #1423 (the host
25
+ * project's `CHANGELOG.md` rendered as jeopi's startup changelog).
26
26
  */
27
27
  export declare function getPackageDir(): string | undefined;
28
28
  /**
29
- * Path to omp's own `CHANGELOG.md`, or `undefined` when the package directory
29
+ * Path to jeopi's own `CHANGELOG.md`, or `undefined` when the package directory
30
30
  * cannot be resolved (e.g. inside `bun --compile` binaries that don't bundle
31
31
  * package assets). Callers MUST skip changelog parsing when this is undefined;
32
32
  * see issue #1423.
@@ -38,9 +38,9 @@ export interface ConfigDirEntry {
38
38
  level: "user" | "project";
39
39
  }
40
40
  export interface GetConfigDirsOptions {
41
- /** Include user-level directories (~/.omp/agent/...). Default: true */
41
+ /** Include user-level directories (~/.jeopi/agent/...). Default: true */
42
42
  user?: boolean;
43
- /** Include project-level directories (.omp/...). Default: true */
43
+ /** Include project-level directories (.jeopi/...). Default: true */
44
44
  project?: boolean;
45
45
  /** Current working directory for project paths. Default: getProjectDir() */
46
46
  cwd?: string;
@@ -57,7 +57,7 @@ export interface GetConfigDirsOptions {
57
57
  * @example
58
58
  * // Get all command directories
59
59
  * getConfigDirs("commands")
60
- * // → [{ path: "~/.omp/agent/commands", source: ".omp", level: "user" }, ...]
60
+ * // → [{ path: "~/.jeopi/agent/commands", source: ".jeopi", level: "user" }, ...]
61
61
  *
62
62
  * @example
63
63
  * // Get only existing project skill directories
@@ -86,7 +86,7 @@ export declare function findConfigFile(subpath: string, options?: GetConfigDirsO
86
86
  export declare function findConfigFileWithMeta(subpath: string, options?: GetConfigDirsOptions): Omit<ConfigFileResult<never>, "content"> | undefined;
87
87
  /**
88
88
  * Find all nearest config directories by walking up from cwd.
89
- * Returns one entry per config base (.omp, .claude) - the nearest one found.
89
+ * Returns one entry per config base (.jeopi, .claude) - the nearest one found.
90
90
  * Results are in priority order (highest first).
91
91
  */
92
92
  export declare function findAllNearestProjectConfigDirs(subpath: string, cwd?: string): ConfigDirEntry[];
@@ -214,10 +214,10 @@ export declare function parseClaudePluginsRegistry(content: string): ClaudePlugi
214
214
  * Resolve the active project registry path by walking up from `cwd`.
215
215
  *
216
216
  * Walk order:
217
- * 1. Walk up from `cwd` looking for the nearest directory containing `.omp/`.
218
- * The first match returns `<dir>/.omp/plugins/installed_plugins.json`.
219
- * 2. If no `.omp/` is found, rescan from `cwd` upward looking for `.git`.
220
- * The git root is used as an anchor: `<gitRoot>/.omp/plugins/installed_plugins.json`.
217
+ * 1. Walk up from `cwd` looking for the nearest directory containing `.jeopi/`.
218
+ * The first match returns `<dir>/.jeopi/plugins/installed_plugins.json`.
219
+ * 2. If no `.jeopi/` is found, rescan from `cwd` upward looking for `.git`.
220
+ * The git root is used as an anchor: `<gitRoot>/.jeopi/plugins/installed_plugins.json`.
221
221
  * 3. If neither is found, return `null` — no project context is active.
222
222
  *
223
223
  * This is the single source of truth for "active project root" used by install,
@@ -225,11 +225,11 @@ export declare function parseClaudePluginsRegistry(content: string): ClaudePlugi
225
225
  */
226
226
  export declare function resolveActiveProjectRegistryPath(cwd: string): Promise<string | null>;
227
227
  /**
228
- * Like resolveActiveProjectRegistryPath, but falls back to `<cwd>/.omp/plugins/installed_plugins.json`
229
- * when no project anchor (.omp/ or .git/) is found.
228
+ * Like resolveActiveProjectRegistryPath, but falls back to `<cwd>/.jeopi/plugins/installed_plugins.json`
229
+ * when no project anchor (.jeopi/ or .git/) is found.
230
230
  *
231
231
  * Use this when the caller accepts an explicit --scope project so that installing into a freshly
232
- * bootstrapped directory (no .omp/ or .git/ yet) works: writeInstalledPluginsRegistry auto-creates
232
+ * bootstrapped directory (no .jeopi/ or .git/ yet) works: writeInstalledPluginsRegistry auto-creates
233
233
  * the directory tree on first write.
234
234
  *
235
235
  * Returns undefined when cwd is os.homedir() — that path is already the user registry and must
@@ -238,7 +238,7 @@ export declare function resolveActiveProjectRegistryPath(cwd: string): Promise<s
238
238
  export declare function resolveOrDefaultProjectRegistryPath(cwd: string): Promise<string | undefined>;
239
239
  /**
240
240
  * List all installed Claude Code plugin roots from the plugin cache.
241
- * Reads ~/.claude/plugins/installed_plugins.json and ~/.omp/plugins/installed_plugins.json,
241
+ * Reads ~/.claude/plugins/installed_plugins.json and ~/.jeopi/plugins/installed_plugins.json,
242
242
  * and optionally the nearest project-scoped registry resolved from `cwd`.
243
243
  *
244
244
  * Results are cached per `home:resolvedProjectPath` key to avoid repeated parsing.
@@ -29,8 +29,8 @@ export declare function getInjectedOmpExtensionCliRoots(): readonly OmpExtension
29
29
  * are dropped):
30
30
  *
31
31
  * 1. CLI roots injected via {@link injectOmpExtensionCliRoots}
32
- * 2. Project `<cwd>/.omp/settings.json#extensions`
33
- * 3. User `~/.omp/agent/settings.json#extensions`
32
+ * 2. Project `<cwd>/.jeopi/settings.json#extensions`
33
+ * 3. User `~/.jeopi/agent/settings.json#extensions`
34
34
  * 4. Enabled npm/link plugins installed under `<plugins>/node_modules/` (for
35
35
  * `jeopi install <pkg>` / `jeopi plugin install` / `jeopi plugin link`). Marketplace
36
36
  * installs are loaded by the `claude-plugins` provider and are excluded here.
@@ -26,7 +26,7 @@ export declare function resolveVenvPath(cwd: string): string | undefined;
26
26
  export declare function resolveExplicitPythonRuntime(interpreter: string, cwd: string, baseEnv: Record<string, string | undefined>): PythonRuntime;
27
27
  /**
28
28
  * Enumerate candidate Python runtimes in priority order: an active/project venv,
29
- * the managed `~/.omp/python-env`, then the system interpreter on PATH. Every
29
+ * the managed `~/.jeopi/python-env`, then the system interpreter on PATH. Every
30
30
  * candidate that physically exists is returned so callers can probe each in turn
31
31
  * rather than committing to the first — a managed env left behind by a removed
32
32
  * `uv` install no longer shadows a working system Python.
@@ -52,7 +52,7 @@ export declare function loadCustomTools(pathsWithSources: ToolPathWithSource[],
52
52
  /**
53
53
  * Collect the absolute tool-source paths to load, without importing or
54
54
  * binding factories. Hot path on session startup — the scan walks
55
- * `.omp/tools/`, `.claude/tools/`, the plugin tree, and any configured paths.
55
+ * `.jeopi/tools/`, `.claude/tools/`, the plugin tree, and any configured paths.
56
56
  *
57
57
  * Subagents reuse the parent's collected paths via the SDK's
58
58
  * `preloadedCustomToolPaths` option, then call `loadCustomTools` themselves
@@ -66,7 +66,7 @@ export declare function discoverCustomToolPaths(configuredPaths: string[], cwd:
66
66
  /**
67
67
  * Discover and load tools from standard locations via capability system:
68
68
  * 1. User and project tools discovered by capability providers
69
- * 2. Installed plugins (~/.omp/plugins/node_modules/*)
69
+ * 2. Installed plugins (~/.jeopi/plugins/node_modules/*)
70
70
  * 3. Explicitly configured paths from settings or CLI
71
71
  *
72
72
  * Composed of {@link discoverCustomToolPaths} (FS scan) + {@link loadCustomTools}
@@ -40,7 +40,7 @@ export declare function loadExtensions(paths: string[], cwd: string, eventBus?:
40
40
  /**
41
41
  * Discover absolute paths of extensions to load, without importing or
42
42
  * binding factories. Hot path on session startup — the scan walks native
43
- * `.omp`/`.pi` extension capabilities, JS/TS hook factories, the
43
+ * `.jeopi`/`.pi` extension capabilities, JS/TS hook factories, the
44
44
  * installed-plugin tree, and any configured paths.
45
45
  *
46
46
  * Subagents reuse the parent's collected paths via the SDK's
@@ -56,7 +56,7 @@ export declare function loadHooks(paths: string[], cwd: string): Promise<LoadHoo
56
56
  /**
57
57
  * Discover and load hooks from all registered providers.
58
58
  * Uses the capability API to discover hook paths from:
59
- * 1. OMP native configs (.omp/.pi hooks/)
59
+ * 1. OMP native configs (.jeopi/.pi hooks/)
60
60
  * 2. Installed plugins
61
61
  * 3. Other editor/IDE configurations
62
62
  *
@@ -7,9 +7,9 @@ export interface ScopedInstalledPlugin extends InstalledPlugin {
7
7
  * Get list of enabled plugins with their resolved configurations.
8
8
  *
9
9
  * Enumerates two plugin roots in order: the user root
10
- * (`getPluginsDir(home)`) and, when a project anchor (`.omp/` or `.git/`)
10
+ * (`getPluginsDir(home)`) and, when a project anchor (`.jeopi/` or `.git/`)
11
11
  * exists at or above `cwd`, the project root
12
- * (`<projectAnchor>/.omp/plugins`). Each root contributes the union of its
12
+ * (`<projectAnchor>/.jeopi/plugins`). Each root contributes the union of its
13
13
  * `package.json#dependencies` and `omp-plugins.lock.json#plugins`. Project
14
14
  * entries shadow user entries with the same package name, matching the
15
15
  * shadow semantics of `MarketplaceManager.listInstalledPlugins`.
@@ -17,7 +17,7 @@ export interface PluginFeature {
17
17
  commands?: string[];
18
18
  }
19
19
  /**
20
- * Plugin manifest from package.json omp or pi field.
20
+ * Plugin manifest from package.json jeopi or pi field.
21
21
  */
22
22
  export interface PluginManifest {
23
23
  /** Plugin display name (defaults to package name) */
@@ -39,6 +39,16 @@ export interface PluginManifest {
39
39
  /** Settings schema for plugin configuration */
40
40
  settings?: Record<string, PluginSettingSchema>;
41
41
  }
42
+ /**
43
+ * Minimal package.json shape needed when discovering plugin manifests.
44
+ */
45
+ export interface PluginPackageJson {
46
+ name?: string;
47
+ version: string;
48
+ description?: string;
49
+ jeopi?: PluginManifest;
50
+ pi?: PluginManifest;
51
+ }
42
52
  export type PluginSettingType = "string" | "number" | "boolean" | "enum";
43
53
  interface PluginSettingBase {
44
54
  /** Setting type */
@@ -82,7 +92,7 @@ export interface InstalledPlugin {
82
92
  version: string;
83
93
  /** Absolute path to package directory */
84
94
  path: string;
85
- /** Parsed omp/pi manifest */
95
+ /** Parsed jeopi/pi manifest */
86
96
  manifest: PluginManifest;
87
97
  /**
88
98
  * Enabled features:
@@ -115,7 +125,7 @@ export interface PluginRuntimeConfig {
115
125
  settings: Record<string, Record<string, unknown>>;
116
126
  }
117
127
  /**
118
- * Project-local plugin overrides (stored in .omp/plugin-overrides.json).
128
+ * Project-local plugin overrides (stored in .jeopi/plugin-overrides.json).
119
129
  * Allows per-project plugin configuration without modifying global state.
120
130
  */
121
131
  export interface ProjectPluginOverrides {
@@ -22,8 +22,8 @@ export declare function resolveCommand(command: string, cwd: string): string | n
22
22
  *
23
23
  * Priority (highest to lowest):
24
24
  * 1. Project root: lsp.json/.lsp.json/lsp.yml/.lsp.yml/lsp.yaml/.lsp.yaml
25
- * 2. Project config dirs: .omp/lsp.*, .pi/lsp.*, .claude/lsp.* (+ hidden variants)
26
- * 3. User config dirs: ~/.omp/agent/lsp.*, ~/.pi/agent/lsp.*, ~/.claude/lsp.* (+ hidden variants)
25
+ * 2. Project config dirs: .jeopi/lsp.*, .pi/lsp.*, .claude/lsp.* (+ hidden variants)
26
+ * 3. User config dirs: ~/.jeopi/agent/lsp.*, ~/.pi/agent/lsp.*, ~/.claude/lsp.* (+ hidden variants)
27
27
  * 4. User home root: ~/lsp.*, ~/.lsp.*
28
28
  * 5. Auto-detect from project markers + available binaries
29
29
  *
@@ -2,7 +2,7 @@ import type { MCPGetPromptResult, MCPPrompt, MCPRequestOptions, MCPResource, MCP
2
2
  /**
3
3
  * Connect to an MCP server.
4
4
  * Has a 30 second timeout by default to prevent blocking startup.
5
- * Set OMP_MCP_TIMEOUT_MS=0 to disable MCP client-side timeouts.
5
+ * Set JEOPI_MCP_TIMEOUT_MS=0 to disable MCP client-side timeouts.
6
6
  */
7
7
  export declare function connectToServer(name: string, config: MCPServerConfig, options?: {
8
8
  signal?: AbortSignal;
@@ -68,7 +68,7 @@ export interface SetMcpServerEnabledOptions {
68
68
  projectPath: string;
69
69
  /**
70
70
  * Absolute path to the loaded row's source mcp.json. Provide ONLY for
71
- * formats this codebase owns (native `.omp/mcp.json` and `mcp-json`
71
+ * formats this codebase owns (native `.jeopi/mcp.json` and `mcp-json`
72
72
  * `mcp.json`/`.mcp.json`). Tool-owned configs (opencode.json, claude.json,
73
73
  * settings.json …) MUST be omitted; we never mutate another tool's file.
74
74
  */
@@ -9,7 +9,7 @@ import type { OAuthController, OAuthCredentials } from "jeopi-ai/oauth/types";
9
9
  import type { FetchImpl } from "jeopi-ai/types";
10
10
  import type { OAuthCredential } from "../session/auth-storage";
11
11
  /**
12
- * Deterministic credential id for an MCP server URL scoped to an OMP profile.
12
+ * Deterministic credential id for an MCP server URL scoped to a jeopi profile.
13
13
  *
14
14
  * Local profile stores are already separate, but auth-broker storage shares one
15
15
  * provider namespace across profiles. Including the profile in the provider key
@@ -3,7 +3,7 @@ import type { MCPHttpServerConfig, MCPRequestOptions, MCPSseServerConfig, MCPTra
3
3
  * Best-effort startup deadline for the optional Streamable HTTP GET SSE listener.
4
4
  *
5
5
  * Returns `0` (disabled) when the operator has explicitly disabled MCP client-side
6
- * timeouts via `timeout: 0` or `OMP_MCP_TIMEOUT_MS=0`, mirroring the rest of the
6
+ * timeouts via `timeout: 0` or `JEOPI_MCP_TIMEOUT_MS=0`, mirroring the rest of the
7
7
  * MCP timeout surface. Otherwise caps the wait at one second and scales below
8
8
  * short request timeouts so connect-time never exceeds the request budget.
9
9
  */
@@ -0,0 +1,36 @@
1
+ /** OKF v0.1 frontmatter fields. Only `type`/`title`/`description` are required. */
2
+ export interface OkfFields {
3
+ type: string;
4
+ title: string;
5
+ description: string;
6
+ resource?: string;
7
+ tags?: readonly string[];
8
+ /** ISO 8601 datetime, e.g. `2026-07-02T10:00:00Z`. */
9
+ timestamp?: string;
10
+ /** Producer-specific extension fields (e.g. `thread_id`). */
11
+ extra?: Record<string, string | number>;
12
+ }
13
+ /** Render an OKF atom: YAML frontmatter followed by the markdown body. */
14
+ export declare function renderOkfDocument(fields: OkfFields, body: string): string;
15
+ /** Parsed frontmatter (undefined when absent/unparseable) plus the body. */
16
+ export interface OkfDocumentParts {
17
+ frontmatter: Record<string, unknown> | undefined;
18
+ body: string;
19
+ }
20
+ /**
21
+ * Split an OKF document into frontmatter and body. Tolerant by design: text
22
+ * without a leading fence (legacy jeopi memory files, hand-edited files)
23
+ * returns the whole text as body with `frontmatter: undefined`, and a
24
+ * malformed YAML block still strips so prompt paths never leak fences.
25
+ */
26
+ export declare function parseOkfDocument(text: string): OkfDocumentParts;
27
+ /** Body of an OKF document with any leading frontmatter removed. */
28
+ export declare function stripOkfFrontmatter(text: string): string;
29
+ /**
30
+ * Validate a document against the OKF v0.1 rules the jeo-skills `okf` linter
31
+ * enforces: a leading `---` fence, a closing fence, and non-empty
32
+ * `type` / `title` / `description` fields. Returns an empty array when valid.
33
+ */
34
+ export declare function validateOkfDocument(text: string): string[];
35
+ /** Format a unix-seconds timestamp as the ISO 8601 string OKF expects. */
36
+ export declare function okfTimestamp(unixSeconds?: number): string;
@@ -4,6 +4,10 @@ import type { AssistantThinkingRenderer } from "../../extensibility/extensions/t
4
4
  import { type CacheInvalidation } from "./cache-invalidation-marker";
5
5
  /** Test-only: clear the shared gauge so observations don't leak across cases. */
6
6
  export declare function resetThinkingSpeedTracker(): void;
7
+ /** Set the assistant identity label ("" disables). Called from interactive-mode startup. */
8
+ export declare function setAssistantAgentLabel(label: string): void;
9
+ /** Current assistant identity label ("" when disabled). */
10
+ export declare function getAssistantAgentLabel(): string;
7
11
  /**
8
12
  * Component that renders a complete assistant message
9
13
  */
@@ -20,7 +20,7 @@ import type { SessionManager } from "../session/session-manager";
20
20
  import type { ShakeMode } from "../session/shake-types";
21
21
  import type { LspStartupServerInfo } from "../tools";
22
22
  import type { EventBus } from "../utils/event-bus";
23
- import type { AssistantMessageComponent } from "./components/assistant-message";
23
+ import { type AssistantMessageComponent } from "./components/assistant-message";
24
24
  import type { BashExecutionComponent } from "./components/bash-execution";
25
25
  import { CustomEditor } from "./components/custom-editor";
26
26
  import type { EvalExecutionComponent } from "./components/eval-execution";
@@ -28,7 +28,7 @@ import { type WorkspaceTree } from "./workspace-tree";
28
28
  export interface CreateAgentSessionOptions {
29
29
  /** Working directory for project-local discovery. Default: getProjectDir() */
30
30
  cwd?: string;
31
- /** Global config directory. Default: ~/.omp/agent */
31
+ /** Global config directory. Default: ~/.jeopi/agent */
32
32
  agentDir?: string;
33
33
  /** Spawns to allow. Default: "*" */
34
34
  spawns?: string;
@@ -103,7 +103,7 @@ export interface CreateAgentSessionOptions {
103
103
  */
104
104
  preloadedExtensionPaths?: string[];
105
105
  /**
106
- * Pre-discovered custom-tool source paths from `.omp/tools/`, `.claude/tools/`,
106
+ * Pre-discovered custom-tool source paths from `.jeopi/tools/`, `.claude/tools/`,
107
107
  * plugins, etc. When provided, the filesystem-scan inside
108
108
  * `discoverCustomToolPaths()` is skipped — subagents inherit the parent's
109
109
  * scan result and call `loadCustomTools()` themselves so each session binds
@@ -127,7 +127,7 @@ export interface CreateAgentSessionOptions {
127
127
  }>;
128
128
  /** Pre-built workspace tree (skips re-scanning; passed by parents to subagents). */
129
129
  workspaceTree?: WorkspaceTree;
130
- /** Prompt templates. Default: discovered from cwd/.omp/prompts/ + agentDir/prompts/ */
130
+ /** Prompt templates. Default: discovered from cwd/.jeopi/prompts/ + agentDir/prompts/ */
131
131
  promptTemplates?: PromptTemplate[];
132
132
  /** File-based slash commands. Default: discovered from commands/ directories */
133
133
  slashCommands?: FileSlashCommand[];
@@ -239,7 +239,7 @@ export { BashTool, BUILTIN_TOOLS, createTools, EditTool, EvalTool, GlobTool, Gre
239
239
  *
240
240
  * Default: local SQLite store at `<agentDir>/agent.db`.
241
241
  *
242
- * Broker mode: when `OMP_AUTH_BROKER_URL` is set, credentials are pulled from
242
+ * Broker mode: when `JEOPI_AUTH_BROKER_URL` is set, credentials are pulled from
243
243
  * a remote auth-broker over the wire. Refresh tokens never leave the broker;
244
244
  * the client receives access tokens with `refresh = "__remote__"` and calls
245
245
  * back into the broker through the {@link AuthStorageOptions.refreshOAuthCredential}
@@ -277,7 +277,7 @@ export declare function loadSessionExtensions(options: Pick<CreateAgentSessionOp
277
277
  * (`jeopi bench`, dry-balance) build a bare {@link ModelRegistry} that only knows
278
278
  * built-in catalog providers; without this, providers contributed by an
279
279
  * extension (e.g. a custom OpenAI-compatible provider under
280
- * `~/.omp/agent/extensions/`) never reach model resolution. Mirrors the
280
+ * `~/.jeopi/agent/extensions/`) never reach model resolution. Mirrors the
281
281
  * session / `jeopi models` path: drain the queued provider registrations, then
282
282
  * `refreshRuntimeProviders` so dynamically-discovered models exist before
283
283
  * selectors are resolved.
@@ -42,6 +42,7 @@ import { type IrcMessage } from "../irc/bus";
42
42
  import { type MnemopiSessionState } from "../mnemopi/state";
43
43
  import type { PlanModeState } from "../plan-mode/state";
44
44
  import { type SecretObfuscator } from "../secrets/obfuscator";
45
+ import type { CriticGateState } from "../task/critic-gate";
45
46
  import { type ConfiguredThinkingLevel } from "../thinking";
46
47
  import { type DiscoverableTool, type DiscoverableToolSearchIndex } from "../tool-discovery/tool-index";
47
48
  import type { CheckpointState, CompletedRewindState } from "../tools/checkpoint";
@@ -707,6 +708,8 @@ export declare class AgentSession {
707
708
  /** Prompt templates */
708
709
  getPlanModeState(): PlanModeState | undefined;
709
710
  setPlanModeState(state: PlanModeState | undefined): void;
711
+ getCriticGateState(): CriticGateState | undefined;
712
+ setCriticGateState(state: CriticGateState | undefined): void;
710
713
  getGoalModeState(): GoalModeState | undefined;
711
714
  setGoalModeState(state: GoalModeState | undefined): void;
712
715
  get goalRuntime(): GoalRuntime;