oh-my-opencode 3.1.9 → 3.1.11

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 (30) hide show
  1. package/dist/agents/momus.d.ts +1 -1
  2. package/dist/agents/sisyphus.d.ts +2 -0
  3. package/dist/cli/index.js +3560 -2329
  4. package/dist/config/schema.d.ts +14 -12
  5. package/dist/features/background-agent/manager.d.ts +1 -0
  6. package/dist/features/builtin-commands/templates/stop-continuation.d.ts +1 -0
  7. package/dist/features/builtin-commands/types.d.ts +1 -1
  8. package/dist/features/sisyphus-tasks/types.d.ts +3 -3
  9. package/dist/hooks/claude-code-hooks/transcript.d.ts +0 -4
  10. package/dist/hooks/directory-agents-injector/storage.d.ts +1 -3
  11. package/dist/hooks/directory-readme-injector/storage.d.ts +1 -3
  12. package/dist/hooks/index.d.ts +1 -1
  13. package/dist/hooks/session-notification-utils.d.ts +6 -6
  14. package/dist/hooks/stop-continuation-guard/index.d.ts +16 -0
  15. package/dist/hooks/think-mode/switcher.d.ts +12 -0
  16. package/dist/hooks/todo-continuation-enforcer.d.ts +2 -0
  17. package/dist/index.js +16402 -3111
  18. package/dist/shared/binary-downloader.d.ts +10 -0
  19. package/dist/shared/index.d.ts +2 -1
  20. package/dist/shared/model-resolution-pipeline.d.ts +24 -0
  21. package/dist/shared/opencode-version.d.ts +0 -2
  22. package/dist/shared/session-injected-paths.d.ts +10 -0
  23. package/dist/shared/snake-case.d.ts +1 -0
  24. package/package.json +8 -8
  25. package/dist/hooks/compaction-context-injector/index.d.ts +0 -8
  26. package/dist/hooks/directory-agents-injector/types.d.ts +0 -5
  27. package/dist/hooks/directory-readme-injector/types.d.ts +0 -5
  28. package/dist/shared/case-insensitive.d.ts +0 -24
  29. /package/dist/{hooks/compaction-context-injector/index.test.d.ts → features/builtin-commands/templates/stop-continuation.test.d.ts} +0 -0
  30. /package/dist/{shared/case-insensitive.test.d.ts → hooks/stop-continuation-guard/index.test.d.ts} +0 -0
@@ -1,14 +1,14 @@
1
1
  import { z } from "zod";
2
2
  export declare const BuiltinAgentNameSchema: z.ZodEnum<{
3
+ "multimodal-looker": "multimodal-looker";
4
+ oracle: "oracle";
5
+ librarian: "librarian";
3
6
  sisyphus: "sisyphus";
4
7
  prometheus: "prometheus";
5
8
  atlas: "atlas";
6
9
  metis: "metis";
7
10
  momus: "momus";
8
- oracle: "oracle";
9
- librarian: "librarian";
10
11
  explore: "explore";
11
- "multimodal-looker": "multimodal-looker";
12
12
  }>;
13
13
  export declare const BuiltinSkillNameSchema: z.ZodEnum<{
14
14
  playwright: "playwright";
@@ -17,6 +17,9 @@ export declare const BuiltinSkillNameSchema: z.ZodEnum<{
17
17
  "git-master": "git-master";
18
18
  }>;
19
19
  export declare const OverridableAgentNameSchema: z.ZodEnum<{
20
+ "multimodal-looker": "multimodal-looker";
21
+ oracle: "oracle";
22
+ librarian: "librarian";
20
23
  plan: "plan";
21
24
  sisyphus: "sisyphus";
22
25
  prometheus: "prometheus";
@@ -25,22 +28,19 @@ export declare const OverridableAgentNameSchema: z.ZodEnum<{
25
28
  momus: "momus";
26
29
  "sisyphus-junior": "sisyphus-junior";
27
30
  build: "build";
28
- oracle: "oracle";
29
- librarian: "librarian";
30
31
  explore: "explore";
31
- "multimodal-looker": "multimodal-looker";
32
32
  "OpenCode-Builder": "OpenCode-Builder";
33
33
  }>;
34
34
  export declare const AgentNameSchema: z.ZodEnum<{
35
+ "multimodal-looker": "multimodal-looker";
36
+ oracle: "oracle";
37
+ librarian: "librarian";
35
38
  sisyphus: "sisyphus";
36
39
  prometheus: "prometheus";
37
40
  atlas: "atlas";
38
41
  metis: "metis";
39
42
  momus: "momus";
40
- oracle: "oracle";
41
- librarian: "librarian";
42
43
  explore: "explore";
43
- "multimodal-looker": "multimodal-looker";
44
44
  }>;
45
45
  export declare const HookNameSchema: z.ZodEnum<{
46
46
  atlas: "atlas";
@@ -75,6 +75,7 @@ export declare const HookNameSchema: z.ZodEnum<{
75
75
  "prometheus-md-only": "prometheus-md-only";
76
76
  "sisyphus-junior-notepad": "sisyphus-junior-notepad";
77
77
  "start-work": "start-work";
78
+ "stop-continuation-guard": "stop-continuation-guard";
78
79
  }>;
79
80
  export declare const BuiltinCommandNameSchema: z.ZodEnum<{
80
81
  "start-work": "start-work";
@@ -1344,15 +1345,15 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
1344
1345
  $schema: z.ZodOptional<z.ZodString>;
1345
1346
  disabled_mcps: z.ZodOptional<z.ZodArray<z.ZodString>>;
1346
1347
  disabled_agents: z.ZodOptional<z.ZodArray<z.ZodEnum<{
1348
+ "multimodal-looker": "multimodal-looker";
1349
+ oracle: "oracle";
1350
+ librarian: "librarian";
1347
1351
  sisyphus: "sisyphus";
1348
1352
  prometheus: "prometheus";
1349
1353
  atlas: "atlas";
1350
1354
  metis: "metis";
1351
1355
  momus: "momus";
1352
- oracle: "oracle";
1353
- librarian: "librarian";
1354
1356
  explore: "explore";
1355
- "multimodal-looker": "multimodal-looker";
1356
1357
  }>>>;
1357
1358
  disabled_skills: z.ZodOptional<z.ZodArray<z.ZodEnum<{
1358
1359
  playwright: "playwright";
@@ -1393,6 +1394,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
1393
1394
  "prometheus-md-only": "prometheus-md-only";
1394
1395
  "sisyphus-junior-notepad": "sisyphus-junior-notepad";
1395
1396
  "start-work": "start-work";
1397
+ "stop-continuation-guard": "stop-continuation-guard";
1396
1398
  }>>>;
1397
1399
  disabled_commands: z.ZodOptional<z.ZodArray<z.ZodEnum<{
1398
1400
  "start-work": "start-work";
@@ -36,6 +36,7 @@ export declare class BackgroundManager {
36
36
  private onShutdown?;
37
37
  private queuesByKey;
38
38
  private processingKeys;
39
+ private completionTimers;
39
40
  constructor(ctx: PluginInput, config?: BackgroundTaskConfig, options?: {
40
41
  tmuxConfig?: TmuxConfig;
41
42
  onSubagentSessionCreated?: OnSubagentSessionCreated;
@@ -0,0 +1 @@
1
+ export declare const STOP_CONTINUATION_TEMPLATE = "Stop all continuation mechanisms for the current session.\n\nThis command will:\n1. Stop the todo-continuation-enforcer from automatically continuing incomplete tasks\n2. Cancel any active Ralph Loop\n3. Clear the boulder state for the current project\n\nAfter running this command:\n- The session will not auto-continue when idle\n- You can manually continue work when ready\n- The stop state is per-session and clears when the session ends\n\nUse this when you need to pause automated continuation and take manual control.";
@@ -1,5 +1,5 @@
1
1
  import type { CommandDefinition } from "../claude-code-command-loader";
2
- export type BuiltinCommandName = "init-deep" | "ralph-loop" | "cancel-ralph" | "ulw-loop" | "refactor" | "start-work";
2
+ export type BuiltinCommandName = "init-deep" | "ralph-loop" | "cancel-ralph" | "ulw-loop" | "refactor" | "start-work" | "stop-continuation";
3
3
  export interface BuiltinCommandConfig {
4
4
  disabled_commands?: BuiltinCommandName[];
5
5
  }
@@ -1,8 +1,8 @@
1
1
  import { z } from "zod";
2
2
  export declare const TaskStatusSchema: z.ZodEnum<{
3
3
  pending: "pending";
4
- in_progress: "in_progress";
5
4
  completed: "completed";
5
+ in_progress: "in_progress";
6
6
  }>;
7
7
  export type TaskStatus = z.infer<typeof TaskStatusSchema>;
8
8
  export declare const TaskSchema: z.ZodObject<{
@@ -13,8 +13,8 @@ export declare const TaskSchema: z.ZodObject<{
13
13
  owner: z.ZodOptional<z.ZodString>;
14
14
  status: z.ZodEnum<{
15
15
  pending: "pending";
16
- in_progress: "in_progress";
17
16
  completed: "completed";
17
+ in_progress: "in_progress";
18
18
  }>;
19
19
  blocks: z.ZodArray<z.ZodString>;
20
20
  blockedBy: z.ZodArray<z.ZodString>;
@@ -35,8 +35,8 @@ export declare const TaskUpdateInputSchema: z.ZodObject<{
35
35
  activeForm: z.ZodOptional<z.ZodString>;
36
36
  status: z.ZodOptional<z.ZodEnum<{
37
37
  pending: "pending";
38
- in_progress: "in_progress";
39
38
  completed: "completed";
39
+ in_progress: "in_progress";
40
40
  deleted: "deleted";
41
41
  }>>;
42
42
  addBlocks: z.ZodOptional<z.ZodArray<z.ZodString>>;
@@ -1,10 +1,6 @@
1
1
  import type { TranscriptEntry } from "./types";
2
2
  export declare function getTranscriptPath(sessionId: string): string;
3
3
  export declare function appendTranscriptEntry(sessionId: string, entry: TranscriptEntry): void;
4
- export declare function recordToolUse(sessionId: string, toolName: string, toolInput: Record<string, unknown>): void;
5
- export declare function recordToolResult(sessionId: string, toolName: string, toolInput: Record<string, unknown>, toolOutput: Record<string, unknown>): void;
6
- export declare function recordUserMessage(sessionId: string, content: string): void;
7
- export declare function recordAssistantMessage(sessionId: string, content: string): void;
8
4
  /**
9
5
  * Build Claude Code compatible transcript from session messages
10
6
  *
@@ -1,3 +1 @@
1
- export declare function loadInjectedPaths(sessionID: string): Set<string>;
2
- export declare function saveInjectedPaths(sessionID: string, paths: Set<string>): void;
3
- export declare function clearInjectedPaths(sessionID: string): void;
1
+ export declare const loadInjectedPaths: (sessionID: string) => Set<string>, saveInjectedPaths: (sessionID: string, paths: Set<string>) => void, clearInjectedPaths: (sessionID: string) => void;
@@ -1,3 +1 @@
1
- export declare function loadInjectedPaths(sessionID: string): Set<string>;
2
- export declare function saveInjectedPaths(sessionID: string, paths: Set<string>): void;
3
- export declare function clearInjectedPaths(sessionID: string): void;
1
+ export declare const loadInjectedPaths: (sessionID: string) => Set<string>, saveInjectedPaths: (sessionID: string, paths: Set<string>) => void, clearInjectedPaths: (sessionID: string) => void;
@@ -8,7 +8,6 @@ export { createDirectoryAgentsInjectorHook } from "./directory-agents-injector";
8
8
  export { createDirectoryReadmeInjectorHook } from "./directory-readme-injector";
9
9
  export { createEmptyTaskResponseDetectorHook } from "./empty-task-response-detector";
10
10
  export { createAnthropicContextWindowLimitRecoveryHook, type AnthropicContextWindowLimitRecoveryOptions } from "./anthropic-context-window-limit-recovery";
11
- export { createCompactionContextInjector } from "./compaction-context-injector";
12
11
  export { createThinkModeHook } from "./think-mode";
13
12
  export { createClaudeCodeHooksHook } from "./claude-code-hooks";
14
13
  export { createRulesInjectorHook } from "./rules-injector";
@@ -31,3 +30,4 @@ export { createAtlasHook } from "./atlas";
31
30
  export { createDelegateTaskRetryHook } from "./delegate-task-retry";
32
31
  export { createQuestionLabelTruncatorHook } from "./question-label-truncator";
33
32
  export { createSubagentQuestionBlockerHook } from "./subagent-question-blocker";
33
+ export { createStopContinuationGuardHook, type StopContinuationGuard } from "./stop-continuation-guard";
@@ -1,9 +1,9 @@
1
1
  type Platform = "darwin" | "linux" | "win32" | "unsupported";
2
- export declare function getNotifySendPath(): Promise<string | null>;
3
- export declare function getOsascriptPath(): Promise<string | null>;
4
- export declare function getPowershellPath(): Promise<string | null>;
5
- export declare function getAfplayPath(): Promise<string | null>;
6
- export declare function getPaplayPath(): Promise<string | null>;
7
- export declare function getAplayPath(): Promise<string | null>;
2
+ export declare const getNotifySendPath: () => Promise<string | null>;
3
+ export declare const getOsascriptPath: () => Promise<string | null>;
4
+ export declare const getPowershellPath: () => Promise<string | null>;
5
+ export declare const getAfplayPath: () => Promise<string | null>;
6
+ export declare const getPaplayPath: () => Promise<string | null>;
7
+ export declare const getAplayPath: () => Promise<string | null>;
8
8
  export declare function startBackgroundCheck(platform: Platform): void;
9
9
  export {};
@@ -0,0 +1,16 @@
1
+ import type { PluginInput } from "@opencode-ai/plugin";
2
+ export interface StopContinuationGuard {
3
+ event: (input: {
4
+ event: {
5
+ type: string;
6
+ properties?: unknown;
7
+ };
8
+ }) => Promise<void>;
9
+ "chat.message": (input: {
10
+ sessionID?: string;
11
+ }) => Promise<void>;
12
+ stop: (sessionID: string) => void;
13
+ isStopped: (sessionID: string) => boolean;
14
+ clear: (sessionID: string) => void;
15
+ }
16
+ export declare function createStopContinuationGuardHook(_ctx: PluginInput): StopContinuationGuard;
@@ -51,6 +51,18 @@ export declare const THINKING_CONFIGS: {
51
51
  readonly openai: {
52
52
  readonly reasoning_effort: "high";
53
53
  };
54
+ readonly "zai-coding-plan": {
55
+ readonly providerOptions: {
56
+ readonly "zai-coding-plan": {
57
+ readonly extra_body: {
58
+ readonly thinking: {
59
+ readonly type: "enabled";
60
+ readonly clear_thinking: false;
61
+ };
62
+ };
63
+ };
64
+ };
65
+ };
54
66
  };
55
67
  export declare function getHighVariant(modelID: string): string | null;
56
68
  export declare function isAlreadyHighVariant(modelID: string): boolean;
@@ -3,6 +3,7 @@ import type { BackgroundManager } from "../features/background-agent";
3
3
  export interface TodoContinuationEnforcerOptions {
4
4
  backgroundManager?: BackgroundManager;
5
5
  skipAgents?: string[];
6
+ isContinuationStopped?: (sessionID: string) => boolean;
6
7
  }
7
8
  export interface TodoContinuationEnforcer {
8
9
  handler: (input: {
@@ -13,5 +14,6 @@ export interface TodoContinuationEnforcer {
13
14
  }) => Promise<void>;
14
15
  markRecovering: (sessionID: string) => void;
15
16
  markRecoveryComplete: (sessionID: string) => void;
17
+ cancelAllCountdowns: () => void;
16
18
  }
17
19
  export declare function createTodoContinuationEnforcer(ctx: PluginInput, options?: TodoContinuationEnforcerOptions): TodoContinuationEnforcer;