@activade/open-workflows 2.0.5 → 2.0.6

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
@@ -17,6 +17,7 @@ The CLI will prompt you to select workflows and install them to `.github/workflo
17
17
  | `pr-review` | Yes | AI-powered code reviews |
18
18
  | `issue-label` | Yes | Auto-label issues based on content |
19
19
  | `doc-sync` | Yes | Keep docs in sync with code changes |
20
+ | `changeset` | Yes | AI-generated changesets for monorepo releases |
20
21
  | `release` | No | Semantic versioning with npm provenance |
21
22
 
22
23
  ## Manual Usage
@@ -72,6 +73,38 @@ jobs:
72
73
 
73
74
  No NPM_TOKEN needed - uses OIDC trusted publishing with provenance.
74
75
 
76
+ ### Changeset Action (AI-Powered)
77
+
78
+ ```yaml
79
+ name: AI Changeset
80
+ on:
81
+ pull_request:
82
+ types: [opened, synchronize, reopened]
83
+ jobs:
84
+ changeset:
85
+ runs-on: ubuntu-latest
86
+ permissions:
87
+ contents: write
88
+ pull-requests: write
89
+ steps:
90
+ - uses: actions/checkout@v4
91
+ with:
92
+ fetch-depth: 0
93
+ ref: ${{ github.head_ref }}
94
+ token: ${{ secrets.GITHUB_TOKEN }}
95
+ - uses: activadee/open-workflows/actions/changeset@main
96
+ with:
97
+ mode: commit # or 'comment' to suggest via PR comment
98
+ env:
99
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
100
+ ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
101
+ ```
102
+
103
+ The changeset action analyzes PR changes and generates [Changesets](https://github.com/changesets/changesets) files automatically:
104
+ - Detects which packages are affected in monorepos
105
+ - Infers version bump type from conventional commits
106
+ - Writes user-facing changelog entries
107
+
75
108
  ## Authentication
76
109
 
77
110
  ### For AI Actions
@@ -107,12 +140,18 @@ OPTIONS
107
140
 
108
141
  ## How It Works
109
142
 
110
- **AI Actions (pr-review, issue-label, doc-sync):**
143
+ **AI Actions (pr-review, issue-label, doc-sync, changeset):**
111
144
  1. Workflow triggers on GitHub event
112
145
  2. Composite action sets up Bun and OpenCode
113
146
  3. OpenCode runs with the bundled skill
114
147
  4. AI analyzes content and takes action
115
148
 
149
+ **Changeset Action:**
150
+ 1. Triggers on PR open/update
151
+ 2. AI analyzes diff, commits, and PR description
152
+ 3. Generates `.changeset/<random>.md` with package bumps and changelog
153
+ 4. Either commits to PR branch or suggests via comment
154
+
116
155
  **Release Action:**
117
156
  1. Manually triggered with version bump type
118
157
  2. Generates changelog from git commits
@@ -0,0 +1,46 @@
1
+ name: 'AI Changeset'
2
+ description: 'AI-powered changeset generation for monorepo releases'
3
+ author: 'activadee'
4
+
5
+ inputs:
6
+ model:
7
+ description: 'Model to use for changeset generation'
8
+ required: false
9
+ default: 'anthropic/claude-sonnet-4-5'
10
+ mode:
11
+ description: 'Operation mode: commit (auto-commit changeset) or comment (suggest via PR comment)'
12
+ required: false
13
+ default: 'commit'
14
+
15
+ runs:
16
+ using: 'composite'
17
+ steps:
18
+ - name: Setup Bun
19
+ uses: oven-sh/setup-bun@v2
20
+
21
+ - name: Setup OpenCode auth
22
+ if: env.OPENCODE_AUTH != ''
23
+ shell: bash
24
+ run: |
25
+ mkdir -p ~/.local/share/opencode
26
+ echo "$OPENCODE_AUTH" > ~/.local/share/opencode/auth.json
27
+ - name: Install opencode-ai
28
+ shell: bash
29
+ run: |
30
+ curl -fsSL https://opencode.ai/install | bash
31
+ - name: Install skill and tools
32
+ shell: bash
33
+ run: |
34
+ mkdir -p .opencode/skill/changeset
35
+ cp "${{ github.action_path }}/skill.md" .opencode/skill/changeset/SKILL.md
36
+ mkdir -p ~/.config/opencode/tool
37
+ cp "${{ github.action_path }}/../../scripts/"*.ts ~/.config/opencode/tool/
38
+ cd ~/.config/opencode && bun add @opencode-ai/plugin
39
+
40
+ - name: Generate Changeset
41
+ shell: bash
42
+ run: |
43
+ opencode run --model "${{ inputs.model }}" \
44
+ "Load the changeset skill. Generate changeset for PR ${{ github.event.pull_request.number }} in mode: ${{ inputs.mode }}"
45
+ env:
46
+ GITHUB_TOKEN: ${{ github.token }}
@@ -0,0 +1,285 @@
1
+ ---
2
+ name: changeset
3
+ description: AI-powered changeset generation for monorepo releases. Analyzes PR changes to generate properly formatted changeset files.
4
+ license: MIT
5
+ ---
6
+
7
+ ## What I Do
8
+
9
+ Analyze pull request changes and generate [Changesets](https://github.com/changesets/changesets) files that capture:
10
+ 1. Which packages are affected
11
+ 2. What version bump is appropriate (patch/minor/major)
12
+ 3. A user-facing changelog entry
13
+
14
+ ## Workflow
15
+
16
+ 1. **Get PR context**: Fetch PR metadata and changed files
17
+ ```bash
18
+ gh pr view <number> --json files,title,body,commits,headRefOid
19
+ ```
20
+
21
+ 2. **Detect monorepo structure**: Find package locations
22
+ ```bash
23
+ # Check for common monorepo patterns
24
+ ls packages/ 2>/dev/null || ls apps/ 2>/dev/null || cat pnpm-workspace.yaml 2>/dev/null
25
+ ```
26
+
27
+ 3. **Analyze changes**: For each changed file, determine:
28
+ - Which package it belongs to
29
+ - The nature of the change (feature, fix, breaking, docs, etc.)
30
+
31
+ 4. **Infer version bump**: Based on changes and commit messages
32
+ - `major`: Breaking changes (look for BREAKING CHANGE, !)
33
+ - `minor`: New features (feat:, feature)
34
+ - `patch`: Bug fixes, refactors, docs (fix:, chore:, docs:, refactor:)
35
+
36
+ 5. **Generate changeset**: Create the changeset content
37
+
38
+ 6. **Execute action**: Based on mode parameter
39
+ - `commit`: Write file and commit to PR branch
40
+ - `comment`: Post suggestion as PR comment
41
+
42
+ ## Package Detection
43
+
44
+ ### Finding Affected Packages
45
+
46
+ 1. **Parse monorepo config** (in priority order):
47
+ ```bash
48
+ # pnpm workspaces
49
+ cat pnpm-workspace.yaml
50
+
51
+ # npm/yarn workspaces
52
+ cat package.json | jq '.workspaces'
53
+
54
+ # lerna
55
+ cat lerna.json | jq '.packages'
56
+ ```
57
+
58
+ 2. **Map files to packages**:
59
+ - `packages/cli/src/foo.ts` → `cli` package
60
+ - `apps/web/pages/index.tsx` → `web` package
61
+ - `libs/core/utils.ts` → `core` package
62
+ - Root-level files (README, configs) → may affect all packages or none
63
+
64
+ 3. **Read package.json for each affected package**:
65
+ ```bash
66
+ cat packages/cli/package.json | jq '.name'
67
+ ```
68
+
69
+ ### Handling Root Changes
70
+
71
+ Files at the repository root typically don't need changesets:
72
+ - `.github/*` - CI/CD changes
73
+ - `*.md` - Documentation
74
+ - `.eslintrc`, `tsconfig.json` - Config files
75
+ - `package.json` (root) - Dependency updates
76
+
77
+ Exception: If root changes affect package behavior, include relevant packages.
78
+
79
+ ## Version Inference
80
+
81
+ ### From Conventional Commits
82
+
83
+ Parse commit messages in the PR:
84
+ ```bash
85
+ gh pr view <number> --json commits --jq '.commits[].messageHeadline'
86
+ ```
87
+
88
+ | Prefix | Version | Example |
89
+ |--------|---------|---------|
90
+ | `feat:` | minor | `feat: add retry logic` |
91
+ | `feat!:` | major | `feat!: change API signature` |
92
+ | `fix:` | patch | `fix: handle null case` |
93
+ | `perf:` | patch | `perf: optimize query` |
94
+ | `refactor:` | patch | `refactor: extract helper` |
95
+ | `docs:` | patch | `docs: update README` |
96
+ | `chore:` | patch | `chore: update deps` |
97
+ | `BREAKING CHANGE` | major | (in commit body) |
98
+
99
+ ### From PR Content
100
+
101
+ If no conventional commits, analyze:
102
+ - PR title for keywords (add, fix, change, remove, break)
103
+ - PR body for context
104
+ - File changes (new files = likely feature, modified = likely fix)
105
+
106
+ ### Default Behavior
107
+
108
+ When uncertain:
109
+ - Default to `patch` for single-package changes
110
+ - Ask via comment if breaking changes are detected but unclear
111
+
112
+ ## Changeset Format
113
+
114
+ Changesets use this format in `.changeset/<random-id>.md`:
115
+
116
+ ```markdown
117
+ ---
118
+ "@myorg/cli": minor
119
+ "@myorg/core": patch
120
+ ---
121
+
122
+ Add retry logic for failed API requests
123
+
124
+ The CLI now automatically retries failed requests up to 3 times with exponential backoff.
125
+ ```
126
+
127
+ ### Formatting Rules
128
+
129
+ 1. **YAML frontmatter**: Package names in quotes, version bump type
130
+ 2. **Summary line**: Imperative mood, user-facing (what changed, not how)
131
+ 3. **Optional body**: Additional context, migration notes for breaking changes
132
+ 4. **Length**: Summary under 80 chars, body can be multiple paragraphs
133
+
134
+ ### Good vs Bad Summaries
135
+
136
+ | Bad (dev-speak) | Good (user-facing) |
137
+ |-----------------|-------------------|
138
+ | `refactored auth module` | `Improved authentication reliability` |
139
+ | `fixed bug in parser` | `Fixed parsing of nested arrays` |
140
+ | `added new function` | `Add support for custom themes` |
141
+ | `updated dependencies` | `Security updates for dependencies` |
142
+
143
+ ## Writing the Changeset
144
+
145
+ Use the `write-changeset` tool to create the changeset file:
146
+
147
+ ### Tool Arguments
148
+
149
+ | Argument | Required | Description |
150
+ |----------|----------|-------------|
151
+ | `packages` | Yes | Object mapping package names to bump types |
152
+ | `summary` | Yes | Short summary (imperative mood, user-facing) |
153
+ | `body` | No | Additional details or migration notes |
154
+
155
+ ### Example
156
+
157
+ ```json
158
+ {
159
+ "packages": {
160
+ "@myorg/cli": "minor",
161
+ "@myorg/core": "patch"
162
+ },
163
+ "summary": "Add retry logic for failed API requests",
164
+ "body": "The CLI now automatically retries failed requests up to 3 times with exponential backoff."
165
+ }
166
+ ```
167
+
168
+ ## Mode: commit
169
+
170
+ When mode is `commit`:
171
+
172
+ 1. Generate changeset using `write-changeset` tool
173
+ 2. Stage the new file:
174
+ ```bash
175
+ git add .changeset/*.md
176
+ ```
177
+ 3. Commit with `[skip ci]` to prevent infinite workflow loops:
178
+ ```bash
179
+ git commit -m "chore: add changeset for PR #<number> [skip ci]"
180
+ ```
181
+ 4. Push to PR branch:
182
+ ```bash
183
+ git push
184
+ ```
185
+
186
+ **CRITICAL**: Always include `[skip ci]` in the commit message to prevent the workflow from triggering itself.
187
+
188
+ ## Mode: comment
189
+
190
+ When mode is `comment`:
191
+
192
+ 1. Generate the changeset content
193
+ 2. Post as PR comment with the suggested changeset:
194
+
195
+ ````markdown
196
+ ## Suggested Changeset
197
+
198
+ Based on the changes in this PR, here's the recommended changeset:
199
+
200
+ ```markdown
201
+ ---
202
+ "@myorg/cli": minor
203
+ ---
204
+
205
+ Add retry logic for failed API requests
206
+ ```
207
+
208
+ <details>
209
+ <summary>How to apply</summary>
210
+
211
+ Create this file as `.changeset/<any-name>.md` and commit it to this PR.
212
+
213
+ Or run: `npx changeset add` and follow the prompts.
214
+ </details>
215
+ ````
216
+
217
+ ## Edge Cases
218
+
219
+ ### No Package Changes
220
+
221
+ If changes only affect non-package files (CI, docs, root configs):
222
+ - In `commit` mode: Skip creating changeset, post comment explaining why
223
+ - In `comment` mode: Explain that no changeset is needed
224
+
225
+ ### Multiple Packages, Same Change
226
+
227
+ When a change spans packages but represents one logical feature:
228
+ - Create ONE changeset file
229
+ - List all affected packages with appropriate bumps
230
+ - Write a unified summary
231
+
232
+ ### Existing Changeset
233
+
234
+ Before creating a new changeset:
235
+ ```bash
236
+ ls .changeset/*.md 2>/dev/null | head -5
237
+ ```
238
+
239
+ If changesets already exist for this PR:
240
+ - Check if they cover the current changes
241
+ - Only add a new one if there are uncovered changes
242
+ - Never overwrite existing changesets
243
+
244
+ ## Common Mistakes to Avoid
245
+
246
+ - Do NOT create changesets for documentation-only changes in most cases
247
+ - Do NOT guess package names - always verify from package.json
248
+ - Do NOT create empty changesets
249
+ - Do NOT overwrite existing changesets from previous commits
250
+ - Do NOT commit in `comment` mode
251
+ - Do NOT assume monorepo structure - verify it exists first
252
+ - Do NOT forget `[skip ci]` in commit message - this causes infinite workflow loops
253
+
254
+ ## Non-Monorepo Fallback
255
+
256
+ If no monorepo structure is detected (single package.json at root):
257
+ - Use the package name from root package.json
258
+ - Follow the same version inference rules
259
+ - Changeset format remains the same
260
+
261
+ ## Example Changeset Output
262
+
263
+ For a PR that adds a feature to the CLI and fixes a related bug in core:
264
+
265
+ ```markdown
266
+ ---
267
+ "@myorg/cli": minor
268
+ "@myorg/core": patch
269
+ ---
270
+
271
+ Add support for custom retry strategies
272
+
273
+ Users can now configure custom retry strategies for API requests. The default exponential backoff behavior is unchanged.
274
+
275
+ ```
276
+
277
+ ## Checklist Before Submitting
278
+
279
+ - [ ] Verified package names from actual package.json files
280
+ - [ ] Version bump matches the change type
281
+ - [ ] Summary is user-facing, not developer-focused
282
+ - [ ] Summary uses imperative mood ("Add" not "Added")
283
+ - [ ] No duplicate changesets for the same changes
284
+ - [ ] File committed only in `commit` mode
285
+ - [ ] Commit message includes `[skip ci]` (commit mode only)
package/dist/cli/index.js CHANGED
@@ -1,58 +1,58 @@
1
1
  #!/usr/bin/env bun
2
2
  // @bun
3
- var gs=Object.create;var{getPrototypeOf:xs,defineProperty:_o,getOwnPropertyNames:ks}=Object;var ys=Object.prototype.hasOwnProperty;var H=(s,n,e)=>{e=s!=null?gs(xs(s)):{};let l=n||!s||!s.__esModule?_o(e,"default",{value:s,enumerable:!0}):e;for(let r of ks(s))if(!ys.call(l,r))_o(l,r,{get:()=>s[r],enumerable:!0});return l};var u=(s,n)=>()=>(n||s((n={exports:{}}).exports,n),n.exports);var D=u((gn,Ao)=>{var F={to(s,n){if(!n)return`\x1B[${s+1}G`;return`\x1B[${n+1};${s+1}H`},move(s,n){let e="";if(s<0)e+=`\x1B[${-s}D`;else if(s>0)e+=`\x1B[${s}C`;if(n<0)e+=`\x1B[${-n}A`;else if(n>0)e+=`\x1B[${n}B`;return e},up:(s=1)=>`\x1B[${s}A`,down:(s=1)=>`\x1B[${s}B`,forward:(s=1)=>`\x1B[${s}C`,backward:(s=1)=>`\x1B[${s}D`,nextLine:(s=1)=>"\x1B[E".repeat(s),prevLine:(s=1)=>"\x1B[F".repeat(s),left:"\x1B[G",hide:"\x1B[?25l",show:"\x1B[?25h",save:"\x1B7",restore:"\x1B8"},Es={up:(s=1)=>"\x1B[S".repeat(s),down:(s=1)=>"\x1B[T".repeat(s)},Is={screen:"\x1B[2J",up:(s=1)=>"\x1B[1J".repeat(s),down:(s=1)=>"\x1B[J".repeat(s),line:"\x1B[2K",lineEnd:"\x1B[K",lineStart:"\x1B[1K",lines(s){let n="";for(let e=0;e<s;e++)n+=this.line+(e<s-1?F.up():"");if(s)n+=F.left;return n}};Ao.exports={cursor:F,scroll:Es,erase:Is,beep:"\x07"}});var so=u((xn,oo)=>{var V=process||{},Co=V.argv||[],G=V.env||{},Os=!(!!G.NO_COLOR||Co.includes("--no-color"))&&(!!G.FORCE_COLOR||Co.includes("--color")||V.platform==="win32"||(V.stdout||{}).isTTY&&G.TERM!=="dumb"||!!G.CI),vs=(s,n,e=s)=>(l)=>{let r=""+l,i=r.indexOf(n,s.length);return~i?s+$s(r,n,e,i)+n:s+r+n},$s=(s,n,e,l)=>{let r="",i=0;do r+=s.substring(i,l)+e,i=l+n.length,l=s.indexOf(n,i);while(~l);return r+s.substring(i)},No=(s=Os)=>{let n=s?vs:()=>String;return{isColorSupported:s,reset:n("\x1B[0m","\x1B[0m"),bold:n("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),dim:n("\x1B[2m","\x1B[22m","\x1B[22m\x1B[2m"),italic:n("\x1B[3m","\x1B[23m"),underline:n("\x1B[4m","\x1B[24m"),inverse:n("\x1B[7m","\x1B[27m"),hidden:n("\x1B[8m","\x1B[28m"),strikethrough:n("\x1B[9m","\x1B[29m"),black:n("\x1B[30m","\x1B[39m"),red:n("\x1B[31m","\x1B[39m"),green:n("\x1B[32m","\x1B[39m"),yellow:n("\x1B[33m","\x1B[39m"),blue:n("\x1B[34m","\x1B[39m"),magenta:n("\x1B[35m","\x1B[39m"),cyan:n("\x1B[36m","\x1B[39m"),white:n("\x1B[37m","\x1B[39m"),gray:n("\x1B[90m","\x1B[39m"),bgBlack:n("\x1B[40m","\x1B[49m"),bgRed:n("\x1B[41m","\x1B[49m"),bgGreen:n("\x1B[42m","\x1B[49m"),bgYellow:n("\x1B[43m","\x1B[49m"),bgBlue:n("\x1B[44m","\x1B[49m"),bgMagenta:n("\x1B[45m","\x1B[49m"),bgCyan:n("\x1B[46m","\x1B[49m"),bgWhite:n("\x1B[47m","\x1B[49m"),blackBright:n("\x1B[90m","\x1B[39m"),redBright:n("\x1B[91m","\x1B[39m"),greenBright:n("\x1B[92m","\x1B[39m"),yellowBright:n("\x1B[93m","\x1B[39m"),blueBright:n("\x1B[94m","\x1B[39m"),magentaBright:n("\x1B[95m","\x1B[39m"),cyanBright:n("\x1B[96m","\x1B[39m"),whiteBright:n("\x1B[97m","\x1B[39m"),bgBlackBright:n("\x1B[100m","\x1B[49m"),bgRedBright:n("\x1B[101m","\x1B[49m"),bgGreenBright:n("\x1B[102m","\x1B[49m"),bgYellowBright:n("\x1B[103m","\x1B[49m"),bgBlueBright:n("\x1B[104m","\x1B[49m"),bgMagentaBright:n("\x1B[105m","\x1B[49m"),bgCyanBright:n("\x1B[106m","\x1B[49m"),bgWhiteBright:n("\x1B[107m","\x1B[49m")}};oo.exports=No();oo.exports.createColors=No});var ps=u((un,mn)=>{mn.exports={name:"@activade/open-workflows",version:"2.0.5",description:"AI-powered GitHub automation workflows via composite actions",keywords:["github","github-actions","ai","automation","code-review","pr-review","issue-labeling","opencode"],author:"activadee",license:"MIT",repository:{type:"git",url:"git+https://github.com/activadee/open-workflows.git"},type:"module",bin:{"open-workflows":"dist/cli/index.js"},files:["dist","actions","README.md","LICENSE"],scripts:{clean:"rm -rf dist",build:"bun run clean && bun build src/cli/index.ts --outdir dist/cli --target bun --format esm --minify",dev:"bun run build --watch",typecheck:"tsc --noEmit",test:"bun test",prepublishOnly:"bun run clean && bun run build && bun run typecheck"},dependencies:{"@clack/prompts":"^0.10.0",picocolors:"^1.1.1"},devDependencies:{"@types/node":"^22.0.0","@types/bun":"^1.3.5",typescript:"^5.6.0"},engines:{node:">=18.0.0"}}});import{stripVTControlCharacters as co}from"util";var x=H(D(),1);import{stdin as Lo,stdout as Go}from"process";import*as S from"readline";import To from"readline";import{Writable as Ss}from"stream";function _s({onlyFirst:s=!1}={}){let n=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?(?:\\u0007|\\u001B\\u005C|\\u009C))","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|");return new RegExp(n,s?void 0:"g")}var As=_s();function Vo(s){if(typeof s!="string")throw TypeError(`Expected a \`string\`, got \`${typeof s}\``);return s.replace(As,"")}function Yo(s){return s&&s.__esModule&&Object.prototype.hasOwnProperty.call(s,"default")?s.default:s}var jo={exports:{}};(function(s){var n={};s.exports=n,n.eastAsianWidth=function(l){var r=l.charCodeAt(0),i=l.length==2?l.charCodeAt(1):0,o=r;return 55296<=r&&r<=56319&&56320<=i&&i<=57343&&(r&=1023,i&=1023,o=r<<10|i,o+=65536),o==12288||65281<=o&&o<=65376||65504<=o&&o<=65510?"F":o==8361||65377<=o&&o<=65470||65474<=o&&o<=65479||65482<=o&&o<=65487||65490<=o&&o<=65495||65498<=o&&o<=65500||65512<=o&&o<=65518?"H":4352<=o&&o<=4447||4515<=o&&o<=4519||4602<=o&&o<=4607||9001<=o&&o<=9002||11904<=o&&o<=11929||11931<=o&&o<=12019||12032<=o&&o<=12245||12272<=o&&o<=12283||12289<=o&&o<=12350||12353<=o&&o<=12438||12441<=o&&o<=12543||12549<=o&&o<=12589||12593<=o&&o<=12686||12688<=o&&o<=12730||12736<=o&&o<=12771||12784<=o&&o<=12830||12832<=o&&o<=12871||12880<=o&&o<=13054||13056<=o&&o<=19903||19968<=o&&o<=42124||42128<=o&&o<=42182||43360<=o&&o<=43388||44032<=o&&o<=55203||55216<=o&&o<=55238||55243<=o&&o<=55291||63744<=o&&o<=64255||65040<=o&&o<=65049||65072<=o&&o<=65106||65108<=o&&o<=65126||65128<=o&&o<=65131||110592<=o&&o<=110593||127488<=o&&o<=127490||127504<=o&&o<=127546||127552<=o&&o<=127560||127568<=o&&o<=127569||131072<=o&&o<=194367||177984<=o&&o<=196605||196608<=o&&o<=262141?"W":32<=o&&o<=126||162<=o&&o<=163||165<=o&&o<=166||o==172||o==175||10214<=o&&o<=10221||10629<=o&&o<=10630?"Na":o==161||o==164||167<=o&&o<=168||o==170||173<=o&&o<=174||176<=o&&o<=180||182<=o&&o<=186||188<=o&&o<=191||o==198||o==208||215<=o&&o<=216||222<=o&&o<=225||o==230||232<=o&&o<=234||236<=o&&o<=237||o==240||242<=o&&o<=243||247<=o&&o<=250||o==252||o==254||o==257||o==273||o==275||o==283||294<=o&&o<=295||o==299||305<=o&&o<=307||o==312||319<=o&&o<=322||o==324||328<=o&&o<=331||o==333||338<=o&&o<=339||358<=o&&o<=359||o==363||o==462||o==464||o==466||o==468||o==470||o==472||o==474||o==476||o==593||o==609||o==708||o==711||713<=o&&o<=715||o==717||o==720||728<=o&&o<=731||o==733||o==735||768<=o&&o<=879||913<=o&&o<=929||931<=o&&o<=937||945<=o&&o<=961||963<=o&&o<=969||o==1025||1040<=o&&o<=1103||o==1105||o==8208||8211<=o&&o<=8214||8216<=o&&o<=8217||8220<=o&&o<=8221||8224<=o&&o<=8226||8228<=o&&o<=8231||o==8240||8242<=o&&o<=8243||o==8245||o==8251||o==8254||o==8308||o==8319||8321<=o&&o<=8324||o==8364||o==8451||o==8453||o==8457||o==8467||o==8470||8481<=o&&o<=8482||o==8486||o==8491||8531<=o&&o<=8532||8539<=o&&o<=8542||8544<=o&&o<=8555||8560<=o&&o<=8569||o==8585||8592<=o&&o<=8601||8632<=o&&o<=8633||o==8658||o==8660||o==8679||o==8704||8706<=o&&o<=8707||8711<=o&&o<=8712||o==8715||o==8719||o==8721||o==8725||o==8730||8733<=o&&o<=8736||o==8739||o==8741||8743<=o&&o<=8748||o==8750||8756<=o&&o<=8759||8764<=o&&o<=8765||o==8776||o==8780||o==8786||8800<=o&&o<=8801||8804<=o&&o<=8807||8810<=o&&o<=8811||8814<=o&&o<=8815||8834<=o&&o<=8835||8838<=o&&o<=8839||o==8853||o==8857||o==8869||o==8895||o==8978||9312<=o&&o<=9449||9451<=o&&o<=9547||9552<=o&&o<=9587||9600<=o&&o<=9615||9618<=o&&o<=9621||9632<=o&&o<=9633||9635<=o&&o<=9641||9650<=o&&o<=9651||9654<=o&&o<=9655||9660<=o&&o<=9661||9664<=o&&o<=9665||9670<=o&&o<=9672||o==9675||9678<=o&&o<=9681||9698<=o&&o<=9701||o==9711||9733<=o&&o<=9734||o==9737||9742<=o&&o<=9743||9748<=o&&o<=9749||o==9756||o==9758||o==9792||o==9794||9824<=o&&o<=9825||9827<=o&&o<=9829||9831<=o&&o<=9834||9836<=o&&o<=9837||o==9839||9886<=o&&o<=9887||9918<=o&&o<=9919||9924<=o&&o<=9933||9935<=o&&o<=9953||o==9955||9960<=o&&o<=9983||o==10045||o==10071||10102<=o&&o<=10111||11093<=o&&o<=11097||12872<=o&&o<=12879||57344<=o&&o<=63743||65024<=o&&o<=65039||o==65533||127232<=o&&o<=127242||127248<=o&&o<=127277||127280<=o&&o<=127337||127344<=o&&o<=127386||917760<=o&&o<=917999||983040<=o&&o<=1048573||1048576<=o&&o<=1114109?"A":"N"},n.characterLength=function(l){var r=this.eastAsianWidth(l);return r=="F"||r=="W"||r=="A"?2:1};function e(l){return l.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g)||[]}n.length=function(l){for(var r=e(l),i=0,o=0;o<r.length;o++)i=i+this.characterLength(r[o]);return i},n.slice=function(l,r,i){textLen=n.length(l),r=r||0,i=i||1,r<0&&(r=textLen+r),i<0&&(i=textLen+i);for(var o="",a=0,p=e(l),m=0;m<p.length;m++){var w=p[m],c=n.length(w);if(a>=r-(c==2?1:0))if(a+c<=i)o+=w;else break;a+=c}return o}})(jo);var Cs=jo.exports,Ns=Yo(Cs),Ts=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g},Rs=Yo(Ts);function K(s,n={}){if(typeof s!="string"||s.length===0||(n={ambiguousIsNarrow:!0,...n},s=Vo(s),s.length===0))return 0;s=s.replace(Rs()," ");let e=n.ambiguousIsNarrow?1:2,l=0;for(let r of s){let i=r.codePointAt(0);if(i<=31||i>=127&&i<=159||i>=768&&i<=879)continue;switch(Ns.eastAsianWidth(r)){case"F":case"W":l+=2;break;case"A":l+=e;break;default:l+=1}}return l}var no=10,Ro=(s=0)=>(n)=>`\x1B[${n+s}m`,Po=(s=0)=>(n)=>`\x1B[${38+s};5;${n}m`,Bo=(s=0)=>(n,e,l)=>`\x1B[${38+s};2;${n};${e};${l}m`,f={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};Object.keys(f.modifier);var Ps=Object.keys(f.color),Bs=Object.keys(f.bgColor);[...Ps,...Bs];function Hs(){let s=new Map;for(let[n,e]of Object.entries(f)){for(let[l,r]of Object.entries(e))f[l]={open:`\x1B[${r[0]}m`,close:`\x1B[${r[1]}m`},e[l]=f[l],s.set(r[0],r[1]);Object.defineProperty(f,n,{value:e,enumerable:!1})}return Object.defineProperty(f,"codes",{value:s,enumerable:!1}),f.color.close="\x1B[39m",f.bgColor.close="\x1B[49m",f.color.ansi=Ro(),f.color.ansi256=Po(),f.color.ansi16m=Bo(),f.bgColor.ansi=Ro(no),f.bgColor.ansi256=Po(no),f.bgColor.ansi16m=Bo(no),Object.defineProperties(f,{rgbToAnsi256:{value:(n,e,l)=>n===e&&e===l?n<8?16:n>248?231:Math.round((n-8)/247*24)+232:16+36*Math.round(n/255*5)+6*Math.round(e/255*5)+Math.round(l/255*5),enumerable:!1},hexToRgb:{value:(n)=>{let e=/[a-f\d]{6}|[a-f\d]{3}/i.exec(n.toString(16));if(!e)return[0,0,0];let[l]=e;l.length===3&&(l=[...l].map((i)=>i+i).join(""));let r=Number.parseInt(l,16);return[r>>16&255,r>>8&255,r&255]},enumerable:!1},hexToAnsi256:{value:(n)=>f.rgbToAnsi256(...f.hexToRgb(n)),enumerable:!1},ansi256ToAnsi:{value:(n)=>{if(n<8)return 30+n;if(n<16)return 90+(n-8);let e,l,r;if(n>=232)e=((n-232)*10+8)/255,l=e,r=e;else{n-=16;let a=n%36;e=Math.floor(n/36)/5,l=Math.floor(a/6)/5,r=a%6/5}let i=Math.max(e,l,r)*2;if(i===0)return 30;let o=30+(Math.round(r)<<2|Math.round(l)<<1|Math.round(e));return i===2&&(o+=60),o},enumerable:!1},rgbToAnsi:{value:(n,e,l)=>f.ansi256ToAnsi(f.rgbToAnsi256(n,e,l)),enumerable:!1},hexToAnsi:{value:(n)=>f.ansi256ToAnsi(f.hexToAnsi256(n)),enumerable:!1}}),f}var Ks=Hs(),q=new Set(["\x1B","\x9B"]),Ws=39,lo="\x07",qo="[",Us="]",zo="m",io=`${Us}8;;`,Ho=(s)=>`${q.values().next().value}${qo}${s}${zo}`,Ko=(s)=>`${q.values().next().value}${io}${s}${lo}`,Ls=(s)=>s.split(" ").map((n)=>K(n)),eo=(s,n,e)=>{let l=[...n],r=!1,i=!1,o=K(Vo(s[s.length-1]));for(let[a,p]of l.entries()){let m=K(p);if(o+m<=e?s[s.length-1]+=p:(s.push(p),o=0),q.has(p)&&(r=!0,i=l.slice(a+1).join("").startsWith(io)),r){i?p===lo&&(r=!1,i=!1):p===zo&&(r=!1);continue}o+=m,o===e&&a<l.length-1&&(s.push(""),o=0)}!o&&s[s.length-1].length>0&&s.length>1&&(s[s.length-2]+=s.pop())},Gs=(s)=>{let n=s.split(" "),e=n.length;for(;e>0&&!(K(n[e-1])>0);)e--;return e===n.length?s:n.slice(0,e).join(" ")+n.slice(e).join("")},Vs=(s,n,e={})=>{if(e.trim!==!1&&s.trim()==="")return"";let l="",r,i,o=Ls(s),a=[""];for(let[m,w]of s.split(" ").entries()){e.trim!==!1&&(a[a.length-1]=a[a.length-1].trimStart());let c=K(a[a.length-1]);if(m!==0&&(c>=n&&(e.wordWrap===!1||e.trim===!1)&&(a.push(""),c=0),(c>0||e.trim===!1)&&(a[a.length-1]+=" ",c++)),e.hard&&o[m]>n){let h=n-c,I=1+Math.floor((o[m]-h-1)/n);Math.floor((o[m]-1)/n)<I&&a.push(""),eo(a,w,n);continue}if(c+o[m]>n&&c>0&&o[m]>0){if(e.wordWrap===!1&&c<n){eo(a,w,n);continue}a.push("")}if(c+o[m]>n&&e.wordWrap===!1){eo(a,w,n);continue}a[a.length-1]+=w}e.trim!==!1&&(a=a.map((m)=>Gs(m)));let p=[...a.join(`
4
- `)];for(let[m,w]of p.entries()){if(l+=w,q.has(w)){let{groups:h}=new RegExp(`(?:\\${qo}(?<code>\\d+)m|\\${io}(?<uri>.*)${lo})`).exec(p.slice(m).join(""))||{groups:{}};if(h.code!==void 0){let I=Number.parseFloat(h.code);r=I===Ws?void 0:I}else h.uri!==void 0&&(i=h.uri.length===0?void 0:h.uri)}let c=Ks.codes.get(Number(r));p[m+1]===`
5
- `?(i&&(l+=Ko("")),r&&c&&(l+=Ho(c))):w===`
6
- `&&(r&&c&&(l+=Ho(r)),i&&(l+=Ko(i)))}return l};function Wo(s,n,e){return String(s).normalize().replace(/\r\n/g,`
3
+ var xs=Object.create;var{getPrototypeOf:ks,defineProperty:Ao,getOwnPropertyNames:Es}=Object;var ys=Object.prototype.hasOwnProperty;var H=(s,e,n)=>{n=s!=null?xs(ks(s)):{};let l=e||!s||!s.__esModule?Ao(n,"default",{value:s,enumerable:!0}):n;for(let r of Es(s))if(!ys.call(l,r))Ao(l,r,{get:()=>s[r],enumerable:!0});return l};var u=(s,e)=>()=>(e||s((e={exports:{}}).exports,e),e.exports);var D=u((de,No)=>{var F={to(s,e){if(!e)return`\x1B[${s+1}G`;return`\x1B[${e+1};${s+1}H`},move(s,e){let n="";if(s<0)n+=`\x1B[${-s}D`;else if(s>0)n+=`\x1B[${s}C`;if(e<0)n+=`\x1B[${-e}A`;else if(e>0)n+=`\x1B[${e}B`;return n},up:(s=1)=>`\x1B[${s}A`,down:(s=1)=>`\x1B[${s}B`,forward:(s=1)=>`\x1B[${s}C`,backward:(s=1)=>`\x1B[${s}D`,nextLine:(s=1)=>"\x1B[E".repeat(s),prevLine:(s=1)=>"\x1B[F".repeat(s),left:"\x1B[G",hide:"\x1B[?25l",show:"\x1B[?25h",save:"\x1B7",restore:"\x1B8"},Is={up:(s=1)=>"\x1B[S".repeat(s),down:(s=1)=>"\x1B[T".repeat(s)},Os={screen:"\x1B[2J",up:(s=1)=>"\x1B[1J".repeat(s),down:(s=1)=>"\x1B[J".repeat(s),line:"\x1B[2K",lineEnd:"\x1B[K",lineStart:"\x1B[1K",lines(s){let e="";for(let n=0;n<s;n++)e+=this.line+(n<s-1?F.up():"");if(s)e+=F.left;return e}};No.exports={cursor:F,scroll:Is,erase:Os,beep:"\x07"}});var so=u((xe,oo)=>{var V=process||{},Co=V.argv||[],L=V.env||{},vs=!(!!L.NO_COLOR||Co.includes("--no-color"))&&(!!L.FORCE_COLOR||Co.includes("--color")||V.platform==="win32"||(V.stdout||{}).isTTY&&L.TERM!=="dumb"||!!L.CI),$s=(s,e,n=s)=>(l)=>{let r=""+l,t=r.indexOf(e,s.length);return~t?s+_s(r,e,n,t)+e:s+r+e},_s=(s,e,n,l)=>{let r="",t=0;do r+=s.substring(t,l)+n,t=l+e.length,l=s.indexOf(e,t);while(~l);return r+s.substring(t)},To=(s=vs)=>{let e=s?$s:()=>String;return{isColorSupported:s,reset:e("\x1B[0m","\x1B[0m"),bold:e("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),dim:e("\x1B[2m","\x1B[22m","\x1B[22m\x1B[2m"),italic:e("\x1B[3m","\x1B[23m"),underline:e("\x1B[4m","\x1B[24m"),inverse:e("\x1B[7m","\x1B[27m"),hidden:e("\x1B[8m","\x1B[28m"),strikethrough:e("\x1B[9m","\x1B[29m"),black:e("\x1B[30m","\x1B[39m"),red:e("\x1B[31m","\x1B[39m"),green:e("\x1B[32m","\x1B[39m"),yellow:e("\x1B[33m","\x1B[39m"),blue:e("\x1B[34m","\x1B[39m"),magenta:e("\x1B[35m","\x1B[39m"),cyan:e("\x1B[36m","\x1B[39m"),white:e("\x1B[37m","\x1B[39m"),gray:e("\x1B[90m","\x1B[39m"),bgBlack:e("\x1B[40m","\x1B[49m"),bgRed:e("\x1B[41m","\x1B[49m"),bgGreen:e("\x1B[42m","\x1B[49m"),bgYellow:e("\x1B[43m","\x1B[49m"),bgBlue:e("\x1B[44m","\x1B[49m"),bgMagenta:e("\x1B[45m","\x1B[49m"),bgCyan:e("\x1B[46m","\x1B[49m"),bgWhite:e("\x1B[47m","\x1B[49m"),blackBright:e("\x1B[90m","\x1B[39m"),redBright:e("\x1B[91m","\x1B[39m"),greenBright:e("\x1B[92m","\x1B[39m"),yellowBright:e("\x1B[93m","\x1B[39m"),blueBright:e("\x1B[94m","\x1B[39m"),magentaBright:e("\x1B[95m","\x1B[39m"),cyanBright:e("\x1B[96m","\x1B[39m"),whiteBright:e("\x1B[97m","\x1B[39m"),bgBlackBright:e("\x1B[100m","\x1B[49m"),bgRedBright:e("\x1B[101m","\x1B[49m"),bgGreenBright:e("\x1B[102m","\x1B[49m"),bgYellowBright:e("\x1B[103m","\x1B[49m"),bgBlueBright:e("\x1B[104m","\x1B[49m"),bgMagentaBright:e("\x1B[105m","\x1B[49m"),bgCyanBright:e("\x1B[106m","\x1B[49m"),bgWhiteBright:e("\x1B[107m","\x1B[49m")}};oo.exports=To();oo.exports.createColors=To});var cs=u((on,me)=>{me.exports={name:"@activade/open-workflows",version:"2.0.6",description:"AI-powered GitHub automation workflows via composite actions",keywords:["github","github-actions","ai","automation","code-review","pr-review","issue-labeling","opencode"],author:"activadee",license:"MIT",repository:{type:"git",url:"git+https://github.com/activadee/open-workflows.git"},type:"module",bin:{"open-workflows":"dist/cli/index.js"},files:["dist","actions","README.md","LICENSE"],scripts:{clean:"rm -rf dist",build:"bun run clean && bun build src/cli/index.ts --outdir dist/cli --target bun --format esm --minify",dev:"bun run build --watch",typecheck:"tsc --noEmit",test:"bun test",prepublishOnly:"bun run clean && bun run build && bun run typecheck"},dependencies:{"@clack/prompts":"^0.10.0",picocolors:"^1.1.1"},devDependencies:{"@types/node":"^22.0.0","@types/bun":"^1.3.5",typescript:"^5.6.0"},engines:{node:">=18.0.0"}}});import{stripVTControlCharacters as co}from"util";var x=H(D(),1);import{stdin as Lo,stdout as Vo}from"process";import*as _ from"readline";import Po from"readline";import{Writable as Ss}from"stream";function As({onlyFirst:s=!1}={}){let e=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?(?:\\u0007|\\u001B\\u005C|\\u009C))","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|");return new RegExp(e,s?void 0:"g")}var Ns=As();function Yo(s){if(typeof s!="string")throw TypeError(`Expected a \`string\`, got \`${typeof s}\``);return s.replace(Ns,"")}function jo(s){return s&&s.__esModule&&Object.prototype.hasOwnProperty.call(s,"default")?s.default:s}var qo={exports:{}};(function(s){var e={};s.exports=e,e.eastAsianWidth=function(l){var r=l.charCodeAt(0),t=l.length==2?l.charCodeAt(1):0,o=r;return 55296<=r&&r<=56319&&56320<=t&&t<=57343&&(r&=1023,t&=1023,o=r<<10|t,o+=65536),o==12288||65281<=o&&o<=65376||65504<=o&&o<=65510?"F":o==8361||65377<=o&&o<=65470||65474<=o&&o<=65479||65482<=o&&o<=65487||65490<=o&&o<=65495||65498<=o&&o<=65500||65512<=o&&o<=65518?"H":4352<=o&&o<=4447||4515<=o&&o<=4519||4602<=o&&o<=4607||9001<=o&&o<=9002||11904<=o&&o<=11929||11931<=o&&o<=12019||12032<=o&&o<=12245||12272<=o&&o<=12283||12289<=o&&o<=12350||12353<=o&&o<=12438||12441<=o&&o<=12543||12549<=o&&o<=12589||12593<=o&&o<=12686||12688<=o&&o<=12730||12736<=o&&o<=12771||12784<=o&&o<=12830||12832<=o&&o<=12871||12880<=o&&o<=13054||13056<=o&&o<=19903||19968<=o&&o<=42124||42128<=o&&o<=42182||43360<=o&&o<=43388||44032<=o&&o<=55203||55216<=o&&o<=55238||55243<=o&&o<=55291||63744<=o&&o<=64255||65040<=o&&o<=65049||65072<=o&&o<=65106||65108<=o&&o<=65126||65128<=o&&o<=65131||110592<=o&&o<=110593||127488<=o&&o<=127490||127504<=o&&o<=127546||127552<=o&&o<=127560||127568<=o&&o<=127569||131072<=o&&o<=194367||177984<=o&&o<=196605||196608<=o&&o<=262141?"W":32<=o&&o<=126||162<=o&&o<=163||165<=o&&o<=166||o==172||o==175||10214<=o&&o<=10221||10629<=o&&o<=10630?"Na":o==161||o==164||167<=o&&o<=168||o==170||173<=o&&o<=174||176<=o&&o<=180||182<=o&&o<=186||188<=o&&o<=191||o==198||o==208||215<=o&&o<=216||222<=o&&o<=225||o==230||232<=o&&o<=234||236<=o&&o<=237||o==240||242<=o&&o<=243||247<=o&&o<=250||o==252||o==254||o==257||o==273||o==275||o==283||294<=o&&o<=295||o==299||305<=o&&o<=307||o==312||319<=o&&o<=322||o==324||328<=o&&o<=331||o==333||338<=o&&o<=339||358<=o&&o<=359||o==363||o==462||o==464||o==466||o==468||o==470||o==472||o==474||o==476||o==593||o==609||o==708||o==711||713<=o&&o<=715||o==717||o==720||728<=o&&o<=731||o==733||o==735||768<=o&&o<=879||913<=o&&o<=929||931<=o&&o<=937||945<=o&&o<=961||963<=o&&o<=969||o==1025||1040<=o&&o<=1103||o==1105||o==8208||8211<=o&&o<=8214||8216<=o&&o<=8217||8220<=o&&o<=8221||8224<=o&&o<=8226||8228<=o&&o<=8231||o==8240||8242<=o&&o<=8243||o==8245||o==8251||o==8254||o==8308||o==8319||8321<=o&&o<=8324||o==8364||o==8451||o==8453||o==8457||o==8467||o==8470||8481<=o&&o<=8482||o==8486||o==8491||8531<=o&&o<=8532||8539<=o&&o<=8542||8544<=o&&o<=8555||8560<=o&&o<=8569||o==8585||8592<=o&&o<=8601||8632<=o&&o<=8633||o==8658||o==8660||o==8679||o==8704||8706<=o&&o<=8707||8711<=o&&o<=8712||o==8715||o==8719||o==8721||o==8725||o==8730||8733<=o&&o<=8736||o==8739||o==8741||8743<=o&&o<=8748||o==8750||8756<=o&&o<=8759||8764<=o&&o<=8765||o==8776||o==8780||o==8786||8800<=o&&o<=8801||8804<=o&&o<=8807||8810<=o&&o<=8811||8814<=o&&o<=8815||8834<=o&&o<=8835||8838<=o&&o<=8839||o==8853||o==8857||o==8869||o==8895||o==8978||9312<=o&&o<=9449||9451<=o&&o<=9547||9552<=o&&o<=9587||9600<=o&&o<=9615||9618<=o&&o<=9621||9632<=o&&o<=9633||9635<=o&&o<=9641||9650<=o&&o<=9651||9654<=o&&o<=9655||9660<=o&&o<=9661||9664<=o&&o<=9665||9670<=o&&o<=9672||o==9675||9678<=o&&o<=9681||9698<=o&&o<=9701||o==9711||9733<=o&&o<=9734||o==9737||9742<=o&&o<=9743||9748<=o&&o<=9749||o==9756||o==9758||o==9792||o==9794||9824<=o&&o<=9825||9827<=o&&o<=9829||9831<=o&&o<=9834||9836<=o&&o<=9837||o==9839||9886<=o&&o<=9887||9918<=o&&o<=9919||9924<=o&&o<=9933||9935<=o&&o<=9953||o==9955||9960<=o&&o<=9983||o==10045||o==10071||10102<=o&&o<=10111||11093<=o&&o<=11097||12872<=o&&o<=12879||57344<=o&&o<=63743||65024<=o&&o<=65039||o==65533||127232<=o&&o<=127242||127248<=o&&o<=127277||127280<=o&&o<=127337||127344<=o&&o<=127386||917760<=o&&o<=917999||983040<=o&&o<=1048573||1048576<=o&&o<=1114109?"A":"N"},e.characterLength=function(l){var r=this.eastAsianWidth(l);return r=="F"||r=="W"||r=="A"?2:1};function n(l){return l.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g)||[]}e.length=function(l){for(var r=n(l),t=0,o=0;o<r.length;o++)t=t+this.characterLength(r[o]);return t},e.slice=function(l,r,t){textLen=e.length(l),r=r||0,t=t||1,r<0&&(r=textLen+r),t<0&&(t=textLen+t);for(var o="",a=0,p=n(l),m=0;m<p.length;m++){var w=p[m],c=e.length(w);if(a>=r-(c==2?1:0))if(a+c<=t)o+=w;else break;a+=c}return o}})(qo);var Cs=qo.exports,Ts=jo(Cs),Ps=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g},Rs=jo(Ps);function K(s,e={}){if(typeof s!="string"||s.length===0||(e={ambiguousIsNarrow:!0,...e},s=Yo(s),s.length===0))return 0;s=s.replace(Rs()," ");let n=e.ambiguousIsNarrow?1:2,l=0;for(let r of s){let t=r.codePointAt(0);if(t<=31||t>=127&&t<=159||t>=768&&t<=879)continue;switch(Ts.eastAsianWidth(r)){case"F":case"W":l+=2;break;case"A":l+=n;break;default:l+=1}}return l}var eo=10,Ro=(s=0)=>(e)=>`\x1B[${e+s}m`,Bo=(s=0)=>(e)=>`\x1B[${38+s};5;${e}m`,Ho=(s=0)=>(e,n,l)=>`\x1B[${38+s};2;${e};${n};${l}m`,f={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};Object.keys(f.modifier);var Bs=Object.keys(f.color),Hs=Object.keys(f.bgColor);[...Bs,...Hs];function Ks(){let s=new Map;for(let[e,n]of Object.entries(f)){for(let[l,r]of Object.entries(n))f[l]={open:`\x1B[${r[0]}m`,close:`\x1B[${r[1]}m`},n[l]=f[l],s.set(r[0],r[1]);Object.defineProperty(f,e,{value:n,enumerable:!1})}return Object.defineProperty(f,"codes",{value:s,enumerable:!1}),f.color.close="\x1B[39m",f.bgColor.close="\x1B[49m",f.color.ansi=Ro(),f.color.ansi256=Bo(),f.color.ansi16m=Ho(),f.bgColor.ansi=Ro(eo),f.bgColor.ansi256=Bo(eo),f.bgColor.ansi16m=Ho(eo),Object.defineProperties(f,{rgbToAnsi256:{value:(e,n,l)=>e===n&&n===l?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(n/255*5)+Math.round(l/255*5),enumerable:!1},hexToRgb:{value:(e)=>{let n=/[a-f\d]{6}|[a-f\d]{3}/i.exec(e.toString(16));if(!n)return[0,0,0];let[l]=n;l.length===3&&(l=[...l].map((t)=>t+t).join(""));let r=Number.parseInt(l,16);return[r>>16&255,r>>8&255,r&255]},enumerable:!1},hexToAnsi256:{value:(e)=>f.rgbToAnsi256(...f.hexToRgb(e)),enumerable:!1},ansi256ToAnsi:{value:(e)=>{if(e<8)return 30+e;if(e<16)return 90+(e-8);let n,l,r;if(e>=232)n=((e-232)*10+8)/255,l=n,r=n;else{e-=16;let a=e%36;n=Math.floor(e/36)/5,l=Math.floor(a/6)/5,r=a%6/5}let t=Math.max(n,l,r)*2;if(t===0)return 30;let o=30+(Math.round(r)<<2|Math.round(l)<<1|Math.round(n));return t===2&&(o+=60),o},enumerable:!1},rgbToAnsi:{value:(e,n,l)=>f.ansi256ToAnsi(f.rgbToAnsi256(e,n,l)),enumerable:!1},hexToAnsi:{value:(e)=>f.ansi256ToAnsi(f.hexToAnsi256(e)),enumerable:!1}}),f}var Us=Ks(),q=new Set(["\x1B","\x9B"]),Ws=39,lo="\x07",zo="[",Gs="]",Jo="m",to=`${Gs}8;;`,Ko=(s)=>`${q.values().next().value}${zo}${s}${Jo}`,Uo=(s)=>`${q.values().next().value}${to}${s}${lo}`,Ls=(s)=>s.split(" ").map((e)=>K(e)),no=(s,e,n)=>{let l=[...e],r=!1,t=!1,o=K(Yo(s[s.length-1]));for(let[a,p]of l.entries()){let m=K(p);if(o+m<=n?s[s.length-1]+=p:(s.push(p),o=0),q.has(p)&&(r=!0,t=l.slice(a+1).join("").startsWith(to)),r){t?p===lo&&(r=!1,t=!1):p===Jo&&(r=!1);continue}o+=m,o===n&&a<l.length-1&&(s.push(""),o=0)}!o&&s[s.length-1].length>0&&s.length>1&&(s[s.length-2]+=s.pop())},Vs=(s)=>{let e=s.split(" "),n=e.length;for(;n>0&&!(K(e[n-1])>0);)n--;return n===e.length?s:e.slice(0,n).join(" ")+e.slice(n).join("")},Ys=(s,e,n={})=>{if(n.trim!==!1&&s.trim()==="")return"";let l="",r,t,o=Ls(s),a=[""];for(let[m,w]of s.split(" ").entries()){n.trim!==!1&&(a[a.length-1]=a[a.length-1].trimStart());let c=K(a[a.length-1]);if(m!==0&&(c>=e&&(n.wordWrap===!1||n.trim===!1)&&(a.push(""),c=0),(c>0||n.trim===!1)&&(a[a.length-1]+=" ",c++)),n.hard&&o[m]>e){let g=e-c,I=1+Math.floor((o[m]-g-1)/e);Math.floor((o[m]-1)/e)<I&&a.push(""),no(a,w,e);continue}if(c+o[m]>e&&c>0&&o[m]>0){if(n.wordWrap===!1&&c<e){no(a,w,e);continue}a.push("")}if(c+o[m]>e&&n.wordWrap===!1){no(a,w,e);continue}a[a.length-1]+=w}n.trim!==!1&&(a=a.map((m)=>Vs(m)));let p=[...a.join(`
4
+ `)];for(let[m,w]of p.entries()){if(l+=w,q.has(w)){let{groups:g}=new RegExp(`(?:\\${zo}(?<code>\\d+)m|\\${to}(?<uri>.*)${lo})`).exec(p.slice(m).join(""))||{groups:{}};if(g.code!==void 0){let I=Number.parseFloat(g.code);r=I===Ws?void 0:I}else g.uri!==void 0&&(t=g.uri.length===0?void 0:g.uri)}let c=Us.codes.get(Number(r));p[m+1]===`
5
+ `?(t&&(l+=Uo("")),r&&c&&(l+=Ko(c))):w===`
6
+ `&&(r&&c&&(l+=Ko(r)),t&&(l+=Uo(t)))}return l};function Wo(s,e,n){return String(s).normalize().replace(/\r\n/g,`
7
7
  `).split(`
8
- `).map((l)=>Vs(l,n,e)).join(`
9
- `)}var Ys=["up","down","left","right","space","enter","cancel"],j={actions:new Set(Ys),aliases:new Map([["k","up"],["j","down"],["h","left"],["l","right"],["\x03","cancel"],["escape","cancel"]])};function to(s,n){if(typeof s=="string")return j.aliases.get(s)===n;for(let e of s)if(e!==void 0&&to(e,n))return!0;return!1}function js(s,n){if(s===n)return;let e=s.split(`
10
- `),l=n.split(`
11
- `),r=[];for(let i=0;i<Math.max(e.length,l.length);i++)e[i]!==l[i]&&r.push(i);return r}var qs=globalThis.process.platform.startsWith("win"),ro=Symbol("clack:cancel");function C(s){return s===ro}function Y(s,n){let e=s;e.isTTY&&e.setRawMode(n)}function Jo({input:s=Lo,output:n=Go,overwrite:e=!0,hideCursor:l=!0}={}){let r=S.createInterface({input:s,output:n,prompt:"",tabSize:1});S.emitKeypressEvents(s,r),s.isTTY&&s.setRawMode(!0);let i=(o,{name:a,sequence:p})=>{let m=String(o);if(to([m,a,p],"cancel")){l&&n.write(x.cursor.show),process.exit(0);return}if(!e)return;S.moveCursor(n,a==="return"?0:-1,a==="return"?-1:0,()=>{S.clearLine(n,1,()=>{s.once("keypress",i)})})};return l&&n.write(x.cursor.hide),s.once("keypress",i),()=>{s.off("keypress",i),l&&n.write(x.cursor.show),s.isTTY&&!qs&&s.setRawMode(!1),r.terminal=!1,r.close()}}var zs=Object.defineProperty,Js=(s,n,e)=>(n in s)?zs(s,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[n]=e,E=(s,n,e)=>(Js(s,typeof n!="symbol"?n+"":n,e),e);class ao{constructor(s,n=!0){E(this,"input"),E(this,"output"),E(this,"_abortSignal"),E(this,"rl"),E(this,"opts"),E(this,"_render"),E(this,"_track",!1),E(this,"_prevFrame",""),E(this,"_subscribers",new Map),E(this,"_cursor",0),E(this,"state","initial"),E(this,"error",""),E(this,"value");let{input:e=Lo,output:l=Go,render:r,signal:i,...o}=s;this.opts=o,this.onKeypress=this.onKeypress.bind(this),this.close=this.close.bind(this),this.render=this.render.bind(this),this._render=r.bind(this),this._track=n,this._abortSignal=i,this.input=e,this.output=l}unsubscribe(){this._subscribers.clear()}setSubscriber(s,n){let e=this._subscribers.get(s)??[];e.push(n),this._subscribers.set(s,e)}on(s,n){this.setSubscriber(s,{cb:n})}once(s,n){this.setSubscriber(s,{cb:n,once:!0})}emit(s,...n){let e=this._subscribers.get(s)??[],l=[];for(let r of e)r.cb(...n),r.once&&l.push(()=>e.splice(e.indexOf(r),1));for(let r of l)r()}prompt(){return new Promise((s,n)=>{if(this._abortSignal){if(this._abortSignal.aborted)return this.state="cancel",this.close(),s(ro);this._abortSignal.addEventListener("abort",()=>{this.state="cancel",this.close()},{once:!0})}let e=new Ss;e._write=(l,r,i)=>{this._track&&(this.value=this.rl?.line.replace(/\t/g,""),this._cursor=this.rl?.cursor??0,this.emit("value",this.value)),i()},this.input.pipe(e),this.rl=To.createInterface({input:this.input,output:e,tabSize:2,prompt:"",escapeCodeTimeout:50,terminal:!0}),To.emitKeypressEvents(this.input,this.rl),this.rl.prompt(),this.opts.initialValue!==void 0&&this._track&&this.rl.write(this.opts.initialValue),this.input.on("keypress",this.onKeypress),Y(this.input,!0),this.output.on("resize",this.render),this.render(),this.once("submit",()=>{this.output.write(x.cursor.show),this.output.off("resize",this.render),Y(this.input,!1),s(this.value)}),this.once("cancel",()=>{this.output.write(x.cursor.show),this.output.off("resize",this.render),Y(this.input,!1),s(ro)})})}onKeypress(s,n){if(this.state==="error"&&(this.state="active"),n?.name&&(!this._track&&j.aliases.has(n.name)&&this.emit("cursor",j.aliases.get(n.name)),j.actions.has(n.name)&&this.emit("cursor",n.name)),s&&(s.toLowerCase()==="y"||s.toLowerCase()==="n")&&this.emit("confirm",s.toLowerCase()==="y"),s==="\t"&&this.opts.placeholder&&(this.value||(this.rl?.write(this.opts.placeholder),this.emit("value",this.opts.placeholder))),s&&this.emit("key",s.toLowerCase()),n?.name==="return"){if(!this.value&&this.opts.placeholder&&(this.rl?.write(this.opts.placeholder),this.emit("value",this.opts.placeholder)),this.opts.validate){let e=this.opts.validate(this.value);e&&(this.error=e instanceof Error?e.message:e,this.state="error",this.rl?.write(this.value))}this.state!=="error"&&(this.state="submit")}to([s,n?.name,n?.sequence],"cancel")&&(this.state="cancel"),(this.state==="submit"||this.state==="cancel")&&this.emit("finalize"),this.render(),(this.state==="submit"||this.state==="cancel")&&this.close()}close(){this.input.unpipe(),this.input.removeListener("keypress",this.onKeypress),this.output.write(`
8
+ `).map((l)=>Ys(l,e,n)).join(`
9
+ `)}var js=["up","down","left","right","space","enter","cancel"],j={actions:new Set(js),aliases:new Map([["k","up"],["j","down"],["h","left"],["l","right"],["\x03","cancel"],["escape","cancel"]])};function io(s,e){if(typeof s=="string")return j.aliases.get(s)===e;for(let n of s)if(n!==void 0&&io(n,e))return!0;return!1}function qs(s,e){if(s===e)return;let n=s.split(`
10
+ `),l=e.split(`
11
+ `),r=[];for(let t=0;t<Math.max(n.length,l.length);t++)n[t]!==l[t]&&r.push(t);return r}var zs=globalThis.process.platform.startsWith("win"),ro=Symbol("clack:cancel");function T(s){return s===ro}function Y(s,e){let n=s;n.isTTY&&n.setRawMode(e)}function Qo({input:s=Lo,output:e=Vo,overwrite:n=!0,hideCursor:l=!0}={}){let r=_.createInterface({input:s,output:e,prompt:"",tabSize:1});_.emitKeypressEvents(s,r),s.isTTY&&s.setRawMode(!0);let t=(o,{name:a,sequence:p})=>{let m=String(o);if(io([m,a,p],"cancel")){l&&e.write(x.cursor.show),process.exit(0);return}if(!n)return;_.moveCursor(e,a==="return"?0:-1,a==="return"?-1:0,()=>{_.clearLine(e,1,()=>{s.once("keypress",t)})})};return l&&e.write(x.cursor.hide),s.once("keypress",t),()=>{s.off("keypress",t),l&&e.write(x.cursor.show),s.isTTY&&!zs&&s.setRawMode(!1),r.terminal=!1,r.close()}}var Js=Object.defineProperty,Qs=(s,e,n)=>(e in s)?Js(s,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):s[e]=n,y=(s,e,n)=>(Qs(s,typeof e!="symbol"?e+"":e,n),n);class ao{constructor(s,e=!0){y(this,"input"),y(this,"output"),y(this,"_abortSignal"),y(this,"rl"),y(this,"opts"),y(this,"_render"),y(this,"_track",!1),y(this,"_prevFrame",""),y(this,"_subscribers",new Map),y(this,"_cursor",0),y(this,"state","initial"),y(this,"error",""),y(this,"value");let{input:n=Lo,output:l=Vo,render:r,signal:t,...o}=s;this.opts=o,this.onKeypress=this.onKeypress.bind(this),this.close=this.close.bind(this),this.render=this.render.bind(this),this._render=r.bind(this),this._track=e,this._abortSignal=t,this.input=n,this.output=l}unsubscribe(){this._subscribers.clear()}setSubscriber(s,e){let n=this._subscribers.get(s)??[];n.push(e),this._subscribers.set(s,n)}on(s,e){this.setSubscriber(s,{cb:e})}once(s,e){this.setSubscriber(s,{cb:e,once:!0})}emit(s,...e){let n=this._subscribers.get(s)??[],l=[];for(let r of n)r.cb(...e),r.once&&l.push(()=>n.splice(n.indexOf(r),1));for(let r of l)r()}prompt(){return new Promise((s,e)=>{if(this._abortSignal){if(this._abortSignal.aborted)return this.state="cancel",this.close(),s(ro);this._abortSignal.addEventListener("abort",()=>{this.state="cancel",this.close()},{once:!0})}let n=new Ss;n._write=(l,r,t)=>{this._track&&(this.value=this.rl?.line.replace(/\t/g,""),this._cursor=this.rl?.cursor??0,this.emit("value",this.value)),t()},this.input.pipe(n),this.rl=Po.createInterface({input:this.input,output:n,tabSize:2,prompt:"",escapeCodeTimeout:50,terminal:!0}),Po.emitKeypressEvents(this.input,this.rl),this.rl.prompt(),this.opts.initialValue!==void 0&&this._track&&this.rl.write(this.opts.initialValue),this.input.on("keypress",this.onKeypress),Y(this.input,!0),this.output.on("resize",this.render),this.render(),this.once("submit",()=>{this.output.write(x.cursor.show),this.output.off("resize",this.render),Y(this.input,!1),s(this.value)}),this.once("cancel",()=>{this.output.write(x.cursor.show),this.output.off("resize",this.render),Y(this.input,!1),s(ro)})})}onKeypress(s,e){if(this.state==="error"&&(this.state="active"),e?.name&&(!this._track&&j.aliases.has(e.name)&&this.emit("cursor",j.aliases.get(e.name)),j.actions.has(e.name)&&this.emit("cursor",e.name)),s&&(s.toLowerCase()==="y"||s.toLowerCase()==="n")&&this.emit("confirm",s.toLowerCase()==="y"),s==="\t"&&this.opts.placeholder&&(this.value||(this.rl?.write(this.opts.placeholder),this.emit("value",this.opts.placeholder))),s&&this.emit("key",s.toLowerCase()),e?.name==="return"){if(!this.value&&this.opts.placeholder&&(this.rl?.write(this.opts.placeholder),this.emit("value",this.opts.placeholder)),this.opts.validate){let n=this.opts.validate(this.value);n&&(this.error=n instanceof Error?n.message:n,this.state="error",this.rl?.write(this.value))}this.state!=="error"&&(this.state="submit")}io([s,e?.name,e?.sequence],"cancel")&&(this.state="cancel"),(this.state==="submit"||this.state==="cancel")&&this.emit("finalize"),this.render(),(this.state==="submit"||this.state==="cancel")&&this.close()}close(){this.input.unpipe(),this.input.removeListener("keypress",this.onKeypress),this.output.write(`
12
12
  `),Y(this.input,!1),this.rl?.close(),this.rl=void 0,this.emit(`${this.state}`,this.value),this.unsubscribe()}restoreCursor(){let s=Wo(this._prevFrame,process.stdout.columns,{hard:!0}).split(`
13
- `).length-1;this.output.write(x.cursor.move(-999,s*-1))}render(){let s=Wo(this._render(this)??"",process.stdout.columns,{hard:!0});if(s!==this._prevFrame){if(this.state==="initial")this.output.write(x.cursor.hide);else{let n=js(this._prevFrame,s);if(this.restoreCursor(),n&&n?.length===1){let e=n[0];this.output.write(x.cursor.move(0,e)),this.output.write(x.erase.lines(1));let l=s.split(`
14
- `);this.output.write(l[e]),this._prevFrame=s,this.output.write(x.cursor.move(0,l.length-e-1));return}if(n&&n?.length>1){let e=n[0];this.output.write(x.cursor.move(0,e)),this.output.write(x.erase.down());let l=s.split(`
15
- `).slice(e);this.output.write(l.join(`
16
- `)),this._prevFrame=s;return}this.output.write(x.erase.down())}this.output.write(s),this.state==="initial"&&(this.state="active"),this._prevFrame=s}}}class po extends ao{get cursor(){return this.value?0:1}get _value(){return this.cursor===0}constructor(s){super(s,!1),this.value=!!s.initialValue,this.on("value",()=>{this.value=this._value}),this.on("confirm",(n)=>{this.output.write(x.cursor.move(0,-1)),this.value=n,this.state="submit",this.close()}),this.on("cursor",()=>{this.value=!this.value})}}var Qs;Qs=new WeakMap;var Xs=Object.defineProperty,Zs=(s,n,e)=>(n in s)?Xs(s,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[n]=e,Uo=(s,n,e)=>(Zs(s,typeof n!="symbol"?n+"":n,e),e),Qo=class extends ao{constructor(s){super(s,!1),Uo(this,"options"),Uo(this,"cursor",0),this.options=s.options,this.value=[...s.initialValues??[]],this.cursor=Math.max(this.options.findIndex(({value:n})=>n===s.cursorAt),0),this.on("key",(n)=>{n==="a"&&this.toggleAll()}),this.on("cursor",(n)=>{switch(n){case"left":case"up":this.cursor=this.cursor===0?this.options.length-1:this.cursor-1;break;case"down":case"right":this.cursor=this.cursor===this.options.length-1?0:this.cursor+1;break;case"space":this.toggleValue();break}})}get _value(){return this.options[this.cursor].value}toggleAll(){let s=this.value.length===this.options.length;this.value=s?[]:this.options.map((n)=>n.value)}toggleValue(){let s=this.value.includes(this._value);this.value=s?this.value.filter((n)=>n!==this._value):[...this.value,this._value]}};var t=H(so(),1),z=H(D(),1);import v from"process";function Ms(){return v.platform!=="win32"?v.env.TERM!=="linux":!!v.env.CI||!!v.env.WT_SESSION||!!v.env.TERMINUS_SUBLIME||v.env.ConEmuTask==="{cmd::Cmder}"||v.env.TERM_PROGRAM==="Terminus-Sublime"||v.env.TERM_PROGRAM==="vscode"||v.env.TERM==="xterm-256color"||v.env.TERM==="alacritty"||v.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var mo=Ms(),d=(s,n)=>mo?s:n,us=d("\u25C6","*"),Do=d("\u25A0","x"),os=d("\u25B2","x"),J=d("\u25C7","o"),Fs=d("\u250C","T"),b=d("\u2502","|"),W=d("\u2514","\u2014"),Xo=d("\u25CF",">"),Zo=d("\u25CB"," "),Ds=d("\u25FB","[\u2022]"),Mo=d("\u25FC","[+]"),on=d("\u25FB","[ ]"),Pn=d("\u25AA","\u2022"),uo=d("\u2500","-"),sn=d("\u256E","+"),nn=d("\u251C","+"),en=d("\u256F","+"),rn=d("\u25CF","\u2022"),ln=d("\u25C6","*"),tn=d("\u25B2","!"),an=d("\u25A0","x"),ss=(s)=>{switch(s){case"initial":case"active":return t.default.cyan(us);case"cancel":return t.default.red(Do);case"error":return t.default.yellow(os);case"submit":return t.default.green(J)}},Fo=(s)=>{let{cursor:n,options:e,style:l}=s,r=s.maxItems??Number.POSITIVE_INFINITY,i=Math.max(process.stdout.rows-4,0),o=Math.min(i,Math.max(r,5)),a=0;n>=a+o-3?a=Math.max(Math.min(n-o+3,e.length-o),0):n<a+2&&(a=Math.max(n-2,0));let p=o<e.length&&a>0,m=o<e.length&&a+o<e.length;return e.slice(a,a+o).map((w,c,h)=>{let I=c===0&&p,P=c===h.length-1&&m;return I||P?t.default.dim("..."):l(w,c+a===n)})};var Q=(s)=>{let n=s.active??"Yes",e=s.inactive??"No";return new po({active:n,inactive:e,initialValue:s.initialValue??!0,render(){let l=`${t.default.gray(b)}
17
- ${ss(this.state)} ${s.message}
18
- `,r=this.value?n:e;switch(this.state){case"submit":return`${l}${t.default.gray(b)} ${t.default.dim(r)}`;case"cancel":return`${l}${t.default.gray(b)} ${t.default.strikethrough(t.default.dim(r))}
19
- ${t.default.gray(b)}`;default:return`${l}${t.default.cyan(b)} ${this.value?`${t.default.green(Xo)} ${n}`:`${t.default.dim(Zo)} ${t.default.dim(n)}`} ${t.default.dim("/")} ${this.value?`${t.default.dim(Zo)} ${t.default.dim(e)}`:`${t.default.green(Xo)} ${e}`}
20
- ${t.default.cyan(W)}
21
- `}}}).prompt()};var ns=(s)=>{let n=(e,l)=>{let r=e.label??String(e.value);return l==="active"?`${t.default.cyan(Ds)} ${r} ${e.hint?t.default.dim(`(${e.hint})`):""}`:l==="selected"?`${t.default.green(Mo)} ${t.default.dim(r)} ${e.hint?t.default.dim(`(${e.hint})`):""}`:l==="cancelled"?`${t.default.strikethrough(t.default.dim(r))}`:l==="active-selected"?`${t.default.green(Mo)} ${r} ${e.hint?t.default.dim(`(${e.hint})`):""}`:l==="submitted"?`${t.default.dim(r)}`:`${t.default.dim(on)} ${t.default.dim(r)}`};return new Qo({options:s.options,initialValues:s.initialValues,required:s.required??!0,cursorAt:s.cursorAt,validate(e){if(this.required&&e.length===0)return`Please select at least one option.
22
- ${t.default.reset(t.default.dim(`Press ${t.default.gray(t.default.bgWhite(t.default.inverse(" space ")))} to select, ${t.default.gray(t.default.bgWhite(t.default.inverse(" enter ")))} to submit`))}`},render(){let e=`${t.default.gray(b)}
23
- ${ss(this.state)} ${s.message}
24
- `,l=(r,i)=>{let o=this.value.includes(r.value);return i&&o?n(r,"active-selected"):o?n(r,"selected"):n(r,i?"active":"inactive")};switch(this.state){case"submit":return`${e}${t.default.gray(b)} ${this.options.filter(({value:r})=>this.value.includes(r)).map((r)=>n(r,"submitted")).join(t.default.dim(", "))||t.default.dim("none")}`;case"cancel":{let r=this.options.filter(({value:i})=>this.value.includes(i)).map((i)=>n(i,"cancelled")).join(t.default.dim(", "));return`${e}${t.default.gray(b)} ${r.trim()?`${r}
25
- ${t.default.gray(b)}`:""}`}case"error":{let r=this.error.split(`
26
- `).map((i,o)=>o===0?`${t.default.yellow(W)} ${t.default.yellow(i)}`:` ${i}`).join(`
27
- `);return`${e+t.default.yellow(b)} ${Fo({options:this.options,cursor:this.cursor,maxItems:s.maxItems,style:l}).join(`
28
- ${t.default.yellow(b)} `)}
13
+ `).length-1;this.output.write(x.cursor.move(-999,s*-1))}render(){let s=Wo(this._render(this)??"",process.stdout.columns,{hard:!0});if(s!==this._prevFrame){if(this.state==="initial")this.output.write(x.cursor.hide);else{let e=qs(this._prevFrame,s);if(this.restoreCursor(),e&&e?.length===1){let n=e[0];this.output.write(x.cursor.move(0,n)),this.output.write(x.erase.lines(1));let l=s.split(`
14
+ `);this.output.write(l[n]),this._prevFrame=s,this.output.write(x.cursor.move(0,l.length-n-1));return}if(e&&e?.length>1){let n=e[0];this.output.write(x.cursor.move(0,n)),this.output.write(x.erase.down());let l=s.split(`
15
+ `).slice(n);this.output.write(l.join(`
16
+ `)),this._prevFrame=s;return}this.output.write(x.erase.down())}this.output.write(s),this.state==="initial"&&(this.state="active"),this._prevFrame=s}}}class po extends ao{get cursor(){return this.value?0:1}get _value(){return this.cursor===0}constructor(s){super(s,!1),this.value=!!s.initialValue,this.on("value",()=>{this.value=this._value}),this.on("confirm",(e)=>{this.output.write(x.cursor.move(0,-1)),this.value=e,this.state="submit",this.close()}),this.on("cursor",()=>{this.value=!this.value})}}var Xs;Xs=new WeakMap;var Zs=Object.defineProperty,Ms=(s,e,n)=>(e in s)?Zs(s,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):s[e]=n,Go=(s,e,n)=>(Ms(s,typeof e!="symbol"?e+"":e,n),n),Xo=class extends ao{constructor(s){super(s,!1),Go(this,"options"),Go(this,"cursor",0),this.options=s.options,this.value=[...s.initialValues??[]],this.cursor=Math.max(this.options.findIndex(({value:e})=>e===s.cursorAt),0),this.on("key",(e)=>{e==="a"&&this.toggleAll()}),this.on("cursor",(e)=>{switch(e){case"left":case"up":this.cursor=this.cursor===0?this.options.length-1:this.cursor-1;break;case"down":case"right":this.cursor=this.cursor===this.options.length-1?0:this.cursor+1;break;case"space":this.toggleValue();break}})}get _value(){return this.options[this.cursor].value}toggleAll(){let s=this.value.length===this.options.length;this.value=s?[]:this.options.map((e)=>e.value)}toggleValue(){let s=this.value.includes(this._value);this.value=s?this.value.filter((e)=>e!==this._value):[...this.value,this._value]}};var i=H(so(),1),z=H(D(),1);import v from"process";function us(){return v.platform!=="win32"?v.env.TERM!=="linux":!!v.env.CI||!!v.env.WT_SESSION||!!v.env.TERMINUS_SUBLIME||v.env.ConEmuTask==="{cmd::Cmder}"||v.env.TERM_PROGRAM==="Terminus-Sublime"||v.env.TERM_PROGRAM==="vscode"||v.env.TERM==="xterm-256color"||v.env.TERM==="alacritty"||v.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var mo=us(),h=(s,e)=>mo?s:e,Fs=h("\u25C6","*"),os=h("\u25A0","x"),ss=h("\u25B2","x"),J=h("\u25C7","o"),Ds=h("\u250C","T"),b=h("\u2502","|"),U=h("\u2514","\u2014"),Zo=h("\u25CF",">"),Mo=h("\u25CB"," "),oe=h("\u25FB","[\u2022]"),uo=h("\u25FC","[+]"),se=h("\u25FB","[ ]"),Re=h("\u25AA","\u2022"),Fo=h("\u2500","-"),ee=h("\u256E","+"),ne=h("\u251C","+"),re=h("\u256F","+"),le=h("\u25CF","\u2022"),te=h("\u25C6","*"),ie=h("\u25B2","!"),ae=h("\u25A0","x"),es=(s)=>{switch(s){case"initial":case"active":return i.default.cyan(Fs);case"cancel":return i.default.red(os);case"error":return i.default.yellow(ss);case"submit":return i.default.green(J)}},Do=(s)=>{let{cursor:e,options:n,style:l}=s,r=s.maxItems??Number.POSITIVE_INFINITY,t=Math.max(process.stdout.rows-4,0),o=Math.min(t,Math.max(r,5)),a=0;e>=a+o-3?a=Math.max(Math.min(e-o+3,n.length-o),0):e<a+2&&(a=Math.max(e-2,0));let p=o<n.length&&a>0,m=o<n.length&&a+o<n.length;return n.slice(a,a+o).map((w,c,g)=>{let I=c===0&&p,R=c===g.length-1&&m;return I||R?i.default.dim("..."):l(w,c+a===e)})};var Q=(s)=>{let e=s.active??"Yes",n=s.inactive??"No";return new po({active:e,inactive:n,initialValue:s.initialValue??!0,render(){let l=`${i.default.gray(b)}
17
+ ${es(this.state)} ${s.message}
18
+ `,r=this.value?e:n;switch(this.state){case"submit":return`${l}${i.default.gray(b)} ${i.default.dim(r)}`;case"cancel":return`${l}${i.default.gray(b)} ${i.default.strikethrough(i.default.dim(r))}
19
+ ${i.default.gray(b)}`;default:return`${l}${i.default.cyan(b)} ${this.value?`${i.default.green(Zo)} ${e}`:`${i.default.dim(Mo)} ${i.default.dim(e)}`} ${i.default.dim("/")} ${this.value?`${i.default.dim(Mo)} ${i.default.dim(n)}`:`${i.default.green(Zo)} ${n}`}
20
+ ${i.default.cyan(U)}
21
+ `}}}).prompt()};var ns=(s)=>{let e=(n,l)=>{let r=n.label??String(n.value);return l==="active"?`${i.default.cyan(oe)} ${r} ${n.hint?i.default.dim(`(${n.hint})`):""}`:l==="selected"?`${i.default.green(uo)} ${i.default.dim(r)} ${n.hint?i.default.dim(`(${n.hint})`):""}`:l==="cancelled"?`${i.default.strikethrough(i.default.dim(r))}`:l==="active-selected"?`${i.default.green(uo)} ${r} ${n.hint?i.default.dim(`(${n.hint})`):""}`:l==="submitted"?`${i.default.dim(r)}`:`${i.default.dim(se)} ${i.default.dim(r)}`};return new Xo({options:s.options,initialValues:s.initialValues,required:s.required??!0,cursorAt:s.cursorAt,validate(n){if(this.required&&n.length===0)return`Please select at least one option.
22
+ ${i.default.reset(i.default.dim(`Press ${i.default.gray(i.default.bgWhite(i.default.inverse(" space ")))} to select, ${i.default.gray(i.default.bgWhite(i.default.inverse(" enter ")))} to submit`))}`},render(){let n=`${i.default.gray(b)}
23
+ ${es(this.state)} ${s.message}
24
+ `,l=(r,t)=>{let o=this.value.includes(r.value);return t&&o?e(r,"active-selected"):o?e(r,"selected"):e(r,t?"active":"inactive")};switch(this.state){case"submit":return`${n}${i.default.gray(b)} ${this.options.filter(({value:r})=>this.value.includes(r)).map((r)=>e(r,"submitted")).join(i.default.dim(", "))||i.default.dim("none")}`;case"cancel":{let r=this.options.filter(({value:t})=>this.value.includes(t)).map((t)=>e(t,"cancelled")).join(i.default.dim(", "));return`${n}${i.default.gray(b)} ${r.trim()?`${r}
25
+ ${i.default.gray(b)}`:""}`}case"error":{let r=this.error.split(`
26
+ `).map((t,o)=>o===0?`${i.default.yellow(U)} ${i.default.yellow(t)}`:` ${t}`).join(`
27
+ `);return`${n+i.default.yellow(b)} ${Do({options:this.options,cursor:this.cursor,maxItems:s.maxItems,style:l}).join(`
28
+ ${i.default.yellow(b)} `)}
29
29
  ${r}
30
- `}default:return`${e}${t.default.cyan(b)} ${Fo({options:this.options,cursor:this.cursor,maxItems:s.maxItems,style:l}).join(`
31
- ${t.default.cyan(b)} `)}
32
- ${t.default.cyan(W)}
33
- `}}}).prompt()};var X=(s="",n="")=>{let e=`
30
+ `}default:return`${n}${i.default.cyan(b)} ${Do({options:this.options,cursor:this.cursor,maxItems:s.maxItems,style:l}).join(`
31
+ ${i.default.cyan(b)} `)}
32
+ ${i.default.cyan(U)}
33
+ `}}}).prompt()};var X=(s="",e="")=>{let n=`
34
34
  ${s}
35
35
  `.split(`
36
- `),l=co(n).length,r=Math.max(e.reduce((o,a)=>{let p=co(a);return p.length>o?p.length:o},0),l)+2,i=e.map((o)=>`${t.default.gray(b)} ${t.default.dim(o)}${" ".repeat(r-co(o).length)}${t.default.gray(b)}`).join(`
37
- `);process.stdout.write(`${t.default.gray(b)}
38
- ${t.default.green(J)} ${t.default.reset(n)} ${t.default.gray(uo.repeat(Math.max(r-l-1,1))+sn)}
39
- ${i}
40
- ${t.default.gray(nn+uo.repeat(r+2)+en)}
41
- `)},Z=(s="")=>{process.stdout.write(`${t.default.gray(W)} ${t.default.red(s)}
42
-
43
- `)},es=(s="")=>{process.stdout.write(`${t.default.gray(Fs)} ${s}
44
- `)},rs=(s="")=>{process.stdout.write(`${t.default.gray(b)}
45
- ${t.default.gray(W)} ${s}
46
-
47
- `)},g={message:(s="",{symbol:n=t.default.gray(b)}={})=>{let e=[`${t.default.gray(b)}`];if(s){let[l,...r]=s.split(`
48
- `);e.push(`${n} ${l}`,...r.map((i)=>`${t.default.gray(b)} ${i}`))}process.stdout.write(`${e.join(`
36
+ `),l=co(e).length,r=Math.max(n.reduce((o,a)=>{let p=co(a);return p.length>o?p.length:o},0),l)+2,t=n.map((o)=>`${i.default.gray(b)} ${i.default.dim(o)}${" ".repeat(r-co(o).length)}${i.default.gray(b)}`).join(`
37
+ `);process.stdout.write(`${i.default.gray(b)}
38
+ ${i.default.green(J)} ${i.default.reset(e)} ${i.default.gray(Fo.repeat(Math.max(r-l-1,1))+ee)}
39
+ ${t}
40
+ ${i.default.gray(ne+Fo.repeat(r+2)+re)}
41
+ `)},Z=(s="")=>{process.stdout.write(`${i.default.gray(U)} ${i.default.red(s)}
42
+
43
+ `)},rs=(s="")=>{process.stdout.write(`${i.default.gray(Ds)} ${s}
44
+ `)},ls=(s="")=>{process.stdout.write(`${i.default.gray(b)}
45
+ ${i.default.gray(U)} ${s}
46
+
47
+ `)},d={message:(s="",{symbol:e=i.default.gray(b)}={})=>{let n=[`${i.default.gray(b)}`];if(s){let[l,...r]=s.split(`
48
+ `);n.push(`${e} ${l}`,...r.map((t)=>`${i.default.gray(b)} ${t}`))}process.stdout.write(`${n.join(`
49
49
  `)}
50
- `)},info:(s)=>{g.message(s,{symbol:t.default.blue(rn)})},success:(s)=>{g.message(s,{symbol:t.default.green(ln)})},step:(s)=>{g.message(s,{symbol:t.default.green(J)})},warn:(s)=>{g.message(s,{symbol:t.default.yellow(tn)})},warning:(s)=>{g.warn(s)},error:(s)=>{g.message(s,{symbol:t.default.red(an)})}},Bn=`${t.default.gray(b)} `;var ls=({indicator:s="dots"}={})=>{let n=mo?["\u25D2","\u25D0","\u25D3","\u25D1"]:["\u2022","o","O","0"],e=mo?80:120,l=process.env.CI==="true",r,i,o=!1,a="",p,m=performance.now(),w=(k)=>{let O=k>1?"Something went wrong":"Canceled";o&&So(O,k)},c=()=>w(2),h=()=>w(1),I=()=>{process.on("uncaughtExceptionMonitor",c),process.on("unhandledRejection",c),process.on("SIGINT",h),process.on("SIGTERM",h),process.on("exit",w)},P=()=>{process.removeListener("uncaughtExceptionMonitor",c),process.removeListener("unhandledRejection",c),process.removeListener("SIGINT",h),process.removeListener("SIGTERM",h),process.removeListener("exit",w)},B=()=>{if(p===void 0)return;l&&process.stdout.write(`
50
+ `)},info:(s)=>{d.message(s,{symbol:i.default.blue(le)})},success:(s)=>{d.message(s,{symbol:i.default.green(te)})},step:(s)=>{d.message(s,{symbol:i.default.green(J)})},warn:(s)=>{d.message(s,{symbol:i.default.yellow(ie)})},warning:(s)=>{d.warn(s)},error:(s)=>{d.message(s,{symbol:i.default.red(ae)})}},Be=`${i.default.gray(b)} `;var ts=({indicator:s="dots"}={})=>{let e=mo?["\u25D2","\u25D0","\u25D3","\u25D1"]:["\u2022","o","O","0"],n=mo?80:120,l=process.env.CI==="true",r,t,o=!1,a="",p,m=performance.now(),w=(k)=>{let O=k>1?"Something went wrong":"Canceled";o&&So(O,k)},c=()=>w(2),g=()=>w(1),I=()=>{process.on("uncaughtExceptionMonitor",c),process.on("unhandledRejection",c),process.on("SIGINT",g),process.on("SIGTERM",g),process.on("exit",w)},R=()=>{process.removeListener("uncaughtExceptionMonitor",c),process.removeListener("unhandledRejection",c),process.removeListener("SIGINT",g),process.removeListener("SIGTERM",g),process.removeListener("exit",w)},B=()=>{if(p===void 0)return;l&&process.stdout.write(`
51
51
  `);let k=p.split(`
52
- `);process.stdout.write(z.cursor.move(-999,k.length-1)),process.stdout.write(z.erase.down(k.length))},M=(k)=>k.replace(/\.+$/,""),$o=(k)=>{let O=(performance.now()-k)/1000,$=Math.floor(O/60),A=Math.floor(O%60);return $>0?`[${$}m ${A}s]`:`[${A}s]`},ds=(k="")=>{o=!0,r=Jo(),a=M(k),m=performance.now(),process.stdout.write(`${t.default.gray(b)}
53
- `);let O=0,$=0;I(),i=setInterval(()=>{if(l&&a===p)return;B(),p=a;let A=t.default.magenta(n[O]);if(l)process.stdout.write(`${A} ${a}...`);else if(s==="timer")process.stdout.write(`${A} ${a} ${$o(m)}`);else{let hs=".".repeat(Math.floor($)).slice(0,3);process.stdout.write(`${A} ${a}${hs}`)}O=O+1<n.length?O+1:0,$=$<n.length?$+0.125:0},e)},So=(k="",O=0)=>{o=!1,clearInterval(i),B();let $=O===0?t.default.green(J):O===1?t.default.red(Do):t.default.red(os);a=M(k??a),s==="timer"?process.stdout.write(`${$} ${a} ${$o(m)}
52
+ `);process.stdout.write(z.cursor.move(-999,k.length-1)),process.stdout.write(z.erase.down(k.length))},M=(k)=>k.replace(/\.+$/,""),_o=(k)=>{let O=(performance.now()-k)/1000,$=Math.floor(O/60),C=Math.floor(O%60);return $>0?`[${$}m ${C}s]`:`[${C}s]`},gs=(k="")=>{o=!0,r=Qo(),a=M(k),m=performance.now(),process.stdout.write(`${i.default.gray(b)}
53
+ `);let O=0,$=0;I(),t=setInterval(()=>{if(l&&a===p)return;B(),p=a;let C=i.default.magenta(e[O]);if(l)process.stdout.write(`${C} ${a}...`);else if(s==="timer")process.stdout.write(`${C} ${a} ${_o(m)}`);else{let ds=".".repeat(Math.floor($)).slice(0,3);process.stdout.write(`${C} ${a}${ds}`)}O=O+1<e.length?O+1:0,$=$<e.length?$+0.125:0},n)},So=(k="",O=0)=>{o=!1,clearInterval(t),B();let $=O===0?i.default.green(J):O===1?i.default.red(os):i.default.red(ss);a=M(k??a),s==="timer"?process.stdout.write(`${$} ${a} ${_o(m)}
54
54
  `):process.stdout.write(`${$} ${a}
55
- `),P(),r()};return{start:ds,stop:So,message:(k="")=>{a=M(k??a)}}},is=async(s,n)=>{let e={},l=Object.keys(s);for(let r of l){let i=s[r],o=await i({results:e})?.catch((a)=>{throw a});if(typeof n?.onCancel=="function"&&C(o)){e[r]="canceled",n.onCancel({results:e});continue}e[r]=o}return e};var y=H(so(),1);import*as _ from"fs";import*as U from"path";var N="\n OPENCODE_AUTH: ${{ secrets.OPENCODE_AUTH }}",T="\n ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}";var fo=(s)=>`name: PR Review
55
+ `),R(),r()};return{start:gs,stop:So,message:(k="")=>{a=M(k??a)}}},is=async(s,e)=>{let n={},l=Object.keys(s);for(let r of l){let t=s[r],o=await t({results:n})?.catch((a)=>{throw a});if(typeof e?.onCancel=="function"&&T(o)){n[r]="canceled",e.onCancel({results:n});continue}n[r]=o}return n};var E=H(so(),1);import*as N from"fs";import*as W from"path";var S="\n OPENCODE_AUTH: ${{ secrets.OPENCODE_AUTH }}",A="\n ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}";var fo=(s)=>`name: PR Review
56
56
 
57
57
  on:
58
58
  pull_request:
@@ -69,7 +69,7 @@ jobs:
69
69
 
70
70
  - uses: activadee/open-workflows/actions/pr-review@main
71
71
  env:
72
- GITHUB_TOKEN: \${{ secrets.GITHUB_TOKEN }}${s?N:T}
72
+ GITHUB_TOKEN: \${{ secrets.GITHUB_TOKEN }}${s?S:A}
73
73
  `;var wo=(s)=>`name: Issue Label
74
74
 
75
75
  on:
@@ -86,7 +86,7 @@ jobs:
86
86
 
87
87
  - uses: activadee/open-workflows/actions/issue-label@main
88
88
  env:
89
- GITHUB_TOKEN: \${{ secrets.GITHUB_TOKEN }}${s?N:T}
89
+ GITHUB_TOKEN: \${{ secrets.GITHUB_TOKEN }}${s?S:A}
90
90
  `;var bo=(s)=>`name: Doc Sync
91
91
 
92
92
  on:
@@ -107,7 +107,7 @@ jobs:
107
107
 
108
108
  - uses: activadee/open-workflows/actions/doc-sync@main
109
109
  env:
110
- GITHUB_TOKEN: \${{ secrets.GITHUB_TOKEN }}${s?N:T}
110
+ GITHUB_TOKEN: \${{ secrets.GITHUB_TOKEN }}${s?S:A}
111
111
  `;var ho=(s)=>`name: Release
112
112
 
113
113
  on:
@@ -143,8 +143,32 @@ jobs:
143
143
  version: \${{ inputs.version }}
144
144
  env:
145
145
  GITHUB_TOKEN: \${{ secrets.GITHUB_TOKEN }}
146
- `;var go={review:"pr-review",label:"issue-label","doc-sync":"doc-sync",release:"release"};var cn={"pr-review":fo,"issue-label":wo,"doc-sync":bo,release:ho};function ts(s){let{workflows:n,cwd:e=process.cwd()}=s,l=U.join(e,".github","workflows"),r=[];for(let i of n){let o=go[i],a=U.join(l,`${o}.yml`);if(_.existsSync(a))r.push({type:"workflow",name:i,path:`.github/workflows/${o}.yml`})}return r}function as(s){let{workflows:n,cwd:e=process.cwd(),useOAuth:l=!1,override:r=!1,overrideNames:i}=s,o=[],a=U.join(e,".github","workflows");if(!_.existsSync(a))_.mkdirSync(a,{recursive:!0});for(let p of n){let m=go[p],w=cn[m],c=U.join(a,`${m}.yml`);if(!w){o.push({type:"workflow",name:p,status:"error",path:c,message:`Unknown workflow: ${p}`});continue}let h=w(l);if(!h){o.push({type:"workflow",name:p,status:"error",path:c,message:`Unknown workflow: ${p}`});continue}let I=_.existsSync(c),P=r||i?.has(p);if(I&&!P){o.push({type:"workflow",name:p,status:"skipped",path:`.github/workflows/${m}.yml`,message:"Skipped: already exists"});continue}try{_.writeFileSync(c,h,"utf-8"),o.push({type:"workflow",name:p,status:I?"overwritten":"created",path:`.github/workflows/${m}.yml`,message:I?"Overwritten successfully":"Created successfully"})}catch(B){o.push({type:"workflow",name:p,status:"error",path:c,message:`Failed to write file: ${B instanceof Error?B.message:"Unknown error"}`})}}return o}var fn=await Promise.resolve().then(() => H(ps(),1)).catch(()=>({version:"unknown"})),Oo=fn.version,R=process.argv.slice(2),wn=R.includes("--help")||R.includes("-h"),bn=R.includes("--version")||R.includes("-v"),Io=R.includes("--force")||R.includes("-f");if(bn)process.stdout.write(`@activade/open-workflows v${Oo}
147
- `),process.exit(0);if(wn)process.stdout.write(`@activade/open-workflows v${Oo}
146
+ `;var go=(s)=>`name: AI Changeset
147
+
148
+ on:
149
+ pull_request:
150
+ types: [opened, synchronize, reopened]
151
+
152
+ jobs:
153
+ changeset:
154
+ runs-on: ubuntu-latest
155
+ permissions:
156
+ contents: write
157
+ pull-requests: write
158
+ steps:
159
+ - uses: actions/checkout@v4
160
+ with:
161
+ fetch-depth: 0
162
+ ref: \${{ github.head_ref }}
163
+ token: \${{ secrets.GITHUB_TOKEN }}
164
+
165
+ - uses: activadee/open-workflows/actions/changeset@main
166
+ with:
167
+ mode: commit
168
+ env:
169
+ GITHUB_TOKEN: \${{ secrets.GITHUB_TOKEN }}${s?S:A}
170
+ `;var xo={review:"pr-review",label:"issue-label","doc-sync":"doc-sync",release:"release",changeset:"changeset"};var ce={"pr-review":fo,"issue-label":wo,"doc-sync":bo,release:ho,changeset:go};function as(s){let{workflows:e,cwd:n=process.cwd()}=s,l=W.join(n,".github","workflows"),r=[];for(let t of e){let o=xo[t],a=W.join(l,`${o}.yml`);if(N.existsSync(a))r.push({type:"workflow",name:t,path:`.github/workflows/${o}.yml`})}return r}function ps(s){let{workflows:e,cwd:n=process.cwd(),useOAuth:l=!1,override:r=!1,overrideNames:t}=s,o=[],a=W.join(n,".github","workflows");if(!N.existsSync(a))N.mkdirSync(a,{recursive:!0});for(let p of e){let m=xo[p],w=ce[m],c=W.join(a,`${m}.yml`);if(!w){o.push({type:"workflow",name:p,status:"error",path:c,message:`Unknown workflow: ${p}`});continue}let g=w(l);if(!g){o.push({type:"workflow",name:p,status:"error",path:c,message:`Unknown workflow: ${p}`});continue}let I=N.existsSync(c),R=r||t?.has(p);if(I&&!R){o.push({type:"workflow",name:p,status:"skipped",path:`.github/workflows/${m}.yml`,message:"Skipped: already exists"});continue}try{N.writeFileSync(c,g,"utf-8"),o.push({type:"workflow",name:p,status:I?"overwritten":"created",path:`.github/workflows/${m}.yml`,message:I?"Overwritten successfully":"Created successfully"})}catch(B){o.push({type:"workflow",name:p,status:"error",path:c,message:`Failed to write file: ${B instanceof Error?B.message:"Unknown error"}`})}}return o}var fe=await Promise.resolve().then(() => H(cs(),1)).catch(()=>({version:"unknown"})),vo=fe.version,P=process.argv.slice(2),we=P.includes("--help")||P.includes("-h"),be=P.includes("--version")||P.includes("-v"),Oo=P.includes("--force")||P.includes("-f");if(be)process.stdout.write(`@activade/open-workflows v${vo}
171
+ `),process.exit(0);if(we)process.stdout.write(`@activade/open-workflows v${vo}
148
172
 
149
173
  AI-powered GitHub automation workflows.
150
174
 
@@ -162,6 +186,7 @@ WHAT GETS INSTALLED
162
186
  .github/workflows/issue-label.yml
163
187
  .github/workflows/doc-sync.yml
164
188
  .github/workflows/release.yml
189
+ .github/workflows/changeset.yml
165
190
 
166
191
  REQUIRED SECRETS
167
192
  For Claude Max (OAuth):
@@ -171,10 +196,10 @@ REQUIRED SECRETS
171
196
  ANTHROPIC_API_KEY - Your Anthropic API key
172
197
 
173
198
  For more information: https://github.com/activadee/open-workflows
174
- `),process.exit(0);es(y.default.bgCyan(y.default.black(` @activade/open-workflows v${Oo} `)));var cs=await is({workflows:()=>ns({message:"Select workflows to install:",options:[{value:"review",label:"PR Review",hint:"AI-powered code reviews"},{value:"label",label:"Issue Label",hint:"Auto-label issues"},{value:"doc-sync",label:"Doc Sync",hint:"Keep docs in sync"},{value:"release",label:"Release",hint:"Automated releases with notes"}],required:!0}),useOAuth:()=>Q({message:"Use Claude Max subscription (OAuth)? (No = API key)",initialValue:!1})},{onCancel:()=>{Z("Installation cancelled."),process.exit(0)}}),ms=cs.workflows||[],vo=Boolean(cs.useOAuth),fs=!1;if(vo){let s=await Q({message:"Install opencode-auth-sync plugin? (keeps OAuth tokens synced)",initialValue:!0});if(C(s))Z("Installation cancelled."),process.exit(0);fs=Boolean(s)}var ws=new Set;if(!Io){let s=ts({workflows:ms});if(s.length>0){g.warn(`Found ${s.length} existing file(s):`);for(let n of s){let e=await Q({message:`Override ${n.path}?`,initialValue:!1});if(C(e))Z("Installation cancelled."),process.exit(0);if(e)ws.add(n.name)}}}var bs=ls();bs.start("Installing workflows...");var L=as({workflows:ms,useOAuth:vo,override:Io,overrideNames:Io?void 0:ws}),dn=L.some((s)=>s.status==="error");bs.stop(dn?"Installation completed with errors":"Installation complete!");var xo=L.filter((s)=>s.status==="created"),ko=L.filter((s)=>s.status==="overwritten"),yo=L.filter((s)=>s.status==="skipped"),Eo=L.filter((s)=>s.status==="error");if(xo.length>0){g.success(`Created ${xo.length} file(s):`);for(let s of xo)g.message(` ${y.default.green("+")} ${s.path}`)}if(ko.length>0){g.success(`Overwritten ${ko.length} file(s):`);for(let s of ko)g.message(` ${y.default.cyan("~")} ${s.path}`)}if(yo.length>0){g.warn(`Skipped ${yo.length} file(s) (already exist):`);for(let s of yo)g.message(` ${y.default.yellow("-")} ${s.path}`)}if(Eo.length>0){g.error(`Failed ${Eo.length} file(s):`);for(let s of Eo)g.message(` ${y.default.red("x")} ${s.path}: ${s.message}`)}if(vo)if(fs)g.info("Launching opencode-auth-sync setup..."),await Bun.spawn(["bunx","@activade/opencode-auth-sync"],{stdio:["inherit","inherit","inherit"]}).exited,X("Commit and push the workflow files","Next steps");else X(`${y.default.cyan("1.")} Export your OpenCode auth as a secret:
175
- ${y.default.dim("gh secret set OPENCODE_AUTH < ~/.local/share/opencode/auth.json")}
199
+ `),process.exit(0);rs(E.default.bgCyan(E.default.black(` @activade/open-workflows v${vo} `)));var ms=await is({workflows:()=>ns({message:"Select workflows to install:",options:[{value:"review",label:"PR Review",hint:"AI-powered code reviews"},{value:"label",label:"Issue Label",hint:"Auto-label issues"},{value:"doc-sync",label:"Doc Sync",hint:"Keep docs in sync"},{value:"release",label:"Release",hint:"Automated releases with notes"},{value:"changeset",label:"Changeset",hint:"AI-generated changesets for monorepos"}],required:!0}),useOAuth:()=>Q({message:"Use Claude Max subscription (OAuth)? (No = API key)",initialValue:!1})},{onCancel:()=>{Z("Installation cancelled."),process.exit(0)}}),fs=ms.workflows||[],$o=Boolean(ms.useOAuth),ws=!1;if($o){let s=await Q({message:"Install opencode-auth-sync plugin? (keeps OAuth tokens synced)",initialValue:!0});if(T(s))Z("Installation cancelled."),process.exit(0);ws=Boolean(s)}var bs=new Set;if(!Oo){let s=as({workflows:fs});if(s.length>0){d.warn(`Found ${s.length} existing file(s):`);for(let e of s){let n=await Q({message:`Override ${e.path}?`,initialValue:!1});if(T(n))Z("Installation cancelled."),process.exit(0);if(n)bs.add(e.name)}}}var hs=ts();hs.start("Installing workflows...");var G=ps({workflows:fs,useOAuth:$o,override:Oo,overrideNames:Oo?void 0:bs}),he=G.some((s)=>s.status==="error");hs.stop(he?"Installation completed with errors":"Installation complete!");var ko=G.filter((s)=>s.status==="created"),Eo=G.filter((s)=>s.status==="overwritten"),yo=G.filter((s)=>s.status==="skipped"),Io=G.filter((s)=>s.status==="error");if(ko.length>0){d.success(`Created ${ko.length} file(s):`);for(let s of ko)d.message(` ${E.default.green("+")} ${s.path}`)}if(Eo.length>0){d.success(`Overwritten ${Eo.length} file(s):`);for(let s of Eo)d.message(` ${E.default.cyan("~")} ${s.path}`)}if(yo.length>0){d.warn(`Skipped ${yo.length} file(s) (already exist):`);for(let s of yo)d.message(` ${E.default.yellow("-")} ${s.path}`)}if(Io.length>0){d.error(`Failed ${Io.length} file(s):`);for(let s of Io)d.message(` ${E.default.red("x")} ${s.path}: ${s.message}`)}if($o)if(ws)d.info("Launching opencode-auth-sync setup..."),await Bun.spawn(["bunx","@activade/opencode-auth-sync"],{stdio:["inherit","inherit","inherit"]}).exited,X("Commit and push the workflow files","Next steps");else X(`${E.default.cyan("1.")} Export your OpenCode auth as a secret:
200
+ ${E.default.dim("gh secret set OPENCODE_AUTH < ~/.local/share/opencode/auth.json")}
176
201
 
177
- ${y.default.cyan("2.")} Commit and push the workflow files`,"Next steps (OAuth)");else X(`${y.default.cyan("1.")} Add your Anthropic API key:
178
- ${y.default.dim("gh secret set ANTHROPIC_API_KEY")}
202
+ ${E.default.cyan("2.")} Commit and push the workflow files`,"Next steps (OAuth)");else X(`${E.default.cyan("1.")} Add your Anthropic API key:
203
+ ${E.default.dim("gh secret set ANTHROPIC_API_KEY")}
179
204
 
180
- ${y.default.cyan("2.")} Commit and push the workflow files`,"Next steps");rs(y.default.green("Done!"));
205
+ ${E.default.cyan("2.")} Commit and push the workflow files`,"Next steps");ls(E.default.green("Done!"));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@activade/open-workflows",
3
- "version": "2.0.5",
3
+ "version": "2.0.6",
4
4
  "description": "AI-powered GitHub automation workflows via composite actions",
5
5
  "keywords": [
6
6
  "github",