@ghcrawl/api-core 0.1.0 → 0.2.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.
- package/README.md +25 -0
- package/dist/api/server.d.ts +4 -0
- package/dist/api/server.d.ts.map +1 -0
- package/dist/api/server.js +142 -0
- package/dist/api/server.js.map +1 -0
- package/dist/cluster/build.d.ts +16 -0
- package/dist/cluster/build.d.ts.map +1 -0
- package/dist/cluster/build.js +62 -0
- package/dist/cluster/build.js.map +1 -0
- package/dist/config.d.ts +83 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +257 -0
- package/dist/config.js.map +1 -0
- package/dist/db/migrate.d.ts +3 -0
- package/dist/db/migrate.d.ts.map +1 -0
- package/{src/db/migrate.ts → dist/db/migrate.js} +30 -36
- package/dist/db/migrate.js.map +1 -0
- package/dist/db/sqlite.d.ts +4 -0
- package/dist/db/sqlite.d.ts.map +1 -0
- package/dist/db/sqlite.js +11 -0
- package/dist/db/sqlite.js.map +1 -0
- package/dist/documents/normalize.d.ts +23 -0
- package/dist/documents/normalize.d.ts.map +1 -0
- package/dist/documents/normalize.js +36 -0
- package/dist/documents/normalize.js.map +1 -0
- package/dist/github/client.d.ts +24 -0
- package/dist/github/client.d.ts.map +1 -0
- package/dist/github/client.js +170 -0
- package/dist/github/client.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/{src/index.ts → dist/index.js} +1 -0
- package/dist/index.js.map +1 -0
- package/dist/openai/provider.d.ts +44 -0
- package/dist/openai/provider.d.ts.map +1 -0
- package/dist/openai/provider.js +107 -0
- package/dist/openai/provider.js.map +1 -0
- package/dist/search/exact.d.ts +14 -0
- package/dist/search/exact.d.ts.map +1 -0
- package/dist/search/exact.js +26 -0
- package/dist/search/exact.js.map +1 -0
- package/dist/service.d.ts +249 -0
- package/dist/service.d.ts.map +1 -0
- package/dist/service.js +1801 -0
- package/dist/service.js.map +1 -0
- package/package.json +8 -6
- package/src/api/server.test.ts +0 -296
- package/src/api/server.ts +0 -171
- package/src/cluster/build.test.ts +0 -18
- package/src/cluster/build.ts +0 -74
- package/src/config.test.ts +0 -247
- package/src/config.ts +0 -421
- package/src/db/migrate.test.ts +0 -30
- package/src/db/sqlite.ts +0 -14
- package/src/documents/normalize.test.ts +0 -25
- package/src/documents/normalize.ts +0 -52
- package/src/github/client.ts +0 -241
- package/src/openai/provider.ts +0 -141
- package/src/search/exact.test.ts +0 -22
- package/src/search/exact.ts +0 -28
- package/src/service.test.ts +0 -2036
- package/src/service.ts +0 -2497
- package/src/types/better-sqlite3.d.ts +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../src/db/migrate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AA2NlD,wBAAgB,OAAO,CAAC,EAAE,EAAE,cAAc,GAAG,IAAI,CAehD"}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import type { SqliteDatabase } from './sqlite.js';
|
|
2
|
-
|
|
3
1
|
const migrationStatements = [
|
|
4
|
-
|
|
2
|
+
`
|
|
5
3
|
create table if not exists repositories (
|
|
6
4
|
id integer primary key,
|
|
7
5
|
owner text not null,
|
|
@@ -12,7 +10,7 @@ const migrationStatements = [
|
|
|
12
10
|
updated_at text not null
|
|
13
11
|
)
|
|
14
12
|
`,
|
|
15
|
-
|
|
13
|
+
`
|
|
16
14
|
create table if not exists threads (
|
|
17
15
|
id integer primary key,
|
|
18
16
|
repo_id integer not null references repositories(id) on delete cascade,
|
|
@@ -40,7 +38,7 @@ const migrationStatements = [
|
|
|
40
38
|
unique(repo_id, kind, number)
|
|
41
39
|
)
|
|
42
40
|
`,
|
|
43
|
-
|
|
41
|
+
`
|
|
44
42
|
create table if not exists comments (
|
|
45
43
|
id integer primary key,
|
|
46
44
|
thread_id integer not null references threads(id) on delete cascade,
|
|
@@ -56,7 +54,7 @@ const migrationStatements = [
|
|
|
56
54
|
unique(thread_id, comment_type, github_id)
|
|
57
55
|
)
|
|
58
56
|
`,
|
|
59
|
-
|
|
57
|
+
`
|
|
60
58
|
create table if not exists documents (
|
|
61
59
|
id integer primary key,
|
|
62
60
|
thread_id integer not null unique references threads(id) on delete cascade,
|
|
@@ -67,7 +65,7 @@ const migrationStatements = [
|
|
|
67
65
|
updated_at text not null
|
|
68
66
|
)
|
|
69
67
|
`,
|
|
70
|
-
|
|
68
|
+
`
|
|
71
69
|
create virtual table if not exists documents_fts using fts5(
|
|
72
70
|
title,
|
|
73
71
|
body,
|
|
@@ -77,19 +75,19 @@ const migrationStatements = [
|
|
|
77
75
|
content_rowid='id'
|
|
78
76
|
)
|
|
79
77
|
`,
|
|
80
|
-
|
|
78
|
+
`
|
|
81
79
|
create trigger if not exists documents_ai after insert on documents begin
|
|
82
80
|
insert into documents_fts(rowid, title, body, raw_text, dedupe_text)
|
|
83
81
|
values (new.id, new.title, new.body, new.raw_text, new.dedupe_text);
|
|
84
82
|
end
|
|
85
83
|
`,
|
|
86
|
-
|
|
84
|
+
`
|
|
87
85
|
create trigger if not exists documents_ad after delete on documents begin
|
|
88
86
|
insert into documents_fts(documents_fts, rowid, title, body, raw_text, dedupe_text)
|
|
89
87
|
values ('delete', old.id, old.title, old.body, old.raw_text, old.dedupe_text);
|
|
90
88
|
end
|
|
91
89
|
`,
|
|
92
|
-
|
|
90
|
+
`
|
|
93
91
|
create trigger if not exists documents_au after update on documents begin
|
|
94
92
|
insert into documents_fts(documents_fts, rowid, title, body, raw_text, dedupe_text)
|
|
95
93
|
values ('delete', old.id, old.title, old.body, old.raw_text, old.dedupe_text);
|
|
@@ -97,7 +95,7 @@ const migrationStatements = [
|
|
|
97
95
|
values (new.id, new.title, new.body, new.raw_text, new.dedupe_text);
|
|
98
96
|
end
|
|
99
97
|
`,
|
|
100
|
-
|
|
98
|
+
`
|
|
101
99
|
create table if not exists document_summaries (
|
|
102
100
|
id integer primary key,
|
|
103
101
|
thread_id integer not null references threads(id) on delete cascade,
|
|
@@ -110,7 +108,7 @@ const migrationStatements = [
|
|
|
110
108
|
unique(thread_id, summary_kind, model)
|
|
111
109
|
)
|
|
112
110
|
`,
|
|
113
|
-
|
|
111
|
+
`
|
|
114
112
|
create table if not exists document_embeddings (
|
|
115
113
|
id integer primary key,
|
|
116
114
|
thread_id integer not null references threads(id) on delete cascade,
|
|
@@ -124,7 +122,7 @@ const migrationStatements = [
|
|
|
124
122
|
unique(thread_id, source_kind, model)
|
|
125
123
|
)
|
|
126
124
|
`,
|
|
127
|
-
|
|
125
|
+
`
|
|
128
126
|
create table if not exists sync_runs (
|
|
129
127
|
id integer primary key,
|
|
130
128
|
repo_id integer references repositories(id) on delete cascade,
|
|
@@ -136,7 +134,7 @@ const migrationStatements = [
|
|
|
136
134
|
error_text text
|
|
137
135
|
)
|
|
138
136
|
`,
|
|
139
|
-
|
|
137
|
+
`
|
|
140
138
|
create table if not exists repo_sync_state (
|
|
141
139
|
repo_id integer primary key references repositories(id) on delete cascade,
|
|
142
140
|
last_full_open_scan_started_at text,
|
|
@@ -146,7 +144,7 @@ const migrationStatements = [
|
|
|
146
144
|
updated_at text not null
|
|
147
145
|
)
|
|
148
146
|
`,
|
|
149
|
-
|
|
147
|
+
`
|
|
150
148
|
create table if not exists summary_runs (
|
|
151
149
|
id integer primary key,
|
|
152
150
|
repo_id integer references repositories(id) on delete cascade,
|
|
@@ -158,7 +156,7 @@ const migrationStatements = [
|
|
|
158
156
|
error_text text
|
|
159
157
|
)
|
|
160
158
|
`,
|
|
161
|
-
|
|
159
|
+
`
|
|
162
160
|
create table if not exists embedding_runs (
|
|
163
161
|
id integer primary key,
|
|
164
162
|
repo_id integer references repositories(id) on delete cascade,
|
|
@@ -170,7 +168,7 @@ const migrationStatements = [
|
|
|
170
168
|
error_text text
|
|
171
169
|
)
|
|
172
170
|
`,
|
|
173
|
-
|
|
171
|
+
`
|
|
174
172
|
create table if not exists cluster_runs (
|
|
175
173
|
id integer primary key,
|
|
176
174
|
repo_id integer references repositories(id) on delete cascade,
|
|
@@ -182,7 +180,7 @@ const migrationStatements = [
|
|
|
182
180
|
error_text text
|
|
183
181
|
)
|
|
184
182
|
`,
|
|
185
|
-
|
|
183
|
+
`
|
|
186
184
|
create table if not exists similarity_edges (
|
|
187
185
|
id integer primary key,
|
|
188
186
|
repo_id integer not null references repositories(id) on delete cascade,
|
|
@@ -196,7 +194,7 @@ const migrationStatements = [
|
|
|
196
194
|
unique(cluster_run_id, left_thread_id, right_thread_id)
|
|
197
195
|
)
|
|
198
196
|
`,
|
|
199
|
-
|
|
197
|
+
`
|
|
200
198
|
create table if not exists clusters (
|
|
201
199
|
id integer primary key,
|
|
202
200
|
repo_id integer not null references repositories(id) on delete cascade,
|
|
@@ -206,7 +204,7 @@ const migrationStatements = [
|
|
|
206
204
|
created_at text not null
|
|
207
205
|
)
|
|
208
206
|
`,
|
|
209
|
-
|
|
207
|
+
`
|
|
210
208
|
create table if not exists cluster_members (
|
|
211
209
|
cluster_id integer not null references clusters(id) on delete cascade,
|
|
212
210
|
thread_id integer not null references threads(id) on delete cascade,
|
|
@@ -216,20 +214,16 @@ const migrationStatements = [
|
|
|
216
214
|
)
|
|
217
215
|
`
|
|
218
216
|
];
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
db.exec('alter table threads add column first_pulled_at text');
|
|
231
|
-
}
|
|
232
|
-
if (!threadColumns.has('last_pulled_at')) {
|
|
233
|
-
db.exec('alter table threads add column last_pulled_at text');
|
|
234
|
-
}
|
|
217
|
+
export function migrate(db) {
|
|
218
|
+
for (const statement of migrationStatements) {
|
|
219
|
+
db.exec(statement);
|
|
220
|
+
}
|
|
221
|
+
const threadColumns = new Set(db.prepare('pragma table_info(threads)').all().map((column) => column.name));
|
|
222
|
+
if (!threadColumns.has('first_pulled_at')) {
|
|
223
|
+
db.exec('alter table threads add column first_pulled_at text');
|
|
224
|
+
}
|
|
225
|
+
if (!threadColumns.has('last_pulled_at')) {
|
|
226
|
+
db.exec('alter table threads add column last_pulled_at text');
|
|
227
|
+
}
|
|
235
228
|
}
|
|
229
|
+
//# sourceMappingURL=migrate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/db/migrate.ts"],"names":[],"mappings":"AAEA,MAAM,mBAAmB,GAAG;IAC1B;;;;;;;;;;GAUC;IACD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BC;IACD;;;;;;;;;;;;;;;GAeC;IACD;;;;;;;;;;GAUC;IACD;;;;;;;;;GASC;IACD;;;;;GAKC;IACD;;;;;GAKC;IACD;;;;;;;GAOC;IACD;;;;;;;;;;;;GAYC;IACD;;;;;;;;;;;;;GAaC;IACD;;;;;;;;;;;GAWC;IACD;;;;;;;;;GASC;IACD;;;;;;;;;;;GAWC;IACD;;;;;;;;;;;GAWC;IACD;;;;;;;;;;;GAWC;IACD;;;;;;;;;;;;;GAaC;IACD;;;;;;;;;GASC;IACD;;;;;;;;GAQC;CACF,CAAC;AAEF,MAAM,UAAU,OAAO,CAAC,EAAkB;IACxC,KAAK,MAAM,SAAS,IAAI,mBAAmB,EAAE,CAAC;QAC5C,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACrB,CAAC;IAED,MAAM,aAAa,GAAG,IAAI,GAAG,CAC1B,EAAE,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC,GAAG,EAA8B,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CACzG,CAAC;IAEF,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAC1C,EAAE,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACzC,EAAE,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;IAChE,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../src/db/sqlite.ts"],"names":[],"mappings":"AAGA,OAAO,aAAa,MAAM,gBAAgB,CAAC;AAE3C,MAAM,MAAM,cAAc,GAAG,YAAY,CAAC,OAAO,aAAa,CAAC,CAAC;AAEhE,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CAMrD"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import fs from 'node:fs';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import BetterSqlite3 from 'better-sqlite3';
|
|
4
|
+
export function openDb(dbPath) {
|
|
5
|
+
fs.mkdirSync(path.dirname(dbPath), { recursive: true });
|
|
6
|
+
const db = new BetterSqlite3(dbPath);
|
|
7
|
+
db.pragma('journal_mode = WAL');
|
|
8
|
+
db.pragma('foreign_keys = ON');
|
|
9
|
+
return db;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=sqlite.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../src/db/sqlite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,aAAa,MAAM,gBAAgB,CAAC;AAI3C,MAAM,UAAU,MAAM,CAAC,MAAc;IACnC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,MAAM,EAAE,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;IACrC,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAChC,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAC/B,OAAO,EAAE,CAAC;AACZ,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export type NormalizedComment = {
|
|
2
|
+
body: string;
|
|
3
|
+
authorLogin: string | null;
|
|
4
|
+
authorType: string | null;
|
|
5
|
+
isBot: boolean;
|
|
6
|
+
};
|
|
7
|
+
export type NormalizedThread = {
|
|
8
|
+
title: string;
|
|
9
|
+
body: string | null;
|
|
10
|
+
labels: string[];
|
|
11
|
+
comments: NormalizedComment[];
|
|
12
|
+
};
|
|
13
|
+
export declare function isBotLikeAuthor(input: {
|
|
14
|
+
authorType?: string | null;
|
|
15
|
+
authorLogin?: string | null;
|
|
16
|
+
isBot?: boolean;
|
|
17
|
+
}): boolean;
|
|
18
|
+
export declare function buildCanonicalDocument(thread: NormalizedThread): {
|
|
19
|
+
rawText: string;
|
|
20
|
+
dedupeText: string;
|
|
21
|
+
contentHash: string;
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=normalize.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../../src/documents/normalize.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,KAAK,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,iBAAiB,EAAE,CAAC;CAC/B,CAAC;AAMF,wBAAgB,eAAe,CAAC,KAAK,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAK5H;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,gBAAgB,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAwB7H"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import crypto from 'node:crypto';
|
|
2
|
+
function normalizeWhitespace(value) {
|
|
3
|
+
return value.replace(/\r/g, '\n').replace(/\s+/g, ' ').trim();
|
|
4
|
+
}
|
|
5
|
+
export function isBotLikeAuthor(input) {
|
|
6
|
+
if (input.isBot)
|
|
7
|
+
return true;
|
|
8
|
+
if ((input.authorType ?? '').toLowerCase() === 'bot')
|
|
9
|
+
return true;
|
|
10
|
+
const login = (input.authorLogin ?? '').toLowerCase();
|
|
11
|
+
return login.endsWith('[bot]') || login.includes('renovate') || login.includes('dependabot');
|
|
12
|
+
}
|
|
13
|
+
export function buildCanonicalDocument(thread) {
|
|
14
|
+
const labels = thread.labels.length > 0 ? `labels: ${thread.labels.join(', ')}` : '';
|
|
15
|
+
const humanComments = thread.comments
|
|
16
|
+
.filter((comment) => !isBotLikeAuthor(comment))
|
|
17
|
+
.map((comment) => {
|
|
18
|
+
const author = comment.authorLogin ? `@${comment.authorLogin}` : 'unknown';
|
|
19
|
+
return `${author}: ${normalizeWhitespace(comment.body)}`;
|
|
20
|
+
})
|
|
21
|
+
.filter(Boolean);
|
|
22
|
+
const title = normalizeWhitespace(thread.title);
|
|
23
|
+
const body = normalizeWhitespace(thread.body ?? '');
|
|
24
|
+
const rawParts = [title, body, labels, ...humanComments].filter(Boolean);
|
|
25
|
+
const dedupeParts = [
|
|
26
|
+
`title: ${title}`,
|
|
27
|
+
body ? `body: ${body}` : '',
|
|
28
|
+
labels ? labels : '',
|
|
29
|
+
humanComments.length > 0 ? `discussion: ${humanComments.join('\n')}` : '',
|
|
30
|
+
].filter(Boolean);
|
|
31
|
+
const rawText = rawParts.join('\n\n');
|
|
32
|
+
const dedupeText = dedupeParts.join('\n\n');
|
|
33
|
+
const contentHash = crypto.createHash('sha256').update(`${rawText}\n---\n${dedupeText}`).digest('hex');
|
|
34
|
+
return { rawText, dedupeText, contentHash };
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=normalize.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalize.js","sourceRoot":"","sources":["../../src/documents/normalize.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AAgBjC,SAAS,mBAAmB,CAAC,KAAa;IACxC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAmF;IACjH,IAAI,KAAK,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAC7B,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,KAAK;QAAE,OAAO,IAAI,CAAC;IAClE,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IACtD,OAAO,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;AAC/F,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,MAAwB;IAC7D,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACrF,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ;SAClC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;SAC9C,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QACf,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3E,OAAO,GAAG,MAAM,KAAK,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;IAC3D,CAAC,CAAC;SACD,MAAM,CAAC,OAAO,CAAC,CAAC;IAEnB,MAAM,KAAK,GAAG,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,mBAAmB,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACzE,MAAM,WAAW,GAAG;QAClB,UAAU,KAAK,EAAE;QACjB,IAAI,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE;QAC3B,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;QACpB,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;KAC1E,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAElB,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,OAAO,UAAU,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvG,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;AAC9C,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export type GitHubClient = {
|
|
2
|
+
checkAuth: (reporter?: GitHubReporter) => Promise<void>;
|
|
3
|
+
getRepo: (owner: string, repo: string, reporter?: GitHubReporter) => Promise<Record<string, unknown>>;
|
|
4
|
+
listRepositoryIssues: (owner: string, repo: string, since?: string, limit?: number, reporter?: GitHubReporter, state?: 'open' | 'closed') => Promise<Array<Record<string, unknown>>>;
|
|
5
|
+
getIssue: (owner: string, repo: string, number: number, reporter?: GitHubReporter) => Promise<Record<string, unknown>>;
|
|
6
|
+
getPull: (owner: string, repo: string, number: number, reporter?: GitHubReporter) => Promise<Record<string, unknown>>;
|
|
7
|
+
listIssueComments: (owner: string, repo: string, number: number, reporter?: GitHubReporter) => Promise<Array<Record<string, unknown>>>;
|
|
8
|
+
listPullReviews: (owner: string, repo: string, number: number, reporter?: GitHubReporter) => Promise<Array<Record<string, unknown>>>;
|
|
9
|
+
listPullReviewComments: (owner: string, repo: string, number: number, reporter?: GitHubReporter) => Promise<Array<Record<string, unknown>>>;
|
|
10
|
+
};
|
|
11
|
+
export type GitHubReporter = (message: string) => void;
|
|
12
|
+
export declare class GitHubRequestError extends Error {
|
|
13
|
+
readonly status?: number;
|
|
14
|
+
constructor(message: string, status?: number);
|
|
15
|
+
}
|
|
16
|
+
type RequestOptions = {
|
|
17
|
+
token: string;
|
|
18
|
+
userAgent?: string;
|
|
19
|
+
timeoutMs?: number;
|
|
20
|
+
pageDelayMs?: number;
|
|
21
|
+
};
|
|
22
|
+
export declare function makeGitHubClient(options: RequestOptions): GitHubClient;
|
|
23
|
+
export {};
|
|
24
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/github/client.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,YAAY,GAAG;IACzB,SAAS,EAAE,CAAC,QAAQ,CAAC,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,cAAc,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACtG,oBAAoB,EAAE,CACpB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,cAAc,EACzB,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,KACtB,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAC7C,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,cAAc,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACvH,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,cAAc,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACtH,iBAAiB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,cAAc,KAAK,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACvI,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,cAAc,KAAK,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACrI,sBAAsB,EAAE,CACtB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,cAAc,KACtB,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;CAC9C,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;AAEvD,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;gBAEb,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;CAK7C;AAED,KAAK,cAAc,GAAG;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AA6BF,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,cAAc,GAAG,YAAY,CAwKtE"}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
import { retry } from '@octokit/plugin-retry';
|
|
2
|
+
import { throttling } from '@octokit/plugin-throttling';
|
|
3
|
+
import { Octokit } from 'octokit';
|
|
4
|
+
export class GitHubRequestError extends Error {
|
|
5
|
+
status;
|
|
6
|
+
constructor(message, status) {
|
|
7
|
+
super(message);
|
|
8
|
+
this.name = 'GitHubRequestError';
|
|
9
|
+
this.status = status;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
function delay(ms) {
|
|
13
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
14
|
+
}
|
|
15
|
+
function formatDuration(ms) {
|
|
16
|
+
if (ms < 1000)
|
|
17
|
+
return `${ms}ms`;
|
|
18
|
+
const seconds = Math.ceil(ms / 1000);
|
|
19
|
+
if (seconds < 60)
|
|
20
|
+
return `${seconds}s`;
|
|
21
|
+
const minutes = Math.floor(seconds / 60);
|
|
22
|
+
const remainingSeconds = seconds % 60;
|
|
23
|
+
if (minutes < 60)
|
|
24
|
+
return remainingSeconds === 0 ? `${minutes}m` : `${minutes}m ${remainingSeconds}s`;
|
|
25
|
+
const hours = Math.floor(minutes / 60);
|
|
26
|
+
const remainingMinutes = minutes % 60;
|
|
27
|
+
return remainingMinutes === 0 ? `${hours}h` : `${hours}h ${remainingMinutes}m`;
|
|
28
|
+
}
|
|
29
|
+
function formatResetTime(resetSeconds) {
|
|
30
|
+
if (!resetSeconds)
|
|
31
|
+
return null;
|
|
32
|
+
const value = Number(resetSeconds);
|
|
33
|
+
if (!Number.isFinite(value) || value <= 0)
|
|
34
|
+
return null;
|
|
35
|
+
return new Date(value * 1000).toISOString();
|
|
36
|
+
}
|
|
37
|
+
export function makeGitHubClient(options) {
|
|
38
|
+
const userAgent = options.userAgent ?? 'ghcrawl';
|
|
39
|
+
const timeoutMs = options.timeoutMs ?? 30_000;
|
|
40
|
+
const pageDelayMs = options.pageDelayMs ?? 5000;
|
|
41
|
+
const BaseOctokit = Octokit.plugin(retry, throttling);
|
|
42
|
+
function createOctokit(reporter) {
|
|
43
|
+
return new BaseOctokit({
|
|
44
|
+
auth: options.token,
|
|
45
|
+
request: {
|
|
46
|
+
timeout: timeoutMs,
|
|
47
|
+
},
|
|
48
|
+
userAgent,
|
|
49
|
+
retry: {
|
|
50
|
+
doNotRetry: [400, 401, 403, 404, 422],
|
|
51
|
+
retries: 4,
|
|
52
|
+
},
|
|
53
|
+
throttle: {
|
|
54
|
+
fallbackSecondaryRateRetryAfter: Math.ceil(pageDelayMs / 1000),
|
|
55
|
+
onRateLimit: (retryAfter, requestOptions) => {
|
|
56
|
+
const responseHeaders = requestOptions.response?.headers;
|
|
57
|
+
const resetAt = formatResetTime(responseHeaders?.['x-ratelimit-reset']);
|
|
58
|
+
const remaining = responseHeaders?.['x-ratelimit-remaining'];
|
|
59
|
+
const method = requestOptions.method ?? 'GET';
|
|
60
|
+
const url = requestOptions.url ?? 'unknown';
|
|
61
|
+
reporter?.(`[github] backoff rate-limited wait=${formatDuration(retryAfter * 1000)}${remaining ? ` remaining=${remaining}` : ''}${resetAt ? ` reset_at=${resetAt}` : ''} method=${method} url=${url}`);
|
|
62
|
+
return true;
|
|
63
|
+
},
|
|
64
|
+
onSecondaryRateLimit: (retryAfter, requestOptions) => {
|
|
65
|
+
const method = requestOptions.method ?? 'GET';
|
|
66
|
+
const url = requestOptions.url ?? 'unknown';
|
|
67
|
+
reporter?.(`[github] backoff secondary-rate-limit wait=${formatDuration(retryAfter * 1000)} method=${method} url=${url}`);
|
|
68
|
+
return true;
|
|
69
|
+
},
|
|
70
|
+
},
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
async function request(label, reporter, fn) {
|
|
74
|
+
reporter?.(`[github] request ${label}`);
|
|
75
|
+
const octokit = createOctokit(reporter);
|
|
76
|
+
try {
|
|
77
|
+
return await fn(octokit);
|
|
78
|
+
}
|
|
79
|
+
catch (error) {
|
|
80
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
81
|
+
const status = typeof error?.status === 'number' ? Number(error.status) : undefined;
|
|
82
|
+
throw new GitHubRequestError(`GitHub request failed for ${label}: ${message}`, status);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
async function paginate(label, limit, reporter, iteratorFactory) {
|
|
86
|
+
reporter?.(`[github] request ${label}`);
|
|
87
|
+
const octokit = createOctokit(reporter);
|
|
88
|
+
const out = [];
|
|
89
|
+
try {
|
|
90
|
+
let pageIndex = 0;
|
|
91
|
+
for await (const page of iteratorFactory(octokit)) {
|
|
92
|
+
pageIndex += 1;
|
|
93
|
+
const remaining = typeof limit === 'number' ? Math.max(limit - out.length, 0) : page.data.length;
|
|
94
|
+
out.push(...page.data.slice(0, remaining));
|
|
95
|
+
reporter?.(`[github] page ${pageIndex} fetched count=${page.data.length} accumulated=${out.length}`);
|
|
96
|
+
if (typeof limit === 'number' && out.length >= limit) {
|
|
97
|
+
break;
|
|
98
|
+
}
|
|
99
|
+
await delay(pageDelayMs);
|
|
100
|
+
}
|
|
101
|
+
return out;
|
|
102
|
+
}
|
|
103
|
+
catch (error) {
|
|
104
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
105
|
+
const status = typeof error?.status === 'number' ? Number(error.status) : undefined;
|
|
106
|
+
throw new GitHubRequestError(`GitHub pagination failed for ${label}: ${message}`, status);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
return {
|
|
110
|
+
async checkAuth(reporter) {
|
|
111
|
+
await request('GET /rate_limit', reporter, async (octokit) => {
|
|
112
|
+
await octokit.request('GET /rate_limit');
|
|
113
|
+
});
|
|
114
|
+
},
|
|
115
|
+
async getRepo(owner, repo, reporter) {
|
|
116
|
+
return request(`GET /repos/${owner}/${repo}`, reporter, async (octokit) => {
|
|
117
|
+
const response = await octokit.rest.repos.get({ owner, repo });
|
|
118
|
+
return response.data;
|
|
119
|
+
});
|
|
120
|
+
},
|
|
121
|
+
async listRepositoryIssues(owner, repo, since, limit, reporter, state = 'open') {
|
|
122
|
+
return paginate(`GET /repos/${owner}/${repo}/issues state=${state} per_page=100`, limit, reporter, (octokit) => octokit.paginate.iterator(octokit.rest.issues.listForRepo, {
|
|
123
|
+
owner,
|
|
124
|
+
repo,
|
|
125
|
+
state,
|
|
126
|
+
sort: 'updated',
|
|
127
|
+
direction: 'desc',
|
|
128
|
+
per_page: 100,
|
|
129
|
+
since,
|
|
130
|
+
}));
|
|
131
|
+
},
|
|
132
|
+
async getIssue(owner, repo, number, reporter) {
|
|
133
|
+
return request(`GET /repos/${owner}/${repo}/issues/${number}`, reporter, async (octokit) => {
|
|
134
|
+
const response = await octokit.rest.issues.get({ owner, repo, issue_number: number });
|
|
135
|
+
return response.data;
|
|
136
|
+
});
|
|
137
|
+
},
|
|
138
|
+
async getPull(owner, repo, number, reporter) {
|
|
139
|
+
return request(`GET /repos/${owner}/${repo}/pulls/${number}`, reporter, async (octokit) => {
|
|
140
|
+
const response = await octokit.rest.pulls.get({ owner, repo, pull_number: number });
|
|
141
|
+
return response.data;
|
|
142
|
+
});
|
|
143
|
+
},
|
|
144
|
+
async listIssueComments(owner, repo, number, reporter) {
|
|
145
|
+
return paginate(`GET /repos/${owner}/${repo}/issues/${number}/comments per_page=100`, undefined, reporter, (octokit) => octokit.paginate.iterator(octokit.rest.issues.listComments, {
|
|
146
|
+
owner,
|
|
147
|
+
repo,
|
|
148
|
+
issue_number: number,
|
|
149
|
+
per_page: 100,
|
|
150
|
+
}));
|
|
151
|
+
},
|
|
152
|
+
async listPullReviews(owner, repo, number, reporter) {
|
|
153
|
+
return paginate(`GET /repos/${owner}/${repo}/pulls/${number}/reviews per_page=100`, undefined, reporter, (octokit) => octokit.paginate.iterator(octokit.rest.pulls.listReviews, {
|
|
154
|
+
owner,
|
|
155
|
+
repo,
|
|
156
|
+
pull_number: number,
|
|
157
|
+
per_page: 100,
|
|
158
|
+
}));
|
|
159
|
+
},
|
|
160
|
+
async listPullReviewComments(owner, repo, number, reporter) {
|
|
161
|
+
return paginate(`GET /repos/${owner}/${repo}/pulls/${number}/comments per_page=100`, undefined, reporter, (octokit) => octokit.paginate.iterator(octokit.rest.pulls.listReviewComments, {
|
|
162
|
+
owner,
|
|
163
|
+
repo,
|
|
164
|
+
pull_number: number,
|
|
165
|
+
per_page: 100,
|
|
166
|
+
}));
|
|
167
|
+
},
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/github/client.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
export type SummaryResult = {
|
|
2
|
+
problemSummary: string;
|
|
3
|
+
solutionSummary: string;
|
|
4
|
+
maintainerSignalSummary: string;
|
|
5
|
+
dedupeSummary: string;
|
|
6
|
+
};
|
|
7
|
+
export type SummaryUsage = {
|
|
8
|
+
inputTokens: number;
|
|
9
|
+
outputTokens: number;
|
|
10
|
+
totalTokens: number;
|
|
11
|
+
cachedInputTokens: number;
|
|
12
|
+
reasoningTokens: number;
|
|
13
|
+
};
|
|
14
|
+
export type AiProvider = {
|
|
15
|
+
checkAuth: () => Promise<void>;
|
|
16
|
+
summarizeThread: (params: {
|
|
17
|
+
model: string;
|
|
18
|
+
text: string;
|
|
19
|
+
}) => Promise<{
|
|
20
|
+
summary: SummaryResult;
|
|
21
|
+
usage?: SummaryUsage;
|
|
22
|
+
}>;
|
|
23
|
+
embedTexts: (params: {
|
|
24
|
+
model: string;
|
|
25
|
+
texts: string[];
|
|
26
|
+
}) => Promise<number[][]>;
|
|
27
|
+
};
|
|
28
|
+
export declare class OpenAiProvider implements AiProvider {
|
|
29
|
+
private readonly client;
|
|
30
|
+
constructor(apiKey: string);
|
|
31
|
+
checkAuth(): Promise<void>;
|
|
32
|
+
summarizeThread(params: {
|
|
33
|
+
model: string;
|
|
34
|
+
text: string;
|
|
35
|
+
}): Promise<{
|
|
36
|
+
summary: SummaryResult;
|
|
37
|
+
usage?: SummaryUsage;
|
|
38
|
+
}>;
|
|
39
|
+
embedTexts(params: {
|
|
40
|
+
model: string;
|
|
41
|
+
texts: string[];
|
|
42
|
+
}): Promise<number[][]>;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/openai/provider.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,aAAa,GAAG;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,uBAAuB,EAAE,MAAM,CAAC;IAChC,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,eAAe,EAAE,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC;QAAE,OAAO,EAAE,aAAa,CAAC;QAAC,KAAK,CAAC,EAAE,YAAY,CAAA;KAAE,CAAC,CAAC;IACxH,UAAU,EAAE,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,KAAK,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;CACjF,CAAC;AASF,qBAAa,cAAe,YAAW,UAAU;IAC/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;gBAEpB,MAAM,EAAE,MAAM;IAIpB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAI1B,eAAe,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,aAAa,CAAC;QAAC,KAAK,CAAC,EAAE,YAAY,CAAA;KAAE,CAAC;IA8DnH,UAAU,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;CA8BlF"}
|