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.
- package/CHANGELOG.md +21 -3
- package/README.md +1 -1
- package/dist/cli.js +3087 -3060
- package/dist/types/advisor/watchdog.d.ts +2 -2
- package/dist/types/autolearn/managed-skills.d.ts +2 -2
- package/dist/types/capability/types.d.ts +2 -2
- package/dist/types/cli/commands/migrate-legacy.d.ts +1 -0
- package/dist/types/cli/config-cli.d.ts +1 -1
- package/dist/types/cli/flag-tables.d.ts +1 -1
- package/dist/types/cli/grievances-cli.d.ts +1 -1
- package/dist/types/cli/models-cli.d.ts +1 -1
- package/dist/types/cli/update-cli.d.ts +2 -2
- package/dist/types/cli/worktree-cli.d.ts +1 -1
- package/dist/types/commit/index.d.ts +1 -1
- package/dist/types/commit/pipeline.d.ts +1 -1
- package/dist/types/commit/types.d.ts +1 -1
- package/dist/types/config/prompt-templates.d.ts +1 -1
- package/dist/types/config/settings-schema.d.ts +16 -6
- package/dist/types/config.d.ts +7 -7
- package/dist/types/discovery/helpers.d.ts +8 -8
- package/dist/types/discovery/omp-extension-roots.d.ts +2 -2
- package/dist/types/eval/py/runtime.d.ts +1 -1
- package/dist/types/extensibility/custom-tools/loader.d.ts +2 -2
- package/dist/types/extensibility/extensions/loader.d.ts +1 -1
- package/dist/types/extensibility/hooks/loader.d.ts +1 -1
- package/dist/types/extensibility/plugins/loader.d.ts +2 -2
- package/dist/types/extensibility/plugins/types.d.ts +13 -3
- package/dist/types/lsp/config.d.ts +2 -2
- package/dist/types/mcp/client.d.ts +1 -1
- package/dist/types/mcp/config-writer.d.ts +1 -1
- package/dist/types/mcp/oauth-flow.d.ts +1 -1
- package/dist/types/mcp/transports/http.d.ts +1 -1
- package/dist/types/memories/okf.d.ts +36 -0
- package/dist/types/modes/components/__tests__/assistant-agent-label.test.d.ts +1 -0
- package/dist/types/modes/components/assistant-message.d.ts +4 -0
- package/dist/types/modes/interactive-mode.d.ts +1 -1
- package/dist/types/sdk.d.ts +5 -5
- package/dist/types/session/agent-session.d.ts +3 -0
- package/dist/types/session/auth-broker-config.d.ts +4 -4
- package/dist/types/session/snapcompact-savings-journal.d.ts +1 -1
- package/dist/types/task/commands.d.ts +1 -1
- package/dist/types/task/critic-gate.d.ts +76 -0
- package/dist/types/task/critic-gate.test.d.ts +1 -0
- package/dist/types/task/discovery.d.ts +1 -1
- package/dist/types/task/executor.d.ts +1 -1
- package/dist/types/tools/acp-bridge.d.ts +2 -2
- package/dist/types/tools/browser/tab-protocol.d.ts +1 -1
- package/dist/types/tools/index.d.ts +6 -1
- package/dist/types/tools/plan-mode-guard.d.ts +8 -0
- package/dist/types/tools/report-tool-issue.d.ts +1 -1
- package/dist/types/utils/changelog.d.ts +2 -2
- package/dist/types/utils/image-loading.d.ts +4 -4
- package/dist/types/utils/image-resize.d.ts +1 -1
- package/dist/types/web/search/index.d.ts +1 -1
- package/examples/custom-tools/README.md +1 -1
- package/examples/extensions/README.md +1 -1
- package/examples/extensions/pirate.ts +1 -1
- package/examples/extensions/plan-mode.ts +1 -1
- package/examples/extensions/tools.ts +1 -1
- package/examples/hooks/README.md +1 -1
- package/examples/sdk/01-minimal.ts +1 -1
- package/examples/sdk/04-skills.ts +1 -1
- package/examples/sdk/06-extensions.ts +3 -3
- package/examples/sdk/09-api-keys-and-oauth.ts +2 -2
- package/examples/sdk/12-redis-sessions.ts +1 -1
- package/examples/sdk/13-sql-sessions.ts +1 -1
- package/examples/sdk/README.md +1 -1
- package/package.json +12 -12
- package/scripts/jeopi +1 -1
- package/src/advisor/__tests__/config.test.ts +4 -4
- package/src/advisor/watchdog.ts +8 -8
- package/src/autolearn/managed-skills.ts +4 -4
- package/src/autoresearch/storage.ts +2 -2
- package/src/capability/types.ts +2 -2
- package/src/cli/agents-cli.ts +2 -2
- package/src/cli/args.ts +3 -3
- package/src/cli/auth-broker-cli.ts +5 -5
- package/src/cli/auth-gateway-cli.ts +4 -4
- package/src/cli/claude-trace-cli.ts +1 -1
- package/src/cli/commands/migrate-legacy.ts +24 -0
- package/src/cli/config-cli.ts +20 -5
- package/src/cli/flag-tables.ts +1 -1
- package/src/cli/gallery-fixtures/misc.ts +7 -7
- package/src/cli/gallery-screenshot.ts +2 -2
- package/src/cli/grievances-cli.ts +1 -1
- package/src/cli/models-cli.ts +1 -1
- package/src/cli/plugin-cli.ts +2 -2
- package/src/cli/profile-alias.ts +8 -8
- package/src/cli/read-cli.ts +1 -1
- package/src/cli/ssh-cli.ts +2 -2
- package/src/cli/update-cli.ts +27 -27
- package/src/cli/worktree-cli.ts +3 -3
- package/src/cli.ts +5 -5
- package/src/commands/agents.ts +2 -2
- package/src/commands/auth-broker.ts +1 -1
- package/src/commands/config.ts +1 -1
- package/src/commands/dry-balance.ts +6 -6
- package/src/commands/launch.ts +2 -2
- package/src/commands/models.ts +1 -1
- package/src/commands/say.ts +1 -1
- package/src/commands/token.ts +5 -5
- package/src/commands/ttsr.ts +2 -2
- package/src/commands/worktree.ts +3 -3
- package/src/commit/agentic/prompts/system.md +1 -1
- package/src/commit/cli.ts +1 -1
- package/src/commit/index.ts +1 -1
- package/src/commit/pipeline.ts +1 -1
- package/src/commit/types.ts +1 -1
- package/src/config/mcp-schema.json +5 -5
- package/src/config/models-config-schema.ts +1 -1
- package/src/config/prompt-templates.ts +2 -2
- package/src/config/settings-schema.ts +20 -8
- package/src/config/settings.ts +1 -1
- package/src/config.ts +10 -10
- package/src/dap/session.ts +2 -2
- package/src/debug/protocol-probe.ts +1 -1
- package/src/debug/raw-sse-buffer.ts +3 -3
- package/src/debug/raw-sse.ts +2 -2
- package/src/discovery/builtin.ts +9 -9
- package/src/discovery/helpers.ts +13 -13
- package/src/discovery/omp-extension-roots.ts +4 -4
- package/src/discovery/omp-plugins.ts +2 -2
- package/src/discovery/substitute-plugin-root.ts +3 -3
- package/src/eval/py/runtime.ts +1 -1
- package/src/eval/rb/runner.rb +6 -6
- package/src/export/custom-share.ts +1 -1
- package/src/extensibility/custom-tools/loader.ts +3 -3
- package/src/extensibility/extensions/loader.ts +4 -4
- package/src/extensibility/hooks/loader.ts +1 -1
- package/src/extensibility/plugins/loader.ts +16 -10
- package/src/extensibility/plugins/manager.ts +10 -9
- package/src/extensibility/plugins/types.ts +15 -4
- package/src/internal-urls/docs-index.generated.txt +1 -1
- package/src/lsp/config.ts +4 -4
- package/src/lsp/index.ts +1 -1
- package/src/main.ts +1 -1
- package/src/mcp/client.ts +1 -1
- package/src/mcp/config-writer.ts +2 -2
- package/src/mcp/manager.ts +1 -1
- package/src/mcp/oauth-flow.ts +1 -1
- package/src/mcp/timeout.ts +2 -2
- package/src/mcp/transports/http.ts +1 -1
- package/src/memories/index.ts +82 -11
- package/src/memories/okf.ts +129 -0
- package/src/modes/components/__tests__/assistant-agent-label.test.ts +87 -0
- package/src/modes/components/assistant-message.ts +27 -0
- package/src/modes/components/extensions/extension-dashboard.ts +1 -1
- package/src/modes/controllers/mcp-command-controller.ts +2 -2
- package/src/modes/controllers/omfg-controller.ts +2 -2
- package/src/modes/controllers/ssh-command-controller.ts +2 -2
- package/src/modes/interactive-mode.ts +3 -1
- package/src/modes/setup-wizard/index.ts +1 -1
- package/src/prompts/agents/jeo.md +20 -10
- package/src/prompts/system/autolearn-guidance.md +2 -2
- package/src/prompts/system/system-prompt.md +10 -1
- package/src/prompts/tools/learn.md +1 -1
- package/src/prompts/tools/manage-skill.md +1 -1
- package/src/sdk.ts +8 -6
- package/src/secrets/index.ts +2 -2
- package/src/session/agent-session.ts +86 -6
- package/src/session/auth-broker-config.ts +6 -6
- package/src/session/snapcompact-savings-journal.ts +1 -1
- package/src/slash-commands/helpers/mcp.ts +1 -1
- package/src/system-prompt.test.ts +14 -14
- package/src/task/commands.ts +1 -1
- package/src/task/critic-gate.test.ts +181 -0
- package/src/task/critic-gate.ts +148 -0
- package/src/task/discovery.ts +5 -5
- package/src/task/executor.ts +1 -1
- package/src/task/index.ts +35 -2
- package/src/tools/acp-bridge.ts +2 -2
- package/src/tools/browser/launch.ts +1 -1
- package/src/tools/browser/tab-protocol.ts +1 -1
- package/src/tools/grep.ts +2 -2
- package/src/tools/index.ts +6 -1
- package/src/tools/plan-mode-guard.ts +16 -0
- package/src/tools/read.ts +1 -1
- package/src/tools/report-tool-issue.ts +2 -2
- package/src/utils/changelog.ts +2 -2
- package/src/utils/image-loading.ts +4 -4
- package/src/utils/image-resize.ts +5 -5
- 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
|
-
* `.
|
|
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 .
|
|
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 = "
|
|
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 (`~/.
|
|
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", "
|
|
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 (
|
|
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 = "--
|
|
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.
|
|
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 ~/.
|
|
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(
|
|
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
|
|
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 `~/.
|
|
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,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Types for the
|
|
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/.
|
|
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
|
|
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: "
|
|
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 ~/.
|
|
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 ~/.
|
|
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.
|
|
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.
|
|
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": {
|
package/dist/types/config.d.ts
CHANGED
|
@@ -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
|
|
25
|
-
* project's `CHANGELOG.md` rendered as
|
|
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
|
|
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 (~/.
|
|
41
|
+
/** Include user-level directories (~/.jeopi/agent/...). Default: true */
|
|
42
42
|
user?: boolean;
|
|
43
|
-
/** Include project-level directories (.
|
|
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: "~/.
|
|
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 (.
|
|
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 `.
|
|
218
|
-
* The first match returns `<dir>/.
|
|
219
|
-
* 2. If no `.
|
|
220
|
-
* The git root is used as an anchor: `<gitRoot>/.
|
|
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>/.
|
|
229
|
-
* when no project anchor (.
|
|
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 .
|
|
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 ~/.
|
|
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>/.
|
|
33
|
-
* 3. User `~/.
|
|
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 `~/.
|
|
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
|
-
* `.
|
|
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 (~/.
|
|
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
|
-
* `.
|
|
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 (.
|
|
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 (`.
|
|
10
|
+
* (`getPluginsDir(home)`) and, when a project anchor (`.jeopi/` or `.git/`)
|
|
11
11
|
* exists at or above `cwd`, the project root
|
|
12
|
-
* (`<projectAnchor>/.
|
|
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
|
|
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
|
|
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 .
|
|
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: .
|
|
26
|
-
* 3. User config dirs: ~/.
|
|
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
|
|
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 `.
|
|
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
|
|
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 `
|
|
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;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -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
|
|
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";
|
package/dist/types/sdk.d.ts
CHANGED
|
@@ -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: ~/.
|
|
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 `.
|
|
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/.
|
|
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 `
|
|
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
|
-
* `~/.
|
|
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;
|