@aryacode/dsh-plugin-arya-computer-use 1.0.1 → 1.0.2
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/README.md +11 -0
- package/index.js +38 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -97,6 +97,17 @@ node mcp/browser-launcher.mjs # → agent-browser mcp --tools core [--p
|
|
|
97
97
|
|
|
98
98
|
So sign-in reuse and attaching to your own Chrome are settings, not hand-edited rows. Web-lane changes land on the next MCP restart; the settings page says so.
|
|
99
99
|
|
|
100
|
+
## Plugin market
|
|
101
|
+
|
|
102
|
+
Installing from Plugins -> Arya Plugin Market needs no manual source: on first run the plugin registers
|
|
103
|
+
`https://cdn.jsdelivr.net/gh/KonnectSuite/dsh-arya-computer-use@main/index.json`
|
|
104
|
+
with the market (existing sources are kept) and every npm release shows up there as an update. Releases go
|
|
105
|
+
through npm staged publishing, so a publish is visible in the market once the version is approved on npmjs.com.
|
|
106
|
+
|
|
107
|
+
The plugin manager blocks dependency build scripts by default. The engines (`agent-desktop`, `agent-browser`)
|
|
108
|
+
fetch their native binary in a postinstall script; approve those two builds when installing, or let 1.0.1+
|
|
109
|
+
repair them itself at start-up - the status route reports the outcome under `mcp.engines`.
|
|
110
|
+
|
|
100
111
|
## Tool presets
|
|
101
112
|
|
|
102
113
|
- `lite` (default) — all 16 desktop tools listed up front.
|
package/index.js
CHANGED
|
@@ -36,6 +36,11 @@ const SKILL_FILE = join(SKILL_DIR, 'SKILL.md');
|
|
|
36
36
|
const PROVIDER_NAME = 'arya-computer-use';
|
|
37
37
|
const RANK = 350;
|
|
38
38
|
const STATUS_PATH = '/plugins/arya/status';
|
|
39
|
+
// Market index that lists this plugin. The market ships no default source, so the
|
|
40
|
+
// plugin registers its own on first apply: users then see "Arya Computer Use" in
|
|
41
|
+
// Plugins -> Arya Plugin Market without pasting a URL, and every release published
|
|
42
|
+
// to npm shows up there as an update.
|
|
43
|
+
const MARKET_INDEX_URL = 'https://cdn.jsdelivr.net/gh/KonnectSuite/dsh-arya-computer-use@main/index.json';
|
|
39
44
|
const PLUGIN_VERSION = (() => {
|
|
40
45
|
try { return JSON.parse(readFileSync(join(HERE, 'package.json'), 'utf8')).version ?? '0.0.0'; }
|
|
41
46
|
catch { return '0.0.0'; }
|
|
@@ -256,10 +261,43 @@ Object.defineProperty(Config, '~standard', { value: { ...validation, validate(in
|
|
|
256
261
|
return result;
|
|
257
262
|
} } });
|
|
258
263
|
|
|
264
|
+
// Register this plugin's market index with the plugin market, once, so the
|
|
265
|
+
// market lists Arya Computer Use without the user adding a source by hand.
|
|
266
|
+
// setIndexes keeps any source the user already configured.
|
|
267
|
+
function ensureMarketSource(ctx) {
|
|
268
|
+
const canonical = (url) => {
|
|
269
|
+
try { return new URL(url).href; }
|
|
270
|
+
catch { return url; }
|
|
271
|
+
};
|
|
272
|
+
try {
|
|
273
|
+
ctx.inject(['pluginMarket'], (scope) => {
|
|
274
|
+
void (async () => {
|
|
275
|
+
try {
|
|
276
|
+
const market = scope.pluginMarket ?? scope.get('pluginMarket');
|
|
277
|
+
if (!market || typeof market.listIndexes !== 'function' || typeof market.setIndexes !== 'function') return;
|
|
278
|
+
const sources = market.listIndexes() ?? [];
|
|
279
|
+
const urls = sources.map(entry => entry?.url).filter(url => typeof url === 'string');
|
|
280
|
+
if (urls.some(url => canonical(url) === canonical(MARKET_INDEX_URL))) return;
|
|
281
|
+
await market.setIndexes([...urls, MARKET_INDEX_URL]);
|
|
282
|
+
ctx.logger.info('dsh-arya-computer-use: registered its market index source');
|
|
283
|
+
} catch (error) {
|
|
284
|
+
ctx.logger.warn('dsh-arya-computer-use: could not register the market index source: %s', error?.message ?? String(error));
|
|
285
|
+
}
|
|
286
|
+
})();
|
|
287
|
+
});
|
|
288
|
+
} catch (error) {
|
|
289
|
+
ctx.logger?.warn?.('dsh-arya-computer-use: plugin market is unavailable: %s', error?.message ?? String(error));
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
// Internal hook so a diagnostic can exercise the market registration.
|
|
294
|
+
export { ensureMarketSource as __ensureMarketSource };
|
|
295
|
+
|
|
259
296
|
/* -------------------------------------------------------------------- main */
|
|
260
297
|
|
|
261
298
|
export async function apply(ctx, config) {
|
|
262
299
|
registerSkillProvider(ctx);
|
|
300
|
+
ensureMarketSource(ctx);
|
|
263
301
|
void (async () => {
|
|
264
302
|
try {
|
|
265
303
|
const engines = await ensureEngines();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aryacode/dsh-plugin-arya-computer-use",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"description": "Computer use for DSH/AryaCode: agent-desktop UIA engine, agent-browser web lane, takeover UI with a ghost cursor",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|