oh-my-opencode 3.11.2 → 3.12.1
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/README.ja.md +18 -12
- package/README.ko.md +18 -12
- package/README.md +16 -16
- package/README.ru.md +12 -6
- package/README.zh-cn.md +18 -12
- package/dist/agents/atlas/default.d.ts +1 -1
- package/dist/agents/atlas/gemini.d.ts +1 -1
- package/dist/agents/atlas/gpt.d.ts +1 -1
- package/dist/agents/builtin-agents/general-agents.d.ts +1 -0
- package/dist/agents/dynamic-agent-prompt-builder.d.ts +2 -0
- package/dist/agents/env-context.d.ts +1 -1
- package/dist/agents/index.d.ts +1 -0
- package/dist/agents/metis.d.ts +1 -1
- package/dist/agents/prometheus/gemini.d.ts +1 -1
- package/dist/agents/prometheus/gpt.d.ts +1 -1
- package/dist/agents/prometheus/interview-mode.d.ts +1 -1
- package/dist/agents/prometheus/plan-generation.d.ts +1 -1
- package/dist/agents/prometheus/plan-template.d.ts +1 -1
- package/dist/agents/prometheus/system-prompt.d.ts +1 -1
- package/dist/agents/types.d.ts +1 -1
- package/dist/cli/config-manager/bun-install.d.ts +8 -1
- package/dist/cli/config-manager/plugin-name-with-version.d.ts +1 -1
- package/dist/cli/doctor/checks/tools-lsp.d.ts +4 -6
- package/dist/cli/doctor/types.d.ts +4 -8
- package/dist/cli/index.js +1087 -802
- package/dist/cli/install-validators.d.ts +1 -0
- package/dist/cli/model-fallback-requirements.d.ts +1 -1
- package/dist/cli/model-fallback-types.d.ts +1 -0
- package/dist/cli/openai-only-model-catalog.d.ts +3 -0
- package/dist/cli/run/index.d.ts +1 -0
- package/dist/cli/run/model-resolver.d.ts +4 -0
- package/dist/cli/run/types.d.ts +1 -0
- package/dist/cli/types.d.ts +3 -0
- package/dist/config/schema/agent-names.d.ts +3 -1
- package/dist/config/schema/background-task.d.ts +9 -0
- package/dist/config/schema/git-env-prefix.d.ts +5 -0
- package/dist/config/schema/git-master.d.ts +1 -0
- package/dist/config/schema/hooks.d.ts +2 -0
- package/dist/config/schema/oh-my-opencode-config.d.ts +10 -0
- package/dist/config/schema.d.ts +1 -0
- package/dist/create-hooks.d.ts +13 -0
- package/dist/features/background-agent/compaction-aware-message-resolver.d.ts +16 -1
- package/dist/features/background-agent/constants.d.ts +7 -2
- package/dist/features/background-agent/loop-detector.d.ts +19 -0
- package/dist/features/background-agent/manager.d.ts +20 -4
- package/dist/features/background-agent/process-cleanup.d.ts +1 -1
- package/dist/features/background-agent/remove-task-toast-tracking.d.ts +1 -0
- package/dist/features/background-agent/subagent-spawn-limits.d.ts +23 -0
- package/dist/features/background-agent/task-history.d.ts +1 -0
- package/dist/features/background-agent/task-poller.d.ts +1 -0
- package/dist/features/background-agent/types.d.ts +11 -0
- package/dist/features/builtin-commands/templates/start-work.d.ts +1 -1
- package/dist/features/claude-code-agent-loader/claude-model-mapper.d.ts +4 -0
- package/dist/features/claude-code-agent-loader/loader.d.ts +3 -3
- package/dist/features/claude-code-agent-loader/types.d.ts +8 -1
- package/dist/features/claude-code-plugin-loader/agent-loader.d.ts +2 -2
- package/dist/features/claude-code-plugin-loader/loader.d.ts +2 -2
- package/dist/features/claude-code-plugin-loader/types.d.ts +22 -3
- package/dist/features/opencode-skill-loader/git-master-template-injection.d.ts +1 -1
- package/dist/features/skill-mcp-manager/types.d.ts +4 -0
- package/dist/features/tmux-subagent/index.d.ts +1 -0
- package/dist/features/tmux-subagent/manager.d.ts +5 -0
- package/dist/features/tmux-subagent/pane-state-parser.d.ts +8 -0
- package/dist/features/tmux-subagent/tracked-session-state.d.ts +8 -0
- package/dist/features/tmux-subagent/types.d.ts +2 -0
- package/dist/hooks/atlas/boulder-session-lineage.d.ts +6 -0
- package/dist/hooks/atlas/final-wave-approval-gate.d.ts +6 -0
- package/dist/hooks/atlas/final-wave-plan-state.d.ts +5 -0
- package/dist/hooks/atlas/idle-event.d.ts +8 -0
- package/dist/hooks/atlas/resolve-active-boulder-session.d.ts +11 -0
- package/dist/hooks/atlas/tool-execute-after.d.ts +2 -0
- package/dist/hooks/atlas/types.d.ts +4 -0
- package/dist/hooks/atlas/verification-reminders.d.ts +4 -0
- package/dist/hooks/auto-slash-command/executor.d.ts +1 -0
- package/dist/hooks/auto-slash-command/hook.d.ts +7 -0
- package/dist/hooks/auto-slash-command/processed-command-store.d.ts +7 -0
- package/dist/hooks/auto-slash-command/types.d.ts +9 -0
- package/dist/hooks/auto-update-checker/checker/sync-package-json.d.ts +7 -0
- package/dist/hooks/auto-update-checker/checker.d.ts +3 -1
- package/dist/hooks/compaction-context-injector/compaction-context-prompt.d.ts +1 -0
- package/dist/hooks/compaction-context-injector/constants.d.ts +5 -0
- package/dist/hooks/compaction-context-injector/hook.d.ts +5 -1
- package/dist/hooks/compaction-context-injector/recovery-prompt-config.d.ts +6 -0
- package/dist/hooks/compaction-context-injector/recovery.d.ts +6 -0
- package/dist/hooks/compaction-context-injector/session-id.d.ts +2 -0
- package/dist/hooks/compaction-context-injector/session-prompt-config-resolver.d.ts +16 -0
- package/dist/hooks/compaction-context-injector/tail-monitor.d.ts +13 -0
- package/dist/hooks/compaction-context-injector/types.d.ts +43 -0
- package/dist/hooks/compaction-context-injector/validated-model.d.ts +13 -0
- package/dist/hooks/context-window-monitor.d.ts +2 -5
- package/dist/hooks/gpt-permission-continuation/assistant-message.d.ts +23 -0
- package/dist/hooks/gpt-permission-continuation/constants.d.ts +4 -0
- package/dist/hooks/gpt-permission-continuation/detector.d.ts +1 -0
- package/dist/hooks/gpt-permission-continuation/handler.d.ts +12 -0
- package/dist/hooks/gpt-permission-continuation/index.d.ts +13 -0
- package/dist/hooks/gpt-permission-continuation/session-state.d.ts +15 -0
- package/dist/hooks/index.d.ts +2 -0
- package/dist/hooks/keyword-detector/hook.d.ts +1 -0
- package/dist/hooks/preemptive-compaction.d.ts +2 -5
- package/dist/hooks/ralph-loop/pending-verification-handler.d.ts +17 -0
- package/dist/hooks/runtime-fallback/fallback-bootstrap-model.d.ts +10 -0
- package/dist/hooks/runtime-fallback/fallback-retry-dispatcher.d.ts +11 -0
- package/dist/hooks/runtime-fallback/hook.d.ts +2 -3
- package/dist/hooks/runtime-fallback/last-user-retry-parts.d.ts +4 -0
- package/dist/hooks/runtime-fallback/message-update-handler.d.ts +1 -2
- package/dist/hooks/runtime-fallback/retry-model-payload.d.ts +7 -0
- package/dist/hooks/runtime-fallback/session-messages.d.ts +9 -0
- package/dist/hooks/runtime-fallback/session-status-handler.d.ts +3 -0
- package/dist/hooks/runtime-fallback/types.d.ts +57 -3
- package/dist/hooks/runtime-fallback/visible-assistant-response.d.ts +3 -0
- package/dist/hooks/session-notification-content.d.ts +30 -0
- package/dist/hooks/session-notification-scheduler.d.ts +1 -3
- package/dist/hooks/start-work/index.d.ts +1 -1
- package/dist/hooks/start-work/worktree-detector.d.ts +7 -0
- package/dist/hooks/todo-continuation-enforcer/compaction-guard.d.ts +2 -0
- package/dist/hooks/todo-continuation-enforcer/constants.d.ts +2 -0
- package/dist/hooks/todo-continuation-enforcer/handler.d.ts +1 -0
- package/dist/hooks/todo-continuation-enforcer/idle-event.d.ts +1 -0
- package/dist/hooks/todo-continuation-enforcer/resolve-message-info.d.ts +3 -0
- package/dist/hooks/todo-continuation-enforcer/session-state.d.ts +10 -1
- package/dist/hooks/todo-continuation-enforcer/stagnation-detection.d.ts +6 -0
- package/dist/hooks/todo-continuation-enforcer/types.d.ts +10 -0
- package/dist/hooks/todo-description-override/description.d.ts +1 -0
- package/dist/hooks/todo-description-override/hook.d.ts +8 -0
- package/dist/hooks/todo-description-override/index.d.ts +1 -0
- package/dist/hooks/tool-output-truncator.d.ts +1 -0
- package/dist/index.js +10849 -6983
- package/dist/oh-my-opencode.schema.json +46 -2
- package/dist/plugin/hooks/create-continuation-hooks.d.ts +2 -1
- package/dist/plugin/hooks/create-core-hooks.d.ts +1 -0
- package/dist/plugin/hooks/create-tool-guard-hooks.d.ts +2 -1
- package/dist/plugin/normalize-tool-arg-schemas.d.ts +2 -0
- package/dist/plugin/ultrawork-model-override.d.ts +1 -15
- package/dist/plugin/ultrawork-variant-availability.d.ts +6 -0
- package/dist/plugin-dispose.d.ts +10 -0
- package/dist/plugin-handlers/agent-override-protection.d.ts +3 -0
- package/dist/plugin-state.d.ts +5 -0
- package/dist/shared/compaction-agent-config-checkpoint.d.ts +11 -0
- package/dist/shared/connected-providers-cache.d.ts +26 -29
- package/dist/shared/context-limit-resolver.d.ts +5 -0
- package/dist/shared/dynamic-truncator.d.ts +4 -7
- package/dist/shared/fallback-chain-from-models.d.ts +3 -0
- package/dist/shared/index.d.ts +3 -0
- package/dist/shared/model-error-classifier.d.ts +2 -1
- package/dist/shared/opencode-command-dirs.d.ts +3 -0
- package/dist/shared/plugin-identity.d.ts +5 -0
- package/dist/shared/question-denied-session-permission.d.ts +6 -0
- package/dist/shared/retry-status-utils.d.ts +2 -0
- package/dist/shared/shell-env.d.ts +27 -0
- package/dist/shared/tmux/tmux-utils/environment.d.ts +1 -0
- package/dist/shared/vision-capable-models-cache.d.ts +4 -0
- package/dist/tools/call-omo-agent/background-executor.d.ts +2 -1
- package/dist/tools/call-omo-agent/constants.d.ts +1 -1
- package/dist/tools/call-omo-agent/sync-executor.d.ts +11 -3
- package/dist/tools/call-omo-agent/tools.d.ts +2 -1
- package/dist/tools/delegate-task/cancel-unstable-agent-task.d.ts +2 -0
- package/dist/tools/delegate-task/model-selection.d.ts +3 -0
- package/dist/tools/delegate-task/model-string-parser.d.ts +5 -3
- package/dist/tools/hashline-edit/hash-computation.d.ts +1 -0
- package/dist/tools/hashline-edit/tool-description.d.ts +1 -1
- package/dist/tools/look-at/constants.d.ts +1 -1
- package/dist/tools/look-at/multimodal-fallback-chain.d.ts +4 -0
- package/dist/tools/lsp/constants.d.ts +1 -0
- package/dist/tools/lsp/directory-diagnostics.d.ts +1 -0
- package/dist/tools/lsp/lsp-client-transport.d.ts +4 -2
- package/dist/tools/lsp/lsp-client-wrapper.d.ts +2 -1
- package/dist/tools/lsp/server-path-bases.d.ts +1 -0
- package/package.json +18 -18
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import type { PluginInput } from "@opencode-ai/plugin";
|
|
2
2
|
import type { Platform } from "./session-notification-sender";
|
|
3
3
|
type SessionNotificationConfig = {
|
|
4
|
-
title: string;
|
|
5
|
-
message: string;
|
|
6
4
|
playSound: boolean;
|
|
7
5
|
soundPath: string;
|
|
8
6
|
idleConfirmationDelay: number;
|
|
@@ -16,7 +14,7 @@ export declare function createIdleNotificationScheduler(options: {
|
|
|
16
14
|
platform: Platform;
|
|
17
15
|
config: SessionNotificationConfig;
|
|
18
16
|
hasIncompleteTodos: (ctx: PluginInput, sessionID: string) => Promise<boolean>;
|
|
19
|
-
send: (ctx: PluginInput, platform: Platform,
|
|
17
|
+
send: (ctx: PluginInput, platform: Platform, sessionID: string) => Promise<void>;
|
|
20
18
|
playSound: (ctx: PluginInput, platform: Platform, soundPath: string) => Promise<void>;
|
|
21
19
|
}): {
|
|
22
20
|
markSessionActivity: (sessionID: string) => void;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { HOOK_NAME, createStartWorkHook } from "./start-work-hook";
|
|
2
|
-
export { detectWorktreePath } from "./worktree-detector";
|
|
2
|
+
export { detectWorktreePath, listWorktrees, parseWorktreeListPorcelain } from "./worktree-detector";
|
|
3
3
|
export type { ParsedUserRequest } from "./parse-user-request";
|
|
4
4
|
export { parseUserRequest } from "./parse-user-request";
|
|
@@ -1 +1,8 @@
|
|
|
1
|
+
export type WorktreeEntry = {
|
|
2
|
+
path: string;
|
|
3
|
+
branch: string | undefined;
|
|
4
|
+
bare: boolean;
|
|
5
|
+
};
|
|
6
|
+
export declare function parseWorktreeListPorcelain(output: string): WorktreeEntry[];
|
|
7
|
+
export declare function listWorktrees(directory: string): WorktreeEntry[];
|
|
1
8
|
export declare function detectWorktreePath(directory: string): string | null;
|
|
@@ -5,6 +5,8 @@ export declare const COUNTDOWN_SECONDS = 2;
|
|
|
5
5
|
export declare const TOAST_DURATION_MS = 900;
|
|
6
6
|
export declare const COUNTDOWN_GRACE_PERIOD_MS = 500;
|
|
7
7
|
export declare const ABORT_WINDOW_MS = 3000;
|
|
8
|
+
export declare const COMPACTION_GUARD_MS = 60000;
|
|
8
9
|
export declare const CONTINUATION_COOLDOWN_MS = 5000;
|
|
10
|
+
export declare const MAX_STAGNATION_COUNT = 3;
|
|
9
11
|
export declare const MAX_CONSECUTIVE_FAILURES = 5;
|
|
10
12
|
export declare const FAILURE_RESET_WINDOW_MS: number;
|
|
@@ -7,6 +7,7 @@ export declare function createTodoContinuationHandler(args: {
|
|
|
7
7
|
backgroundManager?: BackgroundManager;
|
|
8
8
|
skipAgents?: string[];
|
|
9
9
|
isContinuationStopped?: (sessionID: string) => boolean;
|
|
10
|
+
shouldSkipContinuation?: (sessionID: string) => boolean;
|
|
10
11
|
}): (input: {
|
|
11
12
|
event: {
|
|
12
13
|
type: string;
|
|
@@ -1,7 +1,16 @@
|
|
|
1
|
-
import type { SessionState } from "./types";
|
|
1
|
+
import type { SessionState, Todo } from "./types";
|
|
2
|
+
export interface ContinuationProgressUpdate {
|
|
3
|
+
previousIncompleteCount?: number;
|
|
4
|
+
previousStagnationCount: number;
|
|
5
|
+
stagnationCount: number;
|
|
6
|
+
hasProgressed: boolean;
|
|
7
|
+
progressSource: "none" | "todo";
|
|
8
|
+
}
|
|
2
9
|
export interface SessionStateStore {
|
|
3
10
|
getState: (sessionID: string) => SessionState;
|
|
4
11
|
getExistingState: (sessionID: string) => SessionState | undefined;
|
|
12
|
+
trackContinuationProgress: (sessionID: string, incompleteCount: number, todos?: Todo[]) => ContinuationProgressUpdate;
|
|
13
|
+
resetContinuationProgress: (sessionID: string) => void;
|
|
5
14
|
cancelCountdown: (sessionID: string) => void;
|
|
6
15
|
cleanup: (sessionID: string) => void;
|
|
7
16
|
cancelAllCountdowns: () => void;
|
|
@@ -4,6 +4,7 @@ export interface TodoContinuationEnforcerOptions {
|
|
|
4
4
|
backgroundManager?: BackgroundManager;
|
|
5
5
|
skipAgents?: string[];
|
|
6
6
|
isContinuationStopped?: (sessionID: string) => boolean;
|
|
7
|
+
shouldSkipContinuation?: (sessionID: string) => boolean;
|
|
7
8
|
}
|
|
8
9
|
export interface TodoContinuationEnforcer {
|
|
9
10
|
handler: (input: {
|
|
@@ -15,6 +16,7 @@ export interface TodoContinuationEnforcer {
|
|
|
15
16
|
markRecovering: (sessionID: string) => void;
|
|
16
17
|
markRecoveryComplete: (sessionID: string) => void;
|
|
17
18
|
cancelAllCountdowns: () => void;
|
|
19
|
+
dispose: () => void;
|
|
18
20
|
}
|
|
19
21
|
export interface Todo {
|
|
20
22
|
content: string;
|
|
@@ -28,9 +30,13 @@ export interface SessionState {
|
|
|
28
30
|
isRecovering?: boolean;
|
|
29
31
|
countdownStartedAt?: number;
|
|
30
32
|
abortDetectedAt?: number;
|
|
33
|
+
lastIncompleteCount?: number;
|
|
31
34
|
lastInjectedAt?: number;
|
|
35
|
+
awaitingPostInjectionProgressCheck?: boolean;
|
|
32
36
|
inFlight?: boolean;
|
|
37
|
+
stagnationCount: number;
|
|
33
38
|
consecutiveFailures: number;
|
|
39
|
+
recentCompactionAt?: number;
|
|
34
40
|
}
|
|
35
41
|
export interface MessageInfo {
|
|
36
42
|
id?: string;
|
|
@@ -56,3 +62,7 @@ export interface ResolvedMessageInfo {
|
|
|
56
62
|
};
|
|
57
63
|
tools?: Record<string, ToolPermission>;
|
|
58
64
|
}
|
|
65
|
+
export interface ResolveLatestMessageInfoResult {
|
|
66
|
+
resolvedInfo?: ResolvedMessageInfo;
|
|
67
|
+
encounteredCompaction: boolean;
|
|
68
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const TODOWRITE_DESCRIPTION = "Use this tool to create and manage a structured task list for tracking progress on multi-step work.\n\n## Todo Format (MANDATORY)\n\nEach todo title MUST encode four elements: WHERE, WHY, HOW, and EXPECTED RESULT.\n\nFormat: \"[WHERE] [HOW] to [WHY] \u2014 expect [RESULT]\"\n\nGOOD:\n- \"src/utils/validation.ts: Add validateEmail() for input sanitization \u2014 returns boolean\"\n- \"UserService.create(): Call validateEmail() before DB insert \u2014 rejects invalid emails with 400\"\n- \"validation.test.ts: Add test for missing @ sign \u2014 expect validateEmail('foo') to return false\"\n\nBAD:\n- \"Implement email validation\" (where? how? what result?)\n- \"Add dark mode\" (this is a feature, not a todo)\n- \"Fix auth\" (what file? what changes? what's expected?)\n\n## Granularity Rules\n\nEach todo MUST be a single atomic action completable in 1-3 tool calls. If it needs more, split it.\n\n**Size test**: Can you complete this todo by editing one file or running one command? If not, it's too big.\n\n## Task Management\n- One in_progress at a time. Complete it before starting the next.\n- Mark completed immediately after finishing each item.\n- Skip this tool for single trivial tasks (one-step, obvious action).";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { createTodoDescriptionOverrideHook } from "./hook";
|