mcp-subagents-opencode 1.0.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 +602 -0
- package/build/config/timeouts.d.ts +9 -0
- package/build/config/timeouts.d.ts.map +1 -0
- package/build/config/timeouts.js +18 -0
- package/build/config/timeouts.js.map +1 -0
- package/build/helpers.d.ts +6 -0
- package/build/helpers.d.ts.map +1 -0
- package/build/helpers.js +47 -0
- package/build/helpers.js.map +1 -0
- package/build/index.d.ts +3 -0
- package/build/index.d.ts.map +1 -0
- package/build/index.js +245 -0
- package/build/index.js.map +1 -0
- package/build/models.d.ts +32 -0
- package/build/models.d.ts.map +1 -0
- package/build/models.js +58 -0
- package/build/models.js.map +1 -0
- package/build/server/register-notifications.d.ts +3 -0
- package/build/server/register-notifications.d.ts.map +1 -0
- package/build/server/register-notifications.js +77 -0
- package/build/server/register-notifications.js.map +1 -0
- package/build/server/register-resources.d.ts +3 -0
- package/build/server/register-resources.d.ts.map +1 -0
- package/build/server/register-resources.js +210 -0
- package/build/server/register-resources.js.map +1 -0
- package/build/server/register-retry-execution.d.ts +2 -0
- package/build/server/register-retry-execution.d.ts.map +1 -0
- package/build/server/register-retry-execution.js +28 -0
- package/build/server/register-retry-execution.js.map +1 -0
- package/build/server/register-tasks.d.ts +3 -0
- package/build/server/register-tasks.d.ts.map +1 -0
- package/build/server/register-tasks.js +52 -0
- package/build/server/register-tasks.js.map +1 -0
- package/build/server/register-tools.d.ts +3 -0
- package/build/server/register-tools.d.ts.map +1 -0
- package/build/server/register-tools.js +32 -0
- package/build/server/register-tools.js.map +1 -0
- package/build/server/resource-helpers.d.ts +21 -0
- package/build/server/resource-helpers.d.ts.map +1 -0
- package/build/server/resource-helpers.js +84 -0
- package/build/server/resource-helpers.js.map +1 -0
- package/build/services/account-manager.d.ts +88 -0
- package/build/services/account-manager.d.ts.map +1 -0
- package/build/services/account-manager.js +239 -0
- package/build/services/account-manager.js.map +1 -0
- package/build/services/claude-code-runner.d.ts +15 -0
- package/build/services/claude-code-runner.d.ts.map +1 -0
- package/build/services/claude-code-runner.js +475 -0
- package/build/services/claude-code-runner.js.map +1 -0
- package/build/services/client-context.d.ts +31 -0
- package/build/services/client-context.d.ts.map +1 -0
- package/build/services/client-context.js +44 -0
- package/build/services/client-context.js.map +1 -0
- package/build/services/exhaustion-fallback.d.ts +27 -0
- package/build/services/exhaustion-fallback.d.ts.map +1 -0
- package/build/services/exhaustion-fallback.js +30 -0
- package/build/services/exhaustion-fallback.js.map +1 -0
- package/build/services/fallback-orchestrator.d.ts +16 -0
- package/build/services/fallback-orchestrator.d.ts.map +1 -0
- package/build/services/fallback-orchestrator.js +48 -0
- package/build/services/fallback-orchestrator.js.map +1 -0
- package/build/services/opencode-client.d.ts +40 -0
- package/build/services/opencode-client.d.ts.map +1 -0
- package/build/services/opencode-client.js +147 -0
- package/build/services/opencode-client.js.map +1 -0
- package/build/services/opencode-spawner.d.ts +56 -0
- package/build/services/opencode-spawner.d.ts.map +1 -0
- package/build/services/opencode-spawner.js +426 -0
- package/build/services/opencode-spawner.js.map +1 -0
- package/build/services/output-file.d.ts +24 -0
- package/build/services/output-file.d.ts.map +1 -0
- package/build/services/output-file.js +90 -0
- package/build/services/output-file.js.map +1 -0
- package/build/services/progress-registry.d.ts +12 -0
- package/build/services/progress-registry.d.ts.map +1 -0
- package/build/services/progress-registry.js +97 -0
- package/build/services/progress-registry.js.map +1 -0
- package/build/services/question-registry.d.ts +79 -0
- package/build/services/question-registry.d.ts.map +1 -0
- package/build/services/question-registry.js +249 -0
- package/build/services/question-registry.js.map +1 -0
- package/build/services/retry-queue.d.ts +41 -0
- package/build/services/retry-queue.d.ts.map +1 -0
- package/build/services/retry-queue.js +195 -0
- package/build/services/retry-queue.js.map +1 -0
- package/build/services/sdk-client-manager.d.ts +149 -0
- package/build/services/sdk-client-manager.d.ts.map +1 -0
- package/build/services/sdk-client-manager.js +632 -0
- package/build/services/sdk-client-manager.js.map +1 -0
- package/build/services/sdk-session-adapter.d.ts +203 -0
- package/build/services/sdk-session-adapter.d.ts.map +1 -0
- package/build/services/sdk-session-adapter.js +1088 -0
- package/build/services/sdk-session-adapter.js.map +1 -0
- package/build/services/sdk-spawner.d.ts +42 -0
- package/build/services/sdk-spawner.d.ts.map +1 -0
- package/build/services/sdk-spawner.js +488 -0
- package/build/services/sdk-spawner.js.map +1 -0
- package/build/services/session-hooks.d.ts +24 -0
- package/build/services/session-hooks.d.ts.map +1 -0
- package/build/services/session-hooks.js +130 -0
- package/build/services/session-hooks.js.map +1 -0
- package/build/services/session-snapshot.d.ts +19 -0
- package/build/services/session-snapshot.d.ts.map +1 -0
- package/build/services/session-snapshot.js +203 -0
- package/build/services/session-snapshot.js.map +1 -0
- package/build/services/subscription-registry.d.ts +12 -0
- package/build/services/subscription-registry.d.ts.map +1 -0
- package/build/services/subscription-registry.js +27 -0
- package/build/services/subscription-registry.js.map +1 -0
- package/build/services/task-manager.d.ts +150 -0
- package/build/services/task-manager.d.ts.map +1 -0
- package/build/services/task-manager.js +765 -0
- package/build/services/task-manager.js.map +1 -0
- package/build/services/task-persistence.d.ts +29 -0
- package/build/services/task-persistence.d.ts.map +1 -0
- package/build/services/task-persistence.js +159 -0
- package/build/services/task-persistence.js.map +1 -0
- package/build/services/task-status-mapper.d.ts +21 -0
- package/build/services/task-status-mapper.d.ts.map +1 -0
- package/build/services/task-status-mapper.js +171 -0
- package/build/services/task-status-mapper.js.map +1 -0
- package/build/templates/index.d.ts +22 -0
- package/build/templates/index.d.ts.map +1 -0
- package/build/templates/index.js +147 -0
- package/build/templates/index.js.map +1 -0
- package/build/templates/overlays/coder-csharp.mdx +58 -0
- package/build/templates/overlays/coder-go.mdx +53 -0
- package/build/templates/overlays/coder-java.mdx +54 -0
- package/build/templates/overlays/coder-kotlin.mdx +56 -0
- package/build/templates/overlays/coder-nextjs.mdx +65 -0
- package/build/templates/overlays/coder-python.mdx +53 -0
- package/build/templates/overlays/coder-react.mdx +55 -0
- package/build/templates/overlays/coder-ruby.mdx +59 -0
- package/build/templates/overlays/coder-rust.mdx +48 -0
- package/build/templates/overlays/coder-supabase.mdx +268 -0
- package/build/templates/overlays/coder-supastarter.mdx +313 -0
- package/build/templates/overlays/coder-swift.mdx +56 -0
- package/build/templates/overlays/coder-tauri.mdx +566 -0
- package/build/templates/overlays/coder-triggerdev.mdx +296 -0
- package/build/templates/overlays/coder-typescript.mdx +45 -0
- package/build/templates/overlays/coder-vue.mdx +62 -0
- package/build/templates/overlays/planner-architecture.mdx +78 -0
- package/build/templates/overlays/planner-bugfix.mdx +36 -0
- package/build/templates/overlays/planner-feature.mdx +38 -0
- package/build/templates/overlays/planner-migration.mdx +50 -0
- package/build/templates/overlays/planner-refactor.mdx +57 -0
- package/build/templates/overlays/researcher-library.mdx +59 -0
- package/build/templates/overlays/researcher-performance.mdx +68 -0
- package/build/templates/overlays/researcher-security.mdx +86 -0
- package/build/templates/overlays/tester-graphql.mdx +191 -0
- package/build/templates/overlays/tester-playwright.mdx +621 -0
- package/build/templates/overlays/tester-rest.mdx +101 -0
- package/build/templates/overlays/tester-suite.mdx +177 -0
- package/build/templates/super-coder.mdx +529 -0
- package/build/templates/super-planner.mdx +568 -0
- package/build/templates/super-researcher.mdx +406 -0
- package/build/templates/super-tester.mdx +243 -0
- package/build/tools/answer-question.d.ts +30 -0
- package/build/tools/answer-question.d.ts.map +1 -0
- package/build/tools/answer-question.js +108 -0
- package/build/tools/answer-question.js.map +1 -0
- package/build/tools/cancel-task.d.ts +44 -0
- package/build/tools/cancel-task.d.ts.map +1 -0
- package/build/tools/cancel-task.js +144 -0
- package/build/tools/cancel-task.js.map +1 -0
- package/build/tools/send-message.d.ts +39 -0
- package/build/tools/send-message.d.ts.map +1 -0
- package/build/tools/send-message.js +124 -0
- package/build/tools/send-message.js.map +1 -0
- package/build/tools/shared-spawn.d.ts +56 -0
- package/build/tools/shared-spawn.d.ts.map +1 -0
- package/build/tools/shared-spawn.js +114 -0
- package/build/tools/shared-spawn.js.map +1 -0
- package/build/tools/spawn-agent.d.ts +85 -0
- package/build/tools/spawn-agent.d.ts.map +1 -0
- package/build/tools/spawn-agent.js +133 -0
- package/build/tools/spawn-agent.js.map +1 -0
- package/build/tools/spawn-coder.d.ts +70 -0
- package/build/tools/spawn-coder.d.ts.map +1 -0
- package/build/tools/spawn-coder.js +71 -0
- package/build/tools/spawn-coder.js.map +1 -0
- package/build/tools/spawn-planner.d.ts +70 -0
- package/build/tools/spawn-planner.d.ts.map +1 -0
- package/build/tools/spawn-planner.js +71 -0
- package/build/tools/spawn-planner.js.map +1 -0
- package/build/tools/spawn-researcher.d.ts +70 -0
- package/build/tools/spawn-researcher.d.ts.map +1 -0
- package/build/tools/spawn-researcher.js +70 -0
- package/build/tools/spawn-researcher.js.map +1 -0
- package/build/tools/spawn-task.d.ts +74 -0
- package/build/tools/spawn-task.d.ts.map +1 -0
- package/build/tools/spawn-task.js +107 -0
- package/build/tools/spawn-task.js.map +1 -0
- package/build/tools/spawn-tester.d.ts +70 -0
- package/build/tools/spawn-tester.d.ts.map +1 -0
- package/build/tools/spawn-tester.js +69 -0
- package/build/tools/spawn-tester.js.map +1 -0
- package/build/types.d.ts +101 -0
- package/build/types.d.ts.map +1 -0
- package/build/types.js +28 -0
- package/build/types.js.map +1 -0
- package/build/utils/brief-validator.d.ts +30 -0
- package/build/utils/brief-validator.d.ts.map +1 -0
- package/build/utils/brief-validator.js +254 -0
- package/build/utils/brief-validator.js.map +1 -0
- package/build/utils/format.d.ts +34 -0
- package/build/utils/format.d.ts.map +1 -0
- package/build/utils/format.js +55 -0
- package/build/utils/format.js.map +1 -0
- package/build/utils/sanitize.d.ts +240 -0
- package/build/utils/sanitize.d.ts.map +1 -0
- package/build/utils/sanitize.js +89 -0
- package/build/utils/sanitize.js.map +1 -0
- package/build/utils/task-id-generator.d.ts +10 -0
- package/build/utils/task-id-generator.d.ts.map +1 -0
- package/build/utils/task-id-generator.js +22 -0
- package/build/utils/task-id-generator.js.map +1 -0
- package/package.json +62 -0
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SDK Session Adapter - Bridges Copilot SDK sessions to the MCP server's TaskState model.
|
|
3
|
+
*
|
|
4
|
+
* This adapter:
|
|
5
|
+
* - Maps SDK session events to TaskState updates using SDK's native types
|
|
6
|
+
* - Handles mid-session rate limit detection via session.error events
|
|
7
|
+
* - Triggers account rotation and session resume on rate limits
|
|
8
|
+
* - Manages streaming output accumulation
|
|
9
|
+
* - Provides unified error handling with proper typing
|
|
10
|
+
* - Collects completion metrics from session.shutdown
|
|
11
|
+
* - Tracks quota info from assistant.usage
|
|
12
|
+
* - Monitors tool execution and subagent activity
|
|
13
|
+
*/
|
|
14
|
+
import type { CopilotSession } from '@github/copilot-sdk';
|
|
15
|
+
import { type QuotaInfo, type ToolMetrics, type SubagentInfo } from '../types.js';
|
|
16
|
+
type RotationRequestCallback = (taskId: string, sessionId: string, reason: string, statusCode?: number) => Promise<{
|
|
17
|
+
rotated: boolean;
|
|
18
|
+
newSession?: CopilotSession;
|
|
19
|
+
}>;
|
|
20
|
+
interface SessionBinding {
|
|
21
|
+
taskId: string;
|
|
22
|
+
session: CopilotSession;
|
|
23
|
+
sessionId: string;
|
|
24
|
+
unsubscribe: () => void;
|
|
25
|
+
outputBuffer: string[];
|
|
26
|
+
reasoningBuffer: string[];
|
|
27
|
+
lastMessageId?: string;
|
|
28
|
+
startTime: Date;
|
|
29
|
+
isCompleted: boolean;
|
|
30
|
+
isPaused: boolean;
|
|
31
|
+
error?: string;
|
|
32
|
+
rotationAttempts: number;
|
|
33
|
+
maxRotationAttempts: number;
|
|
34
|
+
rotationInProgress: boolean;
|
|
35
|
+
rateLimitInfo?: {
|
|
36
|
+
statusCode: number;
|
|
37
|
+
resetDate?: string;
|
|
38
|
+
remainingPercentage?: number;
|
|
39
|
+
};
|
|
40
|
+
pendingPrompt?: string;
|
|
41
|
+
turnCount: number;
|
|
42
|
+
totalTokens: {
|
|
43
|
+
input: number;
|
|
44
|
+
output: number;
|
|
45
|
+
};
|
|
46
|
+
toolMetrics: Map<string, ToolMetrics>;
|
|
47
|
+
toolStartTimes: Map<string, number>;
|
|
48
|
+
toolCallIdToName: Map<string, string>;
|
|
49
|
+
activeSubagents: Map<string, SubagentInfo>;
|
|
50
|
+
completedSubagents: SubagentInfo[];
|
|
51
|
+
quotas: Map<string, QuotaInfo>;
|
|
52
|
+
isUnbound: boolean;
|
|
53
|
+
}
|
|
54
|
+
declare class SDKSessionAdapter {
|
|
55
|
+
private bindings;
|
|
56
|
+
private rotationCallback?;
|
|
57
|
+
/**
|
|
58
|
+
* Set the callback for rotation requests.
|
|
59
|
+
* This is called when mid-session rate limits are detected.
|
|
60
|
+
*/
|
|
61
|
+
onRotationRequest(callback: RotationRequestCallback): void;
|
|
62
|
+
/**
|
|
63
|
+
* Perform a health check on the current account by creating a test session.
|
|
64
|
+
* Uses claude-haiku-4.5 for fast/cheap verification.
|
|
65
|
+
* Returns true if the account can successfully respond.
|
|
66
|
+
*/
|
|
67
|
+
performHealthCheck(cwd: string): Promise<boolean>;
|
|
68
|
+
/**
|
|
69
|
+
* Bind a SDK session to a task, setting up event handlers.
|
|
70
|
+
*/
|
|
71
|
+
bind(taskId: string, session: CopilotSession, pendingPrompt?: string): void;
|
|
72
|
+
/**
|
|
73
|
+
* Handle SDK session events and map them to task updates.
|
|
74
|
+
* Uses type narrowing for type-safe event handling.
|
|
75
|
+
*/
|
|
76
|
+
private handleEvent;
|
|
77
|
+
/**
|
|
78
|
+
* Handle session.start event
|
|
79
|
+
*/
|
|
80
|
+
private handleSessionStart;
|
|
81
|
+
/**
|
|
82
|
+
* Handle assistant.turn_start event - track turn count
|
|
83
|
+
*/
|
|
84
|
+
private handleTurnStart;
|
|
85
|
+
/**
|
|
86
|
+
* Handle session.idle event - indicates completion
|
|
87
|
+
*/
|
|
88
|
+
private handleSessionIdle;
|
|
89
|
+
/**
|
|
90
|
+
* Handle session.error event - key for mid-session rate limit detection
|
|
91
|
+
* Now stores structured failure context
|
|
92
|
+
*/
|
|
93
|
+
private handleSessionError;
|
|
94
|
+
/**
|
|
95
|
+
* Attempt to rotate to a new account and resume the session
|
|
96
|
+
*/
|
|
97
|
+
private attemptRotationAndResume;
|
|
98
|
+
/**
|
|
99
|
+
* Rebind a task with a new session after rotation
|
|
100
|
+
*/
|
|
101
|
+
private rebindWithNewSession;
|
|
102
|
+
/**
|
|
103
|
+
* Mark task as rate limited (for when rotation is exhausted)
|
|
104
|
+
*/
|
|
105
|
+
private markAsRateLimited;
|
|
106
|
+
/**
|
|
107
|
+
* Mark task as failed with structured failure context
|
|
108
|
+
*/
|
|
109
|
+
private markAsFailed;
|
|
110
|
+
/**
|
|
111
|
+
* Handle assistant.message_delta event (streaming)
|
|
112
|
+
*/
|
|
113
|
+
private handleMessageDelta;
|
|
114
|
+
/**
|
|
115
|
+
* Handle assistant.message event (final message)
|
|
116
|
+
* Also checks for string-based rate limit detection as fallback
|
|
117
|
+
*/
|
|
118
|
+
private handleAssistantMessage;
|
|
119
|
+
/**
|
|
120
|
+
* Handle assistant.usage event for quota tracking
|
|
121
|
+
* Stores structured quota info and updates session metrics
|
|
122
|
+
*/
|
|
123
|
+
private handleUsage;
|
|
124
|
+
/**
|
|
125
|
+
* Handle tool.execution_start event - track tool metrics
|
|
126
|
+
*/
|
|
127
|
+
private handleToolStart;
|
|
128
|
+
/**
|
|
129
|
+
* Handle tool.execution_complete event - finalize tool metrics
|
|
130
|
+
*/
|
|
131
|
+
private handleToolComplete;
|
|
132
|
+
/**
|
|
133
|
+
* Handle subagent.started event
|
|
134
|
+
*/
|
|
135
|
+
private handleSubagentStarted;
|
|
136
|
+
/**
|
|
137
|
+
* Handle subagent.completed event
|
|
138
|
+
*/
|
|
139
|
+
private handleSubagentCompleted;
|
|
140
|
+
/**
|
|
141
|
+
* Handle subagent.failed event
|
|
142
|
+
*/
|
|
143
|
+
private handleSubagentFailed;
|
|
144
|
+
/**
|
|
145
|
+
* Handle session.shutdown event - extract completion metrics
|
|
146
|
+
*/
|
|
147
|
+
private handleSessionShutdown;
|
|
148
|
+
/**
|
|
149
|
+
* Handle abort event
|
|
150
|
+
*/
|
|
151
|
+
private handleAbort;
|
|
152
|
+
/**
|
|
153
|
+
* Update session metrics in task state
|
|
154
|
+
* Uses SDK's UsageMetricsTracker for token/request metrics, combined with our custom tracking
|
|
155
|
+
*/
|
|
156
|
+
private updateSessionMetrics;
|
|
157
|
+
/**
|
|
158
|
+
* Unbind a session from a task.
|
|
159
|
+
* Also destroys the session and removes it from the client manager's tracking
|
|
160
|
+
* to prevent PTY file descriptor leaks.
|
|
161
|
+
*/
|
|
162
|
+
unbind(taskId: string): void;
|
|
163
|
+
/**
|
|
164
|
+
* Get the binding for a task.
|
|
165
|
+
*/
|
|
166
|
+
getBinding(taskId: string): SessionBinding | undefined;
|
|
167
|
+
/**
|
|
168
|
+
* Get the session for a task.
|
|
169
|
+
*/
|
|
170
|
+
getSession(taskId: string): CopilotSession | undefined;
|
|
171
|
+
/**
|
|
172
|
+
* Check if a task has an active session.
|
|
173
|
+
*/
|
|
174
|
+
hasSession(taskId: string): boolean;
|
|
175
|
+
/**
|
|
176
|
+
* Get accumulated output for a task.
|
|
177
|
+
*/
|
|
178
|
+
getOutput(taskId: string): string[];
|
|
179
|
+
/**
|
|
180
|
+
* Mark a task as timed out.
|
|
181
|
+
*/
|
|
182
|
+
markTimedOut(taskId: string, timeoutMs: number): void;
|
|
183
|
+
/**
|
|
184
|
+
* Cleanup all bindings.
|
|
185
|
+
* Destroys all sessions to release PTY file descriptors.
|
|
186
|
+
*/
|
|
187
|
+
cleanup(): void;
|
|
188
|
+
/**
|
|
189
|
+
* Get statistics.
|
|
190
|
+
*/
|
|
191
|
+
getStats(): {
|
|
192
|
+
activeBindings: number;
|
|
193
|
+
totalRotations: number;
|
|
194
|
+
totalTurns: number;
|
|
195
|
+
totalTokens: {
|
|
196
|
+
input: number;
|
|
197
|
+
output: number;
|
|
198
|
+
};
|
|
199
|
+
};
|
|
200
|
+
}
|
|
201
|
+
export declare const sdkSessionAdapter: SDKSessionAdapter;
|
|
202
|
+
export {};
|
|
203
|
+
//# sourceMappingURL=sdk-session-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sdk-session-adapter.d.ts","sourceRoot":"","sources":["../../src/services/sdk-session-adapter.ts"],"names":[],"mappings":"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"}
|