@agents-ensemble/core 0.4.1 → 0.5.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.
Files changed (111) hide show
  1. package/dist/acp/acp-preset-bins.d.ts +10 -0
  2. package/dist/acp/acp-preset-bins.d.ts.map +1 -0
  3. package/dist/acp/acp-preset-bins.js +27 -0
  4. package/dist/acp/acp-preset-bins.js.map +1 -0
  5. package/dist/acp/index.d.ts +3 -0
  6. package/dist/acp/index.d.ts.map +1 -1
  7. package/dist/acp/index.js +3 -0
  8. package/dist/acp/index.js.map +1 -1
  9. package/dist/acp/resolve-acp-spawn.d.ts +2 -0
  10. package/dist/acp/resolve-acp-spawn.d.ts.map +1 -1
  11. package/dist/acp/resolve-acp-spawn.js +10 -6
  12. package/dist/acp/resolve-acp-spawn.js.map +1 -1
  13. package/dist/acp/resolve-bundled-acp-bin.d.ts +11 -0
  14. package/dist/acp/resolve-bundled-acp-bin.d.ts.map +1 -0
  15. package/dist/acp/resolve-bundled-acp-bin.js +60 -0
  16. package/dist/acp/resolve-bundled-acp-bin.js.map +1 -0
  17. package/dist/acp/validate-acp-preset-prerequisites.d.ts +24 -0
  18. package/dist/acp/validate-acp-preset-prerequisites.d.ts.map +1 -0
  19. package/dist/acp/validate-acp-preset-prerequisites.js +121 -0
  20. package/dist/acp/validate-acp-preset-prerequisites.js.map +1 -0
  21. package/dist/conductor/conductor-session-driver.d.ts +2 -0
  22. package/dist/conductor/conductor-session-driver.d.ts.map +1 -1
  23. package/dist/conductor/conductor-session-driver.js +16 -7
  24. package/dist/conductor/conductor-session-driver.js.map +1 -1
  25. package/dist/conductor/conductor-session.d.ts +3 -0
  26. package/dist/conductor/conductor-session.d.ts.map +1 -1
  27. package/dist/conductor/conductor-session.js +65 -8
  28. package/dist/conductor/conductor-session.js.map +1 -1
  29. package/dist/conductor/resolve-conductor-model-id.d.ts +7 -3
  30. package/dist/conductor/resolve-conductor-model-id.d.ts.map +1 -1
  31. package/dist/conductor/resolve-conductor-model-id.js +9 -11
  32. package/dist/conductor/resolve-conductor-model-id.js.map +1 -1
  33. package/dist/conductor/session/events/session-log-event.d.ts +4 -0
  34. package/dist/conductor/session/events/session-log-event.d.ts.map +1 -1
  35. package/dist/config/deep-merge.d.ts +3 -0
  36. package/dist/config/deep-merge.d.ts.map +1 -0
  37. package/dist/config/deep-merge.js +20 -0
  38. package/dist/config/deep-merge.js.map +1 -0
  39. package/dist/config/defaults.d.ts +5 -0
  40. package/dist/config/defaults.d.ts.map +1 -0
  41. package/dist/config/defaults.js +35 -0
  42. package/dist/config/defaults.js.map +1 -0
  43. package/dist/config/index.d.ts +9 -0
  44. package/dist/config/index.d.ts.map +1 -0
  45. package/dist/config/index.js +6 -0
  46. package/dist/config/index.js.map +1 -0
  47. package/dist/config/load-ensemble-config.d.ts +12 -0
  48. package/dist/config/load-ensemble-config.d.ts.map +1 -0
  49. package/dist/config/load-ensemble-config.js +44 -0
  50. package/dist/config/load-ensemble-config.js.map +1 -0
  51. package/dist/config/parse-config.d.ts +7 -0
  52. package/dist/config/parse-config.d.ts.map +1 -0
  53. package/dist/config/parse-config.js +179 -0
  54. package/dist/config/parse-config.js.map +1 -0
  55. package/dist/config/resolve-settings.d.ts +78 -0
  56. package/dist/config/resolve-settings.d.ts.map +1 -0
  57. package/dist/config/resolve-settings.js +141 -0
  58. package/dist/config/resolve-settings.js.map +1 -0
  59. package/dist/config/types.d.ts +52 -0
  60. package/dist/config/types.d.ts.map +1 -0
  61. package/dist/config/types.js +2 -0
  62. package/dist/config/types.js.map +1 -0
  63. package/dist/github/fetch-github-updates.d.ts +16 -3
  64. package/dist/github/fetch-github-updates.d.ts.map +1 -1
  65. package/dist/github/fetch-github-updates.js +97 -101
  66. package/dist/github/fetch-github-updates.js.map +1 -1
  67. package/dist/github/github-auth.d.ts +15 -0
  68. package/dist/github/github-auth.d.ts.map +1 -0
  69. package/dist/github/github-auth.js +44 -0
  70. package/dist/github/github-auth.js.map +1 -0
  71. package/dist/github/github-client.d.ts +76 -0
  72. package/dist/github/github-client.d.ts.map +1 -0
  73. package/dist/github/github-client.js +198 -0
  74. package/dist/github/github-client.js.map +1 -0
  75. package/dist/github/github-monitor-error.d.ts +24 -0
  76. package/dist/github/github-monitor-error.d.ts.map +1 -0
  77. package/dist/github/github-monitor-error.js +75 -0
  78. package/dist/github/github-monitor-error.js.map +1 -0
  79. package/dist/github/github-monitor.d.ts +5 -3
  80. package/dist/github/github-monitor.d.ts.map +1 -1
  81. package/dist/github/github-monitor.js +15 -3
  82. package/dist/github/github-monitor.js.map +1 -1
  83. package/dist/github/github-test-fixtures.d.ts +52 -0
  84. package/dist/github/github-test-fixtures.d.ts.map +1 -1
  85. package/dist/github/github-test-fixtures.js +42 -0
  86. package/dist/github/github-test-fixtures.js.map +1 -1
  87. package/dist/github/index.d.ts +11 -2
  88. package/dist/github/index.d.ts.map +1 -1
  89. package/dist/github/index.js +6 -2
  90. package/dist/github/index.js.map +1 -1
  91. package/dist/github/issue-context.d.ts +8 -1
  92. package/dist/github/issue-context.d.ts.map +1 -1
  93. package/dist/github/issue-context.js +13 -12
  94. package/dist/github/issue-context.js.map +1 -1
  95. package/dist/github/resolve-github-auth-token.d.ts +19 -0
  96. package/dist/github/resolve-github-auth-token.d.ts.map +1 -0
  97. package/dist/github/resolve-github-auth-token.js +32 -0
  98. package/dist/github/resolve-github-auth-token.js.map +1 -0
  99. package/dist/github/run-gh.d.ts +20 -0
  100. package/dist/github/run-gh.d.ts.map +1 -1
  101. package/dist/github/run-gh.js +38 -4
  102. package/dist/github/run-gh.js.map +1 -1
  103. package/dist/index.d.ts +1 -0
  104. package/dist/index.d.ts.map +1 -1
  105. package/dist/index.js +1 -0
  106. package/dist/index.js.map +1 -1
  107. package/dist/profile/load-profile.d.ts +5 -2
  108. package/dist/profile/load-profile.d.ts.map +1 -1
  109. package/dist/profile/load-profile.js +9 -7
  110. package/dist/profile/load-profile.js.map +1 -1
  111. package/package.json +6 -1
@@ -1,24 +1,38 @@
1
1
  import { parseIssueUrl } from '../issue/issue-ref.js';
2
+ import { createGitHubClient } from './github-client.js';
2
3
  import { normalizeGitHubMonitorCursor } from './github-monitor-cursor.js';
3
- import { runGh } from './run-gh.js';
4
+ import { createGitHubMonitorPhaseError, safeUpperString, } from './github-monitor-error.js';
4
5
  const BODY_PREVIEW_MAX = 280;
5
6
  export async function fetchGitHubUpdates(input) {
6
- const baseGh = input.runGhFn ?? runGh;
7
- const gh = (args, options = {}) => baseGh(args, {
8
- ...options,
9
- ...(input.abortSignal ? { signal: input.abortSignal } : {}),
10
- });
7
+ const client = input.githubClient ??
8
+ (await createGitHubClient({
9
+ config: input.ensembleConfig,
10
+ signal: input.abortSignal,
11
+ }));
11
12
  const issue = parseIssueUrl(input.issueUrl);
12
13
  const cursor = normalizeGitHubMonitorCursor(input.cursor);
13
14
  const updates = [];
15
+ const errors = [];
14
16
  let hasPendingCi = false;
15
- const issueComments = await fetchIssueComments(gh, issue, input.cwd);
16
- const { updates: commentUpdates, lastId } = collectIssueCommentUpdates(issueComments, cursor.lastIssueCommentId, input.initialCursorPoll ?? false);
17
- updates.push(...commentUpdates);
18
- if (lastId !== undefined) {
19
- cursor.lastIssueCommentId = lastId;
17
+ try {
18
+ const issueComments = await client.listIssueComments(issue.owner, issue.repo, issue.number);
19
+ const { updates: commentUpdates, lastId } = collectIssueCommentUpdates(issueComments, cursor.lastIssueCommentId, input.initialCursorPoll ?? false);
20
+ updates.push(...commentUpdates);
21
+ if (lastId !== undefined) {
22
+ cursor.lastIssueCommentId = lastId;
23
+ }
24
+ }
25
+ catch (error) {
26
+ errors.push(createGitHubMonitorPhaseError('issue_comments', error));
27
+ }
28
+ let pullRequests;
29
+ try {
30
+ pullRequests = await client.searchLinkedPullRequests(issue.owner, issue.repo, issue.number);
31
+ }
32
+ catch (error) {
33
+ errors.push(createGitHubMonitorPhaseError('pr_search', error));
34
+ pullRequests = [];
20
35
  }
21
- const pullRequests = await fetchLinkedPullRequests(gh, issue, input.cwd);
22
36
  if (!cursor.pullRequests) {
23
37
  cursor.pullRequests = {};
24
38
  }
@@ -26,28 +40,20 @@ export async function fetchGitHubUpdates(input) {
26
40
  const prKey = String(pr.number);
27
41
  const prCursor = cursor.pullRequests[prKey] ?? {};
28
42
  const prResult = await fetchPullRequestUpdates({
29
- gh,
43
+ client,
30
44
  issue,
31
45
  pr,
32
46
  prCursor,
33
47
  initialCursorPoll: input.initialCursorPoll ?? false,
34
- cwd: input.cwd,
35
48
  });
36
49
  updates.push(...prResult.updates);
37
50
  cursor.pullRequests[prKey] = prResult.cursor;
51
+ errors.push(...prResult.errors);
38
52
  if (prResult.hasPendingCi) {
39
53
  hasPendingCi = true;
40
54
  }
41
55
  }
42
- return { updates, cursor, hasPendingCi };
43
- }
44
- async function fetchIssueComments(gh, issue, cwd) {
45
- const stdout = await gh([
46
- 'api',
47
- `repos/${issue.owner}/${issue.repo}/issues/${issue.number}/comments`,
48
- '--paginate',
49
- ], { cwd });
50
- return JSON.parse(stdout);
56
+ return { updates, cursor, hasPendingCi, errors };
51
57
  }
52
58
  function collectIssueCommentUpdates(comments, lastSeenId, initialCursorPoll) {
53
59
  if (comments.length === 0) {
@@ -74,94 +80,64 @@ function collectIssueCommentUpdates(comments, lastSeenId, initialCursorPoll) {
74
80
  lastId,
75
81
  };
76
82
  }
77
- async function fetchLinkedPullRequests(gh, issue, cwd) {
78
- try {
79
- const stdout = await gh([
80
- 'search',
81
- 'prs',
82
- String(issue.number),
83
- '--repo',
84
- `${issue.owner}/${issue.repo}`,
85
- '--json',
86
- 'number,title,url,state',
87
- '--limit',
88
- '20',
89
- ], { cwd });
90
- const results = JSON.parse(stdout);
91
- return results.filter((pr) => pr.state === 'OPEN' || pr.state === 'open');
92
- }
93
- catch {
94
- return [];
95
- }
96
- }
97
83
  async function fetchPullRequestUpdates(input) {
98
84
  const updates = [];
85
+ const errors = [];
99
86
  const cursor = {
100
87
  lastReviewId: input.prCursor.lastReviewId,
101
88
  lastReviewCommentId: input.prCursor.lastReviewCommentId,
102
89
  pendingCheckNames: [...(input.prCursor.pendingCheckNames ?? [])],
103
90
  notifiedCheckNames: [...(input.prCursor.notifiedCheckNames ?? [])],
104
91
  };
105
- const reviews = await fetchReviews(input.gh, input.issue, input.pr.number, input.cwd);
106
- const reviewResult = collectReviewUpdates(reviews, cursor.lastReviewId, input.initialCursorPoll, input.pr.number);
107
- updates.push(...reviewResult.updates);
108
- if (reviewResult.lastId !== undefined) {
109
- cursor.lastReviewId = reviewResult.lastId;
92
+ let hasPendingCi = false;
93
+ try {
94
+ const reviews = await input.client.listPullRequestReviews(input.issue.owner, input.issue.repo, input.pr.number);
95
+ const reviewResult = collectReviewUpdates(reviews, cursor.lastReviewId, input.initialCursorPoll, input.pr.number);
96
+ updates.push(...reviewResult.updates);
97
+ if (reviewResult.lastId !== undefined) {
98
+ cursor.lastReviewId = reviewResult.lastId;
99
+ }
100
+ }
101
+ catch (error) {
102
+ errors.push(createGitHubMonitorPhaseError('pr_reviews', error, input.pr.number));
110
103
  }
111
- const reviewComments = await fetchReviewComments(input.gh, input.issue, input.pr.number, input.cwd);
112
- const reviewCommentResult = collectReviewCommentUpdates(reviewComments, cursor.lastReviewCommentId, input.initialCursorPoll, input.pr.number);
113
- updates.push(...reviewCommentResult.updates);
114
- if (reviewCommentResult.lastId !== undefined) {
115
- cursor.lastReviewCommentId = reviewCommentResult.lastId;
104
+ try {
105
+ const reviewComments = await input.client.listPullRequestReviewComments(input.issue.owner, input.issue.repo, input.pr.number);
106
+ const reviewCommentResult = collectReviewCommentUpdates(reviewComments, cursor.lastReviewCommentId, input.initialCursorPoll, input.pr.number);
107
+ updates.push(...reviewCommentResult.updates);
108
+ if (reviewCommentResult.lastId !== undefined) {
109
+ cursor.lastReviewCommentId = reviewCommentResult.lastId;
110
+ }
111
+ }
112
+ catch (error) {
113
+ errors.push(createGitHubMonitorPhaseError('pr_review_comments', error, input.pr.number));
114
+ }
115
+ try {
116
+ const checkRuns = normalizeStatusCheckRollup(await input.client.getStatusCheckRollup(input.issue.owner, input.issue.repo, input.pr.number));
117
+ const ciResult = collectCiUpdates({
118
+ checkRuns,
119
+ pendingCheckNames: cursor.pendingCheckNames ?? [],
120
+ notifiedCheckNames: cursor.notifiedCheckNames ?? [],
121
+ initialCursorPoll: input.initialCursorPoll,
122
+ prNumber: input.pr.number,
123
+ });
124
+ updates.push(...ciResult.updates);
125
+ cursor.pendingCheckNames = ciResult.pendingCheckNames;
126
+ cursor.notifiedCheckNames = ciResult.notifiedCheckNames;
127
+ hasPendingCi = ciResult.hasPendingCi;
128
+ }
129
+ catch (error) {
130
+ errors.push(createGitHubMonitorPhaseError('pr_status_checks', error, input.pr.number));
116
131
  }
117
- const checkRuns = await fetchStatusCheckRollup(input.gh, input.issue, input.pr.number, input.cwd);
118
- const ciResult = collectCiUpdates({
119
- checkRuns,
120
- pendingCheckNames: cursor.pendingCheckNames ?? [],
121
- notifiedCheckNames: cursor.notifiedCheckNames ?? [],
122
- initialCursorPoll: input.initialCursorPoll,
123
- prNumber: input.pr.number,
124
- });
125
- updates.push(...ciResult.updates);
126
- cursor.pendingCheckNames = ciResult.pendingCheckNames;
127
- cursor.notifiedCheckNames = ciResult.notifiedCheckNames;
128
132
  return {
129
133
  updates,
130
134
  cursor,
131
- hasPendingCi: ciResult.hasPendingCi,
135
+ hasPendingCi,
136
+ errors,
132
137
  };
133
138
  }
134
- async function fetchReviews(gh, issue, prNumber, cwd) {
135
- const stdout = await gh([
136
- 'api',
137
- `repos/${issue.owner}/${issue.repo}/pulls/${prNumber}/reviews`,
138
- '--paginate',
139
- ], { cwd });
140
- return JSON.parse(stdout);
141
- }
142
- async function fetchReviewComments(gh, issue, prNumber, cwd) {
143
- const stdout = await gh([
144
- 'api',
145
- `repos/${issue.owner}/${issue.repo}/pulls/${prNumber}/comments`,
146
- '--paginate',
147
- ], { cwd });
148
- return JSON.parse(stdout);
149
- }
150
- async function fetchStatusCheckRollup(gh, issue, prNumber, cwd) {
151
- const stdout = await gh([
152
- 'pr',
153
- 'view',
154
- String(prNumber),
155
- '--repo',
156
- `${issue.owner}/${issue.repo}`,
157
- '--json',
158
- 'statusCheckRollup',
159
- ], { cwd });
160
- const data = JSON.parse(stdout);
161
- return normalizeStatusCheckRollup(data.statusCheckRollup);
162
- }
163
- /** `gh pr view --json statusCheckRollup` の CheckRun / StatusContext を共通形に正規化する。 */
164
- function normalizeStatusCheckRollup(rollup) {
139
+ /** GraphQL `statusCheckRollup` の CheckRun / StatusContext を共通形に正規化する。 */
140
+ export function normalizeStatusCheckRollup(rollup) {
165
141
  if (!Array.isArray(rollup)) {
166
142
  return [];
167
143
  }
@@ -179,11 +155,31 @@ function normalizeRollupItem(item) {
179
155
  return undefined;
180
156
  }
181
157
  const row = item;
182
- if (row.__typename === 'StatusContext') {
158
+ const typename = row.__typename;
159
+ if (typename === 'StatusContext' || isStatusContextShape(row)) {
183
160
  return normalizeStatusContext(row);
184
161
  }
162
+ if (typename === 'CheckRun' || (typename === undefined && isCheckRunShape(row))) {
163
+ return normalizeCheckRun(row);
164
+ }
165
+ if (typeof typename === 'string') {
166
+ // WorkflowRun 等の未知型は skip(throw しない)
167
+ return undefined;
168
+ }
169
+ return normalizeCheckRun(row);
170
+ }
171
+ function isStatusContextShape(row) {
172
+ return (typeof row.context === 'string' &&
173
+ row.state !== undefined &&
174
+ row.name === undefined &&
175
+ row.status === undefined);
176
+ }
177
+ function isCheckRunShape(row) {
178
+ return typeof row.name === 'string' && typeof row.status === 'string';
179
+ }
180
+ function normalizeCheckRun(row) {
185
181
  const name = typeof row.name === 'string' ? row.name : undefined;
186
- const status = typeof row.status === 'string' ? row.status : undefined;
182
+ const status = safeUpperString(row.status, '');
187
183
  if (!name || !status) {
188
184
  return undefined;
189
185
  }
@@ -196,7 +192,7 @@ function normalizeRollupItem(item) {
196
192
  }
197
193
  function normalizeStatusContext(row) {
198
194
  const name = typeof row.context === 'string' ? row.context : undefined;
199
- const state = typeof row.state === 'string' ? row.state.toUpperCase() : undefined;
195
+ const state = safeUpperString(row.state, '');
200
196
  if (!name || !state) {
201
197
  return undefined;
202
198
  }
@@ -273,7 +269,7 @@ function collectCiUpdates(input) {
273
269
  const hadPreviousSnapshot = previousPending.size > 0;
274
270
  for (const check of input.checkRuns) {
275
271
  const name = check.name;
276
- const status = check.status?.toUpperCase();
272
+ const status = safeUpperString(check.status, '');
277
273
  if (!name || !status) {
278
274
  continue;
279
275
  }
@@ -284,7 +280,7 @@ function collectCiUpdates(input) {
284
280
  if (status !== 'COMPLETED') {
285
281
  continue;
286
282
  }
287
- const conclusion = (check.conclusion ?? 'UNKNOWN').toUpperCase();
283
+ const conclusion = safeUpperString(check.conclusion, 'UNKNOWN');
288
284
  if (!hadPreviousSnapshot || !previousPending.has(name)) {
289
285
  continue;
290
286
  }
@@ -1 +1 @@
1
- {"version":3,"file":"fetch-github-updates.js","sourceRoot":"","sources":["../../src/github/fetch-github-updates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAE1E,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AA2D7B,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,KAA8B;IAE9B,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC;IACtC,MAAM,EAAE,GAAiB,CAAC,IAAI,EAAE,OAAO,GAAG,EAAE,EAAE,EAAE,CAC9C,MAAM,CAAC,IAAI,EAAE;QACX,GAAG,OAAO;QACV,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5D,CAAC,CAAC;IACL,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,4BAA4B,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAuB,EAAE,CAAC;IACvC,IAAI,YAAY,GAAG,KAAK,CAAC;IAEzB,MAAM,aAAa,GAAG,MAAM,kBAAkB,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IACrE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,0BAA0B,CACpE,aAAa,EACb,MAAM,CAAC,kBAAkB,EACzB,KAAK,CAAC,iBAAiB,IAAI,KAAK,CACjC,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC;IAChC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,CAAC,kBAAkB,GAAG,MAAM,CAAC;IACrC,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,uBAAuB,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IACzE,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;QACzB,MAAM,CAAC,YAAY,GAAG,EAAE,CAAC;IAC3B,CAAC;IAED,KAAK,MAAM,EAAE,IAAI,YAAY,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;QAChC,MAAM,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAClD,MAAM,QAAQ,GAAG,MAAM,uBAAuB,CAAC;YAC7C,EAAE;YACF,KAAK;YACL,EAAE;YACF,QAAQ;YACR,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,IAAI,KAAK;YACnD,GAAG,EAAE,KAAK,CAAC,GAAG;SACf,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;QAClC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC7C,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;YAC1B,YAAY,GAAG,IAAI,CAAC;QACtB,CAAC;IACH,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;AAC3C,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,EAAgB,EAChB,KAAuC,EACvC,GAAY;IAEZ,MAAM,MAAM,GAAG,MAAM,EAAE,CACrB;QACE,KAAK;QACL,SAAS,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,WAAW,KAAK,CAAC,MAAM,WAAW;QACpE,YAAY;KACb,EACD,EAAE,GAAG,EAAE,CACR,CAAC;IACF,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAqB,CAAC;AAChD,CAAC;AAED,SAAS,0BAA0B,CACjC,QAA0B,EAC1B,UAA8B,EAC9B,iBAA0B;IAE1B,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IAC7C,CAAC;IAED,MAAM,MAAM,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IACzD,MAAM,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7E,MAAM,WAAW,GACf,WAAW,KAAK,SAAS;QACvB,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,WAAW,CAAC,CAAC;IAE3D,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,EAAE,CAAC,CAAC;IACrD,IAAI,iBAAiB,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClD,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;IACjC,CAAC;IAED,OAAO;QACL,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACrC,EAAE,EAAE,iBAAiB,OAAO,CAAC,EAAE,EAAE;YACjC,IAAI,EAAE,eAAwB;YAC9B,OAAO,EAAE,eAAe,OAAO,CAAC,IAAI,CAAC,KAAK,GAAG;YAC7C,GAAG,EAAE,OAAO,CAAC,QAAQ;YACrB,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK;YAC1B,WAAW,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;SACvC,CAAC,CAAC;QACH,MAAM;KACP,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,uBAAuB,CACpC,EAAgB,EAChB,KAAuC,EACvC,GAAY;IAEZ,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,EAAE,CACrB;YACE,QAAQ;YACR,KAAK;YACL,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;YACpB,QAAQ;YACR,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE;YAC9B,QAAQ;YACR,wBAAwB;YACxB,SAAS;YACT,IAAI;SACL,EACD,EAAE,GAAG,EAAE,CACR,CAAC;QACF,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAuB,CAAC;QACzD,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,KAAK,MAAM,IAAI,EAAE,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC;IAC5E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,uBAAuB,CAAC,KAOtC;IAKC,MAAM,OAAO,GAAuB,EAAE,CAAC;IACvC,MAAM,MAAM,GAA6B;QACvC,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,YAAY;QACzC,mBAAmB,EAAE,KAAK,CAAC,QAAQ,CAAC,mBAAmB;QACvD,iBAAiB,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;QAChE,kBAAkB,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC;KACnE,CAAC;IAEF,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IACtF,MAAM,YAAY,GAAG,oBAAoB,CACvC,OAAO,EACP,MAAM,CAAC,YAAY,EACnB,KAAK,CAAC,iBAAiB,EACvB,KAAK,CAAC,EAAE,CAAC,MAAM,CAChB,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IACtC,IAAI,YAAY,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACtC,MAAM,CAAC,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC;IAC5C,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,mBAAmB,CAC9C,KAAK,CAAC,EAAE,EACR,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,EAAE,CAAC,MAAM,EACf,KAAK,CAAC,GAAG,CACV,CAAC;IACF,MAAM,mBAAmB,GAAG,2BAA2B,CACrD,cAAc,EACd,MAAM,CAAC,mBAAmB,EAC1B,KAAK,CAAC,iBAAiB,EACvB,KAAK,CAAC,EAAE,CAAC,MAAM,CAChB,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC7C,IAAI,mBAAmB,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC7C,MAAM,CAAC,mBAAmB,GAAG,mBAAmB,CAAC,MAAM,CAAC;IAC1D,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,sBAAsB,CAC5C,KAAK,CAAC,EAAE,EACR,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,EAAE,CAAC,MAAM,EACf,KAAK,CAAC,GAAG,CACV,CAAC;IACF,MAAM,QAAQ,GAAG,gBAAgB,CAAC;QAChC,SAAS;QACT,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,IAAI,EAAE;QACjD,kBAAkB,EAAE,MAAM,CAAC,kBAAkB,IAAI,EAAE;QACnD,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;QAC1C,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,MAAM;KAC1B,CAAC,CAAC;IACH,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClC,MAAM,CAAC,iBAAiB,GAAG,QAAQ,CAAC,iBAAiB,CAAC;IACtD,MAAM,CAAC,kBAAkB,GAAG,QAAQ,CAAC,kBAAkB,CAAC;IAExD,OAAO;QACL,OAAO;QACP,MAAM;QACN,YAAY,EAAE,QAAQ,CAAC,YAAY;KACpC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,YAAY,CACzB,EAAgB,EAChB,KAAuC,EACvC,QAAgB,EAChB,GAAY;IAEZ,MAAM,MAAM,GAAG,MAAM,EAAE,CACrB;QACE,KAAK;QACL,SAAS,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,UAAU,QAAQ,UAAU;QAC9D,YAAY;KACb,EACD,EAAE,GAAG,EAAE,CACR,CAAC;IACF,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAe,CAAC;AAC1C,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,EAAgB,EAChB,KAAuC,EACvC,QAAgB,EAChB,GAAY;IAEZ,MAAM,MAAM,GAAG,MAAM,EAAE,CACrB;QACE,KAAK;QACL,SAAS,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,UAAU,QAAQ,WAAW;QAC/D,YAAY;KACb,EACD,EAAE,GAAG,EAAE,CACR,CAAC;IACF,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAsB,CAAC;AACjD,CAAC;AAED,KAAK,UAAU,sBAAsB,CACnC,EAAgB,EAChB,KAAuC,EACvC,QAAgB,EAChB,GAAY;IAEZ,MAAM,MAAM,GAAG,MAAM,EAAE,CACrB;QACE,IAAI;QACJ,MAAM;QACN,MAAM,CAAC,QAAQ,CAAC;QAChB,QAAQ;QACR,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE;QAC9B,QAAQ;QACR,mBAAmB;KACpB,EACD,EAAE,GAAG,EAAE,CACR,CAAC;IACF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAoC,CAAC;IACnE,OAAO,0BAA0B,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;AAC5D,CAAC;AAED,mFAAmF;AACnF,SAAS,0BAA0B,CAAC,MAAe;IACjD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,UAAU,GAAiB,EAAE,CAAC;IACpC,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,KAAK,EAAE,CAAC;YACV,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAa;IACxC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,GAAG,GAAG,IAA+B,CAAC;IAC5C,IAAI,GAAG,CAAC,UAAU,KAAK,eAAe,EAAE,CAAC;QACvC,OAAO,sBAAsB,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IACjE,MAAM,MAAM,GAAG,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IACvE,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QACrB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO;QACL,IAAI;QACJ,MAAM;QACN,UAAU,EAAE,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI;QACtE,UAAU,EAAE,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;KAC5E,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,GAA4B;IAC1D,MAAM,IAAI,GAAG,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IACvE,MAAM,KAAK,GAAG,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAClF,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACpB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IACjF,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;QAChD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IACvE,CAAC;IACD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;IAC1E,CAAC;IACD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;QAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;IACtE,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AACtE,CAAC;AAED,SAAS,oBAAoB,CAC3B,OAAmB,EACnB,UAA8B,EAC9B,iBAA0B,EAC1B,QAAgB;IAEhB,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAClE,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IAC7C,CAAC;IAED,MAAM,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IAC1D,MAAM,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7E,MAAM,UAAU,GACd,WAAW,KAAK,SAAS;QACvB,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,WAAW,CAAC,CAAC;IAEzD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,EAAE,CAAC,CAAC;IACrD,IAAI,iBAAiB,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjD,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;IACjC,CAAC;IAED,OAAO;QACL,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACnC,EAAE,EAAE,aAAa,MAAM,CAAC,EAAE,EAAE;YAC5B,IAAI,EAAE,WAAoB;YAC1B,OAAO,EAAE,OAAO,QAAQ,UAAU,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,GAAG;YACtE,GAAG,EAAE,MAAM,CAAC,QAAQ;YACpB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK;YACzB,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC;YACrC,QAAQ;SACT,CAAC,CAAC;QACH,MAAM;KACP,CAAC;AACJ,CAAC;AAED,SAAS,2BAA2B,CAClC,QAA2B,EAC3B,UAA8B,EAC9B,iBAA0B,EAC1B,QAAgB;IAEhB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IAC7C,CAAC;IAED,MAAM,MAAM,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IACzD,MAAM,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7E,MAAM,WAAW,GACf,WAAW,KAAK,SAAS;QACvB,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,WAAW,CAAC,CAAC;IAE3D,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,EAAE,CAAC,CAAC;IACrD,IAAI,iBAAiB,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClD,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;IACjC,CAAC;IAED,OAAO;QACL,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACrC,EAAE,EAAE,qBAAqB,OAAO,CAAC,EAAE,EAAE;YACrC,IAAI,EAAE,mBAA4B;YAClC,OAAO,EAAE,OAAO,QAAQ,eAAe,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,GAAG;YAC5E,GAAG,EAAE,OAAO,CAAC,QAAQ;YACrB,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK;YAC1B,WAAW,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;YACtC,QAAQ;SACT,CAAC,CAAC;QACH,MAAM;KACP,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,KAMzB;IAMC,MAAM,OAAO,GAAuB,EAAE,CAAC;IACvC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACzD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACnD,MAAM,mBAAmB,GAAG,eAAe,CAAC,IAAI,GAAG,CAAC,CAAC;IAErD,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC;QAC3C,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACrB,SAAS;QACX,CAAC;QACD,IAAI,oBAAoB,CAAC,MAAM,CAAC,EAAE,CAAC;YACjC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACrB,SAAS;QACX,CAAC;QACD,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;YAC3B,SAAS;QACX,CAAC;QACD,MAAM,UAAU,GAAG,CAAC,KAAK,CAAC,UAAU,IAAI,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;QACjE,IAAI,CAAC,mBAAmB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACvD,SAAS;QACX,CAAC;QACD,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACvB,SAAS;QACX,CAAC;QACD,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC5B,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACnB,SAAS;QACX,CAAC;QACD,OAAO,CAAC,IAAI,CAAC;YACX,EAAE,EAAE,MAAM,KAAK,CAAC,QAAQ,IAAI,IAAI,IAAI,UAAU,EAAE;YAChD,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,OAAO,KAAK,CAAC,QAAQ,UAAU,IAAI,IAAI,UAAU,GAAG;YAC7D,GAAG,EAAE,KAAK,CAAC,UAAU;YACrB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,SAAS,EAAE,IAAI;YACf,eAAe,EAAE,UAAU;SAC5B,CAAC,CAAC;QACH,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;IAED,OAAO;QACL,OAAO;QACP,iBAAiB,EAAE,CAAC,GAAG,UAAU,CAAC;QAClC,kBAAkB,EAAE,CAAC,GAAG,QAAQ,CAAC;QACjC,YAAY,EAAE,UAAU,CAAC,IAAI,GAAG,CAAC;KAClC,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAc;IAC1C,OAAO,CACL,MAAM,KAAK,QAAQ;QACnB,MAAM,KAAK,aAAa;QACxB,MAAM,KAAK,SAAS;QACpB,MAAM,KAAK,SAAS,CACrB,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,IAAY;IAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACjD,IAAI,OAAO,CAAC,MAAM,IAAI,gBAAgB,EAAE,CAAC;QACvC,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,gBAAgB,CAAC,GAAG,CAAC;AAClD,CAAC"}
1
+ {"version":3,"file":"fetch-github-updates.js","sourceRoot":"","sources":["../../src/github/fetch-github-updates.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import type { EnsembleConfig } from '../config/types.js';
2
+ /**
3
+ * GitHub API 用トークンの解決順に沿ったヒント。
4
+ * conductor 認証(ensemble auth login / CURSOR_API_KEY)とは別系統。
5
+ */
6
+ export declare const GITHUB_AUTH_HINT: string;
7
+ /** 環境変数に GitHub トークンがあるか(同期チェック)。gh フォールバックは非同期解決のみ。 */
8
+ export declare function hasGitHubAuth(env?: NodeJS.ProcessEnv): boolean;
9
+ /** GitHub API エラーが認証失敗か判定する。 */
10
+ export declare function isGitHubAuthError(error: unknown): boolean;
11
+ /** GitHub 認証エラー時に stderr へ出す短い復旧手順。 */
12
+ export declare function formatGitHubAuthRecoveryHint(config?: EnsembleConfig): string;
13
+ /** monitor / fetch エラーメッセージに GitHub 復旧ヒントを付与する。 */
14
+ export declare function formatGitHubErrorMessage(error: unknown, config?: EnsembleConfig): string;
15
+ //# sourceMappingURL=github-auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"github-auth.d.ts","sourceRoot":"","sources":["../../src/github/github-auth.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGzD;;;GAGG;AACH,eAAO,MAAM,gBAAgB,QAEkB,CAAC;AAEhD,wDAAwD;AACxD,wBAAgB,aAAa,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAE3E;AAED,gCAAgC;AAChC,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAUzD;AAED,uCAAuC;AACvC,wBAAgB,4BAA4B,CAC1C,MAAM,GAAE,cAAwC,GAC/C,MAAM,CAmBR;AAED,mDAAmD;AACnD,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,OAAO,EACd,MAAM,GAAE,cAAwC,GAC/C,MAAM,CAMR"}
@@ -0,0 +1,44 @@
1
+ import { DEFAULT_ENSEMBLE_CONFIG } from '../config/defaults.js';
2
+ import { GitHubApiError } from './github-client.js';
3
+ /**
4
+ * GitHub API 用トークンの解決順に沿ったヒント。
5
+ * conductor 認証(ensemble auth login / CURSOR_API_KEY)とは別系統。
6
+ */
7
+ export const GITHUB_AUTH_HINT = 'GitHub API の認証が見つかりません。export GITHUB_TOKEN=... または export GH_TOKEN=... を設定するか、' +
8
+ '(config で許可されている場合)gh auth login を実行してください。';
9
+ /** 環境変数に GitHub トークンがあるか(同期チェック)。gh フォールバックは非同期解決のみ。 */
10
+ export function hasGitHubAuth(env = process.env) {
11
+ return Boolean(env.GITHUB_TOKEN?.trim() || env.GH_TOKEN?.trim());
12
+ }
13
+ /** GitHub API エラーが認証失敗か判定する。 */
14
+ export function isGitHubAuthError(error) {
15
+ if (error instanceof GitHubApiError) {
16
+ return error.status === 401 || error.status === 403;
17
+ }
18
+ if (error instanceof Error) {
19
+ return /authentication token not found|bad credentials|requires authentication/i.test(error.message);
20
+ }
21
+ return false;
22
+ }
23
+ /** GitHub 認証エラー時に stderr へ出す短い復旧手順。 */
24
+ export function formatGitHubAuthRecoveryHint(config = DEFAULT_ENSEMBLE_CONFIG) {
25
+ if (process.env.GITHUB_TOKEN || process.env.GH_TOKEN) {
26
+ return ('[github-auth] GitHub API 認証エラー。GITHUB_TOKEN / GH_TOKEN を確認するか、' +
27
+ 'トークンのスコープ(repo 等)と有効期限を確認してください。');
28
+ }
29
+ if (config.github.auth.allowGhAuthTokenFallback) {
30
+ return ('[github-auth] GitHub API 認証エラー。export GITHUB_TOKEN=... または gh auth login を実行してください。' +
31
+ '(conductor 認証の ensemble auth login とは別です。)');
32
+ }
33
+ return ('[github-auth] GitHub API 認証エラー。export GITHUB_TOKEN=... または export GH_TOKEN=... を設定してください。' +
34
+ '(本リポジトリの config で gh auth token フォールバックは無効です。)');
35
+ }
36
+ /** monitor / fetch エラーメッセージに GitHub 復旧ヒントを付与する。 */
37
+ export function formatGitHubErrorMessage(error, config = DEFAULT_ENSEMBLE_CONFIG) {
38
+ const base = error instanceof Error ? error.message : String(error);
39
+ if (!isGitHubAuthError(error)) {
40
+ return base;
41
+ }
42
+ return `${base}\n\n${formatGitHubAuthRecoveryHint(config)}`;
43
+ }
44
+ //# sourceMappingURL=github-auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"github-auth.js","sourceRoot":"","sources":["../../src/github/github-auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAC3B,gFAAgF;IAChF,6CAA6C,CAAC;AAEhD,wDAAwD;AACxD,MAAM,UAAU,aAAa,CAAC,MAAyB,OAAO,CAAC,GAAG;IAChE,OAAO,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AACnE,CAAC;AAED,gCAAgC;AAChC,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC9C,IAAI,KAAK,YAAY,cAAc,EAAE,CAAC;QACpC,OAAO,KAAK,CAAC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,CAAC;IACtD,CAAC;IACD,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,OAAO,yEAAyE,CAAC,IAAI,CACnF,KAAK,CAAC,OAAO,CACd,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,uCAAuC;AACvC,MAAM,UAAU,4BAA4B,CAC1C,SAAyB,uBAAuB;IAEhD,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QACrD,OAAO,CACL,gEAAgE;YAChE,kCAAkC,CACnC,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAChD,OAAO,CACL,qFAAqF;YACrF,4CAA4C,CAC7C,CAAC;IACJ,CAAC;IAED,OAAO,CACL,2FAA2F;QAC3F,gDAAgD,CACjD,CAAC;AACJ,CAAC;AAED,mDAAmD;AACnD,MAAM,UAAU,wBAAwB,CACtC,KAAc,EACd,SAAyB,uBAAuB;IAEhD,MAAM,IAAI,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACpE,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,GAAG,IAAI,OAAO,4BAA4B,CAAC,MAAM,CAAC,EAAE,CAAC;AAC9D,CAAC"}
@@ -0,0 +1,76 @@
1
+ import type { EnsembleConfig } from '../config/types.js';
2
+ import { resolveGitHubAuthToken } from './resolve-github-auth-token.js';
3
+ export interface GitHubClientOptions {
4
+ token: string;
5
+ fetchFn?: typeof fetch;
6
+ signal?: AbortSignal;
7
+ }
8
+ export interface GitHubRestIssue {
9
+ title: string;
10
+ body: string | null;
11
+ state: string;
12
+ labels: Array<{
13
+ name: string;
14
+ }>;
15
+ }
16
+ export interface GitHubIssueComment {
17
+ id: number;
18
+ body: string;
19
+ html_url: string;
20
+ user: {
21
+ login: string;
22
+ };
23
+ created_at: string;
24
+ }
25
+ export interface GitHubPullRequestRef {
26
+ number: number;
27
+ title: string;
28
+ url: string;
29
+ state: string;
30
+ }
31
+ export interface GitHubPullRequestReview {
32
+ id: number;
33
+ body: string;
34
+ html_url: string;
35
+ user: {
36
+ login: string;
37
+ };
38
+ state: string;
39
+ submitted_at: string;
40
+ }
41
+ export interface GitHubPullRequestReviewComment {
42
+ id: number;
43
+ body: string;
44
+ html_url: string;
45
+ user: {
46
+ login: string;
47
+ };
48
+ path: string;
49
+ created_at: string;
50
+ }
51
+ export interface GitHubClient {
52
+ getIssue(owner: string, repo: string, issueNumber: number): Promise<GitHubRestIssue>;
53
+ listIssueComments(owner: string, repo: string, issueNumber: number): Promise<GitHubIssueComment[]>;
54
+ searchLinkedPullRequests(owner: string, repo: string, issueNumber: number): Promise<GitHubPullRequestRef[]>;
55
+ listPullRequestReviews(owner: string, repo: string, prNumber: number): Promise<GitHubPullRequestReview[]>;
56
+ listPullRequestReviewComments(owner: string, repo: string, prNumber: number): Promise<GitHubPullRequestReviewComment[]>;
57
+ getStatusCheckRollup(owner: string, repo: string, prNumber: number): Promise<unknown[]>;
58
+ }
59
+ export declare class GitHubApiError extends Error {
60
+ readonly status: number;
61
+ readonly retryable: boolean;
62
+ constructor(message: string, options: {
63
+ status: number;
64
+ retryable?: boolean;
65
+ });
66
+ }
67
+ export interface CreateGitHubClientOptions {
68
+ config: EnsembleConfig;
69
+ env?: NodeJS.ProcessEnv;
70
+ fetchFn?: typeof fetch;
71
+ signal?: AbortSignal;
72
+ resolveTokenFn?: typeof resolveGitHubAuthToken;
73
+ }
74
+ export declare function createGitHubClient(options: CreateGitHubClientOptions): Promise<GitHubClient>;
75
+ export declare function buildGitHubClient(options: GitHubClientOptions): GitHubClient;
76
+ //# sourceMappingURL=github-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"github-client.d.ts","sourceRoot":"","sources":["../../src/github/github-client.ts"],"names":[],"mappings":"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"}