opencode-cc10x 6.0.21
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 +283 -0
- package/bun.lock +20 -0
- package/dist/agents.d.ts +3 -0
- package/dist/agents.d.ts.map +1 -0
- package/dist/agents.js +483 -0
- package/dist/agents.js.map +1 -0
- package/dist/compatibility-layer.d.ts +18 -0
- package/dist/compatibility-layer.d.ts.map +1 -0
- package/dist/compatibility-layer.js +150 -0
- package/dist/compatibility-layer.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1459 -0
- package/dist/index.js.map +1 -0
- package/dist/intent-detection.d.ts +14 -0
- package/dist/intent-detection.d.ts.map +1 -0
- package/dist/intent-detection.js +121 -0
- package/dist/intent-detection.js.map +1 -0
- package/dist/memory.d.ts +41 -0
- package/dist/memory.d.ts.map +1 -0
- package/dist/memory.js +330 -0
- package/dist/memory.js.map +1 -0
- package/dist/router.d.ts +15 -0
- package/dist/router.d.ts.map +1 -0
- package/dist/router.js +208 -0
- package/dist/router.js.map +1 -0
- package/dist/skills.d.ts +3 -0
- package/dist/skills.d.ts.map +1 -0
- package/dist/skills.js +2790 -0
- package/dist/skills.js.map +1 -0
- package/dist/task-orchestrator.d.ts +46 -0
- package/dist/task-orchestrator.d.ts.map +1 -0
- package/dist/task-orchestrator.js +262 -0
- package/dist/task-orchestrator.js.map +1 -0
- package/dist/workflow-executor.d.ts +29 -0
- package/dist/workflow-executor.d.ts.map +1 -0
- package/dist/workflow-executor.js +414 -0
- package/dist/workflow-executor.js.map +1 -0
- package/install-from-github.mjs +152 -0
- package/install-from-github.sh +106 -0
- package/install.sh +295 -0
- package/opencode.json +118 -0
- package/package.json +41 -0
- package/tsconfig.json +23 -0
package/dist/router.js
ADDED
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
import { detectIntent } from './intent-detection';
|
|
2
|
+
import { memoryManager } from './memory';
|
|
3
|
+
import { taskOrchestrator } from './task-orchestrator';
|
|
4
|
+
import { workflowExecutor } from './workflow-executor';
|
|
5
|
+
export async function cc10xRouter(input) {
|
|
6
|
+
// Initialize memory system with shell access
|
|
7
|
+
await memoryManager.initialize(input);
|
|
8
|
+
// State tracking
|
|
9
|
+
const activeWorkflows = new Map();
|
|
10
|
+
const routerHooks = {
|
|
11
|
+
// Main message interceptor - this is where cc10x magic happens
|
|
12
|
+
messageReceived: async (input, output) => {
|
|
13
|
+
try {
|
|
14
|
+
const userMessage = input.args?.message || input.args?.text || '';
|
|
15
|
+
// Skip if not a development-related message
|
|
16
|
+
if (!isDevelopmentIntent(userMessage)) {
|
|
17
|
+
return; // Let OpenCode handle normally
|
|
18
|
+
}
|
|
19
|
+
// Check for active workflow to resume
|
|
20
|
+
const activeWorkflow = await checkForActiveWorkflow(input);
|
|
21
|
+
if (activeWorkflow) {
|
|
22
|
+
await resumeWorkflow(activeWorkflow, userMessage, input);
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
// Load memory for new workflow
|
|
26
|
+
const memory = await memoryManager.load(input);
|
|
27
|
+
// Detect user intent
|
|
28
|
+
const intent = detectIntent(userMessage, memory);
|
|
29
|
+
// Create task hierarchy
|
|
30
|
+
const workflowTask = await taskOrchestrator.createWorkflowTask(input, {
|
|
31
|
+
userRequest: userMessage,
|
|
32
|
+
intent: intent,
|
|
33
|
+
memory: memory
|
|
34
|
+
});
|
|
35
|
+
// Execute appropriate workflow
|
|
36
|
+
await workflowExecutor.executeWorkflow(input, {
|
|
37
|
+
intent: intent,
|
|
38
|
+
userRequest: userMessage,
|
|
39
|
+
memory: memory,
|
|
40
|
+
workflowTaskId: workflowTask.id,
|
|
41
|
+
activeForm: getActiveFormForIntent(intent, userMessage)
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
catch (error) {
|
|
45
|
+
console.error('cc10x router error:', error);
|
|
46
|
+
// Don't block OpenCode - just log and continue
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
sessionCreated: async (input, output) => {
|
|
50
|
+
// Ensure memory directory exists on session start
|
|
51
|
+
await memoryManager.ensureDirectory(input);
|
|
52
|
+
},
|
|
53
|
+
sessionCompacted: async (input, output) => {
|
|
54
|
+
// Save critical state before compaction
|
|
55
|
+
await memoryManager.saveCompactionCheckpoint(input);
|
|
56
|
+
},
|
|
57
|
+
toolExecuteBefore: async (input, output) => {
|
|
58
|
+
// TDD enforcement: Check if we're in a test phase
|
|
59
|
+
if (input.tool === 'bash' && isTestCommand(input.args?.command)) {
|
|
60
|
+
await enforceTDDRequirements(input, input);
|
|
61
|
+
}
|
|
62
|
+
// Permission-free memory operations check
|
|
63
|
+
if (isMemoryOperation(input)) {
|
|
64
|
+
await validateMemoryOperation(input, input);
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
toolExecuteAfter: async (input, output) => {
|
|
68
|
+
// Capture exit codes for verification
|
|
69
|
+
if (output.exitCode !== undefined) {
|
|
70
|
+
await taskOrchestrator.recordExecutionResult(input, {
|
|
71
|
+
tool: input.tool,
|
|
72
|
+
command: input.args?.command,
|
|
73
|
+
exitCode: output.exitCode,
|
|
74
|
+
timestamp: new Date().toISOString()
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
},
|
|
78
|
+
agentStarted: async (input, output) => {
|
|
79
|
+
// Track agent execution for task updates
|
|
80
|
+
const agentName = input.agentName || input.agent;
|
|
81
|
+
const taskId = input.taskId;
|
|
82
|
+
if (taskId) {
|
|
83
|
+
await taskOrchestrator.updateTaskStatus(input, taskId, 'in_progress');
|
|
84
|
+
}
|
|
85
|
+
// Log agent start for debugging
|
|
86
|
+
console.log(`🤖 cc10x agent started: ${agentName}`);
|
|
87
|
+
},
|
|
88
|
+
agentCompleted: async (input, output) => {
|
|
89
|
+
const agentName = input.agentName || input.agent;
|
|
90
|
+
const taskId = input.taskId;
|
|
91
|
+
const result = input.result || input.output;
|
|
92
|
+
if (taskId) {
|
|
93
|
+
await taskOrchestrator.updateTaskStatus(input, taskId, 'completed', result);
|
|
94
|
+
}
|
|
95
|
+
// Extract memory notes from agent output
|
|
96
|
+
const memoryNotes = extractMemoryNotes(result);
|
|
97
|
+
if (memoryNotes && memoryNotes.length > 0) {
|
|
98
|
+
await memoryManager.accumulateNotes(input, memoryNotes);
|
|
99
|
+
}
|
|
100
|
+
console.log(`✅ cc10x agent completed: ${agentName}`);
|
|
101
|
+
},
|
|
102
|
+
manualInvoke: async (args, context) => {
|
|
103
|
+
// Allow manual router invocation - simulate a message received
|
|
104
|
+
const request = args.request || args.task || args.prompt || '';
|
|
105
|
+
if (!request.trim()) {
|
|
106
|
+
return 'Please provide a task description.';
|
|
107
|
+
}
|
|
108
|
+
console.log(`🚀 Manual cc10x invocation: ${request}`);
|
|
109
|
+
// Create a synthetic message event and process it through the router
|
|
110
|
+
const syntheticMessage = {
|
|
111
|
+
id: `manual-${Date.now()}`,
|
|
112
|
+
content: request,
|
|
113
|
+
role: 'user',
|
|
114
|
+
timestamp: new Date().toISOString()
|
|
115
|
+
};
|
|
116
|
+
try {
|
|
117
|
+
await routerHooks.messageReceived(context, syntheticMessage);
|
|
118
|
+
return `✅ cc10x orchestration started for: ${request}`;
|
|
119
|
+
}
|
|
120
|
+
catch (error) {
|
|
121
|
+
console.error('Manual invocation failed:', error);
|
|
122
|
+
return `❌ cc10x orchestration failed: ${error.message}`;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
};
|
|
126
|
+
return { routerHooks };
|
|
127
|
+
}
|
|
128
|
+
// Helper functions
|
|
129
|
+
function isDevelopmentIntent(message) {
|
|
130
|
+
const devKeywords = [
|
|
131
|
+
'build', 'implement', 'create', 'make', 'write', 'add', 'develop', 'code',
|
|
132
|
+
'feature', 'component', 'app', 'application', 'debug', 'fix', 'error',
|
|
133
|
+
'bug', 'broken', 'troubleshoot', 'review', 'audit', 'check', 'analyze',
|
|
134
|
+
'plan', 'design', 'architect', 'roadmap', 'strategy', 'test', 'tdd'
|
|
135
|
+
];
|
|
136
|
+
const lowerMessage = message.toLowerCase();
|
|
137
|
+
return devKeywords.some(keyword => lowerMessage.includes(keyword));
|
|
138
|
+
}
|
|
139
|
+
function getActiveFormForIntent(intent, userMessage) {
|
|
140
|
+
const intentDescriptions = {
|
|
141
|
+
'BUILD': `Building: ${userMessage.substring(0, 50)}...`,
|
|
142
|
+
'DEBUG': `Debugging: ${userMessage.substring(0, 50)}...`,
|
|
143
|
+
'REVIEW': `Reviewing: ${userMessage.substring(0, 50)}...`,
|
|
144
|
+
'PLAN': `Planning: ${userMessage.substring(0, 50)}...`
|
|
145
|
+
};
|
|
146
|
+
return intentDescriptions[intent] || 'Processing development task...';
|
|
147
|
+
}
|
|
148
|
+
function isTestCommand(command) {
|
|
149
|
+
if (!command)
|
|
150
|
+
return false;
|
|
151
|
+
const testPatterns = [
|
|
152
|
+
/test/i, /spec/i, /\.test\./, /\.spec\./,
|
|
153
|
+
/jest/i, /mocha/i, /pytest/i, /tox/i,
|
|
154
|
+
/npm test/i, /yarn test/i, /bun test/i
|
|
155
|
+
];
|
|
156
|
+
return testPatterns.some(pattern => pattern.test(command));
|
|
157
|
+
}
|
|
158
|
+
function isMemoryOperation(input) {
|
|
159
|
+
const filePath = input.args?.filePath || '';
|
|
160
|
+
const memoryPaths = [
|
|
161
|
+
'.claude/cc10x/activeContext.md',
|
|
162
|
+
'.claude/cc10x/patterns.md',
|
|
163
|
+
'.claude/cc10x/progress.md'
|
|
164
|
+
];
|
|
165
|
+
return memoryPaths.some(path => filePath.includes(path));
|
|
166
|
+
}
|
|
167
|
+
async function enforceTDDRequirements(ctx, input) {
|
|
168
|
+
// This would enforce TDD cycle - placeholder for now
|
|
169
|
+
// In full implementation, would track test phases
|
|
170
|
+
}
|
|
171
|
+
async function validateMemoryOperation(ctx, input) {
|
|
172
|
+
// Ensure memory operations are permission-free
|
|
173
|
+
// In full implementation, would validate Edit vs Write usage
|
|
174
|
+
}
|
|
175
|
+
async function checkForActiveWorkflow(ctx) {
|
|
176
|
+
// Check if there's an active cc10x workflow to resume
|
|
177
|
+
// This would integrate with OpenCode's task system
|
|
178
|
+
return null; // Placeholder
|
|
179
|
+
}
|
|
180
|
+
async function resumeWorkflow(workflow, userMessage, ctx) {
|
|
181
|
+
// Resume an existing workflow
|
|
182
|
+
// Implementation would depend on task state
|
|
183
|
+
}
|
|
184
|
+
function extractMemoryNotes(result) {
|
|
185
|
+
// Extract memory notes from agent output
|
|
186
|
+
if (typeof result === 'string') {
|
|
187
|
+
const notes = [];
|
|
188
|
+
const lines = result.split('\n');
|
|
189
|
+
let inMemorySection = false;
|
|
190
|
+
for (const line of lines) {
|
|
191
|
+
if (line.includes('### Memory Notes')) {
|
|
192
|
+
inMemorySection = true;
|
|
193
|
+
continue;
|
|
194
|
+
}
|
|
195
|
+
if (inMemorySection) {
|
|
196
|
+
if (line.startsWith('###') && !line.includes('Memory Notes')) {
|
|
197
|
+
break; // End of section
|
|
198
|
+
}
|
|
199
|
+
if (line.trim() && !line.startsWith('#')) {
|
|
200
|
+
notes.push(line.trim());
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
return notes;
|
|
205
|
+
}
|
|
206
|
+
return [];
|
|
207
|
+
}
|
|
208
|
+
//# sourceMappingURL=router.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"router.js","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"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"}
|
package/dist/skills.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,eAAO,MAAM,gBAAgB,EAAE,eAAe,EAouF7C,CAAC"}
|