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.
Files changed (58) hide show
  1. package/dist/client.cjs +78 -8
  2. package/dist/dsh/execution-selection.d.ts +13 -0
  3. package/dist/dsh/execution-selection.d.ts.map +1 -1
  4. package/dist/dsh/execution-selection.js +11 -0
  5. package/dist/dsh/execution-selection.js.map +1 -1
  6. package/dist/dsh/head-worker-configuration.d.ts +27 -0
  7. package/dist/dsh/head-worker-configuration.d.ts.map +1 -0
  8. package/dist/dsh/head-worker-configuration.js +69 -0
  9. package/dist/dsh/head-worker-configuration.js.map +1 -0
  10. package/dist/dsh/host-adapter/admission.d.ts.map +1 -1
  11. package/dist/dsh/host-adapter/admission.js +3 -0
  12. package/dist/dsh/host-adapter/admission.js.map +1 -1
  13. package/dist/dsh/host-adapter/routing.d.ts +3 -1
  14. package/dist/dsh/host-adapter/routing.d.ts.map +1 -1
  15. package/dist/dsh/host-adapter/routing.js +11 -6
  16. package/dist/dsh/host-adapter/routing.js.map +1 -1
  17. package/dist/dsh/host-adapter.d.ts.map +1 -1
  18. package/dist/dsh/host-adapter.js +146 -1
  19. package/dist/dsh/host-adapter.js.map +1 -1
  20. package/dist/dsh/model-selection-ui.d.ts +2 -0
  21. package/dist/dsh/model-selection-ui.d.ts.map +1 -1
  22. package/dist/dsh/model-selection-ui.js +69 -5
  23. package/dist/dsh/model-selection-ui.js.map +1 -1
  24. package/dist/dsh/models/contracts.d.ts +30 -2
  25. package/dist/dsh/models/contracts.d.ts.map +1 -1
  26. package/dist/dsh/models/contracts.js +6 -0
  27. package/dist/dsh/models/contracts.js.map +1 -1
  28. package/dist/dsh/models/profiles.d.ts +2 -0
  29. package/dist/dsh/models/profiles.d.ts.map +1 -1
  30. package/dist/dsh/models/profiles.js +7 -3
  31. package/dist/dsh/models/profiles.js.map +1 -1
  32. package/dist/dsh/models/service.d.ts +58 -3
  33. package/dist/dsh/models/service.d.ts.map +1 -1
  34. package/dist/dsh/models/service.js +159 -18
  35. package/dist/dsh/models/service.js.map +1 -1
  36. package/dist/dsh/models/session-selection.d.ts +25 -0
  37. package/dist/dsh/models/session-selection.d.ts.map +1 -0
  38. package/dist/dsh/models/session-selection.js +16 -0
  39. package/dist/dsh/models/session-selection.js.map +1 -0
  40. package/dist/dsh/models/surface.d.ts +1 -0
  41. package/dist/dsh/models/surface.d.ts.map +1 -1
  42. package/dist/dsh/models/surface.js +24 -4
  43. package/dist/dsh/models/surface.js.map +1 -1
  44. package/dist/dsh/native-worker-routing.d.ts +69 -0
  45. package/dist/dsh/native-worker-routing.d.ts.map +1 -0
  46. package/dist/dsh/native-worker-routing.js +147 -0
  47. package/dist/dsh/native-worker-routing.js.map +1 -0
  48. package/dist/locale/en.json +1 -1
  49. package/dist/locale/ja.json +1 -1
  50. package/dist/locale/ko.json +1 -1
  51. package/dist/locale/zh-CN.json +1 -1
  52. package/dist/models-client.cjs +78 -8
  53. package/dist/models-client.d.ts.map +1 -1
  54. package/dist/models-client.js +76 -8
  55. package/dist/models-client.js.map +1 -1
  56. package/docs/kiokuko-models.md +47 -0
  57. package/migrations/037_native_worker_routing.sql +8 -0
  58. 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 value = await modelsApi();
99
- if (mounted.current)
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
- setNotice("Model selected for this chat");
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
- setNotice("Default model saved for new chats");
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;AAEvB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAItD,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAmBnC,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
+ {"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":"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"}
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 } : {}),