@try-works/dsh-tool-mode 0.5.49 → 0.5.50

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.
@@ -47,8 +47,8 @@
47
47
  "modelSizeMB": null,
48
48
  "appleOnly": false,
49
49
  "closedBeta": false,
50
- "verifiedRunnableOnWindows": false,
51
- "windowsSupport": "browser-only",
50
+ "verifiedRunnableOnWindows": true,
51
+ "windowsSupport": "onnxruntime-node",
52
52
  "npmPackage": "@desert-ant-labs/clear",
53
53
  "npmSubpath": "/native",
54
54
  "requiresRuntime": [],
@@ -58,17 +58,20 @@
58
58
  "hfRepo": "https://huggingface.co/desert-ant-labs/clear",
59
59
  "tool": {
60
60
  "name": "enhance_speech",
61
- "description": "Clean up a recording on device: remove noise and room echo and level the loudness to a podcast-ready 48 kHz.",
61
+ "description": "Denoise and dereverb a speech recording on device and return the enhanced 48 kHz mono WAV with honest coverage of the analysed audio.",
62
62
  "params": {
63
- "audio_path": "Absolute path to the input audio or video file.",
64
- "output_path": "Absolute path to write the enhanced audio to."
63
+ "audio_path": "Absolute path to the WAV file. Read from the caller's granted filesystem, never uploaded."
65
64
  },
66
- "returns": "The path of the enhanced audio file."
65
+ "returns": "Base64 48 kHz mono WAV, sample rate, duration and coverage."
67
66
  },
68
67
  "skill": {
69
68
  "name": "desert-ant-clear",
70
69
  "description": "Enhance noisy speech recordings on device with the Desert Ant Clear model.",
71
70
  "whenToUse": "Use when a recording needs denoising, dereverberation or loudness normalization before publication."
71
+ },
72
+ "provider": {
73
+ "extension": "@try-works/extension-clear-recipe",
74
+ "modelId": "clear"
72
75
  }
73
76
  },
74
77
  {
@@ -119,8 +122,8 @@
119
122
  "modelSizeMB": null,
120
123
  "appleOnly": false,
121
124
  "closedBeta": false,
122
- "verifiedRunnableOnWindows": false,
123
- "windowsSupport": "browser-only",
125
+ "verifiedRunnableOnWindows": true,
126
+ "windowsSupport": "onnxruntime-node",
124
127
  "npmPackage": "@desert-ant-labs/ear",
125
128
  "npmSubpath": "/native",
126
129
  "requiresRuntime": [],
@@ -129,17 +132,25 @@
129
132
  "docsUrl": "https://desertant.com/models/ear/",
130
133
  "hfRepo": "https://huggingface.co/desert-ant-labs/ear",
131
134
  "tool": {
132
- "name": "detect_spoken_language",
133
- "description": "Identify which language is being spoken in a recording, before transcription starts, across 102 languages.",
135
+ "name": "identify_language",
136
+ "description": "Identify the spoken language of an audio recording on device: the most likely language, its confidence, a reliability flag and the top candidates.",
134
137
  "params": {
135
- "audio_path": "Absolute path to the audio or video file."
138
+ "audio_path": "Absolute path to the WAV file. Read from the caller's granted filesystem, never uploaded.",
139
+ "windows": {
140
+ "description": "How many 30 second windows to listen to, spread across the recording and ranked by syllabic modulation. Defaults to 3.",
141
+ "type": "integer"
142
+ }
136
143
  },
137
- "returns": "The detected spoken language with a confidence and runner-up candidates."
144
+ "returns": "language, confidence, isReliable, ranked candidates and window timings."
138
145
  },
139
146
  "skill": {
140
147
  "name": "desert-ant-ear",
141
148
  "description": "Identify the spoken language of a recording on device with the Desert Ant Ear model.",
142
149
  "whenToUse": "Use to pick a transcription language or route audio before running speech recognition."
150
+ },
151
+ "provider": {
152
+ "extension": "@try-works/extension-ear-recipe",
153
+ "modelId": "ear"
143
154
  }
144
155
  },
145
156
  {
@@ -154,8 +165,8 @@
154
165
  "modelSizeMB": 10.2,
155
166
  "appleOnly": false,
156
167
  "closedBeta": false,
157
- "verifiedRunnableOnWindows": false,
158
- "windowsSupport": "browser-only",
168
+ "verifiedRunnableOnWindows": true,
169
+ "windowsSupport": "onnxruntime-node",
159
170
  "npmPackage": "@desert-ant-labs/emo",
160
171
  "npmSubpath": "/native",
161
172
  "requiresRuntime": [],
@@ -164,21 +175,25 @@
164
175
  "docsUrl": "https://desertant.com/models/emo/",
165
176
  "hfRepo": "https://huggingface.co/desert-ant-labs/emo",
166
177
  "tool": {
167
- "name": "suggest_emoji",
168
- "description": "Suggest emoji that fit a piece of text, in 22 languages, running entirely on device.",
178
+ "name": "suggest_emojis",
179
+ "description": "Suggest emojis for a piece of text on device: the top labels by probability with their confidences.",
169
180
  "params": {
170
- "text": "The text to suggest emoji for.",
181
+ "text": "The text to suggest emojis for, counted in Unicode code points, 1..1024. Empty or whitespace-only text is refused.",
171
182
  "limit": {
172
- "description": "Maximum number of suggestions to return (default 5).",
183
+ "description": "How many suggestions to return: the top labels by descending probability. Defaults to 5.",
173
184
  "type": "integer"
174
185
  }
175
186
  },
176
- "returns": "Ranked emoji suggestions with confidence scores."
187
+ "returns": "Top emoji labels by probability with confidences."
177
188
  },
178
189
  "skill": {
179
190
  "name": "desert-ant-emo",
180
191
  "description": "Suggest fitting emoji for text with the Desert Ant Emo model.",
181
192
  "whenToUse": "Use when writing release notes, commit summaries or UI copy that should carry emoji."
193
+ },
194
+ "provider": {
195
+ "extension": "@try-works/extension-emo-recipe",
196
+ "modelId": "emo"
182
197
  }
183
198
  },
184
199
  {
@@ -313,8 +328,8 @@
313
328
  "modelSizeMB": 9.2,
314
329
  "appleOnly": false,
315
330
  "closedBeta": false,
316
- "verifiedRunnableOnWindows": false,
317
- "windowsSupport": "browser-only",
331
+ "verifiedRunnableOnWindows": true,
332
+ "windowsSupport": "onnxruntime-node",
318
333
  "npmPackage": "@desert-ant-labs/moderator",
319
334
  "npmSubpath": "/native",
320
335
  "requiresRuntime": [],
@@ -323,20 +338,27 @@
323
338
  "docsUrl": "https://desertant.com/models/moderator/",
324
339
  "hfRepo": "https://huggingface.co/desert-ant-labs/moderator",
325
340
  "tool": {
326
- "name": "detect_nsfw",
327
- "description": "Check images for nudity or sexual content on device before they are uploaded or shown.",
341
+ "name": "classify_nsfw",
342
+ "description": "Check an image for nudity or sexual content on device: per-region scores, an NSFW decision at a threshold, and the policy and quality used.",
328
343
  "params": {
329
- "image_paths": {
330
- "description": "Absolute paths of the images to check.",
331
- "type": "string[]"
332
- }
344
+ "image_path": "Absolute path to the PNG file. Read from the caller's granted filesystem, never uploaded.",
345
+ "quality": "How many crops to score: fast = 1 center crop, balanced = 4 crops, accurate = 8 crops. Defaults to balanced.",
346
+ "threshold": {
347
+ "description": "Decision threshold; isNSFW is true when score >= threshold. Defaults to 0.5.",
348
+ "type": "number"
349
+ },
350
+ "policy": "standard counts all five heads; allowTopless counts all but nipples. Defaults to standard."
333
351
  },
334
- "returns": "A per-image NSFW verdict with score and labels."
352
+ "returns": "isNSFW, score, threshold, policy, quality, per-region scores and crops."
335
353
  },
336
354
  "skill": {
337
355
  "name": "desert-ant-moderator",
338
356
  "description": "Screen images for NSFW content on device with the Desert Ant Moderator model.",
339
357
  "whenToUse": "Use to gate user-supplied images before storing, publishing or sending them anywhere."
358
+ },
359
+ "provider": {
360
+ "extension": "@try-works/extension-moderator-recipe",
361
+ "modelId": "moderator"
340
362
  }
341
363
  },
342
364
  {
@@ -351,8 +373,8 @@
351
373
  "modelSizeMB": null,
352
374
  "appleOnly": false,
353
375
  "closedBeta": false,
354
- "verifiedRunnableOnWindows": false,
355
- "windowsSupport": "browser-only",
376
+ "verifiedRunnableOnWindows": true,
377
+ "windowsSupport": "native-node",
356
378
  "npmPackage": "@desert-ant-labs/redact",
357
379
  "npmSubpath": "/native",
358
380
  "requiresRuntime": [],
@@ -361,25 +383,21 @@
361
383
  "docsUrl": "https://desertant.com/models/redact/",
362
384
  "hfRepo": "https://huggingface.co/desert-ant-labs/redact",
363
385
  "tool": {
364
- "name": "redact_pii",
365
- "description": "Replace personal data (names, emails, phone numbers, addresses, card numbers and more) in text with stable placeholders, on device, before the text reaches any remote service.",
386
+ "name": "redact_text",
387
+ "description": "Detect PII and secrets in text as labelled UTF-16 spans, with honest coverage when the local window cap truncates a long document.",
366
388
  "params": {
367
- "text": "The text to redact.",
368
- "labels": {
369
- "description": "Optional list of entity labels to restrict redaction to, for example [\"EMAIL\", \"PHONE\"].",
370
- "type": "string[]"
371
- },
372
- "minimum_confidence": {
373
- "description": "Optional confidence floor between 0 and 1 (default 0.6).",
374
- "type": "number"
375
- }
389
+ "text": "The text to redact. Long documents are processed up to the local window cap; coverage reports truncation."
376
390
  },
377
- "returns": "The redacted text plus the placeholder map, so originals can be restored after a remote round trip."
391
+ "returns": "Labelled UTF-16 spans and coverage of the analysed text."
378
392
  },
379
393
  "skill": {
380
394
  "name": "desert-ant-redact",
381
395
  "description": "Strip personal data from text on device with the Desert Ant Redact model before sending it to any remote service.",
382
396
  "whenToUse": "Use before sending logs, transcripts, tickets or documents containing names, emails or numbers to a remote model or API."
397
+ },
398
+ "provider": {
399
+ "extension": "@try-works/extension-redact",
400
+ "modelId": "redact"
383
401
  }
384
402
  },
385
403
  {
@@ -430,8 +448,8 @@
430
448
  "modelSizeMB": null,
431
449
  "appleOnly": false,
432
450
  "closedBeta": false,
433
- "verifiedRunnableOnWindows": false,
434
- "windowsSupport": "browser-only",
451
+ "verifiedRunnableOnWindows": true,
452
+ "windowsSupport": "native-node",
435
453
  "npmPackage": "@desert-ant-labs/shapes",
436
454
  "npmSubpath": "/native",
437
455
  "requiresRuntime": [],
@@ -440,18 +458,25 @@
440
458
  "docsUrl": "https://desertant.com/models/shapes/",
441
459
  "hfRepo": "https://huggingface.co/desert-ant-labs/shapes",
442
460
  "tool": {
443
- "name": "recognize_shape",
444
- "description": "Turn a single hand-drawn stroke into a clean shape: rectangle, ellipse, triangle, star or line.",
461
+ "name": "shape_recognize",
462
+ "description": "Recognize a single hand-drawn stroke as one of the Shapes classes and return the ranked candidates with confidences.",
445
463
  "params": {
446
- "points": "The stroke as an array of [x, y] points in drawing order.",
447
- "closed": "Whether the stroke is a closed shape."
464
+ "points": "The stroke in drawing order as an array of [x, y] points (first stroke only).",
465
+ "closed": {
466
+ "description": "Whether the stroke was drawn closed; the fitted-geometry gates use it.",
467
+ "type": "boolean"
468
+ }
448
469
  },
449
- "returns": "The recognized shape with a confidence and runner-up candidates."
470
+ "returns": "The recognized shape, its confidence, the ranked candidates and rejected labels."
450
471
  },
451
472
  "skill": {
452
473
  "name": "desert-ant-shapes",
453
474
  "description": "Recognize hand-drawn strokes as clean shapes with the Desert Ant Shapes model.",
454
475
  "whenToUse": "Use in drawing or diagram tooling to snap an ink stroke to a geometric shape."
476
+ },
477
+ "provider": {
478
+ "extension": "@try-works/extension-shapes-recipe",
479
+ "modelId": "shapes"
455
480
  }
456
481
  },
457
482
  {
@@ -585,10 +610,10 @@
585
610
  "output": "[{ start, end, word }] filler spans to cut",
586
611
  "languages": null,
587
612
  "modelSizeMB": null,
588
- "appleOnly": true,
613
+ "appleOnly": false,
589
614
  "closedBeta": false,
590
- "verifiedRunnableOnWindows": false,
591
- "windowsSupport": "apple-only",
615
+ "verifiedRunnableOnWindows": true,
616
+ "windowsSupport": "onnxruntime-node",
592
617
  "npmPackage": null,
593
618
  "npmSubpath": null,
594
619
  "requiresRuntime": [],
@@ -598,16 +623,20 @@
598
623
  "hfRepo": "https://huggingface.co/desert-ant-labs/uhm",
599
624
  "tool": {
600
625
  "name": "detect_fillers",
601
- "description": "Find every um, uh and hmm in a recording with the exact span to cut.",
626
+ "description": "Find every uh, um, hmm and filler \"and\" in a recording on device and return the millisecond spans to cut, with honest coverage.",
602
627
  "params": {
603
- "audio_path": "Absolute path to the audio or video file."
628
+ "audio_path": "Absolute path to the audio to analyse. Read from the caller's granted filesystem, never uploaded."
604
629
  },
605
- "returns": "Filler spans with start and end times in seconds, ready to cut."
630
+ "returns": "Millisecond filler spans to cut, plus coverage."
606
631
  },
607
632
  "skill": {
608
633
  "name": "desert-ant-uhm",
609
634
  "description": "Detect filler words in speech on device with the Desert Ant Uhm model.",
610
635
  "whenToUse": "Use when editing spoken audio to remove hesitations and tighten a transcript."
636
+ },
637
+ "provider": {
638
+ "extension": "@try-works/extension-uhm-recipe",
639
+ "modelId": "uhm"
611
640
  }
612
641
  },
613
642
  {
package/client/index.js CHANGED
@@ -2233,12 +2233,11 @@ function createToolInsights(createElement, reactLib) {
2233
2233
  "name": "Clear",
2234
2234
  "summary": "On-device speech enhancement: denoise, dereverb and loudness-normalize to 48 kHz.",
2235
2235
  "package": "@desert-ant-labs/clear",
2236
- "extension": null,
2236
+ "extension": "@try-works/extension-clear-recipe",
2237
2237
  "capability": "audio.speech-enhancement",
2238
2238
  "sizeMB": null,
2239
2239
  "license": "source-available",
2240
- "runnable": false,
2241
- "reason": "Clear has no prebuilt native build for win32-x64: @desert-ant-labs/clear/native supports linux-x64, linux-arm64 and darwin-arm64 only."
2240
+ "runnable": true
2242
2241
  },
2243
2242
  {
2244
2243
  "id": "clips",
@@ -2257,24 +2256,22 @@ function createToolInsights(createElement, reactLib) {
2257
2256
  "name": "Ear",
2258
2257
  "summary": "On-device spoken language identification across 102 languages from a short audio stretch.",
2259
2258
  "package": "@desert-ant-labs/ear",
2260
- "extension": null,
2259
+ "extension": "@try-works/extension-ear-recipe",
2261
2260
  "capability": "audio.spoken-language-identification",
2262
2261
  "sizeMB": null,
2263
2262
  "license": "source-available",
2264
- "runnable": false,
2265
- "reason": "Ear has no prebuilt native build for win32-x64: @desert-ant-labs/ear/native supports linux-x64, linux-arm64 and darwin-arm64 only."
2263
+ "runnable": true
2266
2264
  },
2267
2265
  {
2268
2266
  "id": "emo",
2269
2267
  "name": "Emo",
2270
2268
  "summary": "Type a task or message and get the emoji that fit, in 22 languages, on the device.",
2271
2269
  "package": "@desert-ant-labs/emo",
2272
- "extension": null,
2270
+ "extension": "@try-works/extension-emo-recipe",
2273
2271
  "capability": "text.emoji-suggestion",
2274
2272
  "sizeMB": 10.2,
2275
2273
  "license": "source-available",
2276
- "runnable": false,
2277
- "reason": "Emo has no prebuilt native build for win32-x64: @desert-ant-labs/emo/native supports linux-x64, linux-arm64 and darwin-arm64 only."
2274
+ "runnable": true
2278
2275
  },
2279
2276
  {
2280
2277
  "id": "eye",
@@ -2317,24 +2314,22 @@ function createToolInsights(createElement, reactLib) {
2317
2314
  "name": "Moderator",
2318
2315
  "summary": "On-device NSFW detection that flags nudity before upload, trained only on licensed and synthetic data.",
2319
2316
  "package": "@desert-ant-labs/moderator",
2320
- "extension": null,
2317
+ "extension": "@try-works/extension-moderator-recipe",
2321
2318
  "capability": "image.nsfw-detection",
2322
2319
  "sizeMB": 9.2,
2323
2320
  "license": "source-available",
2324
- "runnable": false,
2325
- "reason": "Moderator has no prebuilt native build for win32-x64: @desert-ant-labs/moderator/native supports linux-x64, linux-arm64 and darwin-arm64 only."
2321
+ "runnable": true
2326
2322
  },
2327
2323
  {
2328
2324
  "id": "redact",
2329
2325
  "name": "Redact",
2330
2326
  "summary": "On-device redaction that strips personal data as you type, in 27 languages, with restore support.",
2331
2327
  "package": "@desert-ant-labs/redact",
2332
- "extension": null,
2328
+ "extension": "@try-works/extension-redact",
2333
2329
  "capability": "text.pii-redaction",
2334
2330
  "sizeMB": null,
2335
2331
  "license": "source-available",
2336
- "runnable": false,
2337
- "reason": "Redact has no prebuilt native build for win32-x64: @desert-ant-labs/redact/native supports linux-x64, linux-arm64 and darwin-arm64 only."
2332
+ "runnable": true
2338
2333
  },
2339
2334
  {
2340
2335
  "id": "schemer",
@@ -2353,12 +2348,11 @@ function createToolInsights(createElement, reactLib) {
2353
2348
  "name": "Shapes",
2354
2349
  "summary": "On-device shape recognition that turns one hand-drawn stroke into a rectangle, ellipse, triangle, star or line in under 10ms.",
2355
2350
  "package": "@desert-ant-labs/shapes",
2356
- "extension": null,
2351
+ "extension": "@try-works/extension-shapes-recipe",
2357
2352
  "capability": "stroke.shape-recognition",
2358
2353
  "sizeMB": null,
2359
2354
  "license": "source-available",
2360
- "runnable": false,
2361
- "reason": "Shapes has no prebuilt native build for win32-x64: @desert-ant-labs/shapes/native supports linux-x64, linux-arm64 and darwin-arm64 only."
2355
+ "runnable": true
2362
2356
  },
2363
2357
  {
2364
2358
  "id": "title",
@@ -2400,12 +2394,11 @@ function createToolInsights(createElement, reactLib) {
2400
2394
  "name": "Uhm",
2401
2395
  "summary": "On-device filler detection that marks every um, uh and hmm to within 20ms, an hour of audio in 12s.",
2402
2396
  "package": null,
2403
- "extension": null,
2397
+ "extension": "@try-works/extension-uhm-recipe",
2404
2398
  "capability": "audio.filler-detection",
2405
2399
  "sizeMB": null,
2406
2400
  "license": "source-available",
2407
- "runnable": false,
2408
- "reason": "Uhm is Apple-only (Core ML/MLX through the Swift package); there is no JavaScript SDK, so it cannot run in a Node process. Point `remote.endpoint` at a bridge on an Apple machine to reach it."
2401
+ "runnable": true
2409
2402
  },
2410
2403
  {
2411
2404
  "id": "voz",
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/lib/index.js CHANGED
@@ -1926,12 +1926,6 @@ export async function apply(ctx, config = {}) {
1926
1926
  * lifecycle yet, so their existing capability verdict remains the readiness
1927
1927
  * source.
1928
1928
  */
1929
- const callableReadiness = new Set([
1930
- 'prepared-cold',
1931
- 'loading',
1932
- 'ready',
1933
- 'busy',
1934
- ]);
1935
1929
  const readinessOf = async (item) => {
1936
1930
  if (item.verdict.route !== 'extension')
1937
1931
  return 'ready';
@@ -2003,6 +1997,17 @@ export async function apply(ctx, config = {}) {
2003
1997
  if (entry.contract !== null && contractById.has(entry.contract)) {
2004
1998
  const binding = bindings.get(entry.contract);
2005
1999
  if (binding === undefined) {
2000
+ /**
2001
+ * A provider-bound model whose contract has no host binding is still served
2002
+ * by its extension, which owns the tool name. Record it and report success;
2003
+ * only a model with no owner is the "not the selected provider" case.
2004
+ */
2005
+ if (entry.provider !== undefined && extensionOwnsToolName(entry.tool.name)) {
2006
+ catalogueDeferred.add(entry.id);
2007
+ installed.set(entry.id, { entry, toolName: entry.tool.name, dispose: () => { } });
2008
+ notifyCatalogChange();
2009
+ return true;
2010
+ }
2006
2011
  // The model implements a contract but lost provider selection, or cannot
2007
2012
  // run. Report rather than register a second tool for the same contract.
2008
2013
  ctx.logger.info(`model-tools: ${entry.name} implements ${entry.contract} but is not the selected provider; `
@@ -2045,7 +2050,10 @@ export async function apply(ctx, config = {}) {
2045
2050
  catalogueDeferred.add(entry.id);
2046
2051
  ctx.logger.info(`model-tools: ${entry.name}'s tool ${entry.tool.name} is owned by an installed extension; `
2047
2052
  + 'the catalogue registration is deferred until the extension releases the name');
2048
- return false;
2053
+ // The extension serves the tool already: enabling the catalogue entry is a
2054
+ // success that records the model, never "cannot be installed here".
2055
+ toolName = entry.tool.name;
2056
+ dispose = () => { };
2049
2057
  }
2050
2058
  else {
2051
2059
  const registered = registerContractTool(ctx, binding, host);
@@ -2061,14 +2069,22 @@ export async function apply(ctx, config = {}) {
2061
2069
  });
2062
2070
  }
2063
2071
  }
2064
- else {
2065
- if (verdict.route === 'extension') {
2066
- const readiness = await readinessOf(item);
2067
- if (!callableReadiness.has(readiness)) {
2068
- ctx.logger.info(`model-tools: ${entry.name} is active but its provider reports ${readiness}; skipping ${entry.tool.name}`);
2069
- return false;
2070
- }
2072
+ else if (entry.provider !== undefined) {
2073
+ /**
2074
+ * PROVIDER-BOUND: the extension owns the tool name. When it is active the
2075
+ * catalogue joins that tool instead of registering a second one; when it is
2076
+ * not active there is no tool to join, so the entry is skipped rather than
2077
+ * replaced by a provider-bridge tool the MCP surface cannot export.
2078
+ */
2079
+ if (!extensionOwnsToolName(entry.tool.name)) {
2080
+ ctx.logger.info(`model-tools: ${entry.name}'s provider extension is not active; skipping ${entry.tool.name}`);
2081
+ return false;
2071
2082
  }
2083
+ catalogueDeferred.add(entry.id);
2084
+ toolName = entry.tool.name;
2085
+ dispose = () => { };
2086
+ }
2087
+ else {
2072
2088
  const adapter = createAdapter(entry, { route: verdict.route, ...transportOptions }, undefined, bridge);
2073
2089
  if (adapter === undefined) {
2074
2090
  // Runnable but no adapter yet: report rather than register a dead tool.
@@ -2170,6 +2186,10 @@ export async function apply(ctx, config = {}) {
2170
2186
  if (extensionOwnsToolName(item.entry.tool.name))
2171
2187
  continue;
2172
2188
  catalogueDeferred.delete(modelId);
2189
+ // A deferred model was recorded as served by the extension; drop that record
2190
+ // first or install() short-circuits on it and never registers the catalogue tool.
2191
+ if (installed.has(modelId))
2192
+ uninstall(modelId);
2173
2193
  ctx.logger.info(`model-tools: ${item.entry.name}'s tool ${item.entry.tool.name} is released; restoring the catalogue registration`);
2174
2194
  try {
2175
2195
  await install(item);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@try-works/dsh-tool-mode",
3
- "version": "0.5.49",
3
+ "version": "0.5.50",
4
4
  "description": "Install Desert Ant Labs on-device models as DSH tools and skills, with per-platform capability gating",
5
5
  "keywords": [
6
6
  "dsh",