oh-my-opencode 3.5.3 → 3.5.4
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.md +3 -3
- package/dist/agents/builtin-agents/agent-overrides.d.ts +2 -2
- package/dist/agents/builtin-agents/atlas-agent.d.ts +1 -0
- package/dist/agents/builtin-agents/resolve-file-uri.d.ts +1 -0
- package/dist/cli/doctor/checks/config.d.ts +2 -8
- package/dist/cli/doctor/checks/dependencies.d.ts +1 -5
- package/dist/cli/doctor/checks/index.d.ts +4 -16
- package/dist/cli/doctor/checks/model-resolution.d.ts +4 -4
- package/dist/cli/doctor/checks/{opencode.d.ts → system-binary.d.ts} +6 -12
- package/dist/cli/doctor/checks/system-loaded-version.d.ts +9 -0
- package/dist/cli/doctor/checks/system-plugin.d.ts +15 -0
- package/dist/cli/doctor/checks/system.d.ts +3 -0
- package/dist/cli/doctor/checks/{gh.d.ts → tools-gh.d.ts} +0 -3
- package/dist/cli/doctor/checks/tools-lsp.d.ts +6 -0
- package/dist/cli/doctor/checks/tools-mcp.d.ts +3 -0
- package/dist/cli/doctor/checks/tools.d.ts +3 -0
- package/dist/cli/doctor/constants.d.ts +4 -17
- package/dist/cli/doctor/format-default.d.ts +2 -0
- package/dist/cli/doctor/format-shared.d.ts +6 -0
- package/dist/cli/doctor/format-status.d.ts +2 -0
- package/dist/cli/doctor/format-verbose.d.ts +2 -0
- package/dist/cli/doctor/formatter.d.ts +2 -11
- package/dist/cli/doctor/index.d.ts +1 -1
- package/dist/cli/doctor/runner.d.ts +1 -3
- package/dist/cli/doctor/types.d.ts +39 -6
- package/dist/cli/index.js +939 -1135
- package/dist/cli/run/runner.d.ts +1 -0
- package/dist/config/schema/background-task.d.ts +1 -0
- package/dist/config/schema/hooks.d.ts +0 -1
- package/dist/config/schema/oh-my-opencode-config.d.ts +11 -11
- package/dist/config/schema/skills.d.ts +10 -10
- package/dist/create-hooks.d.ts +0 -1
- package/dist/features/background-agent/constants.d.ts +1 -0
- package/dist/features/background-agent/index.d.ts +1 -0
- package/dist/features/background-agent/manager.d.ts +2 -0
- package/dist/features/background-agent/poll-running-tasks.d.ts +3 -1
- package/dist/features/background-agent/task-history.d.ts +18 -0
- package/dist/features/background-agent/task-poller.d.ts +4 -0
- package/dist/features/background-agent/types.d.ts +4 -0
- package/dist/features/claude-code-agent-loader/loader.d.ts +1 -1
- package/dist/features/claude-code-command-loader/loader.d.ts +3 -3
- package/dist/features/opencode-skill-loader/config-source-discovery.d.ts +7 -0
- package/dist/features/opencode-skill-loader/index.d.ts +1 -0
- package/dist/features/opencode-skill-loader/loader.d.ts +8 -5
- package/dist/features/opencode-skill-loader/merger.d.ts +1 -1
- package/dist/features/opencode-skill-loader/skill-resolution-options.d.ts +2 -0
- package/dist/features/tmux-subagent/grid-planning.d.ts +1 -1
- package/dist/features/tmux-subagent/pane-split-availability.d.ts +3 -3
- package/dist/features/tmux-subagent/spawn-action-decider.d.ts +1 -1
- package/dist/hooks/claude-code-hooks/transcript.d.ts +8 -13
- package/dist/hooks/compaction-context-injector/hook.d.ts +2 -1
- package/dist/hooks/index.d.ts +0 -1
- package/dist/hooks/keyword-detector/ultrawork/source-detector.d.ts +2 -5
- package/dist/hooks/think-mode/switcher.d.ts +1 -2
- package/dist/hooks/todo-continuation-enforcer/constants.d.ts +1 -0
- package/dist/hooks/todo-continuation-enforcer/session-state.d.ts +1 -0
- package/dist/hooks/todo-continuation-enforcer/types.d.ts +2 -0
- package/dist/index.js +1835 -1390
- package/dist/plugin/hooks/create-core-hooks.d.ts +0 -1
- package/dist/plugin/hooks/create-session-hooks.d.ts +1 -2
- package/dist/plugin/session-agent-resolver.d.ts +19 -0
- package/dist/plugin-config.d.ts +1 -0
- package/dist/plugin-handlers/command-config-handler.d.ts +3 -0
- package/dist/shared/session-tools-store.d.ts +3 -0
- package/dist/tools/call-omo-agent/sync-executor.d.ts +10 -1
- package/dist/tools/slashcommand/command-discovery.d.ts +1 -1
- package/package.json +8 -8
- package/dist/cli/doctor/checks/auth.d.ts +0 -7
- package/dist/cli/doctor/checks/lsp.d.ts +0 -8
- package/dist/cli/doctor/checks/mcp-oauth.d.ts +0 -15
- package/dist/cli/doctor/checks/mcp.d.ts +0 -6
- package/dist/cli/doctor/checks/plugin.d.ts +0 -4
- package/dist/cli/doctor/checks/version.d.ts +0 -4
- package/dist/hooks/subagent-question-blocker/hook.d.ts +0 -2
- package/dist/hooks/subagent-question-blocker/index.d.ts +0 -1
package/dist/cli/run/runner.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { RunOptions } from "./types";
|
|
2
2
|
import { resolveRunAgent } from "./agent-resolver";
|
|
3
3
|
export { resolveRunAgent };
|
|
4
|
+
export declare function waitForEventProcessorShutdown(eventProcessor: Promise<void>, timeoutMs?: number): Promise<void>;
|
|
4
5
|
export declare function run(options: RunOptions): Promise<number>;
|
|
@@ -4,5 +4,6 @@ export declare const BackgroundTaskConfigSchema: z.ZodObject<{
|
|
|
4
4
|
providerConcurrency: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
|
|
5
5
|
modelConcurrency: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
|
|
6
6
|
staleTimeoutMs: z.ZodOptional<z.ZodNumber>;
|
|
7
|
+
messageStalenessTimeoutMs: z.ZodOptional<z.ZodNumber>;
|
|
7
8
|
}, z.core.$strip>;
|
|
8
9
|
export type BackgroundTaskConfig = z.infer<typeof BackgroundTaskConfigSchema>;
|
|
@@ -15,7 +15,6 @@ export declare const HookNameSchema: z.ZodEnum<{
|
|
|
15
15
|
"directory-readme-injector": "directory-readme-injector";
|
|
16
16
|
"empty-task-response-detector": "empty-task-response-detector";
|
|
17
17
|
"think-mode": "think-mode";
|
|
18
|
-
"subagent-question-blocker": "subagent-question-blocker";
|
|
19
18
|
"anthropic-context-window-limit-recovery": "anthropic-context-window-limit-recovery";
|
|
20
19
|
"preemptive-compaction": "preemptive-compaction";
|
|
21
20
|
"rules-injector": "rules-injector";
|
|
@@ -39,7 +39,6 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
|
|
|
39
39
|
"directory-readme-injector": "directory-readme-injector";
|
|
40
40
|
"empty-task-response-detector": "empty-task-response-detector";
|
|
41
41
|
"think-mode": "think-mode";
|
|
42
|
-
"subagent-question-blocker": "subagent-question-blocker";
|
|
43
42
|
"anthropic-context-window-limit-recovery": "anthropic-context-window-limit-recovery";
|
|
44
43
|
"preemptive-compaction": "preemptive-compaction";
|
|
45
44
|
"rules-injector": "rules-injector";
|
|
@@ -1214,7 +1213,15 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
|
|
|
1214
1213
|
safe_hook_creation: z.ZodOptional<z.ZodBoolean>;
|
|
1215
1214
|
}, z.core.$strip>>;
|
|
1216
1215
|
auto_update: z.ZodOptional<z.ZodBoolean>;
|
|
1217
|
-
skills: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.
|
|
1216
|
+
skills: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodObject<{
|
|
1217
|
+
sources: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
1218
|
+
path: z.ZodString;
|
|
1219
|
+
recursive: z.ZodOptional<z.ZodBoolean>;
|
|
1220
|
+
glob: z.ZodOptional<z.ZodString>;
|
|
1221
|
+
}, z.core.$strip>]>>>;
|
|
1222
|
+
enable: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
1223
|
+
disable: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
1224
|
+
}, z.core.$catchall<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
|
|
1218
1225
|
description: z.ZodOptional<z.ZodString>;
|
|
1219
1226
|
template: z.ZodOptional<z.ZodString>;
|
|
1220
1227
|
from: z.ZodOptional<z.ZodString>;
|
|
@@ -1227,15 +1234,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
|
|
|
1227
1234
|
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
1228
1235
|
"allowed-tools": z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
1229
1236
|
disable: z.ZodOptional<z.ZodBoolean>;
|
|
1230
|
-
}, z.core.$strip>]
|
|
1231
|
-
sources: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
1232
|
-
path: z.ZodString;
|
|
1233
|
-
recursive: z.ZodOptional<z.ZodBoolean>;
|
|
1234
|
-
glob: z.ZodOptional<z.ZodString>;
|
|
1235
|
-
}, z.core.$strip>]>>>>;
|
|
1236
|
-
enable: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodString>>>;
|
|
1237
|
-
disable: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodString>>>;
|
|
1238
|
-
}, z.core.$strip>>]>>;
|
|
1237
|
+
}, z.core.$strip>]>>>]>>;
|
|
1239
1238
|
ralph_loop: z.ZodOptional<z.ZodObject<{
|
|
1240
1239
|
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
1241
1240
|
default_max_iterations: z.ZodDefault<z.ZodNumber>;
|
|
@@ -1246,6 +1245,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
|
|
|
1246
1245
|
providerConcurrency: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
|
|
1247
1246
|
modelConcurrency: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
|
|
1248
1247
|
staleTimeoutMs: z.ZodOptional<z.ZodNumber>;
|
|
1248
|
+
messageStalenessTimeoutMs: z.ZodOptional<z.ZodNumber>;
|
|
1249
1249
|
}, z.core.$strip>>;
|
|
1250
1250
|
notification: z.ZodOptional<z.ZodObject<{
|
|
1251
1251
|
force_enable: z.ZodOptional<z.ZodBoolean>;
|
|
@@ -32,7 +32,15 @@ export declare const SkillEntrySchema: z.ZodUnion<readonly [z.ZodBoolean, z.ZodO
|
|
|
32
32
|
"allowed-tools": z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
33
33
|
disable: z.ZodOptional<z.ZodBoolean>;
|
|
34
34
|
}, z.core.$strip>]>;
|
|
35
|
-
export declare const SkillsConfigSchema: z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.
|
|
35
|
+
export declare const SkillsConfigSchema: z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodObject<{
|
|
36
|
+
sources: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
37
|
+
path: z.ZodString;
|
|
38
|
+
recursive: z.ZodOptional<z.ZodBoolean>;
|
|
39
|
+
glob: z.ZodOptional<z.ZodString>;
|
|
40
|
+
}, z.core.$strip>]>>>;
|
|
41
|
+
enable: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
42
|
+
disable: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
43
|
+
}, z.core.$catchall<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
|
|
36
44
|
description: z.ZodOptional<z.ZodString>;
|
|
37
45
|
template: z.ZodOptional<z.ZodString>;
|
|
38
46
|
from: z.ZodOptional<z.ZodString>;
|
|
@@ -45,14 +53,6 @@ export declare const SkillsConfigSchema: z.ZodUnion<readonly [z.ZodArray<z.ZodSt
|
|
|
45
53
|
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
46
54
|
"allowed-tools": z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
47
55
|
disable: z.ZodOptional<z.ZodBoolean>;
|
|
48
|
-
}, z.core.$strip>]
|
|
49
|
-
sources: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
50
|
-
path: z.ZodString;
|
|
51
|
-
recursive: z.ZodOptional<z.ZodBoolean>;
|
|
52
|
-
glob: z.ZodOptional<z.ZodString>;
|
|
53
|
-
}, z.core.$strip>]>>>>;
|
|
54
|
-
enable: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodString>>>;
|
|
55
|
-
disable: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodString>>>;
|
|
56
|
-
}, z.core.$strip>>]>;
|
|
56
|
+
}, z.core.$strip>]>>>]>;
|
|
57
57
|
export type SkillsConfig = z.infer<typeof SkillsConfigSchema>;
|
|
58
58
|
export type SkillDefinition = z.infer<typeof SkillDefinitionSchema>;
|
package/dist/create-hooks.d.ts
CHANGED
|
@@ -51,7 +51,6 @@ export declare function createHooks(args: {
|
|
|
51
51
|
prometheusMdOnly: ReturnType<typeof import("./hooks").createPrometheusMdOnlyHook> | null;
|
|
52
52
|
sisyphusJuniorNotepad: ReturnType<typeof import("./hooks").createSisyphusJuniorNotepadHook> | null;
|
|
53
53
|
questionLabelTruncator: ReturnType<typeof import("./hooks").createQuestionLabelTruncatorHook>;
|
|
54
|
-
subagentQuestionBlocker: ReturnType<typeof import("./hooks").createSubagentQuestionBlockerHook>;
|
|
55
54
|
taskResumeInfo: ReturnType<typeof import("./hooks").createTaskResumeInfoHook>;
|
|
56
55
|
anthropicEffort: ReturnType<typeof import("./hooks/anthropic-effort").createAnthropicEffortHook> | null;
|
|
57
56
|
};
|
|
@@ -3,6 +3,7 @@ import type { BackgroundTask, LaunchInput } from "./types";
|
|
|
3
3
|
export declare const TASK_TTL_MS: number;
|
|
4
4
|
export declare const MIN_STABILITY_TIME_MS: number;
|
|
5
5
|
export declare const DEFAULT_STALE_TIMEOUT_MS = 180000;
|
|
6
|
+
export declare const DEFAULT_MESSAGE_STALENESS_TIMEOUT_MS = 600000;
|
|
6
7
|
export declare const MIN_RUNTIME_BEFORE_STALE_MS = 30000;
|
|
7
8
|
export declare const MIN_IDLE_TIME_MS = 5000;
|
|
8
9
|
export declare const POLLING_INTERVAL_MS = 3000;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export * from "./types";
|
|
2
2
|
export { BackgroundManager, type SubagentSessionCreatedEvent, type OnSubagentSessionCreated } from "./manager";
|
|
3
|
+
export { TaskHistory, type TaskHistoryEntry } from "./task-history";
|
|
3
4
|
export { ConcurrencyManager } from "./concurrency";
|
|
4
5
|
export { TaskStateManager } from "./state";
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { PluginInput } from "@opencode-ai/plugin";
|
|
2
2
|
import type { BackgroundTask, LaunchInput, ResumeInput } from "./types";
|
|
3
|
+
import { TaskHistory } from "./task-history";
|
|
3
4
|
import type { BackgroundTaskConfig, TmuxConfig } from "../../config/schema";
|
|
4
5
|
interface EventProperties {
|
|
5
6
|
sessionID?: string;
|
|
@@ -39,6 +40,7 @@ export declare class BackgroundManager {
|
|
|
39
40
|
private completionTimers;
|
|
40
41
|
private idleDeferralTimers;
|
|
41
42
|
private notificationQueueByParent;
|
|
43
|
+
readonly taskHistory: TaskHistory;
|
|
42
44
|
constructor(ctx: PluginInput, config?: BackgroundTaskConfig, options?: {
|
|
43
45
|
tmuxConfig?: TmuxConfig;
|
|
44
46
|
onSubagentSessionCreated?: OnSubagentSessionCreated;
|
|
@@ -4,7 +4,9 @@ export declare function pollRunningTasks(args: {
|
|
|
4
4
|
tasks: Iterable<BackgroundTask>;
|
|
5
5
|
client: OpencodeClient;
|
|
6
6
|
pruneStaleTasksAndNotifications: () => void;
|
|
7
|
-
checkAndInterruptStaleTasks: (
|
|
7
|
+
checkAndInterruptStaleTasks: (statuses: Record<string, {
|
|
8
|
+
type: string;
|
|
9
|
+
}>) => Promise<void>;
|
|
8
10
|
validateSessionHasOutput: (sessionID: string) => Promise<boolean>;
|
|
9
11
|
checkSessionTodos: (sessionID: string) => Promise<boolean>;
|
|
10
12
|
tryCompleteTask: (task: BackgroundTask, source: string) => Promise<boolean>;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { BackgroundTaskStatus } from "./types";
|
|
2
|
+
export interface TaskHistoryEntry {
|
|
3
|
+
id: string;
|
|
4
|
+
sessionID?: string;
|
|
5
|
+
agent: string;
|
|
6
|
+
description: string;
|
|
7
|
+
status: BackgroundTaskStatus;
|
|
8
|
+
category?: string;
|
|
9
|
+
startedAt?: Date;
|
|
10
|
+
completedAt?: Date;
|
|
11
|
+
}
|
|
12
|
+
export declare class TaskHistory {
|
|
13
|
+
private entries;
|
|
14
|
+
record(parentSessionID: string | undefined, entry: TaskHistoryEntry): void;
|
|
15
|
+
getByParentSession(parentSessionID: string): TaskHistoryEntry[];
|
|
16
|
+
clearSession(parentSessionID: string): void;
|
|
17
|
+
formatForCompaction(parentSessionID: string): string | null;
|
|
18
|
+
}
|
|
@@ -7,10 +7,14 @@ export declare function pruneStaleTasksAndNotifications(args: {
|
|
|
7
7
|
notifications: Map<string, BackgroundTask[]>;
|
|
8
8
|
onTaskPruned: (taskId: string, task: BackgroundTask, errorMessage: string) => void;
|
|
9
9
|
}): void;
|
|
10
|
+
export type SessionStatusMap = Record<string, {
|
|
11
|
+
type: string;
|
|
12
|
+
}>;
|
|
10
13
|
export declare function checkAndInterruptStaleTasks(args: {
|
|
11
14
|
tasks: Iterable<BackgroundTask>;
|
|
12
15
|
client: OpencodeClient;
|
|
13
16
|
config: BackgroundTaskConfig | undefined;
|
|
14
17
|
concurrencyManager: ConcurrencyManager;
|
|
15
18
|
notifyParentSession: (task: BackgroundTask) => Promise<void>;
|
|
19
|
+
sessionStatuses?: SessionStatusMap;
|
|
16
20
|
}): Promise<void>;
|
|
@@ -36,6 +36,8 @@ export interface BackgroundTask {
|
|
|
36
36
|
concurrencyGroup?: string;
|
|
37
37
|
/** Parent session's agent name for notification */
|
|
38
38
|
parentAgent?: string;
|
|
39
|
+
/** Parent session's tool restrictions for notification prompts */
|
|
40
|
+
parentTools?: Record<string, boolean>;
|
|
39
41
|
/** Marks if the task was launched from an unstable agent/category */
|
|
40
42
|
isUnstableAgent?: boolean;
|
|
41
43
|
/** Category used for this task (e.g., 'quick', 'visual-engineering') */
|
|
@@ -56,6 +58,7 @@ export interface LaunchInput {
|
|
|
56
58
|
modelID: string;
|
|
57
59
|
};
|
|
58
60
|
parentAgent?: string;
|
|
61
|
+
parentTools?: Record<string, boolean>;
|
|
59
62
|
model?: {
|
|
60
63
|
providerID: string;
|
|
61
64
|
modelID: string;
|
|
@@ -76,4 +79,5 @@ export interface ResumeInput {
|
|
|
76
79
|
modelID: string;
|
|
77
80
|
};
|
|
78
81
|
parentAgent?: string;
|
|
82
|
+
parentTools?: Record<string, boolean>;
|
|
79
83
|
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { AgentConfig } from "@opencode-ai/sdk";
|
|
2
2
|
export declare function loadUserAgents(): Record<string, AgentConfig>;
|
|
3
|
-
export declare function loadProjectAgents(): Record<string, AgentConfig>;
|
|
3
|
+
export declare function loadProjectAgents(directory?: string): Record<string, AgentConfig>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { CommandDefinition } from "./types";
|
|
2
2
|
export declare function loadUserCommands(): Promise<Record<string, CommandDefinition>>;
|
|
3
|
-
export declare function loadProjectCommands(): Promise<Record<string, CommandDefinition>>;
|
|
3
|
+
export declare function loadProjectCommands(directory?: string): Promise<Record<string, CommandDefinition>>;
|
|
4
4
|
export declare function loadOpencodeGlobalCommands(): Promise<Record<string, CommandDefinition>>;
|
|
5
|
-
export declare function loadOpencodeProjectCommands(): Promise<Record<string, CommandDefinition>>;
|
|
6
|
-
export declare function loadAllCommands(): Promise<Record<string, CommandDefinition>>;
|
|
5
|
+
export declare function loadOpencodeProjectCommands(directory?: string): Promise<Record<string, CommandDefinition>>;
|
|
6
|
+
export declare function loadAllCommands(directory?: string): Promise<Record<string, CommandDefinition>>;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { SkillsConfig } from "../../config/schema";
|
|
2
|
+
import type { LoadedSkill } from "./types";
|
|
3
|
+
export declare function normalizePathForGlob(path: string): string;
|
|
4
|
+
export declare function discoverConfigSourceSkills(options: {
|
|
5
|
+
config: SkillsConfig | undefined;
|
|
6
|
+
configDir: string;
|
|
7
|
+
}): Promise<LoadedSkill[]>;
|
|
@@ -1,16 +1,19 @@
|
|
|
1
1
|
import type { CommandDefinition } from "../claude-code-command-loader/types";
|
|
2
2
|
import type { LoadedSkill } from "./types";
|
|
3
3
|
export declare function loadUserSkills(): Promise<Record<string, CommandDefinition>>;
|
|
4
|
-
export declare function loadProjectSkills(): Promise<Record<string, CommandDefinition>>;
|
|
4
|
+
export declare function loadProjectSkills(directory?: string): Promise<Record<string, CommandDefinition>>;
|
|
5
5
|
export declare function loadOpencodeGlobalSkills(): Promise<Record<string, CommandDefinition>>;
|
|
6
|
-
export declare function loadOpencodeProjectSkills(): Promise<Record<string, CommandDefinition>>;
|
|
6
|
+
export declare function loadOpencodeProjectSkills(directory?: string): Promise<Record<string, CommandDefinition>>;
|
|
7
7
|
export interface DiscoverSkillsOptions {
|
|
8
8
|
includeClaudeCodePaths?: boolean;
|
|
9
|
+
directory?: string;
|
|
9
10
|
}
|
|
10
|
-
export declare function discoverAllSkills(): Promise<LoadedSkill[]>;
|
|
11
|
+
export declare function discoverAllSkills(directory?: string): Promise<LoadedSkill[]>;
|
|
11
12
|
export declare function discoverSkills(options?: DiscoverSkillsOptions): Promise<LoadedSkill[]>;
|
|
12
13
|
export declare function getSkillByName(name: string, options?: DiscoverSkillsOptions): Promise<LoadedSkill | undefined>;
|
|
13
14
|
export declare function discoverUserClaudeSkills(): Promise<LoadedSkill[]>;
|
|
14
|
-
export declare function discoverProjectClaudeSkills(): Promise<LoadedSkill[]>;
|
|
15
|
+
export declare function discoverProjectClaudeSkills(directory?: string): Promise<LoadedSkill[]>;
|
|
15
16
|
export declare function discoverOpencodeGlobalSkills(): Promise<LoadedSkill[]>;
|
|
16
|
-
export declare function discoverOpencodeProjectSkills(): Promise<LoadedSkill[]>;
|
|
17
|
+
export declare function discoverOpencodeProjectSkills(directory?: string): Promise<LoadedSkill[]>;
|
|
18
|
+
export declare function discoverProjectAgentsSkills(directory?: string): Promise<LoadedSkill[]>;
|
|
19
|
+
export declare function discoverGlobalAgentsSkills(): Promise<LoadedSkill[]>;
|
|
@@ -4,4 +4,4 @@ import type { BuiltinSkill } from "../builtin-skills/types";
|
|
|
4
4
|
export interface MergeSkillsOptions {
|
|
5
5
|
configDir?: string;
|
|
6
6
|
}
|
|
7
|
-
export declare function mergeSkills(builtinSkills: BuiltinSkill[], config: SkillsConfig | undefined, userClaudeSkills: LoadedSkill[], userOpencodeSkills: LoadedSkill[], projectClaudeSkills: LoadedSkill[], projectOpencodeSkills: LoadedSkill[], options?: MergeSkillsOptions): LoadedSkill[];
|
|
7
|
+
export declare function mergeSkills(builtinSkills: BuiltinSkill[], config: SkillsConfig | undefined, configSourceSkills: LoadedSkill[], userClaudeSkills: LoadedSkill[], userOpencodeSkills: LoadedSkill[], projectClaudeSkills: LoadedSkill[], projectOpencodeSkills: LoadedSkill[], options?: MergeSkillsOptions): LoadedSkill[];
|
|
@@ -3,4 +3,6 @@ export interface SkillResolutionOptions {
|
|
|
3
3
|
gitMasterConfig?: GitMasterConfig;
|
|
4
4
|
browserProvider?: BrowserAutomationProvider;
|
|
5
5
|
disabledSkills?: Set<string>;
|
|
6
|
+
/** Project directory to discover project-level skills from. Falls back to process.cwd() if not provided. */
|
|
7
|
+
directory?: string;
|
|
6
8
|
}
|
|
@@ -14,6 +14,6 @@ export interface GridPlan {
|
|
|
14
14
|
slotWidth: number;
|
|
15
15
|
slotHeight: number;
|
|
16
16
|
}
|
|
17
|
-
export declare function calculateCapacity(windowWidth: number, windowHeight: number): GridCapacity;
|
|
17
|
+
export declare function calculateCapacity(windowWidth: number, windowHeight: number, minPaneWidth?: number): GridCapacity;
|
|
18
18
|
export declare function computeGridPlan(windowWidth: number, windowHeight: number, paneCount: number): GridPlan;
|
|
19
19
|
export declare function mapPaneToSlot(pane: TmuxPaneInfo, plan: GridPlan, mainPaneWidth: number): GridSlot;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { SplitDirection, TmuxPaneInfo } from "./types";
|
|
2
2
|
export declare function getColumnCount(paneCount: number): number;
|
|
3
3
|
export declare function getColumnWidth(agentAreaWidth: number, paneCount: number): number;
|
|
4
|
-
export declare function isSplittableAtCount(agentAreaWidth: number, paneCount: number): boolean;
|
|
5
|
-
export declare function findMinimalEvictions(agentAreaWidth: number, currentCount: number): number | null;
|
|
6
|
-
export declare function canSplitPane(pane: TmuxPaneInfo, direction: SplitDirection): boolean;
|
|
4
|
+
export declare function isSplittableAtCount(agentAreaWidth: number, paneCount: number, minPaneWidth?: number): boolean;
|
|
5
|
+
export declare function findMinimalEvictions(agentAreaWidth: number, currentCount: number, minPaneWidth?: number): number | null;
|
|
6
|
+
export declare function canSplitPane(pane: TmuxPaneInfo, direction: SplitDirection, minPaneWidth?: number): boolean;
|
|
7
7
|
export declare function canSplitPaneAnyDirection(pane: TmuxPaneInfo): boolean;
|
|
8
8
|
export declare function getBestSplitDirection(pane: TmuxPaneInfo): SplitDirection | null;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { CapacityConfig, PaneAction, SpawnDecision, WindowState } from "./types";
|
|
2
2
|
import { type SessionMapping } from "./oldest-agent-pane";
|
|
3
|
-
export declare function decideSpawnActions(state: WindowState, sessionId: string, description: string,
|
|
3
|
+
export declare function decideSpawnActions(state: WindowState, sessionId: string, description: string, config: CapacityConfig, sessionMappings: SessionMapping[]): SpawnDecision;
|
|
4
4
|
export declare function decideCloseAction(state: WindowState, sessionId: string, sessionMappings: SessionMapping[]): PaneAction | null;
|
|
@@ -2,17 +2,14 @@ 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
4
|
/**
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
* @param currentToolName Current tool being executed (added as last entry)
|
|
14
|
-
* @param currentToolInput Current tool input
|
|
15
|
-
* @returns Temp file path (caller must call deleteTempTranscript!)
|
|
5
|
+
* Clear transcript cache for a specific session or all sessions.
|
|
6
|
+
* Call on session.deleted to prevent memory accumulation.
|
|
7
|
+
*/
|
|
8
|
+
export declare function clearTranscriptCache(sessionId?: string): void;
|
|
9
|
+
/**
|
|
10
|
+
* Build Claude Code compatible transcript from session messages.
|
|
11
|
+
* Uses per-session cache to avoid redundant session.messages() API calls.
|
|
12
|
+
* First call fetches and caches; subsequent calls reuse cached base entries.
|
|
16
13
|
*/
|
|
17
14
|
export declare function buildTranscriptFromSession(client: {
|
|
18
15
|
session: {
|
|
@@ -28,7 +25,5 @@ export declare function buildTranscriptFromSession(client: {
|
|
|
28
25
|
}, sessionId: string, directory: string, currentToolName: string, currentToolInput: Record<string, unknown>): Promise<string | null>;
|
|
29
26
|
/**
|
|
30
27
|
* Delete temp transcript file (call in finally block)
|
|
31
|
-
*
|
|
32
|
-
* PORT FROM DISABLED: Cleanup mechanism to avoid disk accumulation
|
|
33
28
|
*/
|
|
34
29
|
export declare function deleteTempTranscript(path: string | null): void;
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import type { BackgroundManager } from "../../features/background-agent";
|
|
2
|
+
export declare function createCompactionContextInjector(backgroundManager?: BackgroundManager): (sessionID?: string) => string;
|
package/dist/hooks/index.d.ts
CHANGED
|
@@ -33,7 +33,6 @@ export { createStartWorkHook } from "./start-work";
|
|
|
33
33
|
export { createAtlasHook } from "./atlas";
|
|
34
34
|
export { createDelegateTaskRetryHook } from "./delegate-task-retry";
|
|
35
35
|
export { createQuestionLabelTruncatorHook } from "./question-label-truncator";
|
|
36
|
-
export { createSubagentQuestionBlockerHook } from "./subagent-question-blocker";
|
|
37
36
|
export { createStopContinuationGuardHook, type StopContinuationGuard } from "./stop-continuation-guard";
|
|
38
37
|
export { createCompactionContextInjector } from "./compaction-context-injector";
|
|
39
38
|
export { createCompactionTodoPreserverHook } from "./compaction-todo-preserver";
|
|
@@ -6,16 +6,13 @@
|
|
|
6
6
|
* 2. GPT 5.2 models → gpt5.2.ts
|
|
7
7
|
* 3. Everything else (Claude, etc.) → default.ts
|
|
8
8
|
*/
|
|
9
|
+
import { isGptModel } from "../../../agents/types";
|
|
9
10
|
/**
|
|
10
11
|
* Checks if agent is a planner-type agent.
|
|
11
12
|
* Planners don't need ultrawork injection (they ARE the planner).
|
|
12
13
|
*/
|
|
13
14
|
export declare function isPlannerAgent(agentName?: string): boolean;
|
|
14
|
-
|
|
15
|
-
* Checks if model is GPT 5.2 series.
|
|
16
|
-
* GPT models benefit from specific prompting patterns.
|
|
17
|
-
*/
|
|
18
|
-
export declare function isGptModel(modelID?: string): boolean;
|
|
15
|
+
export { isGptModel };
|
|
19
16
|
/** Ultrawork message source type */
|
|
20
17
|
export type UltraworkSource = "planner" | "gpt" | "default";
|
|
21
18
|
/**
|