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.
Files changed (45) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +283 -0
  3. package/bun.lock +20 -0
  4. package/dist/agents.d.ts +3 -0
  5. package/dist/agents.d.ts.map +1 -0
  6. package/dist/agents.js +483 -0
  7. package/dist/agents.js.map +1 -0
  8. package/dist/compatibility-layer.d.ts +18 -0
  9. package/dist/compatibility-layer.d.ts.map +1 -0
  10. package/dist/compatibility-layer.js +150 -0
  11. package/dist/compatibility-layer.js.map +1 -0
  12. package/dist/index.d.ts +4 -0
  13. package/dist/index.d.ts.map +1 -0
  14. package/dist/index.js +1459 -0
  15. package/dist/index.js.map +1 -0
  16. package/dist/intent-detection.d.ts +14 -0
  17. package/dist/intent-detection.d.ts.map +1 -0
  18. package/dist/intent-detection.js +121 -0
  19. package/dist/intent-detection.js.map +1 -0
  20. package/dist/memory.d.ts +41 -0
  21. package/dist/memory.d.ts.map +1 -0
  22. package/dist/memory.js +330 -0
  23. package/dist/memory.js.map +1 -0
  24. package/dist/router.d.ts +15 -0
  25. package/dist/router.d.ts.map +1 -0
  26. package/dist/router.js +208 -0
  27. package/dist/router.js.map +1 -0
  28. package/dist/skills.d.ts +3 -0
  29. package/dist/skills.d.ts.map +1 -0
  30. package/dist/skills.js +2790 -0
  31. package/dist/skills.js.map +1 -0
  32. package/dist/task-orchestrator.d.ts +46 -0
  33. package/dist/task-orchestrator.d.ts.map +1 -0
  34. package/dist/task-orchestrator.js +262 -0
  35. package/dist/task-orchestrator.js.map +1 -0
  36. package/dist/workflow-executor.d.ts +29 -0
  37. package/dist/workflow-executor.d.ts.map +1 -0
  38. package/dist/workflow-executor.js +414 -0
  39. package/dist/workflow-executor.js.map +1 -0
  40. package/install-from-github.mjs +152 -0
  41. package/install-from-github.sh +106 -0
  42. package/install.sh +295 -0
  43. package/opencode.json +118 -0
  44. package/package.json +41 -0
  45. 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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"}
@@ -0,0 +1,3 @@
1
+ import type { SkillDefinition } from '@opencode-ai/plugin';
2
+ export declare const skillDefinitions: SkillDefinition[];
3
+ //# sourceMappingURL=skills.d.ts.map
@@ -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"}