ghcrawl 0.3.0 → 0.4.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 +33 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +51 -3
- package/dist/main.js.map +1 -1
- package/dist/tui/app.d.ts +2 -0
- package/dist/tui/app.d.ts.map +1 -1
- package/dist/tui/app.js +343 -16
- package/dist/tui/app.js.map +1 -1
- package/dist/tui/layout.d.ts +3 -2
- package/dist/tui/layout.d.ts.map +1 -1
- package/dist/tui/layout.js +16 -2
- package/dist/tui/layout.js.map +1 -1
- package/dist/tui/state.d.ts +3 -1
- package/dist/tui/state.d.ts.map +1 -1
- package/dist/tui/state.js +13 -7
- package/dist/tui/state.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -70,6 +70,22 @@ ghcrawl refresh owner/repo
|
|
|
70
70
|
|
|
71
71
|

|
|
72
72
|
|
|
73
|
+
### TUI Screenshots
|
|
74
|
+
|
|
75
|
+
| User open issue/PR list modal | Refresh modal |
|
|
76
|
+
| --- | --- |
|
|
77
|
+
|  |  |
|
|
78
|
+
| Press `u` to open the current user's issue and PR list modal. | Press `g` to open the GitHub/embed/cluster refresh modal. |
|
|
79
|
+
|
|
80
|
+
| Closed members in a cluster | Fully closed cluster |
|
|
81
|
+
| --- | --- |
|
|
82
|
+
|  |  |
|
|
83
|
+
| Closed members stay visible in gray so overlap is still easy to inspect. | A cluster with no open members is grayed out as a whole until you hide closed items. |
|
|
84
|
+
|
|
85
|
+

|
|
86
|
+
|
|
87
|
+
Press `l` on wide screens to toggle the stacked layout with the cluster list on the left and members/detail stacked on the right.
|
|
88
|
+
|
|
73
89
|
## Controlling The Refresh Flow More Intentionally
|
|
74
90
|
|
|
75
91
|
Most users should run `ghcrawl refresh owner/repo` and let it do the full pipeline in the right order.
|
|
@@ -151,14 +167,27 @@ These commands are intended more for scripts, bots, and agent integrations than
|
|
|
151
167
|
|
|
152
168
|
```bash
|
|
153
169
|
ghcrawl threads owner/repo --numbers 42,43,44
|
|
154
|
-
ghcrawl
|
|
170
|
+
ghcrawl threads owner/repo --numbers 42,43,44 --include-closed
|
|
171
|
+
ghcrawl author owner/repo --login lqquan
|
|
172
|
+
ghcrawl close-thread owner/repo --number 42
|
|
173
|
+
ghcrawl close-cluster owner/repo --id 123
|
|
155
174
|
ghcrawl clusters owner/repo --min-size 10 --limit 20
|
|
175
|
+
ghcrawl clusters owner/repo --min-size 10 --limit 20 --include-closed
|
|
156
176
|
ghcrawl cluster-detail owner/repo --id 123
|
|
177
|
+
ghcrawl cluster-detail owner/repo --id 123 --include-closed
|
|
157
178
|
ghcrawl search owner/repo --query "download stalls"
|
|
158
179
|
```
|
|
159
180
|
|
|
160
181
|
Use `threads --numbers ...` when you want several specific issue or PR records in one CLI call instead of paying process startup overhead repeatedly.
|
|
161
182
|
|
|
183
|
+
Use `author --login ...` when you want all currently open issue/PR records from one user plus the strongest stored same-author similarity match for each item.
|
|
184
|
+
|
|
185
|
+
By default, JSON list commands filter out locally closed issues/PRs and completely closed clusters. Use `--include-closed` when you need to inspect those records too.
|
|
186
|
+
|
|
187
|
+
Use `close-thread` when you know a local issue/PR should be treated as closed before the next GitHub sync catches up. If that was the last open item in its cluster, `ghcrawl` automatically marks the cluster closed too.
|
|
188
|
+
|
|
189
|
+
Use `close-cluster` when you want to locally suppress a whole cluster from default JSON exploration without waiting for a rebuild.
|
|
190
|
+
|
|
162
191
|
## Cost To Operate
|
|
163
192
|
|
|
164
193
|
The main variable cost is OpenAI embeddings. Current model pricing is published by OpenAI here: [OpenAI API pricing](https://developers.openai.com/api/docs/pricing).
|
|
@@ -187,6 +216,7 @@ The skill is built around the stable JSON CLI surface and is intentionally conse
|
|
|
187
216
|
- default mode assumes no valid API keys and stays read-only
|
|
188
217
|
- API-backed operations only become available after `ghcrawl doctor --json` shows healthy auth
|
|
189
218
|
- even then, `refresh`, `sync`, `embed`, and `cluster` should only run when the user explicitly asks for them
|
|
219
|
+
- JSON list commands hide locally closed issues/PRs and closed clusters by default unless `--include-closed` is passed
|
|
190
220
|
|
|
191
221
|
```bash
|
|
192
222
|
ghcrawl doctor --json
|
|
@@ -217,6 +247,8 @@ The agent and build contract for this repo lives in [SPEC.md](https://github.com
|
|
|
217
247
|
- `sync --since` accepts ISO timestamps and relative durations like `15m`, `2h`, `7d`, and `1mo`
|
|
218
248
|
- `sync --limit <count>` is the best smoke-test path on a busy repository
|
|
219
249
|
- `tui` remembers sort order and min cluster size per repository in the persisted config file
|
|
250
|
+
- the TUI shows locally closed threads and clusters in gray; press `x` to hide or show them
|
|
251
|
+
- on wide screens, press `l` to toggle between three columns and a wider cluster list with members/detail stacked on the right
|
|
220
252
|
- if you add a brand-new repo from the TUI with `p`, ghcrawl runs sync -> embed -> cluster and opens that repo with min cluster size `1+`
|
|
221
253
|
|
|
222
254
|
## Responsibility Attestation
|
package/dist/main.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";AAOA,OAAO,EAAmB,cAAc,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";AAOA,OAAO,EAAmB,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAyBpE,KAAK,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AAClE,KAAK,YAAY,GAAG,YAAY,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAkDvD,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAO7E;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,CAAA;CAAE,CAiDxH;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,GAAE,IAAiB,GAAG,MAAM,CA2C/E;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,GAAE,IAAiB,GAAG,MAAM,CAE7E;AA6BD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAiC/D;AAQD,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,MAAM,GAAE,MAAM,CAAC,cAA+B,GAAG,OAAO,CAAC,IAAI,CAAC,CA0RvG"}
|
package/dist/main.js
CHANGED
|
@@ -18,11 +18,14 @@ function usage(devMode = false) {
|
|
|
18
18
|
' version',
|
|
19
19
|
' sync <owner/repo> [--since <iso|duration>] [--limit <count>] [--include-comments] [--full-reconcile]',
|
|
20
20
|
' refresh <owner/repo> [--no-sync] [--no-embed] [--no-cluster]',
|
|
21
|
-
' threads <owner/repo> [--numbers <n,n,...>] [--kind issue|pull_request]',
|
|
21
|
+
' threads <owner/repo> [--numbers <n,n,...>] [--kind issue|pull_request] [--include-closed]',
|
|
22
|
+
' author <owner/repo> --login <user> [--include-closed]',
|
|
23
|
+
' close-thread <owner/repo> --number <thread>',
|
|
24
|
+
' close-cluster <owner/repo> --id <cluster-id>',
|
|
22
25
|
' embed <owner/repo> [--number <thread>]',
|
|
23
26
|
' cluster <owner/repo> [--k <count>] [--threshold <score>]',
|
|
24
|
-
' clusters <owner/repo> [--min-size <count>] [--limit <count>] [--sort recent|size] [--search <text>]',
|
|
25
|
-
' cluster-detail <owner/repo> --id <cluster-id> [--member-limit <count>] [--body-chars <count>]',
|
|
27
|
+
' clusters <owner/repo> [--min-size <count>] [--limit <count>] [--sort recent|size] [--search <text>] [--include-closed]',
|
|
28
|
+
' cluster-detail <owner/repo> --id <cluster-id> [--member-limit <count>] [--body-chars <count>] [--include-closed]',
|
|
26
29
|
' search <owner/repo> --query <text> [--mode keyword|semantic|hybrid]',
|
|
27
30
|
' neighbors <owner/repo> --number <thread> [--limit <count>] [--threshold <score>]',
|
|
28
31
|
' tui [owner/repo]',
|
|
@@ -69,8 +72,10 @@ export function parseRepoFlags(args) {
|
|
|
69
72
|
limit: { type: 'string' },
|
|
70
73
|
'include-comments': { type: 'boolean' },
|
|
71
74
|
'full-reconcile': { type: 'boolean' },
|
|
75
|
+
'include-closed': { type: 'boolean' },
|
|
72
76
|
number: { type: 'string' },
|
|
73
77
|
numbers: { type: 'string' },
|
|
78
|
+
login: { type: 'string' },
|
|
74
79
|
query: { type: 'string' },
|
|
75
80
|
mode: { type: 'string' },
|
|
76
81
|
k: { type: 'string' },
|
|
@@ -284,6 +289,47 @@ export async function run(argv, stdout = process.stdout) {
|
|
|
284
289
|
repo,
|
|
285
290
|
kind,
|
|
286
291
|
numbers: typeof values.numbers === 'string' ? parsePositiveIntegerList('numbers', values.numbers) : undefined,
|
|
292
|
+
includeClosed: values['include-closed'] === true,
|
|
293
|
+
});
|
|
294
|
+
stdout.write(`${JSON.stringify(result, null, 2)}\n`);
|
|
295
|
+
return;
|
|
296
|
+
}
|
|
297
|
+
case 'author': {
|
|
298
|
+
const { owner, repo, values } = parseRepoFlags(rest);
|
|
299
|
+
if (typeof values.login !== 'string' || values.login.trim().length === 0) {
|
|
300
|
+
throw new Error('Missing --login');
|
|
301
|
+
}
|
|
302
|
+
const result = getService().listAuthorThreads({
|
|
303
|
+
owner,
|
|
304
|
+
repo,
|
|
305
|
+
login: values.login,
|
|
306
|
+
includeClosed: values['include-closed'] === true,
|
|
307
|
+
});
|
|
308
|
+
stdout.write(`${JSON.stringify(result, null, 2)}\n`);
|
|
309
|
+
return;
|
|
310
|
+
}
|
|
311
|
+
case 'close-thread': {
|
|
312
|
+
const { owner, repo, values } = parseRepoFlags(rest);
|
|
313
|
+
if (typeof values.number !== 'string') {
|
|
314
|
+
throw new Error('Missing --number');
|
|
315
|
+
}
|
|
316
|
+
const result = getService().closeThreadLocally({
|
|
317
|
+
owner,
|
|
318
|
+
repo,
|
|
319
|
+
threadNumber: parsePositiveInteger('number', values.number),
|
|
320
|
+
});
|
|
321
|
+
stdout.write(`${JSON.stringify(result, null, 2)}\n`);
|
|
322
|
+
return;
|
|
323
|
+
}
|
|
324
|
+
case 'close-cluster': {
|
|
325
|
+
const { owner, repo, values } = parseRepoFlags(rest);
|
|
326
|
+
if (typeof values.id !== 'string') {
|
|
327
|
+
throw new Error('Missing --id');
|
|
328
|
+
}
|
|
329
|
+
const result = getService().closeClusterLocally({
|
|
330
|
+
owner,
|
|
331
|
+
repo,
|
|
332
|
+
clusterId: parsePositiveInteger('id', values.id),
|
|
287
333
|
});
|
|
288
334
|
stdout.write(`${JSON.stringify(result, null, 2)}\n`);
|
|
289
335
|
return;
|
|
@@ -344,6 +390,7 @@ export async function run(argv, stdout = process.stdout) {
|
|
|
344
390
|
limit: typeof values.limit === 'string' ? parsePositiveInteger('limit', values.limit) : undefined,
|
|
345
391
|
sort,
|
|
346
392
|
search: typeof values.search === 'string' ? values.search : undefined,
|
|
393
|
+
includeClosed: values['include-closed'] === true,
|
|
347
394
|
});
|
|
348
395
|
stdout.write(`${JSON.stringify(result, null, 2)}\n`);
|
|
349
396
|
return;
|
|
@@ -363,6 +410,7 @@ export async function run(argv, stdout = process.stdout) {
|
|
|
363
410
|
bodyChars: typeof values['body-chars'] === 'string'
|
|
364
411
|
? parsePositiveInteger('body-chars', values['body-chars'])
|
|
365
412
|
: undefined,
|
|
413
|
+
includeClosed: values['include-closed'] === true,
|
|
366
414
|
});
|
|
367
415
|
stdout.write(`${JSON.stringify(result, null, 2)}\n`);
|
|
368
416
|
return;
|
package/dist/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
|
package/dist/tui/app.d.ts
CHANGED
|
@@ -28,10 +28,12 @@ export declare function renderDetailPane(threadDetail: TuiThreadDetail | null, c
|
|
|
28
28
|
export declare function escapeBlessedText(value: string): string;
|
|
29
29
|
export declare function describeUpdateTask(task: keyof UpdateTaskSelection, stats: TuiRepoStats | null, now?: Date): string;
|
|
30
30
|
export declare function buildUpdatePipelineLabels(stats: TuiRepoStats | null, selection: UpdateTaskSelection, now?: Date): string[];
|
|
31
|
+
export declare function buildHelpContent(): string;
|
|
31
32
|
export declare function getRepositoryChoices(service: Pick<GHCrawlService, 'listRepositories'>, now?: Date): RepositoryChoice[];
|
|
32
33
|
export declare function parseOwnerRepoValue(value: string): {
|
|
33
34
|
owner: string;
|
|
34
35
|
repo: string;
|
|
35
36
|
} | null;
|
|
37
|
+
export declare function formatClusterDateColumn(value: string | null, locales?: Intl.LocalesArgument): string;
|
|
36
38
|
export {};
|
|
37
39
|
//# sourceMappingURL=app.d.ts.map
|
package/dist/tui/app.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/tui/app.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,cAAc,EACd,gBAAgB,EAEhB,YAAY,EAEZ,eAAe,
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/tui/app.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,cAAc,EACd,gBAAgB,EAEhB,YAAY,EAEZ,eAAe,EAEhB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAUL,KAAK,YAAY,EAElB,MAAM,YAAY,CAAC;AAGpB,KAAK,cAAc,GAAG;IACpB,OAAO,EAAE,cAAc,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,KAAK,gBAAgB,GACjB;IACE,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,EAAE,gBAAgB,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;CACf,GACD;IACE,IAAI,EAAE,KAAK,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAsBN,KAAK,mBAAmB,GAAG;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,wBAAgB,sBAAsB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,GAAG,SAAS,CAS/F;AAaD,wBAAsB,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAmvBpE;AAsED,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE,eAAe,GAAG,IAAI,EACpC,aAAa,EAAE,gBAAgB,GAAG,IAAI,EACtC,SAAS,EAAE,YAAY,GACtB,MAAM,CAkDR;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEvD;AAwBD,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,mBAAmB,EAC/B,KAAK,EAAE,YAAY,GAAG,IAAI,EAC1B,GAAG,GAAE,IAAiB,GACrB,MAAM,CAiCR;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,YAAY,GAAG,IAAI,EAC1B,SAAS,EAAE,mBAAmB,EAC9B,GAAG,GAAE,IAAiB,GACrB,MAAM,EAAE,CAMV;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAoCzC;AAsKD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,kBAAkB,CAAC,EAAE,GAAG,GAAE,IAAiB,GAAG,gBAAgB,EAAE,CAalI;AAoND,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAMzF;AAYD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,eAAe,GAAG,MAAM,CAmBpG"}
|
package/dist/tui/app.js
CHANGED
|
@@ -20,7 +20,7 @@ function createScreen(options) {
|
|
|
20
20
|
});
|
|
21
21
|
}
|
|
22
22
|
const ACTIVITY_LOG_LIMIT = 200;
|
|
23
|
-
const FOOTER_LOG_LINES =
|
|
23
|
+
const FOOTER_LOG_LINES = 3;
|
|
24
24
|
const UPDATE_TASK_ORDER = ['sync', 'embed', 'cluster'];
|
|
25
25
|
export async function startTui(params) {
|
|
26
26
|
const selectedRepository = params.owner && params.repo ? { owner: params.owner, repo: params.repo } : null;
|
|
@@ -29,9 +29,11 @@ export async function startTui(params) {
|
|
|
29
29
|
let focusPane = 'clusters';
|
|
30
30
|
const initialPreference = selectedRepository
|
|
31
31
|
? getTuiRepositoryPreference(params.service.config, currentRepository.owner, currentRepository.repo)
|
|
32
|
-
: { sortMode: 'recent', minClusterSize: 10 };
|
|
32
|
+
: { sortMode: 'recent', minClusterSize: 10, wideLayout: 'columns' };
|
|
33
33
|
let sortMode = initialPreference.sortMode;
|
|
34
34
|
let minSize = initialPreference.minClusterSize;
|
|
35
|
+
let wideLayout = initialPreference.wideLayout;
|
|
36
|
+
let showClosed = true;
|
|
35
37
|
let search = '';
|
|
36
38
|
let snapshot = null;
|
|
37
39
|
let clusterDetail = null;
|
|
@@ -88,6 +90,41 @@ export async function startTui(params) {
|
|
|
88
90
|
const loadSelectedThreadDetail = (includeNeighbors) => {
|
|
89
91
|
threadDetail = selectedMemberThreadId !== null ? loadThreadDetail(selectedMemberThreadId, includeNeighbors) : null;
|
|
90
92
|
};
|
|
93
|
+
const jumpToThread = (threadId, clusterId) => {
|
|
94
|
+
if (clusterId == null) {
|
|
95
|
+
status = 'Selected thread is not assigned to a cluster';
|
|
96
|
+
render();
|
|
97
|
+
return false;
|
|
98
|
+
}
|
|
99
|
+
const selectFromSnapshot = () => {
|
|
100
|
+
const cluster = snapshot?.clusters.find((item) => item.clusterId === clusterId) ?? null;
|
|
101
|
+
if (!cluster) {
|
|
102
|
+
return false;
|
|
103
|
+
}
|
|
104
|
+
selectedClusterId = cluster.clusterId;
|
|
105
|
+
clusterDetail = loadClusterDetail(cluster.clusterId);
|
|
106
|
+
memberRows = buildMemberRows(clusterDetail, { includeClosedMembers: showClosed });
|
|
107
|
+
selectedMemberThreadId = threadId;
|
|
108
|
+
memberIndex = findSelectableIndex(memberRows, selectedMemberThreadId);
|
|
109
|
+
loadSelectedThreadDetail(false);
|
|
110
|
+
resetDetailScroll();
|
|
111
|
+
status = `Cluster ${cluster.clusterId} / #${threadDetail?.thread.number ?? '?'}`;
|
|
112
|
+
render();
|
|
113
|
+
return true;
|
|
114
|
+
};
|
|
115
|
+
if (selectFromSnapshot()) {
|
|
116
|
+
return true;
|
|
117
|
+
}
|
|
118
|
+
if (minSize !== 0 || search) {
|
|
119
|
+
minSize = 0;
|
|
120
|
+
search = '';
|
|
121
|
+
refreshAll(false);
|
|
122
|
+
return selectFromSnapshot();
|
|
123
|
+
}
|
|
124
|
+
status = `Cluster ${clusterId} is not available in the current view`;
|
|
125
|
+
render();
|
|
126
|
+
return false;
|
|
127
|
+
};
|
|
91
128
|
const refreshAll = (preserveSelection) => {
|
|
92
129
|
const previousClusterId = preserveSelection ? selectedClusterId : null;
|
|
93
130
|
const previousMemberId = preserveSelection ? selectedMemberThreadId : null;
|
|
@@ -98,11 +135,12 @@ export async function startTui(params) {
|
|
|
98
135
|
minSize,
|
|
99
136
|
sort: sortMode,
|
|
100
137
|
search,
|
|
138
|
+
includeClosedClusters: showClosed,
|
|
101
139
|
});
|
|
102
140
|
selectedClusterId = preserveSelectedId(snapshot.clusters.map((cluster) => cluster.clusterId), previousClusterId);
|
|
103
141
|
if (selectedClusterId !== null) {
|
|
104
142
|
clusterDetail = loadClusterDetail(selectedClusterId);
|
|
105
|
-
memberRows = buildMemberRows(clusterDetail);
|
|
143
|
+
memberRows = buildMemberRows(clusterDetail, { includeClosedMembers: showClosed });
|
|
106
144
|
selectedMemberThreadId = preserveSelectedId(memberRows.filter((row) => row.selectable).map((row) => row.threadId), previousMemberId);
|
|
107
145
|
memberIndex = findSelectableIndex(memberRows, selectedMemberThreadId);
|
|
108
146
|
loadSelectedThreadDetail(false);
|
|
@@ -133,7 +171,7 @@ export async function startTui(params) {
|
|
|
133
171
|
const render = () => {
|
|
134
172
|
const width = widgets.screen.width;
|
|
135
173
|
const height = widgets.screen.height;
|
|
136
|
-
const layout = computeTuiLayout(width, height);
|
|
174
|
+
const layout = computeTuiLayout(width, height, wideLayout);
|
|
137
175
|
applyRect(widgets.header, layout.header);
|
|
138
176
|
applyRect(widgets.clusters, layout.clusters);
|
|
139
177
|
applyRect(widgets.members, layout.members);
|
|
@@ -149,11 +187,12 @@ export async function startTui(params) {
|
|
|
149
187
|
const clusterStatus = snapshot?.stats.latestClusterRunId != null
|
|
150
188
|
? `#${snapshot.stats.latestClusterRunId} ${formatRelativeTime(snapshot.stats.latestClusterRunFinishedAt ?? null)}`
|
|
151
189
|
: 'never';
|
|
152
|
-
widgets.header.setContent(`{bold}${repoLabel}{/bold} {cyan-fg}${snapshot?.stats.openPullRequestCount ?? 0} PR{/cyan-fg} {green-fg}${snapshot?.stats.openIssueCount ?? 0} issues{/green-fg} GH:${ghStatus} Emb:${embedStatus} Cl:${clusterStatus} sort:${sortMode} min:${minSize === 0 ? 'all' : `${minSize}+`} filter:${search || 'none'}`);
|
|
190
|
+
widgets.header.setContent(`{bold}${repoLabel}{/bold} {cyan-fg}${snapshot?.stats.openPullRequestCount ?? 0} PR{/cyan-fg} {green-fg}${snapshot?.stats.openIssueCount ?? 0} issues{/green-fg} GH:${ghStatus} Emb:${embedStatus} Cl:${clusterStatus} sort:${sortMode} min:${minSize === 0 ? 'all' : `${minSize}+`} layout:${wideLayout === 'columns' ? 'cols' : 'stack'} closed:${showClosed ? 'shown' : 'hidden'} filter:${search || 'none'}`);
|
|
153
191
|
const clusterItems = snapshot
|
|
154
192
|
? snapshot.clusters.map((cluster) => {
|
|
155
|
-
const updated = cluster.latestUpdatedAt
|
|
156
|
-
|
|
193
|
+
const updated = formatClusterDateColumn(cluster.latestUpdatedAt);
|
|
194
|
+
const label = `${String(cluster.totalCount).padStart(3, ' ')} C${String(cluster.clusterId).padStart(5, ' ')} ${String(cluster.pullRequestCount).padStart(2, ' ')}P/${String(cluster.issueCount).padStart(2, ' ')}I ${updated} ${cluster.displayTitle}`;
|
|
195
|
+
return cluster.isClosed ? `{gray-fg}${escapeBlessedText(label)}{/gray-fg}` : escapeBlessedText(label);
|
|
157
196
|
})
|
|
158
197
|
: ['Pick a repository with p'];
|
|
159
198
|
widgets.clusters.setItems(clusterItems);
|
|
@@ -173,7 +212,8 @@ export async function startTui(params) {
|
|
|
173
212
|
while (footerLines.length < FOOTER_LOG_LINES) {
|
|
174
213
|
footerLines.unshift('');
|
|
175
214
|
}
|
|
176
|
-
footerLines.push(`${status} | jobs:${activeJobs} |
|
|
215
|
+
footerLines.push(`${status} | jobs:${activeJobs} | h/? help g update p repos u author / filter s sort f min l layout x closed`);
|
|
216
|
+
footerLines.push(`Tab focus j/k move-or-scroll PgUp/PgDn scroll r refresh o open q quit`);
|
|
177
217
|
widgets.footer.setContent(footerLines.join('\n'));
|
|
178
218
|
widgets.screen.render();
|
|
179
219
|
};
|
|
@@ -266,13 +306,13 @@ export async function startTui(params) {
|
|
|
266
306
|
selectedClusterId = snapshot.clusters[nextIndex]?.clusterId ?? null;
|
|
267
307
|
if (selectedClusterId !== null) {
|
|
268
308
|
clusterDetail = loadClusterDetail(selectedClusterId);
|
|
269
|
-
memberRows = buildMemberRows(clusterDetail);
|
|
309
|
+
memberRows = buildMemberRows(clusterDetail, { includeClosedMembers: showClosed });
|
|
270
310
|
selectedMemberThreadId = preserveSelectedId(memberRows.filter((row) => row.selectable).map((row) => row.threadId), null);
|
|
271
311
|
memberIndex = findSelectableIndex(memberRows, selectedMemberThreadId);
|
|
272
312
|
loadSelectedThreadDetail(false);
|
|
273
313
|
resetDetailScroll();
|
|
274
314
|
}
|
|
275
|
-
status = `Cluster ${nextIndex + 1}/${snapshot.clusters.length}`;
|
|
315
|
+
status = selectedClusterId !== null ? `Cluster ${selectedClusterId} (${nextIndex + 1}/${snapshot.clusters.length})` : `Cluster ${nextIndex + 1}/${snapshot.clusters.length}`;
|
|
276
316
|
render();
|
|
277
317
|
return;
|
|
278
318
|
}
|
|
@@ -325,6 +365,50 @@ export async function startTui(params) {
|
|
|
325
365
|
status = `Opened ${url}`;
|
|
326
366
|
render();
|
|
327
367
|
};
|
|
368
|
+
const promptAuthorThreads = () => {
|
|
369
|
+
if (modalOpen)
|
|
370
|
+
return;
|
|
371
|
+
const authorLogin = threadDetail?.thread.authorLogin?.trim() ?? '';
|
|
372
|
+
if (!authorLogin) {
|
|
373
|
+
status = 'Selected thread has no author login';
|
|
374
|
+
render();
|
|
375
|
+
return;
|
|
376
|
+
}
|
|
377
|
+
void (async () => {
|
|
378
|
+
modalOpen = true;
|
|
379
|
+
try {
|
|
380
|
+
const response = params.service.listAuthorThreads({
|
|
381
|
+
owner: currentRepository.owner,
|
|
382
|
+
repo: currentRepository.repo,
|
|
383
|
+
login: authorLogin,
|
|
384
|
+
});
|
|
385
|
+
const choice = await promptAuthorThreadChoice(widgets.screen, response.authorLogin, response.threads);
|
|
386
|
+
if (!choice) {
|
|
387
|
+
render();
|
|
388
|
+
return;
|
|
389
|
+
}
|
|
390
|
+
jumpToThread(choice.threadId, choice.clusterId);
|
|
391
|
+
updateFocus('members');
|
|
392
|
+
}
|
|
393
|
+
finally {
|
|
394
|
+
modalOpen = false;
|
|
395
|
+
}
|
|
396
|
+
})();
|
|
397
|
+
};
|
|
398
|
+
const openHelp = () => {
|
|
399
|
+
if (modalOpen)
|
|
400
|
+
return;
|
|
401
|
+
void (async () => {
|
|
402
|
+
modalOpen = true;
|
|
403
|
+
try {
|
|
404
|
+
await promptHelp(widgets.screen);
|
|
405
|
+
render();
|
|
406
|
+
}
|
|
407
|
+
finally {
|
|
408
|
+
modalOpen = false;
|
|
409
|
+
}
|
|
410
|
+
})();
|
|
411
|
+
};
|
|
328
412
|
const promptUpdatePipeline = () => {
|
|
329
413
|
if (modalOpen || hasActiveJobs()) {
|
|
330
414
|
if (hasActiveJobs()) {
|
|
@@ -379,6 +463,7 @@ export async function startTui(params) {
|
|
|
379
463
|
repo: currentRepository.repo,
|
|
380
464
|
minClusterSize: minSize,
|
|
381
465
|
sortMode,
|
|
466
|
+
wideLayout,
|
|
382
467
|
});
|
|
383
468
|
};
|
|
384
469
|
const switchRepository = (target, overrides) => {
|
|
@@ -386,6 +471,7 @@ export async function startTui(params) {
|
|
|
386
471
|
const preference = getTuiRepositoryPreference(params.service.config, target.owner, target.repo);
|
|
387
472
|
minSize = overrides?.minClusterSize ?? preference.minClusterSize;
|
|
388
473
|
sortMode = overrides?.sortMode ?? preference.sortMode;
|
|
474
|
+
wideLayout = preference.wideLayout;
|
|
389
475
|
persistRepositoryPreference();
|
|
390
476
|
clearCaches();
|
|
391
477
|
search = '';
|
|
@@ -496,7 +582,12 @@ export async function startTui(params) {
|
|
|
496
582
|
modalOpen = false;
|
|
497
583
|
}
|
|
498
584
|
};
|
|
499
|
-
widgets.screen.key(['q'
|
|
585
|
+
widgets.screen.key(['q'], () => {
|
|
586
|
+
if (modalOpen)
|
|
587
|
+
return;
|
|
588
|
+
widgets.screen.destroy();
|
|
589
|
+
});
|
|
590
|
+
widgets.screen.key(['C-c'], () => {
|
|
500
591
|
widgets.screen.destroy();
|
|
501
592
|
});
|
|
502
593
|
widgets.screen.key(['tab'], () => {
|
|
@@ -582,11 +673,31 @@ export async function startTui(params) {
|
|
|
582
673
|
status = `Min size: ${minSize === 0 ? 'all' : `${minSize}+`}`;
|
|
583
674
|
refreshAll(false);
|
|
584
675
|
});
|
|
676
|
+
widgets.screen.key(['l'], () => {
|
|
677
|
+
if (modalOpen)
|
|
678
|
+
return;
|
|
679
|
+
wideLayout = wideLayout === 'columns' ? 'right-stack' : 'columns';
|
|
680
|
+
persistRepositoryPreference();
|
|
681
|
+
status = `Layout: ${wideLayout === 'columns' ? 'three columns' : 'wide left + stacked right'}`;
|
|
682
|
+
render();
|
|
683
|
+
});
|
|
684
|
+
widgets.screen.key(['x'], () => {
|
|
685
|
+
if (modalOpen)
|
|
686
|
+
return;
|
|
687
|
+
showClosed = !showClosed;
|
|
688
|
+
status = showClosed ? 'Showing closed clusters and members' : 'Hiding closed clusters and members';
|
|
689
|
+
refreshAll(true);
|
|
690
|
+
});
|
|
585
691
|
widgets.screen.key(['/'], () => {
|
|
586
692
|
if (modalOpen)
|
|
587
693
|
return;
|
|
588
694
|
promptFilter();
|
|
589
695
|
});
|
|
696
|
+
widgets.screen.key(['h', '?'], () => {
|
|
697
|
+
if (modalOpen)
|
|
698
|
+
return;
|
|
699
|
+
openHelp();
|
|
700
|
+
});
|
|
590
701
|
widgets.screen.key(['p'], () => browseRepositories());
|
|
591
702
|
widgets.screen.key(['g'], () => {
|
|
592
703
|
if (modalOpen)
|
|
@@ -604,6 +715,11 @@ export async function startTui(params) {
|
|
|
604
715
|
return;
|
|
605
716
|
openSelectedThread();
|
|
606
717
|
});
|
|
718
|
+
widgets.screen.key(['u'], () => {
|
|
719
|
+
if (modalOpen)
|
|
720
|
+
return;
|
|
721
|
+
promptAuthorThreads();
|
|
722
|
+
});
|
|
607
723
|
widgets.screen.on('resize', () => render());
|
|
608
724
|
widgets.screen.on('destroy', () => {
|
|
609
725
|
widgets.screen.program.showCursor();
|
|
@@ -642,7 +758,7 @@ function createWidgets(owner, repo) {
|
|
|
642
758
|
parent: screen,
|
|
643
759
|
border: 'line',
|
|
644
760
|
label: ' Clusters ',
|
|
645
|
-
tags:
|
|
761
|
+
tags: true,
|
|
646
762
|
keys: false,
|
|
647
763
|
style: {
|
|
648
764
|
border: { fg: '#5bc0eb' },
|
|
@@ -655,7 +771,7 @@ function createWidgets(owner, repo) {
|
|
|
655
771
|
parent: screen,
|
|
656
772
|
border: 'line',
|
|
657
773
|
label: ' Members ',
|
|
658
|
-
tags:
|
|
774
|
+
tags: true,
|
|
659
775
|
keys: false,
|
|
660
776
|
style: {
|
|
661
777
|
border: { fg: '#9bc53d' },
|
|
@@ -695,10 +811,19 @@ export function renderDetailPane(threadDetail, clusterDetail, focusPane) {
|
|
|
695
811
|
return 'No cluster selected.\n\nRun `ghcrawl cluster owner/repo` if you have not clustered this repository yet.';
|
|
696
812
|
}
|
|
697
813
|
if (!threadDetail) {
|
|
698
|
-
|
|
814
|
+
const representativeLabel = clusterDetail.representativeNumber !== null && clusterDetail.representativeKind !== null
|
|
815
|
+
? ` (#${clusterDetail.representativeNumber} representative ${clusterDetail.representativeKind === 'pull_request' ? 'pr' : 'issue'})`
|
|
816
|
+
: '';
|
|
817
|
+
return `{bold}Cluster ${clusterDetail.clusterId}${escapeBlessedText(representativeLabel)}{/bold}\n${escapeBlessedText(clusterDetail.displayTitle)}\n\nSelect a member to inspect thread details.`;
|
|
699
818
|
}
|
|
700
819
|
const thread = threadDetail.thread;
|
|
820
|
+
const representativeLabel = clusterDetail.representativeNumber !== null && clusterDetail.representativeKind !== null
|
|
821
|
+
? ` (#${clusterDetail.representativeNumber} representative ${clusterDetail.representativeKind === 'pull_request' ? 'pr' : 'issue'})`
|
|
822
|
+
: '';
|
|
701
823
|
const labels = thread.labels.length > 0 ? escapeBlessedText(thread.labels.join(', ')) : 'none';
|
|
824
|
+
const closedLabel = thread.isClosed
|
|
825
|
+
? `{bold}Closed:{/bold} ${escapeBlessedText(thread.closedAtLocal ?? thread.closedAtGh ?? 'yes')} ${thread.closeReasonLocal ? `(${escapeBlessedText(thread.closeReasonLocal)})` : ''}`.trimEnd()
|
|
826
|
+
: '{bold}Closed:{/bold} no';
|
|
702
827
|
const summaries = Object.entries(threadDetail.summaries)
|
|
703
828
|
.map(([key, value]) => `{bold}${key}:{/bold}\n${escapeBlessedText(value)}`)
|
|
704
829
|
.join('\n\n');
|
|
@@ -710,9 +835,12 @@ export function renderDetailPane(threadDetail, clusterDetail, focusPane) {
|
|
|
710
835
|
? 'No neighbors available.'
|
|
711
836
|
: 'Neighbors load when the detail pane is focused.';
|
|
712
837
|
return [
|
|
838
|
+
`{bold}Cluster ${clusterDetail.clusterId}${escapeBlessedText(representativeLabel)}{/bold}`,
|
|
839
|
+
'',
|
|
713
840
|
`{bold}${thread.kind} #${thread.number}{/bold} ${escapeBlessedText(thread.title)}`,
|
|
714
841
|
'',
|
|
715
842
|
`{bold}Author:{/bold} ${escapeBlessedText(thread.authorLogin ?? 'unknown')}`,
|
|
843
|
+
closedLabel,
|
|
716
844
|
`{bold}Updated:{/bold} ${thread.updatedAtGh ?? 'unknown'}`,
|
|
717
845
|
`{bold}Labels:{/bold} ${labels}`,
|
|
718
846
|
`{bold}URL:{/bold} ${escapeBlessedText(thread.htmlUrl)}`,
|
|
@@ -789,6 +917,123 @@ export function buildUpdatePipelineLabels(stats, selection, now = new Date()) {
|
|
|
789
917
|
return `${mark} ${title} ${describeUpdateTask(task, stats, now)}`;
|
|
790
918
|
});
|
|
791
919
|
}
|
|
920
|
+
export function buildHelpContent() {
|
|
921
|
+
return [
|
|
922
|
+
'{bold}ghcrawl TUI Help{/bold}',
|
|
923
|
+
'',
|
|
924
|
+
'{bold}Navigation{/bold}',
|
|
925
|
+
'Tab / Shift-Tab cycle focus across clusters, members, and detail',
|
|
926
|
+
'j / k move selection, or scroll detail when detail is focused',
|
|
927
|
+
'Up / Down same as j / k',
|
|
928
|
+
'Enter clusters -> members, members -> detail',
|
|
929
|
+
'PgUp / PgDn scroll detail or this help popup faster',
|
|
930
|
+
'Home / End jump to the top or bottom of detail or help',
|
|
931
|
+
'',
|
|
932
|
+
'{bold}Views And Filters{/bold}',
|
|
933
|
+
's cycle cluster sort mode',
|
|
934
|
+
'f cycle minimum cluster size filter',
|
|
935
|
+
'l toggle wide layout: columns vs. wide-left stacked-right',
|
|
936
|
+
'x show or hide locally closed clusters and members',
|
|
937
|
+
'/ filter clusters by title/member text',
|
|
938
|
+
'r refresh the current local view from SQLite',
|
|
939
|
+
'',
|
|
940
|
+
'{bold}Actions{/bold}',
|
|
941
|
+
'g open the staged update pipeline (GitHub, embeddings, clusters)',
|
|
942
|
+
'p open the repository browser / sync a new repository',
|
|
943
|
+
'u show all open threads for the selected author',
|
|
944
|
+
'o open the selected thread URL in your browser',
|
|
945
|
+
'',
|
|
946
|
+
'{bold}Help And Exit{/bold}',
|
|
947
|
+
'h or ? open this help popup',
|
|
948
|
+
'q quit the TUI (or close this popup)',
|
|
949
|
+
'Esc close this popup',
|
|
950
|
+
'',
|
|
951
|
+
'{bold}Notes{/bold}',
|
|
952
|
+
'Clusters show C<clusterId> so the cluster id is easy to copy into CLI or skill flows.',
|
|
953
|
+
'The footer only shows the short command list. Open help to see the full list.',
|
|
954
|
+
'This popup scrolls. Use j/k, arrows, PgUp/PgDn, Home, and End if it does not fit.',
|
|
955
|
+
].join('\n');
|
|
956
|
+
}
|
|
957
|
+
async function promptHelp(screen) {
|
|
958
|
+
const modalWidth = '86%';
|
|
959
|
+
const box = blessed.box({
|
|
960
|
+
parent: screen,
|
|
961
|
+
border: 'line',
|
|
962
|
+
label: ' Help ',
|
|
963
|
+
tags: true,
|
|
964
|
+
scrollable: true,
|
|
965
|
+
alwaysScroll: true,
|
|
966
|
+
keys: true,
|
|
967
|
+
vi: true,
|
|
968
|
+
mouse: false,
|
|
969
|
+
top: 'center',
|
|
970
|
+
left: 'center',
|
|
971
|
+
width: modalWidth,
|
|
972
|
+
height: '80%',
|
|
973
|
+
padding: {
|
|
974
|
+
left: 1,
|
|
975
|
+
right: 1,
|
|
976
|
+
},
|
|
977
|
+
scrollbar: {
|
|
978
|
+
ch: ' ',
|
|
979
|
+
},
|
|
980
|
+
style: {
|
|
981
|
+
border: { fg: '#5bc0eb' },
|
|
982
|
+
fg: 'white',
|
|
983
|
+
bg: '#101522',
|
|
984
|
+
scrollbar: { bg: '#5bc0eb' },
|
|
985
|
+
},
|
|
986
|
+
content: buildHelpContent(),
|
|
987
|
+
});
|
|
988
|
+
const help = blessed.box({
|
|
989
|
+
parent: screen,
|
|
990
|
+
width: modalWidth,
|
|
991
|
+
height: 1,
|
|
992
|
+
bottom: 1,
|
|
993
|
+
left: 'center',
|
|
994
|
+
tags: false,
|
|
995
|
+
content: 'Scroll with j/k, arrows, PgUp/PgDn, Home, End. Press Esc, q, h, ?, or Enter to close.',
|
|
996
|
+
style: { fg: 'black', bg: '#5bc0eb' },
|
|
997
|
+
});
|
|
998
|
+
box.focus();
|
|
999
|
+
box.setScroll(0);
|
|
1000
|
+
screen.render();
|
|
1001
|
+
return await new Promise((resolve) => {
|
|
1002
|
+
const finish = () => {
|
|
1003
|
+
screen.off('keypress', handleKeypress);
|
|
1004
|
+
box.destroy();
|
|
1005
|
+
help.destroy();
|
|
1006
|
+
screen.render();
|
|
1007
|
+
resolve();
|
|
1008
|
+
};
|
|
1009
|
+
const handleKeypress = (char, key) => {
|
|
1010
|
+
if (key.name === 'escape' || key.name === 'enter' || key.name === 'q' || key.name === 'h' || char === '?') {
|
|
1011
|
+
finish();
|
|
1012
|
+
return;
|
|
1013
|
+
}
|
|
1014
|
+
if (key.name === 'pageup') {
|
|
1015
|
+
box.scroll(-12);
|
|
1016
|
+
screen.render();
|
|
1017
|
+
return;
|
|
1018
|
+
}
|
|
1019
|
+
if (key.name === 'pagedown') {
|
|
1020
|
+
box.scroll(12);
|
|
1021
|
+
screen.render();
|
|
1022
|
+
return;
|
|
1023
|
+
}
|
|
1024
|
+
if (key.name === 'home') {
|
|
1025
|
+
box.setScroll(0);
|
|
1026
|
+
screen.render();
|
|
1027
|
+
return;
|
|
1028
|
+
}
|
|
1029
|
+
if (key.name === 'end') {
|
|
1030
|
+
box.setScrollPerc(100);
|
|
1031
|
+
screen.render();
|
|
1032
|
+
}
|
|
1033
|
+
};
|
|
1034
|
+
screen.on('keypress', handleKeypress);
|
|
1035
|
+
});
|
|
1036
|
+
}
|
|
792
1037
|
async function promptUpdatePipelineSelection(screen, stats) {
|
|
793
1038
|
const selection = { sync: true, embed: true, cluster: true };
|
|
794
1039
|
const modalWidth = '76%';
|
|
@@ -842,7 +1087,7 @@ async function promptUpdatePipelineSelection(screen, stats) {
|
|
|
842
1087
|
resolve(value);
|
|
843
1088
|
};
|
|
844
1089
|
const handleKeypress = (_char, key) => {
|
|
845
|
-
if (key.name === 'escape') {
|
|
1090
|
+
if (key.name === 'escape' || key.name === 'q') {
|
|
846
1091
|
finish(null);
|
|
847
1092
|
return;
|
|
848
1093
|
}
|
|
@@ -875,6 +1120,67 @@ export function getRepositoryChoices(service, now = new Date()) {
|
|
|
875
1120
|
{ kind: 'new', label: '+ Sync a new repository' },
|
|
876
1121
|
];
|
|
877
1122
|
}
|
|
1123
|
+
async function promptAuthorThreadChoice(screen, authorLogin, threads) {
|
|
1124
|
+
const choices = threads.map((item) => {
|
|
1125
|
+
const match = item.strongestSameAuthorMatch;
|
|
1126
|
+
const matchLabel = match ? ` sim:${(match.score * 100).toFixed(1)}% -> #${match.number}` : ' sim:none';
|
|
1127
|
+
const clusterLabel = item.thread.clusterId ? `C${item.thread.clusterId}` : 'C-';
|
|
1128
|
+
return {
|
|
1129
|
+
threadId: item.thread.id,
|
|
1130
|
+
clusterId: item.thread.clusterId,
|
|
1131
|
+
label: `#${item.thread.number} ${item.thread.kind === 'pull_request' ? 'pr' : 'issue'} ${clusterLabel}${matchLabel} ${item.thread.title}`,
|
|
1132
|
+
};
|
|
1133
|
+
});
|
|
1134
|
+
const box = blessed.list({
|
|
1135
|
+
parent: screen,
|
|
1136
|
+
border: 'line',
|
|
1137
|
+
label: ` @${authorLogin} Threads `,
|
|
1138
|
+
keys: true,
|
|
1139
|
+
vi: true,
|
|
1140
|
+
mouse: false,
|
|
1141
|
+
top: 'center',
|
|
1142
|
+
left: 'center',
|
|
1143
|
+
width: '80%',
|
|
1144
|
+
height: '70%',
|
|
1145
|
+
style: {
|
|
1146
|
+
border: { fg: '#fde74c' },
|
|
1147
|
+
item: { fg: 'white' },
|
|
1148
|
+
selected: { bg: '#fde74c', fg: 'black', bold: true },
|
|
1149
|
+
},
|
|
1150
|
+
items: choices.length > 0 ? choices.map((choice) => choice.label) : ['No open threads for this author'],
|
|
1151
|
+
});
|
|
1152
|
+
const help = blessed.box({
|
|
1153
|
+
parent: screen,
|
|
1154
|
+
bottom: 0,
|
|
1155
|
+
left: 0,
|
|
1156
|
+
width: '100%',
|
|
1157
|
+
height: 1,
|
|
1158
|
+
content: 'Enter jumps to the selected thread. Esc cancels.',
|
|
1159
|
+
style: { fg: 'black', bg: '#fde74c' },
|
|
1160
|
+
});
|
|
1161
|
+
box.focus();
|
|
1162
|
+
box.select(0);
|
|
1163
|
+
screen.render();
|
|
1164
|
+
return await new Promise((resolve) => {
|
|
1165
|
+
const teardown = () => {
|
|
1166
|
+
screen.off('keypress', handleKeypress);
|
|
1167
|
+
box.destroy();
|
|
1168
|
+
help.destroy();
|
|
1169
|
+
screen.render();
|
|
1170
|
+
};
|
|
1171
|
+
const finish = (value) => {
|
|
1172
|
+
teardown();
|
|
1173
|
+
resolve(value);
|
|
1174
|
+
};
|
|
1175
|
+
const handleKeypress = (_char, key) => {
|
|
1176
|
+
if (key.name === 'escape' || key.name === 'q') {
|
|
1177
|
+
finish(null);
|
|
1178
|
+
}
|
|
1179
|
+
};
|
|
1180
|
+
screen.on('keypress', handleKeypress);
|
|
1181
|
+
box.on('select', (_item, index) => finish(choices[index] ?? null));
|
|
1182
|
+
});
|
|
1183
|
+
}
|
|
878
1184
|
async function promptRepositoryChoice(screen, service) {
|
|
879
1185
|
const choices = getRepositoryChoices(service);
|
|
880
1186
|
const box = blessed.list({
|
|
@@ -919,7 +1225,7 @@ async function promptRepositoryChoice(screen, service) {
|
|
|
919
1225
|
resolve(value);
|
|
920
1226
|
};
|
|
921
1227
|
const handleKeypress = (_char, key) => {
|
|
922
|
-
if (key.name === 'escape') {
|
|
1228
|
+
if (key.name === 'escape' || key.name === 'q') {
|
|
923
1229
|
finish(null);
|
|
924
1230
|
return;
|
|
925
1231
|
}
|
|
@@ -989,6 +1295,7 @@ async function runColdStartSetup(service, screen, target, log, footer) {
|
|
|
989
1295
|
repo: target.repo,
|
|
990
1296
|
minClusterSize: 1,
|
|
991
1297
|
sortMode: 'recent',
|
|
1298
|
+
wideLayout: 'columns',
|
|
992
1299
|
});
|
|
993
1300
|
log?.log('[setup] initial setup complete');
|
|
994
1301
|
return true;
|
|
@@ -1014,6 +1321,26 @@ function parseDateOrNull(value) {
|
|
|
1014
1321
|
const parsed = Date.parse(value);
|
|
1015
1322
|
return Number.isNaN(parsed) ? null : parsed;
|
|
1016
1323
|
}
|
|
1324
|
+
export function formatClusterDateColumn(value, locales) {
|
|
1325
|
+
if (!value)
|
|
1326
|
+
return 'unknown';
|
|
1327
|
+
const parsed = new Date(value);
|
|
1328
|
+
if (Number.isNaN(parsed.getTime()))
|
|
1329
|
+
return value;
|
|
1330
|
+
const month = String(parsed.getMonth() + 1).padStart(2, '0');
|
|
1331
|
+
const day = String(parsed.getDate()).padStart(2, '0');
|
|
1332
|
+
const hour = String(parsed.getHours()).padStart(2, '0');
|
|
1333
|
+
const minute = String(parsed.getMinutes()).padStart(2, '0');
|
|
1334
|
+
const ordering = new Intl.DateTimeFormat(locales, {
|
|
1335
|
+
month: '2-digit',
|
|
1336
|
+
day: '2-digit',
|
|
1337
|
+
})
|
|
1338
|
+
.formatToParts(parsed)
|
|
1339
|
+
.filter((part) => part.type === 'month' || part.type === 'day')
|
|
1340
|
+
.map((part) => part.type);
|
|
1341
|
+
const date = ordering[0] === 'day' ? `${day}-${month}` : `${month}-${day}`;
|
|
1342
|
+
return `${date} ${hour}:${minute}`;
|
|
1343
|
+
}
|
|
1017
1344
|
function formatAge(diffMs) {
|
|
1018
1345
|
const safeDiffMs = Math.max(0, diffMs);
|
|
1019
1346
|
const minuteMs = 60_000;
|
package/dist/tui/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/tui/app.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/tui/app.ts"],"names":[],"mappings":"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"}
|
package/dist/tui/layout.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
export type
|
|
1
|
+
export type TuiWideLayoutMode = 'columns' | 'right-stack';
|
|
2
|
+
export type TuiLayoutMode = 'wide-columns' | 'wide-right-stack' | 'stacked';
|
|
2
3
|
export type TuiPaneRect = {
|
|
3
4
|
top: number;
|
|
4
5
|
left: number;
|
|
@@ -13,5 +14,5 @@ export type TuiLayout = {
|
|
|
13
14
|
detail: TuiPaneRect;
|
|
14
15
|
footer: TuiPaneRect;
|
|
15
16
|
};
|
|
16
|
-
export declare function computeTuiLayout(width: number, height: number): TuiLayout;
|
|
17
|
+
export declare function computeTuiLayout(width: number, height: number, wideMode?: TuiWideLayoutMode): TuiLayout;
|
|
17
18
|
//# sourceMappingURL=layout.d.ts.map
|
package/dist/tui/layout.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/tui/layout.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/tui/layout.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,aAAa,CAAC;AAC1D,MAAM,MAAM,aAAa,GAAG,cAAc,GAAG,kBAAkB,GAAG,SAAS,CAAC;AAE5E,MAAM,MAAM,WAAW,GAAG;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,aAAa,CAAC;IACpB,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,EAAE,WAAW,CAAC;IACtB,OAAO,EAAE,WAAW,CAAC;IACrB,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,WAAW,CAAC;CACrB,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAE,iBAA6B,GAAG,SAAS,CAgDlH"}
|
package/dist/tui/layout.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export function computeTuiLayout(width, height) {
|
|
1
|
+
export function computeTuiLayout(width, height, wideMode = 'columns') {
|
|
2
2
|
const safeWidth = Math.max(60, width);
|
|
3
3
|
const safeHeight = Math.max(16, height);
|
|
4
4
|
const footerHeight = 5;
|
|
@@ -7,11 +7,25 @@ export function computeTuiLayout(width, height) {
|
|
|
7
7
|
const header = { top: 0, left: 0, width: safeWidth, height: 1 };
|
|
8
8
|
const footer = { top: safeHeight - footerHeight, left: 0, width: safeWidth, height: footerHeight };
|
|
9
9
|
if (safeWidth >= 140) {
|
|
10
|
+
if (wideMode === 'right-stack') {
|
|
11
|
+
const leftWidth = Math.floor(safeWidth * 0.44);
|
|
12
|
+
const rightWidth = safeWidth - leftWidth;
|
|
13
|
+
const membersHeight = Math.max(6, Math.floor(contentHeight * 0.42));
|
|
14
|
+
const detailHeight = Math.max(6, contentHeight - membersHeight);
|
|
15
|
+
return {
|
|
16
|
+
mode: 'wide-right-stack',
|
|
17
|
+
header,
|
|
18
|
+
clusters: { top: contentTop, left: 0, width: leftWidth, height: contentHeight },
|
|
19
|
+
members: { top: contentTop, left: leftWidth, width: rightWidth, height: membersHeight },
|
|
20
|
+
detail: { top: contentTop + membersHeight, left: leftWidth, width: rightWidth, height: detailHeight },
|
|
21
|
+
footer,
|
|
22
|
+
};
|
|
23
|
+
}
|
|
10
24
|
const leftWidth = Math.floor(safeWidth * 0.34);
|
|
11
25
|
const middleWidth = Math.floor(safeWidth * 0.30);
|
|
12
26
|
const rightWidth = safeWidth - leftWidth - middleWidth;
|
|
13
27
|
return {
|
|
14
|
-
mode: 'wide',
|
|
28
|
+
mode: 'wide-columns',
|
|
15
29
|
header,
|
|
16
30
|
clusters: { top: contentTop, left: 0, width: leftWidth, height: contentHeight },
|
|
17
31
|
members: { top: contentTop, left: leftWidth, width: middleWidth, height: contentHeight },
|
package/dist/tui/layout.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout.js","sourceRoot":"","sources":["../../src/tui/layout.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"layout.js","sourceRoot":"","sources":["../../src/tui/layout.ts"],"names":[],"mappings":"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"}
|
package/dist/tui/state.d.ts
CHANGED
|
@@ -23,7 +23,9 @@ export declare function applyClusterFilters(clusters: TuiClusterSummary[], param
|
|
|
23
23
|
search: string;
|
|
24
24
|
}): TuiClusterSummary[];
|
|
25
25
|
export declare function preserveSelectedId(ids: number[], selectedId: number | null): number | null;
|
|
26
|
-
export declare function buildMemberRows(detail: TuiClusterDetail | null
|
|
26
|
+
export declare function buildMemberRows(detail: TuiClusterDetail | null, options?: {
|
|
27
|
+
includeClosedMembers?: boolean;
|
|
28
|
+
}): MemberListRow[];
|
|
27
29
|
export declare function findSelectableIndex(rows: MemberListRow[], threadId: number | null): number;
|
|
28
30
|
export declare function moveSelectableIndex(rows: MemberListRow[], currentIndex: number, delta: -1 | 1): number;
|
|
29
31
|
export declare function selectedThreadIdFromRow(rows: MemberListRow[], index: number): number | null;
|
package/dist/tui/state.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/tui/state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEjG,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;AAC7D,MAAM,MAAM,gBAAgB,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAEpD,MAAM,MAAM,aAAa,GACrB;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,KAAK,CAAA;CAAE,GACjD;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvE,eAAO,MAAM,eAAe,EAAE,kBAAkB,EAAuB,CAAC;AACxE,eAAO,MAAM,qBAAqB,EAAE,gBAAgB,EAAuB,CAAC;AAC5E,eAAO,MAAM,gBAAgB,EAAE,YAAY,EAAsC,CAAC;AAElF,wBAAgB,aAAa,CAAC,OAAO,EAAE,kBAAkB,GAAG,kBAAkB,CAG7E;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,gBAAgB,GAAG,gBAAgB,CAG9E;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,SAAS,GAAE,CAAC,GAAG,CAAC,CAAK,GAAG,YAAY,CAIzF;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,MAAM,EAAE;IAAE,QAAQ,EAAE,kBAAkB,CAAC;IAAC,OAAO,EAAE,gBAAgB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAClF,iBAAiB,EAAE,CAOrB;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAK1F;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI,GAAG,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/tui/state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEjG,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;AAC7D,MAAM,MAAM,gBAAgB,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAEpD,MAAM,MAAM,aAAa,GACrB;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,KAAK,CAAA;CAAE,GACjD;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvE,eAAO,MAAM,eAAe,EAAE,kBAAkB,EAAuB,CAAC;AACxE,eAAO,MAAM,qBAAqB,EAAE,gBAAgB,EAAuB,CAAC;AAC5E,eAAO,MAAM,gBAAgB,EAAE,YAAY,EAAsC,CAAC;AAElF,wBAAgB,aAAa,CAAC,OAAO,EAAE,kBAAkB,GAAG,kBAAkB,CAG7E;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,gBAAgB,GAAG,gBAAgB,CAG9E;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,SAAS,GAAE,CAAC,GAAG,CAAC,CAAK,GAAG,YAAY,CAIzF;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,MAAM,EAAE;IAAE,QAAQ,EAAE,kBAAkB,CAAC;IAAC,OAAO,EAAE,gBAAgB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAClF,iBAAiB,EAAE,CAOrB;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAK1F;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI,EAAE,OAAO,CAAC,EAAE;IAAE,oBAAoB,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,aAAa,EAAE,CAiC9H;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAM1F;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAYtG;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAG3F"}
|
package/dist/tui/state.js
CHANGED
|
@@ -28,18 +28,20 @@ export function preserveSelectedId(ids, selectedId) {
|
|
|
28
28
|
}
|
|
29
29
|
return ids[0] ?? null;
|
|
30
30
|
}
|
|
31
|
-
export function buildMemberRows(detail) {
|
|
31
|
+
export function buildMemberRows(detail, options) {
|
|
32
32
|
if (!detail)
|
|
33
33
|
return [];
|
|
34
|
-
const
|
|
35
|
-
const
|
|
34
|
+
const includeClosedMembers = options?.includeClosedMembers ?? true;
|
|
35
|
+
const visibleMembers = includeClosedMembers ? detail.members : detail.members.filter((member) => !member.isClosed);
|
|
36
|
+
const issues = visibleMembers.filter((member) => member.kind === 'issue');
|
|
37
|
+
const pullRequests = visibleMembers.filter((member) => member.kind === 'pull_request');
|
|
36
38
|
const rows = [];
|
|
37
39
|
if (issues.length > 0) {
|
|
38
40
|
rows.push({ key: 'issues-header', label: `ISSUES (${issues.length})`, selectable: false });
|
|
39
41
|
for (const issue of issues) {
|
|
40
42
|
rows.push({
|
|
41
43
|
key: `thread-${issue.id}`,
|
|
42
|
-
label: formatMemberLabel(issue.number, issue.title, issue.updatedAtGh),
|
|
44
|
+
label: formatMemberLabel(issue.number, issue.title, issue.updatedAtGh, issue.isClosed),
|
|
43
45
|
selectable: true,
|
|
44
46
|
threadId: issue.id,
|
|
45
47
|
});
|
|
@@ -50,7 +52,7 @@ export function buildMemberRows(detail) {
|
|
|
50
52
|
for (const pullRequest of pullRequests) {
|
|
51
53
|
rows.push({
|
|
52
54
|
key: `thread-${pullRequest.id}`,
|
|
53
|
-
label: formatMemberLabel(pullRequest.number, pullRequest.title, pullRequest.updatedAtGh),
|
|
55
|
+
label: formatMemberLabel(pullRequest.number, pullRequest.title, pullRequest.updatedAtGh, pullRequest.isClosed),
|
|
54
56
|
selectable: true,
|
|
55
57
|
threadId: pullRequest.id,
|
|
56
58
|
});
|
|
@@ -94,8 +96,12 @@ function compareClusters(left, right, sortMode) {
|
|
|
94
96
|
}
|
|
95
97
|
return rightTime - leftTime || right.totalCount - left.totalCount || left.clusterId - right.clusterId;
|
|
96
98
|
}
|
|
97
|
-
function formatMemberLabel(number, title, updatedAtGh) {
|
|
99
|
+
function formatMemberLabel(number, title, updatedAtGh, isClosed) {
|
|
98
100
|
const updated = updatedAtGh ? updatedAtGh.slice(5, 16).replace('T', ' ') : 'unknown';
|
|
99
|
-
|
|
101
|
+
const label = escapeBlessedInline(`#${number} ${updated} ${title}`);
|
|
102
|
+
return isClosed ? `{gray-fg}${label}{/gray-fg}` : label;
|
|
103
|
+
}
|
|
104
|
+
function escapeBlessedInline(value) {
|
|
105
|
+
return value.replace(/\\/g, '\\\\').replace(/\{/g, '\\{').replace(/\}/g, '\\}');
|
|
100
106
|
}
|
|
101
107
|
//# sourceMappingURL=state.js.map
|
package/dist/tui/state.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/tui/state.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,MAAM,eAAe,GAAyB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AACxE,MAAM,CAAC,MAAM,qBAAqB,GAAuB,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;AAC5E,MAAM,CAAC,MAAM,gBAAgB,GAAmB,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;AAElF,MAAM,UAAU,aAAa,CAAC,OAA2B;IACvD,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/C,OAAO,eAAe,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,eAAe,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAAyB;IAC1D,MAAM,KAAK,GAAG,qBAAqB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACrD,OAAO,qBAAqB,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,qBAAqB,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;AACjF,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAAqB,EAAE,YAAoB,CAAC;IACzE,MAAM,KAAK,GAAG,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,CAAC,KAAK,GAAG,SAAS,GAAG,gBAAgB,CAAC,MAAM,CAAC,GAAG,gBAAgB,CAAC,MAAM,CAAC;IACrF,OAAO,gBAAgB,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,QAA6B,EAC7B,MAAmF;IAEnF,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC5D,OAAO,QAAQ;SACZ,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,IAAI,MAAM,CAAC,OAAO,CAAC;SACzD,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SAC9F,KAAK,EAAE;SACP,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,GAAa,EAAE,UAAyB;IACzE,IAAI,UAAU,KAAK,IAAI,IAAI,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACpD,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAA+B;
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/tui/state.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ghcrawl",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "ghcrawl terminal UI and CLI runtime",
|
|
6
6
|
"author": "PwrDrvr LLC <harold@pwrdrvr.com>",
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"@types/blessed": "^0.1.27",
|
|
41
41
|
"neo-blessed": "^0.2.0",
|
|
42
42
|
"tsx": "^4.20.5",
|
|
43
|
-
"@ghcrawl/api-core": "0.
|
|
43
|
+
"@ghcrawl/api-core": "0.4.0"
|
|
44
44
|
},
|
|
45
45
|
"scripts": {
|
|
46
46
|
"build": "tsc -p tsconfig.build.json",
|