oh-my-claudecode 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/README.md +281 -0
- package/bin/oh-my-claudecode.js +5 -0
- package/dist/agents/azathoth.d.ts +19 -0
- package/dist/agents/azathoth.d.ts.map +1 -0
- package/dist/agents/azathoth.js +105 -0
- package/dist/agents/azathoth.js.map +1 -0
- package/dist/agents/builtin-agents.d.ts +18 -0
- package/dist/agents/builtin-agents.d.ts.map +1 -0
- package/dist/agents/builtin-agents.js +141 -0
- package/dist/agents/builtin-agents.js.map +1 -0
- package/dist/agents/cthulhu.d.ts +21 -0
- package/dist/agents/cthulhu.d.ts.map +1 -0
- package/dist/agents/cthulhu.js +368 -0
- package/dist/agents/cthulhu.js.map +1 -0
- package/dist/agents/dagon.d.ts +17 -0
- package/dist/agents/dagon.d.ts.map +1 -0
- package/dist/agents/dagon.js +190 -0
- package/dist/agents/dagon.js.map +1 -0
- package/dist/agents/hastur.d.ts +18 -0
- package/dist/agents/hastur.d.ts.map +1 -0
- package/dist/agents/hastur.js +92 -0
- package/dist/agents/hastur.js.map +1 -0
- package/dist/agents/index.d.ts +14 -0
- package/dist/agents/index.d.ts.map +1 -0
- package/dist/agents/index.js +13 -0
- package/dist/agents/index.js.map +1 -0
- package/dist/agents/ithaqua.d.ts +19 -0
- package/dist/agents/ithaqua.d.ts.map +1 -0
- package/dist/agents/ithaqua.js +254 -0
- package/dist/agents/ithaqua.js.map +1 -0
- package/dist/agents/nyarlathotep.d.ts +18 -0
- package/dist/agents/nyarlathotep.d.ts.map +1 -0
- package/dist/agents/nyarlathotep.js +129 -0
- package/dist/agents/nyarlathotep.js.map +1 -0
- package/dist/agents/shoggoth.d.ts +17 -0
- package/dist/agents/shoggoth.d.ts.map +1 -0
- package/dist/agents/shoggoth.js +123 -0
- package/dist/agents/shoggoth.js.map +1 -0
- package/dist/agents/shub-niggurath.d.ts +18 -0
- package/dist/agents/shub-niggurath.d.ts.map +1 -0
- package/dist/agents/shub-niggurath.js +164 -0
- package/dist/agents/shub-niggurath.js.map +1 -0
- package/dist/agents/the-deep-one.d.ts +17 -0
- package/dist/agents/the-deep-one.d.ts.map +1 -0
- package/dist/agents/the-deep-one.js +114 -0
- package/dist/agents/the-deep-one.js.map +1 -0
- package/dist/agents/tsathoggua.d.ts +19 -0
- package/dist/agents/tsathoggua.d.ts.map +1 -0
- package/dist/agents/tsathoggua.js +177 -0
- package/dist/agents/tsathoggua.js.map +1 -0
- package/dist/agents/types.d.ts +61 -0
- package/dist/agents/types.d.ts.map +1 -0
- package/dist/agents/types.js +2 -0
- package/dist/agents/types.js.map +1 -0
- package/dist/agents/yog-sothoth.d.ts +17 -0
- package/dist/agents/yog-sothoth.d.ts.map +1 -0
- package/dist/agents/yog-sothoth.js +147 -0
- package/dist/agents/yog-sothoth.js.map +1 -0
- package/dist/cli/doctor.d.ts +2 -0
- package/dist/cli/doctor.d.ts.map +1 -0
- package/dist/cli/doctor.js +105 -0
- package/dist/cli/doctor.js.map +1 -0
- package/dist/cli/index.d.ts +2 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +53 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/install.d.ts +5 -0
- package/dist/cli/install.d.ts.map +1 -0
- package/dist/cli/install.js +179 -0
- package/dist/cli/install.js.map +1 -0
- package/dist/config/index.d.ts +3 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +2 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/schema.d.ts +7406 -0
- package/dist/config/schema.d.ts.map +1 -0
- package/dist/config/schema.js +197 -0
- package/dist/config/schema.js.map +1 -0
- package/dist/features/background-agent/index.d.ts +58 -0
- package/dist/features/background-agent/index.d.ts.map +1 -0
- package/dist/features/background-agent/index.js +113 -0
- package/dist/features/background-agent/index.js.map +1 -0
- package/dist/features/mcp-manager/index.d.ts +40 -0
- package/dist/features/mcp-manager/index.d.ts.map +1 -0
- package/dist/features/mcp-manager/index.js +71 -0
- package/dist/features/mcp-manager/index.js.map +1 -0
- package/dist/features/skill-loader/index.d.ts +37 -0
- package/dist/features/skill-loader/index.d.ts.map +1 -0
- package/dist/features/skill-loader/index.js +81 -0
- package/dist/features/skill-loader/index.js.map +1 -0
- package/dist/hooks/comment-checker.d.ts +18 -0
- package/dist/hooks/comment-checker.d.ts.map +1 -0
- package/dist/hooks/comment-checker.js +75 -0
- package/dist/hooks/comment-checker.js.map +1 -0
- package/dist/hooks/elder-loop.d.ts +26 -0
- package/dist/hooks/elder-loop.d.ts.map +1 -0
- package/dist/hooks/elder-loop.js +84 -0
- package/dist/hooks/elder-loop.js.map +1 -0
- package/dist/hooks/index.d.ts +20 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +73 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/rules-injector.d.ts +12 -0
- package/dist/hooks/rules-injector.d.ts.map +1 -0
- package/dist/hooks/rules-injector.js +52 -0
- package/dist/hooks/rules-injector.js.map +1 -0
- package/dist/hooks/todo-continuation.d.ts +25 -0
- package/dist/hooks/todo-continuation.d.ts.map +1 -0
- package/dist/hooks/todo-continuation.js +74 -0
- package/dist/hooks/todo-continuation.js.map +1 -0
- package/dist/hooks/write-guard.d.ts +11 -0
- package/dist/hooks/write-guard.d.ts.map +1 -0
- package/dist/hooks/write-guard.js +39 -0
- package/dist/hooks/write-guard.js.map +1 -0
- package/dist/index.d.ts +36 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +35 -0
- package/dist/index.js.map +1 -0
- package/dist/plugin-config.d.ts +22 -0
- package/dist/plugin-config.d.ts.map +1 -0
- package/dist/plugin-config.js +133 -0
- package/dist/plugin-config.js.map +1 -0
- package/dist/plugin-handlers/config-handler.d.ts +21 -0
- package/dist/plugin-handlers/config-handler.d.ts.map +1 -0
- package/dist/plugin-handlers/config-handler.js +33 -0
- package/dist/plugin-handlers/config-handler.js.map +1 -0
- package/dist/plugin-handlers/index.d.ts +2 -0
- package/dist/plugin-handlers/index.d.ts.map +1 -0
- package/dist/plugin-handlers/index.js +2 -0
- package/dist/plugin-handlers/index.js.map +1 -0
- package/dist/shared/deep-merge.d.ts +6 -0
- package/dist/shared/deep-merge.d.ts.map +1 -0
- package/dist/shared/deep-merge.js +30 -0
- package/dist/shared/deep-merge.js.map +1 -0
- package/dist/shared/index.d.ts +5 -0
- package/dist/shared/index.d.ts.map +1 -0
- package/dist/shared/index.js +5 -0
- package/dist/shared/index.js.map +1 -0
- package/dist/shared/log.d.ts +3 -0
- package/dist/shared/log.d.ts.map +1 -0
- package/dist/shared/log.js +22 -0
- package/dist/shared/log.js.map +1 -0
- package/dist/shared/model-resolution.d.ts +15 -0
- package/dist/shared/model-resolution.d.ts.map +1 -0
- package/dist/shared/model-resolution.js +46 -0
- package/dist/shared/model-resolution.js.map +1 -0
- package/dist/shared/parse-jsonc.d.ts +6 -0
- package/dist/shared/parse-jsonc.d.ts.map +1 -0
- package/dist/shared/parse-jsonc.js +14 -0
- package/dist/shared/parse-jsonc.js.map +1 -0
- package/package.json +42 -0
- package/skills/cancel-elder-loop.md +22 -0
- package/skills/cthulhu.md +45 -0
- package/skills/elder-loop.md +39 -0
- package/skills/exorcise-ai-slop.md +45 -0
- package/skills/invoke-shub.md +32 -0
- package/skills/old-ones-init.md +47 -0
- package/skills/session-handoff.md +57 -0
- package/skills/shoggoth.md +34 -0
- package/skills/yog-sothoth.md +30 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,eAAO,MAAM,iBAAiB,oGAQ5B,CAAA;AAEF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAI3D,8BAA8B;AAC9B,eAAO,MAAM,sBAAsB,6JAYjC,CAAA;AAEF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAIrE,eAAO,MAAM,qBAAqB,wDAAkD,CAAA;AAEpF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;IAG/B,CAAA;AAEF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAepC,CAAA;AAEF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAE3E,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAsB1D,2DAA2D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAE3D,CAAA;AAEF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAA"}
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
// ─── Model Names ─────────────────────────────────────────────────────────────
|
|
3
|
+
export const ClaudeModelSchema = z.enum([
|
|
4
|
+
"claude-opus-4-6",
|
|
5
|
+
"claude-sonnet-4-6",
|
|
6
|
+
"claude-haiku-4-5",
|
|
7
|
+
// short aliases
|
|
8
|
+
"opus",
|
|
9
|
+
"sonnet",
|
|
10
|
+
"haiku",
|
|
11
|
+
]);
|
|
12
|
+
// ─── Agent Names ──────────────────────────────────────────────────────────────
|
|
13
|
+
/** The 11 Elder God agents */
|
|
14
|
+
export const BuiltinAgentNameSchema = z.enum([
|
|
15
|
+
"cthulhu", // Sisyphus — main orchestrator
|
|
16
|
+
"nyarlathotep", // Hephaestus — deep autonomous worker
|
|
17
|
+
"azathoth", // Atlas — first-message planner
|
|
18
|
+
"shub-niggurath", // Prometheus — strategic planner
|
|
19
|
+
"hastur", // Sisyphus-Junior — lightweight orchestrator
|
|
20
|
+
"yog-sothoth", // Oracle — architecture/debugging advisor
|
|
21
|
+
"dagon", // Librarian — code/doc search specialist
|
|
22
|
+
"ithaqua", // Metis — pre-planning consultant
|
|
23
|
+
"tsathoggua", // Momus — code quality reviewer
|
|
24
|
+
"shoggoth", // Explore — fast codebase grepper
|
|
25
|
+
"the-deep-one", // Multimodal-Looker — vision agent
|
|
26
|
+
]);
|
|
27
|
+
// ─── Agent Override Schema ────────────────────────────────────────────────────
|
|
28
|
+
export const AgentPermissionSchema = z.record(z.string(), z.enum(["allow", "deny"]));
|
|
29
|
+
export const ThinkingConfigSchema = z.union([
|
|
30
|
+
z.object({ type: z.literal("enabled"), budgetTokens: z.number().optional() }),
|
|
31
|
+
z.object({ type: z.literal("disabled") }),
|
|
32
|
+
]);
|
|
33
|
+
export const AgentOverrideConfigSchema = z.object({
|
|
34
|
+
model: ClaudeModelSchema.optional(),
|
|
35
|
+
skills: z.array(z.string()).optional(),
|
|
36
|
+
temperature: z.number().min(0).max(2).optional(),
|
|
37
|
+
top_p: z.number().min(0).max(1).optional(),
|
|
38
|
+
prompt: z.string().optional(),
|
|
39
|
+
prompt_append: z.string().optional(),
|
|
40
|
+
tools: z.record(z.string(), z.boolean()).optional(),
|
|
41
|
+
disable: z.boolean().optional(),
|
|
42
|
+
description: z.string().optional(),
|
|
43
|
+
mode: z.enum(["subagent", "primary", "all"]).optional(),
|
|
44
|
+
color: z.string().optional(),
|
|
45
|
+
permission: AgentPermissionSchema.optional(),
|
|
46
|
+
maxTokens: z.number().optional(),
|
|
47
|
+
thinking: ThinkingConfigSchema.optional(),
|
|
48
|
+
});
|
|
49
|
+
export const AgentOverridesSchema = z.object({
|
|
50
|
+
cthulhu: AgentOverrideConfigSchema.optional(),
|
|
51
|
+
nyarlathotep: AgentOverrideConfigSchema.optional(),
|
|
52
|
+
azathoth: AgentOverrideConfigSchema.optional(),
|
|
53
|
+
"shub-niggurath": AgentOverrideConfigSchema.optional(),
|
|
54
|
+
hastur: AgentOverrideConfigSchema.optional(),
|
|
55
|
+
"yog-sothoth": AgentOverrideConfigSchema.optional(),
|
|
56
|
+
dagon: AgentOverrideConfigSchema.optional(),
|
|
57
|
+
ithaqua: AgentOverrideConfigSchema.optional(),
|
|
58
|
+
tsathoggua: AgentOverrideConfigSchema.optional(),
|
|
59
|
+
shoggoth: AgentOverrideConfigSchema.optional(),
|
|
60
|
+
"the-deep-one": AgentOverrideConfigSchema.optional(),
|
|
61
|
+
}).catchall(AgentOverrideConfigSchema);
|
|
62
|
+
// ─── Category Schema ──────────────────────────────────────────────────────────
|
|
63
|
+
export const BuiltinCategoryNameSchema = z.enum([
|
|
64
|
+
"deep", // Extended reasoning tasks
|
|
65
|
+
"quick", // Fast single-file tasks
|
|
66
|
+
"advisor", // Consultation and architecture
|
|
67
|
+
"explorer", // Search and discovery
|
|
68
|
+
"artisan", // Creative / writing tasks
|
|
69
|
+
"watcher", // Monitoring / verification
|
|
70
|
+
]);
|
|
71
|
+
export const CategoryConfigSchema = z.object({
|
|
72
|
+
description: z.string().optional(),
|
|
73
|
+
model: ClaudeModelSchema.optional(),
|
|
74
|
+
temperature: z.number().min(0).max(2).optional(),
|
|
75
|
+
maxTokens: z.number().optional(),
|
|
76
|
+
thinking: ThinkingConfigSchema.optional(),
|
|
77
|
+
prompt_append: z.string().optional(),
|
|
78
|
+
disable: z.boolean().optional(),
|
|
79
|
+
});
|
|
80
|
+
export const CategoriesConfigSchema = z
|
|
81
|
+
.record(z.string(), CategoryConfigSchema)
|
|
82
|
+
.optional();
|
|
83
|
+
// ─── Hook Name Schema ─────────────────────────────────────────────────────────
|
|
84
|
+
export const HookNameSchema = z.enum([
|
|
85
|
+
"todo-continuation", // Enforce todo completion before stopping
|
|
86
|
+
"elder-loop", // Self-referential completion loop (ralph-loop)
|
|
87
|
+
"comment-checker", // Remove AI-slop from comments
|
|
88
|
+
"session-recovery", // Auto-recover from API/context errors
|
|
89
|
+
"background-notification", // Notify on subagent completion
|
|
90
|
+
"context-injector", // Auto-inject AGENTS.md context
|
|
91
|
+
"write-guard", // Block writes to protected files
|
|
92
|
+
"bash-read-guard", // Warn on cat/head in bash (use Read)
|
|
93
|
+
"keyword-detector", // Detect keywords → trigger agents
|
|
94
|
+
"rules-injector", // Inject .elder-gods/rules/*.md
|
|
95
|
+
]);
|
|
96
|
+
// ─── Builtin Command Names ────────────────────────────────────────────────────
|
|
97
|
+
export const BuiltinCommandNameSchema = z.enum([
|
|
98
|
+
"old-ones-init", // Hierarchical AGENTS.md generation (init-deep)
|
|
99
|
+
"elder-loop", // Start elder loop (ralph-loop)
|
|
100
|
+
"cancel-elder-loop", // Stop active elder loop
|
|
101
|
+
"invoke-shub", // Begin from Shub-Niggurath plan (start-work)
|
|
102
|
+
"stop-the-dreaming", // Stop all continuation mechanisms
|
|
103
|
+
"exorcise-ai-slop", // Remove AI code smells (remove-ai-slops)
|
|
104
|
+
"session-handoff", // Session continuation context
|
|
105
|
+
]);
|
|
106
|
+
// ─── Builtin Skill Names ──────────────────────────────────────────────────────
|
|
107
|
+
export const BuiltinSkillNameSchema = z.enum([
|
|
108
|
+
"git-keeper", // Git workflow (git-master equivalent)
|
|
109
|
+
"playwright", // Browser automation
|
|
110
|
+
"dev-browser", // Development server browser
|
|
111
|
+
"dread-reviewer", // Code review assistant
|
|
112
|
+
"slop-purge", // AI slop removal
|
|
113
|
+
"frontend-acolyte", // Frontend design guidance
|
|
114
|
+
]);
|
|
115
|
+
// ─── MCP Names ────────────────────────────────────────────────────────────────
|
|
116
|
+
export const McpNameSchema = z.enum([
|
|
117
|
+
"websearch", // Web search (Exa / Tavily)
|
|
118
|
+
"context7", // Official documentation search
|
|
119
|
+
"grep_app", // GitHub code search
|
|
120
|
+
]);
|
|
121
|
+
// ─── Feature Configs ──────────────────────────────────────────────────────────
|
|
122
|
+
export const ElderLoopConfigSchema = z.object({
|
|
123
|
+
max_iterations: z.number().min(1).max(50).default(10),
|
|
124
|
+
strategy: z.enum(["reset", "continue"]).default("continue"),
|
|
125
|
+
completion_prompt: z.string().optional(),
|
|
126
|
+
});
|
|
127
|
+
export const BackgroundTaskConfigSchema = z.object({
|
|
128
|
+
max_concurrent: z.number().min(1).max(20).default(5),
|
|
129
|
+
timeout_seconds: z.number().min(30).max(3600).default(300),
|
|
130
|
+
circuit_breaker_enabled: z.boolean().default(true),
|
|
131
|
+
circuit_breaker_threshold: z.number().min(1).max(10).default(3),
|
|
132
|
+
});
|
|
133
|
+
export const WebsearchConfigSchema = z.object({
|
|
134
|
+
provider: z.enum(["exa", "tavily"]).default("exa"),
|
|
135
|
+
api_key: z.string().optional(),
|
|
136
|
+
});
|
|
137
|
+
export const NotificationConfigSchema = z.object({
|
|
138
|
+
on_background_complete: z.boolean().default(true),
|
|
139
|
+
on_session_error: z.boolean().default(true),
|
|
140
|
+
sound: z.boolean().default(false),
|
|
141
|
+
});
|
|
142
|
+
export const ExperimentalConfigSchema = z.object({
|
|
143
|
+
safe_hook_creation: z.boolean().default(true),
|
|
144
|
+
preemptive_compaction: z.boolean().default(false),
|
|
145
|
+
dynamic_context_pruning: z.boolean().default(false),
|
|
146
|
+
});
|
|
147
|
+
export const CthulhuAgentConfigSchema = z.object({
|
|
148
|
+
use_task_system: z.boolean().default(false),
|
|
149
|
+
parallel_delegation: z.boolean().default(true),
|
|
150
|
+
intent_gate_enabled: z.boolean().default(true),
|
|
151
|
+
});
|
|
152
|
+
export const GitKeeperConfigSchema = z.object({
|
|
153
|
+
commit_footer: z.boolean().default(true),
|
|
154
|
+
include_co_authored_by: z.boolean().default(false),
|
|
155
|
+
git_env_prefix: z.string().default("ELDER_GODS=1"),
|
|
156
|
+
});
|
|
157
|
+
// ─── Root Config Schema ───────────────────────────────────────────────────────
|
|
158
|
+
export const OhMyClaudeCodeConfigSchema = z.object({
|
|
159
|
+
$schema: z.string().optional(),
|
|
160
|
+
/** Default agent for background runs */
|
|
161
|
+
default_run_agent: z.string().default("cthulhu"),
|
|
162
|
+
/** Disable specific MCP servers */
|
|
163
|
+
disabled_mcps: z.array(McpNameSchema).optional(),
|
|
164
|
+
/** Disable specific built-in agents */
|
|
165
|
+
disabled_agents: z.array(z.string()).optional(),
|
|
166
|
+
/** Disable specific built-in skills */
|
|
167
|
+
disabled_skills: z.array(BuiltinSkillNameSchema).optional(),
|
|
168
|
+
/** Disable specific lifecycle hooks */
|
|
169
|
+
disabled_hooks: z.array(HookNameSchema).optional(),
|
|
170
|
+
/** Disable specific built-in commands */
|
|
171
|
+
disabled_commands: z.array(BuiltinCommandNameSchema).optional(),
|
|
172
|
+
/** Disable specific tools by name */
|
|
173
|
+
disabled_tools: z.array(z.string()).optional(),
|
|
174
|
+
/** Environment variables forwarded to MCP servers */
|
|
175
|
+
mcp_env_allowlist: z.array(z.string()).optional(),
|
|
176
|
+
/** Enable model fallback on API errors (default: true) */
|
|
177
|
+
model_fallback: z.boolean().default(true),
|
|
178
|
+
// Per-agent overrides
|
|
179
|
+
agents: AgentOverridesSchema.optional(),
|
|
180
|
+
// Category-level model/parameter overrides
|
|
181
|
+
categories: CategoriesConfigSchema,
|
|
182
|
+
// Feature configurations
|
|
183
|
+
cthulhu_agent: CthulhuAgentConfigSchema.optional(),
|
|
184
|
+
elder_loop: ElderLoopConfigSchema.optional(),
|
|
185
|
+
background_task: BackgroundTaskConfigSchema.optional(),
|
|
186
|
+
websearch: WebsearchConfigSchema.optional(),
|
|
187
|
+
notification: NotificationConfigSchema.optional(),
|
|
188
|
+
git_keeper: GitKeeperConfigSchema.default({
|
|
189
|
+
commit_footer: true,
|
|
190
|
+
include_co_authored_by: false,
|
|
191
|
+
git_env_prefix: "ELDER_GODS=1",
|
|
192
|
+
}),
|
|
193
|
+
experimental: ExperimentalConfigSchema.optional(),
|
|
194
|
+
/** Migration tracking — prevents re-applying migrations */
|
|
195
|
+
_migrations: z.array(z.string()).optional(),
|
|
196
|
+
});
|
|
197
|
+
//# sourceMappingURL=schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Background Agent Manager
|
|
3
|
+
*
|
|
4
|
+
* Mapped from: BackgroundManager
|
|
5
|
+
*
|
|
6
|
+
* Manages parallel subagent sessions spawned via the Agent tool.
|
|
7
|
+
* Provides circuit breaker pattern to prevent runaway agent spawning,
|
|
8
|
+
* tracks active background agents, and handles completion notifications.
|
|
9
|
+
*
|
|
10
|
+
* In Claude Code, background agents are spawned via:
|
|
11
|
+
* Agent({ run_in_background: true, ... })
|
|
12
|
+
*
|
|
13
|
+
* This manager tracks them and provides utilities for the hooks system.
|
|
14
|
+
*/
|
|
15
|
+
export interface BackgroundAgentConfig {
|
|
16
|
+
max_concurrent?: number;
|
|
17
|
+
timeout_seconds?: number;
|
|
18
|
+
circuit_breaker_enabled?: boolean;
|
|
19
|
+
circuit_breaker_threshold?: number;
|
|
20
|
+
}
|
|
21
|
+
export interface BackgroundTask {
|
|
22
|
+
id: string;
|
|
23
|
+
agentType: string;
|
|
24
|
+
description: string;
|
|
25
|
+
startedAt: Date;
|
|
26
|
+
status: "running" | "completed" | "failed" | "cancelled";
|
|
27
|
+
result?: string;
|
|
28
|
+
}
|
|
29
|
+
export declare class BackgroundManager {
|
|
30
|
+
private tasks;
|
|
31
|
+
private failureCount;
|
|
32
|
+
private config;
|
|
33
|
+
constructor(config?: BackgroundAgentConfig);
|
|
34
|
+
/** Check if we can spawn a new background agent */
|
|
35
|
+
canSpawn(): {
|
|
36
|
+
allowed: boolean;
|
|
37
|
+
reason?: string;
|
|
38
|
+
};
|
|
39
|
+
/** Register a newly spawned background task */
|
|
40
|
+
registerTask(id: string, agentType: string, description: string): BackgroundTask;
|
|
41
|
+
/** Mark a task as completed */
|
|
42
|
+
completeTask(id: string, result: string): void;
|
|
43
|
+
/** Mark a task as failed */
|
|
44
|
+
failTask(id: string, error: string): void;
|
|
45
|
+
/** Cancel a task */
|
|
46
|
+
cancelTask(id: string): void;
|
|
47
|
+
/** Get all running tasks */
|
|
48
|
+
getRunningTasks(): BackgroundTask[];
|
|
49
|
+
/** Get task by ID */
|
|
50
|
+
getTask(id: string): BackgroundTask | undefined;
|
|
51
|
+
/** Reset circuit breaker */
|
|
52
|
+
resetCircuitBreaker(): void;
|
|
53
|
+
/** Clean up completed/failed tasks older than the timeout */
|
|
54
|
+
cleanup(): void;
|
|
55
|
+
/** Dispose — cancel all running tasks */
|
|
56
|
+
dispose(): Promise<void>;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/features/background-agent/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,MAAM,WAAW,qBAAqB;IACpC,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,uBAAuB,CAAC,EAAE,OAAO,CAAA;IACjC,yBAAyB,CAAC,EAAE,MAAM,CAAA;CACnC;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,IAAI,CAAA;IACf,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAA;IACxD,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,KAAK,CAAoC;IACjD,OAAO,CAAC,YAAY,CAAI;IACxB,OAAO,CAAC,MAAM,CAAiC;gBAEnC,MAAM,GAAE,qBAA0B;IAS9C,mDAAmD;IACnD,QAAQ,IAAI;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE;IAsBjD,+CAA+C;IAC/C,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,cAAc;IAahF,+BAA+B;IAC/B,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAQ9C,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IASzC,oBAAoB;IACpB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAO5B,4BAA4B;IAC5B,eAAe,IAAI,cAAc,EAAE;IAInC,qBAAqB;IACrB,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAI/C,4BAA4B;IAC5B,mBAAmB,IAAI,IAAI;IAI3B,6DAA6D;IAC7D,OAAO,IAAI,IAAI;IAaf,yCAAyC;IACnC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAM/B"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Background Agent Manager
|
|
3
|
+
*
|
|
4
|
+
* Mapped from: BackgroundManager
|
|
5
|
+
*
|
|
6
|
+
* Manages parallel subagent sessions spawned via the Agent tool.
|
|
7
|
+
* Provides circuit breaker pattern to prevent runaway agent spawning,
|
|
8
|
+
* tracks active background agents, and handles completion notifications.
|
|
9
|
+
*
|
|
10
|
+
* In Claude Code, background agents are spawned via:
|
|
11
|
+
* Agent({ run_in_background: true, ... })
|
|
12
|
+
*
|
|
13
|
+
* This manager tracks them and provides utilities for the hooks system.
|
|
14
|
+
*/
|
|
15
|
+
export class BackgroundManager {
|
|
16
|
+
tasks = new Map();
|
|
17
|
+
failureCount = 0;
|
|
18
|
+
config;
|
|
19
|
+
constructor(config = {}) {
|
|
20
|
+
this.config = {
|
|
21
|
+
max_concurrent: config.max_concurrent ?? 5,
|
|
22
|
+
timeout_seconds: config.timeout_seconds ?? 300,
|
|
23
|
+
circuit_breaker_enabled: config.circuit_breaker_enabled ?? true,
|
|
24
|
+
circuit_breaker_threshold: config.circuit_breaker_threshold ?? 3,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
/** Check if we can spawn a new background agent */
|
|
28
|
+
canSpawn() {
|
|
29
|
+
if (this.config.circuit_breaker_enabled &&
|
|
30
|
+
this.failureCount >= this.config.circuit_breaker_threshold) {
|
|
31
|
+
return {
|
|
32
|
+
allowed: false,
|
|
33
|
+
reason: `Circuit breaker open: ${this.failureCount} consecutive failures. Tsathoggua has intervened.`,
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
const running = [...this.tasks.values()].filter(t => t.status === "running").length;
|
|
37
|
+
if (running >= this.config.max_concurrent) {
|
|
38
|
+
return {
|
|
39
|
+
allowed: false,
|
|
40
|
+
reason: `Max concurrent agents reached (${running}/${this.config.max_concurrent})`,
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
return { allowed: true };
|
|
44
|
+
}
|
|
45
|
+
/** Register a newly spawned background task */
|
|
46
|
+
registerTask(id, agentType, description) {
|
|
47
|
+
const task = {
|
|
48
|
+
id,
|
|
49
|
+
agentType,
|
|
50
|
+
description,
|
|
51
|
+
startedAt: new Date(),
|
|
52
|
+
status: "running",
|
|
53
|
+
};
|
|
54
|
+
this.tasks.set(id, task);
|
|
55
|
+
this.failureCount = 0; // Reset on successful spawn
|
|
56
|
+
return task;
|
|
57
|
+
}
|
|
58
|
+
/** Mark a task as completed */
|
|
59
|
+
completeTask(id, result) {
|
|
60
|
+
const task = this.tasks.get(id);
|
|
61
|
+
if (task) {
|
|
62
|
+
task.status = "completed";
|
|
63
|
+
task.result = result;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
/** Mark a task as failed */
|
|
67
|
+
failTask(id, error) {
|
|
68
|
+
const task = this.tasks.get(id);
|
|
69
|
+
if (task) {
|
|
70
|
+
task.status = "failed";
|
|
71
|
+
task.result = error;
|
|
72
|
+
this.failureCount++;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
/** Cancel a task */
|
|
76
|
+
cancelTask(id) {
|
|
77
|
+
const task = this.tasks.get(id);
|
|
78
|
+
if (task) {
|
|
79
|
+
task.status = "cancelled";
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
/** Get all running tasks */
|
|
83
|
+
getRunningTasks() {
|
|
84
|
+
return [...this.tasks.values()].filter(t => t.status === "running");
|
|
85
|
+
}
|
|
86
|
+
/** Get task by ID */
|
|
87
|
+
getTask(id) {
|
|
88
|
+
return this.tasks.get(id);
|
|
89
|
+
}
|
|
90
|
+
/** Reset circuit breaker */
|
|
91
|
+
resetCircuitBreaker() {
|
|
92
|
+
this.failureCount = 0;
|
|
93
|
+
}
|
|
94
|
+
/** Clean up completed/failed tasks older than the timeout */
|
|
95
|
+
cleanup() {
|
|
96
|
+
const now = Date.now();
|
|
97
|
+
for (const [id, task] of this.tasks.entries()) {
|
|
98
|
+
const age = now - task.startedAt.getTime();
|
|
99
|
+
if (task.status !== "running" &&
|
|
100
|
+
age > this.config.timeout_seconds * 1000) {
|
|
101
|
+
this.tasks.delete(id);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
/** Dispose — cancel all running tasks */
|
|
106
|
+
async dispose() {
|
|
107
|
+
for (const task of this.getRunningTasks()) {
|
|
108
|
+
this.cancelTask(task.id);
|
|
109
|
+
}
|
|
110
|
+
this.tasks.clear();
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/features/background-agent/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Manager
|
|
3
|
+
*
|
|
4
|
+
* Mapped from: SkillMcpManager
|
|
5
|
+
*
|
|
6
|
+
* Manages the lifecycle of MCP servers that are embedded in skills.
|
|
7
|
+
* When a skill with mcp_config is invoked, its MCP server is provisioned
|
|
8
|
+
* on-demand and cleaned up after the task completes.
|
|
9
|
+
*
|
|
10
|
+
* This prevents context bloat from permanently loaded MCPs.
|
|
11
|
+
*/
|
|
12
|
+
import type { SkillMcpConfig } from "../skill-loader/index.js";
|
|
13
|
+
export interface McpServerInstance {
|
|
14
|
+
name: string;
|
|
15
|
+
command: string;
|
|
16
|
+
args: string[];
|
|
17
|
+
env?: Record<string, string>;
|
|
18
|
+
status: "starting" | "running" | "stopped" | "error";
|
|
19
|
+
startedAt?: Date;
|
|
20
|
+
}
|
|
21
|
+
export declare class McpManager {
|
|
22
|
+
private servers;
|
|
23
|
+
/** Register an MCP server from a skill's mcp_config */
|
|
24
|
+
registerSkillMcps(skillName: string, mcpConfig: SkillMcpConfig): string[];
|
|
25
|
+
/** Mark an MCP server as running */
|
|
26
|
+
markRunning(skillName: string, mcpName: string): void;
|
|
27
|
+
/** Stop and remove MCP servers for a skill */
|
|
28
|
+
stopSkillMcps(skillName: string): void;
|
|
29
|
+
/** Get all currently running MCP servers */
|
|
30
|
+
getRunningServers(): McpServerInstance[];
|
|
31
|
+
/** Build .mcp.json entries for active skill MCPs */
|
|
32
|
+
buildMcpJsonEntries(): Record<string, {
|
|
33
|
+
command: string;
|
|
34
|
+
args: string[];
|
|
35
|
+
env?: Record<string, string>;
|
|
36
|
+
}>;
|
|
37
|
+
/** Dispose — stop all running servers */
|
|
38
|
+
dispose(): Promise<void>;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/features/mcp-manager/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAE9D,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5B,MAAM,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAA;IACpD,SAAS,CAAC,EAAE,IAAI,CAAA;CACjB;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,OAAO,CAAuC;IAEtD,uDAAuD;IACvD,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,GAAG,MAAM,EAAE;IAmBzE,oCAAoC;IACpC,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAMrD,8CAA8C;IAC9C,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAStC,4CAA4C;IAC5C,iBAAiB,IAAI,iBAAiB,EAAE;IAIxC,oDAAoD;IACpD,mBAAmB,IAAI,MAAM,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;IAcxG,yCAAyC;IACnC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAM/B"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Manager
|
|
3
|
+
*
|
|
4
|
+
* Mapped from: SkillMcpManager
|
|
5
|
+
*
|
|
6
|
+
* Manages the lifecycle of MCP servers that are embedded in skills.
|
|
7
|
+
* When a skill with mcp_config is invoked, its MCP server is provisioned
|
|
8
|
+
* on-demand and cleaned up after the task completes.
|
|
9
|
+
*
|
|
10
|
+
* This prevents context bloat from permanently loaded MCPs.
|
|
11
|
+
*/
|
|
12
|
+
export class McpManager {
|
|
13
|
+
servers = new Map();
|
|
14
|
+
/** Register an MCP server from a skill's mcp_config */
|
|
15
|
+
registerSkillMcps(skillName, mcpConfig) {
|
|
16
|
+
const registered = [];
|
|
17
|
+
for (const [mcpName, config] of Object.entries(mcpConfig)) {
|
|
18
|
+
const instanceKey = `${skillName}:${mcpName}`;
|
|
19
|
+
this.servers.set(instanceKey, {
|
|
20
|
+
name: mcpName,
|
|
21
|
+
command: config.command,
|
|
22
|
+
args: config.args,
|
|
23
|
+
env: config.env,
|
|
24
|
+
status: "starting",
|
|
25
|
+
startedAt: new Date(),
|
|
26
|
+
});
|
|
27
|
+
registered.push(mcpName);
|
|
28
|
+
}
|
|
29
|
+
return registered;
|
|
30
|
+
}
|
|
31
|
+
/** Mark an MCP server as running */
|
|
32
|
+
markRunning(skillName, mcpName) {
|
|
33
|
+
const key = `${skillName}:${mcpName}`;
|
|
34
|
+
const server = this.servers.get(key);
|
|
35
|
+
if (server)
|
|
36
|
+
server.status = "running";
|
|
37
|
+
}
|
|
38
|
+
/** Stop and remove MCP servers for a skill */
|
|
39
|
+
stopSkillMcps(skillName) {
|
|
40
|
+
for (const [key, server] of this.servers.entries()) {
|
|
41
|
+
if (key.startsWith(`${skillName}:`)) {
|
|
42
|
+
server.status = "stopped";
|
|
43
|
+
this.servers.delete(key);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
/** Get all currently running MCP servers */
|
|
48
|
+
getRunningServers() {
|
|
49
|
+
return [...this.servers.values()].filter(s => s.status === "running");
|
|
50
|
+
}
|
|
51
|
+
/** Build .mcp.json entries for active skill MCPs */
|
|
52
|
+
buildMcpJsonEntries() {
|
|
53
|
+
const entries = {};
|
|
54
|
+
for (const server of this.getRunningServers()) {
|
|
55
|
+
entries[server.name] = {
|
|
56
|
+
command: server.command,
|
|
57
|
+
args: server.args,
|
|
58
|
+
...(server.env ? { env: server.env } : {}),
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
return entries;
|
|
62
|
+
}
|
|
63
|
+
/** Dispose — stop all running servers */
|
|
64
|
+
async dispose() {
|
|
65
|
+
for (const server of this.servers.values()) {
|
|
66
|
+
server.status = "stopped";
|
|
67
|
+
}
|
|
68
|
+
this.servers.clear();
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/features/mcp-manager/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAaH,MAAM,OAAO,UAAU;IACb,OAAO,GAAG,IAAI,GAAG,EAA6B,CAAA;IAEtD,uDAAuD;IACvD,iBAAiB,CAAC,SAAiB,EAAE,SAAyB;QAC5D,MAAM,UAAU,GAAa,EAAE,CAAA;QAE/B,KAAK,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1D,MAAM,WAAW,GAAG,GAAG,SAAS,IAAI,OAAO,EAAE,CAAA;YAC7C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE;gBAC5B,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,MAAM,EAAE,UAAU;gBAClB,SAAS,EAAE,IAAI,IAAI,EAAE;aACtB,CAAC,CAAA;YACF,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC1B,CAAC;QAED,OAAO,UAAU,CAAA;IACnB,CAAC;IAED,oCAAoC;IACpC,WAAW,CAAC,SAAiB,EAAE,OAAe;QAC5C,MAAM,GAAG,GAAG,GAAG,SAAS,IAAI,OAAO,EAAE,CAAA;QACrC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACpC,IAAI,MAAM;YAAE,MAAM,CAAC,MAAM,GAAG,SAAS,CAAA;IACvC,CAAC;IAED,8CAA8C;IAC9C,aAAa,CAAC,SAAiB;QAC7B,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;YACnD,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,SAAS,GAAG,CAAC,EAAE,CAAC;gBACpC,MAAM,CAAC,MAAM,GAAG,SAAS,CAAA;gBACzB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YAC1B,CAAC;QACH,CAAC;IACH,CAAC;IAED,4CAA4C;IAC5C,iBAAiB;QACf,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAA;IACvE,CAAC;IAED,oDAAoD;IACpD,mBAAmB;QACjB,MAAM,OAAO,GAAsF,EAAE,CAAA;QAErG,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;YAC9C,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG;gBACrB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC3C,CAAA;QACH,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,yCAAyC;IACzC,KAAK,CAAC,OAAO;QACX,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3C,MAAM,CAAC,MAAM,GAAG,SAAS,CAAA;QAC3B,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;IACtB,CAAC;CACF"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Skill Loader
|
|
3
|
+
*
|
|
4
|
+
* Mapped from: skill-loader
|
|
5
|
+
*
|
|
6
|
+
* Discovers and loads user-defined skills from:
|
|
7
|
+
* 1. Project-level: .claude/skills/<name>/SKILL.md
|
|
8
|
+
* 2. User-level: ~/.claude/skills/<name>/SKILL.md
|
|
9
|
+
*
|
|
10
|
+
* Skills are markdown files with YAML frontmatter. They can define:
|
|
11
|
+
* - name: The skill name (used in /name)
|
|
12
|
+
* - description: What the skill does
|
|
13
|
+
* - mcp_config: Optional MCP server to provision with this skill
|
|
14
|
+
*/
|
|
15
|
+
export interface SkillMcpConfig {
|
|
16
|
+
[mcpName: string]: {
|
|
17
|
+
command: string;
|
|
18
|
+
args: string[];
|
|
19
|
+
env?: Record<string, string>;
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
export interface LoadedSkill {
|
|
23
|
+
name: string;
|
|
24
|
+
description: string;
|
|
25
|
+
content: string;
|
|
26
|
+
mcpConfig?: SkillMcpConfig;
|
|
27
|
+
source: "project" | "user" | "builtin";
|
|
28
|
+
filePath: string;
|
|
29
|
+
}
|
|
30
|
+
/** Discover all skills from project and user directories */
|
|
31
|
+
export declare function discoverSkills(projectDirectory: string): LoadedSkill[];
|
|
32
|
+
/** Get skills as AvailableSkill format for agent prompt building */
|
|
33
|
+
export declare function toAvailableSkills(skills: LoadedSkill[]): Array<{
|
|
34
|
+
name: string;
|
|
35
|
+
description: string;
|
|
36
|
+
}>;
|
|
37
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/features/skill-loader/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,MAAM,WAAW,cAAc;IAC7B,CAAC,OAAO,EAAE,MAAM,GAAG;QACjB,OAAO,EAAE,MAAM,CAAA;QACf,IAAI,EAAE,MAAM,EAAE,CAAA;QACd,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAC7B,CAAA;CACF;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,cAAc,CAAA;IAC1B,MAAM,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,CAAA;IACtC,QAAQ,EAAE,MAAM,CAAA;CACjB;AA0DD,4DAA4D;AAC5D,wBAAgB,cAAc,CAAC,gBAAgB,EAAE,MAAM,GAAG,WAAW,EAAE,CAiBtE;AAED,oEAAoE;AACpE,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,WAAW,EAAE,GACpB,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,CAE9C"}
|