kiokuko-dsh 0.2.5 → 0.2.6
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/client.cjs +78 -8
- package/dist/dsh/execution-selection.d.ts +13 -0
- package/dist/dsh/execution-selection.d.ts.map +1 -1
- package/dist/dsh/execution-selection.js +11 -0
- package/dist/dsh/execution-selection.js.map +1 -1
- package/dist/dsh/head-worker-configuration.d.ts +27 -0
- package/dist/dsh/head-worker-configuration.d.ts.map +1 -0
- package/dist/dsh/head-worker-configuration.js +69 -0
- package/dist/dsh/head-worker-configuration.js.map +1 -0
- package/dist/dsh/host-adapter/admission.d.ts.map +1 -1
- package/dist/dsh/host-adapter/admission.js +3 -0
- package/dist/dsh/host-adapter/admission.js.map +1 -1
- package/dist/dsh/host-adapter/routing.d.ts +3 -1
- package/dist/dsh/host-adapter/routing.d.ts.map +1 -1
- package/dist/dsh/host-adapter/routing.js +11 -6
- package/dist/dsh/host-adapter/routing.js.map +1 -1
- package/dist/dsh/host-adapter.d.ts.map +1 -1
- package/dist/dsh/host-adapter.js +146 -1
- package/dist/dsh/host-adapter.js.map +1 -1
- package/dist/dsh/model-selection-ui.d.ts +2 -0
- package/dist/dsh/model-selection-ui.d.ts.map +1 -1
- package/dist/dsh/model-selection-ui.js +69 -5
- package/dist/dsh/model-selection-ui.js.map +1 -1
- package/dist/dsh/models/contracts.d.ts +30 -2
- package/dist/dsh/models/contracts.d.ts.map +1 -1
- package/dist/dsh/models/contracts.js +6 -0
- package/dist/dsh/models/contracts.js.map +1 -1
- package/dist/dsh/models/profiles.d.ts +2 -0
- package/dist/dsh/models/profiles.d.ts.map +1 -1
- package/dist/dsh/models/profiles.js +7 -3
- package/dist/dsh/models/profiles.js.map +1 -1
- package/dist/dsh/models/service.d.ts +58 -3
- package/dist/dsh/models/service.d.ts.map +1 -1
- package/dist/dsh/models/service.js +159 -18
- package/dist/dsh/models/service.js.map +1 -1
- package/dist/dsh/models/session-selection.d.ts +25 -0
- package/dist/dsh/models/session-selection.d.ts.map +1 -0
- package/dist/dsh/models/session-selection.js +16 -0
- package/dist/dsh/models/session-selection.js.map +1 -0
- package/dist/dsh/models/surface.d.ts +1 -0
- package/dist/dsh/models/surface.d.ts.map +1 -1
- package/dist/dsh/models/surface.js +24 -4
- package/dist/dsh/models/surface.js.map +1 -1
- package/dist/dsh/native-worker-routing.d.ts +69 -0
- package/dist/dsh/native-worker-routing.d.ts.map +1 -0
- package/dist/dsh/native-worker-routing.js +147 -0
- package/dist/dsh/native-worker-routing.js.map +1 -0
- package/dist/locale/en.json +1 -1
- package/dist/locale/ja.json +1 -1
- package/dist/locale/ko.json +1 -1
- package/dist/locale/zh-CN.json +1 -1
- package/dist/models-client.cjs +78 -8
- package/dist/models-client.d.ts.map +1 -1
- package/dist/models-client.js +76 -8
- package/dist/models-client.js.map +1 -1
- package/docs/kiokuko-models.md +47 -0
- package/migrations/037_native_worker_routing.sql +8 -0
- package/package.json +1 -1
package/dist/client.cjs
CHANGED
|
@@ -84,6 +84,7 @@ window.__ModuleLoader__.load({
|
|
|
84
84
|
function KiokukoModelsPanel(props) {
|
|
85
85
|
const [state, setState] = useState({ revision: 0, connections: [] }), [connection, setConnection] = useState(null), [models, setModels] = useState([]), [filter, setFilter] = useState("");
|
|
86
86
|
const [busy, setBusy] = useState(false), [error, setError] = useState(""), [notice, setNotice] = useState(""), [key, setKey] = useState(""), [auth, setAuth] = useState(null), [answer, setAnswer] = useState("");
|
|
87
|
+
const [headChoice, setHeadChoice] = useState(""), [workerChoice, setWorkerChoice] = useState("");
|
|
87
88
|
const [manual, setManual] = useState({
|
|
88
89
|
id: "",
|
|
89
90
|
contextWindow: 262144,
|
|
@@ -92,12 +93,27 @@ window.__ModuleLoader__.load({
|
|
|
92
93
|
image: false
|
|
93
94
|
});
|
|
94
95
|
const [advanced, setAdvanced] = useState(false), [manualOpen, setManualOpen] = useState(false);
|
|
95
|
-
const operation = useRef(void 0), mounted = useRef(true), working = useRef(false);
|
|
96
|
+
const operation = useRef(void 0), mounted = useRef(true), working = useRef(false), loadSequence = useRef(0);
|
|
96
97
|
const sessionId = props.sessionId;
|
|
98
|
+
const currentSession = useRef(sessionId);
|
|
99
|
+
currentSession.current = sessionId;
|
|
100
|
+
const bindingKey = (binding) => binding ? JSON.stringify({ provider: binding.provider, model: binding.model }) : "";
|
|
101
|
+
const restorePairDraft = (value) => {
|
|
102
|
+
const candidates = value.headWorker?.candidates, selected = value.headWorker?.current;
|
|
103
|
+
const choice = (role, list) => {
|
|
104
|
+
const saved = list.find((candidate) => bindingKey(candidate) === bindingKey(selected?.[role]));
|
|
105
|
+
return bindingKey(saved ?? (list.length === 1 ? list[0] : void 0));
|
|
106
|
+
};
|
|
107
|
+
setHeadChoice(choice("head", candidates?.heads ?? []));
|
|
108
|
+
setWorkerChoice(choice("worker", candidates?.workers ?? []));
|
|
109
|
+
};
|
|
97
110
|
const load = async () => {
|
|
98
|
-
const
|
|
99
|
-
|
|
111
|
+
const sequence = ++loadSequence.current;
|
|
112
|
+
const value = await modelsApi(void 0, sessionId ? "?sessionId=" + encodeURIComponent(sessionId) : "");
|
|
113
|
+
if (mounted.current && currentSession.current === sessionId && loadSequence.current === sequence) {
|
|
100
114
|
setState(value);
|
|
115
|
+
restorePairDraft(value);
|
|
116
|
+
}
|
|
101
117
|
return value;
|
|
102
118
|
};
|
|
103
119
|
useEffect(() => {
|
|
@@ -108,7 +124,7 @@ window.__ModuleLoader__.load({
|
|
|
108
124
|
if (operation.current)
|
|
109
125
|
void modelsApi({ op: "cancel", id: operation.current }).catch(() => void 0);
|
|
110
126
|
};
|
|
111
|
-
}, []);
|
|
127
|
+
}, [sessionId]);
|
|
112
128
|
const run = async (action) => {
|
|
113
129
|
if (working.current)
|
|
114
130
|
return;
|
|
@@ -259,6 +275,38 @@ window.__ModuleLoader__.load({
|
|
|
259
275
|
onClick: action,
|
|
260
276
|
children: label
|
|
261
277
|
});
|
|
278
|
+
const pair = state.headWorker, headCandidates = pair?.candidates?.heads ?? [], workerCandidates = pair?.candidates?.workers ?? [];
|
|
279
|
+
const selectedHead = headCandidates.find((binding) => bindingKey(binding) === headChoice), selectedWorker = workerCandidates.find((binding) => bindingKey(binding) === workerChoice);
|
|
280
|
+
const pairReady = !!selectedHead && !!selectedWorker;
|
|
281
|
+
const pairSummary = (configuration) => configuration ? configuration.head.provider + " / " + configuration.head.model + " \u2192 " + configuration.worker.provider + " / " + configuration.worker.model : "Ordinary model selection";
|
|
282
|
+
const savePair = async (scope, enabled) => {
|
|
283
|
+
if (enabled && !pairReady)
|
|
284
|
+
throw new Error("Choose an available connection for both models");
|
|
285
|
+
const retainEffort = (role, binding) => {
|
|
286
|
+
const saved = [pair?.current?.[role], pair?.default?.[role]].find((candidate) => candidate && bindingKey(candidate) === bindingKey(binding));
|
|
287
|
+
return saved?.reasoningEffort ? { ...binding, reasoningEffort: saved.reasoningEffort } : binding;
|
|
288
|
+
};
|
|
289
|
+
await modelsApi({
|
|
290
|
+
op: "head-worker",
|
|
291
|
+
scope,
|
|
292
|
+
revision: state.revision,
|
|
293
|
+
...scope === "current" ? { sessionId } : {},
|
|
294
|
+
configuration: enabled ? { preset: "gpt-6.1-sol-deepseek-v4.1-flash", head: retainEffort("head", selectedHead), worker: retainEffort("worker", selectedWorker) } : null
|
|
295
|
+
});
|
|
296
|
+
await load();
|
|
297
|
+
if (mounted.current && currentSession.current === sessionId)
|
|
298
|
+
setNotice(scope === "current" ? enabled ? "Head/worker pair selected for this chat" : "Ordinary model selection restored for this chat" : enabled ? "Head/worker pair saved for new chats" : "Ordinary model default restored for new chats");
|
|
299
|
+
};
|
|
300
|
+
const pairSelect = (label, value, candidates, change) => jsx("label", { children: jsxs(Fragment, { children: [label, jsxs("select", {
|
|
301
|
+
"aria-label": label,
|
|
302
|
+
value,
|
|
303
|
+
disabled: busy || !candidates.length,
|
|
304
|
+
onChange: (event) => change(event.target.value),
|
|
305
|
+
children: [
|
|
306
|
+
jsx("option", { value: "", children: candidates.length ? "Choose connection\u2026" : "Unavailable" }),
|
|
307
|
+
...candidates.map((binding) => jsx("option", { value: bindingKey(binding), children: binding.provider + " / " + binding.model }, bindingKey(binding)))
|
|
308
|
+
]
|
|
309
|
+
})] }) });
|
|
262
310
|
return jsxs("section", {
|
|
263
311
|
className: "kiokuko-models-panel",
|
|
264
312
|
"aria-label": "Kiokuko Models",
|
|
@@ -272,6 +320,24 @@ window.__ModuleLoader__.load({
|
|
|
272
320
|
...notice ? [jsx("p", { role: "status", children: notice }, "notice")] : [],
|
|
273
321
|
...busy ? [jsx("p", { role: "status", children: "Working\u2026" }, "busy")] : [],
|
|
274
322
|
button("Reload", () => void run(load)),
|
|
323
|
+
jsxs("fieldset", {
|
|
324
|
+
"aria-label": "Head/worker pair",
|
|
325
|
+
children: [
|
|
326
|
+
jsx("legend", { children: "Head/worker pair (optional)" }),
|
|
327
|
+
jsx("p", { children: "GPT-6.1-Sol head + DeepSeek V4.1 Flash subagents for normal chat, Lisp and Enno. Both exact models must be available; there is no automatic replacement. An approved Enno task keeps its selected models until the next task." }),
|
|
328
|
+
jsx("p", { children: "Current chat: " + (sessionId ? pairSummary(pair?.current) : "Open a chat to select its pair") }),
|
|
329
|
+
jsx("p", { children: "Default for new chats: " + pairSummary(pair?.default) }),
|
|
330
|
+
...pair?.currentAvailable === false ? [jsx("p", { role: "status", children: "The saved head/worker pair is unavailable. Reconnect its exact models or choose another available pair." })] : [],
|
|
331
|
+
...(pair?.candidates?.problems ?? []).map((problem) => jsx("p", { role: "status", children: problem }, problem)),
|
|
332
|
+
pairSelect("Head connection \xB7 GPT-6.1-Sol", headChoice, headCandidates, setHeadChoice),
|
|
333
|
+
pairSelect("Worker connection \xB7 DeepSeek V4.1 Flash", workerChoice, workerCandidates, setWorkerChoice),
|
|
334
|
+
button("Use pair in current chat", () => void run(() => savePair("current", true)), !sessionId || !pairReady),
|
|
335
|
+
button("Pair default for new chats", () => void run(() => savePair("default", true)), !pairReady),
|
|
336
|
+
button("Disable pair in current chat", () => void run(() => savePair("current", false)), !sessionId || !pair?.current),
|
|
337
|
+
button("Clear pair default", () => void run(() => savePair("default", false)), !pair?.default),
|
|
338
|
+
button("Cancel pair changes", () => restorePairDraft(state))
|
|
339
|
+
]
|
|
340
|
+
}),
|
|
275
341
|
jsx("label", {
|
|
276
342
|
children: jsxs(Fragment, {
|
|
277
343
|
children: [
|
|
@@ -580,7 +646,9 @@ window.__ModuleLoader__.load({
|
|
|
580
646
|
scope: "current",
|
|
581
647
|
sessionId
|
|
582
648
|
});
|
|
583
|
-
|
|
649
|
+
await load();
|
|
650
|
+
if (mounted.current && currentSession.current === sessionId)
|
|
651
|
+
setNotice("Model selected for this chat");
|
|
584
652
|
}), !sessionId),
|
|
585
653
|
button("Default for new chats", () => void run(async () => {
|
|
586
654
|
await modelsApi({
|
|
@@ -589,7 +657,9 @@ window.__ModuleLoader__.load({
|
|
|
589
657
|
model: m.id,
|
|
590
658
|
scope: "default"
|
|
591
659
|
});
|
|
592
|
-
|
|
660
|
+
await load();
|
|
661
|
+
if (mounted.current && currentSession.current === sessionId)
|
|
662
|
+
setNotice("Default model saved for new chats");
|
|
593
663
|
}))
|
|
594
664
|
]
|
|
595
665
|
})
|
|
@@ -610,7 +680,7 @@ window.__ModuleLoader__.load({
|
|
|
610
680
|
title: "Kiokuko Models",
|
|
611
681
|
closeLabel: "Close",
|
|
612
682
|
onClose: close,
|
|
613
|
-
children: state.open ? jsx(KiokukoModelsPanel, { sessionId: state.sessionId }) : null
|
|
683
|
+
children: state.open ? jsx(KiokukoModelsPanel, { sessionId: state.sessionId }, state.sessionId ?? "no-session") : null
|
|
614
684
|
});
|
|
615
685
|
}
|
|
616
686
|
function KiokukoModelsAnchor(props) {
|
|
@@ -664,7 +734,7 @@ window.__ModuleLoader__.load({
|
|
|
664
734
|
order: 1e3,
|
|
665
735
|
label: "Kiokuko Models",
|
|
666
736
|
locale: MODELS_NS
|
|
667
|
-
}, () => jsx(KiokukoModelsPanel, { sessionId: active.current })));
|
|
737
|
+
}, () => jsx(KiokukoModelsPanel, { sessionId: active.current }, active.current ?? "no-session")));
|
|
668
738
|
ctx.slots.inject("conversation.input.left", () => ctx.slots.register({
|
|
669
739
|
name: "conversation.input.left",
|
|
670
740
|
id: "kiokuko-models-dialog",
|
|
@@ -273,6 +273,19 @@ export declare const ExecutionSelectionSchema: z.ZodObject<{
|
|
|
273
273
|
model: z.ZodString;
|
|
274
274
|
reasoningEffort: z.ZodOptional<z.ZodString>;
|
|
275
275
|
}, z.core.$strict>>;
|
|
276
|
+
headWorker: z.ZodOptional<z.ZodObject<{
|
|
277
|
+
preset: z.ZodLiteral<"gpt-6.1-sol-deepseek-v4.1-flash">;
|
|
278
|
+
head: z.ZodObject<{
|
|
279
|
+
provider: z.ZodString;
|
|
280
|
+
model: z.ZodString;
|
|
281
|
+
reasoningEffort: z.ZodOptional<z.ZodString>;
|
|
282
|
+
}, z.core.$strict>;
|
|
283
|
+
worker: z.ZodObject<{
|
|
284
|
+
provider: z.ZodString;
|
|
285
|
+
model: z.ZodString;
|
|
286
|
+
reasoningEffort: z.ZodOptional<z.ZodString>;
|
|
287
|
+
}, z.core.$strict>;
|
|
288
|
+
}, z.core.$strict>>;
|
|
276
289
|
draft: z.ZodOptional<z.ZodObject<{
|
|
277
290
|
template: z.ZodOptional<z.ZodObject<{
|
|
278
291
|
id: z.ZodString;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution-selection.d.ts","sourceRoot":"","sources":["../../src/dsh/execution-selection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"execution-selection.d.ts","sourceRoot":"","sources":["../../src/dsh/execution-selection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAItD,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA2BnC,CAAA;AACF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAA;AACzE,MAAM,WAAW,wBAAwB;IAAG,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,kBAAkB,CAAA;CAAE;AAC3G,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,GAAG,wBAAwB,GAAG,SAAS,CAWpH;AACD,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAG1F;AACD,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,GAAG,wBAAwB,CAW9J;AACD,2EAA2E;AAC3E,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAIjF"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
+
import { HeadWorkerConfigurationSchema } from './head-worker-configuration.js';
|
|
2
3
|
import { LegacyDeepConfigurationSchema, DeepConfigurationSchema } from '../deep-thinker/core/contracts.js';
|
|
3
4
|
import { KiokukoError } from '../errors.js';
|
|
4
5
|
import { LegacyModelConfigurationSchema, ModelConfigurationSchema, LegacyModelConfigurationDraftSchema, ModelBindingSchema } from './model-configuration.js';
|
|
@@ -8,6 +9,7 @@ export const ExecutionSelectionSchema = z.object({
|
|
|
8
9
|
configuration: z.union([ModelConfigurationSchema, LegacyModelConfigurationSchema]).optional(),
|
|
9
10
|
deepConfiguration: z.union([DeepConfigurationSchema, LegacyDeepConfigurationSchema]).optional(),
|
|
10
11
|
ordinaryModel: ModelBindingSchema.optional(),
|
|
12
|
+
headWorker: HeadWorkerConfigurationSchema.optional(),
|
|
11
13
|
draft: LegacyModelConfigurationDraftSchema.optional(),
|
|
12
14
|
problem: z.string().max(1024).optional(),
|
|
13
15
|
discussion: z.object({
|
|
@@ -16,6 +18,15 @@ export const ExecutionSelectionSchema = z.object({
|
|
|
16
18
|
turn: z.number().int().nonnegative(),
|
|
17
19
|
}).strict().optional(),
|
|
18
20
|
}).strict().superRefine((value, ctx) => {
|
|
21
|
+
if (value.headWorker && value.mode === 'enno' && value.status === 'ready' && value.configuration) {
|
|
22
|
+
for (const [role, actual] of Object.entries(value.configuration.roles)) {
|
|
23
|
+
const expected = role === 'worker' ? value.headWorker.worker : value.headWorker.head;
|
|
24
|
+
if (actual.provider !== expected.provider || actual.model !== expected.model || actual.reasoningEffort !== expected.reasoningEffort)
|
|
25
|
+
ctx.addIssue({ code: 'custom', message: 'Enno roles must match the selected head/worker configuration' });
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
if (value.headWorker && value.mode === 'deep-thinker')
|
|
29
|
+
ctx.addIssue({ code: 'custom', message: 'Head/worker selection does not own Deep routing' });
|
|
19
30
|
if (value.discussion && value.status === 'ready')
|
|
20
31
|
ctx.addIssue({ code: 'custom', message: 'Discussion cannot authorize execution' });
|
|
21
32
|
if (value.mode === 'deep-thinker' && (!value.deepConfiguration || value.configuration || value.draft))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution-selection.js","sourceRoot":"","sources":["../../src/dsh/execution-selection.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"execution-selection.js","sourceRoot":"","sources":["../../src/dsh/execution-selection.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { type DshModelCatalog, type DshModelCompatibility, type ModelBinding, type ModelCatalogSnapshot, type ModelConfiguration, type ModelRoute } from './model-configuration.js';
|
|
3
|
+
export declare const HEAD_WORKER_PRESET: "gpt-6.1-sol-deepseek-v4.1-flash";
|
|
4
|
+
export declare const HEAD_WORKER_LABEL = "GPT-6.1-Sol \u30D8\u30C3\u30C9 / DeepSeek V4.1 Flash \u30B5\u30D6\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8";
|
|
5
|
+
export declare const HeadWorkerConfigurationSchema: z.ZodObject<{
|
|
6
|
+
preset: z.ZodLiteral<"gpt-6.1-sol-deepseek-v4.1-flash">;
|
|
7
|
+
head: z.ZodObject<{
|
|
8
|
+
provider: z.ZodString;
|
|
9
|
+
model: z.ZodString;
|
|
10
|
+
reasoningEffort: z.ZodOptional<z.ZodString>;
|
|
11
|
+
}, z.core.$strict>;
|
|
12
|
+
worker: z.ZodObject<{
|
|
13
|
+
provider: z.ZodString;
|
|
14
|
+
model: z.ZodString;
|
|
15
|
+
reasoningEffort: z.ZodOptional<z.ZodString>;
|
|
16
|
+
}, z.core.$strict>;
|
|
17
|
+
}, z.core.$strict>;
|
|
18
|
+
export type HeadWorkerConfiguration = z.infer<typeof HeadWorkerConfigurationSchema>;
|
|
19
|
+
export declare function headWorkerCandidates(catalog: ModelCatalogSnapshot, declared?: readonly ModelRoute[], compatibility?: DshModelCompatibility): Promise<{
|
|
20
|
+
heads: ModelBinding[];
|
|
21
|
+
workers: ModelBinding[];
|
|
22
|
+
problems: string[];
|
|
23
|
+
}>;
|
|
24
|
+
/** Re-read the live catalog immediately before selection/dispatch; never generate a model request here. */
|
|
25
|
+
export declare function validateHeadWorker(configuration: HeadWorkerConfiguration, llm: DshModelCatalog, declared?: readonly ModelRoute[], compatibility?: DshModelCompatibility): Promise<string[]>;
|
|
26
|
+
export declare function headWorkerEnnoConfiguration(configuration: HeadWorkerConfiguration): ModelConfiguration;
|
|
27
|
+
//# sourceMappingURL=head-worker-configuration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"head-worker-configuration.d.ts","sourceRoot":"","sources":["../../src/dsh/head-worker-configuration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EACL,KAAK,eAAe,EAAE,KAAK,qBAAqB,EAAE,KAAK,YAAY,EAAE,KAAK,oBAAoB,EAC9F,KAAK,kBAAkB,EAAE,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAE5E,eAAO,MAAM,kBAAkB,EAAG,iCAA0C,CAAA;AAC5E,eAAO,MAAM,iBAAiB,0GAAmD,CAAA;AAEjF,eAAO,MAAM,6BAA6B;;;;;;;;;;;;kBAI/B,CAAA;AACX,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAA;AAiBnF,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,oBAAoB,EAAE,QAAQ,GAAE,SAAS,UAAU,EAAO,EAAE,aAAa,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC;IAC9J,KAAK,EAAE,YAAY,EAAE,CAAC;IAAC,OAAO,EAAE,YAAY,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnE,CAAC,CAgBD;AACD,2GAA2G;AAC3G,wBAAsB,kBAAkB,CAAC,aAAa,EAAE,uBAAuB,EAAE,GAAG,EAAE,eAAe,EAAE,QAAQ,GAAE,SAAS,UAAU,EAAO,EAAE,aAAa,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAOrM;AACD,wBAAgB,2BAA2B,CAAC,aAAa,EAAE,uBAAuB,GAAG,kBAAkB,CAItG"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { ModelBindingSchema, modelBindingProblems, modelRoutesForCatalog, readModelCatalog } from './model-configuration.js';
|
|
3
|
+
export const HEAD_WORKER_PRESET = 'gpt-6.1-sol-deepseek-v4.1-flash';
|
|
4
|
+
export const HEAD_WORKER_LABEL = 'GPT-6.1-Sol ヘッド / DeepSeek V4.1 Flash サブエージェント';
|
|
5
|
+
const workerIds = ['deepseek-flash', 'deepseek-v4.1-flash', 'deepseek/deepseek-v4.1-flash'];
|
|
6
|
+
export const HeadWorkerConfigurationSchema = z.object({
|
|
7
|
+
preset: z.literal(HEAD_WORKER_PRESET),
|
|
8
|
+
head: ModelBindingSchema.refine(b => b.model === 'gpt-6.1-sol', 'Select the exact GPT-6.1-Sol model'),
|
|
9
|
+
worker: ModelBindingSchema.refine(b => workerIds.some(id => id === b.model), 'Select the exact DeepSeek V4.1 Flash model'),
|
|
10
|
+
}).strict();
|
|
11
|
+
/** Provider validation may contain private response text; pair UI diagnostics are locally generated. */
|
|
12
|
+
function safeCatalog(catalog) {
|
|
13
|
+
return { ...catalog, ...(catalog.resolveCallConfig ? { resolveCallConfig: async (binding) => {
|
|
14
|
+
try {
|
|
15
|
+
return await catalog.resolveCallConfig(binding);
|
|
16
|
+
}
|
|
17
|
+
catch {
|
|
18
|
+
throw new Error('モデル接続を検証できません。認証・接続設定を確認してください。');
|
|
19
|
+
}
|
|
20
|
+
} } : {}) };
|
|
21
|
+
}
|
|
22
|
+
/** IDs are provider-owned. A name or an alias from a different route is never evidence. */
|
|
23
|
+
function workerForRoute(binding, routes) {
|
|
24
|
+
const family = routes.find(r => r.provider === binding.provider)?.family;
|
|
25
|
+
return family === 'deepseek' ? binding.model === 'deepseek-flash'
|
|
26
|
+
: family === 'opencode-go' || family === 'opencode-zen' ? binding.model === 'deepseek-v4.1-flash'
|
|
27
|
+
: family === 'openrouter' ? binding.model === 'deepseek/deepseek-v4.1-flash' : false;
|
|
28
|
+
}
|
|
29
|
+
export async function headWorkerCandidates(catalog, declared = [], compatibility) {
|
|
30
|
+
catalog = safeCatalog(catalog);
|
|
31
|
+
const routes = modelRoutesForCatalog(catalog, declared);
|
|
32
|
+
const heads = [], workers = [], problems = [];
|
|
33
|
+
for (const model of catalog.models) {
|
|
34
|
+
const binding = { provider: model.provider, model: model.id };
|
|
35
|
+
const head = model.id === 'gpt-6.1-sol';
|
|
36
|
+
const worker = workerForRoute(binding, routes);
|
|
37
|
+
if (!head && !worker)
|
|
38
|
+
continue;
|
|
39
|
+
const failures = await modelBindingProblems([{ label: head ? 'ヘッド' : 'サブエージェント', binding }], catalog, routes, compatibility);
|
|
40
|
+
if (failures.length) {
|
|
41
|
+
problems.push(...failures);
|
|
42
|
+
continue;
|
|
43
|
+
}
|
|
44
|
+
;
|
|
45
|
+
(head ? heads : workers).push(binding);
|
|
46
|
+
}
|
|
47
|
+
if (!heads.length)
|
|
48
|
+
problems.push('GPT-6.1-Sol の利用可能な接続・モデルがありません。Kiokuko Models で接続を確認してください。');
|
|
49
|
+
if (!workers.length)
|
|
50
|
+
problems.push('DeepSeek V4.1 Flash の利用可能な接続・モデルがありません。Kiokuko Models で接続を確認してください。');
|
|
51
|
+
return { heads, workers, problems: [...new Set(problems)] };
|
|
52
|
+
}
|
|
53
|
+
/** Re-read the live catalog immediately before selection/dispatch; never generate a model request here. */
|
|
54
|
+
export async function validateHeadWorker(configuration, llm, declared = [], compatibility) {
|
|
55
|
+
const parsed = HeadWorkerConfigurationSchema.safeParse(configuration);
|
|
56
|
+
if (!parsed.success)
|
|
57
|
+
return ['ヘッドとサブエージェントのモデル構成が不正です。選び直してください。'];
|
|
58
|
+
const catalog = safeCatalog(await readModelCatalog(llm)), routes = modelRoutesForCatalog(catalog, declared);
|
|
59
|
+
const problems = await modelBindingProblems([{ label: 'ヘッド', binding: parsed.data.head }, { label: 'サブエージェント', binding: parsed.data.worker }], catalog, routes, compatibility);
|
|
60
|
+
if (!workerForRoute(parsed.data.worker, routes))
|
|
61
|
+
problems.push('DeepSeek V4.1 Flash の接続とモデルIDが一致しません。接続を選び直してください。');
|
|
62
|
+
return [...new Set(problems)];
|
|
63
|
+
}
|
|
64
|
+
export function headWorkerEnnoConfiguration(configuration) {
|
|
65
|
+
const pair = HeadWorkerConfigurationSchema.parse(configuration);
|
|
66
|
+
return { roles: { ideal: { ...pair.head }, zenki: { ...pair.head }, goki: { ...pair.head }, worker: { ...pair.worker }, check: { ...pair.head } },
|
|
67
|
+
template: { id: HEAD_WORKER_PRESET, version: 1 }, custom: false, maxConcurrentChildren: 4 };
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=head-worker-configuration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"head-worker-configuration.js","sourceRoot":"","sources":["../../src/dsh/head-worker-configuration.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admission.d.ts","sourceRoot":"","sources":["../../../src/dsh/host-adapter/admission.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AACvD,OAAO,EAAE,eAAe,EAAe,MAAM,+BAA+B,CAAA;AAG5E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAG9D,OAAO,EACwE,KAAK,qBAAqB,EAAE,KAAK,2BAA2B,EAAE,MAAM,gCAAgC,CAAA;AAEnL,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAA;AAEzE,OAAO,EAAE,2BAA2B,EAA4B,MAAM,0BAA0B,CAAA;AAEhG,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAEhE,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AACnD,OAAO,EAAwG,KAAK,wBAAwB,EAAE,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"admission.d.ts","sourceRoot":"","sources":["../../../src/dsh/host-adapter/admission.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@ import { ANSWER_REVIEW_FORM, hasHumanInput } from '../answer-review/contracts.js
|
|
|
8
8
|
import { refreshContinuedTaskContext } from '../task-intake.js';
|
|
9
9
|
import { saveSessionNotice } from '../plugin-records.js';
|
|
10
10
|
import { explicitExecutionMode, initializeExecutionSelection, readExecutionSelection, writeExecutionSelection } from '../execution-selection.js';
|
|
11
|
+
import { getHeadWorkerForSession } from '../models/session-selection.js';
|
|
11
12
|
import { selectExecution, ExecutionSelectionPending } from '../model-selection-ui.js';
|
|
12
13
|
import { ennoStateForPreparedTask } from '../../enno-oduno/service.js';
|
|
13
14
|
import { realpathSync } from 'node:fs';
|
|
@@ -208,8 +209,10 @@ export function createAdmission({ native, skills, tools, userQuestions, sessions
|
|
|
208
209
|
return result;
|
|
209
210
|
}
|
|
210
211
|
setSelection(runId, stored);
|
|
212
|
+
const savedHeadWorker = await getHeadWorkerForSession(native.get('llm', false), event.sessionId);
|
|
211
213
|
const selected = await selectExecution({
|
|
212
214
|
task: event.task, turn: event.turn, signal: event.signal, stored, routes: modelRoutes ?? [],
|
|
215
|
+
...(savedHeadWorker ? { savedHeadWorker } : {}),
|
|
213
216
|
...(event.nativeAgent ? { agent: event.nativeAgent } : {}),
|
|
214
217
|
...(userQuestions ? { questions: userQuestions } : {}),
|
|
215
218
|
...(modelCatalog ? { llm: modelCatalog } : {}),
|