oh-my-opencode-lite 0.1.0
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/LICENSE +21 -0
- package/README.md +365 -0
- package/dist/agents/deep.d.ts +2 -0
- package/dist/agents/designer.d.ts +2 -0
- package/dist/agents/explorer.d.ts +2 -0
- package/dist/agents/index.d.ts +8 -0
- package/dist/agents/librarian.d.ts +2 -0
- package/dist/agents/oracle.d.ts +2 -0
- package/dist/agents/orchestrator.d.ts +15 -0
- package/dist/agents/prompt-utils.d.ts +10 -0
- package/dist/agents/quick.d.ts +2 -0
- package/dist/background/background-manager.d.ts +196 -0
- package/dist/background/index.d.ts +2 -0
- package/dist/background/tmux-session-manager.d.ts +63 -0
- package/dist/cli/config-io.d.ts +22 -0
- package/dist/cli/config-manager.d.ts +4 -0
- package/dist/cli/custom-skills.d.ts +48 -0
- package/dist/cli/index.d.ts +2 -0
- package/dist/cli/index.js +1178 -0
- package/dist/cli/install.d.ts +3 -0
- package/dist/cli/model-key-normalization.d.ts +1 -0
- package/dist/cli/paths.d.ts +21 -0
- package/dist/cli/providers.d.ts +120 -0
- package/dist/cli/skill-manifest.d.ts +32 -0
- package/dist/cli/skills.d.ts +26 -0
- package/dist/cli/system.d.ts +6 -0
- package/dist/cli/types.d.ts +38 -0
- package/dist/config/constants.d.ts +19 -0
- package/dist/config/index.d.ts +5 -0
- package/dist/config/loader.d.ts +33 -0
- package/dist/config/schema.d.ts +313 -0
- package/dist/config/utils.d.ts +10 -0
- package/dist/delegation/delegation-manager.d.ts +25 -0
- package/dist/delegation/index.d.ts +4 -0
- package/dist/delegation/paths.d.ts +15 -0
- package/dist/delegation/project-id.d.ts +1 -0
- package/dist/delegation/types.d.ts +39 -0
- package/dist/hooks/auto-update-checker/cache.d.ts +6 -0
- package/dist/hooks/auto-update-checker/checker.d.ts +28 -0
- package/dist/hooks/auto-update-checker/constants.d.ts +11 -0
- package/dist/hooks/auto-update-checker/index.d.ts +17 -0
- package/dist/hooks/auto-update-checker/types.d.ts +23 -0
- package/dist/hooks/chat-headers.d.ts +16 -0
- package/dist/hooks/clarification-gate/index.d.ts +30 -0
- package/dist/hooks/delegate-task-retry/guidance.d.ts +2 -0
- package/dist/hooks/delegate-task-retry/hook.d.ts +8 -0
- package/dist/hooks/delegate-task-retry/index.d.ts +4 -0
- package/dist/hooks/delegate-task-retry/patterns.d.ts +11 -0
- package/dist/hooks/foreground-fallback/index.d.ts +72 -0
- package/dist/hooks/index.d.ts +11 -0
- package/dist/hooks/json-error-recovery/hook.d.ts +18 -0
- package/dist/hooks/json-error-recovery/index.d.ts +1 -0
- package/dist/hooks/phase-reminder/index.d.ts +26 -0
- package/dist/hooks/post-read-nudge/index.d.ts +18 -0
- package/dist/hooks/skill-sync.d.ts +10 -0
- package/dist/hooks/thoth-mem/index.d.ts +46 -0
- package/dist/hooks/thoth-mem/protocol.d.ts +6 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.js +36210 -0
- package/dist/mcp/context7.d.ts +6 -0
- package/dist/mcp/grep-app.d.ts +6 -0
- package/dist/mcp/index.d.ts +7 -0
- package/dist/mcp/thoth.d.ts +3 -0
- package/dist/mcp/types.d.ts +12 -0
- package/dist/mcp/websearch.d.ts +6 -0
- package/dist/thoth/client.d.ts +14 -0
- package/dist/thoth/index.d.ts +2 -0
- package/dist/tools/ast-grep/cli.d.ts +15 -0
- package/dist/tools/ast-grep/constants.d.ts +25 -0
- package/dist/tools/ast-grep/downloader.d.ts +5 -0
- package/dist/tools/ast-grep/index.d.ts +10 -0
- package/dist/tools/ast-grep/tools.d.ts +3 -0
- package/dist/tools/ast-grep/types.d.ts +30 -0
- package/dist/tools/ast-grep/utils.d.ts +4 -0
- package/dist/tools/background.d.ts +13 -0
- package/dist/tools/index.d.ts +3 -0
- package/dist/tools/lsp/client.d.ts +42 -0
- package/dist/tools/lsp/config-store.d.ts +29 -0
- package/dist/tools/lsp/config.d.ts +4 -0
- package/dist/tools/lsp/constants.d.ts +24 -0
- package/dist/tools/lsp/index.d.ts +4 -0
- package/dist/tools/lsp/tools.d.ts +5 -0
- package/dist/tools/lsp/types.d.ts +35 -0
- package/dist/tools/lsp/utils.d.ts +34 -0
- package/dist/utils/agent-variant.d.ts +47 -0
- package/dist/utils/env.d.ts +1 -0
- package/dist/utils/index.d.ts +7 -0
- package/dist/utils/internal-initiator.d.ts +6 -0
- package/dist/utils/logger.d.ts +1 -0
- package/dist/utils/polling.d.ts +21 -0
- package/dist/utils/tmux.d.ts +32 -0
- package/dist/utils/zip-extractor.d.ts +1 -0
- package/oh-my-opencode-lite.schema.json +556 -0
- package/package.json +74 -0
- package/src/skills/_shared/openspec-convention.md +92 -0
- package/src/skills/_shared/persistence-contract.md +78 -0
- package/src/skills/_shared/thoth-mem-convention.md +80 -0
- package/src/skills/brainstorming/SKILL.md +120 -0
- package/src/skills/cartography/README.md +57 -0
- package/src/skills/cartography/SKILL.md +160 -0
- package/src/skills/cartography/scripts/cartographer.py +460 -0
- package/src/skills/cartography/scripts/test_cartographer.py +87 -0
- package/src/skills/executing-plans/SKILL.md +211 -0
- package/src/skills/plan-reviewer/SKILL.md +100 -0
- package/src/skills/sdd-apply/SKILL.md +101 -0
- package/src/skills/sdd-archive/SKILL.md +94 -0
- package/src/skills/sdd-design/SKILL.md +104 -0
- package/src/skills/sdd-propose/SKILL.md +99 -0
- package/src/skills/sdd-spec/SKILL.md +105 -0
- package/src/skills/sdd-tasks/SKILL.md +116 -0
- package/src/skills/sdd-verify/SKILL.md +102 -0
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import type { PluginInput } from '@opencode-ai/plugin';
|
|
2
|
+
import type { TmuxConfig } from '../config/schema';
|
|
3
|
+
/**
|
|
4
|
+
* Event shape for session events
|
|
5
|
+
*/
|
|
6
|
+
interface SessionEvent {
|
|
7
|
+
type: string;
|
|
8
|
+
properties?: {
|
|
9
|
+
info?: {
|
|
10
|
+
id?: string;
|
|
11
|
+
parentID?: string;
|
|
12
|
+
title?: string;
|
|
13
|
+
};
|
|
14
|
+
sessionID?: string;
|
|
15
|
+
status?: {
|
|
16
|
+
type: string;
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* TmuxSessionManager tracks child sessions and spawns/closes tmux panes for them.
|
|
22
|
+
*
|
|
23
|
+
* Uses session.status events for completion detection instead of polling.
|
|
24
|
+
*/
|
|
25
|
+
export declare class TmuxSessionManager {
|
|
26
|
+
private client;
|
|
27
|
+
private tmuxConfig;
|
|
28
|
+
private serverUrl;
|
|
29
|
+
private sessions;
|
|
30
|
+
private pollInterval?;
|
|
31
|
+
private enabled;
|
|
32
|
+
constructor(ctx: PluginInput, tmuxConfig: TmuxConfig);
|
|
33
|
+
/**
|
|
34
|
+
* Handle session.created events.
|
|
35
|
+
* Spawns a tmux pane for child sessions (those with parentID).
|
|
36
|
+
*/
|
|
37
|
+
onSessionCreated(event: SessionEvent): Promise<void>;
|
|
38
|
+
/**
|
|
39
|
+
* Handle session.status events for completion detection.
|
|
40
|
+
* Uses session.status instead of deprecated session.idle.
|
|
41
|
+
*
|
|
42
|
+
* When a session becomes idle (completed), close its pane.
|
|
43
|
+
*/
|
|
44
|
+
onSessionStatus(event: SessionEvent): Promise<void>;
|
|
45
|
+
/**
|
|
46
|
+
* Handle session.deleted events.
|
|
47
|
+
* When a session is deleted, close its tmux pane immediately.
|
|
48
|
+
*/
|
|
49
|
+
onSessionDeleted(event: SessionEvent): Promise<void>;
|
|
50
|
+
private startPolling;
|
|
51
|
+
private stopPolling;
|
|
52
|
+
/**
|
|
53
|
+
* Poll sessions for status updates (fallback for reliability).
|
|
54
|
+
* Also handles timeout and missing session detection.
|
|
55
|
+
*/
|
|
56
|
+
private pollSessions;
|
|
57
|
+
private closeSession;
|
|
58
|
+
/**
|
|
59
|
+
* Clean up all tracked sessions.
|
|
60
|
+
*/
|
|
61
|
+
cleanup(): Promise<void>;
|
|
62
|
+
}
|
|
63
|
+
export {};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { ConfigMergeResult, DetectedConfig, InstallConfig, OpenCodeConfig } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Strip JSON comments (single-line // and multi-line) and trailing commas for JSONC support.
|
|
4
|
+
*/
|
|
5
|
+
export declare function stripJsonComments(json: string): string;
|
|
6
|
+
export declare function parseConfigFile(path: string): {
|
|
7
|
+
config: OpenCodeConfig | null;
|
|
8
|
+
error?: string;
|
|
9
|
+
};
|
|
10
|
+
export declare function parseConfig(path: string): {
|
|
11
|
+
config: OpenCodeConfig | null;
|
|
12
|
+
error?: string;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Write config to file atomically.
|
|
16
|
+
*/
|
|
17
|
+
export declare function writeConfig(configPath: string, config: OpenCodeConfig): void;
|
|
18
|
+
export declare function addPluginToOpenCodeConfig(): Promise<ConfigMergeResult>;
|
|
19
|
+
export declare function writeLiteConfig(installConfig: InstallConfig, targetPath?: string): ConfigMergeResult;
|
|
20
|
+
export declare function disableDefaultAgents(): ConfigMergeResult;
|
|
21
|
+
export declare function canModifyOpenCodeConfig(): boolean;
|
|
22
|
+
export declare function detectCurrentConfig(): DetectedConfig;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { type SkillUpdateReason } from './skill-manifest';
|
|
2
|
+
/**
|
|
3
|
+
* A custom skill bundled in this repository.
|
|
4
|
+
* Unlike npx-installed skills, these are copied from src/skills/ to the OpenCode skills directory
|
|
5
|
+
*/
|
|
6
|
+
export interface CustomSkill {
|
|
7
|
+
/** Skill name (folder name) */
|
|
8
|
+
name: string;
|
|
9
|
+
/** Human-readable description */
|
|
10
|
+
description: string;
|
|
11
|
+
/** List of agents that should auto-allow this skill */
|
|
12
|
+
allowedAgents: string[];
|
|
13
|
+
/** Source path in this repo (relative to project root) */
|
|
14
|
+
sourcePath: string;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Registry of custom skills bundled in this repository.
|
|
18
|
+
*/
|
|
19
|
+
export declare const CUSTOM_SKILLS: CustomSkill[];
|
|
20
|
+
export interface UpdatedCustomSkill {
|
|
21
|
+
skill: CustomSkill;
|
|
22
|
+
reasons: SkillUpdateReason[];
|
|
23
|
+
}
|
|
24
|
+
export interface FailedCustomSkill {
|
|
25
|
+
skill: CustomSkill;
|
|
26
|
+
reasons: SkillUpdateReason[];
|
|
27
|
+
}
|
|
28
|
+
export interface InstallCustomSkillsReport {
|
|
29
|
+
success: boolean;
|
|
30
|
+
updatedSkills: UpdatedCustomSkill[];
|
|
31
|
+
skippedSkills: CustomSkill[];
|
|
32
|
+
failedSkills: FailedCustomSkill[];
|
|
33
|
+
removedSkills: string[];
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Get the target directory for custom skills installation.
|
|
37
|
+
*/
|
|
38
|
+
export declare function getCustomSkillsDir(): string;
|
|
39
|
+
export declare function findPackageRoot(startDir: string): string | null;
|
|
40
|
+
export declare function removeObsoleteSkills(removedSkillNames: string[]): string[];
|
|
41
|
+
export declare function installCustomSkills(packageRoot?: string): InstallCustomSkillsReport;
|
|
42
|
+
/**
|
|
43
|
+
* Install a custom skill by copying from src/skills/ to the OpenCode skills directory
|
|
44
|
+
* @param skill - The custom skill to install
|
|
45
|
+
* @param projectRoot - Root directory of oh-my-opencode-lite project
|
|
46
|
+
* @returns True if installation succeeded, false otherwise
|
|
47
|
+
*/
|
|
48
|
+
export declare function installCustomSkill(skill: CustomSkill): boolean;
|