@doingdev/opencode-claude-manager-plugin 0.1.46 → 0.1.49
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 +29 -31
- package/dist/index.d.ts +1 -1
- package/dist/manager/team-orchestrator.d.ts +50 -0
- package/dist/manager/team-orchestrator.js +360 -0
- package/dist/plugin/agent-hierarchy.d.ts +12 -34
- package/dist/plugin/agent-hierarchy.js +36 -129
- package/dist/plugin/claude-manager.plugin.js +233 -421
- package/dist/plugin/service-factory.d.ts +20 -3
- package/dist/plugin/service-factory.js +46 -1
- package/dist/prompts/registry.d.ts +1 -10
- package/dist/prompts/registry.js +42 -261
- package/dist/src/claude/claude-agent-sdk-adapter.js +2 -1
- package/dist/src/claude/session-live-tailer.js +2 -2
- package/dist/src/index.d.ts +1 -1
- package/dist/src/manager/git-operations.d.ts +10 -1
- package/dist/src/manager/git-operations.js +18 -3
- package/dist/src/manager/persistent-manager.d.ts +18 -6
- package/dist/src/manager/persistent-manager.js +19 -13
- package/dist/src/manager/session-controller.d.ts +7 -10
- package/dist/src/manager/session-controller.js +12 -62
- package/dist/src/manager/team-orchestrator.d.ts +50 -0
- package/dist/src/manager/team-orchestrator.js +360 -0
- package/dist/src/plugin/agent-hierarchy.d.ts +12 -26
- package/dist/src/plugin/agent-hierarchy.js +36 -99
- package/dist/src/plugin/claude-manager.plugin.js +257 -391
- package/dist/src/plugin/service-factory.d.ts +20 -3
- package/dist/src/plugin/service-factory.js +47 -9
- package/dist/src/prompts/registry.d.ts +1 -10
- package/dist/src/prompts/registry.js +41 -246
- package/dist/src/state/team-state-store.d.ts +17 -0
- package/dist/src/state/team-state-store.js +107 -0
- package/dist/src/team/roster.d.ts +5 -0
- package/dist/src/team/roster.js +38 -0
- package/dist/src/types/contracts.d.ts +55 -13
- package/dist/src/types/contracts.js +1 -1
- package/dist/state/team-state-store.d.ts +17 -0
- package/dist/state/team-state-store.js +107 -0
- package/dist/team/roster.d.ts +5 -0
- package/dist/team/roster.js +38 -0
- package/dist/test/claude-manager.plugin.test.js +55 -280
- package/dist/test/cto-active-team.test.d.ts +1 -0
- package/dist/test/cto-active-team.test.js +52 -0
- package/dist/test/git-operations.test.js +65 -1
- package/dist/test/persistent-manager.test.js +3 -3
- package/dist/test/prompt-registry.test.js +32 -252
- package/dist/test/report-claude-event.test.d.ts +1 -0
- package/dist/test/report-claude-event.test.js +246 -0
- package/dist/test/session-controller.test.js +27 -27
- package/dist/test/team-orchestrator.test.d.ts +1 -0
- package/dist/test/team-orchestrator.test.js +146 -0
- package/dist/test/team-state-store.test.d.ts +1 -0
- package/dist/test/team-state-store.test.js +72 -0
- package/dist/types/contracts.d.ts +54 -3
- package/dist/types/contracts.js +1 -1
- package/package.json +1 -1
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
export interface ManagerPromptRegistry {
|
|
2
2
|
ctoSystemPrompt: string;
|
|
3
|
-
|
|
4
|
-
engineerImplementPrompt: string;
|
|
5
|
-
engineerVerifyPrompt: string;
|
|
3
|
+
engineerAgentPrompt: string;
|
|
6
4
|
engineerSessionPrompt: string;
|
|
7
5
|
modePrefixes: {
|
|
8
6
|
plan: string;
|
|
@@ -15,6 +13,15 @@ export interface ManagerPromptRegistry {
|
|
|
15
13
|
};
|
|
16
14
|
}
|
|
17
15
|
export type SessionMode = 'plan' | 'free';
|
|
16
|
+
export declare const DEFAULT_ENGINEER_NAMES: readonly ["Tom", "John", "Maya", "Sara", "Alex"];
|
|
17
|
+
export type EngineerName = (typeof DEFAULT_ENGINEER_NAMES)[number];
|
|
18
|
+
export type EngineerWorkMode = 'explore' | 'implement' | 'verify';
|
|
19
|
+
export interface WrapperHistoryEntry {
|
|
20
|
+
timestamp: string;
|
|
21
|
+
type: 'assignment' | 'result';
|
|
22
|
+
mode?: EngineerWorkMode;
|
|
23
|
+
text: string;
|
|
24
|
+
}
|
|
18
25
|
export interface ClaudeCommandMetadata {
|
|
19
26
|
name: string;
|
|
20
27
|
description: string;
|
|
@@ -98,6 +105,50 @@ export interface SessionContextSnapshot {
|
|
|
98
105
|
warningLevel: ContextWarningLevel;
|
|
99
106
|
compactionCount: number;
|
|
100
107
|
}
|
|
108
|
+
export interface TeamEngineerRecord {
|
|
109
|
+
name: EngineerName;
|
|
110
|
+
wrapperSessionId: string | null;
|
|
111
|
+
claudeSessionId: string | null;
|
|
112
|
+
busy: boolean;
|
|
113
|
+
lastMode: EngineerWorkMode | null;
|
|
114
|
+
lastTaskSummary: string | null;
|
|
115
|
+
lastUsedAt: string | null;
|
|
116
|
+
wrapperHistory: WrapperHistoryEntry[];
|
|
117
|
+
context: SessionContextSnapshot;
|
|
118
|
+
}
|
|
119
|
+
export interface TeamRecord {
|
|
120
|
+
id: string;
|
|
121
|
+
cwd: string;
|
|
122
|
+
createdAt: string;
|
|
123
|
+
updatedAt: string;
|
|
124
|
+
engineers: TeamEngineerRecord[];
|
|
125
|
+
}
|
|
126
|
+
export interface EngineerTaskResult {
|
|
127
|
+
teamId: string;
|
|
128
|
+
engineer: EngineerName;
|
|
129
|
+
mode: EngineerWorkMode;
|
|
130
|
+
sessionId?: string;
|
|
131
|
+
finalText: string;
|
|
132
|
+
turns?: number;
|
|
133
|
+
totalCostUsd?: number;
|
|
134
|
+
inputTokens?: number;
|
|
135
|
+
outputTokens?: number;
|
|
136
|
+
contextWindowSize?: number;
|
|
137
|
+
context: SessionContextSnapshot;
|
|
138
|
+
}
|
|
139
|
+
export interface PlanDraft extends EngineerTaskResult {
|
|
140
|
+
request: string;
|
|
141
|
+
}
|
|
142
|
+
export interface SynthesizedPlanResult {
|
|
143
|
+
teamId: string;
|
|
144
|
+
request: string;
|
|
145
|
+
leadEngineer: EngineerName;
|
|
146
|
+
challengerEngineer: EngineerName;
|
|
147
|
+
drafts: [PlanDraft, PlanDraft];
|
|
148
|
+
synthesis: string;
|
|
149
|
+
recommendedQuestion: string | null;
|
|
150
|
+
recommendedAnswer: string | null;
|
|
151
|
+
}
|
|
101
152
|
export interface GitDiffResult {
|
|
102
153
|
hasDiff: boolean;
|
|
103
154
|
diffText: string;
|
package/dist/types/contracts.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export
|
|
1
|
+
export const DEFAULT_ENGINEER_NAMES = ['Tom', 'John', 'Maya', 'Sara', 'Alex'];
|