-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy pathpackage.json
More file actions
110 lines (110 loc) · 2.86 KB
/
package.json
File metadata and controls
110 lines (110 loc) · 2.86 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
{
"name": "exif-ai",
"version": "4.0.0",
"description": "A powerful Node.js CLI and library that uses AI providers (OpenAI, Google Gemini, Anthropic Claude, Mistral, Ollama, Amazon Bedrock, Azure OpenAI, DeepInfra, Fireworks, XAI, OpenRouter, and more) to intelligently write image descriptions and tags to EXIF metadata.",
"homepage": "https://github.com/tychenjiajun/exif-ai",
"repository": {
"type": "git",
"url": "https://github.com/tychenjiajun/exif-ai.git"
},
"bugs": {
"url": "https://github.com/tychenjiajun/exif-ai/issues"
},
"scripts": {
"build": "tsc -p tsconfig.build.json",
"clean": "rimraf dist",
"watch": "tsc --watch -p tsconfig.build.json",
"test": "vitest",
"test:ui": "vitest --ui"
},
"engines": {
"node": ">=16"
},
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
"type": "module",
"bin": "./dist/exif-ai.js",
"keywords": [
"ai",
"exif",
"image",
"jpeg",
"jpg",
"photo",
"metadata",
"llm",
"mllm",
"cli",
"cli-tool",
"openai",
"google",
"gemini",
"anthropic",
"claude",
"mistral",
"ollama",
"amazon",
"bedrock",
"azure",
"deepinfra",
"fireworks",
"xai",
"openrouter",
"together",
"ai-sdk",
"vercel"
],
"author": {
"name": "Jiajun Chen",
"email": "tychenjiajun@live.cn"
},
"license": "GPL-2.0-only",
"dependencies": {
"@ai-sdk/amazon-bedrock": "^2.2.9",
"@ai-sdk/anthropic": "^1.2.12",
"@ai-sdk/azure": "^1.3.23",
"@ai-sdk/deepinfra": "^0.2.15",
"@ai-sdk/fireworks": "^0.2.14",
"@ai-sdk/google": "^1.2.18",
"@ai-sdk/mistral": "^1.2.8",
"@ai-sdk/openai": "^1.3.22",
"@ai-sdk/openai-compatible": "^0.2.14",
"@ai-sdk/togetherai": "^0.2.14",
"@ai-sdk/xai": "^1.2.16",
"@fluent/bundle": "^0.19.1",
"@openrouter/ai-sdk-provider": "^0.7.0",
"ai": "^4.3.16",
"exiftool-vendored": "^30.2.0",
"file-type": "^21.0.0",
"https-proxy-agent": "^7.0.6",
"iso-639-1": "^3.1.5",
"node-fetch": "^3.3.2",
"openai": "^5.0.1",
"sharp": "0.34.2",
"ts-extras": "^0.14.0",
"xhr2": "^0.2.1",
"yargs": "^18.0.0"
},
"devDependencies": {
"@eslint/js": "^9.28.0",
"@types/node": "^22.15.29",
"@types/yargs": "^17.0.33",
"@typescript-eslint/parser": "^8.33.0",
"@vitest/coverage-istanbul": "^3.1.4",
"@vitest/ui": "^3.1.4",
"del": "^8.0.0",
"eslint": "^9.28.0",
"eslint-config-prettier": "^10.1.5",
"eslint-import-resolver-typescript": "^4.4.2",
"eslint-plugin-import-x": "^4.15.0",
"eslint-plugin-prettier": "^5.4.1",
"eslint-plugin-promise": "^7.2.1",
"eslint-plugin-sonarjs": "^3.0.2",
"eslint-plugin-unicorn": "^59.0.1",
"globals": "^16.2.0",
"prettier": "^3.5.3",
"typescript": "^5.8.3",
"typescript-eslint": "^8.33.0",
"vitest": "^3.1.4"
}
}