kiokuko-dsh 0.2.3 → 0.2.5

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 (141) hide show
  1. package/dist/client.cjs +223 -157
  2. package/dist/dsh/agenticreplay-event-mapper.d.ts +7 -0
  3. package/dist/dsh/agenticreplay-event-mapper.d.ts.map +1 -1
  4. package/dist/dsh/agenticreplay-event-mapper.js +52 -13
  5. package/dist/dsh/agenticreplay-event-mapper.js.map +1 -1
  6. package/dist/dsh/agenticreplay-hooks.d.ts.map +1 -1
  7. package/dist/dsh/agenticreplay-hooks.js +10 -1
  8. package/dist/dsh/agenticreplay-hooks.js.map +1 -1
  9. package/dist/dsh/agenticreplay-recorder.d.ts +5 -0
  10. package/dist/dsh/agenticreplay-recorder.d.ts.map +1 -1
  11. package/dist/dsh/agenticreplay-recorder.js +193 -20
  12. package/dist/dsh/agenticreplay-recorder.js.map +1 -1
  13. package/dist/dsh/answer-context.d.ts +8 -6
  14. package/dist/dsh/answer-context.d.ts.map +1 -1
  15. package/dist/dsh/answer-context.js +85 -21
  16. package/dist/dsh/answer-context.js.map +1 -1
  17. package/dist/dsh/coding-workflow/contracts.d.ts +5 -0
  18. package/dist/dsh/coding-workflow/contracts.d.ts.map +1 -1
  19. package/dist/dsh/coding-workflow/contracts.js +20 -3
  20. package/dist/dsh/coding-workflow/contracts.js.map +1 -1
  21. package/dist/dsh/coding-workflow/host.d.ts +4 -1
  22. package/dist/dsh/coding-workflow/host.d.ts.map +1 -1
  23. package/dist/dsh/coding-workflow/host.js +72 -44
  24. package/dist/dsh/coding-workflow/host.js.map +1 -1
  25. package/dist/dsh/coding-workflow/intent.d.ts +8 -0
  26. package/dist/dsh/coding-workflow/intent.d.ts.map +1 -1
  27. package/dist/dsh/coding-workflow/intent.js +33 -2
  28. package/dist/dsh/coding-workflow/intent.js.map +1 -1
  29. package/dist/dsh/coding-workflow/service.d.ts +214 -0
  30. package/dist/dsh/coding-workflow/service.d.ts.map +1 -1
  31. package/dist/dsh/coding-workflow/service.js +86 -6
  32. package/dist/dsh/coding-workflow/service.js.map +1 -1
  33. package/dist/dsh/coding-workflow/store.d.ts.map +1 -1
  34. package/dist/dsh/coding-workflow/store.js +10 -1
  35. package/dist/dsh/coding-workflow/store.js.map +1 -1
  36. package/dist/dsh/core/host.d.ts.map +1 -1
  37. package/dist/dsh/core/host.js +288 -48
  38. package/dist/dsh/core/host.js.map +1 -1
  39. package/dist/dsh/core/tasks.d.ts +7 -0
  40. package/dist/dsh/core/tasks.d.ts.map +1 -1
  41. package/dist/dsh/core/tasks.js +59 -8
  42. package/dist/dsh/core/tasks.js.map +1 -1
  43. package/dist/dsh/decisions/contracts.d.ts +3 -2
  44. package/dist/dsh/decisions/contracts.d.ts.map +1 -1
  45. package/dist/dsh/decisions/contracts.js +1 -1
  46. package/dist/dsh/decisions/contracts.js.map +1 -1
  47. package/dist/dsh/decisions/request-intent.d.ts +121 -0
  48. package/dist/dsh/decisions/request-intent.d.ts.map +1 -0
  49. package/dist/dsh/decisions/request-intent.js +260 -0
  50. package/dist/dsh/decisions/request-intent.js.map +1 -0
  51. package/dist/dsh/decisions/service.d.ts +5 -1
  52. package/dist/dsh/decisions/service.d.ts.map +1 -1
  53. package/dist/dsh/decisions/service.js +2 -1
  54. package/dist/dsh/decisions/service.js.map +1 -1
  55. package/dist/dsh/execution-support.d.ts +2 -0
  56. package/dist/dsh/execution-support.d.ts.map +1 -1
  57. package/dist/dsh/execution-support.js +36 -8
  58. package/dist/dsh/execution-support.js.map +1 -1
  59. package/dist/dsh/host-adapter/admission.d.ts +4 -1
  60. package/dist/dsh/host-adapter/admission.d.ts.map +1 -1
  61. package/dist/dsh/host-adapter/admission.js +294 -12
  62. package/dist/dsh/host-adapter/admission.js.map +1 -1
  63. package/dist/dsh/host-adapter/routing.d.ts +2 -1
  64. package/dist/dsh/host-adapter/routing.d.ts.map +1 -1
  65. package/dist/dsh/host-adapter/routing.js +32 -18
  66. package/dist/dsh/host-adapter/routing.js.map +1 -1
  67. package/dist/dsh/host-adapter/turn-state.d.ts +6 -0
  68. package/dist/dsh/host-adapter/turn-state.d.ts.map +1 -1
  69. package/dist/dsh/host-adapter/turn-state.js +19 -1
  70. package/dist/dsh/host-adapter/turn-state.js.map +1 -1
  71. package/dist/dsh/host-adapter.d.ts.map +1 -1
  72. package/dist/dsh/host-adapter.js +71 -8
  73. package/dist/dsh/host-adapter.js.map +1 -1
  74. package/dist/dsh/intake-clarification.d.ts +2 -2
  75. package/dist/dsh/intake-clarification.d.ts.map +1 -1
  76. package/dist/dsh/intake-clarification.js +13 -4
  77. package/dist/dsh/intake-clarification.js.map +1 -1
  78. package/dist/dsh/intake-gate.d.ts +5 -0
  79. package/dist/dsh/intake-gate.d.ts.map +1 -1
  80. package/dist/dsh/intake-gate.js +19 -5
  81. package/dist/dsh/intake-gate.js.map +1 -1
  82. package/dist/dsh/lisp/candidate.d.ts +1 -1
  83. package/dist/dsh/lisp/surface.d.ts +1 -1
  84. package/dist/dsh/memory-owner.d.ts +24 -0
  85. package/dist/dsh/memory-owner.d.ts.map +1 -0
  86. package/dist/dsh/memory-owner.js +35 -0
  87. package/dist/dsh/memory-owner.js.map +1 -0
  88. package/dist/dsh/memory-request-fence.d.ts +37 -0
  89. package/dist/dsh/memory-request-fence.d.ts.map +1 -0
  90. package/dist/dsh/memory-request-fence.js +48 -0
  91. package/dist/dsh/memory-request-fence.js.map +1 -0
  92. package/dist/dsh/message-sources.d.ts.map +1 -1
  93. package/dist/dsh/message-sources.js +2 -1
  94. package/dist/dsh/message-sources.js.map +1 -1
  95. package/dist/dsh/models/profiles.d.ts +25 -0
  96. package/dist/dsh/models/profiles.d.ts.map +1 -1
  97. package/dist/dsh/models/profiles.js +39 -6
  98. package/dist/dsh/models/profiles.js.map +1 -1
  99. package/dist/dsh/models/service.d.ts +33 -1
  100. package/dist/dsh/models/service.d.ts.map +1 -1
  101. package/dist/dsh/models/service.js +130 -48
  102. package/dist/dsh/models/service.js.map +1 -1
  103. package/dist/dsh/on-demand-intake.d.ts +71 -5
  104. package/dist/dsh/on-demand-intake.d.ts.map +1 -1
  105. package/dist/dsh/on-demand-intake.js +299 -70
  106. package/dist/dsh/on-demand-intake.js.map +1 -1
  107. package/dist/dsh/owned-execution.d.ts +3 -0
  108. package/dist/dsh/owned-execution.d.ts.map +1 -1
  109. package/dist/dsh/owned-execution.js +7 -0
  110. package/dist/dsh/owned-execution.js.map +1 -1
  111. package/dist/dsh/request-memory.d.ts +2 -0
  112. package/dist/dsh/request-memory.d.ts.map +1 -1
  113. package/dist/dsh/request-memory.js +33 -2
  114. package/dist/dsh/request-memory.js.map +1 -1
  115. package/dist/dsh/setup.d.ts +2 -2
  116. package/dist/dsh/setup.d.ts.map +1 -1
  117. package/dist/dsh/setup.js +37 -14
  118. package/dist/dsh/setup.js.map +1 -1
  119. package/dist/dsh/skill-prompts.json +1 -1
  120. package/dist/dsh/standard-skills.d.ts +2 -1
  121. package/dist/dsh/standard-skills.d.ts.map +1 -1
  122. package/dist/dsh/standard-skills.js +2 -1
  123. package/dist/dsh/standard-skills.js.map +1 -1
  124. package/dist/dsh/task-intake.d.ts +6 -0
  125. package/dist/dsh/task-intake.d.ts.map +1 -1
  126. package/dist/dsh/task-intake.js +7 -2
  127. package/dist/dsh/task-intake.js.map +1 -1
  128. package/dist/locale/en.json +1 -1
  129. package/dist/locale/ja.json +1 -1
  130. package/dist/locale/ko.json +1 -1
  131. package/dist/locale/zh-CN.json +1 -1
  132. package/dist/models-client.cjs +223 -157
  133. package/dist/models-client.d.ts.map +1 -1
  134. package/dist/models-client.js +261 -166
  135. package/dist/models-client.js.map +1 -1
  136. package/docs/coding-workflow.md +3 -1
  137. package/docs/dsh-plugin.md +28 -5
  138. package/docs/kiokuko-models.md +25 -13
  139. package/docs/on-demand-intake.md +13 -7
  140. package/package.json +3 -2
  141. package/skills/japanese-translation-for-oss-models/SKILL.md +5 -3
package/dist/client.cjs CHANGED
@@ -66,6 +66,7 @@ window.__ModuleLoader__.load({
66
66
  ollama: ["Ollama", "http://localhost:11434/v1", "chat-completions"],
67
67
  custom: ["Custom connection", "http://localhost:8080/v1", "chat-completions"]
68
68
  };
69
+ var OAUTH_KINDS = ["codex", "claude", "xai", "openai", "openrouter", "nous"];
69
70
  async function modelsApi(body, query = "") {
70
71
  const response = await fetch("/api/kiokuko.models" + query, {
71
72
  ...body ? {
@@ -90,6 +91,7 @@ window.__ModuleLoader__.load({
90
91
  reasoning: false,
91
92
  image: false
92
93
  });
94
+ const [advanced, setAdvanced] = useState(false), [manualOpen, setManualOpen] = useState(false);
93
95
  const operation = useRef(void 0), mounted = useRef(true), working = useRef(false);
94
96
  const sessionId = props.sessionId;
95
97
  const load = async () => {
@@ -131,12 +133,15 @@ window.__ModuleLoader__.load({
131
133
  setError("");
132
134
  setModels([]);
133
135
  try {
134
- setModels(await modelsApi(void 0, "?op=models&id=" + encodeURIComponent(c.id)));
136
+ const list = await modelsApi(void 0, "?op=models&id=" + encodeURIComponent(c.id));
137
+ setModels(list);
138
+ return list;
135
139
  } catch (e) {
136
140
  setError(messageOf(e));
141
+ return [];
137
142
  }
138
143
  };
139
- const save = async () => {
144
+ const persist = async () => {
140
145
  await modelsApi({
141
146
  op: "save",
142
147
  connection: {
@@ -148,11 +153,33 @@ window.__ModuleLoader__.load({
148
153
  serviceTier: connection.serviceTier,
149
154
  models: connection.models
150
155
  },
151
- revision: state.revision
156
+ revision: (await load()).revision
152
157
  });
153
- const next = await load();
154
- await choose(next.connections.find((c) => c.id === connection.id));
155
- setNotice("Connection saved");
158
+ };
159
+ const reopen = async () => {
160
+ const saved = await load();
161
+ return choose(saved.connections.find((c) => c.id === connection.id) ?? connection);
162
+ };
163
+ const connect = async () => {
164
+ const draft = { ...connection };
165
+ await persist();
166
+ const typed = key.trim();
167
+ if (typed) {
168
+ await modelsApi({ op: "key", id: draft.id, key: typed });
169
+ setKey("");
170
+ }
171
+ let failure = "";
172
+ try {
173
+ await modelsApi({ op: "refresh", id: draft.id });
174
+ } catch (e) {
175
+ failure = messageOf(e);
176
+ }
177
+ const list = await reopen();
178
+ if (failure) {
179
+ setNotice(typed ? "Connection and key saved" : "Connection saved");
180
+ setError(failure + " Register a model manually if this endpoint stays unusable.");
181
+ } else
182
+ setNotice(list.length ? "Connected \xB7 " + list.length + " model(s)" : "Connected; no models discovered yet");
156
183
  };
157
184
  const newConnection = (kind) => {
158
185
  const spec = MODEL_CONNECTION_DEFAULTS[kind];
@@ -168,10 +195,11 @@ window.__ModuleLoader__.load({
168
195
  setModels([]);
169
196
  setKey("");
170
197
  setError("");
198
+ setNotice("");
171
199
  };
172
200
  const update = (field, value) => setConnection({ ...connection, [field]: value });
173
201
  const startLogin = async () => {
174
- await save();
202
+ await persist();
175
203
  const result = await modelsApi({ op: "login", id: connection.id });
176
204
  operation.current = result.operationId;
177
205
  setAuth({ id: result.operationId, status: "pending", events: [] });
@@ -187,10 +215,9 @@ window.__ModuleLoader__.load({
187
215
  setAuth(next);
188
216
  if (next.status !== "pending") {
189
217
  operation.current = void 0;
190
- void load().then((value) => {
191
- if (next.status === "success")
192
- return choose(value.connections.find((c) => c.id === connection.id));
193
- setError(next.error ?? "Authentication cancelled");
218
+ void reopen().then(() => {
219
+ if (next.status !== "success")
220
+ setError(next.error ?? "Authentication cancelled");
194
221
  }).catch((e) => setError(messageOf(e)));
195
222
  }
196
223
  }, (e) => {
@@ -203,7 +230,7 @@ window.__ModuleLoader__.load({
203
230
  clearInterval(timer);
204
231
  };
205
232
  }, [auth?.id, auth?.status]);
206
- const input = (label, value, onChange, type = "text") => jsx("label", {
233
+ const input = (label, value, onChange, type = "text", submit) => jsx("label", {
207
234
  children: jsxs(Fragment, {
208
235
  children: [
209
236
  jsx("span", { children: label }),
@@ -213,6 +240,14 @@ window.__ModuleLoader__.load({
213
240
  "aria-label": label,
214
241
  disabled: busy || label === "Base URL" && ["codex", "opencode", "opencode-go"].includes(connection?.kind),
215
242
  onChange: (e) => onChange(e.target.value),
243
+ ...submit ? {
244
+ onKeyDown: (e) => {
245
+ if (e.key !== "Enter")
246
+ return;
247
+ e.preventDefault();
248
+ submit();
249
+ }
250
+ } : {},
216
251
  autoComplete: type === "password" ? "new-password" : "off"
217
252
  })
218
253
  ]
@@ -233,9 +268,9 @@ window.__ModuleLoader__.load({
233
268
  jsx("p", {
234
269
  children: "Connect directly for chat, Enno and Deep. Credentials are shared with dsh-cli. Signing out also signs dsh-cli out."
235
270
  }),
236
- ...error ? [jsx("p", { role: "alert", children: error })] : [],
237
- ...notice ? [jsx("p", { role: "status", children: notice })] : [],
238
- ...busy ? [jsx("p", { role: "status", children: "Working\u2026" })] : [],
271
+ ...error ? [jsx("p", { role: "alert", children: error }, "error")] : [],
272
+ ...notice ? [jsx("p", { role: "status", children: notice }, "notice")] : [],
273
+ ...busy ? [jsx("p", { role: "status", children: "Working\u2026" }, "busy")] : [],
239
274
  button("Reload", () => void run(load)),
240
275
  jsx("label", {
241
276
  children: jsxs(Fragment, {
@@ -262,99 +297,35 @@ window.__ModuleLoader__.load({
262
297
  ...connection ? [
263
298
  jsxs("div", {
264
299
  className: "kiokuko-models-editor",
300
+ key: "editor",
265
301
  children: [
266
- input("Connection name", connection.name, (value) => update("name", value)),
267
- input("Base URL", connection.baseURL, (value) => update("baseURL", value)),
268
- jsx("label", {
269
- children: jsxs(Fragment, {
270
- children: [
271
- "Protocol",
272
- jsx("select", {
273
- "aria-label": "Protocol",
274
- value: connection.protocol,
275
- disabled: busy || [
276
- "codex",
277
- "infron",
278
- "opencode",
279
- "opencode-go"
280
- ].includes(connection.kind),
281
- onChange: (e) => update("protocol", e.target.value),
282
- children: [
283
- ["chat-completions", "Chat Completions"],
284
- ["responses", "Responses"],
285
- ["messages", "Messages"]
286
- ].map(([id, name]) => jsx("option", { value: id, children: name }, id))
287
- })
288
- ]
289
- })
290
- }),
291
- ...connection.kind === "infron" ? [
292
- jsx("label", {
293
- children: jsxs(Fragment, {
294
- children: [
295
- "Service tier",
296
- jsx("select", {
297
- "aria-label": "Service tier",
298
- value: connection.serviceTier,
299
- disabled: busy,
300
- onChange: (e) => update("serviceTier", e.target.value),
301
- children: [
302
- jsx("option", {
303
- value: "standard",
304
- children: "Standard"
305
- }),
306
- jsx("option", {
307
- value: "flex",
308
- children: "Flex"
309
- })
310
- ]
311
- })
312
- ]
302
+ jsxs("h3", {
303
+ children: [
304
+ connection.name,
305
+ jsx("span", {
306
+ className: "kiokuko-models-state",
307
+ children: " \xB7 " + (connection.authState ?? "not saved yet")
313
308
  })
314
- }),
315
- jsx("p", {
316
- children: "Requested tier: " + connection.serviceTier + ". Last request: " + (connection.lastRequestedTier ?? "none") + ". Actual served tier: " + (connection.actualTier ?? "unknown") + ". Infron may serve Standard for a Flex request."
317
- })
318
- ] : [],
319
- button("Save connection", () => void run(save)),
309
+ ]
310
+ }),
320
311
  ...connection.kind !== "codex" && connection.kind !== "ollama" ? [
321
- input("API key / bearer token", key, setKey, "password"),
322
- button("Save key", () => void run(async () => {
323
- await save();
324
- await modelsApi({
325
- op: "key",
326
- id: connection.id,
327
- key
328
- });
329
- setKey("");
330
- await load();
331
- await choose(connection);
332
- setNotice("Key saved");
333
- }), !key)
334
- ] : [],
335
- ...[
336
- "codex",
337
- "claude",
338
- "xai",
339
- "openai",
340
- "openrouter",
341
- "nous"
342
- ].includes(connection.kind) ? [
343
- button("Log in", () => void run(startLogin), auth?.status === "pending")
312
+ input("API key / bearer token", key, setKey, "password", () => {
313
+ if (!busy && key.trim())
314
+ void run(connect);
315
+ })
344
316
  ] : [],
345
- button("Log out (also dsh-cli)", () => void run(async () => {
346
- await modelsApi({ op: "logout", id: connection.id });
347
- setKey("");
348
- setModels([]);
349
- await load();
350
- setNotice("Signed out");
351
- })),
352
- button("Refresh models", () => void run(async () => {
353
- await modelsApi({ op: "refresh", id: connection.id });
354
- const next = await load();
355
- await choose(next.connections.find((c) => c.id === connection.id));
356
- setNotice("Models refreshed");
357
- })),
317
+ jsxs("div", {
318
+ className: "kiokuko-models-actions",
319
+ children: [
320
+ button("Save and connect", () => void run(connect)),
321
+ ...OAUTH_KINDS.includes(connection.kind) ? [
322
+ button("Log in", () => void run(startLogin), auth?.status === "pending")
323
+ ] : []
324
+ ]
325
+ }),
326
+ jsx("p", {
327
+ children: connection.kind === "ollama" ? "Ollama needs no key. Save and connect to list its models." : "Paste the API key and press Enter, or use Save and connect. The key is stored with dsh-cli's shared credentials."
328
+ }),
358
329
  ...auth?.status === "pending" ? [
359
330
  jsxs("div", {
360
331
  "aria-label": "Authentication",
@@ -443,61 +414,156 @@ window.__ModuleLoader__.load({
443
414
  ]
444
415
  })
445
416
  ] : [],
446
- ...!["opencode", "opencode-go"].includes(connection.kind) ? [
447
- jsx("details", {
448
- children: jsxs(Fragment, {
449
- children: [
450
- jsx("summary", {
451
- children: "Register model manually"
452
- }),
453
- input("Model ID", manual.id, (value) => setManual({ ...manual, id: value })),
454
- input("Context window", manual.contextWindow, (value) => setManual({
455
- ...manual,
456
- contextWindow: Number(value)
457
- }), "number"),
458
- input("Maximum output tokens", manual.maxTokens, (value) => setManual({
459
- ...manual,
460
- maxTokens: Number(value)
461
- }), "number"),
462
- jsx("label", {
463
- children: jsxs(Fragment, {
417
+ jsxs("details", {
418
+ open: advanced,
419
+ children: [
420
+ jsx("summary", {
421
+ onClick: (e) => {
422
+ e.preventDefault();
423
+ setAdvanced(!advanced);
424
+ },
425
+ children: "Advanced settings"
426
+ }),
427
+ input("Connection name", connection.name, (value) => update("name", value)),
428
+ input("Base URL", connection.baseURL, (value) => update("baseURL", value)),
429
+ jsx("label", {
430
+ children: jsxs(Fragment, {
431
+ children: [
432
+ "Protocol",
433
+ jsx("select", {
434
+ "aria-label": "Protocol",
435
+ value: connection.protocol,
436
+ disabled: busy || [
437
+ "codex",
438
+ "infron",
439
+ "opencode",
440
+ "opencode-go"
441
+ ].includes(connection.kind),
442
+ onChange: (e) => update("protocol", e.target.value),
464
443
  children: [
465
- jsx("input", {
466
- type: "checkbox",
467
- checked: manual.reasoning,
468
- onChange: (e) => setManual({
469
- ...manual,
470
- reasoning: e.target.checked
471
- })
472
- }),
473
- "Reasoning supported"
474
- ]
444
+ ["chat-completions", "Chat Completions"],
445
+ ["responses", "Responses"],
446
+ ["messages", "Messages"]
447
+ ].map(([id, name]) => jsx("option", { value: id, children: name }, id))
475
448
  })
476
- }),
477
- jsx("label", {
478
- children: jsxs(Fragment, {
479
- children: [
480
- jsx("input", {
481
- type: "checkbox",
482
- checked: manual.image,
483
- onChange: (e) => setManual({
484
- ...manual,
485
- image: e.target.checked
449
+ ]
450
+ })
451
+ }),
452
+ ...connection.kind === "infron" ? [
453
+ jsx("label", {
454
+ children: jsxs(Fragment, {
455
+ children: [
456
+ "Service tier",
457
+ jsx("select", {
458
+ "aria-label": "Service tier",
459
+ value: connection.serviceTier,
460
+ disabled: busy,
461
+ onChange: (e) => update("serviceTier", e.target.value),
462
+ children: [
463
+ jsx("option", {
464
+ value: "standard",
465
+ children: "Standard"
466
+ }),
467
+ jsx("option", {
468
+ value: "flex",
469
+ children: "Flex"
486
470
  })
487
- }),
488
- "Image input supported"
489
- ]
490
- })
491
- }),
492
- button("Add manual model", () => {
493
- update("models", [
494
- ...connection.models.filter((m) => m.id !== manual.id),
495
- { ...manual, name: manual.id }
496
- ]);
497
- setNotice("Model added to draft. Save connection to register it.");
498
- }, !manual.id)
499
- ]
500
- })
471
+ ]
472
+ })
473
+ ]
474
+ })
475
+ }),
476
+ jsx("p", {
477
+ children: "Requested tier: " + connection.serviceTier + ". Last request: " + (connection.lastRequestedTier ?? "none") + ". Actual served tier: " + (connection.actualTier ?? "unknown") + ". Infron may serve Standard for a Flex request."
478
+ })
479
+ ] : [],
480
+ button("Save connection", () => void run(async () => {
481
+ await persist();
482
+ await reopen();
483
+ setNotice("Connection saved");
484
+ })),
485
+ button("Refresh models", () => void run(async () => {
486
+ await persist();
487
+ await modelsApi({ op: "refresh", id: connection.id });
488
+ const list = await reopen();
489
+ setNotice(list.length ? "Models refreshed" : "Models refreshed; none discovered");
490
+ })),
491
+ button("Log out (also dsh-cli)", () => void run(async () => {
492
+ await persist();
493
+ await modelsApi({ op: "logout", id: connection.id });
494
+ setKey("");
495
+ setModels([]);
496
+ await load();
497
+ setNotice("Signed out");
498
+ })),
499
+ ...!["opencode", "opencode-go"].includes(connection.kind) ? [
500
+ jsx("details", {
501
+ open: manualOpen,
502
+ children: jsxs(Fragment, {
503
+ children: [
504
+ jsx("summary", {
505
+ onClick: (e) => {
506
+ e.preventDefault();
507
+ setManualOpen(!manualOpen);
508
+ },
509
+ children: "Register model manually"
510
+ }),
511
+ input("Model ID", manual.id, (value) => setManual({ ...manual, id: value })),
512
+ input("Context window", manual.contextWindow, (value) => setManual({
513
+ ...manual,
514
+ contextWindow: Number(value)
515
+ }), "number"),
516
+ input("Maximum output tokens", manual.maxTokens, (value) => setManual({
517
+ ...manual,
518
+ maxTokens: Number(value)
519
+ }), "number"),
520
+ jsx("label", {
521
+ children: jsxs(Fragment, {
522
+ children: [
523
+ jsx("input", {
524
+ type: "checkbox",
525
+ checked: manual.reasoning,
526
+ onChange: (e) => setManual({
527
+ ...manual,
528
+ reasoning: e.target.checked
529
+ })
530
+ }),
531
+ "Reasoning supported"
532
+ ]
533
+ })
534
+ }),
535
+ jsx("label", {
536
+ children: jsxs(Fragment, {
537
+ children: [
538
+ jsx("input", {
539
+ type: "checkbox",
540
+ checked: manual.image,
541
+ onChange: (e) => setManual({
542
+ ...manual,
543
+ image: e.target.checked
544
+ })
545
+ }),
546
+ "Image input supported"
547
+ ]
548
+ })
549
+ }),
550
+ button("Add manual model", () => {
551
+ update("models", [
552
+ ...connection.models.filter((m) => m.id !== manual.id),
553
+ { ...manual, name: manual.id }
554
+ ]);
555
+ setNotice("Model added to draft. Save connection to register it.");
556
+ }, !manual.id)
557
+ ]
558
+ })
559
+ })
560
+ ] : []
561
+ ]
562
+ }),
563
+ jsx("h4", { children: "Models" }),
564
+ ...models.length === 0 ? [
565
+ jsx("p", {
566
+ children: "No models yet. Save and connect to discover them, or register one under Advanced settings."
501
567
  })
502
568
  ] : [],
503
569
  input("Search models", filter, setFilter),
@@ -588,7 +654,7 @@ window.__ModuleLoader__.load({
588
654
  }, "kiokuko models focus lifecycle");
589
655
  ctx.effect(() => {
590
656
  const style = document.createElement("style");
591
- style.textContent = ".kiokuko-models-modal{width:min(900px,calc(100vw - 32px))}.kiokuko-models-panel{box-sizing:border-box;width:100%;max-width:900px;padding:16px;overflow:auto;max-height:75vh}.kiokuko-models-panel label{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:12px 0}.kiokuko-models-panel input,.kiokuko-models-panel select{max-width:100%;box-sizing:border-box;border:1px solid #888;border-radius:6px;padding:8px;color:inherit;background:transparent}.kiokuko-models-panel button{border:1px solid #888;border-radius:6px;padding:8px;margin:4px;color:inherit}.kiokuko-models-panel button:disabled{opacity:.5}.kiokuko-models-panel li{margin:8px 0}.kiokuko-models-panel :focus-visible{outline:2px solid #3286ff;outline-offset:3px}";
657
+ style.textContent = ".kiokuko-models-modal{width:min(900px,calc(100vw - 32px))}.kiokuko-models-panel{box-sizing:border-box;width:100%;max-width:900px;padding:16px;overflow:auto;max-height:75vh}.kiokuko-models-panel label{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:12px 0}.kiokuko-models-panel input,.kiokuko-models-panel select{max-width:100%;box-sizing:border-box;border:1px solid #888;border-radius:6px;padding:8px;color:inherit;background:transparent}.kiokuko-models-panel button{border:1px solid #888;border-radius:6px;padding:8px;margin:4px;color:inherit}.kiokuko-models-panel button:disabled{opacity:.5}.kiokuko-models-panel li{margin:8px 0}.kiokuko-models-panel :focus-visible{outline:2px solid #3286ff;outline-offset:3px}.kiokuko-models-panel summary{cursor:pointer;margin:12px 0}.kiokuko-models-panel h3,.kiokuko-models-panel h4{margin:12px 0 0}.kiokuko-models-state{font-weight:400;font-size:.85em;opacity:.75}.kiokuko-models-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}";
592
658
  document.head.append(style);
593
659
  return () => style.remove();
594
660
  }, "kiokuko models style");
@@ -14,6 +14,11 @@ export declare const AGENTICREPLAY_CAPTURE: Readonly<{
14
14
  export declare const record: (value: unknown) => Record<string, any>;
15
15
  export declare function label(value: unknown): string;
16
16
  export declare function projectBlocks(value: unknown, config: AgenticReplayConfig): unknown[];
17
+ export declare function boundedAgenticReplayPayload(value: unknown, maxBytes: number, format: string): {
18
+ payload: Record<string, unknown>;
19
+ omitted: boolean;
20
+ omissionReason?: string;
21
+ };
17
22
  /** Hash only host-attributed sections still present at the final request seam. */
18
23
  export declare function requestSourceManifest(messages: unknown, config: AgenticReplayConfig): {
19
24
  coverage: 'observed' | 'partial' | 'unknown';
@@ -28,4 +33,6 @@ export declare function requestSourceManifest(messages: unknown, config: Agentic
28
33
  export declare function modelRequest(options: Record<string, any>, id: string, config: AgenticReplayConfig): EventInit;
29
34
  /** DSH uses a replacement usage snapshot, with disjoint cache counters. */
30
35
  export declare function usageAttrs(value: unknown): Record<string, unknown>;
36
+ /** Classify only the native result envelope; JSON/text returned as domain data is not an error signal. */
37
+ export declare function toolResultOutcome(value: Record<string, any>): Record<string, unknown>;
31
38
  //# sourceMappingURL=agenticreplay-event-mapper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agenticreplay-event-mapper.d.ts","sourceRoot":"","sources":["../../src/dsh/agenticreplay-event-mapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAMtD,eAAO,MAAM,qBAAqB;;;;;;;;;;EACsE,CAAA;AACxG,eAAO,MAAM,MAAM,GAAI,OAAO,OAAO,KAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAoF,CAAA;AAC9I,wBAAgB,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAI5C;AACD,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,mBAAmB,GAAG,OAAO,EAAE,CAcpF;AAED,kFAAkF;AAClF,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,mBAAmB,GAAG;IACrF,QAAQ,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IACnE,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CACrE,CA4BA;AACD,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,GAAG,SAAS,CAa7G;AACD,2EAA2E;AAC3E,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAQlE"}
1
+ {"version":3,"file":"agenticreplay-event-mapper.d.ts","sourceRoot":"","sources":["../../src/dsh/agenticreplay-event-mapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAMtD,eAAO,MAAM,qBAAqB;;;;;;;;;;EACsE,CAAA;AACxG,eAAO,MAAM,MAAM,GAAI,OAAO,OAAO,KAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAoF,CAAA;AAC9I,wBAAgB,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAI5C;AACD,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,mBAAmB,GAAG,OAAO,EAAE,CAcpF;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG;IAC7F,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAC7E,CASA;AAED,kFAAkF;AAClF,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,mBAAmB,GAAG;IACrF,QAAQ,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IACnE,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CACrE,CA6BA;AACD,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,GAAG,SAAS,CAmB7G;AACD,2EAA2E;AAC3E,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAQlE;AAGD,0GAA0G;AAC1G,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAWrF"}
@@ -33,6 +33,19 @@ export function projectBlocks(value, config) {
33
33
  return { type: label(block.type), omitted: true };
34
34
  });
35
35
  }
36
+ export function boundedAgenticReplayPayload(value, maxBytes, format) {
37
+ try {
38
+ const projected = projectAgenticReplayJson(value, maxBytes);
39
+ if (typeof projected !== 'object' || projected === null || Array.isArray(projected))
40
+ throw new AgenticReplayError('unsupported_payload');
41
+ return { payload: projected, omitted: false };
42
+ }
43
+ catch (error) {
44
+ if (!(error instanceof AgenticReplayError) || error.code !== 'queue_limit')
45
+ throw error;
46
+ return { payload: { format, content_omitted: true, omission_reason: 'payload_limit' }, omitted: true, omissionReason: 'payload_limit' };
47
+ }
48
+ }
36
49
  /** Hash only host-attributed sections still present at the final request seam. */
37
50
  export function requestSourceManifest(messages, config) {
38
51
  if (!Array.isArray(messages))
@@ -52,8 +65,13 @@ export function requestSourceManifest(messages, config) {
52
65
  continue;
53
66
  for (const candidate of source.sections) {
54
67
  const section = record(candidate);
55
- if (typeof section.name !== 'string' || typeof section.text !== 'string'
56
- || section.name.length > 256 || !body.includes(section.text))
68
+ if (typeof section.name !== 'string' || typeof section.text !== 'string' || section.name.length > 256)
69
+ continue;
70
+ if (Buffer.byteLength(section.text) > limit) {
71
+ omittedCount++;
72
+ continue;
73
+ }
74
+ if (!body.includes(section.text))
57
75
  continue;
58
76
  if (source.kind === 'runtime-context' && section.name !== 'kiokuko:execution')
59
77
  continue;
@@ -74,18 +92,26 @@ export function requestSourceManifest(messages, config) {
74
92
  }
75
93
  export function modelRequest(options, id, config) {
76
94
  const messages = Array.isArray(options.messages) ? options.messages : [];
77
- if (messages.length * 64 > config.maxQueuedBytesPerTrace)
78
- throw new AgenticReplayError('queue_limit');
79
95
  const sources = requestSourceManifest(options.messages, config);
80
- const payload = config.capture.content === 'metadata' ? { format: 'dsh.llm.request.v1', sources } : {
81
- format: 'dsh.llm.request.v1', system: options.system,
82
- sources,
83
- messages: messages.map(item => ({ role: label(record(item).role), content: projectBlocks(record(item).content, config) })),
84
- tools: Array.isArray(options.tools) ? options.tools.map(item => ({ name: label(record(item).name) })) : [],
85
- };
86
- return { type: 'model.request', actor: 'harness', attrs: { modelCallId: id, provider: label(options.provider), model: label(options.model),
87
- messages: messages.length, purpose: options.purpose === undefined ? 'conversation' : label(options.purpose) },
88
- payload: projectAgenticReplayJson(payload, config.maxQueuedBytesPerTrace) };
96
+ const attrs = { modelCallId: id, provider: label(options.provider), model: label(options.model),
97
+ messages: messages.length, purpose: options.purpose === undefined ? 'conversation' : label(options.purpose) };
98
+ try {
99
+ if (messages.length * 64 > config.maxQueuedBytesPerTrace)
100
+ throw new AgenticReplayError('queue_limit');
101
+ const payload = config.capture.content === 'metadata' ? { format: 'dsh.llm.request.v1', sources } : {
102
+ format: 'dsh.llm.request.v1', system: options.system, sources,
103
+ messages: messages.map(item => ({ role: label(record(item).role), content: projectBlocks(record(item).content, config) })),
104
+ tools: Array.isArray(options.tools) ? options.tools.map(item => ({ name: label(record(item).name) })) : [],
105
+ };
106
+ return { type: 'model.request', actor: 'harness', attrs,
107
+ payload: projectAgenticReplayJson(payload, config.maxQueuedBytesPerTrace) };
108
+ }
109
+ catch (error) {
110
+ if (!(error instanceof AgenticReplayError) || error.code !== 'queue_limit')
111
+ throw error;
112
+ return { type: 'model.request', actor: 'harness', attrs: { ...attrs, content_omitted: true, omission_reason: 'payload_limit' },
113
+ payload: { format: 'dsh.llm.request.v1', sources, content_omitted: true, omission_reason: 'payload_limit' } };
114
+ }
89
115
  }
90
116
  /** DSH uses a replacement usage snapshot, with disjoint cache counters. */
91
117
  export function usageAttrs(value) {
@@ -97,4 +123,17 @@ export function usageAttrs(value) {
97
123
  ...(output === undefined ? {} : { output_tokens: output }),
98
124
  ...(read === undefined ? {} : { cache_read_tokens: read }), ...(write === undefined ? {} : { cache_write_tokens: write }) };
99
125
  }
126
+ /** Classify only the native result envelope; JSON/text returned as domain data is not an error signal. */
127
+ export function toolResultOutcome(value) {
128
+ const error = record(value.error);
129
+ const structured = Object.keys(error).length > 0;
130
+ const process = record(value.value);
131
+ const processFailed = process.timedOut === true || process.aborted === true
132
+ || typeof process.signal === 'string' && process.signal.length > 0
133
+ || Number.isSafeInteger(process.exitCode) && process.exitCode !== 0;
134
+ const failed = value.isError === true || structured || processFailed;
135
+ return { is_error: failed, native_is_error: value.isError,
136
+ ...(structured ? { error_source: 'native_error_envelope' } : processFailed ? { error_source: 'native_process_result' } : {}),
137
+ ...(failed && value.isError === false ? { error_flag_conflict: true } : {}) };
138
+ }
100
139
  //# sourceMappingURL=agenticreplay-event-mapper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agenticreplay-event-mapper.js","sourceRoot":"","sources":["../../src/dsh/agenticreplay-event-mapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agenticreplay-event-mapper.js","sourceRoot":"","sources":["../../src/dsh/agenticreplay-event-mapper.ts"],"names":[],"mappings":"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"}