@doingdev/opencode-claude-manager-plugin 0.1.49 → 0.1.51

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 (60) hide show
  1. package/dist/claude/claude-agent-sdk-adapter.d.ts +2 -3
  2. package/dist/claude/claude-agent-sdk-adapter.js +38 -48
  3. package/dist/claude/claude-session.service.d.ts +1 -2
  4. package/dist/claude/claude-session.service.js +0 -3
  5. package/dist/claude/tool-approval-manager.d.ts +9 -6
  6. package/dist/claude/tool-approval-manager.js +43 -6
  7. package/dist/index.d.ts +1 -2
  8. package/dist/index.js +0 -1
  9. package/dist/manager/context-tracker.d.ts +0 -1
  10. package/dist/manager/context-tracker.js +0 -3
  11. package/dist/manager/git-operations.d.ts +1 -4
  12. package/dist/manager/git-operations.js +7 -12
  13. package/dist/manager/persistent-manager.d.ts +3 -53
  14. package/dist/manager/persistent-manager.js +3 -135
  15. package/dist/manager/team-orchestrator.d.ts +9 -4
  16. package/dist/manager/team-orchestrator.js +84 -31
  17. package/dist/plugin/agent-hierarchy.d.ts +0 -1
  18. package/dist/plugin/agent-hierarchy.js +4 -2
  19. package/dist/plugin/claude-manager.plugin.js +170 -24
  20. package/dist/plugin/service-factory.d.ts +5 -6
  21. package/dist/plugin/service-factory.js +9 -17
  22. package/dist/prompts/registry.js +58 -39
  23. package/dist/src/claude/claude-agent-sdk-adapter.d.ts +2 -3
  24. package/dist/src/claude/claude-agent-sdk-adapter.js +38 -48
  25. package/dist/src/claude/claude-session.service.d.ts +1 -2
  26. package/dist/src/claude/claude-session.service.js +0 -3
  27. package/dist/src/claude/tool-approval-manager.d.ts +9 -6
  28. package/dist/src/claude/tool-approval-manager.js +43 -6
  29. package/dist/src/index.d.ts +1 -2
  30. package/dist/src/index.js +0 -1
  31. package/dist/src/manager/context-tracker.d.ts +0 -1
  32. package/dist/src/manager/context-tracker.js +0 -3
  33. package/dist/src/manager/git-operations.d.ts +1 -4
  34. package/dist/src/manager/git-operations.js +7 -12
  35. package/dist/src/manager/persistent-manager.d.ts +3 -53
  36. package/dist/src/manager/persistent-manager.js +3 -135
  37. package/dist/src/manager/team-orchestrator.d.ts +9 -4
  38. package/dist/src/manager/team-orchestrator.js +84 -31
  39. package/dist/src/plugin/agent-hierarchy.d.ts +0 -1
  40. package/dist/src/plugin/agent-hierarchy.js +4 -2
  41. package/dist/src/plugin/claude-manager.plugin.js +170 -24
  42. package/dist/src/plugin/service-factory.d.ts +5 -6
  43. package/dist/src/plugin/service-factory.js +9 -17
  44. package/dist/src/prompts/registry.js +58 -39
  45. package/dist/src/state/team-state-store.js +4 -1
  46. package/dist/src/team/roster.js +1 -0
  47. package/dist/src/types/contracts.d.ts +18 -57
  48. package/dist/state/team-state-store.js +4 -1
  49. package/dist/team/roster.js +1 -0
  50. package/dist/test/claude-agent-sdk-adapter.test.js +103 -11
  51. package/dist/test/claude-manager.plugin.test.js +6 -1
  52. package/dist/test/context-tracker.test.js +0 -8
  53. package/dist/test/git-operations.test.js +0 -21
  54. package/dist/test/persistent-manager.test.js +4 -164
  55. package/dist/test/prompt-registry.test.js +4 -9
  56. package/dist/test/report-claude-event.test.js +4 -4
  57. package/dist/test/team-orchestrator.test.js +7 -5
  58. package/dist/test/tool-approval-manager.test.js +17 -17
  59. package/dist/types/contracts.d.ts +18 -57
  60. package/package.json +1 -1
@@ -2,10 +2,6 @@ export interface ManagerPromptRegistry {
2
2
  ctoSystemPrompt: string;
3
3
  engineerAgentPrompt: string;
4
4
  engineerSessionPrompt: string;
5
- modePrefixes: {
6
- plan: string;
7
- free: string;
8
- };
9
5
  contextWarnings: {
10
6
  moderate: string;
11
7
  high: string;
@@ -22,14 +18,14 @@ export interface WrapperHistoryEntry {
22
18
  mode?: EngineerWorkMode;
23
19
  text: string;
24
20
  }
25
- export interface ClaudeCommandMetadata {
21
+ interface ClaudeCommandMetadata {
26
22
  name: string;
27
23
  description: string;
28
24
  argumentHint?: string;
29
25
  source: 'sdk' | 'skill' | 'command';
30
26
  path?: string;
31
27
  }
32
- export interface ClaudeAgentMetadata {
28
+ interface ClaudeAgentMetadata {
33
29
  name: string;
34
30
  description: string;
35
31
  model?: string;
@@ -52,6 +48,12 @@ export interface RunClaudeSessionInput {
52
48
  effort?: 'low' | 'medium' | 'high' | 'max';
53
49
  mode?: SessionMode;
54
50
  permissionMode?: 'default' | 'acceptEdits' | 'plan' | 'dontAsk';
51
+ /**
52
+ * When true, the canUseTool callback denies write tools (Edit, Write, MultiEdit,
53
+ * NotebookEdit) and destructive bash commands. Used instead of SDK plan mode so
54
+ * the agent can still exit plan mode if needed.
55
+ */
56
+ restrictWriteTools?: boolean;
55
57
  /** Merged with `Skill` by the SDK adapter unless `Skill` appears in `disallowedTools`. */
56
58
  allowedTools?: string[];
57
59
  disallowedTools?: string[];
@@ -110,12 +112,21 @@ export interface TeamEngineerRecord {
110
112
  wrapperSessionId: string | null;
111
113
  claudeSessionId: string | null;
112
114
  busy: boolean;
115
+ busySince: string | null;
113
116
  lastMode: EngineerWorkMode | null;
114
117
  lastTaskSummary: string | null;
115
118
  lastUsedAt: string | null;
116
119
  wrapperHistory: WrapperHistoryEntry[];
117
120
  context: SessionContextSnapshot;
118
121
  }
122
+ export type EngineerFailureKind = 'sdkError' | 'contextExhausted' | 'toolDenied' | 'aborted' | 'engineerBusy' | 'unknown';
123
+ export interface EngineerFailureResult {
124
+ teamId: string;
125
+ engineer: EngineerName;
126
+ mode: EngineerWorkMode;
127
+ failureKind: EngineerFailureKind;
128
+ message: string;
129
+ }
119
130
  export interface TeamRecord {
120
131
  id: string;
121
132
  cwd: string;
@@ -163,57 +174,6 @@ export interface GitOperationResult {
163
174
  output: string;
164
175
  error?: string;
165
176
  }
166
- export type PersistentRunStatus = 'running' | 'completed' | 'failed';
167
- export interface PersistentRunMessageRecord {
168
- timestamp: string;
169
- direction: 'sent' | 'received';
170
- text: string;
171
- turns?: number;
172
- totalCostUsd?: number;
173
- inputTokens?: number;
174
- outputTokens?: number;
175
- }
176
- export interface PersistentRunActionRecord {
177
- timestamp: string;
178
- type: 'git_diff' | 'git_commit' | 'git_reset' | 'git_status' | 'git_log' | 'compact' | 'clear';
179
- result: string;
180
- }
181
- export interface PersistentRunRecord {
182
- id: string;
183
- cwd: string;
184
- task: string;
185
- status: PersistentRunStatus;
186
- createdAt: string;
187
- updatedAt: string;
188
- sessionId: string | null;
189
- sessionHistory: string[];
190
- messages: PersistentRunMessageRecord[];
191
- actions: PersistentRunActionRecord[];
192
- commits: string[];
193
- context: SessionContextSnapshot;
194
- finalSummary?: string;
195
- }
196
- export interface PersistentRunResult {
197
- run: PersistentRunRecord;
198
- }
199
- export interface LiveTailEvent {
200
- type: 'line' | 'error' | 'end';
201
- sessionId: string;
202
- data?: unknown;
203
- rawLine?: string;
204
- error?: string;
205
- }
206
- export interface ToolOutputPreview {
207
- toolUseId: string;
208
- content: string;
209
- isError: boolean;
210
- }
211
- export interface DiscoveredClaudeFile {
212
- /** Relative path from the project root (forward slashes, deterministic order). */
213
- relativePath: string;
214
- /** Trimmed UTF-8 text content. */
215
- content: string;
216
- }
217
177
  export interface ToolApprovalRule {
218
178
  id: string;
219
179
  description?: string;
@@ -240,3 +200,4 @@ export interface ToolApprovalDecision {
240
200
  denyMessage?: string;
241
201
  agentId?: string;
242
202
  }
203
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@doingdev/opencode-claude-manager-plugin",
3
- "version": "0.1.49",
3
+ "version": "0.1.51",
4
4
  "description": "OpenCode plugin that orchestrates Claude Code sessions.",
5
5
  "keywords": [
6
6
  "opencode",