@qodalis/cli-guid 2.0.0-beta.8 → 2.0.0-beta.9

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qodalis/cli-guid",
3
- "version": "2.0.0-beta.8",
3
+ "version": "2.0.0-beta.9",
4
4
  "description": "@qodalis/cli extension for generating and validating GUIDs.",
5
5
  "author": "Nicolae Lupei, Qodalis Solutions",
6
6
  "license": "MIT",
@@ -20,7 +20,7 @@
20
20
  "umd": "./umd/index.global.js",
21
21
  "unpkg": "./umd/index.global.js",
22
22
  "dependencies": {
23
- "@qodalis/cli-core": "2.0.0-beta.8"
23
+ "@qodalis/cli-core": "2.0.0-beta.9"
24
24
  },
25
25
  "sideEffects": false,
26
26
  "main": "./public-api.js",
package/public-api.d.mts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as _qodalis_cli_core from '@qodalis/cli-core';
2
- import { ICliCommandProcessor, CliProcessorMetadata, CliProcessCommand, ICliExecutionContext, ICliModule } from '@qodalis/cli-core';
2
+ import { ICliCommandProcessor, CliProcessorMetadata, ICliConfigurationOption, CliProcessCommand, ICliExecutionContext, ICliModule } from '@qodalis/cli-core';
3
3
 
4
4
  /**
5
5
  * Generates a v4 UUID using crypto.getRandomValues when available,
@@ -35,6 +35,7 @@ declare class CliGuidCommandProcessor implements ICliCommandProcessor {
35
35
  version: string;
36
36
  processors?: ICliCommandProcessor[];
37
37
  metadata?: CliProcessorMetadata;
38
+ configurationOptions?: ICliConfigurationOption[];
38
39
  constructor();
39
40
  processCommand(command: CliProcessCommand, context: ICliExecutionContext): Promise<void>;
40
41
  writeDescription(context: ICliExecutionContext): void;
package/public-api.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as _qodalis_cli_core from '@qodalis/cli-core';
2
- import { ICliCommandProcessor, CliProcessorMetadata, CliProcessCommand, ICliExecutionContext, ICliModule } from '@qodalis/cli-core';
2
+ import { ICliCommandProcessor, CliProcessorMetadata, ICliConfigurationOption, CliProcessCommand, ICliExecutionContext, ICliModule } from '@qodalis/cli-core';
3
3
 
4
4
  /**
5
5
  * Generates a v4 UUID using crypto.getRandomValues when available,
@@ -35,6 +35,7 @@ declare class CliGuidCommandProcessor implements ICliCommandProcessor {
35
35
  version: string;
36
36
  processors?: ICliCommandProcessor[];
37
37
  metadata?: CliProcessorMetadata;
38
+ configurationOptions?: ICliConfigurationOption[];
38
39
  constructor();
39
40
  processCommand(command: CliProcessCommand, context: ICliExecutionContext): Promise<void>;
40
41
  writeDescription(context: ICliExecutionContext): void;
package/public-api.js CHANGED
@@ -68,7 +68,7 @@ var formatGUID = (guid, format) => {
68
68
  };
69
69
 
70
70
  // src/lib/version.ts
71
- var LIBRARY_VERSION = "2.0.0-beta.8";
71
+ var LIBRARY_VERSION = "2.0.0-beta.9";
72
72
  var API_VERSION = 2;
73
73
 
74
74
  // src/lib/processors/cli-guid-command-processor.ts
@@ -92,6 +92,23 @@ var CliGuidCommandProcessor = class {
92
92
  icon: "\u{1F194}",
93
93
  module: "guid"
94
94
  };
95
+ this.configurationOptions = [
96
+ {
97
+ key: "defaultFormat",
98
+ label: "Default Format",
99
+ description: "Default output format for generated UUIDs",
100
+ type: "select",
101
+ defaultValue: "default",
102
+ options: GUID_FORMATS.map((f) => ({ label: f, value: f }))
103
+ },
104
+ {
105
+ key: "autoCopy",
106
+ label: "Auto-Copy to Clipboard",
107
+ description: "Automatically copy generated UUIDs to clipboard",
108
+ type: "boolean",
109
+ defaultValue: false
110
+ }
111
+ ];
95
112
  this.processors = [
96
113
  // --- new ---
97
114
  {
@@ -131,14 +148,16 @@ var CliGuidCommandProcessor = class {
131
148
  );
132
149
  return;
133
150
  }
134
- const format = command.args["format"] || "default";
151
+ const cfgFormat = cliCore.getPluginConfigValue(context, "guid", "defaultFormat", "default");
152
+ const cfgAutoCopy = cliCore.getPluginConfigValue(context, "guid", "autoCopy", false);
153
+ const format = command.args["format"] || cfgFormat;
135
154
  if (!GUID_FORMATS.includes(format)) {
136
155
  context.writer.writeError(
137
156
  `Unknown format "${format}". Available: ${GUID_FORMATS.join(", ")}`
138
157
  );
139
158
  return;
140
159
  }
141
- const copyToClipboard = command.args["copy"] || command.args["c"];
160
+ const copyToClipboard = command.args["copy"] != null ? !!command.args["copy"] : command.args["c"] != null ? !!command.args["c"] : cfgAutoCopy;
142
161
  const items = [];
143
162
  for (let i = 0; i < count; i++) {
144
163
  const guid = formatGUID(generateGUID(), format);
package/public-api.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../../packages/plugins/guid/src/lib/utilities/index.ts","../../packages/plugins/guid/src/lib/version.ts","../../packages/plugins/guid/src/lib/processors/cli-guid-command-processor.ts","../../packages/plugins/guid/src/public-api.ts"],"names":["DefaultLibraryAuthor","CliForegroundColor"],"mappings":"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","file":"public-api.js","sourcesContent":["/**\n * Generates a v4 UUID using crypto.getRandomValues when available,\n * falling back to Math.random.\n */\nexport const generateGUID = (): string => {\n if (typeof crypto !== 'undefined' && crypto.getRandomValues) {\n const bytes = new Uint8Array(16);\n crypto.getRandomValues(bytes);\n bytes[6] = (bytes[6] & 0x0f) | 0x40; // version 4\n bytes[8] = (bytes[8] & 0x3f) | 0x80; // variant 10\n const hex = Array.from(bytes, (b) =>\n b.toString(16).padStart(2, '0'),\n ).join('');\n return [\n hex.slice(0, 8),\n hex.slice(8, 12),\n hex.slice(12, 16),\n hex.slice(16, 20),\n hex.slice(20, 32),\n ].join('-');\n }\n\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (char) => {\n const random = (Math.random() * 16) | 0;\n const value = char === 'x' ? random : (random & 0x3) | 0x8;\n return value.toString(16);\n });\n};\n\n/**\n * Validates a UUID v4 string.\n */\nexport const validateGUID = (guid: string): boolean => {\n const guidRegex =\n /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/;\n return guidRegex.test(guid);\n};\n\n/**\n * Validates any UUID version (v1-v5, nil).\n */\nexport const validateAnyGUID = (guid: string): boolean => {\n const guidRegex =\n /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/;\n return guidRegex.test(guid);\n};\n\n/** The nil UUID (all zeros). */\nexport const NIL_GUID = '00000000-0000-0000-0000-000000000000';\n\n/**\n * Detects the version of a UUID string.\n * Returns the version number (1-5) or 0 for nil, or null if invalid.\n */\nexport const detectGUIDVersion = (guid: string): number | null => {\n if (!validateAnyGUID(guid)) {\n return null;\n }\n if (guid === NIL_GUID) {\n return 0;\n }\n const versionChar = guid.charAt(14);\n const version = parseInt(versionChar, 16);\n return version >= 1 && version <= 5 ? version : null;\n};\n\nexport type GuidFormat = 'default' | 'uppercase' | 'braces' | 'parentheses' | 'digits' | 'urn';\n\n/**\n * Formats a UUID string into different representations.\n */\nexport const formatGUID = (guid: string, format: GuidFormat): string => {\n const clean = guid.replace(/[-{}() ]/g, '').toLowerCase();\n const d = `${clean.slice(0, 8)}-${clean.slice(8, 12)}-${clean.slice(12, 16)}-${clean.slice(16, 20)}-${clean.slice(20, 32)}`;\n\n switch (format) {\n case 'uppercase':\n return d.toUpperCase();\n case 'braces':\n return `{${d}}`;\n case 'parentheses':\n return `(${d})`;\n case 'digits':\n return clean;\n case 'urn':\n return `urn:uuid:${d}`;\n case 'default':\n default:\n return d;\n }\n};\n","\n// Automatically generated during build\nexport const LIBRARY_VERSION = '2.0.0-beta.8';\nexport const API_VERSION = 2;\n ","import {\n CliForegroundColor,\n CliProcessCommand,\n CliProcessorMetadata,\n DefaultLibraryAuthor,\n ICliCommandProcessor,\n ICliExecutionContext,\n} from '@qodalis/cli-core';\nimport {\n generateGUID,\n validateGUID,\n validateAnyGUID,\n detectGUIDVersion,\n formatGUID,\n NIL_GUID,\n GuidFormat,\n} from '../utilities';\nimport { LIBRARY_VERSION } from '../version';\n\nconst GUID_FORMATS: GuidFormat[] = [\n 'default',\n 'uppercase',\n 'braces',\n 'parentheses',\n 'digits',\n 'urn',\n];\n\nexport class CliGuidCommandProcessor implements ICliCommandProcessor {\n command = 'guid';\n\n aliases = ['uuid'];\n\n description = 'Generate, validate, format, and inspect UUIDs';\n\n author = DefaultLibraryAuthor;\n\n version = LIBRARY_VERSION;\n\n processors?: ICliCommandProcessor[] = [];\n\n metadata?: CliProcessorMetadata = {\n icon: '🆔',\n module: 'guid',\n };\n\n constructor() {\n this.processors = [\n // --- new ---\n {\n command: 'new',\n aliases: ['gen', 'generate'],\n description: 'Generate one or more UUIDs',\n parameters: [\n {\n name: 'copy',\n aliases: ['c'],\n description: 'Copy the result to the clipboard',\n required: false,\n type: 'boolean',\n },\n {\n name: 'count',\n aliases: ['n'],\n description: 'Number of UUIDs to generate',\n defaultValue: '1',\n required: false,\n type: 'number',\n },\n {\n name: 'format',\n aliases: ['f'],\n description: `Output format: ${GUID_FORMATS.join(', ')}`,\n defaultValue: 'default',\n required: false,\n type: 'string',\n },\n ],\n processCommand: async (\n command: CliProcessCommand,\n context: ICliExecutionContext,\n ) => {\n const count = command.args['count']\n ? parseInt(command.args['count'])\n : 1;\n\n if (isNaN(count) || count < 1 || count > 1000) {\n context.writer.writeError(\n 'Count must be a number between 1 and 1000',\n );\n return;\n }\n\n const format = (command.args['format'] ||\n 'default') as GuidFormat;\n\n if (!GUID_FORMATS.includes(format)) {\n context.writer.writeError(\n `Unknown format \"${format}\". Available: ${GUID_FORMATS.join(', ')}`,\n );\n return;\n }\n\n const copyToClipboard =\n command.args['copy'] || command.args['c'];\n\n const items: string[] = [];\n\n for (let i = 0; i < count; i++) {\n const guid = formatGUID(generateGUID(), format);\n context.writer.writeln(guid);\n items.push(guid);\n }\n\n if (copyToClipboard) {\n await context.clipboard.write(items.join('\\n'));\n context.writer.writeInfo(\n items.length === 1\n ? 'Copied to clipboard'\n : `${items.length} UUIDs copied to clipboard`,\n );\n }\n\n context.process.output(\n items.length === 1 ? items[0] : items,\n );\n },\n writeDescription: (context: ICliExecutionContext) => {\n const { writer } = context;\n writer.writeln('Generate one or more UUIDs (v4)');\n writer.writeln();\n writer.writeln('📋 Usage:');\n writer.writeln(\n ` ${writer.wrapInColor('guid new', CliForegroundColor.Cyan)} Generate a single UUID`,\n );\n writer.writeln(\n ` ${writer.wrapInColor('guid new --count=5', CliForegroundColor.Cyan)} Generate 5 UUIDs`,\n );\n writer.writeln(\n ` ${writer.wrapInColor('guid new --copy', CliForegroundColor.Cyan)} Generate and copy`,\n );\n writer.writeln(\n ` ${writer.wrapInColor('guid new --format=uppercase', CliForegroundColor.Cyan)} Uppercase output`,\n );\n writer.writeln(\n ` ${writer.wrapInColor('guid new --format=braces', CliForegroundColor.Cyan)} {wrapped} format`,\n );\n writer.writeln();\n writer.writeln(\n `Formats: ${writer.wrapInColor(GUID_FORMATS.join(', '), CliForegroundColor.Yellow)}`,\n );\n },\n },\n\n // --- validate ---\n {\n command: 'validate',\n aliases: ['check'],\n description: 'Validate a UUID string',\n acceptsRawInput: true,\n valueRequired: true,\n parameters: [\n {\n name: 'strict',\n description:\n 'Only accept v4 UUIDs (default: accept any version)',\n required: false,\n type: 'boolean',\n },\n ],\n processCommand: async (\n command: CliProcessCommand,\n context: ICliExecutionContext,\n ) => {\n const input = command.value!;\n const strict = command.args['strict'];\n const isValid = strict\n ? validateGUID(input)\n : validateAnyGUID(input);\n\n if (isValid) {\n const version = detectGUIDVersion(input);\n const versionLabel =\n version === 0\n ? 'nil'\n : version\n ? `v${version}`\n : 'unknown version';\n context.writer.writeSuccess(\n `Valid UUID (${versionLabel})`,\n );\n context.process.output({ valid: true, version });\n } else {\n context.writer.writeError(\n `Invalid UUID: ${input}`,\n );\n context.process.output({\n valid: false,\n version: null,\n });\n }\n },\n writeDescription: (context: ICliExecutionContext) => {\n const { writer } = context;\n writer.writeln('Validate a UUID string and detect its version');\n writer.writeln();\n writer.writeln('📋 Usage:');\n writer.writeln(\n ` ${writer.wrapInColor('guid validate <uuid>', CliForegroundColor.Cyan)} Check any UUID`,\n );\n writer.writeln(\n ` ${writer.wrapInColor('guid validate <uuid> --strict', CliForegroundColor.Cyan)} Only accept v4`,\n );\n },\n },\n\n // --- format ---\n {\n command: 'format',\n aliases: ['fmt'],\n description: 'Convert a UUID to a different format',\n acceptsRawInput: true,\n valueRequired: true,\n parameters: [\n {\n name: 'to',\n aliases: ['t'],\n description: `Target format: ${GUID_FORMATS.join(', ')}`,\n defaultValue: 'default',\n required: false,\n type: 'string',\n },\n {\n name: 'copy',\n aliases: ['c'],\n description: 'Copy the result to the clipboard',\n required: false,\n type: 'boolean',\n },\n ],\n processCommand: async (\n command: CliProcessCommand,\n context: ICliExecutionContext,\n ) => {\n const input = command.value!;\n\n const clean = input.replace(/[-{}()urn:uuid ]/g, '');\n if (!/^[0-9a-fA-F]{32}$/.test(clean)) {\n context.writer.writeError(\n `Cannot parse as UUID: ${input}`,\n );\n return;\n }\n\n const format = (command.args['to'] ||\n 'default') as GuidFormat;\n\n if (!GUID_FORMATS.includes(format)) {\n context.writer.writeError(\n `Unknown format \"${format}\". Available: ${GUID_FORMATS.join(', ')}`,\n );\n return;\n }\n\n const normalized = `${clean.slice(0, 8)}-${clean.slice(8, 12)}-${clean.slice(12, 16)}-${clean.slice(16, 20)}-${clean.slice(20, 32)}`.toLowerCase();\n const result = formatGUID(normalized, format);\n\n context.writer.writeln(result);\n\n if (command.args['copy'] || command.args['c']) {\n await context.clipboard.write(result);\n context.writer.writeInfo('Copied to clipboard');\n }\n\n context.process.output(result);\n },\n writeDescription: (context: ICliExecutionContext) => {\n const { writer } = context;\n writer.writeln('Convert a UUID between different formats');\n writer.writeln();\n writer.writeln('📋 Usage:');\n writer.writeln(\n ` ${writer.wrapInColor('guid format <uuid> --to=braces', CliForegroundColor.Cyan)}`,\n );\n writer.writeln(\n ` ${writer.wrapInColor('guid format <uuid> --to=urn', CliForegroundColor.Cyan)}`,\n );\n writer.writeln();\n writer.writeln(\n `Formats: ${writer.wrapInColor(GUID_FORMATS.join(', '), CliForegroundColor.Yellow)}`,\n );\n writer.writeln();\n writer.writeln('📝 Examples:');\n writer.writeln(\n ` guid format 550e8400-e29b-41d4-a716-446655440000 --to=braces`,\n );\n writer.writeln(\n ` ${writer.wrapInColor('→ {550e8400-e29b-41d4-a716-446655440000}', CliForegroundColor.Green)}`,\n );\n },\n },\n\n // --- inspect ---\n {\n command: 'inspect',\n aliases: ['info', 'parse'],\n description: 'Show detailed information about a UUID',\n acceptsRawInput: true,\n valueRequired: true,\n processCommand: async (\n command: CliProcessCommand,\n context: ICliExecutionContext,\n ) => {\n const input = command.value!;\n const { writer } = context;\n\n if (!validateAnyGUID(input)) {\n writer.writeError(`Invalid UUID: ${input}`);\n return;\n }\n\n const version = detectGUIDVersion(input);\n const isNil = input === NIL_GUID;\n const lower = input.toLowerCase();\n const variantBits = parseInt(lower.charAt(19), 16);\n\n let variant: string;\n if ((variantBits & 0x8) === 0) {\n variant = 'NCS (reserved)';\n } else if ((variantBits & 0xc) === 0x8) {\n variant = 'RFC 4122';\n } else if ((variantBits & 0xe) === 0xc) {\n variant = 'Microsoft (reserved)';\n } else {\n variant = 'Future (reserved)';\n }\n\n writer.writeln(\n writer.wrapInColor(\n '── UUID Details ──',\n CliForegroundColor.Cyan,\n ),\n );\n writer.writeln();\n writer.writeln(\n ` ${writer.wrapInColor('Input:', CliForegroundColor.Yellow)} ${input}`,\n );\n writer.writeln(\n ` ${writer.wrapInColor('Version:', CliForegroundColor.Yellow)} ${isNil ? 'nil' : version !== null ? `v${version}` : 'unknown'}`,\n );\n writer.writeln(\n ` ${writer.wrapInColor('Variant:', CliForegroundColor.Yellow)} ${variant}`,\n );\n writer.writeln();\n writer.writeln(\n ` ${writer.wrapInColor('Formats:', CliForegroundColor.Yellow)}`,\n );\n\n for (const fmt of GUID_FORMATS) {\n const formatted = formatGUID(lower, fmt);\n writer.writeln(\n ` ${writer.wrapInColor(fmt.padEnd(14), CliForegroundColor.Cyan)} ${formatted}`,\n );\n }\n\n context.process.output({\n input,\n version,\n variant,\n isNil,\n formats: Object.fromEntries(\n GUID_FORMATS.map((fmt) => [\n fmt,\n formatGUID(lower, fmt),\n ]),\n ),\n });\n },\n writeDescription: (context: ICliExecutionContext) => {\n const { writer } = context;\n writer.writeln(\n 'Display version, variant, and all format representations of a UUID',\n );\n writer.writeln();\n writer.writeln('📋 Usage:');\n writer.writeln(\n ` ${writer.wrapInColor('guid inspect <uuid>', CliForegroundColor.Cyan)}`,\n );\n },\n },\n\n // --- nil ---\n {\n command: 'nil',\n aliases: ['empty', 'zero'],\n description: 'Output the nil UUID (all zeros)',\n parameters: [\n {\n name: 'copy',\n aliases: ['c'],\n description: 'Copy to clipboard',\n required: false,\n type: 'boolean',\n },\n ],\n processCommand: async (\n _: CliProcessCommand,\n context: ICliExecutionContext,\n ) => {\n context.writer.writeln(NIL_GUID);\n\n if (_.args['copy'] || _.args['c']) {\n await context.clipboard.write(NIL_GUID);\n context.writer.writeInfo('Copied to clipboard');\n }\n\n context.process.output(NIL_GUID);\n },\n },\n\n // --- compare ---\n {\n command: 'compare',\n aliases: ['eq', 'equals'],\n description: 'Check if two UUIDs are equal (case/format insensitive)',\n acceptsRawInput: true,\n processCommand: async (\n command: CliProcessCommand,\n context: ICliExecutionContext,\n ) => {\n const raw = (command.value || '').trim();\n const parts = raw.split(/\\s+/);\n\n if (parts.length !== 2) {\n context.writer.writeError(\n 'Provide exactly two UUIDs to compare',\n );\n context.writer.writeln();\n context.writer.writeln(\n ` Usage: ${context.writer.wrapInColor('guid compare <uuid1> <uuid2>', CliForegroundColor.Cyan)}`,\n );\n return;\n }\n\n const [a, b] = parts;\n const cleanA = a.replace(/[-{}()urn:uuid ]/g, '').toLowerCase();\n const cleanB = b.replace(/[-{}()urn:uuid ]/g, '').toLowerCase();\n\n if (\n !/^[0-9a-f]{32}$/.test(cleanA) ||\n !/^[0-9a-f]{32}$/.test(cleanB)\n ) {\n context.writer.writeError(\n 'One or both inputs are not valid UUIDs',\n );\n return;\n }\n\n const equal = cleanA === cleanB;\n\n if (equal) {\n context.writer.writeSuccess('The UUIDs are equal');\n } else {\n context.writer.writeError('The UUIDs are different');\n }\n\n context.process.output({ equal, a, b });\n },\n writeDescription: (context: ICliExecutionContext) => {\n const { writer } = context;\n writer.writeln(\n 'Compare two UUIDs for equality regardless of case or format',\n );\n writer.writeln();\n writer.writeln('📋 Usage:');\n writer.writeln(\n ` ${writer.wrapInColor('guid compare <uuid1> <uuid2>', CliForegroundColor.Cyan)}`,\n );\n writer.writeln();\n writer.writeln('📝 Examples:');\n writer.writeln(\n ` guid compare 550e8400-e29b-41d4-a716-446655440000 550E8400-E29B-41D4-A716-446655440000`,\n );\n writer.writeln(\n ` ${writer.wrapInColor('→ The UUIDs are equal', CliForegroundColor.Green)}`,\n );\n },\n },\n ];\n }\n\n async processCommand(\n command: CliProcessCommand,\n context: ICliExecutionContext,\n ): Promise<void> {\n await context.executor.showHelp(command, context);\n }\n\n writeDescription(context: ICliExecutionContext): void {\n const { writer } = context;\n writer.writeln(this.description);\n writer.writeln();\n writer.writeln('📋 Commands:');\n writer.writeln(\n ` ${writer.wrapInColor('guid new', CliForegroundColor.Cyan)} Generate UUIDs`,\n );\n writer.writeln(\n ` ${writer.wrapInColor('guid validate <uuid>', CliForegroundColor.Cyan)} Validate and detect version`,\n );\n writer.writeln(\n ` ${writer.wrapInColor('guid format <uuid> --to=<fmt>', CliForegroundColor.Cyan)} Convert format`,\n );\n writer.writeln(\n ` ${writer.wrapInColor('guid inspect <uuid>', CliForegroundColor.Cyan)} Show detailed info`,\n );\n writer.writeln(\n ` ${writer.wrapInColor('guid compare <a> <b>', CliForegroundColor.Cyan)} Compare two UUIDs`,\n );\n writer.writeln(\n ` ${writer.wrapInColor('guid nil', CliForegroundColor.Cyan)} Output nil UUID`,\n );\n writer.writeln();\n writer.writeln('📝 Examples:');\n writer.writeln(\n ` guid new --count=5 --copy ${writer.wrapInColor('# 5 UUIDs, copied', CliForegroundColor.Green)}`,\n );\n writer.writeln(\n ` guid new --format=uppercase ${writer.wrapInColor('# A1B2C3D4-...', CliForegroundColor.Green)}`,\n );\n writer.writeln(\n ` guid validate 550e8400-e29b-41d4-a716-446655440000 ${writer.wrapInColor('# Valid UUID (v4)', CliForegroundColor.Green)}`,\n );\n writer.writeln(\n ` guid inspect 550e8400-e29b-41d4-a716-446655440000 ${writer.wrapInColor('# Version, variant, formats', CliForegroundColor.Green)}`,\n );\n writer.writeln(\n ` guid format <uuid> --to=urn ${writer.wrapInColor('# urn:uuid:...', CliForegroundColor.Green)}`,\n );\n }\n}\n","/*\n * Public API Surface of guid\n */\n\nexport * from './lib/utilities';\nexport type { GuidFormat } from './lib/utilities';\n\nexport * from './lib/processors/cli-guid-command-processor';\n\nimport { ICliModule } from '@qodalis/cli-core';\nimport { CliGuidCommandProcessor } from './lib/processors/cli-guid-command-processor';\nimport { API_VERSION } from './lib/version';\n\nexport const guidModule: ICliModule = {\n apiVersion: API_VERSION,\n name: '@qodalis/cli-guid',\n processors: [new CliGuidCommandProcessor()],\n translations: {\n es: { 'cli.guid.description': 'Generar, validar, formatear e inspeccionar UUIDs' },\n fr: { 'cli.guid.description': 'Générer, valider, formater et inspecter des UUIDs' },\n de: { 'cli.guid.description': 'UUIDs generieren, validieren, formatieren und inspizieren' },\n pt: { 'cli.guid.description': 'Gerar, validar, formatar e inspecionar UUIDs' },\n it: { 'cli.guid.description': 'Generare, validare, formattare e ispezionare UUID' },\n ja: { 'cli.guid.description': 'UUIDの生成、検証、フォーマット、検査' },\n ko: { 'cli.guid.description': 'UUID 생성, 검증, 포맷 및 검사' },\n zh: { 'cli.guid.description': '生成、验证、格式化和检查 UUID' },\n ru: { 'cli.guid.description': 'Генерация, проверка, форматирование и анализ UUID' },\n ro: { 'cli.guid.description': 'Generare, validare, formatare și inspectare UUID-uri' },\n },\n};\n"]}
1
+ {"version":3,"sources":["../../packages/plugins/guid/src/lib/utilities/index.ts","../../packages/plugins/guid/src/lib/version.ts","../../packages/plugins/guid/src/lib/processors/cli-guid-command-processor.ts","../../packages/plugins/guid/src/public-api.ts"],"names":["DefaultLibraryAuthor","getPluginConfigValue","CliForegroundColor"],"mappings":";;;;;AAIO,IAAM,eAAe,MAAc;AACtC,EAAA,IAAI,OAAO,MAAA,KAAW,WAAA,IAAe,MAAA,CAAO,eAAA,EAAiB;AACzD,IAAA,MAAM,KAAA,GAAQ,IAAI,UAAA,CAAW,EAAE,CAAA;AAC/B,IAAA,MAAA,CAAO,gBAAgB,KAAK,CAAA;AAC5B,IAAA,KAAA,CAAM,CAAC,CAAA,GAAK,KAAA,CAAM,CAAC,IAAI,EAAA,GAAQ,EAAA;AAC/B,IAAA,KAAA,CAAM,CAAC,CAAA,GAAK,KAAA,CAAM,CAAC,IAAI,EAAA,GAAQ,GAAA;AAC/B,IAAA,MAAM,MAAM,KAAA,CAAM,IAAA;AAAA,MAAK,KAAA;AAAA,MAAO,CAAC,MAC3B,CAAA,CAAE,QAAA,CAAS,EAAE,CAAA,CAAE,QAAA,CAAS,GAAG,GAAG;AAAA,KAClC,CAAE,KAAK,EAAE,CAAA;AACT,IAAA,OAAO;AAAA,MACH,GAAA,CAAI,KAAA,CAAM,CAAA,EAAG,CAAC,CAAA;AAAA,MACd,GAAA,CAAI,KAAA,CAAM,CAAA,EAAG,EAAE,CAAA;AAAA,MACf,GAAA,CAAI,KAAA,CAAM,EAAA,EAAI,EAAE,CAAA;AAAA,MAChB,GAAA,CAAI,KAAA,CAAM,EAAA,EAAI,EAAE,CAAA;AAAA,MAChB,GAAA,CAAI,KAAA,CAAM,EAAA,EAAI,EAAE;AAAA,KACpB,CAAE,KAAK,GAAG,CAAA;AAAA,EACd;AAEA,EAAA,OAAO,sCAAA,CAAuC,OAAA,CAAQ,OAAA,EAAS,CAAC,IAAA,KAAS;AACrE,IAAA,MAAM,MAAA,GAAU,IAAA,CAAK,MAAA,EAAO,GAAI,EAAA,GAAM,CAAA;AACtC,IAAA,MAAM,KAAA,GAAQ,IAAA,KAAS,GAAA,GAAM,MAAA,GAAU,SAAS,CAAA,GAAO,CAAA;AACvD,IAAA,OAAO,KAAA,CAAM,SAAS,EAAE,CAAA;AAAA,EAC5B,CAAC,CAAA;AACL;AAKO,IAAM,YAAA,GAAe,CAAC,IAAA,KAA0B;AACnD,EAAA,MAAM,SAAA,GACF,wFAAA;AACJ,EAAA,OAAO,SAAA,CAAU,KAAK,IAAI,CAAA;AAC9B;AAKO,IAAM,eAAA,GAAkB,CAAC,IAAA,KAA0B;AACtD,EAAA,MAAM,SAAA,GACF,+EAAA;AACJ,EAAA,OAAO,SAAA,CAAU,KAAK,IAAI,CAAA;AAC9B;AAGO,IAAM,QAAA,GAAW;AAMjB,IAAM,iBAAA,GAAoB,CAAC,IAAA,KAAgC;AAC9D,EAAA,IAAI,CAAC,eAAA,CAAgB,IAAI,CAAA,EAAG;AACxB,IAAA,OAAO,IAAA;AAAA,EACX;AACA,EAAA,IAAI,SAAS,QAAA,EAAU;AACnB,IAAA,OAAO,CAAA;AAAA,EACX;AACA,EAAA,MAAM,WAAA,GAAc,IAAA,CAAK,MAAA,CAAO,EAAE,CAAA;AAClC,EAAA,MAAM,OAAA,GAAU,QAAA,CAAS,WAAA,EAAa,EAAE,CAAA;AACxC,EAAA,OAAO,OAAA,IAAW,CAAA,IAAK,OAAA,IAAW,CAAA,GAAI,OAAA,GAAU,IAAA;AACpD;AAOO,IAAM,UAAA,GAAa,CAAC,IAAA,EAAc,MAAA,KAA+B;AACpE,EAAA,MAAM,QAAQ,IAAA,CAAK,OAAA,CAAQ,WAAA,EAAa,EAAE,EAAE,WAAA,EAAY;AACxD,EAAA,MAAM,CAAA,GAAI,CAAA,EAAG,KAAA,CAAM,KAAA,CAAM,CAAA,EAAG,CAAC,CAAC,CAAA,CAAA,EAAI,KAAA,CAAM,KAAA,CAAM,CAAA,EAAG,EAAE,CAAC,CAAA,CAAA,EAAI,KAAA,CAAM,KAAA,CAAM,EAAA,EAAI,EAAE,CAAC,CAAA,CAAA,EAAI,KAAA,CAAM,KAAA,CAAM,EAAA,EAAI,EAAE,CAAC,CAAA,CAAA,EAAI,KAAA,CAAM,KAAA,CAAM,EAAA,EAAI,EAAE,CAAC,CAAA,CAAA;AAEzH,EAAA,QAAQ,MAAA;AAAQ,IACZ,KAAK,WAAA;AACD,MAAA,OAAO,EAAE,WAAA,EAAY;AAAA,IACzB,KAAK,QAAA;AACD,MAAA,OAAO,IAAI,CAAC,CAAA,CAAA,CAAA;AAAA,IAChB,KAAK,aAAA;AACD,MAAA,OAAO,IAAI,CAAC,CAAA,CAAA,CAAA;AAAA,IAChB,KAAK,QAAA;AACD,MAAA,OAAO,KAAA;AAAA,IACX,KAAK,KAAA;AACD,MAAA,OAAO,YAAY,CAAC,CAAA,CAAA;AAAA,IACxB,KAAK,SAAA;AAAA,IACL;AACI,MAAA,OAAO,CAAA;AAAA;AAEnB;;;ACxFO,IAAM,eAAA,GAAkB,cAAA;AACxB,IAAM,WAAA,GAAc,CAAA;;;ACkB3B,IAAM,YAAA,GAA6B;AAAA,EAC/B,SAAA;AAAA,EACA,WAAA;AAAA,EACA,QAAA;AAAA,EACA,aAAA;AAAA,EACA,QAAA;AAAA,EACA;AACJ,CAAA;AAEO,IAAM,0BAAN,MAA8D;AAAA,EAoCjE,WAAA,GAAc;AAnCd,IAAA,IAAA,CAAA,OAAA,GAAU,MAAA;AAEV,IAAA,IAAA,CAAA,OAAA,GAAU,CAAC,MAAM,CAAA;AAEjB,IAAA,IAAA,CAAA,WAAA,GAAc,+CAAA;AAEd,IAAA,IAAA,CAAA,MAAA,GAASA,4BAAA;AAET,IAAA,IAAA,CAAA,OAAA,GAAU,eAAA;AAEV,IAAA,IAAA,CAAA,UAAA,GAAsC,EAAC;AAEvC,IAAA,IAAA,CAAA,QAAA,GAAkC;AAAA,MAC9B,IAAA,EAAM,WAAA;AAAA,MACN,MAAA,EAAQ;AAAA,KACZ;AAEA,IAAA,IAAA,CAAA,oBAAA,GAAmD;AAAA,MAC/C;AAAA,QACI,GAAA,EAAK,eAAA;AAAA,QACL,KAAA,EAAO,gBAAA;AAAA,QACP,WAAA,EAAa,2CAAA;AAAA,QACb,IAAA,EAAM,QAAA;AAAA,QACN,YAAA,EAAc,SAAA;AAAA,QACd,OAAA,EAAS,YAAA,CAAa,GAAA,CAAI,CAAC,CAAA,MAAO,EAAE,KAAA,EAAO,CAAA,EAAG,KAAA,EAAO,CAAA,EAAE,CAAE;AAAA,OAC7D;AAAA,MACA;AAAA,QACI,GAAA,EAAK,UAAA;AAAA,QACL,KAAA,EAAO,wBAAA;AAAA,QACP,WAAA,EAAa,iDAAA;AAAA,QACb,IAAA,EAAM,SAAA;AAAA,QACN,YAAA,EAAc;AAAA;AAClB,KACJ;AAGI,IAAA,IAAA,CAAK,UAAA,GAAa;AAAA;AAAA,MAEd;AAAA,QACI,OAAA,EAAS,KAAA;AAAA,QACT,OAAA,EAAS,CAAC,KAAA,EAAO,UAAU,CAAA;AAAA,QAC3B,WAAA,EAAa,4BAAA;AAAA,QACb,UAAA,EAAY;AAAA,UACR;AAAA,YACI,IAAA,EAAM,MAAA;AAAA,YACN,OAAA,EAAS,CAAC,GAAG,CAAA;AAAA,YACb,WAAA,EAAa,kCAAA;AAAA,YACb,QAAA,EAAU,KAAA;AAAA,YACV,IAAA,EAAM;AAAA,WACV;AAAA,UACA;AAAA,YACI,IAAA,EAAM,OAAA;AAAA,YACN,OAAA,EAAS,CAAC,GAAG,CAAA;AAAA,YACb,WAAA,EAAa,6BAAA;AAAA,YACb,YAAA,EAAc,GAAA;AAAA,YACd,QAAA,EAAU,KAAA;AAAA,YACV,IAAA,EAAM;AAAA,WACV;AAAA,UACA;AAAA,YACI,IAAA,EAAM,QAAA;AAAA,YACN,OAAA,EAAS,CAAC,GAAG,CAAA;AAAA,YACb,WAAA,EAAa,CAAA,eAAA,EAAkB,YAAA,CAAa,IAAA,CAAK,IAAI,CAAC,CAAA,CAAA;AAAA,YACtD,YAAA,EAAc,SAAA;AAAA,YACd,QAAA,EAAU,KAAA;AAAA,YACV,IAAA,EAAM;AAAA;AACV,SACJ;AAAA,QACA,cAAA,EAAgB,OACZ,OAAA,EACA,OAAA,KACC;AACD,UAAA,MAAM,KAAA,GAAQ,OAAA,CAAQ,IAAA,CAAK,OAAO,CAAA,GAC5B,SAAS,OAAA,CAAQ,IAAA,CAAK,OAAO,CAAC,CAAA,GAC9B,CAAA;AAEN,UAAA,IAAI,MAAM,KAAK,CAAA,IAAK,KAAA,GAAQ,CAAA,IAAK,QAAQ,GAAA,EAAM;AAC3C,YAAA,OAAA,CAAQ,MAAA,CAAO,UAAA;AAAA,cACX;AAAA,aACJ;AACA,YAAA;AAAA,UACJ;AAEA,UAAA,MAAM,SAAA,GAAYC,4BAAA,CAAqB,OAAA,EAAS,MAAA,EAAQ,iBAAiB,SAAS,CAAA;AAClF,UAAA,MAAM,WAAA,GAAcA,4BAAA,CAAqB,OAAA,EAAS,MAAA,EAAQ,YAAY,KAAK,CAAA;AAE3E,UAAA,MAAM,MAAA,GAAU,OAAA,CAAQ,IAAA,CAAK,QAAQ,CAAA,IACjC,SAAA;AAEJ,UAAA,IAAI,CAAC,YAAA,CAAa,QAAA,CAAS,MAAM,CAAA,EAAG;AAChC,YAAA,OAAA,CAAQ,MAAA,CAAO,UAAA;AAAA,cACX,mBAAmB,MAAM,CAAA,cAAA,EAAiB,YAAA,CAAa,IAAA,CAAK,IAAI,CAAC,CAAA;AAAA,aACrE;AACA,YAAA;AAAA,UACJ;AAEA,UAAA,MAAM,eAAA,GACF,QAAQ,IAAA,CAAK,MAAM,KAAK,IAAA,GAAO,CAAC,CAAC,OAAA,CAAQ,IAAA,CAAK,MAAM,IAClD,OAAA,CAAQ,IAAA,CAAK,GAAG,CAAA,IAAK,IAAA,GAAO,CAAC,CAAC,OAAA,CAAQ,IAAA,CAAK,GAAG,CAAA,GAC9C,WAAA;AAEN,UAAA,MAAM,QAAkB,EAAC;AAEzB,UAAA,KAAA,IAAS,CAAA,GAAI,CAAA,EAAG,CAAA,GAAI,KAAA,EAAO,CAAA,EAAA,EAAK;AAC5B,YAAA,MAAM,IAAA,GAAO,UAAA,CAAW,YAAA,EAAa,EAAG,MAAM,CAAA;AAC9C,YAAA,OAAA,CAAQ,MAAA,CAAO,QAAQ,IAAI,CAAA;AAC3B,YAAA,KAAA,CAAM,KAAK,IAAI,CAAA;AAAA,UACnB;AAEA,UAAA,IAAI,eAAA,EAAiB;AACjB,YAAA,MAAM,QAAQ,SAAA,CAAU,KAAA,CAAM,KAAA,CAAM,IAAA,CAAK,IAAI,CAAC,CAAA;AAC9C,YAAA,OAAA,CAAQ,MAAA,CAAO,SAAA;AAAA,cACX,MAAM,MAAA,KAAW,CAAA,GACX,qBAAA,GACA,CAAA,EAAG,MAAM,MAAM,CAAA,0BAAA;AAAA,aACzB;AAAA,UACJ;AAEA,UAAA,OAAA,CAAQ,OAAA,CAAQ,MAAA;AAAA,YACZ,KAAA,CAAM,MAAA,KAAW,CAAA,GAAI,KAAA,CAAM,CAAC,CAAA,GAAI;AAAA,WACpC;AAAA,QACJ,CAAA;AAAA,QACA,gBAAA,EAAkB,CAAC,OAAA,KAAkC;AACjD,UAAA,MAAM,EAAE,QAAO,GAAI,OAAA;AACnB,UAAA,MAAA,CAAO,QAAQ,iCAAiC,CAAA;AAChD,UAAA,MAAA,CAAO,OAAA,EAAQ;AACf,UAAA,MAAA,CAAO,QAAQ,kBAAW,CAAA;AAC1B,UAAA,MAAA,CAAO,OAAA;AAAA,YACH,KAAK,MAAA,CAAO,WAAA,CAAY,UAAA,EAAYC,0BAAA,CAAmB,IAAI,CAAC,CAAA,iDAAA;AAAA,WAChE;AACA,UAAA,MAAA,CAAO,OAAA;AAAA,YACH,KAAK,MAAA,CAAO,WAAA,CAAY,oBAAA,EAAsBA,0BAAA,CAAmB,IAAI,CAAC,CAAA,mCAAA;AAAA,WAC1E;AACA,UAAA,MAAA,CAAO,OAAA;AAAA,YACH,KAAK,MAAA,CAAO,WAAA,CAAY,iBAAA,EAAmBA,0BAAA,CAAmB,IAAI,CAAC,CAAA,uCAAA;AAAA,WACvE;AACA,UAAA,MAAA,CAAO,OAAA;AAAA,YACH,KAAK,MAAA,CAAO,WAAA,CAAY,6BAAA,EAA+BA,0BAAA,CAAmB,IAAI,CAAC,CAAA,0BAAA;AAAA,WACnF;AACA,UAAA,MAAA,CAAO,OAAA;AAAA,YACH,KAAK,MAAA,CAAO,WAAA,CAAY,0BAAA,EAA4BA,0BAAA,CAAmB,IAAI,CAAC,CAAA,6BAAA;AAAA,WAChF;AACA,UAAA,MAAA,CAAO,OAAA,EAAQ;AACf,UAAA,MAAA,CAAO,OAAA;AAAA,YACH,CAAA,SAAA,EAAY,OAAO,WAAA,CAAY,YAAA,CAAa,KAAK,IAAI,CAAA,EAAGA,0BAAA,CAAmB,MAAM,CAAC,CAAA;AAAA,WACtF;AAAA,QACJ;AAAA,OACJ;AAAA;AAAA,MAGA;AAAA,QACI,OAAA,EAAS,UAAA;AAAA,QACT,OAAA,EAAS,CAAC,OAAO,CAAA;AAAA,QACjB,WAAA,EAAa,wBAAA;AAAA,QACb,eAAA,EAAiB,IAAA;AAAA,QACjB,aAAA,EAAe,IAAA;AAAA,QACf,UAAA,EAAY;AAAA,UACR;AAAA,YACI,IAAA,EAAM,QAAA;AAAA,YACN,WAAA,EACI,oDAAA;AAAA,YACJ,QAAA,EAAU,KAAA;AAAA,YACV,IAAA,EAAM;AAAA;AACV,SACJ;AAAA,QACA,cAAA,EAAgB,OACZ,OAAA,EACA,OAAA,KACC;AACD,UAAA,MAAM,QAAQ,OAAA,CAAQ,KAAA;AACtB,UAAA,MAAM,MAAA,GAAS,OAAA,CAAQ,IAAA,CAAK,QAAQ,CAAA;AACpC,UAAA,MAAM,UAAU,MAAA,GACV,YAAA,CAAa,KAAK,CAAA,GAClB,gBAAgB,KAAK,CAAA;AAE3B,UAAA,IAAI,OAAA,EAAS;AACT,YAAA,MAAM,OAAA,GAAU,kBAAkB,KAAK,CAAA;AACvC,YAAA,MAAM,eACF,OAAA,KAAY,CAAA,GACN,QACA,OAAA,GACE,CAAA,CAAA,EAAI,OAAO,CAAA,CAAA,GACX,iBAAA;AACZ,YAAA,OAAA,CAAQ,MAAA,CAAO,YAAA;AAAA,cACX,eAAe,YAAY,CAAA,CAAA;AAAA,aAC/B;AACA,YAAA,OAAA,CAAQ,QAAQ,MAAA,CAAO,EAAE,KAAA,EAAO,IAAA,EAAM,SAAS,CAAA;AAAA,UACnD,CAAA,MAAO;AACH,YAAA,OAAA,CAAQ,MAAA,CAAO,UAAA;AAAA,cACX,iBAAiB,KAAK,CAAA;AAAA,aAC1B;AACA,YAAA,OAAA,CAAQ,QAAQ,MAAA,CAAO;AAAA,cACnB,KAAA,EAAO,KAAA;AAAA,cACP,OAAA,EAAS;AAAA,aACZ,CAAA;AAAA,UACL;AAAA,QACJ,CAAA;AAAA,QACA,gBAAA,EAAkB,CAAC,OAAA,KAAkC;AACjD,UAAA,MAAM,EAAE,QAAO,GAAI,OAAA;AACnB,UAAA,MAAA,CAAO,QAAQ,+CAA+C,CAAA;AAC9D,UAAA,MAAA,CAAO,OAAA,EAAQ;AACf,UAAA,MAAA,CAAO,QAAQ,kBAAW,CAAA;AAC1B,UAAA,MAAA,CAAO,OAAA;AAAA,YACH,KAAK,MAAA,CAAO,WAAA,CAAY,sBAAA,EAAwBA,0BAAA,CAAmB,IAAI,CAAC,CAAA,gCAAA;AAAA,WAC5E;AACA,UAAA,MAAA,CAAO,OAAA;AAAA,YACH,KAAK,MAAA,CAAO,WAAA,CAAY,+BAAA,EAAiCA,0BAAA,CAAmB,IAAI,CAAC,CAAA,uBAAA;AAAA,WACrF;AAAA,QACJ;AAAA,OACJ;AAAA;AAAA,MAGA;AAAA,QACI,OAAA,EAAS,QAAA;AAAA,QACT,OAAA,EAAS,CAAC,KAAK,CAAA;AAAA,QACf,WAAA,EAAa,sCAAA;AAAA,QACb,eAAA,EAAiB,IAAA;AAAA,QACjB,aAAA,EAAe,IAAA;AAAA,QACf,UAAA,EAAY;AAAA,UACR;AAAA,YACI,IAAA,EAAM,IAAA;AAAA,YACN,OAAA,EAAS,CAAC,GAAG,CAAA;AAAA,YACb,WAAA,EAAa,CAAA,eAAA,EAAkB,YAAA,CAAa,IAAA,CAAK,IAAI,CAAC,CAAA,CAAA;AAAA,YACtD,YAAA,EAAc,SAAA;AAAA,YACd,QAAA,EAAU,KAAA;AAAA,YACV,IAAA,EAAM;AAAA,WACV;AAAA,UACA;AAAA,YACI,IAAA,EAAM,MAAA;AAAA,YACN,OAAA,EAAS,CAAC,GAAG,CAAA;AAAA,YACb,WAAA,EAAa,kCAAA;AAAA,YACb,QAAA,EAAU,KAAA;AAAA,YACV,IAAA,EAAM;AAAA;AACV,SACJ;AAAA,QACA,cAAA,EAAgB,OACZ,OAAA,EACA,OAAA,KACC;AACD,UAAA,MAAM,QAAQ,OAAA,CAAQ,KAAA;AAEtB,UAAA,MAAM,KAAA,GAAQ,KAAA,CAAM,OAAA,CAAQ,mBAAA,EAAqB,EAAE,CAAA;AACnD,UAAA,IAAI,CAAC,mBAAA,CAAoB,IAAA,CAAK,KAAK,CAAA,EAAG;AAClC,YAAA,OAAA,CAAQ,MAAA,CAAO,UAAA;AAAA,cACX,yBAAyB,KAAK,CAAA;AAAA,aAClC;AACA,YAAA;AAAA,UACJ;AAEA,UAAA,MAAM,MAAA,GAAU,OAAA,CAAQ,IAAA,CAAK,IAAI,CAAA,IAC7B,SAAA;AAEJ,UAAA,IAAI,CAAC,YAAA,CAAa,QAAA,CAAS,MAAM,CAAA,EAAG;AAChC,YAAA,OAAA,CAAQ,MAAA,CAAO,UAAA;AAAA,cACX,mBAAmB,MAAM,CAAA,cAAA,EAAiB,YAAA,CAAa,IAAA,CAAK,IAAI,CAAC,CAAA;AAAA,aACrE;AACA,YAAA;AAAA,UACJ;AAEA,UAAA,MAAM,UAAA,GAAa,CAAA,EAAG,KAAA,CAAM,KAAA,CAAM,GAAG,CAAC,CAAC,CAAA,CAAA,EAAI,KAAA,CAAM,KAAA,CAAM,CAAA,EAAG,EAAE,CAAC,IAAI,KAAA,CAAM,KAAA,CAAM,EAAA,EAAI,EAAE,CAAC,CAAA,CAAA,EAAI,KAAA,CAAM,KAAA,CAAM,IAAI,EAAE,CAAC,CAAA,CAAA,EAAI,KAAA,CAAM,KAAA,CAAM,EAAA,EAAI,EAAE,CAAC,GAAG,WAAA,EAAY;AACjJ,UAAA,MAAM,MAAA,GAAS,UAAA,CAAW,UAAA,EAAY,MAAM,CAAA;AAE5C,UAAA,OAAA,CAAQ,MAAA,CAAO,QAAQ,MAAM,CAAA;AAE7B,UAAA,IAAI,QAAQ,IAAA,CAAK,MAAM,KAAK,OAAA,CAAQ,IAAA,CAAK,GAAG,CAAA,EAAG;AAC3C,YAAA,MAAM,OAAA,CAAQ,SAAA,CAAU,KAAA,CAAM,MAAM,CAAA;AACpC,YAAA,OAAA,CAAQ,MAAA,CAAO,UAAU,qBAAqB,CAAA;AAAA,UAClD;AAEA,UAAA,OAAA,CAAQ,OAAA,CAAQ,OAAO,MAAM,CAAA;AAAA,QACjC,CAAA;AAAA,QACA,gBAAA,EAAkB,CAAC,OAAA,KAAkC;AACjD,UAAA,MAAM,EAAE,QAAO,GAAI,OAAA;AACnB,UAAA,MAAA,CAAO,QAAQ,0CAA0C,CAAA;AACzD,UAAA,MAAA,CAAO,OAAA,EAAQ;AACf,UAAA,MAAA,CAAO,QAAQ,kBAAW,CAAA;AAC1B,UAAA,MAAA,CAAO,OAAA;AAAA,YACH,KAAK,MAAA,CAAO,WAAA,CAAY,gCAAA,EAAkCA,0BAAA,CAAmB,IAAI,CAAC,CAAA;AAAA,WACtF;AACA,UAAA,MAAA,CAAO,OAAA;AAAA,YACH,KAAK,MAAA,CAAO,WAAA,CAAY,6BAAA,EAA+BA,0BAAA,CAAmB,IAAI,CAAC,CAAA;AAAA,WACnF;AACA,UAAA,MAAA,CAAO,OAAA,EAAQ;AACf,UAAA,MAAA,CAAO,OAAA;AAAA,YACH,CAAA,SAAA,EAAY,OAAO,WAAA,CAAY,YAAA,CAAa,KAAK,IAAI,CAAA,EAAGA,0BAAA,CAAmB,MAAM,CAAC,CAAA;AAAA,WACtF;AACA,UAAA,MAAA,CAAO,OAAA,EAAQ;AACf,UAAA,MAAA,CAAO,QAAQ,qBAAc,CAAA;AAC7B,UAAA,MAAA,CAAO,OAAA;AAAA,YACH,CAAA,8DAAA;AAAA,WACJ;AACA,UAAA,MAAA,CAAO,OAAA;AAAA,YACH,KAAK,MAAA,CAAO,WAAA,CAAY,+CAAA,EAA4CA,0BAAA,CAAmB,KAAK,CAAC,CAAA;AAAA,WACjG;AAAA,QACJ;AAAA,OACJ;AAAA;AAAA,MAGA;AAAA,QACI,OAAA,EAAS,SAAA;AAAA,QACT,OAAA,EAAS,CAAC,MAAA,EAAQ,OAAO,CAAA;AAAA,QACzB,WAAA,EAAa,wCAAA;AAAA,QACb,eAAA,EAAiB,IAAA;AAAA,QACjB,aAAA,EAAe,IAAA;AAAA,QACf,cAAA,EAAgB,OACZ,OAAA,EACA,OAAA,KACC;AACD,UAAA,MAAM,QAAQ,OAAA,CAAQ,KAAA;AACtB,UAAA,MAAM,EAAE,QAAO,GAAI,OAAA;AAEnB,UAAA,IAAI,CAAC,eAAA,CAAgB,KAAK,CAAA,EAAG;AACzB,YAAA,MAAA,CAAO,UAAA,CAAW,CAAA,cAAA,EAAiB,KAAK,CAAA,CAAE,CAAA;AAC1C,YAAA;AAAA,UACJ;AAEA,UAAA,MAAM,OAAA,GAAU,kBAAkB,KAAK,CAAA;AACvC,UAAA,MAAM,QAAQ,KAAA,KAAU,QAAA;AACxB,UAAA,MAAM,KAAA,GAAQ,MAAM,WAAA,EAAY;AAChC,UAAA,MAAM,cAAc,QAAA,CAAS,KAAA,CAAM,MAAA,CAAO,EAAE,GAAG,EAAE,CAAA;AAEjD,UAAA,IAAI,OAAA;AACJ,UAAA,IAAA,CAAK,WAAA,GAAc,OAAS,CAAA,EAAG;AAC3B,YAAA,OAAA,GAAU,gBAAA;AAAA,UACd,CAAA,MAAA,IAAA,CAAY,WAAA,GAAc,EAAA,MAAS,CAAA,EAAK;AACpC,YAAA,OAAA,GAAU,UAAA;AAAA,UACd,CAAA,MAAA,IAAA,CAAY,WAAA,GAAc,EAAA,MAAS,EAAA,EAAK;AACpC,YAAA,OAAA,GAAU,sBAAA;AAAA,UACd,CAAA,MAAO;AACH,YAAA,OAAA,GAAU,mBAAA;AAAA,UACd;AAEA,UAAA,MAAA,CAAO,OAAA;AAAA,YACH,MAAA,CAAO,WAAA;AAAA,cACH,wCAAA;AAAA,cACAA,0BAAA,CAAmB;AAAA;AACvB,WACJ;AACA,UAAA,MAAA,CAAO,OAAA,EAAQ;AACf,UAAA,MAAA,CAAO,OAAA;AAAA,YACH,CAAA,EAAA,EAAK,OAAO,WAAA,CAAY,QAAA,EAAUA,2BAAmB,MAAM,CAAC,QAAQ,KAAK,CAAA;AAAA,WAC7E;AACA,UAAA,MAAA,CAAO,OAAA;AAAA,YACH,CAAA,EAAA,EAAK,MAAA,CAAO,WAAA,CAAY,UAAA,EAAYA,2BAAmB,MAAM,CAAC,CAAA,GAAA,EAAM,KAAA,GAAQ,QAAQ,OAAA,KAAY,IAAA,GAAO,CAAA,CAAA,EAAI,OAAO,KAAK,SAAS,CAAA;AAAA,WACpI;AACA,UAAA,MAAA,CAAO,OAAA;AAAA,YACH,CAAA,EAAA,EAAK,OAAO,WAAA,CAAY,UAAA,EAAYA,2BAAmB,MAAM,CAAC,MAAM,OAAO,CAAA;AAAA,WAC/E;AACA,UAAA,MAAA,CAAO,OAAA,EAAQ;AACf,UAAA,MAAA,CAAO,OAAA;AAAA,YACH,KAAK,MAAA,CAAO,WAAA,CAAY,UAAA,EAAYA,0BAAA,CAAmB,MAAM,CAAC,CAAA;AAAA,WAClE;AAEA,UAAA,KAAA,MAAW,OAAO,YAAA,EAAc;AAC5B,YAAA,MAAM,SAAA,GAAY,UAAA,CAAW,KAAA,EAAO,GAAG,CAAA;AACvC,YAAA,MAAA,CAAO,OAAA;AAAA,cACH,CAAA,IAAA,EAAO,MAAA,CAAO,WAAA,CAAY,GAAA,CAAI,MAAA,CAAO,EAAE,CAAA,EAAGA,0BAAA,CAAmB,IAAI,CAAC,CAAA,CAAA,EAAI,SAAS,CAAA;AAAA,aACnF;AAAA,UACJ;AAEA,UAAA,OAAA,CAAQ,QAAQ,MAAA,CAAO;AAAA,YACnB,KAAA;AAAA,YACA,OAAA;AAAA,YACA,OAAA;AAAA,YACA,KAAA;AAAA,YACA,SAAS,MAAA,CAAO,WAAA;AAAA,cACZ,YAAA,CAAa,GAAA,CAAI,CAAC,GAAA,KAAQ;AAAA,gBACtB,GAAA;AAAA,gBACA,UAAA,CAAW,OAAO,GAAG;AAAA,eACxB;AAAA;AACL,WACH,CAAA;AAAA,QACL,CAAA;AAAA,QACA,gBAAA,EAAkB,CAAC,OAAA,KAAkC;AACjD,UAAA,MAAM,EAAE,QAAO,GAAI,OAAA;AACnB,UAAA,MAAA,CAAO,OAAA;AAAA,YACH;AAAA,WACJ;AACA,UAAA,MAAA,CAAO,OAAA,EAAQ;AACf,UAAA,MAAA,CAAO,QAAQ,kBAAW,CAAA;AAC1B,UAAA,MAAA,CAAO,OAAA;AAAA,YACH,KAAK,MAAA,CAAO,WAAA,CAAY,qBAAA,EAAuBA,0BAAA,CAAmB,IAAI,CAAC,CAAA;AAAA,WAC3E;AAAA,QACJ;AAAA,OACJ;AAAA;AAAA,MAGA;AAAA,QACI,OAAA,EAAS,KAAA;AAAA,QACT,OAAA,EAAS,CAAC,OAAA,EAAS,MAAM,CAAA;AAAA,QACzB,WAAA,EAAa,iCAAA;AAAA,QACb,UAAA,EAAY;AAAA,UACR;AAAA,YACI,IAAA,EAAM,MAAA;AAAA,YACN,OAAA,EAAS,CAAC,GAAG,CAAA;AAAA,YACb,WAAA,EAAa,mBAAA;AAAA,YACb,QAAA,EAAU,KAAA;AAAA,YACV,IAAA,EAAM;AAAA;AACV,SACJ;AAAA,QACA,cAAA,EAAgB,OACZ,CAAA,EACA,OAAA,KACC;AACD,UAAA,OAAA,CAAQ,MAAA,CAAO,QAAQ,QAAQ,CAAA;AAE/B,UAAA,IAAI,EAAE,IAAA,CAAK,MAAM,KAAK,CAAA,CAAE,IAAA,CAAK,GAAG,CAAA,EAAG;AAC/B,YAAA,MAAM,OAAA,CAAQ,SAAA,CAAU,KAAA,CAAM,QAAQ,CAAA;AACtC,YAAA,OAAA,CAAQ,MAAA,CAAO,UAAU,qBAAqB,CAAA;AAAA,UAClD;AAEA,UAAA,OAAA,CAAQ,OAAA,CAAQ,OAAO,QAAQ,CAAA;AAAA,QACnC;AAAA,OACJ;AAAA;AAAA,MAGA;AAAA,QACI,OAAA,EAAS,SAAA;AAAA,QACT,OAAA,EAAS,CAAC,IAAA,EAAM,QAAQ,CAAA;AAAA,QACxB,WAAA,EAAa,wDAAA;AAAA,QACb,eAAA,EAAiB,IAAA;AAAA,QACjB,cAAA,EAAgB,OACZ,OAAA,EACA,OAAA,KACC;AACD,UAAA,MAAM,GAAA,GAAA,CAAO,OAAA,CAAQ,KAAA,IAAS,EAAA,EAAI,IAAA,EAAK;AACvC,UAAA,MAAM,KAAA,GAAQ,GAAA,CAAI,KAAA,CAAM,KAAK,CAAA;AAE7B,UAAA,IAAI,KAAA,CAAM,WAAW,CAAA,EAAG;AACpB,YAAA,OAAA,CAAQ,MAAA,CAAO,UAAA;AAAA,cACX;AAAA,aACJ;AACA,YAAA,OAAA,CAAQ,OAAO,OAAA,EAAQ;AACvB,YAAA,OAAA,CAAQ,MAAA,CAAO,OAAA;AAAA,cACX,YAAY,OAAA,CAAQ,MAAA,CAAO,YAAY,8BAAA,EAAgCA,0BAAA,CAAmB,IAAI,CAAC,CAAA;AAAA,aACnG;AACA,YAAA;AAAA,UACJ;AAEA,UAAA,MAAM,CAAC,CAAA,EAAG,CAAC,CAAA,GAAI,KAAA;AACf,UAAA,MAAM,SAAS,CAAA,CAAE,OAAA,CAAQ,mBAAA,EAAqB,EAAE,EAAE,WAAA,EAAY;AAC9D,UAAA,MAAM,SAAS,CAAA,CAAE,OAAA,CAAQ,mBAAA,EAAqB,EAAE,EAAE,WAAA,EAAY;AAE9D,UAAA,IACI,CAAC,iBAAiB,IAAA,CAAK,MAAM,KAC7B,CAAC,gBAAA,CAAiB,IAAA,CAAK,MAAM,CAAA,EAC/B;AACE,YAAA,OAAA,CAAQ,MAAA,CAAO,UAAA;AAAA,cACX;AAAA,aACJ;AACA,YAAA;AAAA,UACJ;AAEA,UAAA,MAAM,QAAQ,MAAA,KAAW,MAAA;AAEzB,UAAA,IAAI,KAAA,EAAO;AACP,YAAA,OAAA,CAAQ,MAAA,CAAO,aAAa,qBAAqB,CAAA;AAAA,UACrD,CAAA,MAAO;AACH,YAAA,OAAA,CAAQ,MAAA,CAAO,WAAW,yBAAyB,CAAA;AAAA,UACvD;AAEA,UAAA,OAAA,CAAQ,QAAQ,MAAA,CAAO,EAAE,KAAA,EAAO,CAAA,EAAG,GAAG,CAAA;AAAA,QAC1C,CAAA;AAAA,QACA,gBAAA,EAAkB,CAAC,OAAA,KAAkC;AACjD,UAAA,MAAM,EAAE,QAAO,GAAI,OAAA;AACnB,UAAA,MAAA,CAAO,OAAA;AAAA,YACH;AAAA,WACJ;AACA,UAAA,MAAA,CAAO,OAAA,EAAQ;AACf,UAAA,MAAA,CAAO,QAAQ,kBAAW,CAAA;AAC1B,UAAA,MAAA,CAAO,OAAA;AAAA,YACH,KAAK,MAAA,CAAO,WAAA,CAAY,8BAAA,EAAgCA,0BAAA,CAAmB,IAAI,CAAC,CAAA;AAAA,WACpF;AACA,UAAA,MAAA,CAAO,OAAA,EAAQ;AACf,UAAA,MAAA,CAAO,QAAQ,qBAAc,CAAA;AAC7B,UAAA,MAAA,CAAO,OAAA;AAAA,YACH,CAAA,wFAAA;AAAA,WACJ;AACA,UAAA,MAAA,CAAO,OAAA;AAAA,YACH,KAAK,MAAA,CAAO,WAAA,CAAY,4BAAA,EAAyBA,0BAAA,CAAmB,KAAK,CAAC,CAAA;AAAA,WAC9E;AAAA,QACJ;AAAA;AACJ,KACJ;AAAA,EACJ;AAAA,EAEA,MAAM,cAAA,CACF,OAAA,EACA,OAAA,EACa;AACb,IAAA,MAAM,OAAA,CAAQ,QAAA,CAAS,QAAA,CAAS,OAAA,EAAS,OAAO,CAAA;AAAA,EACpD;AAAA,EAEA,iBAAiB,OAAA,EAAqC;AAClD,IAAA,MAAM,EAAE,QAAO,GAAI,OAAA;AACnB,IAAA,MAAA,CAAO,OAAA,CAAQ,KAAK,WAAW,CAAA;AAC/B,IAAA,MAAA,CAAO,OAAA,EAAQ;AACf,IAAA,MAAA,CAAO,QAAQ,qBAAc,CAAA;AAC7B,IAAA,MAAA,CAAO,OAAA;AAAA,MACH,KAAK,MAAA,CAAO,WAAA,CAAY,UAAA,EAAYA,0BAAA,CAAmB,IAAI,CAAC,CAAA,yCAAA;AAAA,KAChE;AACA,IAAA,MAAA,CAAO,OAAA;AAAA,MACH,KAAK,MAAA,CAAO,WAAA,CAAY,sBAAA,EAAwBA,0BAAA,CAAmB,IAAI,CAAC,CAAA,0CAAA;AAAA,KAC5E;AACA,IAAA,MAAA,CAAO,OAAA;AAAA,MACH,KAAK,MAAA,CAAO,WAAA,CAAY,+BAAA,EAAiCA,0BAAA,CAAmB,IAAI,CAAC,CAAA,oBAAA;AAAA,KACrF;AACA,IAAA,MAAA,CAAO,OAAA;AAAA,MACH,KAAK,MAAA,CAAO,WAAA,CAAY,qBAAA,EAAuBA,0BAAA,CAAmB,IAAI,CAAC,CAAA,kCAAA;AAAA,KAC3E;AACA,IAAA,MAAA,CAAO,OAAA;AAAA,MACH,KAAK,MAAA,CAAO,WAAA,CAAY,sBAAA,EAAwBA,0BAAA,CAAmB,IAAI,CAAC,CAAA,gCAAA;AAAA,KAC5E;AACA,IAAA,MAAA,CAAO,OAAA;AAAA,MACH,KAAK,MAAA,CAAO,WAAA,CAAY,UAAA,EAAYA,0BAAA,CAAmB,IAAI,CAAC,CAAA,0CAAA;AAAA,KAChE;AACA,IAAA,MAAA,CAAO,OAAA,EAAQ;AACf,IAAA,MAAA,CAAO,QAAQ,qBAAc,CAAA;AAC7B,IAAA,MAAA,CAAO,OAAA;AAAA,MACH,sDAAsD,MAAA,CAAO,WAAA,CAAY,mBAAA,EAAqBA,0BAAA,CAAmB,KAAK,CAAC,CAAA;AAAA,KAC3H;AACA,IAAA,MAAA,CAAO,OAAA;AAAA,MACH,sDAAsD,MAAA,CAAO,WAAA,CAAY,gBAAA,EAAkBA,0BAAA,CAAmB,KAAK,CAAC,CAAA;AAAA,KACxH;AACA,IAAA,MAAA,CAAO,OAAA;AAAA,MACH,yDAAyD,MAAA,CAAO,WAAA,CAAY,mBAAA,EAAqBA,0BAAA,CAAmB,KAAK,CAAC,CAAA;AAAA,KAC9H;AACA,IAAA,MAAA,CAAO,OAAA;AAAA,MACH,yDAAyD,MAAA,CAAO,WAAA,CAAY,6BAAA,EAA+BA,0BAAA,CAAmB,KAAK,CAAC,CAAA;AAAA,KACxI;AACA,IAAA,MAAA,CAAO,OAAA;AAAA,MACH,sDAAsD,MAAA,CAAO,WAAA,CAAY,gBAAA,EAAkBA,0BAAA,CAAmB,KAAK,CAAC,CAAA;AAAA,KACxH;AAAA,EACJ;AACJ;;;ACviBO,IAAM,UAAA,GAAyB;AAAA,EAClC,UAAA,EAAY,WAAA;AAAA,EACZ,IAAA,EAAM,mBAAA;AAAA,EACN,UAAA,EAAY,CAAC,IAAI,uBAAA,EAAyB,CAAA;AAAA,EAC1C,YAAA,EAAc;AAAA,IACV,EAAA,EAAI,EAAE,sBAAA,EAAwB,kDAAA,EAAmD;AAAA,IACjF,EAAA,EAAI,EAAE,sBAAA,EAAwB,yDAAA,EAAoD;AAAA,IAClF,EAAA,EAAI,EAAE,sBAAA,EAAwB,2DAAA,EAA4D;AAAA,IAC1F,EAAA,EAAI,EAAE,sBAAA,EAAwB,8CAAA,EAA+C;AAAA,IAC7E,EAAA,EAAI,EAAE,sBAAA,EAAwB,mDAAA,EAAoD;AAAA,IAClF,EAAA,EAAI,EAAE,sBAAA,EAAwB,sGAAA,EAAuB;AAAA,IACrD,EAAA,EAAI,EAAE,sBAAA,EAAwB,mEAAA,EAAuB;AAAA,IACrD,EAAA,EAAI,EAAE,sBAAA,EAAwB,+EAAA,EAAoB;AAAA,IAClD,EAAA,EAAI,EAAE,sBAAA,EAAwB,iPAAA,EAAoD;AAAA,IAClF,EAAA,EAAI,EAAE,sBAAA,EAAwB,2DAAA;AAAuD;AAE7F","file":"public-api.js","sourcesContent":["/**\n * Generates a v4 UUID using crypto.getRandomValues when available,\n * falling back to Math.random.\n */\nexport const generateGUID = (): string => {\n if (typeof crypto !== 'undefined' && crypto.getRandomValues) {\n const bytes = new Uint8Array(16);\n crypto.getRandomValues(bytes);\n bytes[6] = (bytes[6] & 0x0f) | 0x40; // version 4\n bytes[8] = (bytes[8] & 0x3f) | 0x80; // variant 10\n const hex = Array.from(bytes, (b) =>\n b.toString(16).padStart(2, '0'),\n ).join('');\n return [\n hex.slice(0, 8),\n hex.slice(8, 12),\n hex.slice(12, 16),\n hex.slice(16, 20),\n hex.slice(20, 32),\n ].join('-');\n }\n\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (char) => {\n const random = (Math.random() * 16) | 0;\n const value = char === 'x' ? random : (random & 0x3) | 0x8;\n return value.toString(16);\n });\n};\n\n/**\n * Validates a UUID v4 string.\n */\nexport const validateGUID = (guid: string): boolean => {\n const guidRegex =\n /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/;\n return guidRegex.test(guid);\n};\n\n/**\n * Validates any UUID version (v1-v5, nil).\n */\nexport const validateAnyGUID = (guid: string): boolean => {\n const guidRegex =\n /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/;\n return guidRegex.test(guid);\n};\n\n/** The nil UUID (all zeros). */\nexport const NIL_GUID = '00000000-0000-0000-0000-000000000000';\n\n/**\n * Detects the version of a UUID string.\n * Returns the version number (1-5) or 0 for nil, or null if invalid.\n */\nexport const detectGUIDVersion = (guid: string): number | null => {\n if (!validateAnyGUID(guid)) {\n return null;\n }\n if (guid === NIL_GUID) {\n return 0;\n }\n const versionChar = guid.charAt(14);\n const version = parseInt(versionChar, 16);\n return version >= 1 && version <= 5 ? version : null;\n};\n\nexport type GuidFormat = 'default' | 'uppercase' | 'braces' | 'parentheses' | 'digits' | 'urn';\n\n/**\n * Formats a UUID string into different representations.\n */\nexport const formatGUID = (guid: string, format: GuidFormat): string => {\n const clean = guid.replace(/[-{}() ]/g, '').toLowerCase();\n const d = `${clean.slice(0, 8)}-${clean.slice(8, 12)}-${clean.slice(12, 16)}-${clean.slice(16, 20)}-${clean.slice(20, 32)}`;\n\n switch (format) {\n case 'uppercase':\n return d.toUpperCase();\n case 'braces':\n return `{${d}}`;\n case 'parentheses':\n return `(${d})`;\n case 'digits':\n return clean;\n case 'urn':\n return `urn:uuid:${d}`;\n case 'default':\n default:\n return d;\n }\n};\n","\n// Automatically generated during build\nexport const LIBRARY_VERSION = '2.0.0-beta.9';\nexport const API_VERSION = 2;\n ","import {\n CliForegroundColor,\n CliProcessCommand,\n CliProcessorMetadata,\n DefaultLibraryAuthor,\n ICliCommandProcessor,\n ICliConfigurationOption,\n ICliExecutionContext,\n getPluginConfigValue,\n} from '@qodalis/cli-core';\nimport {\n generateGUID,\n validateGUID,\n validateAnyGUID,\n detectGUIDVersion,\n formatGUID,\n NIL_GUID,\n GuidFormat,\n} from '../utilities';\nimport { LIBRARY_VERSION } from '../version';\n\nconst GUID_FORMATS: GuidFormat[] = [\n 'default',\n 'uppercase',\n 'braces',\n 'parentheses',\n 'digits',\n 'urn',\n];\n\nexport class CliGuidCommandProcessor implements ICliCommandProcessor {\n command = 'guid';\n\n aliases = ['uuid'];\n\n description = 'Generate, validate, format, and inspect UUIDs';\n\n author = DefaultLibraryAuthor;\n\n version = LIBRARY_VERSION;\n\n processors?: ICliCommandProcessor[] = [];\n\n metadata?: CliProcessorMetadata = {\n icon: '🆔',\n module: 'guid',\n };\n\n configurationOptions?: ICliConfigurationOption[] = [\n {\n key: 'defaultFormat',\n label: 'Default Format',\n description: 'Default output format for generated UUIDs',\n type: 'select',\n defaultValue: 'default',\n options: GUID_FORMATS.map((f) => ({ label: f, value: f })),\n },\n {\n key: 'autoCopy',\n label: 'Auto-Copy to Clipboard',\n description: 'Automatically copy generated UUIDs to clipboard',\n type: 'boolean',\n defaultValue: false,\n },\n ];\n\n constructor() {\n this.processors = [\n // --- new ---\n {\n command: 'new',\n aliases: ['gen', 'generate'],\n description: 'Generate one or more UUIDs',\n parameters: [\n {\n name: 'copy',\n aliases: ['c'],\n description: 'Copy the result to the clipboard',\n required: false,\n type: 'boolean',\n },\n {\n name: 'count',\n aliases: ['n'],\n description: 'Number of UUIDs to generate',\n defaultValue: '1',\n required: false,\n type: 'number',\n },\n {\n name: 'format',\n aliases: ['f'],\n description: `Output format: ${GUID_FORMATS.join(', ')}`,\n defaultValue: 'default',\n required: false,\n type: 'string',\n },\n ],\n processCommand: async (\n command: CliProcessCommand,\n context: ICliExecutionContext,\n ) => {\n const count = command.args['count']\n ? parseInt(command.args['count'])\n : 1;\n\n if (isNaN(count) || count < 1 || count > 1000) {\n context.writer.writeError(\n 'Count must be a number between 1 and 1000',\n );\n return;\n }\n\n const cfgFormat = getPluginConfigValue(context, 'guid', 'defaultFormat', 'default');\n const cfgAutoCopy = getPluginConfigValue(context, 'guid', 'autoCopy', false);\n\n const format = (command.args['format'] ||\n cfgFormat) as GuidFormat;\n\n if (!GUID_FORMATS.includes(format)) {\n context.writer.writeError(\n `Unknown format \"${format}\". Available: ${GUID_FORMATS.join(', ')}`,\n );\n return;\n }\n\n const copyToClipboard =\n command.args['copy'] != null ? !!command.args['copy']\n : command.args['c'] != null ? !!command.args['c']\n : cfgAutoCopy;\n\n const items: string[] = [];\n\n for (let i = 0; i < count; i++) {\n const guid = formatGUID(generateGUID(), format);\n context.writer.writeln(guid);\n items.push(guid);\n }\n\n if (copyToClipboard) {\n await context.clipboard.write(items.join('\\n'));\n context.writer.writeInfo(\n items.length === 1\n ? 'Copied to clipboard'\n : `${items.length} UUIDs copied to clipboard`,\n );\n }\n\n context.process.output(\n items.length === 1 ? items[0] : items,\n );\n },\n writeDescription: (context: ICliExecutionContext) => {\n const { writer } = context;\n writer.writeln('Generate one or more UUIDs (v4)');\n writer.writeln();\n writer.writeln('📋 Usage:');\n writer.writeln(\n ` ${writer.wrapInColor('guid new', CliForegroundColor.Cyan)} Generate a single UUID`,\n );\n writer.writeln(\n ` ${writer.wrapInColor('guid new --count=5', CliForegroundColor.Cyan)} Generate 5 UUIDs`,\n );\n writer.writeln(\n ` ${writer.wrapInColor('guid new --copy', CliForegroundColor.Cyan)} Generate and copy`,\n );\n writer.writeln(\n ` ${writer.wrapInColor('guid new --format=uppercase', CliForegroundColor.Cyan)} Uppercase output`,\n );\n writer.writeln(\n ` ${writer.wrapInColor('guid new --format=braces', CliForegroundColor.Cyan)} {wrapped} format`,\n );\n writer.writeln();\n writer.writeln(\n `Formats: ${writer.wrapInColor(GUID_FORMATS.join(', '), CliForegroundColor.Yellow)}`,\n );\n },\n },\n\n // --- validate ---\n {\n command: 'validate',\n aliases: ['check'],\n description: 'Validate a UUID string',\n acceptsRawInput: true,\n valueRequired: true,\n parameters: [\n {\n name: 'strict',\n description:\n 'Only accept v4 UUIDs (default: accept any version)',\n required: false,\n type: 'boolean',\n },\n ],\n processCommand: async (\n command: CliProcessCommand,\n context: ICliExecutionContext,\n ) => {\n const input = command.value!;\n const strict = command.args['strict'];\n const isValid = strict\n ? validateGUID(input)\n : validateAnyGUID(input);\n\n if (isValid) {\n const version = detectGUIDVersion(input);\n const versionLabel =\n version === 0\n ? 'nil'\n : version\n ? `v${version}`\n : 'unknown version';\n context.writer.writeSuccess(\n `Valid UUID (${versionLabel})`,\n );\n context.process.output({ valid: true, version });\n } else {\n context.writer.writeError(\n `Invalid UUID: ${input}`,\n );\n context.process.output({\n valid: false,\n version: null,\n });\n }\n },\n writeDescription: (context: ICliExecutionContext) => {\n const { writer } = context;\n writer.writeln('Validate a UUID string and detect its version');\n writer.writeln();\n writer.writeln('📋 Usage:');\n writer.writeln(\n ` ${writer.wrapInColor('guid validate <uuid>', CliForegroundColor.Cyan)} Check any UUID`,\n );\n writer.writeln(\n ` ${writer.wrapInColor('guid validate <uuid> --strict', CliForegroundColor.Cyan)} Only accept v4`,\n );\n },\n },\n\n // --- format ---\n {\n command: 'format',\n aliases: ['fmt'],\n description: 'Convert a UUID to a different format',\n acceptsRawInput: true,\n valueRequired: true,\n parameters: [\n {\n name: 'to',\n aliases: ['t'],\n description: `Target format: ${GUID_FORMATS.join(', ')}`,\n defaultValue: 'default',\n required: false,\n type: 'string',\n },\n {\n name: 'copy',\n aliases: ['c'],\n description: 'Copy the result to the clipboard',\n required: false,\n type: 'boolean',\n },\n ],\n processCommand: async (\n command: CliProcessCommand,\n context: ICliExecutionContext,\n ) => {\n const input = command.value!;\n\n const clean = input.replace(/[-{}()urn:uuid ]/g, '');\n if (!/^[0-9a-fA-F]{32}$/.test(clean)) {\n context.writer.writeError(\n `Cannot parse as UUID: ${input}`,\n );\n return;\n }\n\n const format = (command.args['to'] ||\n 'default') as GuidFormat;\n\n if (!GUID_FORMATS.includes(format)) {\n context.writer.writeError(\n `Unknown format \"${format}\". Available: ${GUID_FORMATS.join(', ')}`,\n );\n return;\n }\n\n const normalized = `${clean.slice(0, 8)}-${clean.slice(8, 12)}-${clean.slice(12, 16)}-${clean.slice(16, 20)}-${clean.slice(20, 32)}`.toLowerCase();\n const result = formatGUID(normalized, format);\n\n context.writer.writeln(result);\n\n if (command.args['copy'] || command.args['c']) {\n await context.clipboard.write(result);\n context.writer.writeInfo('Copied to clipboard');\n }\n\n context.process.output(result);\n },\n writeDescription: (context: ICliExecutionContext) => {\n const { writer } = context;\n writer.writeln('Convert a UUID between different formats');\n writer.writeln();\n writer.writeln('📋 Usage:');\n writer.writeln(\n ` ${writer.wrapInColor('guid format <uuid> --to=braces', CliForegroundColor.Cyan)}`,\n );\n writer.writeln(\n ` ${writer.wrapInColor('guid format <uuid> --to=urn', CliForegroundColor.Cyan)}`,\n );\n writer.writeln();\n writer.writeln(\n `Formats: ${writer.wrapInColor(GUID_FORMATS.join(', '), CliForegroundColor.Yellow)}`,\n );\n writer.writeln();\n writer.writeln('📝 Examples:');\n writer.writeln(\n ` guid format 550e8400-e29b-41d4-a716-446655440000 --to=braces`,\n );\n writer.writeln(\n ` ${writer.wrapInColor('→ {550e8400-e29b-41d4-a716-446655440000}', CliForegroundColor.Green)}`,\n );\n },\n },\n\n // --- inspect ---\n {\n command: 'inspect',\n aliases: ['info', 'parse'],\n description: 'Show detailed information about a UUID',\n acceptsRawInput: true,\n valueRequired: true,\n processCommand: async (\n command: CliProcessCommand,\n context: ICliExecutionContext,\n ) => {\n const input = command.value!;\n const { writer } = context;\n\n if (!validateAnyGUID(input)) {\n writer.writeError(`Invalid UUID: ${input}`);\n return;\n }\n\n const version = detectGUIDVersion(input);\n const isNil = input === NIL_GUID;\n const lower = input.toLowerCase();\n const variantBits = parseInt(lower.charAt(19), 16);\n\n let variant: string;\n if ((variantBits & 0x8) === 0) {\n variant = 'NCS (reserved)';\n } else if ((variantBits & 0xc) === 0x8) {\n variant = 'RFC 4122';\n } else if ((variantBits & 0xe) === 0xc) {\n variant = 'Microsoft (reserved)';\n } else {\n variant = 'Future (reserved)';\n }\n\n writer.writeln(\n writer.wrapInColor(\n '── UUID Details ──',\n CliForegroundColor.Cyan,\n ),\n );\n writer.writeln();\n writer.writeln(\n ` ${writer.wrapInColor('Input:', CliForegroundColor.Yellow)} ${input}`,\n );\n writer.writeln(\n ` ${writer.wrapInColor('Version:', CliForegroundColor.Yellow)} ${isNil ? 'nil' : version !== null ? `v${version}` : 'unknown'}`,\n );\n writer.writeln(\n ` ${writer.wrapInColor('Variant:', CliForegroundColor.Yellow)} ${variant}`,\n );\n writer.writeln();\n writer.writeln(\n ` ${writer.wrapInColor('Formats:', CliForegroundColor.Yellow)}`,\n );\n\n for (const fmt of GUID_FORMATS) {\n const formatted = formatGUID(lower, fmt);\n writer.writeln(\n ` ${writer.wrapInColor(fmt.padEnd(14), CliForegroundColor.Cyan)} ${formatted}`,\n );\n }\n\n context.process.output({\n input,\n version,\n variant,\n isNil,\n formats: Object.fromEntries(\n GUID_FORMATS.map((fmt) => [\n fmt,\n formatGUID(lower, fmt),\n ]),\n ),\n });\n },\n writeDescription: (context: ICliExecutionContext) => {\n const { writer } = context;\n writer.writeln(\n 'Display version, variant, and all format representations of a UUID',\n );\n writer.writeln();\n writer.writeln('📋 Usage:');\n writer.writeln(\n ` ${writer.wrapInColor('guid inspect <uuid>', CliForegroundColor.Cyan)}`,\n );\n },\n },\n\n // --- nil ---\n {\n command: 'nil',\n aliases: ['empty', 'zero'],\n description: 'Output the nil UUID (all zeros)',\n parameters: [\n {\n name: 'copy',\n aliases: ['c'],\n description: 'Copy to clipboard',\n required: false,\n type: 'boolean',\n },\n ],\n processCommand: async (\n _: CliProcessCommand,\n context: ICliExecutionContext,\n ) => {\n context.writer.writeln(NIL_GUID);\n\n if (_.args['copy'] || _.args['c']) {\n await context.clipboard.write(NIL_GUID);\n context.writer.writeInfo('Copied to clipboard');\n }\n\n context.process.output(NIL_GUID);\n },\n },\n\n // --- compare ---\n {\n command: 'compare',\n aliases: ['eq', 'equals'],\n description: 'Check if two UUIDs are equal (case/format insensitive)',\n acceptsRawInput: true,\n processCommand: async (\n command: CliProcessCommand,\n context: ICliExecutionContext,\n ) => {\n const raw = (command.value || '').trim();\n const parts = raw.split(/\\s+/);\n\n if (parts.length !== 2) {\n context.writer.writeError(\n 'Provide exactly two UUIDs to compare',\n );\n context.writer.writeln();\n context.writer.writeln(\n ` Usage: ${context.writer.wrapInColor('guid compare <uuid1> <uuid2>', CliForegroundColor.Cyan)}`,\n );\n return;\n }\n\n const [a, b] = parts;\n const cleanA = a.replace(/[-{}()urn:uuid ]/g, '').toLowerCase();\n const cleanB = b.replace(/[-{}()urn:uuid ]/g, '').toLowerCase();\n\n if (\n !/^[0-9a-f]{32}$/.test(cleanA) ||\n !/^[0-9a-f]{32}$/.test(cleanB)\n ) {\n context.writer.writeError(\n 'One or both inputs are not valid UUIDs',\n );\n return;\n }\n\n const equal = cleanA === cleanB;\n\n if (equal) {\n context.writer.writeSuccess('The UUIDs are equal');\n } else {\n context.writer.writeError('The UUIDs are different');\n }\n\n context.process.output({ equal, a, b });\n },\n writeDescription: (context: ICliExecutionContext) => {\n const { writer } = context;\n writer.writeln(\n 'Compare two UUIDs for equality regardless of case or format',\n );\n writer.writeln();\n writer.writeln('📋 Usage:');\n writer.writeln(\n ` ${writer.wrapInColor('guid compare <uuid1> <uuid2>', CliForegroundColor.Cyan)}`,\n );\n writer.writeln();\n writer.writeln('📝 Examples:');\n writer.writeln(\n ` guid compare 550e8400-e29b-41d4-a716-446655440000 550E8400-E29B-41D4-A716-446655440000`,\n );\n writer.writeln(\n ` ${writer.wrapInColor('→ The UUIDs are equal', CliForegroundColor.Green)}`,\n );\n },\n },\n ];\n }\n\n async processCommand(\n command: CliProcessCommand,\n context: ICliExecutionContext,\n ): Promise<void> {\n await context.executor.showHelp(command, context);\n }\n\n writeDescription(context: ICliExecutionContext): void {\n const { writer } = context;\n writer.writeln(this.description);\n writer.writeln();\n writer.writeln('📋 Commands:');\n writer.writeln(\n ` ${writer.wrapInColor('guid new', CliForegroundColor.Cyan)} Generate UUIDs`,\n );\n writer.writeln(\n ` ${writer.wrapInColor('guid validate <uuid>', CliForegroundColor.Cyan)} Validate and detect version`,\n );\n writer.writeln(\n ` ${writer.wrapInColor('guid format <uuid> --to=<fmt>', CliForegroundColor.Cyan)} Convert format`,\n );\n writer.writeln(\n ` ${writer.wrapInColor('guid inspect <uuid>', CliForegroundColor.Cyan)} Show detailed info`,\n );\n writer.writeln(\n ` ${writer.wrapInColor('guid compare <a> <b>', CliForegroundColor.Cyan)} Compare two UUIDs`,\n );\n writer.writeln(\n ` ${writer.wrapInColor('guid nil', CliForegroundColor.Cyan)} Output nil UUID`,\n );\n writer.writeln();\n writer.writeln('📝 Examples:');\n writer.writeln(\n ` guid new --count=5 --copy ${writer.wrapInColor('# 5 UUIDs, copied', CliForegroundColor.Green)}`,\n );\n writer.writeln(\n ` guid new --format=uppercase ${writer.wrapInColor('# A1B2C3D4-...', CliForegroundColor.Green)}`,\n );\n writer.writeln(\n ` guid validate 550e8400-e29b-41d4-a716-446655440000 ${writer.wrapInColor('# Valid UUID (v4)', CliForegroundColor.Green)}`,\n );\n writer.writeln(\n ` guid inspect 550e8400-e29b-41d4-a716-446655440000 ${writer.wrapInColor('# Version, variant, formats', CliForegroundColor.Green)}`,\n );\n writer.writeln(\n ` guid format <uuid> --to=urn ${writer.wrapInColor('# urn:uuid:...', CliForegroundColor.Green)}`,\n );\n }\n}\n","/*\n * Public API Surface of guid\n */\n\nexport * from './lib/utilities';\nexport type { GuidFormat } from './lib/utilities';\n\nexport * from './lib/processors/cli-guid-command-processor';\n\nimport { ICliModule } from '@qodalis/cli-core';\nimport { CliGuidCommandProcessor } from './lib/processors/cli-guid-command-processor';\nimport { API_VERSION } from './lib/version';\n\nexport const guidModule: ICliModule = {\n apiVersion: API_VERSION,\n name: '@qodalis/cli-guid',\n processors: [new CliGuidCommandProcessor()],\n translations: {\n es: { 'cli.guid.description': 'Generar, validar, formatear e inspeccionar UUIDs' },\n fr: { 'cli.guid.description': 'Générer, valider, formater et inspecter des UUIDs' },\n de: { 'cli.guid.description': 'UUIDs generieren, validieren, formatieren und inspizieren' },\n pt: { 'cli.guid.description': 'Gerar, validar, formatar e inspecionar UUIDs' },\n it: { 'cli.guid.description': 'Generare, validare, formattare e ispezionare UUID' },\n ja: { 'cli.guid.description': 'UUIDの生成、検証、フォーマット、検査' },\n ko: { 'cli.guid.description': 'UUID 생성, 검증, 포맷 및 검사' },\n zh: { 'cli.guid.description': '生成、验证、格式化和检查 UUID' },\n ru: { 'cli.guid.description': 'Генерация, проверка, форматирование и анализ UUID' },\n ro: { 'cli.guid.description': 'Generare, validare, formatare și inspectare UUID-uri' },\n },\n};\n"]}
package/public-api.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { DefaultLibraryAuthor, CliForegroundColor } from '@qodalis/cli-core';
1
+ import { DefaultLibraryAuthor, CliForegroundColor, getPluginConfigValue } from '@qodalis/cli-core';
2
2
 
3
3
  // src/lib/utilities/index.ts
4
4
  var generateGUID = () => {
@@ -66,7 +66,7 @@ var formatGUID = (guid, format) => {
66
66
  };
67
67
 
68
68
  // src/lib/version.ts
69
- var LIBRARY_VERSION = "2.0.0-beta.8";
69
+ var LIBRARY_VERSION = "2.0.0-beta.9";
70
70
  var API_VERSION = 2;
71
71
 
72
72
  // src/lib/processors/cli-guid-command-processor.ts
@@ -90,6 +90,23 @@ var CliGuidCommandProcessor = class {
90
90
  icon: "\u{1F194}",
91
91
  module: "guid"
92
92
  };
93
+ this.configurationOptions = [
94
+ {
95
+ key: "defaultFormat",
96
+ label: "Default Format",
97
+ description: "Default output format for generated UUIDs",
98
+ type: "select",
99
+ defaultValue: "default",
100
+ options: GUID_FORMATS.map((f) => ({ label: f, value: f }))
101
+ },
102
+ {
103
+ key: "autoCopy",
104
+ label: "Auto-Copy to Clipboard",
105
+ description: "Automatically copy generated UUIDs to clipboard",
106
+ type: "boolean",
107
+ defaultValue: false
108
+ }
109
+ ];
93
110
  this.processors = [
94
111
  // --- new ---
95
112
  {
@@ -129,14 +146,16 @@ var CliGuidCommandProcessor = class {
129
146
  );
130
147
  return;
131
148
  }
132
- const format = command.args["format"] || "default";
149
+ const cfgFormat = getPluginConfigValue(context, "guid", "defaultFormat", "default");
150
+ const cfgAutoCopy = getPluginConfigValue(context, "guid", "autoCopy", false);
151
+ const format = command.args["format"] || cfgFormat;
133
152
  if (!GUID_FORMATS.includes(format)) {
134
153
  context.writer.writeError(
135
154
  `Unknown format "${format}". Available: ${GUID_FORMATS.join(", ")}`
136
155
  );
137
156
  return;
138
157
  }
139
- const copyToClipboard = command.args["copy"] || command.args["c"];
158
+ const copyToClipboard = command.args["copy"] != null ? !!command.args["copy"] : command.args["c"] != null ? !!command.args["c"] : cfgAutoCopy;
140
159
  const items = [];
141
160
  for (let i = 0; i < count; i++) {
142
161
  const guid = formatGUID(generateGUID(), format);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../packages/plugins/guid/src/lib/utilities/index.ts","../../packages/plugins/guid/src/lib/version.ts","../../packages/plugins/guid/src/lib/processors/cli-guid-command-processor.ts","../../packages/plugins/guid/src/public-api.ts"],"names":[],"mappings":"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","file":"public-api.mjs","sourcesContent":["/**\n * Generates a v4 UUID using crypto.getRandomValues when available,\n * falling back to Math.random.\n */\nexport const generateGUID = (): string => {\n if (typeof crypto !== 'undefined' && crypto.getRandomValues) {\n const bytes = new Uint8Array(16);\n crypto.getRandomValues(bytes);\n bytes[6] = (bytes[6] & 0x0f) | 0x40; // version 4\n bytes[8] = (bytes[8] & 0x3f) | 0x80; // variant 10\n const hex = Array.from(bytes, (b) =>\n b.toString(16).padStart(2, '0'),\n ).join('');\n return [\n hex.slice(0, 8),\n hex.slice(8, 12),\n hex.slice(12, 16),\n hex.slice(16, 20),\n hex.slice(20, 32),\n ].join('-');\n }\n\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (char) => {\n const random = (Math.random() * 16) | 0;\n const value = char === 'x' ? random : (random & 0x3) | 0x8;\n return value.toString(16);\n });\n};\n\n/**\n * Validates a UUID v4 string.\n */\nexport const validateGUID = (guid: string): boolean => {\n const guidRegex =\n /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/;\n return guidRegex.test(guid);\n};\n\n/**\n * Validates any UUID version (v1-v5, nil).\n */\nexport const validateAnyGUID = (guid: string): boolean => {\n const guidRegex =\n /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/;\n return guidRegex.test(guid);\n};\n\n/** The nil UUID (all zeros). */\nexport const NIL_GUID = '00000000-0000-0000-0000-000000000000';\n\n/**\n * Detects the version of a UUID string.\n * Returns the version number (1-5) or 0 for nil, or null if invalid.\n */\nexport const detectGUIDVersion = (guid: string): number | null => {\n if (!validateAnyGUID(guid)) {\n return null;\n }\n if (guid === NIL_GUID) {\n return 0;\n }\n const versionChar = guid.charAt(14);\n const version = parseInt(versionChar, 16);\n return version >= 1 && version <= 5 ? version : null;\n};\n\nexport type GuidFormat = 'default' | 'uppercase' | 'braces' | 'parentheses' | 'digits' | 'urn';\n\n/**\n * Formats a UUID string into different representations.\n */\nexport const formatGUID = (guid: string, format: GuidFormat): string => {\n const clean = guid.replace(/[-{}() ]/g, '').toLowerCase();\n const d = `${clean.slice(0, 8)}-${clean.slice(8, 12)}-${clean.slice(12, 16)}-${clean.slice(16, 20)}-${clean.slice(20, 32)}`;\n\n switch (format) {\n case 'uppercase':\n return d.toUpperCase();\n case 'braces':\n return `{${d}}`;\n case 'parentheses':\n return `(${d})`;\n case 'digits':\n return clean;\n case 'urn':\n return `urn:uuid:${d}`;\n case 'default':\n default:\n return d;\n }\n};\n","\n// Automatically generated during build\nexport const LIBRARY_VERSION = '2.0.0-beta.8';\nexport const API_VERSION = 2;\n ","import {\n CliForegroundColor,\n CliProcessCommand,\n CliProcessorMetadata,\n DefaultLibraryAuthor,\n ICliCommandProcessor,\n ICliExecutionContext,\n} from '@qodalis/cli-core';\nimport {\n generateGUID,\n validateGUID,\n validateAnyGUID,\n detectGUIDVersion,\n formatGUID,\n NIL_GUID,\n GuidFormat,\n} from '../utilities';\nimport { LIBRARY_VERSION } from '../version';\n\nconst GUID_FORMATS: GuidFormat[] = [\n 'default',\n 'uppercase',\n 'braces',\n 'parentheses',\n 'digits',\n 'urn',\n];\n\nexport class CliGuidCommandProcessor implements ICliCommandProcessor {\n command = 'guid';\n\n aliases = ['uuid'];\n\n description = 'Generate, validate, format, and inspect UUIDs';\n\n author = DefaultLibraryAuthor;\n\n version = LIBRARY_VERSION;\n\n processors?: ICliCommandProcessor[] = [];\n\n metadata?: CliProcessorMetadata = {\n icon: '🆔',\n module: 'guid',\n };\n\n constructor() {\n this.processors = [\n // --- new ---\n {\n command: 'new',\n aliases: ['gen', 'generate'],\n description: 'Generate one or more UUIDs',\n parameters: [\n {\n name: 'copy',\n aliases: ['c'],\n description: 'Copy the result to the clipboard',\n required: false,\n type: 'boolean',\n },\n {\n name: 'count',\n aliases: ['n'],\n description: 'Number of UUIDs to generate',\n defaultValue: '1',\n required: false,\n type: 'number',\n },\n {\n name: 'format',\n aliases: ['f'],\n description: `Output format: ${GUID_FORMATS.join(', ')}`,\n defaultValue: 'default',\n required: false,\n type: 'string',\n },\n ],\n processCommand: async (\n command: CliProcessCommand,\n context: ICliExecutionContext,\n ) => {\n const count = command.args['count']\n ? parseInt(command.args['count'])\n : 1;\n\n if (isNaN(count) || count < 1 || count > 1000) {\n context.writer.writeError(\n 'Count must be a number between 1 and 1000',\n );\n return;\n }\n\n const format = (command.args['format'] ||\n 'default') as GuidFormat;\n\n if (!GUID_FORMATS.includes(format)) {\n context.writer.writeError(\n `Unknown format \"${format}\". Available: ${GUID_FORMATS.join(', ')}`,\n );\n return;\n }\n\n const copyToClipboard =\n command.args['copy'] || command.args['c'];\n\n const items: string[] = [];\n\n for (let i = 0; i < count; i++) {\n const guid = formatGUID(generateGUID(), format);\n context.writer.writeln(guid);\n items.push(guid);\n }\n\n if (copyToClipboard) {\n await context.clipboard.write(items.join('\\n'));\n context.writer.writeInfo(\n items.length === 1\n ? 'Copied to clipboard'\n : `${items.length} UUIDs copied to clipboard`,\n );\n }\n\n context.process.output(\n items.length === 1 ? items[0] : items,\n );\n },\n writeDescription: (context: ICliExecutionContext) => {\n const { writer } = context;\n writer.writeln('Generate one or more UUIDs (v4)');\n writer.writeln();\n writer.writeln('📋 Usage:');\n writer.writeln(\n ` ${writer.wrapInColor('guid new', CliForegroundColor.Cyan)} Generate a single UUID`,\n );\n writer.writeln(\n ` ${writer.wrapInColor('guid new --count=5', CliForegroundColor.Cyan)} Generate 5 UUIDs`,\n );\n writer.writeln(\n ` ${writer.wrapInColor('guid new --copy', CliForegroundColor.Cyan)} Generate and copy`,\n );\n writer.writeln(\n ` ${writer.wrapInColor('guid new --format=uppercase', CliForegroundColor.Cyan)} Uppercase output`,\n );\n writer.writeln(\n ` ${writer.wrapInColor('guid new --format=braces', CliForegroundColor.Cyan)} {wrapped} format`,\n );\n writer.writeln();\n writer.writeln(\n `Formats: ${writer.wrapInColor(GUID_FORMATS.join(', '), CliForegroundColor.Yellow)}`,\n );\n },\n },\n\n // --- validate ---\n {\n command: 'validate',\n aliases: ['check'],\n description: 'Validate a UUID string',\n acceptsRawInput: true,\n valueRequired: true,\n parameters: [\n {\n name: 'strict',\n description:\n 'Only accept v4 UUIDs (default: accept any version)',\n required: false,\n type: 'boolean',\n },\n ],\n processCommand: async (\n command: CliProcessCommand,\n context: ICliExecutionContext,\n ) => {\n const input = command.value!;\n const strict = command.args['strict'];\n const isValid = strict\n ? validateGUID(input)\n : validateAnyGUID(input);\n\n if (isValid) {\n const version = detectGUIDVersion(input);\n const versionLabel =\n version === 0\n ? 'nil'\n : version\n ? `v${version}`\n : 'unknown version';\n context.writer.writeSuccess(\n `Valid UUID (${versionLabel})`,\n );\n context.process.output({ valid: true, version });\n } else {\n context.writer.writeError(\n `Invalid UUID: ${input}`,\n );\n context.process.output({\n valid: false,\n version: null,\n });\n }\n },\n writeDescription: (context: ICliExecutionContext) => {\n const { writer } = context;\n writer.writeln('Validate a UUID string and detect its version');\n writer.writeln();\n writer.writeln('📋 Usage:');\n writer.writeln(\n ` ${writer.wrapInColor('guid validate <uuid>', CliForegroundColor.Cyan)} Check any UUID`,\n );\n writer.writeln(\n ` ${writer.wrapInColor('guid validate <uuid> --strict', CliForegroundColor.Cyan)} Only accept v4`,\n );\n },\n },\n\n // --- format ---\n {\n command: 'format',\n aliases: ['fmt'],\n description: 'Convert a UUID to a different format',\n acceptsRawInput: true,\n valueRequired: true,\n parameters: [\n {\n name: 'to',\n aliases: ['t'],\n description: `Target format: ${GUID_FORMATS.join(', ')}`,\n defaultValue: 'default',\n required: false,\n type: 'string',\n },\n {\n name: 'copy',\n aliases: ['c'],\n description: 'Copy the result to the clipboard',\n required: false,\n type: 'boolean',\n },\n ],\n processCommand: async (\n command: CliProcessCommand,\n context: ICliExecutionContext,\n ) => {\n const input = command.value!;\n\n const clean = input.replace(/[-{}()urn:uuid ]/g, '');\n if (!/^[0-9a-fA-F]{32}$/.test(clean)) {\n context.writer.writeError(\n `Cannot parse as UUID: ${input}`,\n );\n return;\n }\n\n const format = (command.args['to'] ||\n 'default') as GuidFormat;\n\n if (!GUID_FORMATS.includes(format)) {\n context.writer.writeError(\n `Unknown format \"${format}\". Available: ${GUID_FORMATS.join(', ')}`,\n );\n return;\n }\n\n const normalized = `${clean.slice(0, 8)}-${clean.slice(8, 12)}-${clean.slice(12, 16)}-${clean.slice(16, 20)}-${clean.slice(20, 32)}`.toLowerCase();\n const result = formatGUID(normalized, format);\n\n context.writer.writeln(result);\n\n if (command.args['copy'] || command.args['c']) {\n await context.clipboard.write(result);\n context.writer.writeInfo('Copied to clipboard');\n }\n\n context.process.output(result);\n },\n writeDescription: (context: ICliExecutionContext) => {\n const { writer } = context;\n writer.writeln('Convert a UUID between different formats');\n writer.writeln();\n writer.writeln('📋 Usage:');\n writer.writeln(\n ` ${writer.wrapInColor('guid format <uuid> --to=braces', CliForegroundColor.Cyan)}`,\n );\n writer.writeln(\n ` ${writer.wrapInColor('guid format <uuid> --to=urn', CliForegroundColor.Cyan)}`,\n );\n writer.writeln();\n writer.writeln(\n `Formats: ${writer.wrapInColor(GUID_FORMATS.join(', '), CliForegroundColor.Yellow)}`,\n );\n writer.writeln();\n writer.writeln('📝 Examples:');\n writer.writeln(\n ` guid format 550e8400-e29b-41d4-a716-446655440000 --to=braces`,\n );\n writer.writeln(\n ` ${writer.wrapInColor('→ {550e8400-e29b-41d4-a716-446655440000}', CliForegroundColor.Green)}`,\n );\n },\n },\n\n // --- inspect ---\n {\n command: 'inspect',\n aliases: ['info', 'parse'],\n description: 'Show detailed information about a UUID',\n acceptsRawInput: true,\n valueRequired: true,\n processCommand: async (\n command: CliProcessCommand,\n context: ICliExecutionContext,\n ) => {\n const input = command.value!;\n const { writer } = context;\n\n if (!validateAnyGUID(input)) {\n writer.writeError(`Invalid UUID: ${input}`);\n return;\n }\n\n const version = detectGUIDVersion(input);\n const isNil = input === NIL_GUID;\n const lower = input.toLowerCase();\n const variantBits = parseInt(lower.charAt(19), 16);\n\n let variant: string;\n if ((variantBits & 0x8) === 0) {\n variant = 'NCS (reserved)';\n } else if ((variantBits & 0xc) === 0x8) {\n variant = 'RFC 4122';\n } else if ((variantBits & 0xe) === 0xc) {\n variant = 'Microsoft (reserved)';\n } else {\n variant = 'Future (reserved)';\n }\n\n writer.writeln(\n writer.wrapInColor(\n '── UUID Details ──',\n CliForegroundColor.Cyan,\n ),\n );\n writer.writeln();\n writer.writeln(\n ` ${writer.wrapInColor('Input:', CliForegroundColor.Yellow)} ${input}`,\n );\n writer.writeln(\n ` ${writer.wrapInColor('Version:', CliForegroundColor.Yellow)} ${isNil ? 'nil' : version !== null ? `v${version}` : 'unknown'}`,\n );\n writer.writeln(\n ` ${writer.wrapInColor('Variant:', CliForegroundColor.Yellow)} ${variant}`,\n );\n writer.writeln();\n writer.writeln(\n ` ${writer.wrapInColor('Formats:', CliForegroundColor.Yellow)}`,\n );\n\n for (const fmt of GUID_FORMATS) {\n const formatted = formatGUID(lower, fmt);\n writer.writeln(\n ` ${writer.wrapInColor(fmt.padEnd(14), CliForegroundColor.Cyan)} ${formatted}`,\n );\n }\n\n context.process.output({\n input,\n version,\n variant,\n isNil,\n formats: Object.fromEntries(\n GUID_FORMATS.map((fmt) => [\n fmt,\n formatGUID(lower, fmt),\n ]),\n ),\n });\n },\n writeDescription: (context: ICliExecutionContext) => {\n const { writer } = context;\n writer.writeln(\n 'Display version, variant, and all format representations of a UUID',\n );\n writer.writeln();\n writer.writeln('📋 Usage:');\n writer.writeln(\n ` ${writer.wrapInColor('guid inspect <uuid>', CliForegroundColor.Cyan)}`,\n );\n },\n },\n\n // --- nil ---\n {\n command: 'nil',\n aliases: ['empty', 'zero'],\n description: 'Output the nil UUID (all zeros)',\n parameters: [\n {\n name: 'copy',\n aliases: ['c'],\n description: 'Copy to clipboard',\n required: false,\n type: 'boolean',\n },\n ],\n processCommand: async (\n _: CliProcessCommand,\n context: ICliExecutionContext,\n ) => {\n context.writer.writeln(NIL_GUID);\n\n if (_.args['copy'] || _.args['c']) {\n await context.clipboard.write(NIL_GUID);\n context.writer.writeInfo('Copied to clipboard');\n }\n\n context.process.output(NIL_GUID);\n },\n },\n\n // --- compare ---\n {\n command: 'compare',\n aliases: ['eq', 'equals'],\n description: 'Check if two UUIDs are equal (case/format insensitive)',\n acceptsRawInput: true,\n processCommand: async (\n command: CliProcessCommand,\n context: ICliExecutionContext,\n ) => {\n const raw = (command.value || '').trim();\n const parts = raw.split(/\\s+/);\n\n if (parts.length !== 2) {\n context.writer.writeError(\n 'Provide exactly two UUIDs to compare',\n );\n context.writer.writeln();\n context.writer.writeln(\n ` Usage: ${context.writer.wrapInColor('guid compare <uuid1> <uuid2>', CliForegroundColor.Cyan)}`,\n );\n return;\n }\n\n const [a, b] = parts;\n const cleanA = a.replace(/[-{}()urn:uuid ]/g, '').toLowerCase();\n const cleanB = b.replace(/[-{}()urn:uuid ]/g, '').toLowerCase();\n\n if (\n !/^[0-9a-f]{32}$/.test(cleanA) ||\n !/^[0-9a-f]{32}$/.test(cleanB)\n ) {\n context.writer.writeError(\n 'One or both inputs are not valid UUIDs',\n );\n return;\n }\n\n const equal = cleanA === cleanB;\n\n if (equal) {\n context.writer.writeSuccess('The UUIDs are equal');\n } else {\n context.writer.writeError('The UUIDs are different');\n }\n\n context.process.output({ equal, a, b });\n },\n writeDescription: (context: ICliExecutionContext) => {\n const { writer } = context;\n writer.writeln(\n 'Compare two UUIDs for equality regardless of case or format',\n );\n writer.writeln();\n writer.writeln('📋 Usage:');\n writer.writeln(\n ` ${writer.wrapInColor('guid compare <uuid1> <uuid2>', CliForegroundColor.Cyan)}`,\n );\n writer.writeln();\n writer.writeln('📝 Examples:');\n writer.writeln(\n ` guid compare 550e8400-e29b-41d4-a716-446655440000 550E8400-E29B-41D4-A716-446655440000`,\n );\n writer.writeln(\n ` ${writer.wrapInColor('→ The UUIDs are equal', CliForegroundColor.Green)}`,\n );\n },\n },\n ];\n }\n\n async processCommand(\n command: CliProcessCommand,\n context: ICliExecutionContext,\n ): Promise<void> {\n await context.executor.showHelp(command, context);\n }\n\n writeDescription(context: ICliExecutionContext): void {\n const { writer } = context;\n writer.writeln(this.description);\n writer.writeln();\n writer.writeln('📋 Commands:');\n writer.writeln(\n ` ${writer.wrapInColor('guid new', CliForegroundColor.Cyan)} Generate UUIDs`,\n );\n writer.writeln(\n ` ${writer.wrapInColor('guid validate <uuid>', CliForegroundColor.Cyan)} Validate and detect version`,\n );\n writer.writeln(\n ` ${writer.wrapInColor('guid format <uuid> --to=<fmt>', CliForegroundColor.Cyan)} Convert format`,\n );\n writer.writeln(\n ` ${writer.wrapInColor('guid inspect <uuid>', CliForegroundColor.Cyan)} Show detailed info`,\n );\n writer.writeln(\n ` ${writer.wrapInColor('guid compare <a> <b>', CliForegroundColor.Cyan)} Compare two UUIDs`,\n );\n writer.writeln(\n ` ${writer.wrapInColor('guid nil', CliForegroundColor.Cyan)} Output nil UUID`,\n );\n writer.writeln();\n writer.writeln('📝 Examples:');\n writer.writeln(\n ` guid new --count=5 --copy ${writer.wrapInColor('# 5 UUIDs, copied', CliForegroundColor.Green)}`,\n );\n writer.writeln(\n ` guid new --format=uppercase ${writer.wrapInColor('# A1B2C3D4-...', CliForegroundColor.Green)}`,\n );\n writer.writeln(\n ` guid validate 550e8400-e29b-41d4-a716-446655440000 ${writer.wrapInColor('# Valid UUID (v4)', CliForegroundColor.Green)}`,\n );\n writer.writeln(\n ` guid inspect 550e8400-e29b-41d4-a716-446655440000 ${writer.wrapInColor('# Version, variant, formats', CliForegroundColor.Green)}`,\n );\n writer.writeln(\n ` guid format <uuid> --to=urn ${writer.wrapInColor('# urn:uuid:...', CliForegroundColor.Green)}`,\n );\n }\n}\n","/*\n * Public API Surface of guid\n */\n\nexport * from './lib/utilities';\nexport type { GuidFormat } from './lib/utilities';\n\nexport * from './lib/processors/cli-guid-command-processor';\n\nimport { ICliModule } from '@qodalis/cli-core';\nimport { CliGuidCommandProcessor } from './lib/processors/cli-guid-command-processor';\nimport { API_VERSION } from './lib/version';\n\nexport const guidModule: ICliModule = {\n apiVersion: API_VERSION,\n name: '@qodalis/cli-guid',\n processors: [new CliGuidCommandProcessor()],\n translations: {\n es: { 'cli.guid.description': 'Generar, validar, formatear e inspeccionar UUIDs' },\n fr: { 'cli.guid.description': 'Générer, valider, formater et inspecter des UUIDs' },\n de: { 'cli.guid.description': 'UUIDs generieren, validieren, formatieren und inspizieren' },\n pt: { 'cli.guid.description': 'Gerar, validar, formatar e inspecionar UUIDs' },\n it: { 'cli.guid.description': 'Generare, validare, formattare e ispezionare UUID' },\n ja: { 'cli.guid.description': 'UUIDの生成、検証、フォーマット、検査' },\n ko: { 'cli.guid.description': 'UUID 생성, 검증, 포맷 및 검사' },\n zh: { 'cli.guid.description': '生成、验证、格式化和检查 UUID' },\n ru: { 'cli.guid.description': 'Генерация, проверка, форматирование и анализ UUID' },\n ro: { 'cli.guid.description': 'Generare, validare, formatare și inspectare UUID-uri' },\n },\n};\n"]}
1
+ {"version":3,"sources":["../../packages/plugins/guid/src/lib/utilities/index.ts","../../packages/plugins/guid/src/lib/version.ts","../../packages/plugins/guid/src/lib/processors/cli-guid-command-processor.ts","../../packages/plugins/guid/src/public-api.ts"],"names":[],"mappings":"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","file":"public-api.mjs","sourcesContent":["/**\n * Generates a v4 UUID using crypto.getRandomValues when available,\n * falling back to Math.random.\n */\nexport const generateGUID = (): string => {\n if (typeof crypto !== 'undefined' && crypto.getRandomValues) {\n const bytes = new Uint8Array(16);\n crypto.getRandomValues(bytes);\n bytes[6] = (bytes[6] & 0x0f) | 0x40; // version 4\n bytes[8] = (bytes[8] & 0x3f) | 0x80; // variant 10\n const hex = Array.from(bytes, (b) =>\n b.toString(16).padStart(2, '0'),\n ).join('');\n return [\n hex.slice(0, 8),\n hex.slice(8, 12),\n hex.slice(12, 16),\n hex.slice(16, 20),\n hex.slice(20, 32),\n ].join('-');\n }\n\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (char) => {\n const random = (Math.random() * 16) | 0;\n const value = char === 'x' ? random : (random & 0x3) | 0x8;\n return value.toString(16);\n });\n};\n\n/**\n * Validates a UUID v4 string.\n */\nexport const validateGUID = (guid: string): boolean => {\n const guidRegex =\n /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/;\n return guidRegex.test(guid);\n};\n\n/**\n * Validates any UUID version (v1-v5, nil).\n */\nexport const validateAnyGUID = (guid: string): boolean => {\n const guidRegex =\n /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/;\n return guidRegex.test(guid);\n};\n\n/** The nil UUID (all zeros). */\nexport const NIL_GUID = '00000000-0000-0000-0000-000000000000';\n\n/**\n * Detects the version of a UUID string.\n * Returns the version number (1-5) or 0 for nil, or null if invalid.\n */\nexport const detectGUIDVersion = (guid: string): number | null => {\n if (!validateAnyGUID(guid)) {\n return null;\n }\n if (guid === NIL_GUID) {\n return 0;\n }\n const versionChar = guid.charAt(14);\n const version = parseInt(versionChar, 16);\n return version >= 1 && version <= 5 ? version : null;\n};\n\nexport type GuidFormat = 'default' | 'uppercase' | 'braces' | 'parentheses' | 'digits' | 'urn';\n\n/**\n * Formats a UUID string into different representations.\n */\nexport const formatGUID = (guid: string, format: GuidFormat): string => {\n const clean = guid.replace(/[-{}() ]/g, '').toLowerCase();\n const d = `${clean.slice(0, 8)}-${clean.slice(8, 12)}-${clean.slice(12, 16)}-${clean.slice(16, 20)}-${clean.slice(20, 32)}`;\n\n switch (format) {\n case 'uppercase':\n return d.toUpperCase();\n case 'braces':\n return `{${d}}`;\n case 'parentheses':\n return `(${d})`;\n case 'digits':\n return clean;\n case 'urn':\n return `urn:uuid:${d}`;\n case 'default':\n default:\n return d;\n }\n};\n","\n// Automatically generated during build\nexport const LIBRARY_VERSION = '2.0.0-beta.9';\nexport const API_VERSION = 2;\n ","import {\n CliForegroundColor,\n CliProcessCommand,\n CliProcessorMetadata,\n DefaultLibraryAuthor,\n ICliCommandProcessor,\n ICliConfigurationOption,\n ICliExecutionContext,\n getPluginConfigValue,\n} from '@qodalis/cli-core';\nimport {\n generateGUID,\n validateGUID,\n validateAnyGUID,\n detectGUIDVersion,\n formatGUID,\n NIL_GUID,\n GuidFormat,\n} from '../utilities';\nimport { LIBRARY_VERSION } from '../version';\n\nconst GUID_FORMATS: GuidFormat[] = [\n 'default',\n 'uppercase',\n 'braces',\n 'parentheses',\n 'digits',\n 'urn',\n];\n\nexport class CliGuidCommandProcessor implements ICliCommandProcessor {\n command = 'guid';\n\n aliases = ['uuid'];\n\n description = 'Generate, validate, format, and inspect UUIDs';\n\n author = DefaultLibraryAuthor;\n\n version = LIBRARY_VERSION;\n\n processors?: ICliCommandProcessor[] = [];\n\n metadata?: CliProcessorMetadata = {\n icon: '🆔',\n module: 'guid',\n };\n\n configurationOptions?: ICliConfigurationOption[] = [\n {\n key: 'defaultFormat',\n label: 'Default Format',\n description: 'Default output format for generated UUIDs',\n type: 'select',\n defaultValue: 'default',\n options: GUID_FORMATS.map((f) => ({ label: f, value: f })),\n },\n {\n key: 'autoCopy',\n label: 'Auto-Copy to Clipboard',\n description: 'Automatically copy generated UUIDs to clipboard',\n type: 'boolean',\n defaultValue: false,\n },\n ];\n\n constructor() {\n this.processors = [\n // --- new ---\n {\n command: 'new',\n aliases: ['gen', 'generate'],\n description: 'Generate one or more UUIDs',\n parameters: [\n {\n name: 'copy',\n aliases: ['c'],\n description: 'Copy the result to the clipboard',\n required: false,\n type: 'boolean',\n },\n {\n name: 'count',\n aliases: ['n'],\n description: 'Number of UUIDs to generate',\n defaultValue: '1',\n required: false,\n type: 'number',\n },\n {\n name: 'format',\n aliases: ['f'],\n description: `Output format: ${GUID_FORMATS.join(', ')}`,\n defaultValue: 'default',\n required: false,\n type: 'string',\n },\n ],\n processCommand: async (\n command: CliProcessCommand,\n context: ICliExecutionContext,\n ) => {\n const count = command.args['count']\n ? parseInt(command.args['count'])\n : 1;\n\n if (isNaN(count) || count < 1 || count > 1000) {\n context.writer.writeError(\n 'Count must be a number between 1 and 1000',\n );\n return;\n }\n\n const cfgFormat = getPluginConfigValue(context, 'guid', 'defaultFormat', 'default');\n const cfgAutoCopy = getPluginConfigValue(context, 'guid', 'autoCopy', false);\n\n const format = (command.args['format'] ||\n cfgFormat) as GuidFormat;\n\n if (!GUID_FORMATS.includes(format)) {\n context.writer.writeError(\n `Unknown format \"${format}\". Available: ${GUID_FORMATS.join(', ')}`,\n );\n return;\n }\n\n const copyToClipboard =\n command.args['copy'] != null ? !!command.args['copy']\n : command.args['c'] != null ? !!command.args['c']\n : cfgAutoCopy;\n\n const items: string[] = [];\n\n for (let i = 0; i < count; i++) {\n const guid = formatGUID(generateGUID(), format);\n context.writer.writeln(guid);\n items.push(guid);\n }\n\n if (copyToClipboard) {\n await context.clipboard.write(items.join('\\n'));\n context.writer.writeInfo(\n items.length === 1\n ? 'Copied to clipboard'\n : `${items.length} UUIDs copied to clipboard`,\n );\n }\n\n context.process.output(\n items.length === 1 ? items[0] : items,\n );\n },\n writeDescription: (context: ICliExecutionContext) => {\n const { writer } = context;\n writer.writeln('Generate one or more UUIDs (v4)');\n writer.writeln();\n writer.writeln('📋 Usage:');\n writer.writeln(\n ` ${writer.wrapInColor('guid new', CliForegroundColor.Cyan)} Generate a single UUID`,\n );\n writer.writeln(\n ` ${writer.wrapInColor('guid new --count=5', CliForegroundColor.Cyan)} Generate 5 UUIDs`,\n );\n writer.writeln(\n ` ${writer.wrapInColor('guid new --copy', CliForegroundColor.Cyan)} Generate and copy`,\n );\n writer.writeln(\n ` ${writer.wrapInColor('guid new --format=uppercase', CliForegroundColor.Cyan)} Uppercase output`,\n );\n writer.writeln(\n ` ${writer.wrapInColor('guid new --format=braces', CliForegroundColor.Cyan)} {wrapped} format`,\n );\n writer.writeln();\n writer.writeln(\n `Formats: ${writer.wrapInColor(GUID_FORMATS.join(', '), CliForegroundColor.Yellow)}`,\n );\n },\n },\n\n // --- validate ---\n {\n command: 'validate',\n aliases: ['check'],\n description: 'Validate a UUID string',\n acceptsRawInput: true,\n valueRequired: true,\n parameters: [\n {\n name: 'strict',\n description:\n 'Only accept v4 UUIDs (default: accept any version)',\n required: false,\n type: 'boolean',\n },\n ],\n processCommand: async (\n command: CliProcessCommand,\n context: ICliExecutionContext,\n ) => {\n const input = command.value!;\n const strict = command.args['strict'];\n const isValid = strict\n ? validateGUID(input)\n : validateAnyGUID(input);\n\n if (isValid) {\n const version = detectGUIDVersion(input);\n const versionLabel =\n version === 0\n ? 'nil'\n : version\n ? `v${version}`\n : 'unknown version';\n context.writer.writeSuccess(\n `Valid UUID (${versionLabel})`,\n );\n context.process.output({ valid: true, version });\n } else {\n context.writer.writeError(\n `Invalid UUID: ${input}`,\n );\n context.process.output({\n valid: false,\n version: null,\n });\n }\n },\n writeDescription: (context: ICliExecutionContext) => {\n const { writer } = context;\n writer.writeln('Validate a UUID string and detect its version');\n writer.writeln();\n writer.writeln('📋 Usage:');\n writer.writeln(\n ` ${writer.wrapInColor('guid validate <uuid>', CliForegroundColor.Cyan)} Check any UUID`,\n );\n writer.writeln(\n ` ${writer.wrapInColor('guid validate <uuid> --strict', CliForegroundColor.Cyan)} Only accept v4`,\n );\n },\n },\n\n // --- format ---\n {\n command: 'format',\n aliases: ['fmt'],\n description: 'Convert a UUID to a different format',\n acceptsRawInput: true,\n valueRequired: true,\n parameters: [\n {\n name: 'to',\n aliases: ['t'],\n description: `Target format: ${GUID_FORMATS.join(', ')}`,\n defaultValue: 'default',\n required: false,\n type: 'string',\n },\n {\n name: 'copy',\n aliases: ['c'],\n description: 'Copy the result to the clipboard',\n required: false,\n type: 'boolean',\n },\n ],\n processCommand: async (\n command: CliProcessCommand,\n context: ICliExecutionContext,\n ) => {\n const input = command.value!;\n\n const clean = input.replace(/[-{}()urn:uuid ]/g, '');\n if (!/^[0-9a-fA-F]{32}$/.test(clean)) {\n context.writer.writeError(\n `Cannot parse as UUID: ${input}`,\n );\n return;\n }\n\n const format = (command.args['to'] ||\n 'default') as GuidFormat;\n\n if (!GUID_FORMATS.includes(format)) {\n context.writer.writeError(\n `Unknown format \"${format}\". Available: ${GUID_FORMATS.join(', ')}`,\n );\n return;\n }\n\n const normalized = `${clean.slice(0, 8)}-${clean.slice(8, 12)}-${clean.slice(12, 16)}-${clean.slice(16, 20)}-${clean.slice(20, 32)}`.toLowerCase();\n const result = formatGUID(normalized, format);\n\n context.writer.writeln(result);\n\n if (command.args['copy'] || command.args['c']) {\n await context.clipboard.write(result);\n context.writer.writeInfo('Copied to clipboard');\n }\n\n context.process.output(result);\n },\n writeDescription: (context: ICliExecutionContext) => {\n const { writer } = context;\n writer.writeln('Convert a UUID between different formats');\n writer.writeln();\n writer.writeln('📋 Usage:');\n writer.writeln(\n ` ${writer.wrapInColor('guid format <uuid> --to=braces', CliForegroundColor.Cyan)}`,\n );\n writer.writeln(\n ` ${writer.wrapInColor('guid format <uuid> --to=urn', CliForegroundColor.Cyan)}`,\n );\n writer.writeln();\n writer.writeln(\n `Formats: ${writer.wrapInColor(GUID_FORMATS.join(', '), CliForegroundColor.Yellow)}`,\n );\n writer.writeln();\n writer.writeln('📝 Examples:');\n writer.writeln(\n ` guid format 550e8400-e29b-41d4-a716-446655440000 --to=braces`,\n );\n writer.writeln(\n ` ${writer.wrapInColor('→ {550e8400-e29b-41d4-a716-446655440000}', CliForegroundColor.Green)}`,\n );\n },\n },\n\n // --- inspect ---\n {\n command: 'inspect',\n aliases: ['info', 'parse'],\n description: 'Show detailed information about a UUID',\n acceptsRawInput: true,\n valueRequired: true,\n processCommand: async (\n command: CliProcessCommand,\n context: ICliExecutionContext,\n ) => {\n const input = command.value!;\n const { writer } = context;\n\n if (!validateAnyGUID(input)) {\n writer.writeError(`Invalid UUID: ${input}`);\n return;\n }\n\n const version = detectGUIDVersion(input);\n const isNil = input === NIL_GUID;\n const lower = input.toLowerCase();\n const variantBits = parseInt(lower.charAt(19), 16);\n\n let variant: string;\n if ((variantBits & 0x8) === 0) {\n variant = 'NCS (reserved)';\n } else if ((variantBits & 0xc) === 0x8) {\n variant = 'RFC 4122';\n } else if ((variantBits & 0xe) === 0xc) {\n variant = 'Microsoft (reserved)';\n } else {\n variant = 'Future (reserved)';\n }\n\n writer.writeln(\n writer.wrapInColor(\n '── UUID Details ──',\n CliForegroundColor.Cyan,\n ),\n );\n writer.writeln();\n writer.writeln(\n ` ${writer.wrapInColor('Input:', CliForegroundColor.Yellow)} ${input}`,\n );\n writer.writeln(\n ` ${writer.wrapInColor('Version:', CliForegroundColor.Yellow)} ${isNil ? 'nil' : version !== null ? `v${version}` : 'unknown'}`,\n );\n writer.writeln(\n ` ${writer.wrapInColor('Variant:', CliForegroundColor.Yellow)} ${variant}`,\n );\n writer.writeln();\n writer.writeln(\n ` ${writer.wrapInColor('Formats:', CliForegroundColor.Yellow)}`,\n );\n\n for (const fmt of GUID_FORMATS) {\n const formatted = formatGUID(lower, fmt);\n writer.writeln(\n ` ${writer.wrapInColor(fmt.padEnd(14), CliForegroundColor.Cyan)} ${formatted}`,\n );\n }\n\n context.process.output({\n input,\n version,\n variant,\n isNil,\n formats: Object.fromEntries(\n GUID_FORMATS.map((fmt) => [\n fmt,\n formatGUID(lower, fmt),\n ]),\n ),\n });\n },\n writeDescription: (context: ICliExecutionContext) => {\n const { writer } = context;\n writer.writeln(\n 'Display version, variant, and all format representations of a UUID',\n );\n writer.writeln();\n writer.writeln('📋 Usage:');\n writer.writeln(\n ` ${writer.wrapInColor('guid inspect <uuid>', CliForegroundColor.Cyan)}`,\n );\n },\n },\n\n // --- nil ---\n {\n command: 'nil',\n aliases: ['empty', 'zero'],\n description: 'Output the nil UUID (all zeros)',\n parameters: [\n {\n name: 'copy',\n aliases: ['c'],\n description: 'Copy to clipboard',\n required: false,\n type: 'boolean',\n },\n ],\n processCommand: async (\n _: CliProcessCommand,\n context: ICliExecutionContext,\n ) => {\n context.writer.writeln(NIL_GUID);\n\n if (_.args['copy'] || _.args['c']) {\n await context.clipboard.write(NIL_GUID);\n context.writer.writeInfo('Copied to clipboard');\n }\n\n context.process.output(NIL_GUID);\n },\n },\n\n // --- compare ---\n {\n command: 'compare',\n aliases: ['eq', 'equals'],\n description: 'Check if two UUIDs are equal (case/format insensitive)',\n acceptsRawInput: true,\n processCommand: async (\n command: CliProcessCommand,\n context: ICliExecutionContext,\n ) => {\n const raw = (command.value || '').trim();\n const parts = raw.split(/\\s+/);\n\n if (parts.length !== 2) {\n context.writer.writeError(\n 'Provide exactly two UUIDs to compare',\n );\n context.writer.writeln();\n context.writer.writeln(\n ` Usage: ${context.writer.wrapInColor('guid compare <uuid1> <uuid2>', CliForegroundColor.Cyan)}`,\n );\n return;\n }\n\n const [a, b] = parts;\n const cleanA = a.replace(/[-{}()urn:uuid ]/g, '').toLowerCase();\n const cleanB = b.replace(/[-{}()urn:uuid ]/g, '').toLowerCase();\n\n if (\n !/^[0-9a-f]{32}$/.test(cleanA) ||\n !/^[0-9a-f]{32}$/.test(cleanB)\n ) {\n context.writer.writeError(\n 'One or both inputs are not valid UUIDs',\n );\n return;\n }\n\n const equal = cleanA === cleanB;\n\n if (equal) {\n context.writer.writeSuccess('The UUIDs are equal');\n } else {\n context.writer.writeError('The UUIDs are different');\n }\n\n context.process.output({ equal, a, b });\n },\n writeDescription: (context: ICliExecutionContext) => {\n const { writer } = context;\n writer.writeln(\n 'Compare two UUIDs for equality regardless of case or format',\n );\n writer.writeln();\n writer.writeln('📋 Usage:');\n writer.writeln(\n ` ${writer.wrapInColor('guid compare <uuid1> <uuid2>', CliForegroundColor.Cyan)}`,\n );\n writer.writeln();\n writer.writeln('📝 Examples:');\n writer.writeln(\n ` guid compare 550e8400-e29b-41d4-a716-446655440000 550E8400-E29B-41D4-A716-446655440000`,\n );\n writer.writeln(\n ` ${writer.wrapInColor('→ The UUIDs are equal', CliForegroundColor.Green)}`,\n );\n },\n },\n ];\n }\n\n async processCommand(\n command: CliProcessCommand,\n context: ICliExecutionContext,\n ): Promise<void> {\n await context.executor.showHelp(command, context);\n }\n\n writeDescription(context: ICliExecutionContext): void {\n const { writer } = context;\n writer.writeln(this.description);\n writer.writeln();\n writer.writeln('📋 Commands:');\n writer.writeln(\n ` ${writer.wrapInColor('guid new', CliForegroundColor.Cyan)} Generate UUIDs`,\n );\n writer.writeln(\n ` ${writer.wrapInColor('guid validate <uuid>', CliForegroundColor.Cyan)} Validate and detect version`,\n );\n writer.writeln(\n ` ${writer.wrapInColor('guid format <uuid> --to=<fmt>', CliForegroundColor.Cyan)} Convert format`,\n );\n writer.writeln(\n ` ${writer.wrapInColor('guid inspect <uuid>', CliForegroundColor.Cyan)} Show detailed info`,\n );\n writer.writeln(\n ` ${writer.wrapInColor('guid compare <a> <b>', CliForegroundColor.Cyan)} Compare two UUIDs`,\n );\n writer.writeln(\n ` ${writer.wrapInColor('guid nil', CliForegroundColor.Cyan)} Output nil UUID`,\n );\n writer.writeln();\n writer.writeln('📝 Examples:');\n writer.writeln(\n ` guid new --count=5 --copy ${writer.wrapInColor('# 5 UUIDs, copied', CliForegroundColor.Green)}`,\n );\n writer.writeln(\n ` guid new --format=uppercase ${writer.wrapInColor('# A1B2C3D4-...', CliForegroundColor.Green)}`,\n );\n writer.writeln(\n ` guid validate 550e8400-e29b-41d4-a716-446655440000 ${writer.wrapInColor('# Valid UUID (v4)', CliForegroundColor.Green)}`,\n );\n writer.writeln(\n ` guid inspect 550e8400-e29b-41d4-a716-446655440000 ${writer.wrapInColor('# Version, variant, formats', CliForegroundColor.Green)}`,\n );\n writer.writeln(\n ` guid format <uuid> --to=urn ${writer.wrapInColor('# urn:uuid:...', CliForegroundColor.Green)}`,\n );\n }\n}\n","/*\n * Public API Surface of guid\n */\n\nexport * from './lib/utilities';\nexport type { GuidFormat } from './lib/utilities';\n\nexport * from './lib/processors/cli-guid-command-processor';\n\nimport { ICliModule } from '@qodalis/cli-core';\nimport { CliGuidCommandProcessor } from './lib/processors/cli-guid-command-processor';\nimport { API_VERSION } from './lib/version';\n\nexport const guidModule: ICliModule = {\n apiVersion: API_VERSION,\n name: '@qodalis/cli-guid',\n processors: [new CliGuidCommandProcessor()],\n translations: {\n es: { 'cli.guid.description': 'Generar, validar, formatear e inspeccionar UUIDs' },\n fr: { 'cli.guid.description': 'Générer, valider, formater et inspecter des UUIDs' },\n de: { 'cli.guid.description': 'UUIDs generieren, validieren, formatieren und inspizieren' },\n pt: { 'cli.guid.description': 'Gerar, validar, formatar e inspecionar UUIDs' },\n it: { 'cli.guid.description': 'Generare, validare, formattare e ispezionare UUID' },\n ja: { 'cli.guid.description': 'UUIDの生成、検証、フォーマット、検査' },\n ko: { 'cli.guid.description': 'UUID 생성, 검증, 포맷 및 검사' },\n zh: { 'cli.guid.description': '生成、验证、格式化和检查 UUID' },\n ru: { 'cli.guid.description': 'Генерация, проверка, форматирование и анализ UUID' },\n ro: { 'cli.guid.description': 'Generare, validare, formatare și inspectare UUID-uri' },\n },\n};\n"]}
@@ -1837,10 +1837,37 @@ var guid = (() => {
1837
1837
  name: "Nicolae Lupei",
1838
1838
  email: "nicolae.lupei@qodalis.com"
1839
1839
  };
1840
+ var CLI_CONFIGURE_STORE_NAME = "configure";
1841
+ function getConfigValue(state, category, key, defaultValue) {
1842
+ try {
1843
+ const s = state.getState();
1844
+ const bucket = category === "system" ? s?.["system"] : s?.["plugins"]?.[category];
1845
+ if (bucket && key in bucket) {
1846
+ return bucket[key];
1847
+ }
1848
+ } catch {
1849
+ }
1850
+ return defaultValue;
1851
+ }
1852
+ function getPluginConfigValue(context, category, key, defaultValue) {
1853
+ try {
1854
+ const storeManager = context.services.get(
1855
+ "cli-state-store-manager"
1856
+ );
1857
+ if (!storeManager) return defaultValue;
1858
+ const store = storeManager.getStateStore(CLI_CONFIGURE_STORE_NAME);
1859
+ if (!store) return defaultValue;
1860
+ return getConfigValue(store, category, key, defaultValue);
1861
+ } catch {
1862
+ return defaultValue;
1863
+ }
1864
+ }
1840
1865
  var semver = __toESM(require_semver2());
1866
+ var API_VERSION = 2;
1867
+ var VERSIONS_ENDPOINT = "/api/qcli/versions";
1841
1868
  var ServerVersionNegotiator = class {
1842
1869
  static {
1843
- this.CLIENT_SUPPORTED_VERSIONS = [2];
1870
+ this.CLIENT_SUPPORTED_VERSIONS = [API_VERSION];
1844
1871
  }
1845
1872
  /**
1846
1873
  * Given a server's version info, pick the highest mutually compatible version.
@@ -1859,7 +1886,7 @@ var guid = (() => {
1859
1886
  */
1860
1887
  static async discover(baseUrl) {
1861
1888
  try {
1862
- const response = await fetch(`${baseUrl}/api/qcli/versions`);
1889
+ const response = await fetch(`${baseUrl}${VERSIONS_ENDPOINT}`);
1863
1890
  if (!response.ok) return null;
1864
1891
  const info = await response.json();
1865
1892
  const version = this.negotiate(info);
@@ -2756,8 +2783,8 @@ var guid = (() => {
2756
2783
  };
2757
2784
 
2758
2785
  // src/lib/version.ts
2759
- var LIBRARY_VERSION = "2.0.0-beta.8";
2760
- var API_VERSION = 2;
2786
+ var LIBRARY_VERSION = "2.0.0-beta.9";
2787
+ var API_VERSION2 = 2;
2761
2788
 
2762
2789
  // src/lib/processors/cli-guid-command-processor.ts
2763
2790
  var GUID_FORMATS = [
@@ -2780,6 +2807,23 @@ var guid = (() => {
2780
2807
  icon: "\u{1F194}",
2781
2808
  module: "guid"
2782
2809
  };
2810
+ this.configurationOptions = [
2811
+ {
2812
+ key: "defaultFormat",
2813
+ label: "Default Format",
2814
+ description: "Default output format for generated UUIDs",
2815
+ type: "select",
2816
+ defaultValue: "default",
2817
+ options: GUID_FORMATS.map((f) => ({ label: f, value: f }))
2818
+ },
2819
+ {
2820
+ key: "autoCopy",
2821
+ label: "Auto-Copy to Clipboard",
2822
+ description: "Automatically copy generated UUIDs to clipboard",
2823
+ type: "boolean",
2824
+ defaultValue: false
2825
+ }
2826
+ ];
2783
2827
  this.processors = [
2784
2828
  // --- new ---
2785
2829
  {
@@ -2819,14 +2863,16 @@ var guid = (() => {
2819
2863
  );
2820
2864
  return;
2821
2865
  }
2822
- const format = command.args["format"] || "default";
2866
+ const cfgFormat = getPluginConfigValue(context, "guid", "defaultFormat", "default");
2867
+ const cfgAutoCopy = getPluginConfigValue(context, "guid", "autoCopy", false);
2868
+ const format = command.args["format"] || cfgFormat;
2823
2869
  if (!GUID_FORMATS.includes(format)) {
2824
2870
  context.writer.writeError(
2825
2871
  `Unknown format "${format}". Available: ${GUID_FORMATS.join(", ")}`
2826
2872
  );
2827
2873
  return;
2828
2874
  }
2829
- const copyToClipboard = command.args["copy"] || command.args["c"];
2875
+ const copyToClipboard = command.args["copy"] != null ? !!command.args["copy"] : command.args["c"] != null ? !!command.args["c"] : cfgAutoCopy;
2830
2876
  const items = [];
2831
2877
  for (let i = 0; i < count; i++) {
2832
2878
  const guid = formatGUID(generateGUID(), format);
@@ -3200,7 +3246,7 @@ var guid = (() => {
3200
3246
 
3201
3247
  // src/cli-entrypoint.ts
3202
3248
  var module = {
3203
- apiVersion: API_VERSION,
3249
+ apiVersion: API_VERSION2,
3204
3250
  name: "@qodalis/cli-guid",
3205
3251
  processors: [new CliGuidCommandProcessor()]
3206
3252
  };