Skip to content

Commit c7f7dfb

Browse files
done
1 parent b119781 commit c7f7dfb

2 files changed

Lines changed: 46 additions & 28 deletions

File tree

README.md

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ The architecture guarantees isolation; failed executions will be trapped and res
9191
| `tags` || `string[]` | Lowercase. Shared vocabulary across similar capabilities (e.g. `system`, `web`, `apps`, `network`). |
9292
| `dependencies` || `string[]` | Exact npm specifiers only. No ranges (`^`, `~`, `>=`, `*`). No git/http/file URLs. |
9393
| `lifecycle` || `object` | `onLoad`, `onUnload`, `onEnable`, `onDisable` hooks. |
94-
| `ui` || `string` | `table` \| `key-value` \| `card-list` \| `command-list` |
94+
| `ui` || `string` | `table` \| `key-value` \| `card-list` \| `command-list`. **Omit the field entirely when no UI hint is needed — `null` is not a valid value and will be ignored by the platform.** |
9595

9696
---
9797

@@ -335,6 +335,24 @@ async handler(params) {
335335
336336
Do **not** import connectivity modules from platform internals. The error-code pattern above is portable and requires no platform-specific imports.
337337
338+
## Electron APIs
339+
340+
Capabilities execute inside the Electron main process, so `require('electron')` is available and fully supported. Use it to access Electron APIs such as `shell.openExternal()`, `clipboard`, `dialog`, and others.
341+
342+
```javascript
343+
async handler(params) {
344+
try {
345+
const { shell } = require('electron');
346+
await shell.openExternal(`https://example.com?q=${encodeURIComponent(params.query)}`);
347+
return { success: true, result: 'Opened in browser.' };
348+
} catch (err) {
349+
return { success: false, error: err.message };
350+
}
351+
},
352+
```
353+
354+
Capabilities remain self-contained — do **not** import from the Venesa application source (e.g. `src/lib/`, `src/brain/`). Only use Node built-ins, declared `dependencies`, and Electron's own API surface.
355+
338356
## Utilizing Lifecycles
339357
340358
Lifecycles tie specific actions directly to external triggers. Hooks enforce asynchronous wrappers natively. Error outputs invoke standard warnings to the console without breaking daemon continuity.

registry.json

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"generated": "2026-03-08T04:38:09.824Z",
2+
"generated": "2026-03-09T21:05:11.551Z",
33
"repository": "mianjunaid1223/venesa-capabilities",
44
"branch": "main",
55
"rawBase": "https://raw.githubusercontent.com/mianjunaid1223/venesa-capabilities/main",
@@ -8,7 +8,7 @@
88
{
99
"name": "convertCurrency",
1010
"description": "Converts an amount from one currency to another using live exchange rates. Provide the amount; source currency code (e.g. USD), and target currency code (e.g. EUR).",
11-
"version": "1.0.2",
11+
"version": "1.0.3",
1212
"returnType": "data",
1313
"tags": [
1414
"currency",
@@ -36,15 +36,15 @@
3636
"dependencies": [
3737
"axios@1.7.9"
3838
],
39-
"hash": "8585c07cc51250b0",
39+
"hash": "db41643936af9d09",
4040
"file": "currency-convert.js",
4141
"path": "capabilities/currency-convert.js",
4242
"url": "https://raw.githubusercontent.com/mianjunaid1223/venesa-capabilities/main/capabilities/currency-convert.js"
4343
},
4444
{
4545
"name": "getDiskInfo",
4646
"description": "Shows all fixed drives (C:, D:, etc...) with total size, free space in GB, and usage percentage. Use when the user asks about disk space, storage capacity, how full a drive is, or whether they have enough space.",
47-
"version": "1.0.2",
47+
"version": "1.0.3",
4848
"returnType": "data",
4949
"tags": [
5050
"system",
@@ -59,15 +59,15 @@
5959
"action": "[action: getDiskInfo]"
6060
}
6161
],
62-
"hash": "b6483d6e43845e93",
62+
"hash": "b81d17964acd869f",
6363
"file": "disk-info.js",
6464
"path": "capabilities/disk-info.js",
6565
"url": "https://raw.githubusercontent.com/mianjunaid1223/venesa-capabilities/main/capabilities/disk-info.js"
6666
},
6767
{
6868
"name": "getTime",
6969
"description": "Returns the current local time and full date including day of the week. Use when the user asks what time it is, today's date, what day it is, or any question about the current moment.",
70-
"version": "1.0.2",
70+
"version": "1.0.3",
7171
"returnType": "data",
7272
"tags": [
7373
"time",
@@ -81,15 +81,15 @@
8181
"action": "[action: getTime]"
8282
}
8383
],
84-
"hash": "0569f698f002157e",
84+
"hash": "d288bf9b1495caaa",
8585
"file": "get-time.js",
8686
"path": "capabilities/get-time.js",
8787
"url": "https://raw.githubusercontent.com/mianjunaid1223/venesa-capabilities/main/capabilities/get-time.js"
8888
},
8989
{
9090
"name": "getWeather",
9191
"description": "Opens a live Google weather search in the browser for a given city or location. Use when the user asks about the current weather, temperature, forecast, or conditions for any place. Accepts an optional location; defaults to generic weather if none is given.",
92-
"version": "1.0.2",
92+
"version": "1.0.3",
9393
"returnType": "action",
9494
"tags": [
9595
"weather",
@@ -103,15 +103,15 @@
103103
"action": "[action: getWeather, location: London]"
104104
}
105105
],
106-
"hash": "f1e9d3d4a9843a3a",
106+
"hash": "f2efbf5708d3305f",
107107
"file": "get-weather.js",
108108
"path": "capabilities/get-weather.js",
109109
"url": "https://raw.githubusercontent.com/mianjunaid1223/venesa-capabilities/main/capabilities/get-weather.js"
110110
},
111111
{
112112
"name": "getInstalledApps",
113113
"description": "Scans the Windows registry and returns up to 50 installed programs with their name, version, and publisher. Use when the user asks what software is installed, whether a specific program exists on the PC, or wants a list of installed applications.",
114-
"version": "1.0.1",
114+
"version": "1.0.2",
115115
"returnType": "data",
116116
"tags": [
117117
"system",
@@ -126,15 +126,15 @@
126126
"action": "[action: getInstalledApps]"
127127
}
128128
],
129-
"hash": "71a92fe69acf4c2f",
129+
"hash": "9c6e47f47feee824",
130130
"file": "installed-apps.js",
131131
"path": "capabilities/installed-apps.js",
132132
"url": "https://raw.githubusercontent.com/mianjunaid1223/venesa-capabilities/main/capabilities/installed-apps.js"
133133
},
134134
{
135135
"name": "getNetworkInfo",
136136
"description": "Returns all active network adapters and their IPv4 addresses. Use when the user asks for their IP address, which network or adapter they are connected to, their network speed, or wants to see connection details.",
137-
"version": "1.0.1",
137+
"version": "1.0.2",
138138
"returnType": "data",
139139
"tags": [
140140
"system",
@@ -149,15 +149,15 @@
149149
"action": "[action: getNetworkInfo]"
150150
}
151151
],
152-
"hash": "da93eacd9f0fdaa0",
152+
"hash": "087debfd3f9c94b3",
153153
"file": "network-info.js",
154154
"path": "capabilities/network-info.js",
155155
"url": "https://raw.githubusercontent.com/mianjunaid1223/venesa-capabilities/main/capabilities/network-info.js"
156156
},
157157
{
158158
"name": "listProcesses",
159159
"description": "Lists the top 10 processes consuming the most CPU, showing process ID, name, CPU time, and memory usage in bytes. Use when the user asks what is slowing the PC down, which processes are running, what is consuming CPU, or wants to identify resource hogs.",
160-
"version": "1.0.1",
160+
"version": "1.0.2",
161161
"returnType": "data",
162162
"tags": [
163163
"system",
@@ -171,15 +171,15 @@
171171
"action": "[action: listProcesses]"
172172
}
173173
],
174-
"hash": "e50ac21a3858a81f",
174+
"hash": "cc75de0bfb54239b",
175175
"file": "processes.js",
176176
"path": "capabilities/processes.js",
177177
"url": "https://raw.githubusercontent.com/mianjunaid1223/venesa-capabilities/main/capabilities/processes.js"
178178
},
179179
{
180180
"name": "quickNote",
181181
"description": "Persistently saves and retrieves short text notes using the memory system. Supports five operations: add (save a new note), list (show all notes), search (find notes by keyword), delete (remove a note by index), clear (wipe all notes). Use whenever the user wants to save, recall, find, or delete a note or reminder.",
182-
"version": "1.0.1",
182+
"version": "1.0.2",
183183
"returnType": "memory",
184184
"tags": [
185185
"note",
@@ -200,15 +200,15 @@
200200
"action": "[action: quickNote, operation: list]"
201201
}
202202
],
203-
"hash": "3e5264fdf4cecbc1",
203+
"hash": "0394577e8795d5ee",
204204
"file": "quick-note.js",
205205
"path": "capabilities/quick-note.js",
206206
"url": "https://raw.githubusercontent.com/mianjunaid1223/venesa-capabilities/main/capabilities/quick-note.js"
207207
},
208208
{
209209
"name": "listRunningApps",
210210
"description": "Lists all applications with a visible window currently open on the desktop, showing app name, window title, and memory usage in MB. Background services and system processes are excluded. Use when the user asks what apps or windows are open right now.",
211-
"version": "1.0.1",
211+
"version": "1.0.2",
212212
"returnType": "data",
213213
"tags": [
214214
"system",
@@ -223,15 +223,15 @@
223223
"action": "[action: listRunningApps]"
224224
}
225225
],
226-
"hash": "9dd7d673dbf267f5",
226+
"hash": "c2b25397d8943c0c",
227227
"file": "running-apps.js",
228228
"path": "capabilities/running-apps.js",
229229
"url": "https://raw.githubusercontent.com/mianjunaid1223/venesa-capabilities/main/capabilities/running-apps.js"
230230
},
231231
{
232232
"name": "systemCleaner",
233233
"description": "Frees up disk space by removing junk files from Windows Temp, System Temp, thumbnails, Chrome cache, and Edge cache. Three operations: scan (preview how much space can be recovered without deleting anything), clean (permanently delete the junk files and report freed MB), empty-recycle-bin (immediately empty the Recycle Bin). Use when the user wants to clean up, free space, or remove temporary files.",
234-
"version": "1.0.1",
234+
"version": "1.0.2",
235235
"returnType": "hybrid",
236236
"tags": [
237237
"clean",
@@ -253,15 +253,15 @@
253253
"action": "[action: systemCleaner, operation: empty-recycle-bin]"
254254
}
255255
],
256-
"hash": "1be40d6e537217b8",
256+
"hash": "832cecaf70e582eb",
257257
"file": "system-cleaner.js",
258258
"path": "capabilities/system-cleaner.js",
259259
"url": "https://raw.githubusercontent.com/mianjunaid1223/venesa-capabilities/main/capabilities/system-cleaner.js"
260260
},
261261
{
262262
"name": "getSystemInfo",
263263
"description": "Reports a real-time snapshot of system health: current CPU load percentage, RAM used vs total in GB, battery charge percentage (or N/A on desktops), and how long the system has been running since last reboot. Use when the user asks how the PC is performing, checks battery level, asks about RAM or CPU usage, or wants a general hardware status summary.",
264-
"version": "1.0.2",
264+
"version": "1.0.3",
265265
"returnType": "data",
266266
"tags": [
267267
"system",
@@ -280,15 +280,15 @@
280280
"action": "[action: getSystemInfo]"
281281
}
282282
],
283-
"hash": "1f2cf8b8b460f7e8",
283+
"hash": "9b01a0d0a935bcbf",
284284
"file": "system-info.js",
285285
"path": "capabilities/system-info.js",
286286
"url": "https://raw.githubusercontent.com/mianjunaid1223/venesa-capabilities/main/capabilities/system-info.js"
287287
},
288288
{
289289
"name": "wifiPasswords",
290290
"description": "Retrieves saved WiFi network credentials stored on this Windows PC. Without a network name, returns a list of all saved networks and whether each has a password. With a network name, confirms whether a password is saved for that specific network. Passwords are returned redacted for security. Use when the user asks what WiFi networks are saved, or wants to check a saved network.",
291-
"version": "1.0.1",
291+
"version": "1.0.2",
292292
"returnType": "data",
293293
"tags": [
294294
"wifi",
@@ -304,15 +304,15 @@
304304
"action": "[action: wifiPasswords]"
305305
}
306306
],
307-
"hash": "1f6ff50fe8abed45",
307+
"hash": "c8284681606fadd3",
308308
"file": "wifi-passwords.js",
309309
"path": "capabilities/wifi-passwords.js",
310310
"url": "https://raw.githubusercontent.com/mianjunaid1223/venesa-capabilities/main/capabilities/wifi-passwords.js"
311311
},
312312
{
313313
"name": "youtubeSearch",
314314
"description": "Opens the YouTube search results page in the default browser for a given search query. Use when the user asks to search, find, watch, or look up anything on YouTube. Requires a non-empty search query.",
315-
"version": "1.0.2",
315+
"version": "1.0.3",
316316
"returnType": "action",
317317
"tags": [
318318
"web",
@@ -328,7 +328,7 @@
328328
"action": "[action: youtubeSearch, query: lo-fi music]"
329329
}
330330
],
331-
"hash": "29b0b10ba6496dde",
331+
"hash": "61adb3b66dad0253",
332332
"file": "youtube-search.js",
333333
"path": "capabilities/youtube-search.js",
334334
"url": "https://raw.githubusercontent.com/mianjunaid1223/venesa-capabilities/main/capabilities/youtube-search.js"

0 commit comments

Comments
 (0)