@activade/open-workflows 2.0.4 → 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
@@ -82,6 +115,14 @@ gh secret set ANTHROPIC_API_KEY
82
115
  ```
83
116
 
84
117
  **Option 2: Claude Max (OAuth)**
118
+
119
+ Use the [opencode-auth-sync](https://github.com/activadee/opencode-auth-sync) plugin to automatically sync your OAuth tokens:
120
+
121
+ ```bash
122
+ bunx @activade/opencode-auth-sync
123
+ ```
124
+
125
+ Or manually set the secret:
85
126
  ```bash
86
127
  gh secret set OPENCODE_AUTH < ~/.local/share/opencode/auth.json
87
128
  ```
@@ -99,12 +140,18 @@ OPTIONS
99
140
 
100
141
  ## How It Works
101
142
 
102
- **AI Actions (pr-review, issue-label, doc-sync):**
143
+ **AI Actions (pr-review, issue-label, doc-sync, changeset):**
103
144
  1. Workflow triggers on GitHub event
104
145
  2. Composite action sets up Bun and OpenCode
105
146
  3. OpenCode runs with the bundled skill
106
147
  4. AI analyzes content and takes action
107
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
+
108
155
  **Release Action:**
109
156
  1. Manually triggered with version bump type
110
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,64 +1,58 @@
1
1
  #!/usr/bin/env bun
2
2
  // @bun
3
- var xs=Object.create;var{getPrototypeOf:Es,defineProperty:To,getOwnPropertyNames:ks}=Object;var ys=Object.prototype.hasOwnProperty;var B=(s,e,n)=>{n=s!=null?xs(Es(s)):{};let l=e||!s||!s.__esModule?To(n,"default",{value:s,enumerable:!0}):n;for(let r of ks(s))if(!ys.call(l,r))To(l,r,{get:()=>s[r],enumerable:!0});return l};var M=(s,e)=>()=>(e||s((e={exports:{}}).exports,e),e.exports);var F=M((ge,No)=>{var u={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"},Os={up:(s=1)=>"\x1B[S".repeat(s),down:(s=1)=>"\x1B[T".repeat(s)},$s={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?u.up():"");if(s)e+=u.left;return e}};No.exports={cursor:u,scroll:Os,erase:$s,beep:"\x07"}});var oo=M((xe,D)=>{var V=process||{},Ro=V.argv||[],j=V.env||{},vs=!(!!j.NO_COLOR||Ro.includes("--no-color"))&&(!!j.FORCE_COLOR||Ro.includes("--color")||V.platform==="win32"||(V.stdout||{}).isTTY&&j.TERM!=="dumb"||!!j.CI),Is=(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)},Po=(s=vs)=>{let e=s?Is:()=>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")}};D.exports=Po();D.exports.createColors=Po});var ws=M((De,me)=>{me.exports={name:"@activade/open-workflows",version:"2.0.4",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 po}from"util";var g=B(F(),1);import{stdin as jo,stdout as Vo}from"process";import*as _ from"readline";import Ho 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 Cs=As();function qo(s){if(typeof s!="string")throw TypeError(`Expected a \`string\`, got \`${typeof s}\``);return s.replace(Cs,"")}function zo(s){return s&&s.__esModule&&Object.prototype.hasOwnProperty.call(s,"default")?s.default:s}var Jo={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="",i=0,p=n(l),m=0;m<p.length;m++){var b=p[m],c=e.length(b);if(i>=r-(c==2?1:0))if(i+c<=t)o+=b;else break;i+=c}return o}})(Jo);var Ts=Jo.exports,Ns=zo(Ts),Rs=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},Ps=zo(Rs);function U(s,e={}){if(typeof s!="string"||s.length===0||(e={ambiguousIsNarrow:!0,...e},s=qo(s),s.length===0))return 0;s=s.replace(Ps()," ");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(Ns.eastAsianWidth(r)){case"F":case"W":l+=2;break;case"A":l+=n;break;default:l+=1}}return l}var so=10,Bo=(s=0)=>(e)=>`\x1B[${e+s}m`,Uo=(s=0)=>(e)=>`\x1B[${38+s};5;${e}m`,Ko=(s=0)=>(e,n,l)=>`\x1B[${38+s};2;${e};${n};${l}m`,w={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(w.modifier);var Hs=Object.keys(w.color),Bs=Object.keys(w.bgColor);[...Hs,...Bs];function Us(){let s=new Map;for(let[e,n]of Object.entries(w)){for(let[l,r]of Object.entries(n))w[l]={open:`\x1B[${r[0]}m`,close:`\x1B[${r[1]}m`},n[l]=w[l],s.set(r[0],r[1]);Object.defineProperty(w,e,{value:n,enumerable:!1})}return Object.defineProperty(w,"codes",{value:s,enumerable:!1}),w.color.close="\x1B[39m",w.bgColor.close="\x1B[49m",w.color.ansi=Bo(),w.color.ansi256=Uo(),w.color.ansi16m=Ko(),w.bgColor.ansi=Bo(so),w.bgColor.ansi256=Uo(so),w.bgColor.ansi16m=Ko(so),Object.defineProperties(w,{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)=>w.rgbToAnsi256(...w.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 i=e%36;n=Math.floor(e/36)/5,l=Math.floor(i/6)/5,r=i%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)=>w.ansi256ToAnsi(w.rgbToAnsi256(e,n,l)),enumerable:!1},hexToAnsi:{value:(e)=>w.ansi256ToAnsi(w.hexToAnsi256(e)),enumerable:!1}}),w}var Ks=Us(),J=new Set(["\x1B","\x9B"]),Ws=39,ro="\x07",Qo="[",Ls="]",Xo="m",lo=`${Ls}8;;`,Wo=(s)=>`${J.values().next().value}${Qo}${s}${Xo}`,Lo=(s)=>`${J.values().next().value}${lo}${s}${ro}`,Gs=(s)=>s.split(" ").map((e)=>U(e)),eo=(s,e,n)=>{let l=[...e],r=!1,t=!1,o=U(qo(s[s.length-1]));for(let[i,p]of l.entries()){let m=U(p);if(o+m<=n?s[s.length-1]+=p:(s.push(p),o=0),J.has(p)&&(r=!0,t=l.slice(i+1).join("").startsWith(lo)),r){t?p===ro&&(r=!1,t=!1):p===Xo&&(r=!1);continue}o+=m,o===n&&i<l.length-1&&(s.push(""),o=0)}!o&&s[s.length-1].length>0&&s.length>1&&(s[s.length-2]+=s.pop())},Ys=(s)=>{let e=s.split(" "),n=e.length;for(;n>0&&!(U(e[n-1])>0);)n--;return n===e.length?s:e.slice(0,n).join(" ")+e.slice(n).join("")},js=(s,e,n={})=>{if(n.trim!==!1&&s.trim()==="")return"";let l="",r,t,o=Gs(s),i=[""];for(let[m,b]of s.split(" ").entries()){n.trim!==!1&&(i[i.length-1]=i[i.length-1].trimStart());let c=U(i[i.length-1]);if(m!==0&&(c>=e&&(n.wordWrap===!1||n.trim===!1)&&(i.push(""),c=0),(c>0||n.trim===!1)&&(i[i.length-1]+=" ",c++)),n.hard&&o[m]>e){let d=e-c,O=1+Math.floor((o[m]-d-1)/e);Math.floor((o[m]-1)/e)<O&&i.push(""),eo(i,b,e);continue}if(c+o[m]>e&&c>0&&o[m]>0){if(n.wordWrap===!1&&c<e){eo(i,b,e);continue}i.push("")}if(c+o[m]>e&&n.wordWrap===!1){eo(i,b,e);continue}i[i.length-1]+=b}n.trim!==!1&&(i=i.map((m)=>Ys(m)));let p=[...i.join(`
4
- `)];for(let[m,b]of p.entries()){if(l+=b,J.has(b)){let{groups:d}=new RegExp(`(?:\\${Qo}(?<code>\\d+)m|\\${lo}(?<uri>.*)${ro})`).exec(p.slice(m).join(""))||{groups:{}};if(d.code!==void 0){let O=Number.parseFloat(d.code);r=O===Ws?void 0:O}else d.uri!==void 0&&(t=d.uri.length===0?void 0:d.uri)}let c=Ks.codes.get(Number(r));p[m+1]===`
5
- `?(t&&(l+=Lo("")),r&&c&&(l+=Wo(c))):b===`
6
- `&&(r&&c&&(l+=Wo(r)),t&&(l+=Lo(t)))}return l};function Go(s,e,n){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)=>js(l,e,n)).join(`
9
- `)}var Vs=["up","down","left","right","space","enter","cancel"],z={actions:new Set(Vs),aliases:new Map([["k","up"],["j","down"],["h","left"],["l","right"],["\x03","cancel"],["escape","cancel"]])};function to(s,e){if(typeof s=="string")return z.aliases.get(s)===e;for(let n of s)if(n!==void 0&&to(n,e))return!0;return!1}function qs(s,e){if(s===e)return;let n=s.split(`
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
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"),no=Symbol("clack:cancel");function K(s){return s===no}function q(s,e){let n=s;n.isTTY&&n.setRawMode(e)}function Zo({input:s=jo,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:i,sequence:p})=>{let m=String(o);if(to([m,i,p],"cancel")){l&&e.write(g.cursor.show),process.exit(0);return}if(!n)return;_.moveCursor(e,i==="return"?0:-1,i==="return"?-1:0,()=>{_.clearLine(e,1,()=>{s.once("keypress",t)})})};return l&&e.write(g.cursor.hide),s.once("keypress",t),()=>{s.off("keypress",t),l&&e.write(g.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=jo,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(no);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=Ho.createInterface({input:this.input,output:n,tabSize:2,prompt:"",escapeCodeTimeout:50,terminal:!0}),Ho.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),q(this.input,!0),this.output.on("resize",this.render),this.render(),this.once("submit",()=>{this.output.write(g.cursor.show),this.output.off("resize",this.render),q(this.input,!1),s(this.value)}),this.once("cancel",()=>{this.output.write(g.cursor.show),this.output.off("resize",this.render),q(this.input,!1),s(no)})})}onKeypress(s,e){if(this.state==="error"&&(this.state="active"),e?.name&&(!this._track&&z.aliases.has(e.name)&&this.emit("cursor",z.aliases.get(e.name)),z.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")}to([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
- `),q(this.input,!1),this.rl?.close(),this.rl=void 0,this.emit(`${this.state}`,this.value),this.unsubscribe()}restoreCursor(){let s=Go(this._prevFrame,process.stdout.columns,{hard:!0}).split(`
13
- `).length-1;this.output.write(g.cursor.move(-999,s*-1))}render(){let s=Go(this._render(this)??"",process.stdout.columns,{hard:!0});if(s!==this._prevFrame){if(this.state==="initial")this.output.write(g.cursor.hide);else{let e=qs(this._prevFrame,s);if(this.restoreCursor(),e&&e?.length===1){let n=e[0];this.output.write(g.cursor.move(0,n)),this.output.write(g.erase.lines(1));let l=s.split(`
14
- `);this.output.write(l[n]),this._prevFrame=s,this.output.write(g.cursor.move(0,l.length-n-1));return}if(e&&e?.length>1){let n=e[0];this.output.write(g.cursor.move(0,n)),this.output.write(g.erase.down());let l=s.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
+ `),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 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
15
  `).slice(n);this.output.write(l.join(`
16
- `)),this._prevFrame=s;return}this.output.write(g.erase.down())}this.output.write(s),this.state==="initial"&&(this.state="active"),this._prevFrame=s}}}class io 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(g.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,Yo=(s,e,n)=>(Ms(s,typeof e!="symbol"?e+"":e,n),n),Mo=class extends ao{constructor(s){super(s,!1),Yo(this,"options"),Yo(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 a=B(oo(),1),Q=B(F(),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 co=us(),h=(s,e)=>co?s:e,Fs=h("\u25C6","*"),es=h("\u25A0","x"),ns=h("\u25B2","x"),X=h("\u25C7","o"),Ds=h("\u250C","T"),f=h("\u2502","|"),W=h("\u2514","\u2014"),uo=h("\u25CF",">"),Fo=h("\u25CB"," "),oe=h("\u25FB","[\u2022]"),Do=h("\u25FC","[+]"),se=h("\u25FB","[ ]"),Pe=h("\u25AA","\u2022"),os=h("\u2500","-"),ee=h("\u256E","+"),ne=h("\u251C","+"),re=h("\u256F","+"),le=h("\u25CF","\u2022"),te=h("\u25C6","*"),ae=h("\u25B2","!"),ie=h("\u25A0","x"),rs=(s)=>{switch(s){case"initial":case"active":return a.default.cyan(Fs);case"cancel":return a.default.red(es);case"error":return a.default.yellow(ns);case"submit":return a.default.green(X)}},ss=(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)),i=0;e>=i+o-3?i=Math.max(Math.min(e-o+3,n.length-o),0):e<i+2&&(i=Math.max(e-2,0));let p=o<n.length&&i>0,m=o<n.length&&i+o<n.length;return n.slice(i,i+o).map((b,c,d)=>{let O=c===0&&p,P=c===d.length-1&&m;return O||P?a.default.dim("..."):l(b,c+i===e)})};var mo=(s)=>{let e=s.active??"Yes",n=s.inactive??"No";return new io({active:e,inactive:n,initialValue:s.initialValue??!0,render(){let l=`${a.default.gray(f)}
17
- ${rs(this.state)} ${s.message}
18
- `,r=this.value?e:n;switch(this.state){case"submit":return`${l}${a.default.gray(f)} ${a.default.dim(r)}`;case"cancel":return`${l}${a.default.gray(f)} ${a.default.strikethrough(a.default.dim(r))}
19
- ${a.default.gray(f)}`;default:return`${l}${a.default.cyan(f)} ${this.value?`${a.default.green(uo)} ${e}`:`${a.default.dim(Fo)} ${a.default.dim(e)}`} ${a.default.dim("/")} ${this.value?`${a.default.dim(Fo)} ${a.default.dim(n)}`:`${a.default.green(uo)} ${n}`}
20
- ${a.default.cyan(W)}
21
- `}}}).prompt()};var ls=(s)=>{let e=(n,l)=>{let r=n.label??String(n.value);return l==="active"?`${a.default.cyan(oe)} ${r} ${n.hint?a.default.dim(`(${n.hint})`):""}`:l==="selected"?`${a.default.green(Do)} ${a.default.dim(r)} ${n.hint?a.default.dim(`(${n.hint})`):""}`:l==="cancelled"?`${a.default.strikethrough(a.default.dim(r))}`:l==="active-selected"?`${a.default.green(Do)} ${r} ${n.hint?a.default.dim(`(${n.hint})`):""}`:l==="submitted"?`${a.default.dim(r)}`:`${a.default.dim(se)} ${a.default.dim(r)}`};return new Mo({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
- ${a.default.reset(a.default.dim(`Press ${a.default.gray(a.default.bgWhite(a.default.inverse(" space ")))} to select, ${a.default.gray(a.default.bgWhite(a.default.inverse(" enter ")))} to submit`))}`},render(){let n=`${a.default.gray(f)}
23
- ${rs(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}${a.default.gray(f)} ${this.options.filter(({value:r})=>this.value.includes(r)).map((r)=>e(r,"submitted")).join(a.default.dim(", "))||a.default.dim("none")}`;case"cancel":{let r=this.options.filter(({value:t})=>this.value.includes(t)).map((t)=>e(t,"cancelled")).join(a.default.dim(", "));return`${n}${a.default.gray(f)} ${r.trim()?`${r}
25
- ${a.default.gray(f)}`:""}`}case"error":{let r=this.error.split(`
26
- `).map((t,o)=>o===0?`${a.default.yellow(W)} ${a.default.yellow(t)}`:` ${t}`).join(`
27
- `);return`${n+a.default.yellow(f)} ${ss({options:this.options,cursor:this.cursor,maxItems:s.maxItems,style:l}).join(`
28
- ${a.default.yellow(f)} `)}
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`${n}${a.default.cyan(f)} ${ss({options:this.options,cursor:this.cursor,maxItems:s.maxItems,style:l}).join(`
31
- ${a.default.cyan(f)} `)}
32
- ${a.default.cyan(W)}
33
- `}}}).prompt()};var wo=(s="",e="")=>{let n=`
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=po(e).length,r=Math.max(n.reduce((o,i)=>{let p=po(i);return p.length>o?p.length:o},0),l)+2,t=n.map((o)=>`${a.default.gray(f)} ${a.default.dim(o)}${" ".repeat(r-po(o).length)}${a.default.gray(f)}`).join(`
37
- `);process.stdout.write(`${a.default.gray(f)}
38
- ${a.default.green(X)} ${a.default.reset(e)} ${a.default.gray(os.repeat(Math.max(r-l-1,1))+ee)}
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
39
  ${t}
40
- ${a.default.gray(ne+os.repeat(r+2)+re)}
41
- `)},bo=(s="")=>{process.stdout.write(`${a.default.gray(W)} ${a.default.red(s)}
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
42
 
43
- `)},ts=(s="")=>{process.stdout.write(`${a.default.gray(Ds)} ${s}
44
- `)},as=(s="")=>{process.stdout.write(`${a.default.gray(f)}
45
- ${a.default.gray(W)} ${s}
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
46
 
47
- `)},x={message:(s="",{symbol:e=a.default.gray(f)}={})=>{let n=[`${a.default.gray(f)}`];if(s){let[l,...r]=s.split(`
48
- `);n.push(`${e} ${l}`,...r.map((t)=>`${a.default.gray(f)} ${t}`))}process.stdout.write(`${n.join(`
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)=>{x.message(s,{symbol:a.default.blue(le)})},success:(s)=>{x.message(s,{symbol:a.default.green(te)})},step:(s)=>{x.message(s,{symbol:a.default.green(X)})},warn:(s)=>{x.message(s,{symbol:a.default.yellow(ae)})},warning:(s)=>{x.warn(s)},error:(s)=>{x.message(s,{symbol:a.default.red(ie)})}},He=`${a.default.gray(f)} `;var is=({indicator:s="dots"}={})=>{let e=co?["\u25D2","\u25D0","\u25D3","\u25D1"]:["\u2022","o","O","0"],n=co?80:120,l=process.env.CI==="true",r,t,o=!1,i="",p,m=performance.now(),b=(k)=>{let $=k>1?"Something went wrong":"Canceled";o&&Co($,k)},c=()=>b(2),d=()=>b(1),O=()=>{process.on("uncaughtExceptionMonitor",c),process.on("unhandledRejection",c),process.on("SIGINT",d),process.on("SIGTERM",d),process.on("exit",b)},P=()=>{process.removeListener("uncaughtExceptionMonitor",c),process.removeListener("unhandledRejection",c),process.removeListener("SIGINT",d),process.removeListener("SIGTERM",d),process.removeListener("exit",b)},H=()=>{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(Q.cursor.move(-999,k.length-1)),process.stdout.write(Q.erase.down(k.length))},Z=(k)=>k.replace(/\.+$/,""),Ao=(k)=>{let $=(performance.now()-k)/1000,I=Math.floor($/60),A=Math.floor($%60);return I>0?`[${I}m ${A}s]`:`[${A}s]`},ds=(k="")=>{o=!0,r=Zo(),i=Z(k),m=performance.now(),process.stdout.write(`${a.default.gray(f)}
53
- `);let $=0,I=0;O(),t=setInterval(()=>{if(l&&i===p)return;H(),p=i;let A=a.default.magenta(e[$]);if(l)process.stdout.write(`${A} ${i}...`);else if(s==="timer")process.stdout.write(`${A} ${i} ${Ao(m)}`);else{let gs=".".repeat(Math.floor(I)).slice(0,3);process.stdout.write(`${A} ${i}${gs}`)}$=$+1<e.length?$+1:0,I=I<e.length?I+0.125:0},n)},Co=(k="",$=0)=>{o=!1,clearInterval(t),H();let I=$===0?a.default.green(X):$===1?a.default.red(es):a.default.red(ns);i=Z(k??i),s==="timer"?process.stdout.write(`${I} ${i} ${Ao(m)}
54
- `):process.stdout.write(`${I} ${i}
55
- `),P(),r()};return{start:ds,stop:Co,message:(k="")=>{i=Z(k??i)}}},ps=async(s,e)=>{let n={},l=Object.keys(s);for(let r of l){let t=s[r],o=await t({results:n})?.catch((i)=>{throw i});if(typeof e?.onCancel=="function"&&K(o)){n[r]="canceled",e.onCancel({results:n});continue}n[r]=o}return n};var E=B(oo(),1);import*as S from"fs";import*as L from"path";var C="\n OPENCODE_AUTH: ${{ secrets.OPENCODE_AUTH }}",T="\n ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}",N=`
56
- - uses: actions/cache/restore@v4
57
- with:
58
- path: ~/.local/share/opencode/auth.json
59
- key: opencode-auth-
60
- restore-keys: opencode-auth-
61
- `;var fo=(s)=>`name: PR Review
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
+ `):process.stdout.write(`${$} ${a}
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
62
56
 
63
57
  on:
64
58
  pull_request:
@@ -72,11 +66,11 @@ jobs:
72
66
  pull-requests: write
73
67
  steps:
74
68
  - uses: actions/checkout@v4
75
- ${s?N:""}
69
+
76
70
  - uses: activadee/open-workflows/actions/pr-review@main
77
71
  env:
78
- GITHUB_TOKEN: \${{ secrets.GITHUB_TOKEN }}${s?C:T}
79
- `;var ho=(s)=>`name: Issue Label
72
+ GITHUB_TOKEN: \${{ secrets.GITHUB_TOKEN }}${s?S:A}
73
+ `;var wo=(s)=>`name: Issue Label
80
74
 
81
75
  on:
82
76
  issues:
@@ -89,11 +83,11 @@ jobs:
89
83
  issues: write
90
84
  steps:
91
85
  - uses: actions/checkout@v4
92
- ${s?N:""}
86
+
93
87
  - uses: activadee/open-workflows/actions/issue-label@main
94
88
  env:
95
- GITHUB_TOKEN: \${{ secrets.GITHUB_TOKEN }}${s?C:T}
96
- `;var go=(s)=>`name: Doc Sync
89
+ GITHUB_TOKEN: \${{ secrets.GITHUB_TOKEN }}${s?S:A}
90
+ `;var bo=(s)=>`name: Doc Sync
97
91
 
98
92
  on:
99
93
  pull_request:
@@ -110,11 +104,11 @@ jobs:
110
104
  with:
111
105
  ref: \${{ github.head_ref }}
112
106
  fetch-depth: 0
113
- ${s?N:""}
107
+
114
108
  - uses: activadee/open-workflows/actions/doc-sync@main
115
109
  env:
116
- GITHUB_TOKEN: \${{ secrets.GITHUB_TOKEN }}${s?C:T}
117
- `;var xo=(s)=>`name: Release
110
+ GITHUB_TOKEN: \${{ secrets.GITHUB_TOKEN }}${s?S:A}
111
+ `;var ho=(s)=>`name: Release
118
112
 
119
113
  on:
120
114
  workflow_dispatch:
@@ -149,39 +143,32 @@ jobs:
149
143
  version: \${{ inputs.version }}
150
144
  env:
151
145
  GITHUB_TOKEN: \${{ secrets.GITHUB_TOKEN }}
152
- `;var Eo=(s=!0)=>`name: OpenCode Auth
146
+ `;var go=(s)=>`name: AI Changeset
153
147
 
154
148
  on:
155
- schedule:
156
- - cron: '0 3 * * *'
157
- workflow_dispatch:
149
+ pull_request:
150
+ types: [opened, synchronize, reopened]
158
151
 
159
152
  jobs:
160
- refresh:
153
+ changeset:
161
154
  runs-on: ubuntu-latest
155
+ permissions:
156
+ contents: write
157
+ pull-requests: write
162
158
  steps:
163
- - id: cache
164
- uses: actions/cache/restore@v4
159
+ - uses: actions/checkout@v4
165
160
  with:
166
- path: ~/.local/share/opencode/auth.json
167
- key: opencode-auth-\${{ github.run_id }}
168
- restore-keys: opencode-auth-
169
-
170
- - if: steps.cache.outputs.cache-hit != 'true'
171
- run: |
172
- mkdir -p ~/.local/share/opencode
173
- echo '\${{ secrets.OPENCODE_AUTH }}' > ~/.local/share/opencode/auth.json
174
-
175
- - run: curl -fsSL https://opencode.ai/install | bash
176
-
177
- - run: opencode models
161
+ fetch-depth: 0
162
+ ref: \${{ github.head_ref }}
163
+ token: \${{ secrets.GITHUB_TOKEN }}
178
164
 
179
- - uses: actions/cache/save@v4
165
+ - uses: activadee/open-workflows/actions/changeset@main
180
166
  with:
181
- path: ~/.local/share/opencode/auth.json
182
- key: opencode-auth-\${{ github.run_id }}
183
- `;var ko={review:"pr-review",label:"issue-label","doc-sync":"doc-sync",release:"release","opencode-auth":"opencode-auth"};var ce={"pr-review":fo,"issue-label":ho,"doc-sync":go,release:xo,"opencode-auth":Eo};function cs(s){let{workflows:e,cwd:n=process.cwd()}=s,l=L.join(n,".github","workflows"),r=[];for(let t of e){let o=ko[t],i=L.join(l,`${o}.yml`);if(S.existsSync(i))r.push({type:"workflow",name:t,path:`.github/workflows/${o}.yml`})}return r}function ms(s){let{workflows:e,cwd:n=process.cwd(),useOAuth:l=!1,override:r=!1,overrideNames:t}=s,o=[],i=L.join(n,".github","workflows");if(!S.existsSync(i))S.mkdirSync(i,{recursive:!0});for(let p of e){let m=ko[p],b=ce[m],c=L.join(i,`${m}.yml`);if(!b){o.push({type:"workflow",name:p,status:"error",path:c,message:`Unknown workflow: ${p}`});continue}let d=b(l);if(!d){o.push({type:"workflow",name:p,status:"error",path:c,message:`Unknown workflow: ${p}`});continue}let O=S.existsSync(c),P=r||t?.has(p);if(O&&!P){o.push({type:"workflow",name:p,status:"skipped",path:`.github/workflows/${m}.yml`,message:"Skipped: already exists"});continue}try{S.writeFileSync(c,d,"utf-8"),o.push({type:"workflow",name:p,status:O?"overwritten":"created",path:`.github/workflows/${m}.yml`,message:O?"Overwritten successfully":"Created successfully"})}catch(H){o.push({type:"workflow",name:p,status:"error",path:c,message:`Failed to write file: ${H instanceof Error?H.message:"Unknown error"}`})}}return o}var we=await Promise.resolve().then(() => B(ws(),1)).catch(()=>({version:"unknown"})),_o=we.version,R=process.argv.slice(2),be=R.includes("--help")||R.includes("-h"),fe=R.includes("--version")||R.includes("-v"),Io=R.includes("--force")||R.includes("-f");if(fe)process.stdout.write(`@activade/open-workflows v${_o}
184
- `),process.exit(0);if(be)process.stdout.write(`@activade/open-workflows v${_o}
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}
185
172
 
186
173
  AI-powered GitHub automation workflows.
187
174
 
@@ -199,23 +186,20 @@ WHAT GETS INSTALLED
199
186
  .github/workflows/issue-label.yml
200
187
  .github/workflows/doc-sync.yml
201
188
  .github/workflows/release.yml
202
- .github/workflows/opencode-auth.yml (OAuth only)
189
+ .github/workflows/changeset.yml
203
190
 
204
191
  REQUIRED SECRETS
205
192
  For Claude Max (OAuth):
206
- OPENCODE_AUTH - Your auth.json from ~/.local/share/opencode/auth.json
193
+ OPENCODE_AUTH - Your auth.json (use opencode-auth-sync plugin to keep it updated)
207
194
 
208
195
  For API Key:
209
196
  ANTHROPIC_API_KEY - Your Anthropic API key
210
197
 
211
198
  For more information: https://github.com/activadee/open-workflows
212
- `),process.exit(0);ts(E.default.bgCyan(E.default.black(` @activade/open-workflows v${_o} `)));var bs=await ps({workflows:()=>ls({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:()=>mo({message:"Use Claude Max subscription (OAuth)? (No = API key)",initialValue:!1})},{onCancel:()=>{bo("Installation cancelled."),process.exit(0)}}),G=bs.workflows||[],So=Boolean(bs.useOAuth);if(So&&!G.includes("opencode-auth"))G=[...G,"opencode-auth"];var fs=new Set;if(!Io){let s=cs({workflows:G});if(s.length>0){x.warn(`Found ${s.length} existing file(s):`);for(let e of s){let n=await mo({message:`Override ${e.path}?`,initialValue:!1});if(K(n))bo("Installation cancelled."),process.exit(0);if(n)fs.add(e.name)}}}var hs=is();hs.start("Installing workflows...");var Y=ms({workflows:G,useOAuth:So,override:Io,overrideNames:Io?void 0:fs}),he=Y.some((s)=>s.status==="error");hs.stop(he?"Installation completed with errors":"Installation complete!");var yo=Y.filter((s)=>s.status==="created"),Oo=Y.filter((s)=>s.status==="overwritten"),$o=Y.filter((s)=>s.status==="skipped"),vo=Y.filter((s)=>s.status==="error");if(yo.length>0){x.success(`Created ${yo.length} file(s):`);for(let s of yo)x.message(` ${E.default.green("+")} ${s.path}`)}if(Oo.length>0){x.success(`Overwritten ${Oo.length} file(s):`);for(let s of Oo)x.message(` ${E.default.cyan("~")} ${s.path}`)}if($o.length>0){x.warn(`Skipped ${$o.length} file(s) (already exist):`);for(let s of $o)x.message(` ${E.default.yellow("-")} ${s.path}`)}if(vo.length>0){x.error(`Failed ${vo.length} file(s):`);for(let s of vo)x.message(` ${E.default.red("x")} ${s.path}: ${s.message}`)}if(So)wo(`${E.default.cyan("1.")} Export your OpenCode auth as a secret:
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:
213
200
  ${E.default.dim("gh secret set OPENCODE_AUTH < ~/.local/share/opencode/auth.json")}
214
201
 
215
- ${E.default.cyan("2.")} Commit and push the workflow files
216
-
217
- ${E.default.cyan("3.")} Run the opencode-auth workflow manually to initialize the cache:
218
- ${E.default.dim("gh workflow run opencode-auth.yml")}`,"Next steps (OAuth)");else wo(`${E.default.cyan("1.")} Add your 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:
219
203
  ${E.default.dim("gh secret set ANTHROPIC_API_KEY")}
220
204
 
221
- ${E.default.cyan("2.")} Commit and push the workflow files`,"Next steps");as(E.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.4",
3
+ "version": "2.0.6",
4
4
  "description": "AI-powered GitHub automation workflows via composite actions",
5
5
  "keywords": [
6
6
  "github",