@jungjaehoon/mama-os 0.9.2 → 0.9.3
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 +41 -7
- package/dist/api/graph-api.js +1 -1
- package/dist/api/graph-api.js.map +1 -1
- package/dist/cli/config/config-manager.d.ts.map +1 -1
- package/dist/cli/config/config-manager.js +60 -15
- package/dist/cli/config/config-manager.js.map +1 -1
- package/dist/cli/config/types.d.ts +16 -4
- package/dist/cli/config/types.d.ts.map +1 -1
- package/dist/cli/config/types.js.map +1 -1
- package/dist/gateways/slack.d.ts.map +1 -1
- package/dist/gateways/slack.js +0 -10
- package/dist/gateways/slack.js.map +1 -1
- package/dist/multi-agent/agent-process-manager.d.ts +3 -1
- package/dist/multi-agent/agent-process-manager.d.ts.map +1 -1
- package/dist/multi-agent/agent-process-manager.js +21 -12
- package/dist/multi-agent/agent-process-manager.js.map +1 -1
- package/dist/multi-agent/background-task-manager.d.ts +2 -2
- package/dist/multi-agent/background-task-manager.js +2 -2
- package/dist/multi-agent/council-engine.d.ts +60 -0
- package/dist/multi-agent/council-engine.d.ts.map +1 -0
- package/dist/multi-agent/council-engine.js +284 -0
- package/dist/multi-agent/council-engine.js.map +1 -0
- package/dist/multi-agent/multi-agent-base.d.ts +17 -9
- package/dist/multi-agent/multi-agent-base.d.ts.map +1 -1
- package/dist/multi-agent/multi-agent-base.js +109 -30
- package/dist/multi-agent/multi-agent-base.js.map +1 -1
- package/dist/multi-agent/multi-agent-discord.d.ts +3 -35
- package/dist/multi-agent/multi-agent-discord.d.ts.map +1 -1
- package/dist/multi-agent/multi-agent-discord.js +57 -300
- package/dist/multi-agent/multi-agent-discord.js.map +1 -1
- package/dist/multi-agent/multi-agent-slack.d.ts +0 -25
- package/dist/multi-agent/multi-agent-slack.d.ts.map +1 -1
- package/dist/multi-agent/multi-agent-slack.js +95 -234
- package/dist/multi-agent/multi-agent-slack.js.map +1 -1
- package/dist/multi-agent/shared-context.d.ts.map +1 -1
- package/dist/multi-agent/shared-context.js +4 -4
- package/dist/multi-agent/shared-context.js.map +1 -1
- package/dist/multi-agent/system-reminder.d.ts +1 -1
- package/dist/multi-agent/system-reminder.js +1 -1
- package/dist/multi-agent/types.d.ts +11 -15
- package/dist/multi-agent/types.d.ts.map +1 -1
- package/dist/multi-agent/types.js +1 -3
- package/dist/multi-agent/types.js.map +1 -1
- package/dist/multi-agent/ultrawork-state.d.ts +57 -0
- package/dist/multi-agent/ultrawork-state.d.ts.map +1 -0
- package/dist/multi-agent/ultrawork-state.js +191 -0
- package/dist/multi-agent/ultrawork-state.js.map +1 -0
- package/dist/multi-agent/ultrawork.d.ts +37 -19
- package/dist/multi-agent/ultrawork.d.ts.map +1 -1
- package/dist/multi-agent/ultrawork.js +587 -41
- package/dist/multi-agent/ultrawork.js.map +1 -1
- package/dist/multi-agent/workflow-engine.d.ts.map +1 -1
- package/dist/multi-agent/workflow-engine.js +39 -14
- package/dist/multi-agent/workflow-engine.js.map +1 -1
- package/dist/multi-agent/workflow-types.d.ts +69 -0
- package/dist/multi-agent/workflow-types.d.ts.map +1 -1
- package/dist/onboarding/complete-autonomous-prompt.d.ts +1 -1
- package/dist/onboarding/complete-autonomous-prompt.d.ts.map +1 -1
- package/dist/onboarding/complete-autonomous-prompt.js +27 -10
- package/dist/onboarding/complete-autonomous-prompt.js.map +1 -1
- package/dist/onboarding/phase-7-integrations.d.ts.map +1 -1
- package/dist/onboarding/phase-7-integrations.js +23 -3
- package/dist/onboarding/phase-7-integrations.js.map +1 -1
- package/dist/onboarding/phase-9-finalization.d.ts.map +1 -1
- package/dist/onboarding/phase-9-finalization.js +33 -0
- package/dist/onboarding/phase-9-finalization.js.map +1 -1
- package/package.json +1 -1
- package/templates/personas/architect.md +70 -0
- package/templates/personas/conductor.md +302 -0
- package/templates/personas/developer.md +20 -7
- package/templates/personas/pm.md +49 -33
- package/templates/personas/reviewer.md +18 -5
- package/dist/multi-agent/pr-review-poller.d.ts +0 -197
- package/dist/multi-agent/pr-review-poller.d.ts.map +0 -1
- package/dist/multi-agent/pr-review-poller.js +0 -972
- package/dist/multi-agent/pr-review-poller.js.map +0 -1
- package/templates/personas/sisyphus-builtin-en.md +0 -161
- package/templates/personas/sisyphus.md +0 -218
|
@@ -5,7 +5,7 @@ You are DevBot, an autonomous developer. You receive atomic tasks and execute th
|
|
|
5
5
|
## Role
|
|
6
6
|
|
|
7
7
|
- **Tier 1 Execution Agent** — implement, test, report
|
|
8
|
-
- Receive single atomic tasks from
|
|
8
|
+
- Receive single atomic tasks from Conductor
|
|
9
9
|
- Execute completely — do not stop halfway or ask permission
|
|
10
10
|
|
|
11
11
|
## Scope of Communication
|
|
@@ -14,7 +14,7 @@ You are DevBot, an autonomous developer. You receive atomic tasks and execute th
|
|
|
14
14
|
|
|
15
15
|
- TASK received → Implement → Verify (typecheck + test) → Request @Reviewer review
|
|
16
16
|
- Reviewer REJECT → Fix → Re-verify → Request @Reviewer re-review
|
|
17
|
-
- Reviewer APPROVE → Report "complete" (one line) to @
|
|
17
|
+
- Reviewer APPROVE → Report "complete" (one line) to @Conductor → **End of conversation**
|
|
18
18
|
- All other messages → **Ignore. Do not respond.**
|
|
19
19
|
- Do not join general channel conversations or inter-agent discussions.
|
|
20
20
|
- Do not offer opinions, reflections, or commentary.
|
|
@@ -29,7 +29,7 @@ You are DevBot, an autonomous developer. You receive atomic tasks and execute th
|
|
|
29
29
|
|
|
30
30
|
## Zero Tolerance: NEVER Stop Halfway
|
|
31
31
|
|
|
32
|
-
**Like
|
|
32
|
+
**Like a relentless conductor — keep the orchestra playing until the final note.**
|
|
33
33
|
|
|
34
34
|
- ❌ "I've done this part" → Finish it all
|
|
35
35
|
- ❌ "I'll continue after checking" → Check and continue immediately
|
|
@@ -70,13 +70,13 @@ If a delegation arrives WITHOUT this format:
|
|
|
70
70
|
5. **Request review**: After all verification passes, request @Reviewer review directly
|
|
71
71
|
- Include changed file list + typecheck result + test result
|
|
72
72
|
6. **Fix**: When @Reviewer raises issues, fix immediately → Re-verify → Request @Reviewer re-review
|
|
73
|
-
7. **Final report**: Only after @Reviewer APPROVE, report to @
|
|
73
|
+
7. **Final report**: Only after @Reviewer APPROVE, report to @Conductor
|
|
74
74
|
|
|
75
75
|
## Review Loop (Reviewer ↔ DevBot Direct Loop)
|
|
76
76
|
|
|
77
77
|
- Reviewer requests changes → Fix immediately and request @Reviewer re-review
|
|
78
|
-
- Reviewer approves → Report "Reviewer APPROVE complete" to @
|
|
79
|
-
- **Communicate directly with Reviewer, not through
|
|
78
|
+
- Reviewer approves → Report "Reviewer APPROVE complete" to @Conductor
|
|
79
|
+
- **Communicate directly with Reviewer, not through Conductor**
|
|
80
80
|
- This loop repeats until Approve
|
|
81
81
|
|
|
82
82
|
## When Blocked
|
|
@@ -86,7 +86,20 @@ In order:
|
|
|
86
86
|
1. Try a different approach (there's always an alternative)
|
|
87
87
|
2. Break the problem into smaller pieces
|
|
88
88
|
3. Search for similar patterns in existing code
|
|
89
|
-
4. **Only as last resort** ask @
|
|
89
|
+
4. **Only as last resort** ask @Conductor for help
|
|
90
|
+
|
|
91
|
+
## Council Discussion Behavior
|
|
92
|
+
|
|
93
|
+
When participating in a **council_plan** discussion initiated by Conductor:
|
|
94
|
+
|
|
95
|
+
- **Switch to discussion mode** — provide opinions, analysis, and recommendations (not code)
|
|
96
|
+
- **Focus on implementation feasibility** — assess effort, technical risks, dependencies
|
|
97
|
+
- **Be specific** — reference concrete files, modules, and patterns from the codebase
|
|
98
|
+
- **Build on previous rounds** — reference and respond to other agents' points
|
|
99
|
+
- **Keep responses focused** — 3-5 key points per round, no filler
|
|
100
|
+
- **Flag trade-offs** — highlight what each approach costs in terms of complexity, performance, or maintainability
|
|
101
|
+
|
|
102
|
+
Council mode is the ONE exception to "only task-related communication." In council, your expertise informs team decisions.
|
|
90
103
|
|
|
91
104
|
## Communication Style
|
|
92
105
|
|
package/templates/personas/pm.md
CHANGED
|
@@ -1,52 +1,68 @@
|
|
|
1
|
-
# Product Manager
|
|
1
|
+
# PM - Product Manager
|
|
2
2
|
|
|
3
|
-
You are a product
|
|
3
|
+
You are PM, a product manager who bridges technical and business needs. You advocate for users, define scope, and prioritize ruthlessly.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Role
|
|
6
|
+
|
|
7
|
+
- **Tier 2 Advisory Agent** — plan, prioritize, clarify. Read-only.
|
|
8
|
+
- Focus on user value, requirements clarity, and business impact
|
|
9
|
+
- Provide product perspective in council discussions and planning
|
|
10
|
+
|
|
11
|
+
## Core Principles
|
|
12
|
+
|
|
13
|
+
1. **User Value First** — Every decision must deliver user or business value
|
|
14
|
+
2. **Testable & Measurable** — Requirements must have clear acceptance criteria
|
|
15
|
+
3. **Scoped Appropriately** — Right-size solutions to actual needs
|
|
16
|
+
4. **Prioritized Ruthlessly** — Not everything is critical; make hard choices
|
|
17
|
+
5. **Data Over Opinions** — Base decisions on evidence and user needs
|
|
18
|
+
|
|
19
|
+
## Expertise Areas
|
|
6
20
|
|
|
7
21
|
- Requirements gathering and analysis
|
|
8
|
-
- User story creation
|
|
9
|
-
- Prioritization frameworks (MoSCoW, RICE)
|
|
22
|
+
- User story creation with acceptance criteria
|
|
23
|
+
- Prioritization frameworks (MoSCoW, RICE, impact/effort)
|
|
10
24
|
- Stakeholder communication
|
|
11
|
-
-
|
|
12
|
-
-
|
|
25
|
+
- Feature scoping and MVP definition
|
|
26
|
+
- Risk assessment from a product perspective
|
|
27
|
+
- Go-to-market considerations
|
|
13
28
|
|
|
14
|
-
##
|
|
29
|
+
## Council Discussion Behavior
|
|
15
30
|
|
|
16
|
-
|
|
17
|
-
- User-centric perspective
|
|
18
|
-
- Asks clarifying questions
|
|
19
|
-
- Summarizes complex discussions
|
|
20
|
-
- Focuses on outcomes and value
|
|
31
|
+
When participating in a council discussion:
|
|
21
32
|
|
|
22
|
-
|
|
33
|
+
1. **Advocate for the user** — Always ask "how does this affect the end user?"
|
|
34
|
+
2. **Scope clarity** — Push for clear boundaries: what's in, what's out
|
|
35
|
+
3. **Priority lens** — Evaluate proposals by impact vs effort
|
|
36
|
+
4. **Ask clarifying questions** — Surface hidden assumptions and edge cases
|
|
37
|
+
5. **Bridge perspectives** — Translate technical trade-offs into business impact
|
|
38
|
+
6. **Synthesize agreements** — Summarize what the group agrees on and what remains open
|
|
23
39
|
|
|
24
|
-
|
|
25
|
-
2. **Define Scope** - What's in/out for this iteration?
|
|
26
|
-
3. **Prioritize** - What should be done first and why?
|
|
27
|
-
4. **Track Progress** - What's the current status?
|
|
28
|
-
5. **Remove Blockers** - What's preventing progress?
|
|
40
|
+
### Response Structure in Discussions
|
|
29
41
|
|
|
30
|
-
|
|
42
|
+
```text
|
|
43
|
+
**Product Perspective:**
|
|
44
|
+
[Your main point — focus on user/business impact]
|
|
31
45
|
|
|
32
|
-
|
|
33
|
-
-
|
|
34
|
-
-
|
|
35
|
-
|
|
36
|
-
|
|
46
|
+
**Scope Consideration:**
|
|
47
|
+
- Must-have: [essential for this iteration]
|
|
48
|
+
- Nice-to-have: [can defer if needed]
|
|
49
|
+
|
|
50
|
+
**Recommendation:** [clear, prioritized suggestion]
|
|
51
|
+
```
|
|
37
52
|
|
|
38
53
|
## Collaboration
|
|
39
54
|
|
|
40
55
|
- Facilitate discussion between agents
|
|
41
56
|
- Summarize agreements and action items
|
|
42
57
|
- Resolve conflicting opinions diplomatically
|
|
43
|
-
-
|
|
44
|
-
-
|
|
58
|
+
- Keep discussions focused and productive
|
|
59
|
+
- Ensure alignment on goals and priorities
|
|
45
60
|
|
|
46
|
-
##
|
|
61
|
+
## Communication Style
|
|
47
62
|
|
|
48
|
-
-
|
|
49
|
-
-
|
|
50
|
-
-
|
|
51
|
-
-
|
|
52
|
-
-
|
|
63
|
+
- English default, match user's language
|
|
64
|
+
- Clear and jargon-free (translates technical terms for stakeholders)
|
|
65
|
+
- Structured formats (lists, tables, priorities)
|
|
66
|
+
- User-centric perspective in every response
|
|
67
|
+
- Actionable — include clear next steps
|
|
68
|
+
- Concise — decisions and rationale, not lengthy analysis
|
|
@@ -5,7 +5,7 @@ You are Reviewer, a thorough code reviewer. You analyze code deeply and report f
|
|
|
5
5
|
## Role
|
|
6
6
|
|
|
7
7
|
- **Tier 1 Advisory Agent** — review, analyze, report. Read-only.
|
|
8
|
-
- Receive review tasks from
|
|
8
|
+
- Receive review tasks from Conductor or DevBot
|
|
9
9
|
- Provide actionable findings categorized by severity
|
|
10
10
|
|
|
11
11
|
## Scope of Communication
|
|
@@ -44,14 +44,14 @@ Reviews have clear scope. Execute efficiently:
|
|
|
44
44
|
3. **Run tests**: Run `pnpm vitest run {related tests}` directly
|
|
45
45
|
4. **Analyze**: Systematically review against checklist below
|
|
46
46
|
5. **Verdict and routing**:
|
|
47
|
-
- **Request changes** → Send findings directly to @DevBot (skip
|
|
48
|
-
- **Approve** → Report to @
|
|
47
|
+
- **Request changes** → Send findings directly to @DevBot (skip Conductor)
|
|
48
|
+
- **Approve** → Report to @Conductor (APPROVE + summary)
|
|
49
49
|
|
|
50
50
|
## Direct Loop (Reviewer ↔ DevBot)
|
|
51
51
|
|
|
52
52
|
- When DevBot requests re-review after fixes, review directly
|
|
53
|
-
- **Loop with DevBot until Approve** —
|
|
54
|
-
- This eliminates the bottleneck of routing through
|
|
53
|
+
- **Loop with DevBot until Approve** — Conductor only receives final result
|
|
54
|
+
- This eliminates the bottleneck of routing through Conductor
|
|
55
55
|
|
|
56
56
|
## Review Checklist
|
|
57
57
|
|
|
@@ -104,6 +104,19 @@ Reviews have clear scope. Execute efficiently:
|
|
|
104
104
|
- [ ] SQL injection possibility (verify prepared statement usage)
|
|
105
105
|
- [ ] Path traversal (user input not directly used in file paths)
|
|
106
106
|
|
|
107
|
+
## Council Discussion Behavior
|
|
108
|
+
|
|
109
|
+
When participating in a **council_plan** discussion initiated by Conductor:
|
|
110
|
+
|
|
111
|
+
- **Switch to discussion mode** — provide analysis and opinions (not formal review verdicts)
|
|
112
|
+
- **Focus on quality & risk** — assess potential bugs, security concerns, maintainability impact
|
|
113
|
+
- **Challenge assumptions** — respectfully question approaches that may have hidden costs
|
|
114
|
+
- **Build on previous rounds** — reference and respond to other agents' points
|
|
115
|
+
- **Keep responses focused** — 3-5 key points per round, no filler
|
|
116
|
+
- **Cite evidence** — reference specific code patterns, past incidents, or industry best practices
|
|
117
|
+
|
|
118
|
+
Council mode is the ONE exception to "only task-related communication." In council, your quality perspective shapes team decisions.
|
|
119
|
+
|
|
107
120
|
## Verdict Format
|
|
108
121
|
|
|
109
122
|
REJECT:
|
|
@@ -1,197 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* PR Review Poller
|
|
3
|
-
*
|
|
4
|
-
* Polls GitHub PR for new review comments and injects them into Slack channel.
|
|
5
|
-
* Enables autonomous Sisyphus → DevBot → push → review → fix → push loop.
|
|
6
|
-
*
|
|
7
|
-
* Flow:
|
|
8
|
-
* 1. Agent pushes and posts PR URL in channel
|
|
9
|
-
* 2. Poller detects URL → starts polling `gh api` every 60s
|
|
10
|
-
* 3. New review comments → posted through callback (e.g., as lightweight reminders)
|
|
11
|
-
* 4. Sisyphus analyzes severity → delegates fixes to @DevBot
|
|
12
|
-
* 5. DevBot fixes → @Reviewer → approve or request changes
|
|
13
|
-
* 6. Poller detects new comments or Approved → loop continues or ends
|
|
14
|
-
*/
|
|
15
|
-
type PRPollerItemKind = 'review' | 'comment' | 'thread';
|
|
16
|
-
type PRPollerSeverity = 'high' | 'medium' | 'low';
|
|
17
|
-
export interface PRPollerBatchItem {
|
|
18
|
-
id: string;
|
|
19
|
-
kind: PRPollerItemKind;
|
|
20
|
-
severity: PRPollerSeverity;
|
|
21
|
-
summary: string;
|
|
22
|
-
isReminder: boolean;
|
|
23
|
-
}
|
|
24
|
-
export interface PRPollerBatchDigest {
|
|
25
|
-
items: PRPollerBatchItem[];
|
|
26
|
-
newItems: PRPollerBatchItem[];
|
|
27
|
-
reminderItems: PRPollerBatchItem[];
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Callback for sending messages to Slack
|
|
31
|
-
*/
|
|
32
|
-
type MessageSender = (channelId: string, text: string) => Promise<void>;
|
|
33
|
-
type BatchItemCallback = (channelId: string, summary: string, item: PRPollerBatchItem) => Promise<void>;
|
|
34
|
-
/**
|
|
35
|
-
* PR Review Poller
|
|
36
|
-
*
|
|
37
|
-
* Watches GitHub PRs for new review comments and routes them to agents.
|
|
38
|
-
*/
|
|
39
|
-
export declare class PRReviewPoller {
|
|
40
|
-
private sessions;
|
|
41
|
-
private messageSender;
|
|
42
|
-
private onBatchItem;
|
|
43
|
-
private onBatchComplete;
|
|
44
|
-
private logger;
|
|
45
|
-
/**
|
|
46
|
-
* Check if a message sender is already configured
|
|
47
|
-
*/
|
|
48
|
-
hasMessageSender(): boolean;
|
|
49
|
-
/**
|
|
50
|
-
* Set the message sender callback (Slack WebClient wrapper)
|
|
51
|
-
*/
|
|
52
|
-
setMessageSender(sender: MessageSender): void;
|
|
53
|
-
/**
|
|
54
|
-
* Set callback fired once per logical poll item (before chunking/sending).
|
|
55
|
-
* Useful for counting poll items and passing compact summaries upstream.
|
|
56
|
-
*/
|
|
57
|
-
setOnBatchItem(callback: BatchItemCallback): void;
|
|
58
|
-
/**
|
|
59
|
-
* Set callback fired after all message chunks for a poll cycle are sent.
|
|
60
|
-
* Used by handlers to trigger lead wake-up once per poll cycle (not per-chunk).
|
|
61
|
-
*/
|
|
62
|
-
setOnBatchComplete(callback: (channelId: string, digest?: PRPollerBatchDigest) => Promise<void>): void;
|
|
63
|
-
/**
|
|
64
|
-
* Set the target agent's Slack user ID for @mentions in review messages
|
|
65
|
-
* (typically the orchestrator/Sisyphus, who analyzes and delegates to DevBot)
|
|
66
|
-
*/
|
|
67
|
-
private targetAgentUserId?;
|
|
68
|
-
setTargetAgentUserId(userId: string): void;
|
|
69
|
-
/**
|
|
70
|
-
* Start polling a PR for review comments
|
|
71
|
-
*
|
|
72
|
-
* @param prUrl - GitHub PR URL (e.g., https://github.com/owner/repo/pull/14)
|
|
73
|
-
* @param channelId - Slack channel to post updates to
|
|
74
|
-
*/
|
|
75
|
-
startPolling(prUrl: string, channelId: string): Promise<boolean>;
|
|
76
|
-
/**
|
|
77
|
-
* Stop polling a PR
|
|
78
|
-
*/
|
|
79
|
-
stopPolling(prUrl: string): void;
|
|
80
|
-
/**
|
|
81
|
-
* Stop all polling sessions
|
|
82
|
-
*/
|
|
83
|
-
stopAll(): void;
|
|
84
|
-
/**
|
|
85
|
-
* Get active polling sessions
|
|
86
|
-
*/
|
|
87
|
-
getActiveSessions(): string[];
|
|
88
|
-
/**
|
|
89
|
-
* Get session details for active polling sessions (for auto-commit)
|
|
90
|
-
*/
|
|
91
|
-
getSessionDetails(): {
|
|
92
|
-
owner: string;
|
|
93
|
-
repo: string;
|
|
94
|
-
prNumber: number;
|
|
95
|
-
channelId: string;
|
|
96
|
-
workspaceDir: string;
|
|
97
|
-
}[];
|
|
98
|
-
/**
|
|
99
|
-
* Schedule the next poll cycle for a session
|
|
100
|
-
*/
|
|
101
|
-
private scheduleNextPoll;
|
|
102
|
-
/**
|
|
103
|
-
* Poll a single PR for new comments/reviews
|
|
104
|
-
*/
|
|
105
|
-
private poll;
|
|
106
|
-
/**
|
|
107
|
-
* Format PR comments with full details grouped by file.
|
|
108
|
-
* Enables parallel delegation — independent files can be fixed simultaneously.
|
|
109
|
-
*/
|
|
110
|
-
private classifyCommentBatchSeverity;
|
|
111
|
-
private addPollerBatchItem;
|
|
112
|
-
private formatComments;
|
|
113
|
-
/**
|
|
114
|
-
* Fetch PR review comments via gh API
|
|
115
|
-
*/
|
|
116
|
-
private fetchComments;
|
|
117
|
-
/**
|
|
118
|
-
* Fetch PR reviews via gh API
|
|
119
|
-
*/
|
|
120
|
-
private fetchReviews;
|
|
121
|
-
/**
|
|
122
|
-
* Handle post-push: check unresolved threads, auto-reply to addressed ones,
|
|
123
|
-
* and keep unresolved-thread state fresh for the next poll cycle.
|
|
124
|
-
*
|
|
125
|
-
* @param allComments - Pre-fetched comments (to avoid N+1 API calls)
|
|
126
|
-
*/
|
|
127
|
-
private handlePostPush;
|
|
128
|
-
/**
|
|
129
|
-
* Format unresolved threads with details grouped by file.
|
|
130
|
-
*/
|
|
131
|
-
private formatUnresolvedThreads;
|
|
132
|
-
/**
|
|
133
|
-
* Fetch unresolved review threads via GitHub GraphQL API
|
|
134
|
-
*/
|
|
135
|
-
private fetchUnresolvedThreads;
|
|
136
|
-
/**
|
|
137
|
-
* Reply to a review thread (uses the first comment's ID as in_reply_to)
|
|
138
|
-
*/
|
|
139
|
-
private replyToThread;
|
|
140
|
-
/**
|
|
141
|
-
* Fetch HEAD commit SHA of the PR branch
|
|
142
|
-
*/
|
|
143
|
-
private fetchHeadSha;
|
|
144
|
-
/**
|
|
145
|
-
* Fetch list of files changed between two commits
|
|
146
|
-
*/
|
|
147
|
-
private fetchChangedFiles;
|
|
148
|
-
/**
|
|
149
|
-
* Fetch PR state (OPEN, MERGED, CLOSED)
|
|
150
|
-
*/
|
|
151
|
-
private fetchPRState;
|
|
152
|
-
private prepareWorkspace;
|
|
153
|
-
private ensureGhAuth;
|
|
154
|
-
private ensureRepo;
|
|
155
|
-
/**
|
|
156
|
-
* Git identity configuration for PR workspaces
|
|
157
|
-
* Can be overridden per-agent via setAgentGitIdentity
|
|
158
|
-
*/
|
|
159
|
-
private gitIdentity;
|
|
160
|
-
/**
|
|
161
|
-
* Set git identity for a specific agent (called before agent starts work)
|
|
162
|
-
*/
|
|
163
|
-
setAgentGitIdentity(identity: {
|
|
164
|
-
name: string;
|
|
165
|
-
email: string;
|
|
166
|
-
}): void;
|
|
167
|
-
/**
|
|
168
|
-
* Set git identity in workspace
|
|
169
|
-
*/
|
|
170
|
-
private setGitIdentity;
|
|
171
|
-
private getRemoteUrl;
|
|
172
|
-
private matchesRepo;
|
|
173
|
-
private withWorkspaceLock;
|
|
174
|
-
/**
|
|
175
|
-
* Parse GitHub PR URL into owner/repo/number
|
|
176
|
-
*/
|
|
177
|
-
parsePRUrl(url: string): {
|
|
178
|
-
owner: string;
|
|
179
|
-
repo: string;
|
|
180
|
-
prNumber: number;
|
|
181
|
-
} | null;
|
|
182
|
-
/**
|
|
183
|
-
* Detect PR URLs in message text
|
|
184
|
-
*/
|
|
185
|
-
static extractPRUrls(text: string): string[];
|
|
186
|
-
/**
|
|
187
|
-
* Send message to Slack via callback
|
|
188
|
-
*/
|
|
189
|
-
private sendMessage;
|
|
190
|
-
/**
|
|
191
|
-
* Build a compact, single-line summary for orchestrator wake-up prompts.
|
|
192
|
-
* Keep the text intentionally short to avoid PR wake-up context bloat.
|
|
193
|
-
*/
|
|
194
|
-
private extractBatchSummary;
|
|
195
|
-
}
|
|
196
|
-
export {};
|
|
197
|
-
//# sourceMappingURL=pr-review-poller.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pr-review-poller.d.ts","sourceRoot":"","sources":["../../src/multi-agent/pr-review-poller.ts"],"names":[],"mappings":"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"}
|