MCPcopy Index your code
hub / github.com/braintrustdata/bash-agent-evals / processEvent

Function processEvent

src/data/codemode-transform.ts:109–259  ·  view source on GitHub ↗
(event: GitHubEvent)

Source from the content-addressed store, hash-verified

107}
108
109function processEvent(event: GitHubEvent) {
110 const repo = getOrCreateRepo(event.repo.name, event.repo.id);
111 getOrCreateUser(event.actor.login, event.actor.id);
112
113 switch (event.type) {
114 case 'IssuesEvent': {
115 const e = event as IssuesEvent;
116 const key = `${event.repo.name}#${e.payload.issue.number}`;
117 const issue = e.payload.issue;
118
119 if (e.payload.action === 'opened') {
120 const user = getOrCreateUser(issue.user.login, issue.user.id);
121 user.issuesOpened++;
122 }
123
124 if (!issuesMap.has(key)) {
125 issuesMap.set(key, {
126 id: issue.id,
127 repoId: repo.id,
128 repoFullName: repo.fullName,
129 number: issue.number,
130 title: issue.title,
131 body: issue.body,
132 state: issue.state,
133 author: issue.user.login,
134 labels: issue.labels.map((l) => l.name),
135 comments: [],
136 createdAt: issue.created_at,
137 updatedAt: issue.updated_at,
138 closedAt: issue.closed_at,
139 });
140 } else {
141 const existing = issuesMap.get(key)!;
142 existing.state = issue.state;
143 existing.updatedAt = issue.updated_at;
144 existing.closedAt = issue.closed_at;
145 }
146 break;
147 }
148
149 case 'IssueCommentEvent': {
150 const e = event as IssueCommentEvent;
151 const key = `${event.repo.name}#${e.payload.issue.number}`;
152 const comment = e.payload.comment;
153
154 const user = getOrCreateUser(comment.user.login, comment.user.id);
155 user.commentsMade++;
156
157 if (!issuesMap.has(key)) {
158 const issue = e.payload.issue;
159 issuesMap.set(key, {
160 id: issue.id,
161 repoId: repo.id,
162 repoFullName: repo.fullName,
163 number: issue.number,
164 title: issue.title,
165 body: issue.body,
166 state: issue.state,

Callers 1

mainFunction · 0.70

Calls 2

getOrCreateRepoFunction · 0.70
getOrCreateUserFunction · 0.70

Tested by

no test coverage detected