ghcrawl 0.2.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 CHANGED
@@ -1,14 +1,36 @@
1
+ <!-- This file is generated from the repository root README.md. Edit README.md and rerun scripts/sync-package-readmes.mjs. -->
2
+
1
3
  # ghcrawl
2
4
 
3
- `ghcrawl` is a local-first terminal UI and CLI for crawling GitHub issues and pull requests, generating embeddings, and clustering related work.
5
+ [![CI](https://github.com/pwrdrvr/ghcrawl/actions/workflows/ci.yml/badge.svg)](https://github.com/pwrdrvr/ghcrawl/actions/workflows/ci.yml)
6
+ [![npm version](https://img.shields.io/npm/v/ghcrawl)](https://www.npmjs.com/package/ghcrawl)
7
+ [![npm downloads](https://img.shields.io/npm/dm/ghcrawl)](https://www.npmjs.com/package/ghcrawl)
8
+ [![License: MIT](https://img.shields.io/badge/license-MIT-green.svg)](https://github.com/pwrdrvr/ghcrawl/blob/main/LICENSE)
9
+
10
+ `ghcrawl` is a local-first GitHub issue and pull request crawler for maintainers.
11
+
12
+ ![ghcrawl TUI demo](https://raw.githubusercontent.com/pwrdrvr/ghcrawl/main/docs/images/ghcrawl-tui-demo.gif)
4
13
 
5
14
  ## Install
6
15
 
16
+ Install the published CLI package:
17
+
7
18
  ```bash
8
19
  npm install -g ghcrawl
9
20
  ```
10
21
 
11
- This package installs the `ghcrawl` command.
22
+ That package exposes the `ghcrawl` command directly.
23
+
24
+ If you are working from source or maintaining the repo, use [CONTRIBUTING.md](https://github.com/pwrdrvr/ghcrawl/blob/main/CONTRIBUTING.md).
25
+
26
+ ## Requirements
27
+
28
+ Normal `ghcrawl` use needs both:
29
+
30
+ - a GitHub personal access token
31
+ - an OpenAI API key
32
+
33
+ GitHub is required to crawl issue and PR data. OpenAI is required for embeddings and the maintainer clustering and search workflow. If you already have a populated local DB you can still browse it without live keys, but a fresh `sync` + `embed` + `cluster` or `refresh` run needs both.
12
34
 
13
35
  ## Quick Start
14
36
 
@@ -19,14 +41,224 @@ ghcrawl refresh owner/repo
19
41
  ghcrawl tui owner/repo
20
42
  ```
21
43
 
22
- ## Documentation
44
+ `ghcrawl init` runs the setup wizard. It can either:
45
+
46
+ - save plaintext keys in `~/.config/ghcrawl/config.json`
47
+ - or guide you through a 1Password CLI (`op`) setup that keeps keys out of the config file
48
+
49
+ `ghcrawl refresh owner/repo` is the main pipeline command. It pulls the latest open GitHub issues and pull requests, refreshes embeddings for changed items, and rebuilds the clusters you browse in the TUI.
50
+
51
+ ## Typical Commands
52
+
53
+ ```bash
54
+ ghcrawl doctor
55
+ ghcrawl refresh owner/repo
56
+ ghcrawl tui owner/repo
57
+ ```
58
+
59
+ `refresh`, `sync`, and `embed` call remote services and should be run intentionally.
60
+
61
+ `cluster` does not call remote services, but it is still time consuming. On a repo with roughly `12k` issues and PRs, a full cluster rebuild can take around `10 minutes`.
62
+
63
+ `clusters` explores the clusters already stored in the local SQLite database and is expected to be the fast, read-only inspection path.
64
+
65
+ ### Refresh Command Example
66
+
67
+ ```bash
68
+ ghcrawl refresh owner/repo
69
+ ```
70
+
71
+ ![ghcrawl refresh demo](https://raw.githubusercontent.com/pwrdrvr/ghcrawl/main/docs/images/ghcrawl-refresh-demo.gif)
72
+
73
+ ### TUI Screenshots
74
+
75
+ | User open issue/PR list modal | Refresh modal |
76
+ | --- | --- |
77
+ | ![User open issue and PR list modal](https://raw.githubusercontent.com/pwrdrvr/ghcrawl/main/docs/images/ghcrawl-tui-user-modal.png) | ![GitHub, embed, and cluster refresh modal](https://raw.githubusercontent.com/pwrdrvr/ghcrawl/main/docs/images/ghcrawl-tui-refresh-modal.png) |
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
+ | ![Closed cluster members grayed out](https://raw.githubusercontent.com/pwrdrvr/ghcrawl/main/docs/images/ghcrawl-tui-closed-members.png) | ![Completely closed cluster grayed out](https://raw.githubusercontent.com/pwrdrvr/ghcrawl/main/docs/images/ghcrawl-tui-closed-cluster.png) |
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
+ ![Stacked TUI layout](https://raw.githubusercontent.com/pwrdrvr/ghcrawl/main/docs/images/ghcrawl-tui-layout-stacked.png)
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
+
89
+ ## Controlling The Refresh Flow More Intentionally
90
+
91
+ Most users should run `ghcrawl refresh owner/repo` and let it do the full pipeline in the right order.
92
+
93
+ If you need tighter control, you can run the three stages yourself:
94
+
95
+ ```bash
96
+ ghcrawl sync owner/repo # pull the latest open issues and pull requests from GitHub
97
+ ghcrawl embed owner/repo # generate or refresh OpenAI embeddings for changed items
98
+ ghcrawl cluster owner/repo # rebuild local related-work clusters from the current vectors (local-only, but can take ~10 minutes on a ~12k issue/PR repo)
99
+ ```
100
+
101
+ Run them in that order. `refresh` is just the safe convenience command that performs the same sequence for you.
102
+
103
+ ## Init And Doctor
104
+
105
+ First run:
106
+
107
+ ```bash
108
+ ghcrawl init
109
+ ghcrawl doctor
110
+ ```
111
+
112
+ `init` behavior:
113
+
114
+ - prompts you to choose one of two secret-storage modes:
115
+ - `plaintext`: saves both keys to `~/.config/ghcrawl/config.json`
116
+ - `1Password CLI`: stores only vault and item metadata and tells you how to run `ghcrawl` through `op`
117
+ - if you choose plaintext storage, init warns that anyone who can read that file can use your keys and that resulting API charges are your responsibility
118
+ - if you choose 1Password CLI mode, init tells you to create a Secure Note with concealed fields named:
119
+ - `GITHUB_TOKEN`
120
+ - `OPENAI_API_KEY`
121
+
122
+ GitHub token guidance:
123
+
124
+ - recommended: fine-grained PAT scoped to the repositories you want to crawl
125
+ - repository permissions:
126
+ - `Metadata: Read-only`
127
+ - `Issues: Read-only`
128
+ - `Pull requests: Read-only`
129
+ - if you use a classic PAT and need private repositories, `repo` is the safe fallback scope
130
+
131
+ `doctor` checks:
132
+
133
+ - config file presence and path
134
+ - local DB path wiring
135
+ - GitHub token presence, token-shape validation, and a live auth smoke check
136
+ - OpenAI key presence, key-shape validation, and a live auth smoke check
137
+ - if init is configured for 1Password CLI but you forgot to run through your `op` wrapper, doctor tells you that explicitly
138
+
139
+ ### 1Password CLI Example
140
+
141
+ If you choose 1Password CLI mode, create a 1Password Secure Note with concealed fields named exactly:
142
+
143
+ - `GITHUB_TOKEN`
144
+ - `OPENAI_API_KEY`
145
+
146
+ Then add this wrapper to `~/.zshrc`:
147
+
148
+ ```bash
149
+ ghcrawl-op() {
150
+ env GITHUB_TOKEN="$(op read 'op://Private/ghcrawl/GITHUB_TOKEN')" \
151
+ OPENAI_API_KEY="$(op read 'op://Private/ghcrawl/OPENAI_API_KEY')" \
152
+ ghcrawl "$@"
153
+ }
154
+ ```
155
+
156
+ Then use:
157
+
158
+ ```bash
159
+ ghcrawl-op doctor
160
+ ghcrawl-op refresh owner/repo
161
+ ghcrawl-op tui owner/repo
162
+ ```
163
+
164
+ ## Using The CLI To Extract JSON Data
165
+
166
+ These commands are intended more for scripts, bots, and agent integrations than for normal day-to-day terminal browsing:
167
+
168
+ ```bash
169
+ ghcrawl threads owner/repo --numbers 42,43,44
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
174
+ ghcrawl clusters owner/repo --min-size 10 --limit 20
175
+ ghcrawl clusters owner/repo --min-size 10 --limit 20 --include-closed
176
+ ghcrawl cluster-detail owner/repo --id 123
177
+ ghcrawl cluster-detail owner/repo --id 123 --include-closed
178
+ ghcrawl search owner/repo --query "download stalls"
179
+ ```
180
+
181
+ Use `threads --numbers ...` when you want several specific issue or PR records in one CLI call instead of paying process startup overhead repeatedly.
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
+
191
+ ## Cost To Operate
192
+
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).
194
+
195
+ On a real local run against roughly `12k` issues plus about `1.2x` related PR and issue inputs, [`text-embedding-3-large`](https://developers.openai.com/api/docs/pricing) came out to about **$0.65 USD** total to embed the repo. Treat that as an approximate data point for something like `~14k` issue and PR inputs, not a hard guarantee.
196
+
197
+ This screenshot is the reference point for that estimate:
198
+
199
+ ![OpenAI embeddings cost for a 12k-issue repo](https://raw.githubusercontent.com/pwrdrvr/ghcrawl/main/docs/images/openai-embeddings-12k-issue-repo.png)
200
+
201
+ ## Agent Skill
202
+
203
+ This repo ships an installable skill at [skills/ghcrawl/SKILL.md](https://github.com/pwrdrvr/ghcrawl/blob/main/skills/ghcrawl/SKILL.md).
204
+
205
+ For installation and usage conventions, point users at [vercel-labs/skills](https://github.com/vercel-labs/skills).
206
+
207
+ Install the CLI first, then install the skill:
208
+
209
+ ```bash
210
+ npm i -g ghcrawl
211
+ npx skills add -g pwrdrvr/ghcrawl
212
+ ```
213
+
214
+ The skill is built around the stable JSON CLI surface and is intentionally conservative:
215
+
216
+ - default mode assumes no valid API keys and stays read-only
217
+ - API-backed operations only become available after `ghcrawl doctor --json` shows healthy auth
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
220
+
221
+ ```bash
222
+ ghcrawl doctor --json
223
+ ghcrawl refresh owner/repo
224
+ ghcrawl threads owner/repo --numbers 42,43,44
225
+ ghcrawl clusters owner/repo --min-size 10 --limit 20 --sort recent
226
+ ghcrawl cluster-detail owner/repo --id 123 --member-limit 20 --body-chars 280
227
+ ```
228
+
229
+ ### Video Walkthrough
230
+
231
+ [![ghcrawl skill walkthrough](https://img.youtube.com/vi/xqgDcy3WDUI/hqdefault.jpg)](https://www.youtube.com/watch?v=xqgDcy3WDUI)
232
+
233
+ GitHub README links cannot force a new tab, but clicking the preview above will open the YouTube walkthrough from the repo page.
234
+
235
+ The agent and build contract for this repo lives in [SPEC.md](https://github.com/pwrdrvr/ghcrawl/blob/main/SPEC.md).
236
+
237
+ ## Current Caveats
238
+
239
+ - `serve` starts the local HTTP API only. The web UI is not built yet.
240
+ - `sync` only pulls open issues and PRs.
241
+ - a plain `sync owner/repo` is incremental by default after the first full completed open scan for that repo
242
+ - `sync` is metadata-only by default
243
+ - `sync --include-comments` enables issue comments, PR reviews, and review comments for deeper context
244
+ - `embed` defaults to `text-embedding-3-large`
245
+ - `embed` generates separate vectors for `title` and `body`, and also uses stored summary text when present
246
+ - `embed` stores an input hash per source kind and will not resubmit unchanged text for re-embedding
247
+ - `sync --since` accepts ISO timestamps and relative durations like `15m`, `2h`, `7d`, and `1mo`
248
+ - `sync --limit <count>` is the best smoke-test path on a busy repository
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
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+`
23
253
 
24
- For the full project README, screenshots, setup guide, and release notes, see:
254
+ ## Responsibility Attestation
25
255
 
26
- - [GitHub repository](https://github.com/pwrdrvr/ghcrawl)
27
- - [Project README](https://github.com/pwrdrvr/ghcrawl#readme)
256
+ By operating `ghcrawl`, you accept that you, and any employer or organization you operate it for, are fully responsible for:
28
257
 
29
- ## Notes
258
+ - obtaining GitHub and OpenAI API keys through legitimate means
259
+ - monitoring that your use of this tool complies with the agreements, usage terms, and platform policies that apply to those keys
260
+ - storing those API keys securely
261
+ - any misuse, theft, unexpected charges, or other consequences resulting from those keys being exposed or abused
262
+ - monitoring spend and stopping or reconfiguring the tool if usage is higher than you intended
30
263
 
31
- - `ghcrawl` needs a GitHub API token and an OpenAI API key for normal sync/embed/cluster use.
32
- - The legacy `gitcrawl` command remains as a compatibility alias for now.
264
+ The creators and contributors of `ghcrawl` accept no liability for API charges, account actions, policy violations, data loss, or misuse resulting from operation of this tool.
package/dist/main.d.ts CHANGED
@@ -1,6 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
  import { GHCrawlService } from '@ghcrawl/api-core';
3
3
  type DoctorResult = Awaited<ReturnType<GHCrawlService['doctor']>>;
4
+ type DoctorReport = DoctorResult & {
5
+ version: string;
6
+ };
4
7
  export declare function parseOwnerRepo(value: string): {
5
8
  owner: string;
6
9
  repo: string;
@@ -12,7 +15,7 @@ export declare function parseRepoFlags(args: string[]): {
12
15
  };
13
16
  export declare function resolveSinceValue(value: string, now?: Date): string;
14
17
  export declare function formatLogLine(message: string, now?: Date): string;
15
- export declare function formatDoctorReport(result: DoctorResult): string;
18
+ export declare function formatDoctorReport(result: DoctorReport): string;
16
19
  export declare function run(argv: string[], stdout?: NodeJS.WritableStream): Promise<void>;
17
20
  export {};
18
21
  //# sourceMappingURL=main.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";AAIA,OAAO,EAAmB,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAoBpE,KAAK,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AAuClE,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,CA8CxH;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;AAkBD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAgC/D;AAQD,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,MAAM,GAAE,MAAM,CAAC,cAA+B,GAAG,OAAO,CAAC,IAAI,CAAC,CAwNvG"}
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
@@ -1,9 +1,13 @@
1
1
  #!/usr/bin/env node
2
2
  import { once } from 'node:events';
3
+ import { readFileSync } from 'node:fs';
4
+ import path from 'node:path';
3
5
  import { parseArgs } from 'node:util';
6
+ import { fileURLToPath } from 'node:url';
4
7
  import { createApiServer, GHCrawlService } from '@ghcrawl/api-core';
5
8
  import { runInitWizard } from './init-wizard.js';
6
9
  import { startTui } from './tui/app.js';
10
+ const CLI_VERSION = loadCliVersion();
7
11
  function usage(devMode = false) {
8
12
  const lines = [
9
13
  'ghcrawl <command> [options]',
@@ -11,16 +15,26 @@ function usage(devMode = false) {
11
15
  'Commands:',
12
16
  ' init [--reconfigure]',
13
17
  ' doctor',
18
+ ' version',
14
19
  ' sync <owner/repo> [--since <iso|duration>] [--limit <count>] [--include-comments] [--full-reconcile]',
15
20
  ' refresh <owner/repo> [--no-sync] [--no-embed] [--no-cluster]',
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>',
16
25
  ' embed <owner/repo> [--number <thread>]',
17
26
  ' cluster <owner/repo> [--k <count>] [--threshold <score>]',
18
- ' clusters <owner/repo> [--min-size <count>] [--limit <count>] [--sort recent|size] [--search <text>]',
19
- ' 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]',
20
29
  ' search <owner/repo> --query <text> [--mode keyword|semantic|hybrid]',
21
30
  ' neighbors <owner/repo> --number <thread> [--limit <count>] [--threshold <score>]',
22
31
  ' tui [owner/repo]',
23
32
  ' serve',
33
+ '',
34
+ 'Notes:',
35
+ ' refresh/sync/embed call remote services and should be run intentionally.',
36
+ ' cluster is local-only but can still take ~10 minutes on a ~12k issue/PR repo.',
37
+ ' clusters reads the existing local cluster data and is intended to be fast.',
24
38
  ];
25
39
  if (devMode) {
26
40
  lines.push('', 'Advanced Commands:', ' summarize <owner/repo> [--number <thread>] [--include-comments]', ' purge-comments <owner/repo> [--number <thread>]');
@@ -58,7 +72,10 @@ export function parseRepoFlags(args) {
58
72
  limit: { type: 'string' },
59
73
  'include-comments': { type: 'boolean' },
60
74
  'full-reconcile': { type: 'boolean' },
75
+ 'include-closed': { type: 'boolean' },
61
76
  number: { type: 'string' },
77
+ numbers: { type: 'string' },
78
+ login: { type: 'string' },
62
79
  query: { type: 'string' },
63
80
  mode: { type: 'string' },
64
81
  k: { type: 'string' },
@@ -146,9 +163,20 @@ function parsePositiveInteger(name, value) {
146
163
  }
147
164
  return parsed;
148
165
  }
166
+ function parsePositiveIntegerList(name, value) {
167
+ const parts = value
168
+ .split(',')
169
+ .map((part) => part.trim())
170
+ .filter(Boolean);
171
+ if (parts.length === 0) {
172
+ throw new Error(`Invalid ${name}: ${value}`);
173
+ }
174
+ return parts.map((part) => parsePositiveInteger(name, part));
175
+ }
149
176
  export function formatDoctorReport(result) {
150
177
  const lines = [
151
178
  'ghcrawl doctor',
179
+ `version: ${result.version}`,
152
180
  '',
153
181
  'Health',
154
182
  ` ok: ${formatBooleanStatus(result.health.ok)}`,
@@ -181,6 +209,10 @@ export async function run(argv, stdout = process.stdout) {
181
209
  const parsedGlobals = parseGlobalFlags(argv);
182
210
  const [commandRaw, ...rest] = parsedGlobals.argv;
183
211
  const command = commandRaw;
212
+ if (commandRaw === '--version' || commandRaw === '-v') {
213
+ stdout.write(`${CLI_VERSION}\n`);
214
+ return;
215
+ }
184
216
  if (!command || commandRaw === '--help' || commandRaw === '-h' || commandRaw === 'help') {
185
217
  stdout.write(usage(parsedGlobals.devMode));
186
218
  return;
@@ -210,11 +242,18 @@ export async function run(argv, stdout = process.stdout) {
210
242
  json: { type: 'boolean' },
211
243
  },
212
244
  });
213
- const result = await getService().doctor();
245
+ const result = {
246
+ version: CLI_VERSION,
247
+ ...(await getService().doctor()),
248
+ };
214
249
  const shouldWriteJson = parsed.values.json === true || stdout.isTTY !== true;
215
250
  stdout.write(shouldWriteJson ? `${JSON.stringify(result, null, 2)}\n` : formatDoctorReport(result));
216
251
  return;
217
252
  }
253
+ case 'version': {
254
+ stdout.write(`${CLI_VERSION}\n`);
255
+ return;
256
+ }
218
257
  case 'sync': {
219
258
  const { owner, repo, values } = parseRepoFlags(rest);
220
259
  const result = await getService().syncRepository({
@@ -242,6 +281,59 @@ export async function run(argv, stdout = process.stdout) {
242
281
  stdout.write(`${JSON.stringify(result, null, 2)}\n`);
243
282
  return;
244
283
  }
284
+ case 'threads': {
285
+ const { owner, repo, values } = parseRepoFlags(rest);
286
+ const kind = values.kind === 'issue' || values.kind === 'pull_request' ? values.kind : undefined;
287
+ const result = getService().listThreads({
288
+ owner,
289
+ repo,
290
+ kind,
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),
333
+ });
334
+ stdout.write(`${JSON.stringify(result, null, 2)}\n`);
335
+ return;
336
+ }
245
337
  case 'summarize': {
246
338
  const { owner, repo, values } = parseRepoFlags(rest);
247
339
  const result = await getService().summarizeRepository({
@@ -298,6 +390,7 @@ export async function run(argv, stdout = process.stdout) {
298
390
  limit: typeof values.limit === 'string' ? parsePositiveInteger('limit', values.limit) : undefined,
299
391
  sort,
300
392
  search: typeof values.search === 'string' ? values.search : undefined,
393
+ includeClosed: values['include-closed'] === true,
301
394
  });
302
395
  stdout.write(`${JSON.stringify(result, null, 2)}\n`);
303
396
  return;
@@ -317,6 +410,7 @@ export async function run(argv, stdout = process.stdout) {
317
410
  bodyChars: typeof values['body-chars'] === 'string'
318
411
  ? parsePositiveInteger('body-chars', values['body-chars'])
319
412
  : undefined,
413
+ includeClosed: values['include-closed'] === true,
320
414
  });
321
415
  stdout.write(`${JSON.stringify(result, null, 2)}\n`);
322
416
  return;
@@ -397,4 +491,10 @@ if (import.meta.url === `file://${process.argv[1]}`) {
397
491
  process.exit(1);
398
492
  });
399
493
  }
494
+ function loadCliVersion() {
495
+ const here = path.dirname(fileURLToPath(import.meta.url));
496
+ const packageJsonPath = path.resolve(here, '..', 'package.json');
497
+ const packageJson = JSON.parse(readFileSync(packageJsonPath, 'utf8'));
498
+ return typeof packageJson.version === 'string' ? packageJson.version : '0.0.0';
499
+ }
400
500
  //# sourceMappingURL=main.js.map
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAoBxC,SAAS,KAAK,CAAC,OAAO,GAAG,KAAK;IAC5B,MAAM,KAAK,GAAG;QACZ,6BAA6B;QAC7B,EAAE;QACF,WAAW;QACX,wBAAwB;QACxB,UAAU;QACV,wGAAwG;QACxG,gEAAgE;QAChE,0CAA0C;QAC1C,4DAA4D;QAC5D,uGAAuG;QACvG,iGAAiG;QACjG,uEAAuE;QACvE,oFAAoF;QACpF,oBAAoB;QACpB,SAAS;KACV,CAAC;IACF,IAAI,OAAO,EAAE,CAAC;QACZ,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,oBAAoB,EAAE,mEAAmE,EAAE,mDAAmD,CAAC,CAAC;IACjK,CAAC;IACD,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACjC,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAc,EAAE,MAAyB,OAAO,CAAC,GAAG;IAC5E,IAAI,OAAO,GAAG,GAAG,CAAC,gBAAgB,KAAK,GAAG,IAAI,GAAG,CAAC,gBAAgB,KAAK,GAAG,CAAC;IAC3E,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,SAAS;QACX,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,KAAK,CAAC,kCAAkC,KAAK,EAAE,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAc;IAC3C,MAAM,MAAM,GAAG,SAAS,CAAC;QACvB,IAAI;QACJ,gBAAgB,EAAE,IAAI;QACtB,OAAO,EAAE;YACP,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACxB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzB,kBAAkB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YACvC,gBAAgB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YACrC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC1B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACxB,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACrB,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC7B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACxB,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACtB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACxB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC1B,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC9B,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAClC,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAChC,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YAC9B,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YAC/B,YAAY,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;SAClC;KACF,CAAC,CAAC;IAEH,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/E,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClD,OAAO,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;IAC9C,CAAC;IAED,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QACrD,OAAO,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;IAC9C,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;IAClC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;IAChC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC1D,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;IAChD,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,8EAA8E,CAAC,CAAC;AAClG,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAa,EAAE,MAAY,IAAI,IAAI,EAAE;IACrE,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;IACnC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;QACtC,OAAO,QAAQ,CAAC,WAAW,EAAE,CAAC;IAChC,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;IACxD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,0BAA0B,KAAK,8DAA8D,CAAC,CAAC;IACjH,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACpC,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;IAE/B,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,GAAG;YACN,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,MAAM,GAAG,IAAI,CAAC,CAAC;YACrD,MAAM;QACR,KAAK,GAAG;YACN,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;YAC1D,MAAM;QACR,KAAK,GAAG;YACN,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,MAAM,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;YAC/D,MAAM;QACR,KAAK,GAAG;YACN,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,MAAM,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;YACpE,MAAM;QACR,KAAK,GAAG;YACN,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;YACxE,MAAM;QACR,KAAK,IAAI;YACP,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,CAAC;YACtD,MAAM;QACR,KAAK,GAAG;YACN,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,cAAc,EAAE,GAAG,MAAM,CAAC,CAAC;YAC5D,MAAM;QACR;YACE,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,OAAO,QAAQ,CAAC,WAAW,EAAE,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAe,EAAE,MAAY,IAAI,IAAI,EAAE;IACnE,OAAO,IAAI,GAAG,CAAC,WAAW,EAAE,KAAK,OAAO,EAAE,CAAC;AAC7C,CAAC;AAED,SAAS,aAAa,CAAC,OAAe;IACpC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc;IACzC,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9B,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAY,EAAE,KAAa;IACvD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,MAAoB;IACrD,MAAM,KAAK,GAAG;QACZ,gBAAgB;QAChB,EAAE;QACF,QAAQ;QACR,SAAS,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;QAChD,kBAAkB,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE;QAC5C,yBAAyB,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE;QAC9E,cAAc,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;QACpC,eAAe,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE;QACtC,EAAE;QACF,QAAQ;QACR,iBAAiB,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;QAChE,aAAa,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;QACnC,gBAAgB,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;QAC7D,cAAc,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;KAC1D,CAAC;IACF,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IAC/C,CAAC;IACD,KAAK,CAAC,IAAI,CACR,EAAE,EACF,QAAQ,EACR,iBAAiB,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,EAChE,aAAa,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EACnC,gBAAgB,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAC7D,cAAc,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAC1D,CAAC;IACF,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACjC,CAAC;AAED,SAAS,YAAY,CAAC,OAA8B;IAClD,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,IAAc,EAAE,SAAgC,OAAO,CAAC,MAAM;IACtF,MAAM,aAAa,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC;IACjD,MAAM,OAAO,GAAG,UAAqC,CAAC;IACtD,IAAI,CAAC,OAAO,IAAI,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QACxF,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3C,OAAO;IACT,CAAC;IAED,IAAI,OAAO,GAA0B,IAAI,CAAC;IAC1C,MAAM,UAAU,GAAG,GAAmB,EAAE;QACtC,OAAO,KAAK,IAAI,cAAc,EAAE,CAAC;QACjC,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IACF,IAAI,CAAC;QACH,QAAQ,OAAO,EAAE,CAAC;YAChB,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,MAAM,MAAM,GAAG,SAAS,CAAC;oBACvB,IAAI,EAAE,IAAI;oBACV,OAAO,EAAE;wBACP,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;qBACjC;iBACF,CAAC,CAAC;gBACH,MAAM,aAAa,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC,CAAC;gBACzE,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;gBAClE,OAAO;YACT,CAAC;YACD,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,MAAM,GAAG,SAAS,CAAC;oBACvB,IAAI,EAAE,IAAI;oBACV,OAAO,EAAE;wBACP,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;qBAC1B;iBACF,CAAC,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC,MAAM,EAAE,CAAC;gBAC3C,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,IAAK,MAA6B,CAAC,KAAK,KAAK,IAAI,CAAC;gBACrG,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;gBACpG,OAAO;YACT,CAAC;YACD,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;gBACrD,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC,cAAc,CAAC;oBAC/C,KAAK;oBACL,IAAI;oBACJ,KAAK,EAAE,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;oBACrF,KAAK,EAAE,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;oBAC1E,eAAe,EAAE,MAAM,CAAC,kBAAkB,CAAC,KAAK,IAAI;oBACpD,aAAa,EAAE,MAAM,CAAC,gBAAgB,CAAC,KAAK,IAAI;oBAChD,UAAU,EAAE,aAAa;iBAC1B,CAAC,CAAC;gBACH,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;gBACrD,OAAO;YACT,CAAC;YACD,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;gBACrD,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC,iBAAiB,CAAC;oBAClD,KAAK;oBACL,IAAI;oBACJ,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;oBACpD,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;oBACtD,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;oBAC1D,UAAU,EAAE,aAAa;iBAC1B,CAAC,CAAC;gBACH,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;gBACrD,OAAO;YACT,CAAC;YACD,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;gBACrD,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC,mBAAmB,CAAC;oBACpD,KAAK;oBACL,IAAI;oBACJ,YAAY,EAAE,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;oBACnF,eAAe,EAAE,MAAM,CAAC,kBAAkB,CAAC,KAAK,IAAI;oBACpD,UAAU,EAAE,aAAa;iBAC1B,CAAC,CAAC;gBACH,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;gBACrD,OAAO;YACT,CAAC;YACD,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACtB,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;gBACrD,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC,aAAa,CAAC;oBACxC,KAAK;oBACL,IAAI;oBACJ,YAAY,EAAE,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;oBACnF,UAAU,EAAE,aAAa;iBAC1B,CAAC,CAAC;gBACH,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;gBACrD,OAAO;YACT,CAAC;YACD,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;gBACrD,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC,eAAe,CAAC;oBAChD,KAAK;oBACL,IAAI;oBACJ,YAAY,EAAE,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;oBACnF,UAAU,EAAE,aAAa;iBAC1B,CAAC,CAAC;gBACH,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;gBACrD,OAAO;YACT,CAAC;YACD,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;gBACrD,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC,iBAAiB,CAAC;oBAC5C,KAAK;oBACL,IAAI;oBACJ,CAAC,EAAE,OAAO,MAAM,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;oBAC9D,QAAQ,EAAE,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;oBACrF,UAAU,EAAE,aAAa;iBAC1B,CAAC,CAAC;gBACH,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;gBACrD,OAAO;YACT,CAAC;YACD,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;gBACrD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC1F,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC,oBAAoB,CAAC;oBAC/C,KAAK;oBACL,IAAI;oBACJ,OAAO,EAAE,OAAO,MAAM,CAAC,UAAU,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,oBAAoB,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;oBAClH,KAAK,EAAE,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;oBACjG,IAAI;oBACJ,MAAM,EAAE,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;iBACtE,CAAC,CAAC;gBACH,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;gBACrD,OAAO;YACT,CAAC;YACD,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACtB,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;gBACrD,IAAI,OAAO,MAAM,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;oBAClC,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;gBAClC,CAAC;gBACD,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC,oBAAoB,CAAC;oBAC/C,KAAK;oBACL,IAAI;oBACJ,SAAS,EAAE,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;oBAChD,WAAW,EACT,OAAO,MAAM,CAAC,cAAc,CAAC,KAAK,QAAQ;wBACxC,CAAC,CAAC,oBAAoB,CAAC,cAAc,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;wBAC9D,CAAC,CAAC,SAAS;oBACf,SAAS,EACP,OAAO,MAAM,CAAC,YAAY,CAAC,KAAK,QAAQ;wBACtC,CAAC,CAAC,oBAAoB,CAAC,YAAY,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;wBAC1D,CAAC,CAAC,SAAS;iBAChB,CAAC,CAAC;gBACH,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;gBACrD,OAAO;YACT,CAAC;YACD,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;gBACrD,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;oBACrC,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;gBACrC,CAAC;gBACD,MAAM,IAAI,GACR,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ;oBACjF,CAAC,CAAC,MAAM,CAAC,IAAI;oBACb,CAAC,CAAC,SAAS,CAAC;gBAChB,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC,gBAAgB,CAAC;oBACjD,KAAK;oBACL,IAAI;oBACJ,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,IAAI;iBACL,CAAC,CAAC;gBACH,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;gBACrD,OAAO;YACT,CAAC;YACD,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;gBACrD,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;oBACtC,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;gBACtC,CAAC;gBACD,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC,aAAa,CAAC;oBACxC,KAAK;oBACL,IAAI;oBACJ,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;oBACnC,KAAK,EAAE,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;oBAC1E,QAAQ,EAAE,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;iBACtF,CAAC,CAAC;gBACH,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;gBACrD,OAAO;YACT,CAAC;YACD,KAAK,KAAK,CAAC,CAAC,CAAC;gBACX,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACtB,MAAM,QAAQ,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;oBAC1C,OAAO;gBACT,CAAC;gBACD,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;gBAC7C,MAAM,QAAQ,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBACvD,OAAO;YACT,CAAC;YACD,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,MAAM,eAAe,GAAG,UAAU,EAAE,CAAC;gBACrC,MAAM,MAAM,GAAG,eAAe,CAAC,eAAe,CAAC,CAAC;gBAChD,MAAM,MAAM,GAAG,SAAS,CAAC;oBACvB,IAAI,EAAE,IAAI;oBACV,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;iBACtC,CAAC,CAAC;gBACH,MAAM,IAAI,GAAG,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC;gBAClH,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;gBACjC,MAAM,CAAC,KAAK,CAAC,6CAA6C,IAAI,IAAI,CAAC,CAAC;gBACpE,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;oBACtB,MAAM,CAAC,KAAK,EAAE,CAAC;oBACf,eAAe,CAAC,KAAK,EAAE,CAAC;gBAC1B,CAAC,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;gBAC1C,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;gBAC3C,MAAM,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAC5B,OAAO;YACT,CAAC;YACD;gBACE,MAAM,IAAI,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;YAAS,CAAC;QACT,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;YACxB,YAAY,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;AACH,CAAC;AAED,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,UAAU,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACpD,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACzC,aAAa,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
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
@@ -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,EAChB,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;AAgBN,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,CA8nBpE;AAsED,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE,eAAe,GAAG,IAAI,EACpC,aAAa,EAAE,gBAAgB,GAAG,IAAI,EACtC,SAAS,EAAE,YAAY,GACtB,MAAM,CAoCR;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;AAkFD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,kBAAkB,CAAC,EAAE,GAAG,GAAE,IAAiB,GAAG,gBAAgB,EAAE,CAalI;AA6ID,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAMzF"}
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"}