@baton-dx/cli 0.7.1 → 0.8.1

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.
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import "./dist-BoZnMvNi.mjs";
3
- import { c as Ve, i as Le, l as We, m as defineCommand, n as isInSourceRepo } from "./context-detection-DO0ZeRyQ.mjs";
4
- import { H as discoverProfilesInSourceRepo } from "./src-C0c228gb.mjs";
3
+ import { c as Ve, i as Le, l as We, m as defineCommand, n as isInSourceRepo } from "./context-detection-BxY5Qs8X.mjs";
4
+ import { U as discoverProfilesInSourceRepo } from "./src-BC9rP9z6.mjs";
5
5
  import "./ai-tool-detection-CMsBNa9e.mjs";
6
6
 
7
7
  //#region src/commands/profile/list.ts
@@ -53,4 +53,4 @@ Note: Must be run from a source repository (directory with baton.source.yaml)`
53
53
 
54
54
  //#endregion
55
55
  export { profileListCommand };
56
- //# sourceMappingURL=list-7GvmRp3q.mjs.map
56
+ //# sourceMappingURL=list-aDpgCGh4.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"list-7GvmRp3q.mjs","names":[],"sources":["../src/commands/profile/list.ts"],"sourcesContent":["import { discoverProfilesInSourceRepo } from \"@baton-dx/core\";\nimport * as p from \"@clack/prompts\";\nimport { defineCommand } from \"citty\";\nimport { isInSourceRepo } from \"../../utils/context-detection.js\";\n\nexport const profileListCommand = defineCommand({\n meta: {\n name: \"profile list\",\n description: `List all profiles in the current source repository\n\nShows a table of all profiles with:\n - Profile name (root profile marked with \"(root)\")\n - Version from baton.profile.yaml\n - Description from profile manifest\n\nExamples:\n baton profile list\n\nNote: Must be run from a source repository (directory with baton.source.yaml)`,\n },\n run: async () => {\n p.intro(\"List Profiles\");\n\n // Check if we're in a source repo\n const inSourceRepo = await isInSourceRepo();\n if (!inSourceRepo) {\n p.outro(\n \"Error: Not in a source repository. Run this command from a directory containing baton.source.yaml\",\n );\n process.exit(1);\n }\n\n const cwd = process.cwd();\n\n // Discover all profiles in the profiles/ directory\n const profiles = await discoverProfilesInSourceRepo(cwd);\n\n if (profiles.length === 0) {\n p.outro(\"No profiles found.\");\n process.exit(0);\n }\n\n // Build table output\n const lines: string[] = [];\n lines.push(\"┌─────────────────────┬─────────┬────────────────────────────────────┐\");\n lines.push(\"│ Name │ Version │ Description │\");\n lines.push(\"├─────────────────────┼─────────┼────────────────────────────────────┤\");\n\n for (const profile of profiles) {\n const name = profile.name;\n const version = profile.version || \"-\";\n const description = profile.description || \"-\";\n\n // Pad columns to fixed width\n const namePadded = name.padEnd(19);\n const versionPadded = version.padEnd(7);\n const descPadded = description.padEnd(34);\n\n lines.push(`│ ${namePadded} │ ${versionPadded} │ ${descPadded} │`);\n }\n\n lines.push(\"└─────────────────────┴─────────┴────────────────────────────────────┘\");\n\n p.note(lines.join(\"\\n\"), \"Profiles\");\n p.outro(`Found ${profiles.length} profile${profiles.length === 1 ? \"\" : \"s\"}`);\n process.exit(0);\n },\n});\n"],"mappings":";;;;;;;AAKA,MAAa,qBAAqB,cAAc;CAC9C,MAAM;EACJ,MAAM;EACN,aAAa;;;;;;;;;;;EAWd;CACD,KAAK,YAAY;AACf,KAAQ,gBAAgB;AAIxB,MAAI,CADiB,MAAM,gBAAgB,EACxB;AACjB,MACE,oGACD;AACD,WAAQ,KAAK,EAAE;;EAMjB,MAAM,WAAW,MAAM,6BAHX,QAAQ,KAAK,CAG+B;AAExD,MAAI,SAAS,WAAW,GAAG;AACzB,MAAQ,qBAAqB;AAC7B,WAAQ,KAAK,EAAE;;EAIjB,MAAM,QAAkB,EAAE;AAC1B,QAAM,KAAK,yEAAyE;AACpF,QAAM,KAAK,yEAAyE;AACpF,QAAM,KAAK,yEAAyE;AAEpF,OAAK,MAAM,WAAW,UAAU;GAC9B,MAAM,OAAO,QAAQ;GACrB,MAAM,UAAU,QAAQ,WAAW;GACnC,MAAM,cAAc,QAAQ,eAAe;GAG3C,MAAM,aAAa,KAAK,OAAO,GAAG;GAClC,MAAM,gBAAgB,QAAQ,OAAO,EAAE;GACvC,MAAM,aAAa,YAAY,OAAO,GAAG;AAEzC,SAAM,KAAK,KAAK,WAAW,KAAK,cAAc,KAAK,WAAW,IAAI;;AAGpE,QAAM,KAAK,yEAAyE;AAEpF,KAAO,MAAM,KAAK,KAAK,EAAE,WAAW;AACpC,KAAQ,SAAS,SAAS,OAAO,UAAU,SAAS,WAAW,IAAI,KAAK,MAAM;AAC9E,UAAQ,KAAK,EAAE;;CAElB,CAAC"}
1
+ {"version":3,"file":"list-aDpgCGh4.mjs","names":[],"sources":["../src/commands/profile/list.ts"],"sourcesContent":["import { discoverProfilesInSourceRepo } from \"@baton-dx/core\";\nimport * as p from \"@clack/prompts\";\nimport { defineCommand } from \"citty\";\nimport { isInSourceRepo } from \"../../utils/context-detection.js\";\n\nexport const profileListCommand = defineCommand({\n meta: {\n name: \"profile list\",\n description: `List all profiles in the current source repository\n\nShows a table of all profiles with:\n - Profile name (root profile marked with \"(root)\")\n - Version from baton.profile.yaml\n - Description from profile manifest\n\nExamples:\n baton profile list\n\nNote: Must be run from a source repository (directory with baton.source.yaml)`,\n },\n run: async () => {\n p.intro(\"List Profiles\");\n\n // Check if we're in a source repo\n const inSourceRepo = await isInSourceRepo();\n if (!inSourceRepo) {\n p.outro(\n \"Error: Not in a source repository. Run this command from a directory containing baton.source.yaml\",\n );\n process.exit(1);\n }\n\n const cwd = process.cwd();\n\n // Discover all profiles in the profiles/ directory\n const profiles = await discoverProfilesInSourceRepo(cwd);\n\n if (profiles.length === 0) {\n p.outro(\"No profiles found.\");\n process.exit(0);\n }\n\n // Build table output\n const lines: string[] = [];\n lines.push(\"┌─────────────────────┬─────────┬────────────────────────────────────┐\");\n lines.push(\"│ Name │ Version │ Description │\");\n lines.push(\"├─────────────────────┼─────────┼────────────────────────────────────┤\");\n\n for (const profile of profiles) {\n const name = profile.name;\n const version = profile.version || \"-\";\n const description = profile.description || \"-\";\n\n // Pad columns to fixed width\n const namePadded = name.padEnd(19);\n const versionPadded = version.padEnd(7);\n const descPadded = description.padEnd(34);\n\n lines.push(`│ ${namePadded} │ ${versionPadded} │ ${descPadded} │`);\n }\n\n lines.push(\"└─────────────────────┴─────────┴────────────────────────────────────┘\");\n\n p.note(lines.join(\"\\n\"), \"Profiles\");\n p.outro(`Found ${profiles.length} profile${profiles.length === 1 ? \"\" : \"s\"}`);\n process.exit(0);\n },\n});\n"],"mappings":";;;;;;;AAKA,MAAa,qBAAqB,cAAc;CAC9C,MAAM;EACJ,MAAM;EACN,aAAa;;;;;;;;;;;EAWd;CACD,KAAK,YAAY;AACf,KAAQ,gBAAgB;AAIxB,MAAI,CADiB,MAAM,gBAAgB,EACxB;AACjB,MACE,oGACD;AACD,WAAQ,KAAK,EAAE;;EAMjB,MAAM,WAAW,MAAM,6BAHX,QAAQ,KAAK,CAG+B;AAExD,MAAI,SAAS,WAAW,GAAG;AACzB,MAAQ,qBAAqB;AAC7B,WAAQ,KAAK,EAAE;;EAIjB,MAAM,QAAkB,EAAE;AAC1B,QAAM,KAAK,yEAAyE;AACpF,QAAM,KAAK,yEAAyE;AACpF,QAAM,KAAK,yEAAyE;AAEpF,OAAK,MAAM,WAAW,UAAU;GAC9B,MAAM,OAAO,QAAQ;GACrB,MAAM,UAAU,QAAQ,WAAW;GACnC,MAAM,cAAc,QAAQ,eAAe;GAG3C,MAAM,aAAa,KAAK,OAAO,GAAG;GAClC,MAAM,gBAAgB,QAAQ,OAAO,EAAE;GACvC,MAAM,aAAa,YAAY,OAAO,GAAG;AAEzC,SAAM,KAAK,KAAK,WAAW,KAAK,cAAc,KAAK,WAAW,IAAI;;AAGpE,QAAM,KAAK,yEAAyE;AAEpF,KAAO,MAAM,KAAK,KAAK,EAAE,WAAW;AACpC,KAAQ,SAAS,SAAS,OAAO,UAAU,SAAS,WAAW,IAAI,KAAK,MAAM;AAC9E,UAAQ,KAAK,EAAE;;CAElB,CAAC"}
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import N, { stdin, stdout } from "node:process";
3
3
  import { WriteStream } from "node:tty";
4
- import ot from "node:readline";
4
+ import f from "node:readline";
5
5
 
6
6
  //#region ../../node_modules/.bun/consola@3.4.2/node_modules/consola/dist/chunks/prompt.mjs
7
7
  function getDefaultExportFromCjs(x) {
@@ -482,13 +482,13 @@ var x = class {
482
482
  const e = new WriteStream(0);
483
483
  e._write = (s, i, D) => {
484
484
  this._track && (this.value = this.rl?.line.replace(/\t/g, ""), this._cursor = this.rl?.cursor ?? 0, this.emit("value", this.value)), D();
485
- }, this.input.pipe(e), this.rl = ot.createInterface({
485
+ }, this.input.pipe(e), this.rl = f.createInterface({
486
486
  input: this.input,
487
487
  output: e,
488
488
  tabSize: 2,
489
489
  prompt: "",
490
490
  escapeCodeTimeout: 50
491
- }), ot.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), d$1(this.input, true), this.output.on("resize", this.render), this.render(), this.once("submit", () => {
491
+ }), f.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), d$1(this.input, true), this.output.on("resize", this.render), this.render(), this.once("submit", () => {
492
492
  this.output.write(srcExports.cursor.show), this.output.off("resize", this.render), d$1(this.input, false), u(this.value);
493
493
  }), this.once("cancel", () => {
494
494
  this.output.write(srcExports.cursor.show), this.output.off("resize", this.render), d$1(this.input, false), u(S);
@@ -846,4 +846,4 @@ async function prompt(message, opts = {}) {
846
846
 
847
847
  //#endregion
848
848
  export { prompt };
849
- //# sourceMappingURL=prompt-DXfUeR3X.mjs.map
849
+ //# sourceMappingURL=prompt-YyCqLdrb.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-YyCqLdrb.mjs","names":["N","g"],"sources":["../../../node_modules/.bun/consola@3.4.2/node_modules/consola/dist/chunks/prompt.mjs"],"sourcesContent":["import 'node:util';\nimport g, { stdin, stdout } from 'node:process';\nimport f from 'node:readline';\nimport { WriteStream } from 'node:tty';\n\nfunction getDefaultExportFromCjs (x) {\n\treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n}\n\nvar src;\nvar hasRequiredSrc;\n\nfunction requireSrc () {\n\tif (hasRequiredSrc) return src;\n\thasRequiredSrc = 1;\n\n\tconst ESC = '\\x1B';\n\tconst CSI = `${ESC}[`;\n\tconst beep = '\\u0007';\n\n\tconst cursor = {\n\t to(x, y) {\n\t if (!y) return `${CSI}${x + 1}G`;\n\t return `${CSI}${y + 1};${x + 1}H`;\n\t },\n\t move(x, y) {\n\t let ret = '';\n\n\t if (x < 0) ret += `${CSI}${-x}D`;\n\t else if (x > 0) ret += `${CSI}${x}C`;\n\n\t if (y < 0) ret += `${CSI}${-y}A`;\n\t else if (y > 0) ret += `${CSI}${y}B`;\n\n\t return ret;\n\t },\n\t up: (count = 1) => `${CSI}${count}A`,\n\t down: (count = 1) => `${CSI}${count}B`,\n\t forward: (count = 1) => `${CSI}${count}C`,\n\t backward: (count = 1) => `${CSI}${count}D`,\n\t nextLine: (count = 1) => `${CSI}E`.repeat(count),\n\t prevLine: (count = 1) => `${CSI}F`.repeat(count),\n\t left: `${CSI}G`,\n\t hide: `${CSI}?25l`,\n\t show: `${CSI}?25h`,\n\t save: `${ESC}7`,\n\t restore: `${ESC}8`\n\t};\n\n\tconst scroll = {\n\t up: (count = 1) => `${CSI}S`.repeat(count),\n\t down: (count = 1) => `${CSI}T`.repeat(count)\n\t};\n\n\tconst erase = {\n\t screen: `${CSI}2J`,\n\t up: (count = 1) => `${CSI}1J`.repeat(count),\n\t down: (count = 1) => `${CSI}J`.repeat(count),\n\t line: `${CSI}2K`,\n\t lineEnd: `${CSI}K`,\n\t lineStart: `${CSI}1K`,\n\t lines(count) {\n\t let clear = '';\n\t for (let i = 0; i < count; i++)\n\t clear += this.line + (i < count - 1 ? cursor.up() : '');\n\t if (count)\n\t clear += cursor.left;\n\t return clear;\n\t }\n\t};\n\n\tsrc = { cursor, scroll, erase, beep };\n\treturn src;\n}\n\nvar srcExports = requireSrc();\n\nvar picocolors = {exports: {}};\n\nvar hasRequiredPicocolors;\n\nfunction requirePicocolors () {\n\tif (hasRequiredPicocolors) return picocolors.exports;\n\thasRequiredPicocolors = 1;\n\tlet p = process || {}, argv = p.argv || [], env = p.env || {};\n\tlet isColorSupported =\n\t\t!(!!env.NO_COLOR || argv.includes(\"--no-color\")) &&\n\t\t(!!env.FORCE_COLOR || argv.includes(\"--color\") || p.platform === \"win32\" || ((p.stdout || {}).isTTY && env.TERM !== \"dumb\") || !!env.CI);\n\n\tlet formatter = (open, close, replace = open) =>\n\t\tinput => {\n\t\t\tlet string = \"\" + input, index = string.indexOf(close, open.length);\n\t\t\treturn ~index ? open + replaceClose(string, close, replace, index) + close : open + string + close\n\t\t};\n\n\tlet replaceClose = (string, close, replace, index) => {\n\t\tlet result = \"\", cursor = 0;\n\t\tdo {\n\t\t\tresult += string.substring(cursor, index) + replace;\n\t\t\tcursor = index + close.length;\n\t\t\tindex = string.indexOf(close, cursor);\n\t\t} while (~index)\n\t\treturn result + string.substring(cursor)\n\t};\n\n\tlet createColors = (enabled = isColorSupported) => {\n\t\tlet f = enabled ? formatter : () => String;\n\t\treturn {\n\t\t\tisColorSupported: enabled,\n\t\t\treset: f(\"\\x1b[0m\", \"\\x1b[0m\"),\n\t\t\tbold: f(\"\\x1b[1m\", \"\\x1b[22m\", \"\\x1b[22m\\x1b[1m\"),\n\t\t\tdim: f(\"\\x1b[2m\", \"\\x1b[22m\", \"\\x1b[22m\\x1b[2m\"),\n\t\t\titalic: f(\"\\x1b[3m\", \"\\x1b[23m\"),\n\t\t\tunderline: f(\"\\x1b[4m\", \"\\x1b[24m\"),\n\t\t\tinverse: f(\"\\x1b[7m\", \"\\x1b[27m\"),\n\t\t\thidden: f(\"\\x1b[8m\", \"\\x1b[28m\"),\n\t\t\tstrikethrough: f(\"\\x1b[9m\", \"\\x1b[29m\"),\n\n\t\t\tblack: f(\"\\x1b[30m\", \"\\x1b[39m\"),\n\t\t\tred: f(\"\\x1b[31m\", \"\\x1b[39m\"),\n\t\t\tgreen: f(\"\\x1b[32m\", \"\\x1b[39m\"),\n\t\t\tyellow: f(\"\\x1b[33m\", \"\\x1b[39m\"),\n\t\t\tblue: f(\"\\x1b[34m\", \"\\x1b[39m\"),\n\t\t\tmagenta: f(\"\\x1b[35m\", \"\\x1b[39m\"),\n\t\t\tcyan: f(\"\\x1b[36m\", \"\\x1b[39m\"),\n\t\t\twhite: f(\"\\x1b[37m\", \"\\x1b[39m\"),\n\t\t\tgray: f(\"\\x1b[90m\", \"\\x1b[39m\"),\n\n\t\t\tbgBlack: f(\"\\x1b[40m\", \"\\x1b[49m\"),\n\t\t\tbgRed: f(\"\\x1b[41m\", \"\\x1b[49m\"),\n\t\t\tbgGreen: f(\"\\x1b[42m\", \"\\x1b[49m\"),\n\t\t\tbgYellow: f(\"\\x1b[43m\", \"\\x1b[49m\"),\n\t\t\tbgBlue: f(\"\\x1b[44m\", \"\\x1b[49m\"),\n\t\t\tbgMagenta: f(\"\\x1b[45m\", \"\\x1b[49m\"),\n\t\t\tbgCyan: f(\"\\x1b[46m\", \"\\x1b[49m\"),\n\t\t\tbgWhite: f(\"\\x1b[47m\", \"\\x1b[49m\"),\n\n\t\t\tblackBright: f(\"\\x1b[90m\", \"\\x1b[39m\"),\n\t\t\tredBright: f(\"\\x1b[91m\", \"\\x1b[39m\"),\n\t\t\tgreenBright: f(\"\\x1b[92m\", \"\\x1b[39m\"),\n\t\t\tyellowBright: f(\"\\x1b[93m\", \"\\x1b[39m\"),\n\t\t\tblueBright: f(\"\\x1b[94m\", \"\\x1b[39m\"),\n\t\t\tmagentaBright: f(\"\\x1b[95m\", \"\\x1b[39m\"),\n\t\t\tcyanBright: f(\"\\x1b[96m\", \"\\x1b[39m\"),\n\t\t\twhiteBright: f(\"\\x1b[97m\", \"\\x1b[39m\"),\n\n\t\t\tbgBlackBright: f(\"\\x1b[100m\", \"\\x1b[49m\"),\n\t\t\tbgRedBright: f(\"\\x1b[101m\", \"\\x1b[49m\"),\n\t\t\tbgGreenBright: f(\"\\x1b[102m\", \"\\x1b[49m\"),\n\t\t\tbgYellowBright: f(\"\\x1b[103m\", \"\\x1b[49m\"),\n\t\t\tbgBlueBright: f(\"\\x1b[104m\", \"\\x1b[49m\"),\n\t\t\tbgMagentaBright: f(\"\\x1b[105m\", \"\\x1b[49m\"),\n\t\t\tbgCyanBright: f(\"\\x1b[106m\", \"\\x1b[49m\"),\n\t\t\tbgWhiteBright: f(\"\\x1b[107m\", \"\\x1b[49m\"),\n\t\t}\n\t};\n\n\tpicocolors.exports = createColors();\n\tpicocolors.exports.createColors = createColors;\n\treturn picocolors.exports;\n}\n\nvar picocolorsExports = /*@__PURE__*/ requirePicocolors();\nconst e = /*@__PURE__*/getDefaultExportFromCjs(picocolorsExports);\n\nfunction J({onlyFirst:t=false}={}){const F=[\"[\\\\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(F,t?void 0:\"g\")}const Q=J();function T$1(t){if(typeof t!=\"string\")throw new TypeError(`Expected a \\`string\\`, got \\`${typeof t}\\``);return t.replace(Q,\"\")}function O(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,\"default\")?t.default:t}var P$1={exports:{}};(function(t){var u={};t.exports=u,u.eastAsianWidth=function(e){var s=e.charCodeAt(0),i=e.length==2?e.charCodeAt(1):0,D=s;return 55296<=s&&s<=56319&&56320<=i&&i<=57343&&(s&=1023,i&=1023,D=s<<10|i,D+=65536),D==12288||65281<=D&&D<=65376||65504<=D&&D<=65510?\"F\":D==8361||65377<=D&&D<=65470||65474<=D&&D<=65479||65482<=D&&D<=65487||65490<=D&&D<=65495||65498<=D&&D<=65500||65512<=D&&D<=65518?\"H\":4352<=D&&D<=4447||4515<=D&&D<=4519||4602<=D&&D<=4607||9001<=D&&D<=9002||11904<=D&&D<=11929||11931<=D&&D<=12019||12032<=D&&D<=12245||12272<=D&&D<=12283||12289<=D&&D<=12350||12353<=D&&D<=12438||12441<=D&&D<=12543||12549<=D&&D<=12589||12593<=D&&D<=12686||12688<=D&&D<=12730||12736<=D&&D<=12771||12784<=D&&D<=12830||12832<=D&&D<=12871||12880<=D&&D<=13054||13056<=D&&D<=19903||19968<=D&&D<=42124||42128<=D&&D<=42182||43360<=D&&D<=43388||44032<=D&&D<=55203||55216<=D&&D<=55238||55243<=D&&D<=55291||63744<=D&&D<=64255||65040<=D&&D<=65049||65072<=D&&D<=65106||65108<=D&&D<=65126||65128<=D&&D<=65131||110592<=D&&D<=110593||127488<=D&&D<=127490||127504<=D&&D<=127546||127552<=D&&D<=127560||127568<=D&&D<=127569||131072<=D&&D<=194367||177984<=D&&D<=196605||196608<=D&&D<=262141?\"W\":32<=D&&D<=126||162<=D&&D<=163||165<=D&&D<=166||D==172||D==175||10214<=D&&D<=10221||10629<=D&&D<=10630?\"Na\":D==161||D==164||167<=D&&D<=168||D==170||173<=D&&D<=174||176<=D&&D<=180||182<=D&&D<=186||188<=D&&D<=191||D==198||D==208||215<=D&&D<=216||222<=D&&D<=225||D==230||232<=D&&D<=234||236<=D&&D<=237||D==240||242<=D&&D<=243||247<=D&&D<=250||D==252||D==254||D==257||D==273||D==275||D==283||294<=D&&D<=295||D==299||305<=D&&D<=307||D==312||319<=D&&D<=322||D==324||328<=D&&D<=331||D==333||338<=D&&D<=339||358<=D&&D<=359||D==363||D==462||D==464||D==466||D==468||D==470||D==472||D==474||D==476||D==593||D==609||D==708||D==711||713<=D&&D<=715||D==717||D==720||728<=D&&D<=731||D==733||D==735||768<=D&&D<=879||913<=D&&D<=929||931<=D&&D<=937||945<=D&&D<=961||963<=D&&D<=969||D==1025||1040<=D&&D<=1103||D==1105||D==8208||8211<=D&&D<=8214||8216<=D&&D<=8217||8220<=D&&D<=8221||8224<=D&&D<=8226||8228<=D&&D<=8231||D==8240||8242<=D&&D<=8243||D==8245||D==8251||D==8254||D==8308||D==8319||8321<=D&&D<=8324||D==8364||D==8451||D==8453||D==8457||D==8467||D==8470||8481<=D&&D<=8482||D==8486||D==8491||8531<=D&&D<=8532||8539<=D&&D<=8542||8544<=D&&D<=8555||8560<=D&&D<=8569||D==8585||8592<=D&&D<=8601||8632<=D&&D<=8633||D==8658||D==8660||D==8679||D==8704||8706<=D&&D<=8707||8711<=D&&D<=8712||D==8715||D==8719||D==8721||D==8725||D==8730||8733<=D&&D<=8736||D==8739||D==8741||8743<=D&&D<=8748||D==8750||8756<=D&&D<=8759||8764<=D&&D<=8765||D==8776||D==8780||D==8786||8800<=D&&D<=8801||8804<=D&&D<=8807||8810<=D&&D<=8811||8814<=D&&D<=8815||8834<=D&&D<=8835||8838<=D&&D<=8839||D==8853||D==8857||D==8869||D==8895||D==8978||9312<=D&&D<=9449||9451<=D&&D<=9547||9552<=D&&D<=9587||9600<=D&&D<=9615||9618<=D&&D<=9621||9632<=D&&D<=9633||9635<=D&&D<=9641||9650<=D&&D<=9651||9654<=D&&D<=9655||9660<=D&&D<=9661||9664<=D&&D<=9665||9670<=D&&D<=9672||D==9675||9678<=D&&D<=9681||9698<=D&&D<=9701||D==9711||9733<=D&&D<=9734||D==9737||9742<=D&&D<=9743||9748<=D&&D<=9749||D==9756||D==9758||D==9792||D==9794||9824<=D&&D<=9825||9827<=D&&D<=9829||9831<=D&&D<=9834||9836<=D&&D<=9837||D==9839||9886<=D&&D<=9887||9918<=D&&D<=9919||9924<=D&&D<=9933||9935<=D&&D<=9953||D==9955||9960<=D&&D<=9983||D==10045||D==10071||10102<=D&&D<=10111||11093<=D&&D<=11097||12872<=D&&D<=12879||57344<=D&&D<=63743||65024<=D&&D<=65039||D==65533||127232<=D&&D<=127242||127248<=D&&D<=127277||127280<=D&&D<=127337||127344<=D&&D<=127386||917760<=D&&D<=917999||983040<=D&&D<=1048573||1048576<=D&&D<=1114109?\"A\":\"N\"},u.characterLength=function(e){var s=this.eastAsianWidth(e);return s==\"F\"||s==\"W\"||s==\"A\"?2:1};function F(e){return e.match(/[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[^\\uD800-\\uDFFF]/g)||[]}u.length=function(e){for(var s=F(e),i=0,D=0;D<s.length;D++)i=i+this.characterLength(s[D]);return i},u.slice=function(e,s,i){textLen=u.length(e),s=s||0,i=i||1,s<0&&(s=textLen+s),i<0&&(i=textLen+i);for(var D=\"\",C=0,o=F(e),E=0;E<o.length;E++){var a=o[E],n=u.length(a);if(C>=s-(n==2?1:0))if(C+n<=i)D+=a;else break;C+=n;}return D};})(P$1);var X=P$1.exports;const DD=O(X);var uD=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};const FD=O(uD);function A$1(t,u={}){if(typeof t!=\"string\"||t.length===0||(u={ambiguousIsNarrow:true,...u},t=T$1(t),t.length===0))return 0;t=t.replace(FD(),\" \");const F=u.ambiguousIsNarrow?1:2;let e=0;for(const s of t){const i=s.codePointAt(0);if(i<=31||i>=127&&i<=159||i>=768&&i<=879)continue;switch(DD.eastAsianWidth(s)){case \"F\":case \"W\":e+=2;break;case \"A\":e+=F;break;default:e+=1;}}return e}const m=10,L$1=(t=0)=>u=>`\\x1B[${u+t}m`,N=(t=0)=>u=>`\\x1B[${38+t};5;${u}m`,I=(t=0)=>(u,F,e)=>`\\x1B[${38+t};2;${u};${F};${e}m`,r={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(r.modifier);const tD=Object.keys(r.color),eD=Object.keys(r.bgColor);[...tD,...eD];function sD(){const t=new Map;for(const[u,F]of Object.entries(r)){for(const[e,s]of Object.entries(F))r[e]={open:`\\x1B[${s[0]}m`,close:`\\x1B[${s[1]}m`},F[e]=r[e],t.set(s[0],s[1]);Object.defineProperty(r,u,{value:F,enumerable:false});}return Object.defineProperty(r,\"codes\",{value:t,enumerable:false}),r.color.close=\"\\x1B[39m\",r.bgColor.close=\"\\x1B[49m\",r.color.ansi=L$1(),r.color.ansi256=N(),r.color.ansi16m=I(),r.bgColor.ansi=L$1(m),r.bgColor.ansi256=N(m),r.bgColor.ansi16m=I(m),Object.defineProperties(r,{rgbToAnsi256:{value:(u,F,e)=>u===F&&F===e?u<8?16:u>248?231:Math.round((u-8)/247*24)+232:16+36*Math.round(u/255*5)+6*Math.round(F/255*5)+Math.round(e/255*5),enumerable:false},hexToRgb:{value:u=>{const F=/[a-f\\d]{6}|[a-f\\d]{3}/i.exec(u.toString(16));if(!F)return [0,0,0];let[e]=F;e.length===3&&(e=[...e].map(i=>i+i).join(\"\"));const s=Number.parseInt(e,16);return [s>>16&255,s>>8&255,s&255]},enumerable:false},hexToAnsi256:{value:u=>r.rgbToAnsi256(...r.hexToRgb(u)),enumerable:false},ansi256ToAnsi:{value:u=>{if(u<8)return 30+u;if(u<16)return 90+(u-8);let F,e,s;if(u>=232)F=((u-232)*10+8)/255,e=F,s=F;else {u-=16;const C=u%36;F=Math.floor(u/36)/5,e=Math.floor(C/6)/5,s=C%6/5;}const i=Math.max(F,e,s)*2;if(i===0)return 30;let D=30+(Math.round(s)<<2|Math.round(e)<<1|Math.round(F));return i===2&&(D+=60),D},enumerable:false},rgbToAnsi:{value:(u,F,e)=>r.ansi256ToAnsi(r.rgbToAnsi256(u,F,e)),enumerable:false},hexToAnsi:{value:u=>r.ansi256ToAnsi(r.hexToAnsi256(u)),enumerable:false}}),r}const iD=sD(),v=new Set([\"\\x1B\",\"\\x9B\"]),CD=39,w$1=\"\\x07\",W$1=\"[\",rD=\"]\",R=\"m\",y=`${rD}8;;`,V$1=t=>`${v.values().next().value}${W$1}${t}${R}`,z=t=>`${v.values().next().value}${y}${t}${w$1}`,ED=t=>t.split(\" \").map(u=>A$1(u)),_=(t,u,F)=>{const e=[...u];let s=false,i=false,D=A$1(T$1(t[t.length-1]));for(const[C,o]of e.entries()){const E=A$1(o);if(D+E<=F?t[t.length-1]+=o:(t.push(o),D=0),v.has(o)&&(s=true,i=e.slice(C+1).join(\"\").startsWith(y)),s){i?o===w$1&&(s=false,i=false):o===R&&(s=false);continue}D+=E,D===F&&C<e.length-1&&(t.push(\"\"),D=0);}!D&&t[t.length-1].length>0&&t.length>1&&(t[t.length-2]+=t.pop());},nD=t=>{const u=t.split(\" \");let F=u.length;for(;F>0&&!(A$1(u[F-1])>0);)F--;return F===u.length?t:u.slice(0,F).join(\" \")+u.slice(F).join(\"\")},oD=(t,u,F={})=>{if(F.trim!==false&&t.trim()===\"\")return \"\";let e=\"\",s,i;const D=ED(t);let C=[\"\"];for(const[E,a]of t.split(\" \").entries()){F.trim!==false&&(C[C.length-1]=C[C.length-1].trimStart());let n=A$1(C[C.length-1]);if(E!==0&&(n>=u&&(F.wordWrap===false||F.trim===false)&&(C.push(\"\"),n=0),(n>0||F.trim===false)&&(C[C.length-1]+=\" \",n++)),F.hard&&D[E]>u){const B=u-n,p=1+Math.floor((D[E]-B-1)/u);Math.floor((D[E]-1)/u)<p&&C.push(\"\"),_(C,a,u);continue}if(n+D[E]>u&&n>0&&D[E]>0){if(F.wordWrap===false&&n<u){_(C,a,u);continue}C.push(\"\");}if(n+D[E]>u&&F.wordWrap===false){_(C,a,u);continue}C[C.length-1]+=a;}F.trim!==false&&(C=C.map(E=>nD(E)));const o=[...C.join(`\n`)];for(const[E,a]of o.entries()){if(e+=a,v.has(a)){const{groups:B}=new RegExp(`(?:\\\\${W$1}(?<code>\\\\d+)m|\\\\${y}(?<uri>.*)${w$1})`).exec(o.slice(E).join(\"\"))||{groups:{}};if(B.code!==void 0){const p=Number.parseFloat(B.code);s=p===CD?void 0:p;}else B.uri!==void 0&&(i=B.uri.length===0?void 0:B.uri);}const n=iD.codes.get(Number(s));o[E+1]===`\n`?(i&&(e+=z(\"\")),s&&n&&(e+=V$1(n))):a===`\n`&&(s&&n&&(e+=V$1(s)),i&&(e+=z(i)));}return e};function G(t,u,F){return String(t).normalize().replace(/\\r\\n/g,`\n`).split(`\n`).map(e=>oD(e,u,F)).join(`\n`)}const aD=[\"up\",\"down\",\"left\",\"right\",\"space\",\"enter\",\"cancel\"],c={actions:new Set(aD),aliases:new Map([[\"k\",\"up\"],[\"j\",\"down\"],[\"h\",\"left\"],[\"l\",\"right\"],[\"\u0003\",\"cancel\"],[\"escape\",\"cancel\"]])};function k$1(t,u){if(typeof t==\"string\")return c.aliases.get(t)===u;for(const F of t)if(F!==void 0&&k$1(F,u))return true;return false}function lD(t,u){if(t===u)return;const F=t.split(`\n`),e=u.split(`\n`),s=[];for(let i=0;i<Math.max(F.length,e.length);i++)F[i]!==e[i]&&s.push(i);return s}globalThis.process.platform.startsWith(\"win\");const S=Symbol(\"clack:cancel\");function d$1(t,u){const F=t;F.isTTY&&F.setRawMode(u);}var AD=Object.defineProperty,pD=(t,u,F)=>u in t?AD(t,u,{enumerable:true,configurable:true,writable:true,value:F}):t[u]=F,h=(t,u,F)=>(pD(t,typeof u!=\"symbol\"?u+\"\":u,F),F);class x{constructor(u,F=true){h(this,\"input\"),h(this,\"output\"),h(this,\"_abortSignal\"),h(this,\"rl\"),h(this,\"opts\"),h(this,\"_render\"),h(this,\"_track\",false),h(this,\"_prevFrame\",\"\"),h(this,\"_subscribers\",new Map),h(this,\"_cursor\",0),h(this,\"state\",\"initial\"),h(this,\"error\",\"\"),h(this,\"value\");const{input:e=stdin,output:s=stdout,render:i,signal:D,...C}=u;this.opts=C,this.onKeypress=this.onKeypress.bind(this),this.close=this.close.bind(this),this.render=this.render.bind(this),this._render=i.bind(this),this._track=F,this._abortSignal=D,this.input=e,this.output=s;}unsubscribe(){this._subscribers.clear();}setSubscriber(u,F){const e=this._subscribers.get(u)??[];e.push(F),this._subscribers.set(u,e);}on(u,F){this.setSubscriber(u,{cb:F});}once(u,F){this.setSubscriber(u,{cb:F,once:true});}emit(u,...F){const e=this._subscribers.get(u)??[],s=[];for(const i of e)i.cb(...F),i.once&&s.push(()=>e.splice(e.indexOf(i),1));for(const i of s)i();}prompt(){return new Promise((u,F)=>{if(this._abortSignal){if(this._abortSignal.aborted)return this.state=\"cancel\",this.close(),u(S);this._abortSignal.addEventListener(\"abort\",()=>{this.state=\"cancel\",this.close();},{once:true});}const e=new WriteStream(0);e._write=(s,i,D)=>{this._track&&(this.value=this.rl?.line.replace(/\\t/g,\"\"),this._cursor=this.rl?.cursor??0,this.emit(\"value\",this.value)),D();},this.input.pipe(e),this.rl=f.createInterface({input:this.input,output:e,tabSize:2,prompt:\"\",escapeCodeTimeout:50}),f.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),d$1(this.input,true),this.output.on(\"resize\",this.render),this.render(),this.once(\"submit\",()=>{this.output.write(srcExports.cursor.show),this.output.off(\"resize\",this.render),d$1(this.input,false),u(this.value);}),this.once(\"cancel\",()=>{this.output.write(srcExports.cursor.show),this.output.off(\"resize\",this.render),d$1(this.input,false),u(S);});})}onKeypress(u,F){if(this.state===\"error\"&&(this.state=\"active\"),F?.name&&(!this._track&&c.aliases.has(F.name)&&this.emit(\"cursor\",c.aliases.get(F.name)),c.actions.has(F.name)&&this.emit(\"cursor\",F.name)),u&&(u.toLowerCase()===\"y\"||u.toLowerCase()===\"n\")&&this.emit(\"confirm\",u.toLowerCase()===\"y\"),u===\"\t\"&&this.opts.placeholder&&(this.value||(this.rl?.write(this.opts.placeholder),this.emit(\"value\",this.opts.placeholder))),u&&this.emit(\"key\",u.toLowerCase()),F?.name===\"return\"){if(this.opts.validate){const e=this.opts.validate(this.value);e&&(this.error=e instanceof Error?e.message:e,this.state=\"error\",this.rl?.write(this.value));}this.state!==\"error\"&&(this.state=\"submit\");}k$1([u,F?.name,F?.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(`\n`),d$1(this.input,false),this.rl?.close(),this.rl=void 0,this.emit(`${this.state}`,this.value),this.unsubscribe();}restoreCursor(){const u=G(this._prevFrame,process.stdout.columns,{hard:true}).split(`\n`).length-1;this.output.write(srcExports.cursor.move(-999,u*-1));}render(){const u=G(this._render(this)??\"\",process.stdout.columns,{hard:true});if(u!==this._prevFrame){if(this.state===\"initial\")this.output.write(srcExports.cursor.hide);else {const F=lD(this._prevFrame,u);if(this.restoreCursor(),F&&F?.length===1){const e=F[0];this.output.write(srcExports.cursor.move(0,e)),this.output.write(srcExports.erase.lines(1));const s=u.split(`\n`);this.output.write(s[e]),this._prevFrame=u,this.output.write(srcExports.cursor.move(0,s.length-e-1));return}if(F&&F?.length>1){const e=F[0];this.output.write(srcExports.cursor.move(0,e)),this.output.write(srcExports.erase.down());const s=u.split(`\n`).slice(e);this.output.write(s.join(`\n`)),this._prevFrame=u;return}this.output.write(srcExports.erase.down());}this.output.write(u),this.state===\"initial\"&&(this.state=\"active\"),this._prevFrame=u;}}}class fD extends x{get cursor(){return this.value?0:1}get _value(){return this.cursor===0}constructor(u){super(u,false),this.value=!!u.initialValue,this.on(\"value\",()=>{this.value=this._value;}),this.on(\"confirm\",F=>{this.output.write(srcExports.cursor.move(0,-1)),this.value=F,this.state=\"submit\",this.close();}),this.on(\"cursor\",()=>{this.value=!this.value;});}}var bD=Object.defineProperty,mD=(t,u,F)=>u in t?bD(t,u,{enumerable:true,configurable:true,writable:true,value:F}):t[u]=F,Y=(t,u,F)=>(mD(t,typeof u!=\"symbol\"?u+\"\":u,F),F);let wD=class extends x{constructor(u){super(u,false),Y(this,\"options\"),Y(this,\"cursor\",0),this.options=u.options,this.value=[...u.initialValues??[]],this.cursor=Math.max(this.options.findIndex(({value:F})=>F===u.cursorAt),0),this.on(\"key\",F=>{F===\"a\"&&this.toggleAll();}),this.on(\"cursor\",F=>{switch(F){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(){const u=this.value.length===this.options.length;this.value=u?[]:this.options.map(F=>F.value);}toggleValue(){const u=this.value.includes(this._value);this.value=u?this.value.filter(F=>F!==this._value):[...this.value,this._value];}};var SD=Object.defineProperty,$D=(t,u,F)=>u in t?SD(t,u,{enumerable:true,configurable:true,writable:true,value:F}):t[u]=F,q=(t,u,F)=>($D(t,typeof u!=\"symbol\"?u+\"\":u,F),F);class jD extends x{constructor(u){super(u,false),q(this,\"options\"),q(this,\"cursor\",0),this.options=u.options,this.cursor=this.options.findIndex(({value:F})=>F===u.initialValue),this.cursor===-1&&(this.cursor=0),this.changeValue(),this.on(\"cursor\",F=>{switch(F){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}this.changeValue();});}get _value(){return this.options[this.cursor]}changeValue(){this.value=this._value.value;}}class PD extends x{get valueWithCursor(){if(this.state===\"submit\")return this.value;if(this.cursor>=this.value.length)return `${this.value}\\u2588`;const u=this.value.slice(0,this.cursor),[F,...e$1]=this.value.slice(this.cursor);return `${u}${e.inverse(F)}${e$1.join(\"\")}`}get cursor(){return this._cursor}constructor(u){super(u),this.on(\"finalize\",()=>{this.value||(this.value=u.defaultValue);});}}\n\nfunction ce(){return g.platform!==\"win32\"?g.env.TERM!==\"linux\":!!g.env.CI||!!g.env.WT_SESSION||!!g.env.TERMINUS_SUBLIME||g.env.ConEmuTask===\"{cmd::Cmder}\"||g.env.TERM_PROGRAM===\"Terminus-Sublime\"||g.env.TERM_PROGRAM===\"vscode\"||g.env.TERM===\"xterm-256color\"||g.env.TERM===\"alacritty\"||g.env.TERMINAL_EMULATOR===\"JetBrains-JediTerm\"}const V=ce(),u=(t,n)=>V?t:n,le=u(\"❯\", \">\"),L=u(\"■\", \"x\"),W=u(\"▲\", \"x\"),C=u(\"✔\", \"√\"),o=u(\"\"),d=u(\"\"),k=u(\"\\u25CF\",\">\"),P=u(\"\\u25CB\",\" \"),A=u(\"\\u25FB\",\"[\\u2022]\"),T=u(\"\\u25FC\",\"[+]\"),F=u(\"\\u25FB\",\"[ ]\"),w=t=>{switch(t){case \"initial\":case \"active\":return e.cyan(le);case \"cancel\":return e.red(L);case \"error\":return e.yellow(W);case \"submit\":return e.green(C)}},B=t=>{const{cursor:n,options:s,style:r}=t,i=t.maxItems??Number.POSITIVE_INFINITY,a=Math.max(process.stdout.rows-4,0),c=Math.min(a,Math.max(i,5));let l=0;n>=l+c-3?l=Math.max(Math.min(n-c+3,s.length-c),0):n<l+2&&(l=Math.max(n-2,0));const $=c<s.length&&l>0,p=c<s.length&&l+c<s.length;return s.slice(l,l+c).map((M,v,x)=>{const j=v===0&&$,E=v===x.length-1&&p;return j||E?e.dim(\"...\"):r(M,v+l===n)})},he=t=>new PD({validate:t.validate,placeholder:t.placeholder,defaultValue:t.defaultValue,initialValue:t.initialValue,render(){const n=`${e.gray(o)}\n${w(this.state)} ${t.message}\n`,s=t.placeholder?e.inverse(t.placeholder[0])+e.dim(t.placeholder.slice(1)):e.inverse(e.hidden(\"_\")),r=this.value?this.valueWithCursor:s;switch(this.state){case \"error\":return `${n.trim()}\n${e.yellow(o)} ${r}\n${e.yellow(d)} ${e.yellow(this.error)}\n`;case \"submit\":return `${n}${e.gray(o)} ${e.dim(this.value||t.placeholder)}`;case \"cancel\":return `${n}${e.gray(o)} ${e.strikethrough(e.dim(this.value??\"\"))}${this.value?.trim()?`\n${e.gray(o)}`:\"\"}`;default:return `${n}${e.cyan(o)} ${r}\n${e.cyan(d)}\n`}}}).prompt(),ye=t=>{const n=t.active??\"Yes\",s=t.inactive??\"No\";return new fD({active:n,inactive:s,initialValue:t.initialValue??true,render(){const r=`${e.gray(o)}\n${w(this.state)} ${t.message}\n`,i=this.value?n:s;switch(this.state){case \"submit\":return `${r}${e.gray(o)} ${e.dim(i)}`;case \"cancel\":return `${r}${e.gray(o)} ${e.strikethrough(e.dim(i))}\n${e.gray(o)}`;default:return `${r}${e.cyan(o)} ${this.value?`${e.green(k)} ${n}`:`${e.dim(P)} ${e.dim(n)}`} ${e.dim(\"/\")} ${this.value?`${e.dim(P)} ${e.dim(s)}`:`${e.green(k)} ${s}`}\n${e.cyan(d)}\n`}}}).prompt()},ve=t=>{const n=(s,r)=>{const i=s.label??String(s.value);switch(r){case \"selected\":return `${e.dim(i)}`;case \"active\":return `${e.green(k)} ${i} ${s.hint?e.dim(`(${s.hint})`):\"\"}`;case \"cancelled\":return `${e.strikethrough(e.dim(i))}`;default:return `${e.dim(P)} ${e.dim(i)}`}};return new jD({options:t.options,initialValue:t.initialValue,render(){const s=`${e.gray(o)}\n${w(this.state)} ${t.message}\n`;switch(this.state){case \"submit\":return `${s}${e.gray(o)} ${n(this.options[this.cursor],\"selected\")}`;case \"cancel\":return `${s}${e.gray(o)} ${n(this.options[this.cursor],\"cancelled\")}\n${e.gray(o)}`;default:return `${s}${e.cyan(o)} ${B({cursor:this.cursor,options:this.options,maxItems:t.maxItems,style:(r,i)=>n(r,i?\"active\":\"inactive\")}).join(`\n${e.cyan(o)} `)}\n${e.cyan(d)}\n`}}}).prompt()},fe=t=>{const n=(s,r)=>{const i=s.label??String(s.value);return r===\"active\"?`${e.cyan(A)} ${i} ${s.hint?e.dim(`(${s.hint})`):\"\"}`:r===\"selected\"?`${e.green(T)} ${e.dim(i)}`:r===\"cancelled\"?`${e.strikethrough(e.dim(i))}`:r===\"active-selected\"?`${e.green(T)} ${i} ${s.hint?e.dim(`(${s.hint})`):\"\"}`:r===\"submitted\"?`${e.dim(i)}`:`${e.dim(F)} ${e.dim(i)}`};return new wD({options:t.options,initialValues:t.initialValues,required:t.required??true,cursorAt:t.cursorAt,validate(s){if(this.required&&s.length===0)return `Please select at least one option.\n${e.reset(e.dim(`Press ${e.gray(e.bgWhite(e.inverse(\" space \")))} to select, ${e.gray(e.bgWhite(e.inverse(\" enter \")))} to submit`))}`},render(){const s=`${e.gray(o)}\n${w(this.state)} ${t.message}\n`,r=(i,a)=>{const c=this.value.includes(i.value);return a&&c?n(i,\"active-selected\"):c?n(i,\"selected\"):n(i,a?\"active\":\"inactive\")};switch(this.state){case \"submit\":return `${s}${e.gray(o)} ${this.options.filter(({value:i})=>this.value.includes(i)).map(i=>n(i,\"submitted\")).join(e.dim(\", \"))||e.dim(\"none\")}`;case \"cancel\":{const i=this.options.filter(({value:a})=>this.value.includes(a)).map(a=>n(a,\"cancelled\")).join(e.dim(\", \"));return `${s}${e.gray(o)} ${i.trim()?`${i}\n${e.gray(o)}`:\"\"}`}case \"error\":{const i=this.error.split(`\n`).map((a,c)=>c===0?`${e.yellow(d)} ${e.yellow(a)}`:` ${a}`).join(`\n`);return `${s+e.yellow(o)} ${B({options:this.options,cursor:this.cursor,maxItems:t.maxItems,style:r}).join(`\n${e.yellow(o)} `)}\n${i}\n`}default:return `${s}${e.cyan(o)} ${B({options:this.options,cursor:this.cursor,maxItems:t.maxItems,style:r}).join(`\n${e.cyan(o)} `)}\n${e.cyan(d)}\n`}}}).prompt()};`${e.gray(o)} `;\n\nconst kCancel = Symbol.for(\"cancel\");\nasync function prompt(message, opts = {}) {\n const handleCancel = (value) => {\n if (typeof value !== \"symbol\" || value.toString() !== \"Symbol(clack:cancel)\") {\n return value;\n }\n switch (opts.cancel) {\n case \"reject\": {\n const error = new Error(\"Prompt cancelled.\");\n error.name = \"ConsolaPromptCancelledError\";\n if (Error.captureStackTrace) {\n Error.captureStackTrace(error, prompt);\n }\n throw error;\n }\n case \"undefined\": {\n return void 0;\n }\n case \"null\": {\n return null;\n }\n case \"symbol\": {\n return kCancel;\n }\n default:\n case \"default\": {\n return opts.default ?? opts.initial;\n }\n }\n };\n if (!opts.type || opts.type === \"text\") {\n return await he({\n message,\n defaultValue: opts.default,\n placeholder: opts.placeholder,\n initialValue: opts.initial\n }).then(handleCancel);\n }\n if (opts.type === \"confirm\") {\n return await ye({\n message,\n initialValue: opts.initial\n }).then(handleCancel);\n }\n if (opts.type === \"select\") {\n return await ve({\n message,\n options: opts.options.map(\n (o) => typeof o === \"string\" ? { value: o, label: o } : o\n ),\n initialValue: opts.initial\n }).then(handleCancel);\n }\n if (opts.type === \"multiselect\") {\n return await fe({\n message,\n options: opts.options.map(\n (o) => typeof o === \"string\" ? { value: o, label: o } : o\n ),\n required: opts.required,\n initialValues: opts.initial\n }).then(handleCancel);\n }\n throw new Error(`Unknown prompt type: ${opts.type}`);\n}\n\nexport { kCancel, prompt };\n"],"x_google_ignoreList":[0],"mappings":"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AAO,SAAO,KAAG,KAAG,SAAO,SAAO,KAAG,KAAG,SAAO,SAAO,KAAG,KAAG,SAAO,UAAQ,KAAG,KAAG,UAAQ,UAAQ,KAAG,KAAG,UAAQ,UAAQ,KAAG,KAAG,UAAQ,UAAQ,KAAG,KAAG,UAAQ,UAAQ,KAAG,KAAG,UAAQ,UAAQ,KAAG,KAAG,UAAQ,UAAQ,KAAG,KAAG,UAAQ,UAAQ,KAAG,KAAG,SAAO,MAAI,MAAI,KAAG,KAAG,OAAK,OAAK,KAAG,KAAG,OAAK,OAAK,KAAG,KAAG,OAAK,KAAG,OAAK,KAAG,OAAK,SAAO,KAAG,KAAG,SAAO,SAAO,KAAG,KAAG,QAAM,OAAK,KAAG,OAAK,KAAG,OAAK,OAAK,KAAG,KAAG,OAAK,KAAG,OAAK,OAAK,KAAG,KAAG,OAAK,OAAK,KAAG,KAAG,OAAK,OAAK,KAAG,KAAG,OAAK,OAAK,KAAG,KAAG,OAAK,KAAG,OAAK,KAAG,OAAK,OAAK,KAAG,KAAG,OAAK,OAAK,KAAG,KAAG,OAAK,KAAG,OAAK,OAAK,KAAG,KAAG,OAAK,OAAK,KAAG,KAAG,OAAK,KAAG,OAAK,OAAK,KAAG,KAAG,OAAK,OAAK,KAAG,KAAG,OAAK,KAAG,OAAK,KAAG,OAAK,KAAG,OAAK,KAAG,OAAK,KAAG,OAAK,KAAG,OAAK,OAAK,KAAG,KAAG,OAAK,KAAG,OAAK,OAAK,KAAG,KAAG,OAAK,KAAG,OAAK,OAAK,KAAG,KAAG,OAAK,KAAG,OAAK,OAAK,KAAG,KAAG,OAAK,KAAG,OAAK,OAAK,KAAG,KAAG,OAAK,OAAK,KAAG,KAAG,OAAK,KAAG,OAAK,KAAG,OAAK,KAAG,OAAK,KAAG,OAAK,KAAG,OAAK,KAAG,OAAK,KAAG,OAAK,KAAG,OAAK,KAAG,OAAK,KAAG,OAAK,KAAG,OAAK,KAAG,OAAK,KAAG,OAAK,OAAK,KAAG,KAAG,OAAK,KAAG,OAAK,KAAG,OAAK,OAAK,KAAG,KAAG,OAAK,KAAG,OAAK,KAAG,OAAK,OAAK,KAAG,KAAG,OAAK,OAAK,KAAG,KAAG,OAAK,OAAK,KAAG,KAAG,OAAK,OAAK,KAAG,KAAG,OAAK,OAAK,KAAG,KAAG,OAAK,KAAG,QAAM,QAAM,KAAG,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,QAAM,KAAG,KAAG,QAAM,QAAM,KAAG,KAAG,QAAM,QAAM,KAAG,KAAG,QAAM,QAAM,KAAG,KAAG,QAAM,QAAM,KAAG,KAAG,QAAM,KAAG,QAAM,QAAM,KAAG,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,QAAM,KAAG,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,QAAM,KAAG,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,QAAM,KAAG,KAAG,QAAM,QAAM,KAAG,KAAG,QAAM,QAAM,KAAG,KAAG,QAAM,QAAM,KAAG,KAAG,QAAM,KAAG,QAAM,QAAM,KAAG,KAAG,QAAM,QAAM,KAAG,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,QAAM,KAAG,KAAG,QAAM,QAAM,KAAG,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,QAAM,KAAG,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,QAAM,KAAG,KAAG,QAAM,KAAG,QAAM,QAAM,KAAG,KAAG,QAAM,QAAM,KAAG,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,QAAM,KAAG,KAAG,QAAM,QAAM,KAAG,KAAG,QAAM,QAAM,KAAG,KAAG,QAAM,QAAM,KAAG,KAAG,QAAM,QAAM,KAAG,KAAG,QAAM,QAAM,KAAG,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,KAAG,QAAM,QAAM,KAAG,KAAG,QAAM,QAAM,KAAG,KAAG,QAAM,QAAM,KAAG,KAAG,QAAM,QAAM,KAAG,KAAG,QAAM,QAAM,KAAG,KAAG,QAAM,QAAM,KAAG,KAAG,QAAM,QAAM,KAAG,KAAG,QAAM,QAAM,KAAG,KAAG,QAAM,QAAM,KAAG,KAAG,QAAM,QAAM,KAAG,KAAG,QAAM,QAAM,KAAG,KAAG,QAAM,QAAM,KAAG,KAAG,QAAM,KAAG,QAAM,QAAM,KAAG,KAAG,QAAM,QAAM,KAAG,KAAG,QAAM,KAAG,QAAM,QAAM,K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"}
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { t as require_dist } from "./dist-BoZnMvNi.mjs";
3
- import { a as Ne, i as Le, l as We, m as defineCommand, o as R, p as Ct, s as Re, t as findSourceRoot } from "./context-detection-DO0ZeRyQ.mjs";
3
+ import { a as Ne, i as Le, l as We, m as defineCommand, o as R, p as Ct, s as Re, t as findSourceRoot } from "./context-detection-BxY5Qs8X.mjs";
4
4
  import { readFile, readdir, rm, writeFile } from "node:fs/promises";
5
5
  import { join, relative } from "node:path";
6
6
 
@@ -88,4 +88,4 @@ const profileRemoveCommand = defineCommand({
88
88
 
89
89
  //#endregion
90
90
  export { profileRemoveCommand };
91
- //# sourceMappingURL=remove-Cx8jC2vY.mjs.map
91
+ //# sourceMappingURL=remove-Lb4YUPYV.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"remove-Cx8jC2vY.mjs","names":["p.confirm","p.isCancel"],"sources":["../src/commands/profile/remove.ts"],"sourcesContent":["import { readFile, readdir, rm, writeFile } from \"node:fs/promises\";\nimport { join, relative } from \"node:path\";\nimport * as p from \"@clack/prompts\";\nimport { defineCommand } from \"citty\";\nimport { parse as parseYaml, stringify as stringifyYaml } from \"yaml\";\nimport { findSourceRoot } from \"../../utils/context-detection.js\";\n\n/**\n * Recursively collect all file paths in a directory (relative to baseDir)\n */\nasync function collectFiles(dir: string, baseDir: string): Promise<string[]> {\n const files: string[] = [];\n const entries = await readdir(dir, { withFileTypes: true });\n\n for (const entry of entries) {\n const fullPath = join(dir, entry.name);\n if (entry.isDirectory()) {\n files.push(...(await collectFiles(fullPath, baseDir)));\n } else {\n files.push(relative(baseDir, fullPath));\n }\n }\n\n return files;\n}\n\n/**\n * Remove a profile entry from baton.source.yaml if it exists in the profiles array\n */\nasync function removeProfileFromSourceManifest(\n sourceRoot: string,\n profileName: string,\n): Promise<void> {\n const manifestPath = join(sourceRoot, \"baton.source.yaml\");\n\n try {\n const content = await readFile(manifestPath, \"utf-8\");\n const manifest = parseYaml(content);\n\n if (manifest?.profiles && Array.isArray(manifest.profiles)) {\n const originalLength = manifest.profiles.length;\n manifest.profiles = manifest.profiles.filter(\n (profile: { name?: string; path?: string }) =>\n profile.name !== profileName && profile.path !== `profiles/${profileName}`,\n );\n\n if (manifest.profiles.length < originalLength) {\n // Remove empty profiles array\n if (manifest.profiles.length === 0) {\n manifest.profiles = undefined;\n }\n await writeFile(manifestPath, stringifyYaml(manifest), \"utf-8\");\n }\n }\n } catch {\n // If manifest can't be read/written, skip — the directory removal is the primary action\n }\n}\n\nexport const profileRemoveCommand = defineCommand({\n meta: {\n name: \"remove\",\n description: \"Remove a profile from the source repository\",\n },\n args: {\n name: {\n type: \"positional\",\n description: \"Profile name to remove\",\n required: true,\n },\n },\n async run({ args }) {\n p.intro(\"Remove Profile\");\n\n // Check for baton.source.yaml in current or parent directories\n const sourceRoot = await findSourceRoot();\n if (!sourceRoot) {\n p.cancel(\"This command must be run inside a source directory (baton.source.yaml not found)\");\n process.exit(1);\n }\n\n const profileName = args.name as string;\n const profileDir = join(sourceRoot, \"profiles\", profileName);\n\n // Check if profile directory exists\n let files: string[];\n try {\n files = await collectFiles(profileDir, sourceRoot);\n } catch (error) {\n if ((error as NodeJS.ErrnoException).code === \"ENOENT\") {\n p.cancel(`Profile \"${profileName}\" does not exist in profiles/${profileName}/`);\n process.exit(1);\n }\n throw error;\n }\n\n // Warn about files that will be deleted\n if (files.length > 0) {\n p.log.warn(\"The following files will be deleted:\");\n for (const file of files) {\n p.log.info(` ${file}`);\n }\n } else {\n p.log.warn(`Directory profiles/${profileName}/ will be deleted.`);\n }\n\n // Confirm before removing\n const confirmed = await p.confirm({\n message: `Are you sure you want to remove profile \"${profileName}\"?`,\n initialValue: false,\n });\n\n if (p.isCancel(confirmed) || !confirmed) {\n p.cancel(\"Operation cancelled.\");\n process.exit(0);\n }\n\n // Remove the profile directory\n await rm(profileDir, { recursive: true, force: true });\n\n // Remove entry from baton.source.yaml if present\n await removeProfileFromSourceManifest(sourceRoot, profileName);\n\n p.outro(`Profile \"${profileName}\" removed from profiles/${profileName}/`);\n },\n});\n"],"mappings":";;;;;;;;;;;AAUA,eAAe,aAAa,KAAa,SAAoC;CAC3E,MAAM,QAAkB,EAAE;CAC1B,MAAM,UAAU,MAAM,QAAQ,KAAK,EAAE,eAAe,MAAM,CAAC;AAE3D,MAAK,MAAM,SAAS,SAAS;EAC3B,MAAM,WAAW,KAAK,KAAK,MAAM,KAAK;AACtC,MAAI,MAAM,aAAa,CACrB,OAAM,KAAK,GAAI,MAAM,aAAa,UAAU,QAAQ,CAAE;MAEtD,OAAM,KAAK,SAAS,SAAS,SAAS,CAAC;;AAI3C,QAAO;;;;;AAMT,eAAe,gCACb,YACA,aACe;CACf,MAAM,eAAe,KAAK,YAAY,oBAAoB;AAE1D,KAAI;EAEF,MAAM,kCADU,MAAM,SAAS,cAAc,QAAQ,CAClB;AAEnC,MAAI,UAAU,YAAY,MAAM,QAAQ,SAAS,SAAS,EAAE;GAC1D,MAAM,iBAAiB,SAAS,SAAS;AACzC,YAAS,WAAW,SAAS,SAAS,QACnC,YACC,QAAQ,SAAS,eAAe,QAAQ,SAAS,YAAY,cAChE;AAED,OAAI,SAAS,SAAS,SAAS,gBAAgB;AAE7C,QAAI,SAAS,SAAS,WAAW,EAC/B,UAAS,WAAW;AAEtB,UAAM,UAAU,yCAA4B,SAAS,EAAE,QAAQ;;;SAG7D;;AAKV,MAAa,uBAAuB,cAAc;CAChD,MAAM;EACJ,MAAM;EACN,aAAa;EACd;CACD,MAAM,EACJ,MAAM;EACJ,MAAM;EACN,aAAa;EACb,UAAU;EACX,EACF;CACD,MAAM,IAAI,EAAE,QAAQ;AAClB,KAAQ,iBAAiB;EAGzB,MAAM,aAAa,MAAM,gBAAgB;AACzC,MAAI,CAAC,YAAY;AACf,MAAS,mFAAmF;AAC5F,WAAQ,KAAK,EAAE;;EAGjB,MAAM,cAAc,KAAK;EACzB,MAAM,aAAa,KAAK,YAAY,YAAY,YAAY;EAG5D,IAAI;AACJ,MAAI;AACF,WAAQ,MAAM,aAAa,YAAY,WAAW;WAC3C,OAAO;AACd,OAAK,MAAgC,SAAS,UAAU;AACtD,OAAS,YAAY,YAAY,+BAA+B,YAAY,GAAG;AAC/E,YAAQ,KAAK,EAAE;;AAEjB,SAAM;;AAIR,MAAI,MAAM,SAAS,GAAG;AACpB,KAAM,KAAK,uCAAuC;AAClD,QAAK,MAAM,QAAQ,MACjB,GAAM,KAAK,KAAK,OAAO;QAGzB,GAAM,KAAK,sBAAsB,YAAY,oBAAoB;EAInE,MAAM,YAAY,MAAMA,GAAU;GAChC,SAAS,4CAA4C,YAAY;GACjE,cAAc;GACf,CAAC;AAEF,MAAIC,GAAW,UAAU,IAAI,CAAC,WAAW;AACvC,MAAS,uBAAuB;AAChC,WAAQ,KAAK,EAAE;;AAIjB,QAAM,GAAG,YAAY;GAAE,WAAW;GAAM,OAAO;GAAM,CAAC;AAGtD,QAAM,gCAAgC,YAAY,YAAY;AAE9D,KAAQ,YAAY,YAAY,0BAA0B,YAAY,GAAG;;CAE5E,CAAC"}
1
+ {"version":3,"file":"remove-Lb4YUPYV.mjs","names":["p.confirm","p.isCancel"],"sources":["../src/commands/profile/remove.ts"],"sourcesContent":["import { readFile, readdir, rm, writeFile } from \"node:fs/promises\";\nimport { join, relative } from \"node:path\";\nimport * as p from \"@clack/prompts\";\nimport { defineCommand } from \"citty\";\nimport { parse as parseYaml, stringify as stringifyYaml } from \"yaml\";\nimport { findSourceRoot } from \"../../utils/context-detection.js\";\n\n/**\n * Recursively collect all file paths in a directory (relative to baseDir)\n */\nasync function collectFiles(dir: string, baseDir: string): Promise<string[]> {\n const files: string[] = [];\n const entries = await readdir(dir, { withFileTypes: true });\n\n for (const entry of entries) {\n const fullPath = join(dir, entry.name);\n if (entry.isDirectory()) {\n files.push(...(await collectFiles(fullPath, baseDir)));\n } else {\n files.push(relative(baseDir, fullPath));\n }\n }\n\n return files;\n}\n\n/**\n * Remove a profile entry from baton.source.yaml if it exists in the profiles array\n */\nasync function removeProfileFromSourceManifest(\n sourceRoot: string,\n profileName: string,\n): Promise<void> {\n const manifestPath = join(sourceRoot, \"baton.source.yaml\");\n\n try {\n const content = await readFile(manifestPath, \"utf-8\");\n const manifest = parseYaml(content);\n\n if (manifest?.profiles && Array.isArray(manifest.profiles)) {\n const originalLength = manifest.profiles.length;\n manifest.profiles = manifest.profiles.filter(\n (profile: { name?: string; path?: string }) =>\n profile.name !== profileName && profile.path !== `profiles/${profileName}`,\n );\n\n if (manifest.profiles.length < originalLength) {\n // Remove empty profiles array\n if (manifest.profiles.length === 0) {\n manifest.profiles = undefined;\n }\n await writeFile(manifestPath, stringifyYaml(manifest), \"utf-8\");\n }\n }\n } catch {\n // If manifest can't be read/written, skip — the directory removal is the primary action\n }\n}\n\nexport const profileRemoveCommand = defineCommand({\n meta: {\n name: \"remove\",\n description: \"Remove a profile from the source repository\",\n },\n args: {\n name: {\n type: \"positional\",\n description: \"Profile name to remove\",\n required: true,\n },\n },\n async run({ args }) {\n p.intro(\"Remove Profile\");\n\n // Check for baton.source.yaml in current or parent directories\n const sourceRoot = await findSourceRoot();\n if (!sourceRoot) {\n p.cancel(\"This command must be run inside a source directory (baton.source.yaml not found)\");\n process.exit(1);\n }\n\n const profileName = args.name as string;\n const profileDir = join(sourceRoot, \"profiles\", profileName);\n\n // Check if profile directory exists\n let files: string[];\n try {\n files = await collectFiles(profileDir, sourceRoot);\n } catch (error) {\n if ((error as NodeJS.ErrnoException).code === \"ENOENT\") {\n p.cancel(`Profile \"${profileName}\" does not exist in profiles/${profileName}/`);\n process.exit(1);\n }\n throw error;\n }\n\n // Warn about files that will be deleted\n if (files.length > 0) {\n p.log.warn(\"The following files will be deleted:\");\n for (const file of files) {\n p.log.info(` ${file}`);\n }\n } else {\n p.log.warn(`Directory profiles/${profileName}/ will be deleted.`);\n }\n\n // Confirm before removing\n const confirmed = await p.confirm({\n message: `Are you sure you want to remove profile \"${profileName}\"?`,\n initialValue: false,\n });\n\n if (p.isCancel(confirmed) || !confirmed) {\n p.cancel(\"Operation cancelled.\");\n process.exit(0);\n }\n\n // Remove the profile directory\n await rm(profileDir, { recursive: true, force: true });\n\n // Remove entry from baton.source.yaml if present\n await removeProfileFromSourceManifest(sourceRoot, profileName);\n\n p.outro(`Profile \"${profileName}\" removed from profiles/${profileName}/`);\n },\n});\n"],"mappings":";;;;;;;;;;;AAUA,eAAe,aAAa,KAAa,SAAoC;CAC3E,MAAM,QAAkB,EAAE;CAC1B,MAAM,UAAU,MAAM,QAAQ,KAAK,EAAE,eAAe,MAAM,CAAC;AAE3D,MAAK,MAAM,SAAS,SAAS;EAC3B,MAAM,WAAW,KAAK,KAAK,MAAM,KAAK;AACtC,MAAI,MAAM,aAAa,CACrB,OAAM,KAAK,GAAI,MAAM,aAAa,UAAU,QAAQ,CAAE;MAEtD,OAAM,KAAK,SAAS,SAAS,SAAS,CAAC;;AAI3C,QAAO;;;;;AAMT,eAAe,gCACb,YACA,aACe;CACf,MAAM,eAAe,KAAK,YAAY,oBAAoB;AAE1D,KAAI;EAEF,MAAM,kCADU,MAAM,SAAS,cAAc,QAAQ,CAClB;AAEnC,MAAI,UAAU,YAAY,MAAM,QAAQ,SAAS,SAAS,EAAE;GAC1D,MAAM,iBAAiB,SAAS,SAAS;AACzC,YAAS,WAAW,SAAS,SAAS,QACnC,YACC,QAAQ,SAAS,eAAe,QAAQ,SAAS,YAAY,cAChE;AAED,OAAI,SAAS,SAAS,SAAS,gBAAgB;AAE7C,QAAI,SAAS,SAAS,WAAW,EAC/B,UAAS,WAAW;AAEtB,UAAM,UAAU,yCAA4B,SAAS,EAAE,QAAQ;;;SAG7D;;AAKV,MAAa,uBAAuB,cAAc;CAChD,MAAM;EACJ,MAAM;EACN,aAAa;EACd;CACD,MAAM,EACJ,MAAM;EACJ,MAAM;EACN,aAAa;EACb,UAAU;EACX,EACF;CACD,MAAM,IAAI,EAAE,QAAQ;AAClB,KAAQ,iBAAiB;EAGzB,MAAM,aAAa,MAAM,gBAAgB;AACzC,MAAI,CAAC,YAAY;AACf,MAAS,mFAAmF;AAC5F,WAAQ,KAAK,EAAE;;EAGjB,MAAM,cAAc,KAAK;EACzB,MAAM,aAAa,KAAK,YAAY,YAAY,YAAY;EAG5D,IAAI;AACJ,MAAI;AACF,WAAQ,MAAM,aAAa,YAAY,WAAW;WAC3C,OAAO;AACd,OAAK,MAAgC,SAAS,UAAU;AACtD,OAAS,YAAY,YAAY,+BAA+B,YAAY,GAAG;AAC/E,YAAQ,KAAK,EAAE;;AAEjB,SAAM;;AAIR,MAAI,MAAM,SAAS,GAAG;AACpB,KAAM,KAAK,uCAAuC;AAClD,QAAK,MAAM,QAAQ,MACjB,GAAM,KAAK,KAAK,OAAO;QAGzB,GAAM,KAAK,sBAAsB,YAAY,oBAAoB;EAInE,MAAM,YAAY,MAAMA,GAAU;GAChC,SAAS,4CAA4C,YAAY;GACjE,cAAc;GACf,CAAC;AAEF,MAAIC,GAAW,UAAU,IAAI,CAAC,WAAW;AACvC,MAAS,uBAAuB;AAChC,WAAQ,KAAK,EAAE;;AAIjB,QAAM,GAAG,YAAY;GAAE,WAAW;GAAM,OAAO;GAAM,CAAC;AAGtD,QAAM,gCAAgC,YAAY,YAAY;AAE9D,KAAQ,YAAY,YAAY,0BAA0B,YAAY,GAAG;;CAE5E,CAAC"}
@@ -3816,11 +3816,13 @@ const aiSectionSchema = objectType({
3816
3816
  }).optional();
3817
3817
  /**
3818
3818
  * File configuration item with optional target mapping
3819
+ *
3820
+ * Note: Files are deduplicated by target path (last-wins by weight),
3821
+ * not merged. Merge strategies only apply to memory items.
3819
3822
  */
3820
3823
  const fileConfigItemSchema = objectType({
3821
3824
  source: stringType(),
3822
- target: stringType().optional(),
3823
- merge: mergeStrategySchema
3825
+ target: stringType().optional()
3824
3826
  });
3825
3827
  /**
3826
3828
  * Files section in profile manifest - array of file configurations
@@ -19555,5 +19557,292 @@ async function checkLatestVersion() {
19555
19557
  }
19556
19558
 
19557
19559
  //#endregion
19558
- export { cloneGitSource as $, mergeRulesWithWarnings as A, loadProfileManifest as At, detectLegacyPaths as B, CircularInheritanceError as Bt, setGlobalAiTools as C, ClineAdapter as Ct, mergeMemoryWithWarnings as D, BaseAIToolAdapter as Dt, mergeMemory as E, AmpAdapter as Et, isLockedProfile as F, sourceManifestSchema as Ft, placementStateSchema as G, VersionNotFoundError as Gt, discoverProfilesInSourceRepo as H, GitSourceError as Ht, sortProfilesByWeight as I, weightSchema as It, removePlacedFiles as J, getAllAIToolKeys as Jt, readState as K, getAIToolConfig as Kt, mergeContentParts as L, KEBAB_CASE_REGEX as Lt, mergeSkillsWithWarnings as M, lockfileSchema as Mt, WEIGHT_LOCK as N, projectManifestSchema as Nt, mergeAgentsWithWarnings as O, parseFrontmatter as Ot, getProfileWeight as P, profileManifestSchema as Pt, resolveVersion as Q, resolveProfileSupport as R, AIToolAdapterNotFoundError as Rt, saveGlobalConfig as S, CodexAdapter as St, require_lib as T, AntigravityAdapter as Tt, findSourceManifest as U, ManifestValidationError as Ut, placeFile as V, FileNotFoundError as Vt, getStatePath as W, SourceParseError as Wt, readLock as X, generateLock as Y, AIToolNotFoundError as Yt, writeLock as Z, getGlobalConfigPath as _, OpenCodeAdapter as _t, resolvePreferences as a, updateGitignore as at, loadGlobalConfig as b, GitHubCopilotAdapter as bt, writeProjectPreferences as c, idePlatformRegistry as ct, clearIdeCache as d, getAIToolAdaptersForKeys as dt, expandSparseCheckout as et, detectInstalledIdes as f, getAllAIToolAdapters as ft, getGlobalAiTools as g, RooAdapter as gt, getDefaultGlobalSource as h, TraeAdapter as ht, formatInstallCommand as i, removeGitignoreManagedSection as it, mergeSkills as j, loadProjectManifest as jt, mergeRules as k, parseSource as kt, projectPreferencesSchema as l, isKnownIdePlatform as lt, getBatonHome as m, WindsurfAdapter as mt, isUpdateAvailable as n, collectComprehensivePatterns as nt, getPreferencesPath as o, getIdePlatformTargetDir as ot, addGlobalSource as p, ZedAdapter as pt, writeState as q, getAIToolPath as qt, detectInstallMethod as r, ensureBatonDirGitignored as rt, readProjectPreferences as s, getRegisteredIdePlatforms as st, checkLatestVersion as t, esm_default as tt, computeIntersection as u, getAIToolAdapter as ut, getGlobalIdePlatforms as v, KiroAdapter as vt, setGlobalIdePlatforms as w, ClaudeCodeAdapter as wt, removeGlobalSource as x, CursorAdapter as xt, getGlobalSources as y, JunieAdapter as yt, resolveProfileChain as z, BatonError as zt };
19559
- //# sourceMappingURL=src-C0c228gb.mjs.map
19560
+ //#region ../core/src/validation/validate-source.ts
19561
+ /**
19562
+ * Check whether a path exists on disk.
19563
+ */
19564
+ async function pathExists(filePath) {
19565
+ try {
19566
+ await access(filePath);
19567
+ return true;
19568
+ } catch {
19569
+ return false;
19570
+ }
19571
+ }
19572
+ /**
19573
+ * Recursively collect all .md files under a directory.
19574
+ */
19575
+ async function collectMdFiles(dir) {
19576
+ const results = [];
19577
+ try {
19578
+ const entries = await readdir(dir, {
19579
+ withFileTypes: true,
19580
+ encoding: "utf-8"
19581
+ });
19582
+ for (const entry of entries) {
19583
+ const fullPath = join(dir, entry.name);
19584
+ if (entry.isDirectory()) {
19585
+ const nested = await collectMdFiles(fullPath);
19586
+ results.push(...nested);
19587
+ } else if (entry.name.endsWith(".md")) results.push(fullPath);
19588
+ }
19589
+ } catch {}
19590
+ return results;
19591
+ }
19592
+ /**
19593
+ * Extract all {{varName}} references from a string.
19594
+ */
19595
+ function extractVariableReferences(content) {
19596
+ const matches = content.matchAll(/\{\{(\w+)\}\}/g);
19597
+ return Array.from(matches, (m) => m[1]);
19598
+ }
19599
+ /**
19600
+ * Validates a Baton source repository, checking the source manifest,
19601
+ * profile manifests, referenced files, and consistency.
19602
+ *
19603
+ * Returns a ValidationReport with all discovered issues.
19604
+ *
19605
+ * @param sourceRoot - Absolute path to the source repository root
19606
+ */
19607
+ async function validateSource(sourceRoot) {
19608
+ const issues = [];
19609
+ let profilesChecked = 0;
19610
+ const sourceManifestPath = join(sourceRoot, "baton.source.yaml");
19611
+ let rawSourceManifest;
19612
+ try {
19613
+ rawSourceManifest = (0, import_dist$2.parse)(await readFile(sourceManifestPath, "utf-8"));
19614
+ } catch {
19615
+ issues.push({
19616
+ severity: "error",
19617
+ message: "Source manifest (baton.source.yaml) not found",
19618
+ path: "baton.source.yaml",
19619
+ context: "source-manifest"
19620
+ });
19621
+ return buildReport(issues, profilesChecked);
19622
+ }
19623
+ const sourceResult = sourceManifestSchema.safeParse(rawSourceManifest);
19624
+ if (!sourceResult.success) {
19625
+ for (const issue of sourceResult.error.issues) issues.push({
19626
+ severity: "error",
19627
+ message: `Source manifest schema error: ${issue.message} (at ${issue.path.join(".")})`,
19628
+ path: "baton.source.yaml",
19629
+ context: "source-manifest"
19630
+ });
19631
+ return buildReport(issues, profilesChecked);
19632
+ }
19633
+ const sourceManifest = sourceResult.data;
19634
+ const knownKeys = getAllAIToolKeys();
19635
+ if (sourceManifest.ai?.tools) {
19636
+ for (const tool of sourceManifest.ai.tools) if (!knownKeys.includes(tool)) issues.push({
19637
+ severity: "warning",
19638
+ message: `Unknown AI tool key "${tool}" in source manifest`,
19639
+ path: "baton.source.yaml",
19640
+ context: "source-manifest"
19641
+ });
19642
+ }
19643
+ let declaredProfiles;
19644
+ if (sourceManifest.profiles && sourceManifest.profiles.length > 0) declaredProfiles = sourceManifest.profiles;
19645
+ const profilesToCheck = declaredProfiles ?? await discoverProfiles(sourceRoot);
19646
+ for (const profile of profilesToCheck) {
19647
+ const profileDir = join(sourceRoot, profile.path);
19648
+ if (!await pathExists(profileDir)) {
19649
+ issues.push({
19650
+ severity: "error",
19651
+ message: `Declared profile directory does not exist: ${profile.path}`,
19652
+ path: profile.path,
19653
+ context: `profile:${profile.name}`
19654
+ });
19655
+ continue;
19656
+ }
19657
+ const profileManifestPath = join(profileDir, "baton.profile.yaml");
19658
+ let rawProfileManifest;
19659
+ try {
19660
+ rawProfileManifest = (0, import_dist$2.parse)(await readFile(profileManifestPath, "utf-8"));
19661
+ } catch {
19662
+ issues.push({
19663
+ severity: "error",
19664
+ message: `Profile manifest (baton.profile.yaml) not found in ${profile.path}`,
19665
+ path: join(profile.path, "baton.profile.yaml"),
19666
+ context: `profile:${profile.name}`
19667
+ });
19668
+ profilesChecked++;
19669
+ continue;
19670
+ }
19671
+ const profileResult = profileManifestSchema.safeParse(rawProfileManifest);
19672
+ if (!profileResult.success) {
19673
+ for (const issue of profileResult.error.issues) issues.push({
19674
+ severity: "error",
19675
+ message: `Profile manifest schema error: ${issue.message} (at ${issue.path.join(".")})`,
19676
+ path: join(profile.path, "baton.profile.yaml"),
19677
+ context: `profile:${profile.name}`
19678
+ });
19679
+ profilesChecked++;
19680
+ continue;
19681
+ }
19682
+ const profileManifest = profileResult.data;
19683
+ profilesChecked++;
19684
+ const ctx = `profile:${profile.name}`;
19685
+ if (profileManifest.ai?.tools) {
19686
+ for (const tool of profileManifest.ai.tools) if (!knownKeys.includes(tool)) issues.push({
19687
+ severity: "warning",
19688
+ message: `Unknown AI tool key "${tool}"`,
19689
+ path: join(profile.path, "baton.profile.yaml"),
19690
+ context: ctx
19691
+ });
19692
+ }
19693
+ if (profileManifest.ai?.skills) {
19694
+ for (const skill of profileManifest.ai.skills) if (!await pathExists(join(profileDir, "ai", "skills", skill.name, "SKILL.md"))) issues.push({
19695
+ severity: "warning",
19696
+ message: `Skill file missing: ai/skills/${skill.name}/SKILL.md`,
19697
+ path: join(profile.path, "ai", "skills", skill.name, "SKILL.md"),
19698
+ context: ctx
19699
+ });
19700
+ }
19701
+ if (profileManifest.ai?.rules) {
19702
+ const rules = profileManifest.ai.rules;
19703
+ if (Array.isArray(rules)) {
19704
+ for (const name of rules) if (!await pathExists(join(profileDir, "ai", "rules", "universal", `${name}.md`))) issues.push({
19705
+ severity: "warning",
19706
+ message: `Rule file missing: ai/rules/universal/${name}.md`,
19707
+ path: join(profile.path, "ai", "rules", "universal", `${name}.md`),
19708
+ context: ctx
19709
+ });
19710
+ } else for (const [scope, names] of Object.entries(rules)) {
19711
+ if (!names) continue;
19712
+ for (const name of names) if (!await pathExists(join(profileDir, "ai", "rules", scope, `${name}.md`))) issues.push({
19713
+ severity: "warning",
19714
+ message: `Rule file missing: ai/rules/${scope}/${name}.md`,
19715
+ path: join(profile.path, "ai", "rules", scope, `${name}.md`),
19716
+ context: ctx
19717
+ });
19718
+ }
19719
+ }
19720
+ if (profileManifest.ai?.agents) {
19721
+ const agents = profileManifest.ai.agents;
19722
+ if (Array.isArray(agents)) {
19723
+ for (const name of agents) if (!await pathExists(join(profileDir, "ai", "agents", `${name}.md`))) issues.push({
19724
+ severity: "warning",
19725
+ message: `Agent file missing: ai/agents/${name}.md`,
19726
+ path: join(profile.path, "ai", "agents", `${name}.md`),
19727
+ context: ctx
19728
+ });
19729
+ } else for (const [scope, names] of Object.entries(agents)) {
19730
+ if (!names) continue;
19731
+ for (const name of names) if (!await pathExists(join(profileDir, "ai", "agents", scope, `${name}.md`))) issues.push({
19732
+ severity: "warning",
19733
+ message: `Agent file missing: ai/agents/${scope}/${name}.md`,
19734
+ path: join(profile.path, "ai", "agents", scope, `${name}.md`),
19735
+ context: ctx
19736
+ });
19737
+ }
19738
+ }
19739
+ if (profileManifest.ai?.memory) {
19740
+ for (const mem of profileManifest.ai.memory) if (!await pathExists(join(profileDir, "ai", "memory", mem.source))) issues.push({
19741
+ severity: "warning",
19742
+ message: `Memory file missing: ai/memory/${mem.source}`,
19743
+ path: join(profile.path, "ai", "memory", mem.source),
19744
+ context: ctx
19745
+ });
19746
+ }
19747
+ if (profileManifest.ai?.commands) {
19748
+ for (const cmd of profileManifest.ai.commands) if (!await pathExists(join(profileDir, "ai", "commands", `${cmd}.md`))) issues.push({
19749
+ severity: "warning",
19750
+ message: `Command file missing: ai/commands/${cmd}.md`,
19751
+ path: join(profile.path, "ai", "commands", `${cmd}.md`),
19752
+ context: ctx
19753
+ });
19754
+ }
19755
+ if (profileManifest.files) {
19756
+ for (const file of profileManifest.files) if (!await pathExists(join(profileDir, "files", file.source))) issues.push({
19757
+ severity: "warning",
19758
+ message: `File missing: files/${file.source}`,
19759
+ path: join(profile.path, "files", file.source),
19760
+ context: ctx
19761
+ });
19762
+ }
19763
+ if (profileManifest.ide) {
19764
+ for (const [platform, files] of Object.entries(profileManifest.ide)) for (const file of files) if (!await pathExists(join(profileDir, "ide", platform, file))) issues.push({
19765
+ severity: "warning",
19766
+ message: `IDE file missing: ide/${platform}/${file}`,
19767
+ path: join(profile.path, "ide", platform, file),
19768
+ context: ctx
19769
+ });
19770
+ }
19771
+ if (profileManifest.extends) {
19772
+ for (const ext of profileManifest.extends) if (!await pathExists(join(join(profileDir, ext), "baton.profile.yaml"))) issues.push({
19773
+ severity: "error",
19774
+ message: `Extends reference unresolvable: "${ext}" — no baton.profile.yaml found`,
19775
+ path: join(profile.path, ext, "baton.profile.yaml"),
19776
+ context: ctx
19777
+ });
19778
+ }
19779
+ const declaredVars = new Set(Object.keys(profileManifest.variables ?? {}));
19780
+ const mdFiles = await collectMdFiles(profileDir);
19781
+ for (const mdFile of mdFiles) {
19782
+ const varNames = extractVariableReferences(await readFile(mdFile, "utf-8"));
19783
+ const undeclaredInFile = new Set(varNames.filter((v) => !declaredVars.has(v)));
19784
+ for (const varName of undeclaredInFile) {
19785
+ const relPath = relative(sourceRoot, mdFile);
19786
+ issues.push({
19787
+ severity: "warning",
19788
+ message: `Undefined variable "{{${varName}}}" in ${relPath}`,
19789
+ path: relPath,
19790
+ context: ctx
19791
+ });
19792
+ }
19793
+ }
19794
+ }
19795
+ if (declaredProfiles) {
19796
+ const declaredPaths = new Set(declaredProfiles.map((p) => p.path));
19797
+ const diskProfiles = await discoverProfiles(sourceRoot);
19798
+ for (const diskProfile of diskProfiles) if (!declaredPaths.has(diskProfile.path)) issues.push({
19799
+ severity: "warning",
19800
+ message: `Orphaned profile on disk not declared in source manifest: ${diskProfile.path}`,
19801
+ path: diskProfile.path,
19802
+ context: "source-manifest"
19803
+ });
19804
+ }
19805
+ return buildReport(issues, profilesChecked);
19806
+ }
19807
+ /**
19808
+ * Auto-discover profiles by scanning the profiles/ directory for
19809
+ * subdirectories that contain baton.profile.yaml.
19810
+ */
19811
+ async function discoverProfiles(sourceRoot) {
19812
+ const profilesDir = join(sourceRoot, "profiles");
19813
+ const results = [];
19814
+ try {
19815
+ const entries = await readdir(profilesDir, {
19816
+ withFileTypes: true,
19817
+ encoding: "utf-8"
19818
+ });
19819
+ for (const entry of entries) {
19820
+ if (!entry.isDirectory() || entry.name.startsWith(".")) continue;
19821
+ if (await pathExists(join(profilesDir, entry.name, "baton.profile.yaml"))) results.push({
19822
+ name: entry.name,
19823
+ path: join("profiles", entry.name)
19824
+ });
19825
+ }
19826
+ } catch {}
19827
+ return results;
19828
+ }
19829
+ /**
19830
+ * Build the final ValidationReport from a list of issues.
19831
+ */
19832
+ function buildReport(issues, profilesChecked) {
19833
+ const errors = issues.filter((i) => i.severity === "error").length;
19834
+ const warnings = issues.filter((i) => i.severity === "warning").length;
19835
+ return {
19836
+ valid: errors === 0,
19837
+ issues,
19838
+ summary: {
19839
+ errors,
19840
+ warnings,
19841
+ profilesChecked
19842
+ }
19843
+ };
19844
+ }
19845
+
19846
+ //#endregion
19847
+ export { resolveVersion as $, mergeRules as A, parseSource as At, resolveProfileChain as B, BatonError as Bt, saveGlobalConfig as C, CodexAdapter as Ct, mergeMemory as D, AmpAdapter as Dt, require_lib as E, AntigravityAdapter as Et, getProfileWeight as F, profileManifestSchema as Ft, getStatePath as G, SourceParseError as Gt, placeFile as H, FileNotFoundError as Ht, isLockedProfile as I, sourceManifestSchema as It, writeState as J, getAIToolPath as Jt, placementStateSchema as K, VersionNotFoundError as Kt, sortProfilesByWeight as L, weightSchema as Lt, mergeSkills as M, loadProjectManifest as Mt, mergeSkillsWithWarnings as N, lockfileSchema as Nt, mergeMemoryWithWarnings as O, BaseAIToolAdapter as Ot, WEIGHT_LOCK as P, projectManifestSchema as Pt, writeLock as Q, mergeContentParts as R, KEBAB_CASE_REGEX as Rt, removeGlobalSource as S, CursorAdapter as St, setGlobalIdePlatforms as T, ClaudeCodeAdapter as Tt, discoverProfilesInSourceRepo as U, GitSourceError as Ut, detectLegacyPaths as V, CircularInheritanceError as Vt, findSourceManifest as W, ManifestValidationError as Wt, generateLock as X, AIToolNotFoundError as Xt, removePlacedFiles as Y, getAllAIToolKeys as Yt, readLock as Z, getGlobalAiTools as _, RooAdapter as _t, formatInstallCommand as a, removeGitignoreManagedSection as at, getGlobalSources as b, JunieAdapter as bt, readProjectPreferences as c, getRegisteredIdePlatforms as ct, computeIntersection as d, getAIToolAdapter as dt, cloneGitSource as et, clearIdeCache as f, getAIToolAdaptersForKeys as ft, getDefaultGlobalSource as g, TraeAdapter as gt, getBatonHome as h, WindsurfAdapter as ht, detectInstallMethod as i, ensureBatonDirGitignored as it, mergeRulesWithWarnings as j, loadProfileManifest as jt, mergeAgentsWithWarnings as k, parseFrontmatter as kt, writeProjectPreferences as l, idePlatformRegistry as lt, addGlobalSource as m, ZedAdapter as mt, checkLatestVersion as n, esm_default as nt, resolvePreferences as o, updateGitignore as ot, detectInstalledIdes as p, getAllAIToolAdapters as pt, readState as q, getAIToolConfig as qt, isUpdateAvailable as r, collectComprehensivePatterns as rt, getPreferencesPath as s, getIdePlatformTargetDir as st, validateSource as t, expandSparseCheckout as tt, projectPreferencesSchema as u, isKnownIdePlatform as ut, getGlobalConfigPath as v, OpenCodeAdapter as vt, setGlobalAiTools as w, ClineAdapter as wt, loadGlobalConfig as x, GitHubCopilotAdapter as xt, getGlobalIdePlatforms as y, KiroAdapter as yt, resolveProfileSupport as z, AIToolAdapterNotFoundError as zt };
19848
+ //# sourceMappingURL=src-BC9rP9z6.mjs.map