forked from wienans/vsc-opencode-zen-chat-provider
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpackage.json
More file actions
121 lines (121 loc) · 3.41 KB
/
package.json
File metadata and controls
121 lines (121 loc) · 3.41 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
111
112
113
114
115
116
117
118
119
120
121
{
"name": "opencode-zen-chat-provider",
"publisher": "wienans",
"displayName": "OpenCode Zen Provider",
"description": "Provides OpenCode Zen models to VS Code's Language Model API.",
"version": "0.1.4",
"repository": {
"type": "git",
"url": "https://github.com/wienans/vsc-opencode-zen-chat-provider.git"
},
"license": "MIT",
"engines": {
"vscode": "^1.104.0"
},
"enabledApiProposals": ["chatProvider", "languageModelThinkingPart"],
"categories": [
"AI",
"Chat"
],
"keywords": [
"ai",
"claude",
"gpt",
"agent",
"coding",
"assistant",
"chat provider",
"opencode"
],
"icon": "assets/icon.png",
"main": "./out/extension.js",
"activationEvents": [
"onStartupFinished",
"onCommand:opencodeZen.setApiKey",
"onCommand:opencodeZen.clearApiKey",
"onCommand:opencodeZen.refreshModels",
"onCommand:opencodeZen.selfTest"
],
"contributes": {
"languageModelChatProviders": [
{
"vendor": "opencode",
"displayName": "OpenCode Zen"
}
],
"commands": [
{
"command": "opencodeZen.setApiKey",
"title": "OpenCode Zen: Set API Key"
},
{
"command": "opencodeZen.clearApiKey",
"title": "OpenCode Zen: Clear API Key"
},
{
"command": "opencodeZen.refreshModels",
"title": "OpenCode Zen: Refresh Model List"
},
{
"command": "opencodeZen.selfTest",
"title": "OpenCode Zen: Self Test"
}
],
"configuration": {
"title": "OpenCode Zen",
"properties": {
"opencodeZen.modelCacheTtlMinutes": {
"type": "number",
"default": 60,
"minimum": 0,
"description": "How long to cache models.dev model metadata before refetching. 0 disables caching."
},
"opencodeZen.promptCaching.enabled": {
"type": "boolean",
"default": true,
"description": "Enable prompt caching hints for supported providers (Anthropic, OpenAI, OpenAI-compatible)."
},
"opencodeZen.promptCaching.retention": {
"type": "string",
"enum": ["in_memory", "24h"],
"default": "in_memory",
"description": "Retention policy for OpenAI prompt caching. '24h' requires a compatible OpenAI model."
},
"opencodeZen.promptCaching.cacheKeyScope": {
"type": "string",
"enum": ["workspace", "global", "none"],
"default": "workspace",
"description": "Scope for the prompt cache key used by OpenAI/OpenAI-compatible providers."
},
"opencodeZen.promptCaching.anthropicTtl": {
"type": "string",
"enum": ["5m", "1h", "none"],
"default": "5m",
"description": "Anthropic cache_control TTL for cached message blocks. 'none' omits TTL."
}
}
}
},
"scripts": {
"vscode:prepublish": "npm run compile",
"compile": "tsc -p ./",
"watch": "tsc -watch -p ./",
"lint": "eslint"
},
"dependencies": {
"@ai-sdk/anthropic": "^3.0.15",
"@ai-sdk/google": "^2.0.22",
"@ai-sdk/openai": "^3.0.12",
"@ai-sdk/openai-compatible": "^2.0.13",
"ai": "^6.0.39"
},
"devDependencies": {
"@eslint/js": "^9.13.0",
"@stylistic/eslint-plugin": "^2.9.0",
"@types/node": "^22.0.0",
"@vscode/dts": "^0.4.1",
"eslint": "^9.13.0",
"typescript": "^5.9.2",
"typescript-eslint": "^8.39.0"
}
}