@askalf/dario 4.8.91 → 4.8.92
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 +0 -1
- package/dist/cc-template.d.ts +8 -6
- package/dist/cc-template.js +22 -10
- package/dist/live-fingerprint.d.ts +1 -1
- package/dist/live-fingerprint.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -374,7 +374,6 @@ dario is the routing layer of **[Own Your Stack](https://github.com/askalf)**
|
|
|
374
374
|
|
|
375
375
|
- **[dario](https://github.com/askalf/dario)** — own your routing _(you are here)_
|
|
376
376
|
- **[hybrid](https://github.com/askalf/hybrid)** — own your inference
|
|
377
|
-
- **[deja](https://github.com/askalf/deja)** — own your LLM cache
|
|
378
377
|
- **[deepdive](https://github.com/askalf/deepdive)** — own your research
|
|
379
378
|
- **[hands](https://github.com/askalf/hands)** — own your computer-use
|
|
380
379
|
- **[agent](https://github.com/askalf/agent)** — own your fleet
|
package/dist/cc-template.d.ts
CHANGED
|
@@ -199,8 +199,9 @@ export declare function detectTextToolClient(systemText: string): string | null;
|
|
|
199
199
|
/**
|
|
200
200
|
* Structural fallback for non-CC clients that the identity-string
|
|
201
201
|
* detector doesn't recognize. When the operator hands us 3+ tools and
|
|
202
|
-
* ≥80% of them
|
|
203
|
-
* client whose tool surface has effectively no
|
|
202
|
+
* ≥80% of them appear in neither TOOL_MAP nor CC_NATIVE_NAMES, we're
|
|
203
|
+
* looking at a custom client whose tool surface has effectively no
|
|
204
|
+
* overlap with CC's.
|
|
204
205
|
* Default-mode round-robin onto CC fallback slots silently corrupts
|
|
205
206
|
* those calls (the client gets back a Glob/Read/Bash response shape
|
|
206
207
|
* its own tool can't parse).
|
|
@@ -213,10 +214,11 @@ export declare function detectTextToolClient(systemText: string): string | null;
|
|
|
213
214
|
* per-client maintenance.
|
|
214
215
|
*
|
|
215
216
|
* Threshold reasoning:
|
|
216
|
-
* - 100%
|
|
217
|
-
* CC client always carries Bash + Read
|
|
218
|
-
* so it can never present a fully-
|
|
219
|
-
*
|
|
217
|
+
* - 100% foreign (ANY size, including 1-2 tools): unambiguously non-CC. A real
|
|
218
|
+
* CC client always carries Bash + Read (TOOL_MAP keys once lowercased) or its
|
|
219
|
+
* own native tools (CC_NATIVE_NAMES), so it can never present a fully-foreign
|
|
220
|
+
* surface; only a genuinely non-CC tool set can. This catches the small
|
|
221
|
+
* in-house clients the 3-tool rule below
|
|
220
222
|
* misses, e.g. forge inspection agents dispatched with just their capability
|
|
221
223
|
* floor ([memory_store, db_query]). Before this, those 2-tool surfaces fell
|
|
222
224
|
* under a len<3 guard and got round-robined onto CC fallback slots, which
|
package/dist/cc-template.js
CHANGED
|
@@ -425,8 +425,9 @@ export function detectTextToolClient(systemText) {
|
|
|
425
425
|
/**
|
|
426
426
|
* Structural fallback for non-CC clients that the identity-string
|
|
427
427
|
* detector doesn't recognize. When the operator hands us 3+ tools and
|
|
428
|
-
* ≥80% of them
|
|
429
|
-
* client whose tool surface has effectively no
|
|
428
|
+
* ≥80% of them appear in neither TOOL_MAP nor CC_NATIVE_NAMES, we're
|
|
429
|
+
* looking at a custom client whose tool surface has effectively no
|
|
430
|
+
* overlap with CC's.
|
|
430
431
|
* Default-mode round-robin onto CC fallback slots silently corrupts
|
|
431
432
|
* those calls (the client gets back a Glob/Read/Bash response shape
|
|
432
433
|
* its own tool can't parse).
|
|
@@ -439,10 +440,11 @@ export function detectTextToolClient(systemText) {
|
|
|
439
440
|
* per-client maintenance.
|
|
440
441
|
*
|
|
441
442
|
* Threshold reasoning:
|
|
442
|
-
* - 100%
|
|
443
|
-
* CC client always carries Bash + Read
|
|
444
|
-
* so it can never present a fully-
|
|
445
|
-
*
|
|
443
|
+
* - 100% foreign (ANY size, including 1-2 tools): unambiguously non-CC. A real
|
|
444
|
+
* CC client always carries Bash + Read (TOOL_MAP keys once lowercased) or its
|
|
445
|
+
* own native tools (CC_NATIVE_NAMES), so it can never present a fully-foreign
|
|
446
|
+
* surface; only a genuinely non-CC tool set can. This catches the small
|
|
447
|
+
* in-house clients the 3-tool rule below
|
|
446
448
|
* misses, e.g. forge inspection agents dispatched with just their capability
|
|
447
449
|
* floor ([memory_store, db_query]). Before this, those 2-tool surfaces fell
|
|
448
450
|
* under a len<3 guard and got round-robined onto CC fallback slots, which
|
|
@@ -457,13 +459,23 @@ export function detectNonCCByTools(clientTools) {
|
|
|
457
459
|
return null;
|
|
458
460
|
let unmapped = 0;
|
|
459
461
|
for (const tool of clientTools) {
|
|
460
|
-
const
|
|
461
|
-
if (
|
|
462
|
+
const rawName = tool.name || '';
|
|
463
|
+
// A tool is "foreign" only if dario can neither map it (TOOL_MAP, by
|
|
464
|
+
// lowercased cross-client alias) nor recognize it as CC's own (CC_NATIVE_NAMES,
|
|
465
|
+
// by exact PascalCase). CC-native tools identity-map to themselves in the remap
|
|
466
|
+
// path (see buildCCRequest), so counting them here inflates the ratio and
|
|
467
|
+
// mis-flags a modern, agentic-heavy CC client (Agent, Skill, Workflow, Task*,
|
|
468
|
+
// … — in the live bundle but absent from TOOL_MAP's alias table) as
|
|
469
|
+
// 'unknown-non-cc', flipping it to preserve and discarding the CC tool
|
|
470
|
+
// fingerprint dario exists to present. Mirror the routing's membership test so
|
|
471
|
+
// detection and routing agree.
|
|
472
|
+
if (!TOOL_MAP[rawName.toLowerCase()] && !CC_NATIVE_NAMES.has(rawName))
|
|
462
473
|
unmapped++;
|
|
463
474
|
}
|
|
464
475
|
const ratio = unmapped / clientTools.length;
|
|
465
|
-
// Fully-
|
|
466
|
-
// mapped, so ratio === 1 is unreachable for it; only a
|
|
476
|
+
// Fully-foreign surface → non-CC at any size. Real CC always has Bash+Read
|
|
477
|
+
// mapped or its own native tools, so ratio === 1 is unreachable for it; only a
|
|
478
|
+
// genuinely foreign client hits it.
|
|
467
479
|
if (ratio === 1)
|
|
468
480
|
return 'unknown-non-cc';
|
|
469
481
|
// Mixed surface: only flag once there are enough tools to be confident.
|
|
@@ -282,7 +282,7 @@ export declare function _resetInstalledVersionProbeForTest(): void;
|
|
|
282
282
|
*/
|
|
283
283
|
export declare const SUPPORTED_CC_RANGE: {
|
|
284
284
|
readonly min: "1.0.0";
|
|
285
|
-
readonly maxTested: "2.1.
|
|
285
|
+
readonly maxTested: "2.1.187";
|
|
286
286
|
};
|
|
287
287
|
/**
|
|
288
288
|
* Compare two dotted-numeric version strings. Returns negative if `a<b`,
|
package/dist/live-fingerprint.js
CHANGED
|
@@ -786,7 +786,7 @@ export function _resetInstalledVersionProbeForTest() {
|
|
|
786
786
|
*/
|
|
787
787
|
export const SUPPORTED_CC_RANGE = {
|
|
788
788
|
min: '1.0.0',
|
|
789
|
-
maxTested: '2.1.
|
|
789
|
+
maxTested: '2.1.187',
|
|
790
790
|
};
|
|
791
791
|
/**
|
|
792
792
|
* Compare two dotted-numeric version strings. Returns negative if `a<b`,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@askalf/dario",
|
|
3
|
-
"version": "4.8.
|
|
3
|
+
"version": "4.8.92",
|
|
4
4
|
"description": "Use your Claude Pro/Max subscription in any tool — Cursor, Cline, Aider, the Agent SDK, your scripts — at subscription pricing, not per-token API bills. One local Anthropic + OpenAI-compatible endpoint.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|