@miller-tech/uap 1.41.0 → 1.42.1
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/.tsbuildinfo +1 -1
- package/dist/bin/cli.js +17 -0
- package/dist/bin/cli.js.map +1 -1
- package/dist/cli/hooks.d.ts.map +1 -1
- package/dist/cli/hooks.js +50 -2
- package/dist/cli/hooks.js.map +1 -1
- package/dist/cli/react.d.ts +25 -0
- package/dist/cli/react.d.ts.map +1 -0
- package/dist/cli/react.js +59 -0
- package/dist/cli/react.js.map +1 -0
- package/dist/coordination/reactor.d.ts +38 -0
- package/dist/coordination/reactor.d.ts.map +1 -0
- package/dist/coordination/reactor.js +124 -0
- package/dist/coordination/reactor.js.map +1 -0
- package/dist/mcp-router/server.d.ts +2 -1
- package/dist/mcp-router/server.d.ts.map +1 -1
- package/dist/mcp-router/server.js +5 -2
- package/dist/mcp-router/server.js.map +1 -1
- package/dist/mcp-router/tools/react.d.ts +58 -0
- package/dist/mcp-router/tools/react.d.ts.map +1 -0
- package/dist/mcp-router/tools/react.js +57 -0
- package/dist/mcp-router/tools/react.js.map +1 -0
- package/dist/memory/model-router.d.ts +1 -1
- package/dist/memory/model-router.d.ts.map +1 -1
- package/dist/memory/model-router.js +27 -1
- package/dist/memory/model-router.js.map +1 -1
- package/dist/models/openai-compat-client.d.ts.map +1 -1
- package/dist/models/openai-compat-client.js +5 -0
- package/dist/models/openai-compat-client.js.map +1 -1
- package/dist/models/types.d.ts +8 -0
- package/dist/models/types.d.ts.map +1 -1
- package/dist/models/types.js +22 -0
- package/dist/models/types.js.map +1 -1
- package/dist/types/config.d.ts +12 -0
- package/dist/types/config.d.ts.map +1 -1
- package/docs/design/UAP_REACTOR.md +170 -0
- package/package.json +1 -1
- package/src/policies/enforcers/__pycache__/_common.cpython-312.pyc +0 -0
- package/templates/hooks/uap-reactor-prompt.sh +44 -0
- package/templates/hooks/uap-schema-post.sh +26 -0
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { type ReactorOptions } from '../coordination/reactor.js';
|
|
2
|
+
/**
|
|
3
|
+
* Pure core of `uap react`: parse a JSON ReactorContext payload, resolve the
|
|
4
|
+
* dynamic UAP capabilities for the event, and return the JSON ReactorResult.
|
|
5
|
+
* Harness adapters pipe a payload in and map `inject`/`block`/`actions` to the
|
|
6
|
+
* harness's native hook output.
|
|
7
|
+
*/
|
|
8
|
+
export declare function runReact(payloadJson: string, opts?: ReactorOptions): string;
|
|
9
|
+
export interface ReactCommandOptions {
|
|
10
|
+
event?: string;
|
|
11
|
+
prompt?: string;
|
|
12
|
+
files?: string[];
|
|
13
|
+
injectThreshold?: string;
|
|
14
|
+
autoSpawnThreshold?: string;
|
|
15
|
+
autoSpawnTypes?: string;
|
|
16
|
+
maxInjectChars?: string;
|
|
17
|
+
surfaced?: string;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* `uap react` — resolve dynamic capabilities for a lifecycle event. Reads a
|
|
21
|
+
* JSON ReactorContext on stdin (preferred, for hook adapters) or builds one
|
|
22
|
+
* from flags. Emits the JSON ReactorResult on stdout.
|
|
23
|
+
*/
|
|
24
|
+
export declare function reactCommand(options?: ReactCommandOptions): Promise<void>;
|
|
25
|
+
//# sourceMappingURL=react.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../../src/cli/react.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,KAAK,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE/F;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,MAAM,CAI3E;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AASD;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CA8BnF"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { resolve } from '../coordination/reactor.js';
|
|
2
|
+
/**
|
|
3
|
+
* Pure core of `uap react`: parse a JSON ReactorContext payload, resolve the
|
|
4
|
+
* dynamic UAP capabilities for the event, and return the JSON ReactorResult.
|
|
5
|
+
* Harness adapters pipe a payload in and map `inject`/`block`/`actions` to the
|
|
6
|
+
* harness's native hook output.
|
|
7
|
+
*/
|
|
8
|
+
export function runReact(payloadJson, opts) {
|
|
9
|
+
const ctx = JSON.parse(payloadJson);
|
|
10
|
+
const result = resolve(ctx, opts);
|
|
11
|
+
return JSON.stringify(result);
|
|
12
|
+
}
|
|
13
|
+
async function readStdin() {
|
|
14
|
+
if (process.stdin.isTTY)
|
|
15
|
+
return '';
|
|
16
|
+
const chunks = [];
|
|
17
|
+
for await (const c of process.stdin)
|
|
18
|
+
chunks.push(c);
|
|
19
|
+
return Buffer.concat(chunks).toString('utf-8').trim();
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* `uap react` — resolve dynamic capabilities for a lifecycle event. Reads a
|
|
23
|
+
* JSON ReactorContext on stdin (preferred, for hook adapters) or builds one
|
|
24
|
+
* from flags. Emits the JSON ReactorResult on stdout.
|
|
25
|
+
*/
|
|
26
|
+
export async function reactCommand(options = {}) {
|
|
27
|
+
// Flag-driven invocation (e.g. OpenCode plugin) must not block on stdin.
|
|
28
|
+
let payload;
|
|
29
|
+
if (options.prompt !== undefined || options.event !== undefined) {
|
|
30
|
+
payload = JSON.stringify({
|
|
31
|
+
event: options.event ?? 'user-prompt',
|
|
32
|
+
promptText: options.prompt ?? '',
|
|
33
|
+
changedFiles: options.files ?? [],
|
|
34
|
+
surfaced: options.surfaced
|
|
35
|
+
? options.surfaced.split(',').map((k) => k.trim()).filter(Boolean)
|
|
36
|
+
: [],
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
const stdin = await readStdin();
|
|
41
|
+
payload =
|
|
42
|
+
stdin || JSON.stringify({ event: 'user-prompt', promptText: '', changedFiles: [] });
|
|
43
|
+
}
|
|
44
|
+
const opts = {};
|
|
45
|
+
if (options.injectThreshold)
|
|
46
|
+
opts.injectThreshold = Number(options.injectThreshold);
|
|
47
|
+
if (options.autoSpawnThreshold)
|
|
48
|
+
opts.autoSpawnThreshold = Number(options.autoSpawnThreshold);
|
|
49
|
+
if (options.autoSpawnTypes) {
|
|
50
|
+
opts.autoSpawnTaskTypes = options.autoSpawnTypes
|
|
51
|
+
.split(',')
|
|
52
|
+
.map((s) => s.trim())
|
|
53
|
+
.filter(Boolean);
|
|
54
|
+
}
|
|
55
|
+
if (options.maxInjectChars)
|
|
56
|
+
opts.maxInjectChars = Number(options.maxInjectChars);
|
|
57
|
+
process.stdout.write(runReact(payload, opts) + '\n');
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=react.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"react.js","sourceRoot":"","sources":["../../src/cli/react.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAA4C,MAAM,4BAA4B,CAAC;AAE/F;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,WAAmB,EAAE,IAAqB;IACjE,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAmB,CAAC;IACtD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClC,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC;AAaD,KAAK,UAAU,SAAS;IACtB,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACnC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,OAAO,CAAC,KAAK;QAAE,MAAM,CAAC,IAAI,CAAC,CAAW,CAAC,CAAC;IAC9D,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;AACxD,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,UAA+B,EAAE;IAClE,yEAAyE;IACzE,IAAI,OAAe,CAAC;IACpB,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAChE,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC;YACvB,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,aAAa;YACrC,UAAU,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;YAChC,YAAY,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE;YACjC,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBACxB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;gBAClE,CAAC,CAAC,EAAE;SACP,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,MAAM,KAAK,GAAG,MAAM,SAAS,EAAE,CAAC;QAChC,OAAO;YACL,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,CAAC;IACxF,CAAC;IAED,MAAM,IAAI,GAAmB,EAAE,CAAC;IAChC,IAAI,OAAO,CAAC,eAAe;QAAE,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IACpF,IAAI,OAAO,CAAC,kBAAkB;QAAE,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC7F,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;QAC3B,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,cAAc;aAC7C,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aACpB,MAAM,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC;IACD,IAAI,OAAO,CAAC,cAAc;QAAE,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAEjF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;AACvD,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { CapabilityRouter } from './capability-router.js';
|
|
2
|
+
import { PatternRouter } from './pattern-router.js';
|
|
3
|
+
export type ReactorEvent = 'session-start' | 'user-prompt' | 'pre-tool' | 'post-tool' | 'stop' | 'session-end';
|
|
4
|
+
export interface ReactorContext {
|
|
5
|
+
event: ReactorEvent;
|
|
6
|
+
promptText?: string;
|
|
7
|
+
changedFiles?: string[];
|
|
8
|
+
tool?: string;
|
|
9
|
+
cwd?: string;
|
|
10
|
+
sessionId?: string;
|
|
11
|
+
surfaced?: string[];
|
|
12
|
+
}
|
|
13
|
+
export interface ReactorAction {
|
|
14
|
+
kind: 'spawn-expert' | 'suggest-skill' | 'enforce' | 'link-task';
|
|
15
|
+
target: string;
|
|
16
|
+
confidence: number;
|
|
17
|
+
reason: string;
|
|
18
|
+
}
|
|
19
|
+
export interface ReactorResult {
|
|
20
|
+
inject: string;
|
|
21
|
+
block: boolean;
|
|
22
|
+
reason: string;
|
|
23
|
+
actions: ReactorAction[];
|
|
24
|
+
surfacedKeys: string[];
|
|
25
|
+
confidence: number;
|
|
26
|
+
}
|
|
27
|
+
export interface ReactorOptions {
|
|
28
|
+
injectThreshold?: number;
|
|
29
|
+
autoSpawnThreshold?: number;
|
|
30
|
+
autoSpawnTaskTypes?: string[];
|
|
31
|
+
maxInjectChars?: number;
|
|
32
|
+
}
|
|
33
|
+
export interface ReactorDeps {
|
|
34
|
+
capabilityRouter?: CapabilityRouter;
|
|
35
|
+
patternRouter?: PatternRouter;
|
|
36
|
+
}
|
|
37
|
+
export declare function resolve(ctx: ReactorContext, opts?: ReactorOptions, deps?: ReactorDeps): ReactorResult;
|
|
38
|
+
//# sourceMappingURL=reactor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reactor.d.ts","sourceRoot":"","sources":["../../src/coordination/reactor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAuB,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAoB,MAAM,qBAAqB,CAAC;AAEtE,MAAM,MAAM,YAAY,GAAG,eAAe,GAAG,aAAa,GAAG,UAAU,GAAG,WAAW,GAAG,MAAM,GAAG,aAAa,CAAC;AAE/G,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,YAAY,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,cAAc,GAAG,eAAe,GAAG,SAAS,GAAG,WAAW,CAAC;IACjE,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAcD,wBAAgB,OAAO,CACrB,GAAG,EAAE,cAAc,EACnB,IAAI,CAAC,EAAE,cAAc,EACrB,IAAI,CAAC,EAAE,WAAW,GACjB,aAAa,CAyIf"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { getCapabilityRouter } from './capability-router.js';
|
|
2
|
+
import { getPatternRouter } from './pattern-router.js';
|
|
3
|
+
const DEFAULT_INJECT_THRESHOLD = 0.30;
|
|
4
|
+
const DEFAULT_AUTO_SPAWN_THRESHOLD = 0.80;
|
|
5
|
+
const DEFAULT_MAX_INJECT_CHARS = 1200;
|
|
6
|
+
export function resolve(ctx, opts, deps) {
|
|
7
|
+
const injectThreshold = opts?.injectThreshold ?? DEFAULT_INJECT_THRESHOLD;
|
|
8
|
+
const autoSpawnThreshold = opts?.autoSpawnThreshold ?? DEFAULT_AUTO_SPAWN_THRESHOLD;
|
|
9
|
+
const maxInjectChars = opts?.maxInjectChars ?? DEFAULT_MAX_INJECT_CHARS;
|
|
10
|
+
const autoSpawnTaskTypes = opts?.autoSpawnTaskTypes ?? [];
|
|
11
|
+
const capabilityRouter = deps?.capabilityRouter ?? getCapabilityRouter();
|
|
12
|
+
const patternRouter = deps?.patternRouter ?? getPatternRouter();
|
|
13
|
+
const result = {
|
|
14
|
+
inject: '',
|
|
15
|
+
block: false,
|
|
16
|
+
reason: '',
|
|
17
|
+
actions: [],
|
|
18
|
+
surfacedKeys: [],
|
|
19
|
+
confidence: 0,
|
|
20
|
+
};
|
|
21
|
+
if (!ctx.promptText) {
|
|
22
|
+
return result;
|
|
23
|
+
}
|
|
24
|
+
const routeResult = capabilityRouter.routeTask({
|
|
25
|
+
id: 'reactor-ephemeral',
|
|
26
|
+
title: ctx.promptText,
|
|
27
|
+
type: 'task',
|
|
28
|
+
status: 'open',
|
|
29
|
+
priority: 2,
|
|
30
|
+
labels: [],
|
|
31
|
+
createdAt: '1970-01-01T00:00:00.000Z',
|
|
32
|
+
updatedAt: '1970-01-01T00:00:00.000Z',
|
|
33
|
+
}, ctx.changedFiles ?? []);
|
|
34
|
+
const confidence = routeResult.confidence;
|
|
35
|
+
const matchedPatterns = patternRouter.matchPatterns(ctx.promptText);
|
|
36
|
+
if (confidence < injectThreshold && (!matchedPatterns || matchedPatterns.length === 0)) {
|
|
37
|
+
return result;
|
|
38
|
+
}
|
|
39
|
+
const recommendedDroids = routeResult.recommendedDroids ?? [];
|
|
40
|
+
const recommendedSkills = routeResult.recommendedSkills ?? [];
|
|
41
|
+
const surfacedSet = new Set(ctx.surfaced ?? []);
|
|
42
|
+
const items = [];
|
|
43
|
+
for (const d of recommendedDroids) {
|
|
44
|
+
const key = `droid:${d}`;
|
|
45
|
+
if (!surfacedSet.has(key)) {
|
|
46
|
+
items.push({ key, name: d, confidence, type: 'droid' });
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
for (const sk of recommendedSkills) {
|
|
50
|
+
const key = `skill:${sk}`;
|
|
51
|
+
if (!surfacedSet.has(key)) {
|
|
52
|
+
items.push({ key, name: sk, confidence, type: 'skill' });
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
if (matchedPatterns) {
|
|
56
|
+
for (const p of matchedPatterns) {
|
|
57
|
+
const key = `pattern:${p.abbreviation}`;
|
|
58
|
+
if (!surfacedSet.has(key)) {
|
|
59
|
+
items.push({ key, name: p.abbreviation, confidence, type: 'pattern', title: p.title });
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
items.sort((a, b) => b.confidence - a.confidence);
|
|
64
|
+
let currentInject = '';
|
|
65
|
+
const finalItems = [];
|
|
66
|
+
for (const item of items) {
|
|
67
|
+
const line = item.type === 'pattern'
|
|
68
|
+
? ` - **${item.name}**: ${item.title || item.name} (confidence: ${item.confidence.toFixed(2)})`
|
|
69
|
+
: ` - **${item.name}** (confidence: ${item.confidence.toFixed(2)})`;
|
|
70
|
+
if (currentInject.length + line.length <= maxInjectChars) {
|
|
71
|
+
currentInject += line + '\n';
|
|
72
|
+
finalItems.push(item);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
const inject = currentInject.trim();
|
|
76
|
+
const actions = [];
|
|
77
|
+
const surfacedKeys = [];
|
|
78
|
+
for (const item of finalItems) {
|
|
79
|
+
surfacedKeys.push(item.key);
|
|
80
|
+
if (item.type === 'droid') {
|
|
81
|
+
const shouldSpawn = autoSpawnTaskTypes.some((t) => item.name.includes(t));
|
|
82
|
+
if (confidence >= autoSpawnThreshold && shouldSpawn) {
|
|
83
|
+
actions.push({
|
|
84
|
+
kind: 'spawn-expert',
|
|
85
|
+
target: item.name,
|
|
86
|
+
confidence: item.confidence,
|
|
87
|
+
reason: `Auto-spawning expert droid ${item.name} based on confidence ${confidence} >= ${autoSpawnThreshold}`,
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
actions.push({
|
|
92
|
+
kind: 'suggest-skill',
|
|
93
|
+
target: item.name,
|
|
94
|
+
confidence: item.confidence,
|
|
95
|
+
reason: `Recommended droid ${item.name} for task`,
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
else if (item.type === 'skill') {
|
|
100
|
+
actions.push({
|
|
101
|
+
kind: 'suggest-skill',
|
|
102
|
+
target: item.name,
|
|
103
|
+
confidence: item.confidence,
|
|
104
|
+
reason: `Recommended skill ${item.name} for task`,
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
else if (item.type === 'pattern') {
|
|
108
|
+
actions.push({
|
|
109
|
+
kind: 'enforce',
|
|
110
|
+
target: item.name,
|
|
111
|
+
confidence: item.confidence,
|
|
112
|
+
reason: `Pattern ${item.name} matched`,
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
result.inject = inject;
|
|
117
|
+
result.block = false;
|
|
118
|
+
result.reason = `Routing confidence ${confidence.toFixed(2)}${matchedPatterns && matchedPatterns.length > 0 ? ', patterns matched' : ''}`;
|
|
119
|
+
result.actions = actions;
|
|
120
|
+
result.surfacedKeys = surfacedKeys;
|
|
121
|
+
result.confidence = confidence;
|
|
122
|
+
return result;
|
|
123
|
+
}
|
|
124
|
+
//# sourceMappingURL=reactor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reactor.js","sourceRoot":"","sources":["../../src/coordination/reactor.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
import { DISCOVER_TOOLS_DEFINITION } from './tools/discover.js';
|
|
7
7
|
import { EXECUTE_TOOL_DEFINITION } from './tools/execute.js';
|
|
8
8
|
import { DELIVER_TOOL_DEFINITION } from './tools/deliver.js';
|
|
9
|
+
import { REACT_TOOL_DEFINITION } from './tools/react.js';
|
|
9
10
|
import type { McpConfig, RouterStats } from './types.js';
|
|
10
11
|
export interface RouterOptions {
|
|
11
12
|
configPath?: string;
|
|
@@ -27,7 +28,7 @@ export declare class McpRouter {
|
|
|
27
28
|
/**
|
|
28
29
|
* Get the 3 meta-tool definitions (for MCP tools/list)
|
|
29
30
|
*/
|
|
30
|
-
getToolDefinitions(): Array<typeof DISCOVER_TOOLS_DEFINITION | typeof EXECUTE_TOOL_DEFINITION | typeof DELIVER_TOOL_DEFINITION>;
|
|
31
|
+
getToolDefinitions(): Array<typeof DISCOVER_TOOLS_DEFINITION | typeof EXECUTE_TOOL_DEFINITION | typeof DELIVER_TOOL_DEFINITION | typeof REACT_TOOL_DEFINITION>;
|
|
31
32
|
/**
|
|
32
33
|
* Handle tool call
|
|
33
34
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp-router/server.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,OAAO,EACL,yBAAyB,EAG1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,uBAAuB,EAGxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,uBAAuB,EAGxB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,SAAS,EAAkB,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzE,MAAM,WAAW,aAAa;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,UAAU,CAAgB;IAClC,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,WAAW,CAAS;gBAEhB,OAAO,GAAE,aAAkB;IAkBvC;;;OAGG;IACG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IA0DhC;;OAEG;IACH,kBAAkB,IAAI,KAAK,
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp-router/server.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,OAAO,EACL,yBAAyB,EAG1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,uBAAuB,EAGxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,uBAAuB,EAGxB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,qBAAqB,EAAe,MAAM,kBAAkB,CAAC;AAEtE,OAAO,KAAK,EAAE,SAAS,EAAkB,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzE,MAAM,WAAW,aAAa;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,UAAU,CAAgB;IAClC,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,WAAW,CAAS;gBAEhB,OAAO,GAAE,aAAkB;IAkBvC;;;OAGG;IACG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IA0DhC;;OAEG;IACH,kBAAkB,IAAI,KAAK,CACvB,OAAO,yBAAyB,GAChC,OAAO,uBAAuB,GAC9B,OAAO,uBAAuB,GAC9B,OAAO,qBAAqB,CAC/B;IAID;;OAEG;IACG,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IA+BnE;;OAEG;IACH,QAAQ,IAAI,WAAW;IAwBvB;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ/B;;OAEG;IACH,SAAS,IAAI,SAAS;CAGvB;AA2CD;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyU/E"}
|
|
@@ -12,6 +12,7 @@ import { loadExpertTools } from './experts/registry.js';
|
|
|
12
12
|
import { DISCOVER_TOOLS_DEFINITION, handleDiscoverTools, estimateDiscoverToolsTokens, } from './tools/discover.js';
|
|
13
13
|
import { EXECUTE_TOOL_DEFINITION, handleExecuteTool, estimateExecuteToolTokens, } from './tools/execute.js';
|
|
14
14
|
import { DELIVER_TOOL_DEFINITION, handleDeliver, estimateDeliverToolTokens, } from './tools/deliver.js';
|
|
15
|
+
import { REACT_TOOL_DEFINITION, handleReact } from './tools/react.js';
|
|
15
16
|
export class McpRouter {
|
|
16
17
|
config;
|
|
17
18
|
searchIndex;
|
|
@@ -93,7 +94,7 @@ export class McpRouter {
|
|
|
93
94
|
* Get the 3 meta-tool definitions (for MCP tools/list)
|
|
94
95
|
*/
|
|
95
96
|
getToolDefinitions() {
|
|
96
|
-
return [DISCOVER_TOOLS_DEFINITION, EXECUTE_TOOL_DEFINITION, DELIVER_TOOL_DEFINITION];
|
|
97
|
+
return [DISCOVER_TOOLS_DEFINITION, EXECUTE_TOOL_DEFINITION, DELIVER_TOOL_DEFINITION, REACT_TOOL_DEFINITION];
|
|
97
98
|
}
|
|
98
99
|
/**
|
|
99
100
|
* Handle tool call
|
|
@@ -110,6 +111,8 @@ export class McpRouter {
|
|
|
110
111
|
return handleExecuteTool(args, this.searchIndex, this.clientPool);
|
|
111
112
|
case 'deliver':
|
|
112
113
|
return handleDeliver(args);
|
|
114
|
+
case 'react':
|
|
115
|
+
return Promise.resolve(handleReact(args));
|
|
113
116
|
default:
|
|
114
117
|
throw new Error(`Unknown tool: ${name}`);
|
|
115
118
|
}
|
|
@@ -499,6 +502,6 @@ export async function runStdioServer(options = {}) {
|
|
|
499
502
|
process.exit(0);
|
|
500
503
|
});
|
|
501
504
|
console.error('[router] MCP Router server started (stdio)');
|
|
502
|
-
console.error('[router] Exposing
|
|
505
|
+
console.error('[router] Exposing 4 tools: discover_tools, execute_tool, deliver, react');
|
|
503
506
|
}
|
|
504
507
|
//# sourceMappingURL=server.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp-router/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp-router/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* react - First-class MCP tool exposing the UAP Reactor resolver in-process.
|
|
3
|
+
*
|
|
4
|
+
* For harnesses WITHOUT a per-prompt hook (notably Codex, which only speaks
|
|
5
|
+
* MCP), the agent calls this at the start of a task to auto-apply UAP routing:
|
|
6
|
+
* which expert droids/skills to use and which enforcement patterns apply,
|
|
7
|
+
* confidence-gated, with optional expert auto-spawn suggestions.
|
|
8
|
+
*/
|
|
9
|
+
import { type ReactorContext } from '../../coordination/reactor.js';
|
|
10
|
+
export interface ReactArgs {
|
|
11
|
+
promptText: string;
|
|
12
|
+
changedFiles?: string[];
|
|
13
|
+
event?: ReactorContext['event'];
|
|
14
|
+
surfaced?: string[];
|
|
15
|
+
injectThreshold?: number;
|
|
16
|
+
autoSpawnThreshold?: number;
|
|
17
|
+
autoSpawnTaskTypes?: string[];
|
|
18
|
+
maxInjectChars?: number;
|
|
19
|
+
}
|
|
20
|
+
export declare const REACT_TOOL_DEFINITION: {
|
|
21
|
+
name: string;
|
|
22
|
+
description: string;
|
|
23
|
+
inputSchema: {
|
|
24
|
+
type: "object";
|
|
25
|
+
properties: {
|
|
26
|
+
promptText: {
|
|
27
|
+
type: string;
|
|
28
|
+
description: string;
|
|
29
|
+
};
|
|
30
|
+
changedFiles: {
|
|
31
|
+
type: string;
|
|
32
|
+
items: {
|
|
33
|
+
type: string;
|
|
34
|
+
};
|
|
35
|
+
description: string;
|
|
36
|
+
};
|
|
37
|
+
event: {
|
|
38
|
+
type: string;
|
|
39
|
+
description: string;
|
|
40
|
+
};
|
|
41
|
+
surfaced: {
|
|
42
|
+
type: string;
|
|
43
|
+
items: {
|
|
44
|
+
type: string;
|
|
45
|
+
};
|
|
46
|
+
description: string;
|
|
47
|
+
};
|
|
48
|
+
};
|
|
49
|
+
required: string[];
|
|
50
|
+
};
|
|
51
|
+
};
|
|
52
|
+
export interface ReactToolResult {
|
|
53
|
+
ok: boolean;
|
|
54
|
+
result?: unknown;
|
|
55
|
+
error?: string;
|
|
56
|
+
}
|
|
57
|
+
export declare function handleReact(args: ReactArgs): ReactToolResult;
|
|
58
|
+
//# sourceMappingURL=react.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../../../src/mcp-router/tools/react.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAEL,KAAK,cAAc,EAEpB,MAAM,+BAA+B,CAAC;AAEvC,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuBjC,CAAC;AAEF,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,SAAS,GAAG,eAAe,CAqB5D"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* react - First-class MCP tool exposing the UAP Reactor resolver in-process.
|
|
3
|
+
*
|
|
4
|
+
* For harnesses WITHOUT a per-prompt hook (notably Codex, which only speaks
|
|
5
|
+
* MCP), the agent calls this at the start of a task to auto-apply UAP routing:
|
|
6
|
+
* which expert droids/skills to use and which enforcement patterns apply,
|
|
7
|
+
* confidence-gated, with optional expert auto-spawn suggestions.
|
|
8
|
+
*/
|
|
9
|
+
import { resolve as resolveReactor, } from '../../coordination/reactor.js';
|
|
10
|
+
export const REACT_TOOL_DEFINITION = {
|
|
11
|
+
name: 'react',
|
|
12
|
+
description: `Resolve the UAP capabilities (expert droids, skills, enforcement patterns) relevant to the current task — call this at the START of any substantive coding task to auto-apply UAP's dynamic routing.
|
|
13
|
+
|
|
14
|
+
Returns a context card (inject) recommending which expert droids and skills to use and which patterns apply, plus structured actions including confidence-gated expert auto-spawn suggestions. Harnesses with per-prompt hooks get this automatically; for harnesses without them (e.g. Codex), invoke this yourself each task instead of editing blind.`,
|
|
15
|
+
inputSchema: {
|
|
16
|
+
type: 'object',
|
|
17
|
+
properties: {
|
|
18
|
+
promptText: { type: 'string', description: 'The task/prompt text to route' },
|
|
19
|
+
changedFiles: {
|
|
20
|
+
type: 'array',
|
|
21
|
+
items: { type: 'string' },
|
|
22
|
+
description: 'Files in play — refines routing',
|
|
23
|
+
},
|
|
24
|
+
event: { type: 'string', description: "Lifecycle event (default 'user-prompt')" },
|
|
25
|
+
surfaced: {
|
|
26
|
+
type: 'array',
|
|
27
|
+
items: { type: 'string' },
|
|
28
|
+
description: 'Keys already surfaced this session (droid:/skill:/pattern:) for dedup',
|
|
29
|
+
},
|
|
30
|
+
},
|
|
31
|
+
required: ['promptText'],
|
|
32
|
+
},
|
|
33
|
+
};
|
|
34
|
+
export function handleReact(args) {
|
|
35
|
+
try {
|
|
36
|
+
if (!args || typeof args.promptText !== 'string' || !args.promptText.trim()) {
|
|
37
|
+
return { ok: false, error: 'promptText is required' };
|
|
38
|
+
}
|
|
39
|
+
const ctx = {
|
|
40
|
+
event: args.event ?? 'user-prompt',
|
|
41
|
+
promptText: args.promptText,
|
|
42
|
+
changedFiles: args.changedFiles,
|
|
43
|
+
surfaced: args.surfaced,
|
|
44
|
+
};
|
|
45
|
+
const opts = {
|
|
46
|
+
injectThreshold: args.injectThreshold,
|
|
47
|
+
autoSpawnThreshold: args.autoSpawnThreshold,
|
|
48
|
+
autoSpawnTaskTypes: args.autoSpawnTaskTypes,
|
|
49
|
+
maxInjectChars: args.maxInjectChars,
|
|
50
|
+
};
|
|
51
|
+
return { ok: true, result: resolveReactor(ctx, opts) };
|
|
52
|
+
}
|
|
53
|
+
catch (e) {
|
|
54
|
+
return { ok: false, error: e instanceof Error ? e.message : String(e) };
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=react.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"react.js","sourceRoot":"","sources":["../../../src/mcp-router/tools/react.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EACL,OAAO,IAAI,cAAc,GAG1B,MAAM,+BAA+B,CAAC;AAavC,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,IAAI,EAAE,OAAO;IACb,WAAW,EAAE;;yVAE0U;IACvV,WAAW,EAAE;QACX,IAAI,EAAE,QAAiB;QACvB,UAAU,EAAE;YACV,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,+BAA+B,EAAE;YAC5E,YAAY,EAAE;gBACZ,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,WAAW,EAAE,iCAAiC;aAC/C;YACD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yCAAyC,EAAE;YACjF,QAAQ,EAAE;gBACR,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,WAAW,EAAE,uEAAuE;aACrF;SACF;QACD,QAAQ,EAAE,CAAC,YAAY,CAAC;KACzB;CACF,CAAC;AAQF,MAAM,UAAU,WAAW,CAAC,IAAe;IACzC,IAAI,CAAC;QACH,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC;YAC5E,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,wBAAwB,EAAE,CAAC;QACxD,CAAC;QACD,MAAM,GAAG,GAAmB;YAC1B,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,aAAa;YAClC,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC;QACF,MAAM,IAAI,GAAmB;YAC3B,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,cAAc,EAAE,IAAI,CAAC,cAAc;SACpC,CAAC;QACF,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC;IACzD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1E,CAAC;AACH,CAAC"}
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* Based on BENCHMARK_ANALYSIS.md and MODEL_BENCHMARK_RESULTS.md data.
|
|
12
12
|
*/
|
|
13
13
|
import Database from 'better-sqlite3';
|
|
14
|
-
export type ModelId = 'opus-4.6' | 'sonnet-4.6' | 'haiku' | 'qwen35-a3b' | 'gpt-5.4' | 'gpt-5.3-codex';
|
|
14
|
+
export type ModelId = 'opus-4.8' | 'opus-4.6' | 'sonnet-4.6' | 'haiku' | 'qwen35-a3b' | 'gpt-5.4' | 'gpt-5.3-codex';
|
|
15
15
|
export interface CategoryStats {
|
|
16
16
|
attempts: number;
|
|
17
17
|
successes: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-router.d.ts","sourceRoot":"","sources":["../../src/memory/model-router.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAYtC,MAAM,MAAM,OAAO,GACf,UAAU,GACV,YAAY,GACZ,OAAO,GACP,YAAY,GACZ,SAAS,GACT,eAAe,CAAC;AAEpB,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,OAAO,CAAC;IACZ,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC1C,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CAC/C;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,EAAE,MAAM,CAAC;IAC3B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,OAAO,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,OAAO,EAAE,CAAC;CAC5B;
|
|
1
|
+
{"version":3,"file":"model-router.d.ts","sourceRoot":"","sources":["../../src/memory/model-router.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,10 +24,36 @@ const DEFAULT_CONFIG = {
|
|
|
24
24
|
preferAccuracy: true,
|
|
25
25
|
maxCostPerTask: 0.05,
|
|
26
26
|
maxLatencyMs: 120000,
|
|
27
|
-
availableModels: ['opus-4.6', 'sonnet-4.6', 'haiku', 'qwen35-a3b', 'gpt-5.4', 'gpt-5.3-codex'],
|
|
27
|
+
availableModels: ['opus-4.8', 'opus-4.6', 'sonnet-4.6', 'haiku', 'qwen35-a3b', 'gpt-5.4', 'gpt-5.3-codex'],
|
|
28
28
|
};
|
|
29
29
|
// OPTIMIZATION 5: Pre-seeded with benchmark data for per-category routing
|
|
30
30
|
const MODEL_FINGERPRINTS = {
|
|
31
|
+
'opus-4.8': {
|
|
32
|
+
id: 'opus-4.8',
|
|
33
|
+
strengths: [
|
|
34
|
+
'accuracy',
|
|
35
|
+
'complex-reasoning',
|
|
36
|
+
'edge-cases',
|
|
37
|
+
'error-handling',
|
|
38
|
+
'refactoring',
|
|
39
|
+
'advanced-planning',
|
|
40
|
+
],
|
|
41
|
+
weaknesses: ['latency', 'cost'],
|
|
42
|
+
avgLatencyMs: 24000,
|
|
43
|
+
successRate: 0.93,
|
|
44
|
+
costPerTask: 0.03,
|
|
45
|
+
maxComplexity: 'hard',
|
|
46
|
+
bestCategories: ['security', 'coding', 'sysadmin', 'debugging', 'constraint-satisfaction'],
|
|
47
|
+
categoryStats: {
|
|
48
|
+
security: { attempts: 8, successes: 8 },
|
|
49
|
+
coding: { attempts: 8, successes: 8 },
|
|
50
|
+
sysadmin: { attempts: 5, successes: 5 },
|
|
51
|
+
debugging: { attempts: 5, successes: 5 },
|
|
52
|
+
'file-ops': { attempts: 5, successes: 5 },
|
|
53
|
+
'ml-training': { attempts: 3, successes: 3 },
|
|
54
|
+
'constraint-satisfaction': { attempts: 3, successes: 3 },
|
|
55
|
+
},
|
|
56
|
+
},
|
|
31
57
|
'opus-4.6': {
|
|
32
58
|
id: 'opus-4.6',
|
|
33
59
|
strengths: [
|