@amirdaraee/namewise 0.6.0 → 0.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -7,284 +7,121 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
- ## [0.6.0] - 2026-04-02
10
+ ## [0.6.1] - 2026-04-02
11
11
 
12
- ### Added
13
- - **Recursive Directory Scanning**: New `-r, --recursive` flag scans subdirectories
14
- - Optional `--depth <n>` to cap recursion depth
15
- - Example: `namewise rename ./projects --recursive --depth 2 --dry-run`
16
- - **Undo Command**: New `namewise undo` reverses the most recent rename session
17
- - Sessions stored in `~/.namewise/history.json` (append-only audit log)
18
- - `namewise undo --list` shows the last 10 sessions with their IDs
19
- - `namewise undo <session-id>` undoes a specific past session
20
- - Warns and skips (without erroring) if a file has already been moved
21
- - **Cascading Config File**: Project- and user-level config support
22
- - `~/.namewise.json` sets user-wide defaults
23
- - `<targetDir>/.namewise.json` overrides per project
24
- - CLI flags override both; all keys are optional
25
- - Supports: `provider`, `case`, `template`, `name`, `date`, `maxSize`, `model`, `baseUrl`, `concurrency`, `recursive`, `depth`, `output`
26
- - **Concurrency Control**: New `--concurrency <n>` flag (default: 3)
27
- - Files are processed in parallel up to the configured limit
28
- - Implemented with a zero-dependency semaphore
29
- - **JSON Rename Report**: New `--output <path>` flag writes a full report after each run
30
- - Includes timestamp, directory, dry-run flag, summary counts, and per-file results
12
+ ### Fixed
13
+ - Movie, music, series, and book templates now produce correct filenames; the AI is explicitly instructed to include the release year, artist name, season/episode, or author in the output rather than leaving unfilled `{year}`, `{artist}`, `{author}`, `{season}`, `{episode}` placeholders that were silently stripped
14
+ - `--date` flag for document and photo templates now uses the document's own creation date from file metadata when available, instead of always substituting today's date
31
15
 
32
16
  ### Changed
33
- - **Conflict Auto-Numbering**: Replaces the old "file already exists" error
34
- - When the suggested name is taken, automatically tries `-2`, `-3` up to `-99`
35
- - Example: `report.pdf` → `report-2.pdf` if `report.pdf` already exists
36
-
37
- ### Technical
38
- - Added `src/utils/config-loader.ts` and `src/utils/history.ts` as thin, focused modules
39
- - Added `src/cli/undo.ts` for undo command logic
40
- - 103 new tests across 11 new/updated test files; total now 428 tests (36 files)
41
-
42
- ### Examples
43
- ```bash
44
- # Recursive scan with depth limit
45
- namewise rename ./projects --recursive --depth 2 --dry-run
17
+ - `--model` flag now works for all providers (Claude, OpenAI, Ollama, LMStudio), not just local LLMs; defaults are `claude-sonnet-4-5-20250929` for Claude and `gpt-4o` for OpenAI
18
+ - Content sent to AI increased from 2000 to 5000 characters for more accurate filename generation on longer documents
46
19
 
47
- # Save defaults to ~/.namewise.json
48
- echo '{"provider":"claude","case":"snake_case","concurrency":5}' > ~/.namewise.json
49
-
50
- # Save a rename report
51
- namewise rename ./documents --output ./report.json
20
+ ## [0.6.0] - 2026-04-02
52
21
 
53
- # Undo the last session
54
- namewise undo
22
+ ### Added
23
+ - `--recursive` / `-r` flag to scan subdirectories, with optional `--depth <n>` to limit depth
24
+ - `namewise undo [session-id]` command to reverse any previous rename session
25
+ - `namewise undo --list` to view recent sessions with their IDs
26
+ - Cascading config file support: `~/.namewise.json` (user) and `<dir>/.namewise.json` (project); CLI flags take highest priority
27
+ - `--concurrency <n>` flag to process files in parallel (default: 3)
28
+ - `--output <path>` flag to save a full JSON rename report after each run
55
29
 
56
- # List and undo a specific session
57
- namewise undo --list
58
- namewise undo 2026-04-02T10:30:00.000Z
59
- ```
30
+ ### Changed
31
+ - Conflict handling: instead of erroring when a target filename already exists, the tool now auto-numbers the new file (`report-2.pdf`, `report-3.pdf`, etc.)
32
+ - Rename history is now saved to `~/.namewise/history.json` after every run
60
33
 
61
34
  ## [0.5.4] - 2026-03-31
62
35
 
63
- ### Improved
64
- - **Test Coverage**: Achieved 100% coverage across all metrics (statements, branches, functions, lines)
65
- - 325 tests across 26 test files
66
- - Added tests for all error branches including non-Error exception paths
67
- - Full coverage for scanned PDF handling, folder-based categorization, and naming convention truncation
68
- - Added polyfill tests for `process.getBuiltinModule` in Node.js < 22.3.0 environments
36
+ ### Changed
37
+ - Achieved 100% test coverage across all metrics (statements, branches, functions, lines)
38
+ - Expanded test suite to 325 tests across 26 test files
69
39
 
70
40
  ## [0.5.0] - 2025-11-10
71
41
 
72
42
  ### Added
73
- - **Scanned PDF Support**: Full support for image-only (scanned) PDFs with vision AI
74
- - Automatic detection of scanned PDFs (documents with minimal or no text)
75
- - Converts first page to image and sends to AI for content analysis
76
- - Intelligent image optimization to stay under Claude's 5MB limit
77
- - Progressive JPEG compression with multiple quality levels (0.85 0.3)
78
- - Automatic dimension scaling if needed (100% → 70% → 50%)
79
- - Smart size calculation to ensure API compatibility
80
-
81
- ### Enhanced
82
- - **PDF Processing**: Replaced PDF.js with pdf-to-png-converter for better Node.js compatibility
83
- - Resolves canvas rendering issues in Node.js environment
84
- - More reliable PDF-to-image conversion
85
- - Better error handling and debugging
86
- - **AI Model**: Updated to Claude Sonnet 4.5 (claude-sonnet-4-5-20250929)
87
- - Latest Claude model with enhanced vision capabilities
88
- - Improved accuracy for document analysis
89
- - Better understanding of complex document layouts
90
-
91
- ### Technical
92
- - Replaced `pdfjs-dist` with `pdf-to-png-converter` package
93
- - Enhanced PDFToImageConverter with size optimization algorithms
94
- - Added comprehensive test suite for PDF-to-image conversion (12 new tests)
95
- - Improved error logging with detailed stack traces
43
+ - Scanned PDF support: image-only PDFs are automatically detected and sent to vision AI for analysis
44
+ - Automatic image optimization to stay within the Claude 5MB API limit (progressive JPEG compression and dimension scaling)
45
+
46
+ ### Changed
47
+ - Replaced `pdfjs-dist` with `pdf-to-png-converter` for more reliable PDF-to-image conversion in Node.js
48
+ - Updated default Claude model to claude-sonnet-4-5-20250929
96
49
 
97
50
  ### Fixed
98
- - **Critical**: Fixed "Image or Canvas expected" errors when processing scanned PDFs
99
- - **Critical**: Fixed "image exceeds 5 MB maximum" errors with large scanned documents
100
- - **Model**: Fixed deprecated model warnings by updating to latest Claude API
101
-
102
- ### Examples
103
- ```bash
104
- # Process directory with scanned PDFs
105
- namewise rename ./documents --dry-run
106
-
107
- # Scanned PDFs are automatically detected and processed:
108
- # Input: Iran-criminal-record-2.pdf (scanned, no text)
109
- # Output: iran-criminal-record-certificate.pdf
110
- #
111
- # Input: Luxembourg-identity-2025.pdf (scanned, 14.7MB image)
112
- # Output: luxembourg-identity-card-2025.pdf (optimized to <5MB)
113
- ```
51
+ - "Image or Canvas expected" errors when processing scanned PDFs
52
+ - "image exceeds 5 MB maximum" errors with large scanned documents
53
+ - Deprecated model warnings from the Anthropic API
114
54
 
115
55
  ## [0.4.1] - 2025-09-15
116
56
 
117
- ### Enhanced
118
- - **Reliability Improvements**: Enhanced stability and consistency across all AI providers
119
- - **Documentation**: Improved examples and usage documentation
57
+ ### Changed
58
+ - Improved stability and consistency across all AI providers
120
59
 
121
60
  ## [0.4.0] - 2025-09-15
122
61
 
123
62
  ### Added
124
- - **Local LLM Provider Support**: Full integration with local AI services
125
- - **Ollama**: Local LLM support with customizable models (llama3.1, codellama, etc.)
126
- - **LMStudio**: Local model hosting with OpenAI-compatible API
127
- - Support for custom base URLs and model selection
128
- - Availability checking and model listing for local providers
129
-
130
- ### Enhanced
131
- - **Intelligent Person Name Detection**: Major AI prompting improvements
132
- - AI now extracts person names from document content and places them at filename beginning
133
- - Smart folder name filtering to ignore irrelevant names like "no", "temp", "downloads"
134
- - Enhanced prompts that focus on document content rather than metadata
135
- - Support for detecting visa applications, contracts, medical records, certificates
136
-
137
- ### Architecture
138
- - **Centralized Prompt System**: Single source of truth for all AI prompts
139
- - Model-agnostic prompting that works across Claude, OpenAI, LMStudio, and Ollama
140
- - Consolidated prompt building in `/src/utils/ai-prompts.ts`
141
- - Consistent behavior across all AI providers
142
- - Easier maintenance and updates
143
-
144
- ### Examples
145
- ```bash
146
- # Use local Ollama service
147
- namewise rename ./documents --provider ollama --dry-run
148
-
149
- # Use LMStudio with custom model
150
- namewise rename ./files --provider lmstudio --base-url http://localhost:1234 --model codellama
151
-
152
- # Enhanced person name detection (Sarah example)
153
- # Input: visitor-visa-application-for-family-in-canada.pdf (in folder "no")
154
- # Output: sarah-visitor-visa-application-for-family-members-in-canada.pdf
155
- ```
156
-
157
- ### Technical
158
- - Enhanced CLI with new provider options and base URL configuration
159
- - Added availability checking and model discovery for local providers
63
+ - Ollama provider support for local LLM inference (`--provider ollama`)
64
+ - LMStudio provider support with OpenAI-compatible API (`--provider lmstudio`)
65
+ - `--base-url` flag to configure a custom endpoint for local LLM providers
66
+ - `--model` flag to specify the model for local LLM providers
67
+
68
+ ### Changed
69
+ - AI prompts now extract person names from document content and include them at the start of the filename
70
+ - Folder name hints are filtered to ignore common irrelevant names (e.g., "no", "temp", "downloads")
71
+ - Centralized all AI prompt logic into `src/utils/ai-prompts.ts` for consistency across providers
160
72
 
161
73
  ## [0.3.1] - 2025-09-05
162
74
 
163
75
  ### Security
164
- - **Vulnerability Fix**: Replaced vulnerable `xlsx` package with secure `exceljs`
165
- - Enhanced Excel file parsing with improved security and reliability
76
+ - Replaced vulnerable `xlsx` package with `exceljs` for Excel file parsing
166
77
 
167
- ### Infrastructure
168
- - **CI/CD Improvements**: Enhanced GitHub Actions workflows
169
- - Updated Node.js versions in CI pipelines
170
- - Improved test workflow reliability and build process
78
+ ### Changed
79
+ - Updated CI pipelines to test against Node.js 20, 22, and 24
171
80
 
172
81
  ## [0.3.0] - 2025-09-05
173
82
 
174
83
  ### Added
175
- - **Personal File Templates**: Customizable templates for different file categories
176
- - `document`: Personal docs with name and date (e.g., `driving-license-amirhossein-20250213.pdf`)
177
- - `movie`: Movies with release year (e.g., `the-dark-knight-2008.mkv`)
178
- - `music`: Music with artist names (e.g., `the-beatles-hey-jude.mp3`)
179
- - `series`: TV series with season/episode (e.g., `breaking-bad-s01e01.mkv`)
180
- - `photo`: Photos with personal info (e.g., `vacation-paris-john-20240715.jpg`)
181
- - `book`: Books with author names (e.g., `george-orwell-1984.pdf`)
182
- - `general`: General files without special formatting
183
- - **Smart File Categorization**: Automatically detects file type based on extension and content
184
- - **Personal Name Integration**: `-n, --name` option to include your name in documents
185
- - **Flexible Date Formats**: `-d, --date` option with formats:
186
- - `YYYY-MM-DD`: 2025-09-05
187
- - `YYYY`: 2025
188
- - `YYYYMMDD`: 20250905
189
- - `none`: No date (default)
190
- - **Category Templates**: `-t, --template` option to specify file category or use auto-detection
191
-
192
- ### Enhanced
193
- - AI prompts now include category-specific instructions for better filename generation
194
- - File processing pipeline includes template application after AI generation
195
- - Comprehensive test coverage with 131 tests (23 new tests for templates)
196
-
197
- ### Examples
198
- ```bash
199
- # Personal documents with your name and date
200
- namewise rename ./documents -t document -n "amirhossein" -d "YYYYMMDD" --dry-run
201
- # Result: driving-license-amirhossein-20250905.pdf
202
-
203
- # Movies with auto-detection
204
- namewise rename ./movies --dry-run
205
- # Result: the-dark-knight-2008.mkv
206
-
207
- # Series with season/episode detection
208
- namewise rename ./shows --dry-run
209
- # Result: breaking-bad-s01e01.mkv
210
-
211
- # Music with artist names
212
- namewise rename ./music -t music --dry-run
213
- # Result: the-beatles-hey-jude.mp3
214
- ```
84
+ - File category templates: `document`, `movie`, `music`, `series`, `photo`, `book`, `general`, `auto`
85
+ - `-t, --template` flag to select a category template
86
+ - `-n, --name` flag to include a personal name in filenames
87
+ - `-d, --date` flag with format options: `YYYY-MM-DD`, `YYYY`, `YYYYMMDD`, `none`
88
+ - Auto-categorization based on file extension, folder path, and content keywords
215
89
 
216
90
  ## [0.2.0] - 2025-09-05
217
91
 
218
92
  ### Added
219
- - **Naming Convention Customization**: Added `-c, --case` option to choose naming convention
220
- - `kebab-case`: lowercase-with-hyphens (default)
221
- - `snake_case`: lowercase_with_underscores
222
- - `camelCase`: camelCaseFormat
223
- - `PascalCase`: PascalCaseFormat
224
- - `lowercase`: lowercaseformat
225
- - `UPPERCASE`: UPPERCASEFORMAT
226
- - AI services now receive naming convention instructions and generate appropriately formatted filenames
227
- - Enhanced filename sanitization with convention-aware processing
228
-
229
- ### Example Usage
230
- ```bash
231
- # Use snake_case naming
232
- namewise rename ./docs --case snake_case --dry-run
233
-
234
- # Use camelCase naming
235
- namewise rename ./docs --case camelCase --provider openai
236
- ```
93
+ - `-c, --case` flag for naming convention: `kebab-case`, `snake_case`, `camelCase`, `PascalCase`, `lowercase`, `UPPERCASE`
237
94
 
238
95
  ## [0.1.5] - 2025-09-05
239
96
 
240
- ### Improved
241
- - Enhanced CLI user experience with single-line progress display that updates in place
242
- - Improved results output format: clear `original-name new-name` display instead of confusing double checkmarks
243
- - Added progress counter showing current file being processed `(3/7)`
244
- - Cleaner console output with proper line clearing after processing
97
+ ### Changed
98
+ - Progress display now updates in place on a single line with a `[current/total]` counter
99
+ - Results output changed to `original-name -> new-name` format for clarity
245
100
 
246
101
  ## [0.1.4] - 2025-09-05
247
102
 
248
103
  ### Fixed
249
- - Fixed console output formatting where `\n` was displayed as literal text instead of newlines
250
- - Console output now properly displays line breaks for better readability
104
+ - Console output was printing literal `\n` instead of newlines
251
105
 
252
106
  ## [0.1.3] - 2025-09-05
253
107
 
254
108
  ### Changed
255
- - Package renamed from `ai-rename` to `namewise` (clearer branding and avoids confusion with existing ai-renamer package)
256
- - CLI binary name changed from `ai-rename` to `namewise`
257
- - All documentation and references updated to reflect new name
109
+ - Renamed package from `ai-rename` to `namewise`
110
+ - Renamed CLI binary from `ai-rename` to `namewise`
258
111
 
259
112
  ## [0.1.1] - 2025-09-05
260
113
 
261
114
  ### Changed
262
- - Package renamed from `smart-rename` to `ai-rename` (original name was taken on NPM)
263
- - CLI binary name changed from `smart-rename` to `ai-rename`
264
- - All documentation and references updated to reflect new name
115
+ - Renamed package from `smart-rename` to `ai-rename` (original name was taken on npm)
116
+ - Renamed CLI binary from `smart-rename` to `ai-rename`
265
117
 
266
118
  ## [0.1.0] - 2025-09-05
267
119
 
268
120
  ### Added
269
- - Initial beta release of AI Rename
121
+ - Initial release
270
122
  - AI-powered file renaming using Claude or OpenAI
271
- - Support for PDF, Word, Excel, and text files
272
- - Dry-run mode for safe previewing
273
- - File conflict detection and prevention
274
- - Configurable file size limits
275
- - Interactive API key prompts
276
- - Comprehensive test suite (65 tests, 90%+ branch coverage)
277
- - CLI with intuitive commands and options
278
-
279
- ### Features
280
- - **Document Parsers**: PDF, DOCX, DOC, XLSX, XLS, TXT, MD, RTF
281
- - **AI Providers**: Claude (Anthropic) and OpenAI support
282
- - **Safety Features**: Dry-run mode, conflict detection, error handling
283
- - **Configuration**: Flexible options for provider, API keys, and file sizes
284
-
285
- ### Technical
286
- - TypeScript implementation with strict typing
287
- - ESM module support
288
- - Node.js 18+ compatibility
289
- - Vitest testing framework
290
- - Commander.js CLI framework
123
+ - Support for PDF, DOCX, DOC, XLSX, XLS, TXT, MD, and RTF files
124
+ - Dry-run mode to preview changes without renaming
125
+ - File conflict detection
126
+ - Configurable file size limit
127
+ - Interactive API key prompt when no key is set in the environment
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Namewise
2
2
 
3
- [![Tests](https://img.shields.io/badge/tests-428%20passing-brightgreen.svg)](#testing--development)
3
+ [![Tests](https://img.shields.io/badge/tests-457%20passing-brightgreen.svg)](#testing--development)
4
4
  [![Coverage](https://img.shields.io/badge/coverage-100%25-brightgreen.svg)](#testing--development)
5
5
  [![TypeScript](https://img.shields.io/badge/TypeScript-5.9-blue.svg)](https://www.typescriptlang.org/)
6
6
  [![Node.js](https://img.shields.io/badge/Node.js-20+-green.svg)](https://nodejs.org/)
@@ -73,7 +73,7 @@ namewise undo [session-id] [options]
73
73
  |--------|-------------|---------|
74
74
  | `--provider` | AI provider (`claude`, `openai`, `ollama`, `lmstudio`) | `claude` |
75
75
  | `--base-url` | Base URL for local LLM providers | Auto-detected |
76
- | `--model` | Model name for local LLM providers | Provider default |
76
+ | `--model` | Model name (overrides provider default for any provider) | Provider default |
77
77
  | `--api-key` | API key for the chosen provider | Interactive prompt |
78
78
  | `--case` | Naming convention (kebab-case, snake_case, camelCase, PascalCase, lowercase, UPPERCASE) | `kebab-case` |
79
79
  | `--template` | File category template (document, movie, music, series, photo, book, general, auto) | `general` |
@@ -218,11 +218,11 @@ Supported keys: `provider`, `case`, `template`, `name`, `date`, `maxSize`, `mode
218
218
  |----------|---------|----------------|-------------|
219
219
  | `general` | `{content}` | `meeting-notes-q4-2024.pdf` | Default — simple descriptive names |
220
220
  | `document` | `{content}-{name}-{date}` | `driving-license-john-20250905.pdf` | Personal documents, contracts, certificates |
221
- | `movie` | `{content}-{year}` | `the-dark-knight-2008.mkv` | Movie files with release year |
222
- | `series` | `{content}-s{season}e{episode}` | `breaking-bad-s01e01.mkv` | TV series episodes |
223
- | `music` | `{artist}-{content}` | `the-beatles-hey-jude.mp3` | Music files with artist |
221
+ | `movie` | AI provides full name | `the-dark-knight-2008.mkv` | Movie files AI includes release year |
222
+ | `series` | AI provides full name | `breaking-bad-s01e01.mkv` | TV series AI includes season/episode |
223
+ | `music` | AI provides full name | `the-beatles-hey-jude.mp3` | Music files AI includes artist name |
224
224
  | `photo` | `{content}-{name}-{date}` | `vacation-paris-john-20240715.jpg` | Personal photos |
225
- | `book` | `{author}-{content}` | `george-orwell-1984.pdf` | Books and ebooks |
225
+ | `book` | AI provides full name | `george-orwell-1984.pdf` | Books AI includes author name |
226
226
  | `auto` | *Automatic* | *Varies by detected type* | Let AI detect and choose best template |
227
227
 
228
228
  ## AI Provider Setup
@@ -247,18 +247,20 @@ Supported keys: `provider`, `case`, `template`, `name`, `date`, `maxSize`, `mode
247
247
  1. Visit [Anthropic Console](https://console.anthropic.com/)
248
248
  2. Generate an API key
249
249
  3. `export ANTHROPIC_API_KEY=your-key`
250
+ 4. Default model: `claude-sonnet-4-5-20250929` (override with `--model`)
250
251
 
251
252
  **OpenAI**
252
253
  1. Visit [OpenAI Platform](https://platform.openai.com/api-keys)
253
254
  2. Create an API key
254
255
  3. `export OPENAI_API_KEY=your-key`
256
+ 4. Default model: `gpt-4o` (override with `--model`)
255
257
 
256
258
  ## How It Works
257
259
 
258
260
  1. **File Discovery**: Scans directory (recursively if `--recursive`) for supported file types
259
- 2. **Content Extraction**: Uses specialized parsers to extract text; falls back to vision AI for scanned PDFs
260
- 3. **AI Processing**: Sends content to the configured AI provider for filename suggestions
261
- 4. **Template & Convention**: Applies the chosen category template and naming convention
261
+ 2. **Content Extraction**: Uses specialized parsers to extract text and metadata; falls back to vision AI for scanned PDFs
262
+ 3. **AI Processing**: Sends up to 5000 characters of content plus metadata to the configured AI provider for filename suggestions
263
+ 4. **Template & Convention**: Applies the chosen category template and naming convention; for `document` and `photo` templates, uses the document's own creation date from metadata when available
262
264
  5. **Conflict Resolution**: If the target name exists, auto-numbers (`-2`, `-3`, …)
263
265
  6. **Rename / Preview**: Renames files on disk, or shows a preview in dry-run mode
264
266
  7. **History**: Saves the session to `~/.namewise/history.json` for later undo
@@ -270,7 +272,7 @@ Supported keys: `provider`, `case`, `template`, `name`, `date`, `maxSize`, `mode
270
272
  - **Conflict Auto-Numbering**: Never overwrites an existing file
271
273
  - **File Size Limits**: Skips files above `--max-size`
272
274
  - **Extension Preservation**: Original file extensions are never changed
273
- - **Comprehensive Testing**: 428 tests with 100% coverage
275
+ - **Comprehensive Testing**: 457 tests with 100% coverage
274
276
 
275
277
  ## Testing & Development
276
278
 
@@ -14,7 +14,7 @@ export function setupCommands(program) {
14
14
  .option('--dry-run', 'Preview changes without renaming files (RECOMMENDED first!)', false)
15
15
  .option('--max-size <size>', 'Maximum file size in MB (default: 10)')
16
16
  .option('--base-url <url>', 'Base URL for local LLM providers')
17
- .option('--model <name>', 'Model name for local LLM providers')
17
+ .option('--model <name>', 'Model name to use (overrides provider default)')
18
18
  .option('-r, --recursive', 'Recursively scan subdirectories', false)
19
19
  .option('--depth <n>', 'Maximum recursion depth when using --recursive')
20
20
  .option('--concurrency <n>', 'Files to process in parallel (default: 3)')
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/cli/commands.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,MAAM,UAAU,aAAa,CAAC,OAAgB;IAC5C,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,yEAAyE,CAAC;SACtF,QAAQ,CAAC,aAAa,EAAE,mEAAmE,EAAE,GAAG,CAAC;SACjG,MAAM,CAAC,2BAA2B,EAAE,8DAA8D,CAAC;SACnG,MAAM,CAAC,qBAAqB,EAAE,sFAAsF,CAAC;SACrH,MAAM,CAAC,yBAAyB,EAAE,yGAAyG,CAAC;SAC5I,MAAM,CAAC,2BAA2B,EAAE,uFAAuF,CAAC;SAC5H,MAAM,CAAC,2BAA2B,EAAE,4CAA4C,CAAC;SACjF,MAAM,CAAC,qBAAqB,EAAE,4DAA4D,CAAC;SAC3F,MAAM,CAAC,WAAW,EAAE,6DAA6D,EAAE,KAAK,CAAC;SACzF,MAAM,CAAC,mBAAmB,EAAE,uCAAuC,CAAC;SACpE,MAAM,CAAC,kBAAkB,EAAE,kCAAkC,CAAC;SAC9D,MAAM,CAAC,gBAAgB,EAAE,oCAAoC,CAAC;SAC9D,MAAM,CAAC,iBAAiB,EAAE,iCAAiC,EAAE,KAAK,CAAC;SACnE,MAAM,CAAC,aAAa,EAAE,gDAAgD,CAAC;SACvE,MAAM,CAAC,mBAAmB,EAAE,2CAA2C,CAAC;SACxE,MAAM,CAAC,iBAAiB,EAAE,yCAAyC,CAAC;SACpE,WAAW,CAAC,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyCzB,CAAC;SACG,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE;QACnC,MAAM,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,yCAAyC,CAAC;SACtD,QAAQ,CAAC,cAAc,EAAE,4CAA4C,CAAC;SACtE,MAAM,CAAC,QAAQ,EAAE,4CAA4C,CAAC;SAC9D,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE;QACnC,IAAI,CAAC;YACH,MAAM,UAAU,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;YAClF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/cli/commands.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,MAAM,UAAU,aAAa,CAAC,OAAgB;IAC5C,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,yEAAyE,CAAC;SACtF,QAAQ,CAAC,aAAa,EAAE,mEAAmE,EAAE,GAAG,CAAC;SACjG,MAAM,CAAC,2BAA2B,EAAE,8DAA8D,CAAC;SACnG,MAAM,CAAC,qBAAqB,EAAE,sFAAsF,CAAC;SACrH,MAAM,CAAC,yBAAyB,EAAE,yGAAyG,CAAC;SAC5I,MAAM,CAAC,2BAA2B,EAAE,uFAAuF,CAAC;SAC5H,MAAM,CAAC,2BAA2B,EAAE,4CAA4C,CAAC;SACjF,MAAM,CAAC,qBAAqB,EAAE,4DAA4D,CAAC;SAC3F,MAAM,CAAC,WAAW,EAAE,6DAA6D,EAAE,KAAK,CAAC;SACzF,MAAM,CAAC,mBAAmB,EAAE,uCAAuC,CAAC;SACpE,MAAM,CAAC,kBAAkB,EAAE,kCAAkC,CAAC;SAC9D,MAAM,CAAC,gBAAgB,EAAE,gDAAgD,CAAC;SAC1E,MAAM,CAAC,iBAAiB,EAAE,iCAAiC,EAAE,KAAK,CAAC;SACnE,MAAM,CAAC,aAAa,EAAE,gDAAgD,CAAC;SACvE,MAAM,CAAC,mBAAmB,EAAE,2CAA2C,CAAC;SACxE,MAAM,CAAC,iBAAiB,EAAE,yCAAyC,CAAC;SACpE,WAAW,CAAC,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyCzB,CAAC;SACG,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE;QACnC,MAAM,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,yCAAyC,CAAC;SACtD,QAAQ,CAAC,cAAc,EAAE,4CAA4C,CAAC;SACtE,MAAM,CAAC,QAAQ,EAAE,4CAA4C,CAAC;SAC9D,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE;QACnC,IAAI,CAAC;YACH,MAAM,UAAU,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;YAClF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/parsers/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAM3D,qBAAa,qBAAqB;IAChC,OAAO,CAAC,OAAO,CAAmB;gBAEtB,MAAM,CAAC,EAAE,MAAM;IAS3B,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;IAIlD,sBAAsB,IAAI,MAAM,EAAE;CAenC"}
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/parsers/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAM3D,qBAAa,qBAAqB;IAChC,OAAO,CAAC,OAAO,CAAmB;gBAEtB,MAAM,CAAC,EAAE,MAAM;IAS3B,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;IAIlD,sBAAsB,IAAI,MAAM,EAAE;CAMnC"}
@@ -16,17 +16,8 @@ export class DocumentParserFactory {
16
16
  return this.parsers.find(parser => parser.supports(filePath)) || null;
17
17
  }
18
18
  getSupportedExtensions() {
19
- const extensions = new Set();
20
- // Add known extensions based on parser implementations
21
- extensions.add('.pdf');
22
- extensions.add('.docx');
23
- extensions.add('.doc');
24
- extensions.add('.xlsx');
25
- extensions.add('.xls');
26
- extensions.add('.txt');
27
- extensions.add('.md');
28
- extensions.add('.rtf');
29
- return Array.from(extensions);
19
+ const candidates = ['.pdf', '.docx', '.doc', '.xlsx', '.xls', '.txt', '.md', '.rtf'];
20
+ return candidates.filter(ext => this.parsers.some(parser => parser.supports(`file${ext}`)));
30
21
  }
31
22
  }
32
23
  //# sourceMappingURL=factory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/parsers/factory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,OAAO,qBAAqB;IACxB,OAAO,CAAmB;IAElC,YAAY,MAAe;QACzB,IAAI,CAAC,OAAO,GAAG;YACb,IAAI,SAAS,EAAE;YACf,IAAI,UAAU,EAAE;YAChB,IAAI,WAAW,EAAE;YACjB,IAAI,UAAU,EAAE;SACjB,CAAC;IACJ,CAAC;IAED,SAAS,CAAC,QAAgB;QACxB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,IAAI,CAAC;IACxE,CAAC;IAED,sBAAsB;QACpB,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QAErC,uDAAuD;QACvD,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACvB,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACxB,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACvB,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACxB,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACvB,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACvB,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACtB,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAEvB,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAChC,CAAC;CACF"}
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/parsers/factory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,OAAO,qBAAqB;IACxB,OAAO,CAAmB;IAElC,YAAY,MAAe;QACzB,IAAI,CAAC,OAAO,GAAG;YACb,IAAI,SAAS,EAAE;YACf,IAAI,UAAU,EAAE;YAChB,IAAI,WAAW,EAAE;YACjB,IAAI,UAAU,EAAE;SACjB,CAAC;IACJ,CAAC;IAED,SAAS,CAAC,QAAgB;QACxB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,IAAI,CAAC;IACxE,CAAC;IAED,sBAAsB;QACpB,MAAM,UAAU,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QACrF,OAAO,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC7B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,CAC3D,CAAC;IACJ,CAAC;CACF"}
@@ -8,11 +8,11 @@ export class AIServiceFactory {
8
8
  case 'claude':
9
9
  if (!apiKey)
10
10
  throw new Error('API key is required for Claude provider');
11
- return new ClaudeService(apiKey);
11
+ return new ClaudeService(apiKey, localLLMConfig?.model);
12
12
  case 'openai':
13
13
  if (!apiKey)
14
14
  throw new Error('API key is required for OpenAI provider');
15
- return new OpenAIService(apiKey);
15
+ return new OpenAIService(apiKey, localLLMConfig?.model);
16
16
  case 'ollama':
17
17
  return new OllamaService(localLLMConfig?.baseUrl || 'http://localhost:11434', localLLMConfig?.model || 'llama3.1');
18
18
  case 'lmstudio':
@@ -1 +1 @@
1
- {"version":3,"file":"ai-factory.js","sourceRoot":"","sources":["../../src/services/ai-factory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAOxD,MAAM,OAAO,gBAAgB;IAC3B,MAAM,CAAC,MAAM,CACX,QAAqD,EACrD,MAAe,EACf,cAA+B;QAE/B,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,QAAQ;gBACX,IAAI,CAAC,MAAM;oBAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;gBACxE,OAAO,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;YACnC,KAAK,QAAQ;gBACX,IAAI,CAAC,MAAM;oBAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;gBACxE,OAAO,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;YACnC,KAAK,QAAQ;gBACX,OAAO,IAAI,aAAa,CACtB,cAAc,EAAE,OAAO,IAAI,wBAAwB,EACnD,cAAc,EAAE,KAAK,IAAI,UAAU,CACpC,CAAC;YACJ,KAAK,UAAU;gBACb,OAAO,IAAI,eAAe,CACxB,cAAc,EAAE,OAAO,IAAI,uBAAuB,EAClD,cAAc,EAAE,KAAK,IAAI,aAAa,CACvC,CAAC;YACJ;gBACE,MAAM,IAAI,KAAK,CAAC,4BAA4B,QAAQ,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"ai-factory.js","sourceRoot":"","sources":["../../src/services/ai-factory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAOxD,MAAM,OAAO,gBAAgB;IAC3B,MAAM,CAAC,MAAM,CACX,QAAqD,EACrD,MAAe,EACf,cAA+B;QAE/B,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,QAAQ;gBACX,IAAI,CAAC,MAAM;oBAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;gBACxE,OAAO,IAAI,aAAa,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;YAC1D,KAAK,QAAQ;gBACX,IAAI,CAAC,MAAM;oBAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;gBACxE,OAAO,IAAI,aAAa,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;YAC1D,KAAK,QAAQ;gBACX,OAAO,IAAI,aAAa,CACtB,cAAc,EAAE,OAAO,IAAI,wBAAwB,EACnD,cAAc,EAAE,KAAK,IAAI,UAAU,CACpC,CAAC;YACJ,KAAK,UAAU;gBACb,OAAO,IAAI,eAAe,CACxB,cAAc,EAAE,OAAO,IAAI,uBAAuB,EAClD,cAAc,EAAE,KAAK,IAAI,aAAa,CACvC,CAAC;YACJ;gBACE,MAAM,IAAI,KAAK,CAAC,4BAA4B,QAAQ,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;CACF"}
@@ -2,7 +2,8 @@ import { AIProvider, FileInfo } from '../types/index.js';
2
2
  export declare class ClaudeService implements AIProvider {
3
3
  name: string;
4
4
  private client;
5
- constructor(apiKey: string);
5
+ private model;
6
+ constructor(apiKey: string, model?: string);
6
7
  generateFileName(content: string, originalName: string, namingConvention?: string, category?: string, fileInfo?: FileInfo): Promise<string>;
7
8
  private sanitizeFileName;
8
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"claude-service.d.ts","sourceRoot":"","sources":["../../src/services/claude-service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAKzD,qBAAa,aAAc,YAAW,UAAU;IAC9C,IAAI,SAAY;IAChB,OAAO,CAAC,MAAM,CAAY;gBAEd,MAAM,EAAE,MAAM;IAMpB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,gBAAgB,GAAE,MAAqB,EAAE,QAAQ,GAAE,MAAkB,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;IAkF1K,OAAO,CAAC,gBAAgB;CAuBzB"}
1
+ {"version":3,"file":"claude-service.d.ts","sourceRoot":"","sources":["../../src/services/claude-service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAKzD,qBAAa,aAAc,YAAW,UAAU;IAC9C,IAAI,SAAY;IAChB,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,KAAK,CAAS;gBAEV,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;IAKpC,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,gBAAgB,GAAE,MAAqB,EAAE,QAAQ,GAAE,MAAkB,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;IAkF1K,OAAO,CAAC,gBAAgB;CAuBzB"}
@@ -4,10 +4,10 @@ import { buildFileNamePrompt } from '../utils/ai-prompts.js';
4
4
  export class ClaudeService {
5
5
  name = 'Claude';
6
6
  client;
7
- constructor(apiKey) {
8
- this.client = new Anthropic({
9
- apiKey: apiKey
10
- });
7
+ model;
8
+ constructor(apiKey, model) {
9
+ this.client = new Anthropic({ apiKey });
10
+ this.model = model ?? 'claude-sonnet-4-5-20250929';
11
11
  }
12
12
  async generateFileName(content, originalName, namingConvention = 'kebab-case', category = 'general', fileInfo) {
13
13
  const convention = namingConvention;
@@ -30,7 +30,7 @@ export class ClaudeService {
30
30
  fileInfo
31
31
  });
32
32
  response = await this.client.messages.create({
33
- model: 'claude-sonnet-4-5-20250929', // Use Claude Sonnet 4.5 for vision capabilities
33
+ model: this.model,
34
34
  max_tokens: 100,
35
35
  messages: [
36
36
  {
@@ -63,7 +63,7 @@ export class ClaudeService {
63
63
  fileInfo
64
64
  });
65
65
  response = await this.client.messages.create({
66
- model: 'claude-3-haiku-20240307',
66
+ model: this.model,
67
67
  max_tokens: 100,
68
68
  messages: [
69
69
  {
@@ -1 +1 @@
1
- {"version":3,"file":"claude-service.js","sourceRoot":"","sources":["../../src/services/claude-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-service.js","sourceRoot":"","sources":["../../src/services/claude-service.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"file-renamer.d.ts","sourceRoot":"","sources":["../../src/services/file-renamer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAG9D,qBAAa,WAAW;IAEpB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,MAAM;gBAFN,aAAa,EAAE,qBAAqB,EACpC,SAAS,EAAE,UAAU,EACrB,MAAM,EAAE,MAAM;IAGlB,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;YAkE/C,UAAU;YAmEV,eAAe;CAuB9B"}
1
+ {"version":3,"file":"file-renamer.d.ts","sourceRoot":"","sources":["../../src/services/file-renamer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAG9D,qBAAa,WAAW;IAEpB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,MAAM;gBAFN,aAAa,EAAE,qBAAqB,EACpC,SAAS,EAAE,UAAU,EACrB,MAAM,EAAE,MAAM;IAGlB,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;YAkE/C,UAAU;YAoEV,eAAe;CAuB9B"}
@@ -100,7 +100,7 @@ export class FileRenamer {
100
100
  throw new Error('AI service failed to generate a filename');
101
101
  }
102
102
  // Apply template to include personal info, dates, etc.
103
- const templatedName = applyTemplate(coreFileName, fileCategory, this.config.templateOptions, this.config.namingConvention);
103
+ const templatedName = applyTemplate(coreFileName, fileCategory, this.config.templateOptions, this.config.namingConvention, file);
104
104
  // Create new filename with original extension
105
105
  const newFileName = `${templatedName}${file.extension}`;
106
106
  const newPath = path.join(path.dirname(file.path), newFileName);
@@ -1 +1 @@
1
- {"version":3,"file":"file-renamer.js","sourceRoot":"","sources":["../../src/services/file-renamer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file-renamer.js","sourceRoot":"","sources":["../../src/services/file-renamer.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,8 @@ import { AIProvider, FileInfo } from '../types/index.js';
2
2
  export declare class OpenAIService implements AIProvider {
3
3
  name: string;
4
4
  private client;
5
- constructor(apiKey: string);
5
+ private model;
6
+ constructor(apiKey: string, model?: string);
6
7
  generateFileName(content: string, originalName: string, namingConvention?: string, category?: string, fileInfo?: FileInfo): Promise<string>;
7
8
  private sanitizeFileName;
8
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"openai-service.d.ts","sourceRoot":"","sources":["../../src/services/openai-service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAKzD,qBAAa,aAAc,YAAW,UAAU;IAC9C,IAAI,SAAY;IAChB,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,EAAE,MAAM;IAMpB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,gBAAgB,GAAE,MAAqB,EAAE,QAAQ,GAAE,MAAkB,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;IAgF1K,OAAO,CAAC,gBAAgB;CAuBzB"}
1
+ {"version":3,"file":"openai-service.d.ts","sourceRoot":"","sources":["../../src/services/openai-service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAKzD,qBAAa,aAAc,YAAW,UAAU;IAC9C,IAAI,SAAY;IAChB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAS;gBAEV,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;IAKpC,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,gBAAgB,GAAE,MAAqB,EAAE,QAAQ,GAAE,MAAkB,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;IAgF1K,OAAO,CAAC,gBAAgB;CAuBzB"}
@@ -4,10 +4,10 @@ import { buildFileNamePrompt } from '../utils/ai-prompts.js';
4
4
  export class OpenAIService {
5
5
  name = 'OpenAI';
6
6
  client;
7
- constructor(apiKey) {
8
- this.client = new OpenAI({
9
- apiKey: apiKey
10
- });
7
+ model;
8
+ constructor(apiKey, model) {
9
+ this.client = new OpenAI({ apiKey });
10
+ this.model = model ?? 'gpt-4o';
11
11
  }
12
12
  async generateFileName(content, originalName, namingConvention = 'kebab-case', category = 'general', fileInfo) {
13
13
  const convention = namingConvention;
@@ -30,7 +30,7 @@ export class OpenAIService {
30
30
  fileInfo
31
31
  });
32
32
  response = await this.client.chat.completions.create({
33
- model: 'gpt-4o', // Use GPT-4 with vision capabilities
33
+ model: this.model,
34
34
  messages: [
35
35
  {
36
36
  role: 'user',
@@ -62,7 +62,7 @@ export class OpenAIService {
62
62
  fileInfo
63
63
  });
64
64
  response = await this.client.chat.completions.create({
65
- model: 'gpt-3.5-turbo',
65
+ model: this.model,
66
66
  messages: [
67
67
  {
68
68
  role: 'user',
@@ -1 +1 @@
1
- {"version":3,"file":"openai-service.js","sourceRoot":"","sources":["../../src/services/openai-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openai-service.js","sourceRoot":"","sources":["../../src/services/openai-service.ts"],"names":[],"mappings":"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"}
@@ -57,8 +57,8 @@ Document Properties:`;
57
57
 
58
58
  ${metadataContext}
59
59
 
60
- Document content (first 2000 characters):
61
- ${content.substring(0, 2000)}
60
+ Document content (first 5000 characters):
61
+ ${content.substring(0, 5000)}
62
62
 
63
63
  Important: If this document is specifically for or about a particular person mentioned in the content, start the filename with their name. Otherwise, focus on the document's main purpose and content.
64
64
 
@@ -13,6 +13,6 @@ export interface FileTemplate {
13
13
  }
14
14
  export declare const FILE_TEMPLATES: Record<Exclude<FileCategory, 'auto'>, FileTemplate>;
15
15
  export declare function categorizeFile(filePath: string, content?: string, fileInfo?: FileInfo): FileCategory;
16
- export declare function applyTemplate(aiGeneratedName: string, category: FileCategory, templateOptions: TemplateOptions, namingConvention: NamingConvention): string;
16
+ export declare function applyTemplate(aiGeneratedName: string, category: FileCategory, templateOptions: TemplateOptions, namingConvention: NamingConvention, fileInfo?: FileInfo): string;
17
17
  export declare function getTemplateInstructions(category: FileCategory): string;
18
18
  //# sourceMappingURL=file-templates.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"file-templates.d.ts","sourceRoot":"","sources":["../../src/utils/file-templates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAG/D,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;AAE7G,MAAM,WAAW,eAAe;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,YAAY,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,CAAC;IACzD,QAAQ,CAAC,EAAE,YAAY,CAAC;CACzB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,EAAE,YAAY,CAuE9E,CAAC;AAEF,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,YAAY,CAiHpG;AAED,wBAAgB,aAAa,CAC3B,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,YAAY,EACtB,eAAe,EAAE,eAAe,EAChC,gBAAgB,EAAE,gBAAgB,GACjC,MAAM,CA2BR;AA8BD,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CAMtE"}
1
+ {"version":3,"file":"file-templates.d.ts","sourceRoot":"","sources":["../../src/utils/file-templates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAG/D,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;AAE7G,MAAM,WAAW,eAAe;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,YAAY,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,CAAC;IACzD,QAAQ,CAAC,EAAE,YAAY,CAAC;CACzB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,EAAE,YAAY,CAuE9E,CAAC;AAEF,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,YAAY,CAiHpG;AAED,wBAAgB,aAAa,CAC3B,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,YAAY,EACtB,eAAe,EAAE,eAAe,EAChC,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,CAAC,EAAE,QAAQ,GAClB,MAAM,CA4BR;AA8BD,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CAoBtE"}
@@ -12,8 +12,8 @@ export const FILE_TEMPLATES = {
12
12
  },
13
13
  movie: {
14
14
  category: 'movie',
15
- pattern: '{content}-{year}',
16
- description: 'Movies with release year',
15
+ pattern: '{content}',
16
+ description: 'Movies include release year in the name',
17
17
  examples: [
18
18
  'the-dark-knight-2008.mkv',
19
19
  'inception-2010.mp4',
@@ -22,8 +22,8 @@ export const FILE_TEMPLATES = {
22
22
  },
23
23
  music: {
24
24
  category: 'music',
25
- pattern: '{artist}-{content}',
26
- description: 'Music files with artist name',
25
+ pattern: '{content}',
26
+ description: 'Music files include artist name at the start',
27
27
  examples: [
28
28
  'the-beatles-hey-jude.mp3',
29
29
  'queen-bohemian-rhapsody.flac',
@@ -32,8 +32,8 @@ export const FILE_TEMPLATES = {
32
32
  },
33
33
  series: {
34
34
  category: 'series',
35
- pattern: '{content}-s{season}e{episode}',
36
- description: 'TV series with season and episode',
35
+ pattern: '{content}',
36
+ description: 'TV series include show name, season, and episode number',
37
37
  examples: [
38
38
  'breaking-bad-s01e01.mkv',
39
39
  'game-of-thrones-s04e09.mp4',
@@ -52,8 +52,8 @@ export const FILE_TEMPLATES = {
52
52
  },
53
53
  book: {
54
54
  category: 'book',
55
- pattern: '{author}-{content}',
56
- description: 'Books with author name',
55
+ pattern: '{content}',
56
+ description: 'Books include author name at the start',
57
57
  examples: [
58
58
  'george-orwell-1984.pdf',
59
59
  'j-k-rowling-harry-potter-philosophers-stone.epub',
@@ -176,7 +176,7 @@ export function categorizeFile(filePath, content, fileInfo) {
176
176
  return 'book';
177
177
  return 'general';
178
178
  }
179
- export function applyTemplate(aiGeneratedName, category, templateOptions, namingConvention) {
179
+ export function applyTemplate(aiGeneratedName, category, templateOptions, namingConvention, fileInfo) {
180
180
  if (category === 'auto') {
181
181
  throw new Error('Cannot apply template for "auto" category. Category should be resolved before calling applyTemplate.');
182
182
  }
@@ -188,7 +188,8 @@ export function applyTemplate(aiGeneratedName, category, templateOptions, naming
188
188
  result = result.replace('{personalName}', templateOptions.personalName);
189
189
  }
190
190
  if (templateOptions.dateFormat && templateOptions.dateFormat !== 'none') {
191
- const date = formatDate(new Date(), templateOptions.dateFormat);
191
+ const dateToUse = fileInfo?.documentMetadata?.creationDate ?? new Date();
192
+ const date = formatDate(dateToUse, templateOptions.dateFormat);
192
193
  result = result.replace('{date}', date);
193
194
  }
194
195
  // Clean up any remaining unreplaced variables
@@ -227,6 +228,19 @@ export function getTemplateInstructions(category) {
227
228
  return 'Generate appropriate filename based on detected file type and content.';
228
229
  }
229
230
  const template = FILE_TEMPLATES[category];
230
- return `Generate filename for ${category} type files. ${template.description}. Examples: ${template.examples.join(', ')}`;
231
+ const baseInstruction = `Generate filename for ${category} type files. ${template.description}.`;
232
+ const exampleInstruction = `Examples (without extension): ${template.examples.map(e => e.replace(/\.[^.]+$/, '')).join(', ')}`;
233
+ switch (category) {
234
+ case 'movie':
235
+ return `${baseInstruction} The complete name must include the release year at the end. ${exampleInstruction}`;
236
+ case 'music':
237
+ return `${baseInstruction} The complete name must start with the artist name followed by the track title. ${exampleInstruction}`;
238
+ case 'series':
239
+ return `${baseInstruction} The complete name must include the season and episode numbers (e.g. s01e01). ${exampleInstruction}`;
240
+ case 'book':
241
+ return `${baseInstruction} The complete name must start with the author name followed by the book title. ${exampleInstruction}`;
242
+ default:
243
+ return `${baseInstruction} ${exampleInstruction}`;
244
+ }
231
245
  }
232
246
  //# sourceMappingURL=file-templates.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"file-templates.js","sourceRoot":"","sources":["../../src/utils/file-templates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file-templates.js","sourceRoot":"","sources":["../../src/utils/file-templates.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@amirdaraee/namewise",
3
- "version": "0.6.0",
3
+ "version": "0.6.1",
4
4
  "main": "dist/index.js",
5
5
  "type": "module",
6
6
  "bin": {