mycontext-cli 1.0.26 → 1.0.27

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.
Files changed (56) hide show
  1. package/README.md +199 -66
  2. package/dist/agents/implementations/InteractiveAgent.js +1 -1
  3. package/dist/agents/implementations/InteractiveAgent.js.map +1 -1
  4. package/dist/cli.js +18 -66
  5. package/dist/cli.js.map +1 -1
  6. package/dist/commands/agent-flow.d.ts.map +1 -1
  7. package/dist/commands/agent-flow.js +1 -1
  8. package/dist/commands/agent-flow.js.map +1 -1
  9. package/dist/commands/generate-components.d.ts +0 -1
  10. package/dist/commands/generate-components.d.ts.map +1 -1
  11. package/dist/commands/generate-components.js +3 -106
  12. package/dist/commands/generate-components.js.map +1 -1
  13. package/dist/commands/generate.d.ts +0 -2
  14. package/dist/commands/generate.d.ts.map +1 -1
  15. package/dist/commands/generate.js +48 -493
  16. package/dist/commands/generate.js.map +1 -1
  17. package/dist/commands/init.d.ts +0 -2
  18. package/dist/commands/init.d.ts.map +1 -1
  19. package/dist/commands/init.js +0 -102
  20. package/dist/commands/init.js.map +1 -1
  21. package/dist/commands/migrate.d.ts.map +1 -1
  22. package/dist/commands/migrate.js +0 -4
  23. package/dist/commands/migrate.js.map +1 -1
  24. package/dist/commands/update.d.ts +0 -3
  25. package/dist/commands/update.d.ts.map +1 -1
  26. package/dist/commands/update.js +11 -83
  27. package/dist/commands/update.js.map +1 -1
  28. package/dist/config/ai-providers.json +7 -7
  29. package/dist/config/dependencies.json +2 -2
  30. package/dist/utils/fileSystem.d.ts +0 -8
  31. package/dist/utils/fileSystem.d.ts.map +1 -1
  32. package/dist/utils/fileSystem.js +0 -50
  33. package/dist/utils/fileSystem.js.map +1 -1
  34. package/dist/utils/hybridAIClient.js +1 -1
  35. package/dist/utils/hybridAIClient.js.map +1 -1
  36. package/package.json +2 -3
  37. package/dist/commands/clear.d.ts +0 -25
  38. package/dist/commands/clear.d.ts.map +0 -1
  39. package/dist/commands/clear.js +0 -73
  40. package/dist/commands/clear.js.map +0 -1
  41. package/dist/commands/history.d.ts +0 -98
  42. package/dist/commands/history.d.ts.map +0 -1
  43. package/dist/commands/history.js +0 -308
  44. package/dist/commands/history.js.map +0 -1
  45. package/dist/commands/now.d.ts +0 -34
  46. package/dist/commands/now.d.ts.map +0 -1
  47. package/dist/commands/now.js +0 -168
  48. package/dist/commands/now.js.map +0 -1
  49. package/dist/commands/timestamp.d.ts +0 -28
  50. package/dist/commands/timestamp.d.ts.map +0 -1
  51. package/dist/commands/timestamp.js +0 -105
  52. package/dist/commands/timestamp.js.map +0 -1
  53. package/dist/commands/track.d.ts +0 -29
  54. package/dist/commands/track.d.ts.map +0 -1
  55. package/dist/commands/track.js +0 -333
  56. package/dist/commands/track.js.map +0 -1
@@ -1,98 +0,0 @@
1
- import { Command } from "commander";
2
- export interface HistoryOptions {
3
- limit?: number;
4
- search?: string;
5
- clear?: boolean;
6
- format?: string;
7
- ranked?: boolean;
8
- }
9
- export declare class HistoryCommand {
10
- private static readonly HISTORY_FILE;
11
- /**
12
- * Get command history file path
13
- */
14
- static getHistoryPath(): string;
15
- /**
16
- * Ensure history directory exists
17
- */
18
- static ensureHistoryDir(): Promise<void>;
19
- /**
20
- * Load command history
21
- */
22
- static loadHistory(): Promise<Array<{
23
- command: string;
24
- timestamp: string;
25
- cwd: string;
26
- }>>;
27
- /**
28
- * Save command to history
29
- */
30
- static saveCommand(command: string, cwd?: string): Promise<void>;
31
- /**
32
- * Clear command history
33
- */
34
- static clearHistory(): Promise<void>;
35
- /**
36
- * Search command history
37
- */
38
- static searchHistory(query: string, limit?: number): Promise<Array<{
39
- command: string;
40
- timestamp: string;
41
- cwd: string;
42
- }>>;
43
- /**
44
- * Calculate command complexity score
45
- */
46
- static calculateComplexityScore(command: string): number;
47
- /**
48
- * Calculate command frequency score
49
- */
50
- static calculateFrequencyScore(command: string, history: Array<{
51
- command: string;
52
- timestamp: string;
53
- cwd: string;
54
- }>): number;
55
- /**
56
- * Calculate recency score (more recent = higher score)
57
- */
58
- static calculateRecencyScore(timestamp: string): number;
59
- /**
60
- * Calculate overall importance score
61
- */
62
- static calculateImportanceScore(entry: {
63
- command: string;
64
- timestamp: string;
65
- cwd: string;
66
- }, history: Array<{
67
- command: string;
68
- timestamp: string;
69
- cwd: string;
70
- }>): number;
71
- /**
72
- * Get ranked command history
73
- */
74
- static getRankedHistory(limit?: number, search?: string): Promise<Array<{
75
- command: string;
76
- timestamp: string;
77
- cwd: string;
78
- score: number;
79
- }>>;
80
- /**
81
- * Format history entry
82
- */
83
- static formatHistoryEntry(entry: {
84
- command: string;
85
- timestamp: string;
86
- cwd: string;
87
- score?: number;
88
- }, index: number, format: string, showScore?: boolean): string;
89
- /**
90
- * Execute history command
91
- */
92
- static execute(options: HistoryOptions): Promise<void>;
93
- }
94
- /**
95
- * Register history command with Commander
96
- */
97
- export declare function registerHistoryCommand(program: Command): void;
98
- //# sourceMappingURL=history.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../src/commands/history.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAIlC;IAEF;;OAEG;IACH,MAAM,CAAC,cAAc,IAAI,MAAM;IAI/B;;OAEG;WACU,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAK9C;;OAEG;WACU,WAAW,IAAI,OAAO,CACjC,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAC3D;IAaD;;OAEG;WACU,WAAW,CACtB,OAAO,EAAE,MAAM,EACf,GAAG,GAAE,MAAsB,GAC1B,OAAO,CAAC,IAAI,CAAC;IAsBhB;;OAEG;WACU,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAS1C;;OAEG;WACU,aAAa,CACxB,KAAK,EAAE,MAAM,EACb,KAAK,GAAE,MAAW,GACjB,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAQtE;;OAEG;IACH,MAAM,CAAC,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAmCxD;;OAEG;IACH,MAAM,CAAC,uBAAuB,CAC5B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,GAClE,MAAM;IAUT;;OAEG;IACH,MAAM,CAAC,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IASvD;;OAEG;IACH,MAAM,CAAC,wBAAwB,CAC7B,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,EAC1D,OAAO,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,GAClE,MAAM;IAST;;OAEG;WACU,gBAAgB,CAC3B,KAAK,GAAE,MAAW,EAClB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CACR,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAC1E;IAsBD;;OAEG;IACH,MAAM,CAAC,kBAAkB,CACvB,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,EAC1E,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,SAAS,GAAE,OAAe,GACzB,MAAM;IAuBT;;OAEG;WACU,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;CA0G7D;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkC7D"}
@@ -1,308 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.HistoryCommand = void 0;
40
- exports.registerHistoryCommand = registerHistoryCommand;
41
- const chalk_1 = __importDefault(require("chalk"));
42
- const fs = __importStar(require("fs-extra"));
43
- const path = __importStar(require("path"));
44
- const os = __importStar(require("os"));
45
- class HistoryCommand {
46
- /**
47
- * Get command history file path
48
- */
49
- static getHistoryPath() {
50
- return this.HISTORY_FILE;
51
- }
52
- /**
53
- * Ensure history directory exists
54
- */
55
- static async ensureHistoryDir() {
56
- const historyDir = path.dirname(this.HISTORY_FILE);
57
- await fs.ensureDir(historyDir);
58
- }
59
- /**
60
- * Load command history
61
- */
62
- static async loadHistory() {
63
- try {
64
- await this.ensureHistoryDir();
65
- if (await fs.pathExists(this.HISTORY_FILE)) {
66
- const data = await fs.readJson(this.HISTORY_FILE);
67
- return Array.isArray(data) ? data : [];
68
- }
69
- return [];
70
- }
71
- catch (error) {
72
- return [];
73
- }
74
- }
75
- /**
76
- * Save command to history
77
- */
78
- static async saveCommand(command, cwd = process.cwd()) {
79
- try {
80
- const history = await this.loadHistory();
81
- const newEntry = {
82
- command,
83
- timestamp: new Date().toISOString(),
84
- cwd,
85
- };
86
- // Add to beginning of array
87
- history.unshift(newEntry);
88
- // Keep only last 1000 commands
89
- const limitedHistory = history.slice(0, 1000);
90
- await this.ensureHistoryDir();
91
- await fs.writeJson(this.HISTORY_FILE, limitedHistory, { spaces: 2 });
92
- }
93
- catch (error) {
94
- // Silently fail - history is not critical
95
- }
96
- }
97
- /**
98
- * Clear command history
99
- */
100
- static async clearHistory() {
101
- try {
102
- await this.ensureHistoryDir();
103
- await fs.writeJson(this.HISTORY_FILE, []);
104
- }
105
- catch (error) {
106
- throw new Error(`Failed to clear history: ${error}`);
107
- }
108
- }
109
- /**
110
- * Search command history
111
- */
112
- static async searchHistory(query, limit = 20) {
113
- const history = await this.loadHistory();
114
- const filtered = history.filter((entry) => entry.command.toLowerCase().includes(query.toLowerCase()));
115
- return filtered.slice(0, limit);
116
- }
117
- /**
118
- * Calculate command complexity score
119
- */
120
- static calculateComplexityScore(command) {
121
- let score = 0;
122
- // Length factor (longer commands are more complex)
123
- score += command.length * 0.1;
124
- // Special characters that are hard to type
125
- const specialChars = /[!@#$%^&*()_+={}[\]|\\:";'<>?,./~`]/g;
126
- const specialCharMatches = command.match(specialChars);
127
- if (specialCharMatches) {
128
- score += specialCharMatches.length * 2;
129
- }
130
- // Long flags and options
131
- const longFlags = /--[a-zA-Z-]+/g;
132
- const longFlagMatches = command.match(longFlags);
133
- if (longFlagMatches) {
134
- score += longFlagMatches.length * 1.5;
135
- }
136
- // Complex paths or URLs
137
- if (command.includes("/") || command.includes("\\")) {
138
- score += 1;
139
- }
140
- // Quoted strings (often complex)
141
- const quotedStrings = /"[^"]*"/g;
142
- const quotedMatches = command.match(quotedStrings);
143
- if (quotedMatches) {
144
- score += quotedMatches.length * 1.2;
145
- }
146
- return Math.round(score * 10) / 10;
147
- }
148
- /**
149
- * Calculate command frequency score
150
- */
151
- static calculateFrequencyScore(command, history) {
152
- const normalizedCommand = command.toLowerCase().trim();
153
- const frequency = history.filter((entry) => entry.command.toLowerCase().trim() === normalizedCommand).length;
154
- // More frequent commands get higher score
155
- return Math.log(frequency + 1) * 2;
156
- }
157
- /**
158
- * Calculate recency score (more recent = higher score)
159
- */
160
- static calculateRecencyScore(timestamp) {
161
- const now = new Date();
162
- const commandTime = new Date(timestamp);
163
- const hoursAgo = (now.getTime() - commandTime.getTime()) / (1000 * 60 * 60);
164
- // Recent commands get higher score, but not too much
165
- return Math.max(0, 10 - hoursAgo * 0.1);
166
- }
167
- /**
168
- * Calculate overall importance score
169
- */
170
- static calculateImportanceScore(entry, history) {
171
- const complexityScore = this.calculateComplexityScore(entry.command);
172
- const frequencyScore = this.calculateFrequencyScore(entry.command, history);
173
- const recencyScore = this.calculateRecencyScore(entry.timestamp);
174
- // Weighted combination
175
- return complexityScore * 0.4 + frequencyScore * 0.4 + recencyScore * 0.2;
176
- }
177
- /**
178
- * Get ranked command history
179
- */
180
- static async getRankedHistory(limit = 20, search) {
181
- const history = await this.loadHistory();
182
- let filteredHistory = history;
183
- if (search) {
184
- filteredHistory = history.filter((entry) => entry.command.toLowerCase().includes(search.toLowerCase()));
185
- }
186
- // Calculate scores and add to entries
187
- const scoredHistory = filteredHistory.map((entry) => ({
188
- ...entry,
189
- score: this.calculateImportanceScore(entry, history),
190
- }));
191
- // Sort by score (highest first)
192
- scoredHistory.sort((a, b) => b.score - a.score);
193
- return scoredHistory.slice(0, limit);
194
- }
195
- /**
196
- * Format history entry
197
- */
198
- static formatHistoryEntry(entry, index, format, showScore = false) {
199
- const date = new Date(entry.timestamp);
200
- const timeStr = date.toLocaleString();
201
- switch (format.toLowerCase()) {
202
- case "json":
203
- return JSON.stringify(entry);
204
- case "simple":
205
- const scoreText = showScore && entry.score ? ` (${entry.score.toFixed(1)})` : "";
206
- return `${index + 1}. ${entry.command}${scoreText}`;
207
- case "detailed":
208
- default:
209
- const scoreDisplay = showScore && entry.score
210
- ? ` ${chalk_1.default.yellow(`⭐ ${entry.score.toFixed(1)}`)}`
211
- : "";
212
- return `${chalk_1.default.gray(`${index + 1}.`)} ${chalk_1.default.cyan(entry.command)}${scoreDisplay}\n ${chalk_1.default.gray(`📅 ${timeStr}`)} ${chalk_1.default.gray(`📁 ${entry.cwd}`)}`;
213
- }
214
- }
215
- /**
216
- * Execute history command
217
- */
218
- static async execute(options) {
219
- try {
220
- if (options.clear) {
221
- await this.clearHistory();
222
- console.log(chalk_1.default.green("✅ Command history cleared"));
223
- return;
224
- }
225
- let history;
226
- let useRanking = options.ranked !== false; // Default to true unless explicitly disabled
227
- if (options.search) {
228
- if (useRanking) {
229
- history = await this.getRankedHistory(options.limit || 20, options.search);
230
- console.log(chalk_1.default.blue(`🔍 Found ${history.length} commands matching "${options.search}" (ranked by importance)`));
231
- }
232
- else {
233
- history = await this.searchHistory(options.search, options.limit || 20);
234
- console.log(chalk_1.default.blue(`🔍 Found ${history.length} commands matching "${options.search}"`));
235
- }
236
- }
237
- else {
238
- if (useRanking) {
239
- history = await this.getRankedHistory(options.limit || 20);
240
- console.log(chalk_1.default.blue(`📜 Command History (${history.length} commands, ranked by importance)`));
241
- }
242
- else {
243
- history = await this.loadHistory();
244
- if (options.limit) {
245
- history = history.slice(0, options.limit);
246
- }
247
- console.log(chalk_1.default.blue(`📜 Command History (${history.length} commands)`));
248
- }
249
- }
250
- if (history.length === 0) {
251
- console.log(chalk_1.default.gray("No commands found"));
252
- return;
253
- }
254
- console.log(chalk_1.default.gray("─".repeat(60)));
255
- history.forEach((entry, index) => {
256
- console.log(this.formatHistoryEntry(entry, index, options.format || "detailed", useRanking));
257
- if (options.format !== "simple") {
258
- console.log();
259
- }
260
- });
261
- if (options.format !== "simple") {
262
- console.log(chalk_1.default.gray("─".repeat(60)));
263
- if (useRanking) {
264
- console.log(chalk_1.default.yellow("💡 Commands are ranked by importance (length, frequency, recency)"));
265
- }
266
- console.log(chalk_1.default.yellow("💡 Tip: Use arrow keys to navigate command history"));
267
- console.log(chalk_1.default.yellow("💡 Tip: Use 'mycontext history --search <term>' to find specific commands"));
268
- console.log(chalk_1.default.yellow("💡 Tip: Use 'mycontext his' as a shortcut for 'mycontext history'"));
269
- }
270
- }
271
- catch (error) {
272
- console.error(chalk_1.default.red("❌ Error accessing command history:"), error);
273
- process.exit(1);
274
- }
275
- }
276
- }
277
- exports.HistoryCommand = HistoryCommand;
278
- HistoryCommand.HISTORY_FILE = path.join(os.homedir(), ".mycontext", "command_history.json");
279
- /**
280
- * Register history command with Commander
281
- */
282
- function registerHistoryCommand(program) {
283
- // Main history command
284
- program
285
- .command("history")
286
- .description("Show recent command history (ranked by importance)")
287
- .option("-l, --limit <number>", "Limit number of commands to show", "20")
288
- .option("-s, --search <term>", "Search for commands containing term")
289
- .option("--clear", "Clear command history")
290
- .option("--no-ranked", "Disable smart ranking (show chronological order)")
291
- .option("--format <format>", "Output format (detailed, simple, json)", "detailed")
292
- .action(async (options) => {
293
- await HistoryCommand.execute(options);
294
- });
295
- // Short alias
296
- program
297
- .command("his")
298
- .description("Shortcut for 'mycontext history'")
299
- .option("-l, --limit <number>", "Limit number of commands to show", "20")
300
- .option("-s, --search <term>", "Search for commands containing term")
301
- .option("--clear", "Clear command history")
302
- .option("--no-ranked", "Disable smart ranking (show chronological order)")
303
- .option("--format <format>", "Output format (detailed, simple, json)", "detailed")
304
- .action(async (options) => {
305
- await HistoryCommand.execute(options);
306
- });
307
- }
308
- //# sourceMappingURL=history.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"history.js","sourceRoot":"","sources":["../../src/commands/history.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4WA,wDAkCC;AA7YD,kDAA0B;AAC1B,6CAA+B;AAC/B,2CAA6B;AAC7B,uCAAyB;AAUzB,MAAa,cAAc;IAOzB;;OAEG;IACH,MAAM,CAAC,cAAc;QACnB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,gBAAgB;QAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACnD,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,WAAW;QAGtB,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC9B,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC3C,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAClD,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACzC,CAAC;YACD,OAAO,EAAE,CAAC;QACZ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,WAAW,CACtB,OAAe,EACf,MAAc,OAAO,CAAC,GAAG,EAAE;QAE3B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;YACzC,MAAM,QAAQ,GAAG;gBACf,OAAO;gBACP,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,GAAG;aACJ,CAAC;YAEF,4BAA4B;YAC5B,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAE1B,+BAA+B;YAC/B,MAAM,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YAE9C,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC9B,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,cAAc,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QACvE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,0CAA0C;QAC5C,CAAC;IACH,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,YAAY;QACvB,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC9B,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,4BAA4B,KAAK,EAAE,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,aAAa,CACxB,KAAa,EACb,QAAgB,EAAE;QAElB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QACzC,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CACxC,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAC1D,CAAC;QACF,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,wBAAwB,CAAC,OAAe;QAC7C,IAAI,KAAK,GAAG,CAAC,CAAC;QAEd,mDAAmD;QACnD,KAAK,IAAI,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC;QAE9B,2CAA2C;QAC3C,MAAM,YAAY,GAAG,sCAAsC,CAAC;QAC5D,MAAM,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACvD,IAAI,kBAAkB,EAAE,CAAC;YACvB,KAAK,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC;QACzC,CAAC;QAED,yBAAyB;QACzB,MAAM,SAAS,GAAG,eAAe,CAAC;QAClC,MAAM,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,eAAe,EAAE,CAAC;YACpB,KAAK,IAAI,eAAe,CAAC,MAAM,GAAG,GAAG,CAAC;QACxC,CAAC;QAED,wBAAwB;QACxB,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACpD,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;QAED,iCAAiC;QACjC,MAAM,aAAa,GAAG,UAAU,CAAC;QACjC,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACnD,IAAI,aAAa,EAAE,CAAC;YAClB,KAAK,IAAI,aAAa,CAAC,MAAM,GAAG,GAAG,CAAC;QACtC,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,uBAAuB,CAC5B,OAAe,EACf,OAAmE;QAEnE,MAAM,iBAAiB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;QACvD,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAC9B,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,iBAAiB,CACpE,CAAC,MAAM,CAAC;QAET,0CAA0C;QAC1C,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,qBAAqB,CAAC,SAAiB;QAC5C,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QAE5E,qDAAqD;QACrD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,QAAQ,GAAG,GAAG,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,wBAAwB,CAC7B,KAA0D,EAC1D,OAAmE;QAEnE,MAAM,eAAe,GAAG,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACrE,MAAM,cAAc,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC5E,MAAM,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAEjE,uBAAuB;QACvB,OAAO,eAAe,GAAG,GAAG,GAAG,cAAc,GAAG,GAAG,GAAG,YAAY,GAAG,GAAG,CAAC;IAC3E,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAC3B,QAAgB,EAAE,EAClB,MAAe;QAIf,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QACzC,IAAI,eAAe,GAAG,OAAO,CAAC;QAE9B,IAAI,MAAM,EAAE,CAAC;YACX,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CACzC,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAC3D,CAAC;QACJ,CAAC;QAED,sCAAsC;QACtC,MAAM,aAAa,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACpD,GAAG,KAAK;YACR,KAAK,EAAE,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,OAAO,CAAC;SACrD,CAAC,CAAC,CAAC;QAEJ,gCAAgC;QAChC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;QAEhD,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,kBAAkB,CACvB,KAA0E,EAC1E,KAAa,EACb,MAAc,EACd,YAAqB,KAAK;QAE1B,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAEtC,QAAQ,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;YAC7B,KAAK,MAAM;gBACT,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAE/B,KAAK,QAAQ;gBACX,MAAM,SAAS,GACb,SAAS,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjE,OAAO,GAAG,KAAK,GAAG,CAAC,KAAK,KAAK,CAAC,OAAO,GAAG,SAAS,EAAE,CAAC;YAEtD,KAAK,UAAU,CAAC;YAChB;gBACE,MAAM,YAAY,GAChB,SAAS,IAAI,KAAK,CAAC,KAAK;oBACtB,CAAC,CAAC,IAAI,eAAK,CAAC,MAAM,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;oBACnD,CAAC,CAAC,EAAE,CAAC;gBACT,OAAO,GAAG,eAAK,CAAC,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,IAAI,eAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,YAAY,SAAS,eAAK,CAAC,IAAI,CAAC,MAAM,OAAO,EAAE,CAAC,IAAI,eAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QAC7J,CAAC;IACH,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,OAAuB;QAC1C,IAAI,CAAC;YACH,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBAClB,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;gBAC1B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC,CAAC;gBACtD,OAAO;YACT,CAAC;YAED,IAAI,OAKF,CAAC;YACH,IAAI,UAAU,GAAG,OAAO,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,6CAA6C;YAExF,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,IAAI,UAAU,EAAE,CAAC;oBACf,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CACnC,OAAO,CAAC,KAAK,IAAI,EAAE,EACnB,OAAO,CAAC,MAAM,CACf,CAAC;oBACF,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,IAAI,CACR,YAAY,OAAO,CAAC,MAAM,uBAAuB,OAAO,CAAC,MAAM,0BAA0B,CAC1F,CACF,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAChC,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,KAAK,IAAI,EAAE,CACpB,CAAC;oBACF,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,IAAI,CACR,YAAY,OAAO,CAAC,MAAM,uBAAuB,OAAO,CAAC,MAAM,GAAG,CACnE,CACF,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,UAAU,EAAE,CAAC;oBACf,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;oBAC3D,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,IAAI,CACR,uBAAuB,OAAO,CAAC,MAAM,kCAAkC,CACxE,CACF,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;oBACnC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;wBAClB,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;oBAC5C,CAAC;oBACD,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,IAAI,CAAC,uBAAuB,OAAO,CAAC,MAAM,YAAY,CAAC,CAC9D,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;gBAC7C,OAAO;YACT,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAExC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;gBAC/B,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,kBAAkB,CACrB,KAAK,EACL,KAAK,EACL,OAAO,CAAC,MAAM,IAAI,UAAU,EAC5B,UAAU,CACX,CACF,CAAC;gBACF,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;oBAChC,OAAO,CAAC,GAAG,EAAE,CAAC;gBAChB,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAChC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACxC,IAAI,UAAU,EAAE,CAAC;oBACf,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,MAAM,CACV,mEAAmE,CACpE,CACF,CAAC;gBACJ,CAAC;gBACD,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,MAAM,CAAC,oDAAoD,CAAC,CACnE,CAAC;gBACF,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,MAAM,CACV,2EAA2E,CAC5E,CACF,CAAC;gBACF,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,MAAM,CACV,mEAAmE,CACpE,CACF,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,oCAAoC,CAAC,EAAE,KAAK,CAAC,CAAC;YACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;;AAxVH,wCAyVC;AAxVyB,2BAAY,GAAG,IAAI,CAAC,IAAI,CAC9C,EAAE,CAAC,OAAO,EAAE,EACZ,YAAY,EACZ,sBAAsB,CACvB,CAAC;AAsVJ;;GAEG;AACH,SAAgB,sBAAsB,CAAC,OAAgB;IACrD,uBAAuB;IACvB,OAAO;SACJ,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,oDAAoD,CAAC;SACjE,MAAM,CAAC,sBAAsB,EAAE,kCAAkC,EAAE,IAAI,CAAC;SACxE,MAAM,CAAC,qBAAqB,EAAE,qCAAqC,CAAC;SACpE,MAAM,CAAC,SAAS,EAAE,uBAAuB,CAAC;SAC1C,MAAM,CAAC,aAAa,EAAE,kDAAkD,CAAC;SACzE,MAAM,CACL,mBAAmB,EACnB,wCAAwC,EACxC,UAAU,CACX;SACA,MAAM,CAAC,KAAK,EAAE,OAAuB,EAAE,EAAE;QACxC,MAAM,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEL,cAAc;IACd,OAAO;SACJ,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CAAC,kCAAkC,CAAC;SAC/C,MAAM,CAAC,sBAAsB,EAAE,kCAAkC,EAAE,IAAI,CAAC;SACxE,MAAM,CAAC,qBAAqB,EAAE,qCAAqC,CAAC;SACpE,MAAM,CAAC,SAAS,EAAE,uBAAuB,CAAC;SAC1C,MAAM,CAAC,aAAa,EAAE,kDAAkD,CAAC;SACzE,MAAM,CACL,mBAAmB,EACnB,wCAAwC,EACxC,UAAU,CACX;SACA,MAAM,CAAC,KAAK,EAAE,OAAuB,EAAE,EAAE;QACxC,MAAM,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1,34 +0,0 @@
1
- import { Command } from "commander";
2
- export interface NowOptions {
3
- format?: string;
4
- withGitHash?: boolean;
5
- copy?: boolean;
6
- verbose?: boolean;
7
- }
8
- export declare class NowCommand {
9
- /**
10
- * Get current timestamp in YYYYMMDDHHMMSS format
11
- */
12
- static getTimestamp(): string;
13
- /**
14
- * Get git hash if available
15
- */
16
- static getGitHash(): string | null;
17
- /**
18
- * Format timestamp based on format option
19
- */
20
- static formatTimestamp(timestamp: string, format: string): string;
21
- /**
22
- * Copy text to clipboard (cross-platform)
23
- */
24
- static copyToClipboard(text: string): Promise<boolean>;
25
- /**
26
- * Execute now command
27
- */
28
- static execute(options: NowOptions): Promise<void>;
29
- }
30
- /**
31
- * Register now command with Commander
32
- */
33
- export declare function registerNowCommand(program: Command): void;
34
- //# sourceMappingURL=now.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"now.d.ts","sourceRoot":"","sources":["../../src/commands/now.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,MAAM,WAAW,UAAU;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,qBAAa,UAAU;IACrB;;OAEG;IACH,MAAM,CAAC,YAAY,IAAI,MAAM;IAY7B;;OAEG;IACH,MAAM,CAAC,UAAU,IAAI,MAAM,GAAG,IAAI;IAYlC;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IA0CjE;;OAEG;WACU,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAkB5D;;OAEG;WACU,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;CAqEzD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAezD"}
@@ -1,168 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.NowCommand = void 0;
7
- exports.registerNowCommand = registerNowCommand;
8
- const chalk_1 = __importDefault(require("chalk"));
9
- const child_process_1 = require("child_process");
10
- class NowCommand {
11
- /**
12
- * Get current timestamp in YYYYMMDDHHMMSS format
13
- */
14
- static getTimestamp() {
15
- const now = new Date();
16
- const year = now.getFullYear();
17
- const month = String(now.getMonth() + 1).padStart(2, "0");
18
- const day = String(now.getDate()).padStart(2, "0");
19
- const hours = String(now.getHours()).padStart(2, "0");
20
- const minutes = String(now.getMinutes()).padStart(2, "0");
21
- const seconds = String(now.getSeconds()).padStart(2, "0");
22
- return `${year}${month}${day}${hours}${minutes}${seconds}`;
23
- }
24
- /**
25
- * Get git hash if available
26
- */
27
- static getGitHash() {
28
- try {
29
- const hash = (0, child_process_1.execSync)("git rev-parse --short HEAD", {
30
- encoding: "utf8",
31
- stdio: ["pipe", "pipe", "pipe"],
32
- }).trim();
33
- return hash;
34
- }
35
- catch (error) {
36
- return null;
37
- }
38
- }
39
- /**
40
- * Format timestamp based on format option
41
- */
42
- static formatTimestamp(timestamp, format) {
43
- switch (format.toLowerCase()) {
44
- case "iso":
45
- // Convert YYYYMMDDHHMMSS to ISO format
46
- const year = timestamp.substring(0, 4);
47
- const month = timestamp.substring(4, 6);
48
- const day = timestamp.substring(6, 8);
49
- const hours = timestamp.substring(8, 10);
50
- const minutes = timestamp.substring(10, 12);
51
- const seconds = timestamp.substring(12, 14);
52
- return `${year}-${month}-${day}T${hours}:${minutes}:${seconds}`;
53
- case "unix":
54
- // Convert to Unix timestamp
55
- const date = new Date(parseInt(timestamp.substring(0, 4)), parseInt(timestamp.substring(4, 6)) - 1, parseInt(timestamp.substring(6, 8)), parseInt(timestamp.substring(8, 10)), parseInt(timestamp.substring(10, 12)), parseInt(timestamp.substring(12, 14)));
56
- return Math.floor(date.getTime() / 1000).toString();
57
- case "human":
58
- // Human readable format
59
- const now = new Date(parseInt(timestamp.substring(0, 4)), parseInt(timestamp.substring(4, 6)) - 1, parseInt(timestamp.substring(6, 8)), parseInt(timestamp.substring(8, 10)), parseInt(timestamp.substring(10, 12)), parseInt(timestamp.substring(12, 14)));
60
- return now.toLocaleString();
61
- case "default":
62
- default:
63
- return timestamp;
64
- }
65
- }
66
- /**
67
- * Copy text to clipboard (cross-platform)
68
- */
69
- static async copyToClipboard(text) {
70
- try {
71
- const { execSync } = require("child_process");
72
- const platform = process.platform;
73
- if (platform === "darwin") {
74
- execSync(`echo "${text}" | pbcopy`);
75
- }
76
- else if (platform === "win32") {
77
- execSync(`echo "${text}" | clip`);
78
- }
79
- else {
80
- execSync(`echo "${text}" | xclip -selection clipboard`);
81
- }
82
- return true;
83
- }
84
- catch (error) {
85
- return false;
86
- }
87
- }
88
- /**
89
- * Execute now command
90
- */
91
- static async execute(options) {
92
- try {
93
- const now = new Date();
94
- const timestamp = this.getTimestamp();
95
- // Display current time info
96
- console.log(chalk_1.default.blue.bold("🕐 MyContext Now"));
97
- console.log(chalk_1.default.gray("─".repeat(50)));
98
- // Human readable time
99
- console.log(chalk_1.default.white.bold("Current Time:"));
100
- console.log(chalk_1.default.cyan(` ${now.toLocaleString()}`));
101
- console.log(chalk_1.default.cyan(` ${now.toUTCString()}`));
102
- console.log();
103
- // Timestamp formats
104
- console.log(chalk_1.default.white.bold("Timestamp Formats:"));
105
- console.log(chalk_1.default.green(` Default: ${timestamp}`));
106
- console.log(chalk_1.default.green(` ISO: ${this.formatTimestamp(timestamp, "iso")}`));
107
- console.log(chalk_1.default.green(` Unix: ${this.formatTimestamp(timestamp, "unix")}`));
108
- console.log();
109
- // Git info if available
110
- if (options.withGitHash || options.verbose) {
111
- const gitHash = this.getGitHash();
112
- if (gitHash) {
113
- console.log(chalk_1.default.white.bold("Git Information:"));
114
- console.log(chalk_1.default.yellow(` Hash: ${gitHash}`));
115
- console.log(chalk_1.default.yellow(` With Hash: ${timestamp}_${gitHash}`));
116
- console.log();
117
- }
118
- else if (options.verbose) {
119
- console.log(chalk_1.default.white.bold("Git Information:"));
120
- console.log(chalk_1.default.gray(" No git repository found"));
121
- console.log();
122
- }
123
- }
124
- // Usage examples
125
- if (options.verbose) {
126
- console.log(chalk_1.default.white.bold("Usage Examples:"));
127
- console.log(chalk_1.default.gray(` Migration: migration_${timestamp}`));
128
- console.log(chalk_1.default.gray(` Backup: 01-prd.${timestamp}.md`));
129
- console.log(chalk_1.default.gray(` Component: components_${timestamp}`));
130
- console.log();
131
- }
132
- // Copy to clipboard if requested
133
- if (options.copy) {
134
- const textToCopy = options.withGitHash && this.getGitHash()
135
- ? `${timestamp}_${this.getGitHash()}`
136
- : timestamp;
137
- const copied = await this.copyToClipboard(textToCopy);
138
- if (copied) {
139
- console.log(chalk_1.default.green(`✅ Copied "${textToCopy}" to clipboard`));
140
- }
141
- else {
142
- console.log(chalk_1.default.yellow("⚠️ Could not copy to clipboard"));
143
- }
144
- }
145
- }
146
- catch (error) {
147
- console.error(chalk_1.default.red("❌ Error getting current time:"), error);
148
- process.exit(1);
149
- }
150
- }
151
- }
152
- exports.NowCommand = NowCommand;
153
- /**
154
- * Register now command with Commander
155
- */
156
- function registerNowCommand(program) {
157
- program
158
- .command("now")
159
- .description("Show current timestamp in user-friendly format")
160
- .option("--format <format>", "Output format (default, iso, unix, human)", "default")
161
- .option("--with-git-hash", "Include git commit hash")
162
- .option("--copy", "Copy timestamp to clipboard")
163
- .option("--verbose", "Show detailed information and examples")
164
- .action(async (options) => {
165
- await NowCommand.execute(options);
166
- });
167
- }
168
- //# sourceMappingURL=now.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"now.js","sourceRoot":"","sources":["../../src/commands/now.ts"],"names":[],"mappings":"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"}