virtualcode 2.2.7 → 2.2.8
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/dist/tui.d.ts.map +1 -1
- package/dist/tui.js +72 -59
- package/dist/tui.js.map +1 -1
- package/install.js +8 -6
- package/package.json +5 -5
package/dist/tui.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tui.d.ts","sourceRoot":"","sources":["../src/tui.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tui.d.ts","sourceRoot":"","sources":["../src/tui.ts"],"names":[],"mappings":"AA8HA,QAAA,MAAM,SAAS;;aAEE,GAAG;CAyCnB,CAAA;AAED,eAAe,SAAS,CAAA"}
|
package/dist/tui.js
CHANGED
|
@@ -94,12 +94,81 @@ function saveTokenAtomic(token) {
|
|
|
94
94
|
}
|
|
95
95
|
safeChmod(TOKEN_FILE);
|
|
96
96
|
}
|
|
97
|
+
function openSetupDialog(api) {
|
|
98
|
+
if (!api.ui?.dialog?.replace || !api.ui?.DialogPrompt) {
|
|
99
|
+
fileLog("WARN", "TUI dialog API missing; cannot open setup");
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
api.ui.dialog.replace(() => api.ui.DialogPrompt({
|
|
103
|
+
title: "Telegram Setup",
|
|
104
|
+
placeholder: "Paste your BotFather token here",
|
|
105
|
+
onConfirm(token) {
|
|
106
|
+
try {
|
|
107
|
+
if (typeof token !== "string")
|
|
108
|
+
return;
|
|
109
|
+
const trimmed = token.trim().slice(0, MAX_TOKEN_LEN);
|
|
110
|
+
if (!trimmed)
|
|
111
|
+
return;
|
|
112
|
+
if (!TOKEN_REGEX.test(trimmed)) {
|
|
113
|
+
try {
|
|
114
|
+
api.ui?.toast?.({
|
|
115
|
+
title: "Telegram",
|
|
116
|
+
message: sanitizeTUI("Invalid token format. Expected: 1234567890:ABC-DEF..."),
|
|
117
|
+
variant: "error",
|
|
118
|
+
duration: 4000,
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
catch { }
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
saveTokenAtomic(trimmed);
|
|
125
|
+
try {
|
|
126
|
+
api.ui?.toast?.({
|
|
127
|
+
title: "Telegram",
|
|
128
|
+
message: sanitizeTUI("Token saved! Bot will connect on next message."),
|
|
129
|
+
variant: "success",
|
|
130
|
+
duration: 4000,
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
catch { }
|
|
134
|
+
try {
|
|
135
|
+
api.ui?.dialog?.clear?.();
|
|
136
|
+
}
|
|
137
|
+
catch { }
|
|
138
|
+
}
|
|
139
|
+
catch (err) {
|
|
140
|
+
fileLog("ERROR", "onConfirm failed:", err instanceof Error ? err.message : String(err));
|
|
141
|
+
}
|
|
142
|
+
},
|
|
143
|
+
onCancel() {
|
|
144
|
+
try {
|
|
145
|
+
api.ui?.dialog?.clear?.();
|
|
146
|
+
}
|
|
147
|
+
catch { }
|
|
148
|
+
},
|
|
149
|
+
}));
|
|
150
|
+
}
|
|
97
151
|
const TuiPlugin = {
|
|
98
152
|
id: "virtualcode/tui",
|
|
99
153
|
async tui(api) {
|
|
100
154
|
try {
|
|
155
|
+
if (typeof api?.command?.register === "function") {
|
|
156
|
+
api.command.register(() => [
|
|
157
|
+
{
|
|
158
|
+
title: "/telegram",
|
|
159
|
+
value: "telegram.setup",
|
|
160
|
+
description: "Setup or change your Telegram bot token",
|
|
161
|
+
category: "Telegram",
|
|
162
|
+
slash: { name: "telegram" },
|
|
163
|
+
onSelect() {
|
|
164
|
+
openSetupDialog(api);
|
|
165
|
+
},
|
|
166
|
+
},
|
|
167
|
+
]);
|
|
168
|
+
return;
|
|
169
|
+
}
|
|
101
170
|
if (!api?.keymap?.registerLayer) {
|
|
102
|
-
fileLog("WARN", "
|
|
171
|
+
fileLog("WARN", "No supported TUI API found; plugin disabled");
|
|
103
172
|
return;
|
|
104
173
|
}
|
|
105
174
|
api.keymap.registerLayer({
|
|
@@ -112,70 +181,14 @@ const TuiPlugin = {
|
|
|
112
181
|
desc: "Setup or change your Telegram bot token",
|
|
113
182
|
category: "Telegram",
|
|
114
183
|
run() {
|
|
115
|
-
|
|
116
|
-
if (!api.ui?.dialog?.replace || !api.ui?.DialogPrompt) {
|
|
117
|
-
fileLog("WARN", "OpenCode TUI dialog API missing; cannot open setup");
|
|
118
|
-
return;
|
|
119
|
-
}
|
|
120
|
-
api.ui.dialog.replace(() => api.ui.DialogPrompt({
|
|
121
|
-
title: "Telegram Setup",
|
|
122
|
-
placeholder: "Paste your BotFather token here",
|
|
123
|
-
onConfirm(token) {
|
|
124
|
-
try {
|
|
125
|
-
if (typeof token !== "string")
|
|
126
|
-
return;
|
|
127
|
-
const trimmed = token.trim().slice(0, MAX_TOKEN_LEN);
|
|
128
|
-
if (!trimmed)
|
|
129
|
-
return;
|
|
130
|
-
if (!TOKEN_REGEX.test(trimmed)) {
|
|
131
|
-
try {
|
|
132
|
-
api.ui?.toast?.({
|
|
133
|
-
title: "Telegram",
|
|
134
|
-
message: sanitizeTUI("Invalid token format. Expected: 1234567890:ABC-DEF..."),
|
|
135
|
-
variant: "error",
|
|
136
|
-
duration: 4000,
|
|
137
|
-
});
|
|
138
|
-
}
|
|
139
|
-
catch { }
|
|
140
|
-
return;
|
|
141
|
-
}
|
|
142
|
-
saveTokenAtomic(trimmed);
|
|
143
|
-
try {
|
|
144
|
-
api.ui?.toast?.({
|
|
145
|
-
title: "Telegram",
|
|
146
|
-
message: sanitizeTUI("Token saved! Bot will connect on next message."),
|
|
147
|
-
variant: "success",
|
|
148
|
-
duration: 4000,
|
|
149
|
-
});
|
|
150
|
-
}
|
|
151
|
-
catch { }
|
|
152
|
-
try {
|
|
153
|
-
api.ui?.dialog?.clear?.();
|
|
154
|
-
}
|
|
155
|
-
catch { }
|
|
156
|
-
}
|
|
157
|
-
catch (err) {
|
|
158
|
-
fileLog("ERROR", "onConfirm failed:", err instanceof Error ? err.message : String(err));
|
|
159
|
-
}
|
|
160
|
-
},
|
|
161
|
-
onCancel() {
|
|
162
|
-
try {
|
|
163
|
-
api.ui?.dialog?.clear?.();
|
|
164
|
-
}
|
|
165
|
-
catch { }
|
|
166
|
-
},
|
|
167
|
-
}));
|
|
168
|
-
}
|
|
169
|
-
catch (err) {
|
|
170
|
-
fileLog("ERROR", "palette run failed:", err instanceof Error ? err.message : String(err));
|
|
171
|
-
}
|
|
184
|
+
openSetupDialog(api);
|
|
172
185
|
},
|
|
173
186
|
},
|
|
174
187
|
],
|
|
175
188
|
});
|
|
176
189
|
}
|
|
177
190
|
catch (err) {
|
|
178
|
-
fileLog("ERROR", "
|
|
191
|
+
fileLog("ERROR", "TUI registration failed:", err instanceof Error ? err.message : String(err));
|
|
179
192
|
}
|
|
180
193
|
},
|
|
181
194
|
};
|
package/dist/tui.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tui.js","sourceRoot":"","sources":["../src/tui.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"tui.js","sourceRoot":"","sources":["../src/tui.ts"],"names":[],"mappings":"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"}
|
package/install.js
CHANGED
|
@@ -32,7 +32,7 @@ const TOOLS = [
|
|
|
32
32
|
configDir: join(homedir(), ".config", "kilo"),
|
|
33
33
|
bin: "kilo",
|
|
34
34
|
configs: [
|
|
35
|
-
{ file: "kilo.jsonc", json: false, stripJsonc: true },
|
|
35
|
+
{ file: "kilo.jsonc", json: false, stripJsonc: true, entries: ["virtualcode", "virtualcode/tui"] },
|
|
36
36
|
],
|
|
37
37
|
},
|
|
38
38
|
]
|
|
@@ -93,7 +93,8 @@ function stripJsonc(src) {
|
|
|
93
93
|
return out
|
|
94
94
|
}
|
|
95
95
|
|
|
96
|
-
function tryAddConfig(filename, parser, targetDir) {
|
|
96
|
+
function tryAddConfig(filename, parser, targetDir, entries) {
|
|
97
|
+
if (!entries) entries = ["virtualcode"]
|
|
97
98
|
const searchNames = [
|
|
98
99
|
join(".opencode", filename),
|
|
99
100
|
join(".kilocode", filename),
|
|
@@ -111,8 +112,9 @@ function tryAddConfig(filename, parser, targetDir) {
|
|
|
111
112
|
}
|
|
112
113
|
}
|
|
113
114
|
if (!Array.isArray(config.plugin)) config.plugin = []
|
|
114
|
-
|
|
115
|
-
|
|
115
|
+
const toAdd = entries.filter((e) => !config.plugin.includes(e))
|
|
116
|
+
if (toAdd.length === 0) return
|
|
117
|
+
config.plugin.unshift(...toAdd)
|
|
116
118
|
mkdirSync(dirname(path), { recursive: true })
|
|
117
119
|
const serialized = JSON.stringify(config, null, 2)
|
|
118
120
|
if (raw && filename.endsWith("jsonc")) {
|
|
@@ -141,11 +143,11 @@ function installForTool(tool) {
|
|
|
141
143
|
const targetDir = tool.configDir
|
|
142
144
|
for (const cfg of tool.configs) {
|
|
143
145
|
const parser = cfg.stripJsonc ? (raw) => JSON.parse(stripJsonc(raw)) : (raw) => JSON.parse(raw)
|
|
144
|
-
tryAddConfig(cfg.file, parser, targetDir)
|
|
146
|
+
tryAddConfig(cfg.file, parser, targetDir, cfg.entries)
|
|
145
147
|
}
|
|
146
148
|
if (tool.tui) {
|
|
147
149
|
const parser = tool.tui.stripJsonc ? (raw) => JSON.parse(stripJsonc(raw)) : (raw) => JSON.parse(raw)
|
|
148
|
-
tryAddConfig(tool.tui.file, parser, targetDir)
|
|
150
|
+
tryAddConfig(tool.tui.file, parser, targetDir, tool.tui.entries)
|
|
149
151
|
}
|
|
150
152
|
}
|
|
151
153
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "virtualcode",
|
|
3
|
-
"version": "2.2.
|
|
3
|
+
"version": "2.2.8",
|
|
4
4
|
"description": "OpenCode & Kilo Code plugin that bridges your terminal sessions with Telegram",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -49,14 +49,14 @@
|
|
|
49
49
|
"mobile"
|
|
50
50
|
],
|
|
51
51
|
"dependencies": {
|
|
52
|
-
"@opencode-ai/plugin": "^1.17.
|
|
52
|
+
"@opencode-ai/plugin": "^1.17.10",
|
|
53
53
|
"telegraf": "^4.16.3"
|
|
54
54
|
},
|
|
55
55
|
"optionalDependencies": {
|
|
56
|
-
"@kilocode/plugin": "^7.
|
|
56
|
+
"@kilocode/plugin": "^7.3.54"
|
|
57
57
|
},
|
|
58
58
|
"devDependencies": {
|
|
59
|
-
"@types/node": "^22.
|
|
60
|
-
"typescript": "^5.
|
|
59
|
+
"@types/node": "^22.20.0",
|
|
60
|
+
"typescript": "^5.9.3"
|
|
61
61
|
}
|
|
62
62
|
}
|