kiokuko-dsh 0.1.76 → 0.1.78

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 (107) hide show
  1. package/PERMISSIONS.md +8 -0
  2. package/README.ja.md +1 -0
  3. package/dist/client.cjs +418 -0
  4. package/dist/client.d.ts +9 -0
  5. package/dist/client.d.ts.map +1 -1
  6. package/dist/diff-review/analyzer.d.ts +15 -0
  7. package/dist/diff-review/analyzer.d.ts.map +1 -0
  8. package/dist/diff-review/analyzer.js +180 -0
  9. package/dist/diff-review/analyzer.js.map +1 -0
  10. package/dist/diff-review/controller.d.ts +66 -0
  11. package/dist/diff-review/controller.d.ts.map +1 -0
  12. package/dist/diff-review/controller.js +264 -0
  13. package/dist/diff-review/controller.js.map +1 -0
  14. package/dist/diff-review/current-git-source.d.ts +77 -0
  15. package/dist/diff-review/current-git-source.d.ts.map +1 -0
  16. package/dist/diff-review/current-git-source.js +300 -0
  17. package/dist/diff-review/current-git-source.js.map +1 -0
  18. package/dist/diff-review/markdown.d.ts +3 -0
  19. package/dist/diff-review/markdown.d.ts.map +1 -0
  20. package/dist/diff-review/markdown.js +48 -0
  21. package/dist/diff-review/markdown.js.map +1 -0
  22. package/dist/diff-review/native-turn-source.d.ts +38 -0
  23. package/dist/diff-review/native-turn-source.d.ts.map +1 -0
  24. package/dist/diff-review/native-turn-source.js +43 -0
  25. package/dist/diff-review/native-turn-source.js.map +1 -0
  26. package/dist/diff-review/redaction.d.ts +5 -0
  27. package/dist/diff-review/redaction.d.ts.map +1 -0
  28. package/dist/diff-review/redaction.js +26 -0
  29. package/dist/diff-review/redaction.js.map +1 -0
  30. package/dist/diff-review/schema.d.ts +191 -0
  31. package/dist/diff-review/schema.d.ts.map +1 -0
  32. package/dist/diff-review/schema.js +45 -0
  33. package/dist/diff-review/schema.js.map +1 -0
  34. package/dist/dsh/answer-review/evidence.d.ts +24 -2
  35. package/dist/dsh/answer-review/evidence.d.ts.map +1 -1
  36. package/dist/dsh/composition.d.ts +2 -0
  37. package/dist/dsh/composition.d.ts.map +1 -1
  38. package/dist/dsh/composition.js +3 -0
  39. package/dist/dsh/composition.js.map +1 -1
  40. package/dist/dsh/config.d.ts +43 -0
  41. package/dist/dsh/config.d.ts.map +1 -1
  42. package/dist/dsh/config.js +14 -0
  43. package/dist/dsh/config.js.map +1 -1
  44. package/dist/dsh/core/host.d.ts +16 -0
  45. package/dist/dsh/core/host.d.ts.map +1 -1
  46. package/dist/dsh/core/index.d.ts +33 -1
  47. package/dist/dsh/core/index.d.ts.map +1 -1
  48. package/dist/dsh/decisions/config.d.ts +16 -0
  49. package/dist/dsh/decisions/config.d.ts.map +1 -1
  50. package/dist/dsh/decisions/config.js +10 -0
  51. package/dist/dsh/decisions/config.js.map +1 -1
  52. package/dist/dsh/decisions/contracts.d.ts +86 -8
  53. package/dist/dsh/decisions/contracts.d.ts.map +1 -1
  54. package/dist/dsh/decisions/contracts.js +41 -7
  55. package/dist/dsh/decisions/contracts.js.map +1 -1
  56. package/dist/dsh/decisions/laya-coreml.d.ts.map +1 -1
  57. package/dist/dsh/decisions/laya-coreml.js +5 -4
  58. package/dist/dsh/decisions/laya-coreml.js.map +1 -1
  59. package/dist/dsh/decisions/laya-v1.d.ts.map +1 -1
  60. package/dist/dsh/decisions/laya-v1.js +2 -2
  61. package/dist/dsh/decisions/laya-v1.js.map +1 -1
  62. package/dist/dsh/decisions/memory-batches.d.ts.map +1 -1
  63. package/dist/dsh/decisions/memory-batches.js +70 -10
  64. package/dist/dsh/decisions/memory-batches.js.map +1 -1
  65. package/dist/dsh/decisions/providers.d.ts +6 -2
  66. package/dist/dsh/decisions/providers.d.ts.map +1 -1
  67. package/dist/dsh/decisions/providers.js +64 -7
  68. package/dist/dsh/decisions/providers.js.map +1 -1
  69. package/dist/dsh/decisions/readiness.d.ts.map +1 -1
  70. package/dist/dsh/decisions/readiness.js +10 -5
  71. package/dist/dsh/decisions/readiness.js.map +1 -1
  72. package/dist/dsh/decisions/score-consistency.d.ts +3 -0
  73. package/dist/dsh/decisions/score-consistency.d.ts.map +1 -0
  74. package/dist/dsh/decisions/score-consistency.js +6 -0
  75. package/dist/dsh/decisions/score-consistency.js.map +1 -0
  76. package/dist/dsh/decisions/service.d.ts +31 -2
  77. package/dist/dsh/decisions/service.d.ts.map +1 -1
  78. package/dist/dsh/decisions/service.js +80 -10
  79. package/dist/dsh/decisions/service.js.map +1 -1
  80. package/dist/dsh/decisions/workflows.d.ts.map +1 -1
  81. package/dist/dsh/decisions/workflows.js +26 -1
  82. package/dist/dsh/decisions/workflows.js.map +1 -1
  83. package/dist/dsh/diff-review-surface.d.ts +6 -0
  84. package/dist/dsh/diff-review-surface.d.ts.map +1 -0
  85. package/dist/dsh/diff-review-surface.js +93 -0
  86. package/dist/dsh/diff-review-surface.js.map +1 -0
  87. package/dist/dsh/host-adapter.d.ts +2 -0
  88. package/dist/dsh/host-adapter.d.ts.map +1 -1
  89. package/dist/dsh/host-adapter.js +14 -0
  90. package/dist/dsh/host-adapter.js.map +1 -1
  91. package/dist/dsh/index.js +1 -1
  92. package/dist/dsh/index.js.map +1 -1
  93. package/dist/dsh/memory-reuse.d.ts.map +1 -1
  94. package/dist/dsh/memory-reuse.js +32 -5
  95. package/dist/dsh/memory-reuse.js.map +1 -1
  96. package/dist/dsh/session-review-context.d.ts +30 -0
  97. package/dist/dsh/session-review-context.d.ts.map +1 -0
  98. package/dist/dsh/session-review-context.js +102 -0
  99. package/dist/dsh/session-review-context.js.map +1 -0
  100. package/dist/dsh/typesafe/contracts.d.ts.map +1 -1
  101. package/dist/dsh/typesafe/contracts.js +3 -1
  102. package/dist/dsh/typesafe/contracts.js.map +1 -1
  103. package/docs/diff-review.ja.md +16 -0
  104. package/docs/memory-reuse.md +24 -8
  105. package/docs/typed-decisions.md +46 -0
  106. package/dsh/cordis.patch.yml +1 -1
  107. package/package.json +7 -2
@@ -2,7 +2,7 @@ import { SemanticCompactionConfig } from '../semantic-compaction/contracts.js';
2
2
  import { evaluateCompactionBatches } from './compaction-batches.js';
3
3
  import { canonicalContentHash } from '../../serialization/validate.js';
4
4
  import { abortable } from '../http-json.js';
5
- import { DecisionError, parseDecisionBatch, parseDecisionResult } from './contracts.js';
5
+ import { DecisionError, parseDecisionBatch, parseDecisionResult, questionType } from './contracts.js';
6
6
  import { TypedDecisionsConfig, selectedDecisionSettings, decisionConfigurationIssue, resolveDecisionConfiguration, LAYA_POLICY_VERSION } from './config.js';
7
7
  import { POLICY_VERSION } from './providers.js';
8
8
  import { DecisionReadinessMonitor } from './readiness.js';
@@ -48,6 +48,7 @@ export class DecisionService {
48
48
  memoryReuse;
49
49
  semanticCompaction;
50
50
  compactionMetrics = { calls: 0, inputBytes: 0, elapsedMs: 0, inputTokens: 0, outputTokens: 0, usageReports: 0 };
51
+ decisionObservations = [];
51
52
  observationStatus = null;
52
53
  answerReviewStatus = { mode: 'off', state: 'idle', reason: null };
53
54
  modelHandoffStatus = { mode: 'off', supported: false, last: null };
@@ -177,6 +178,62 @@ export class DecisionService {
177
178
  }
178
179
  invalidateReadiness() { this.readiness.invalidate(); }
179
180
  configurationDigest() { return canonicalContentHash({ config: this.config, semanticCompaction: this.semanticCompaction, policyVersion: POLICY_VERSION }); }
181
+ async skillSelection(requestId, signal) { return (await this.bind(requestId, signal)).skillSelection; }
182
+ observe(batch, config, outcome, cacheHit, elapsedMs, memoryCandidateTotal) {
183
+ const answers = outcome.status === 'completed' ? outcome.result.answers : [];
184
+ const selection = config.memorySelection ?? { mode: 'choice' };
185
+ const memoryCandidates = batch.purpose === 'memory-reuse' ? {
186
+ policy: selection.mode === 'noul' ? selection.policyVersion : 'memory-reuse-v1',
187
+ attempted: selection.mode === 'noul' ? Math.floor(batch.questions.length / 3) : batch.questions.length,
188
+ applicable: 0, excluded: 0, uncertain: 0, unassessed: 0,
189
+ } : undefined;
190
+ if (memoryCandidates && outcome.status === 'completed') {
191
+ if (Number.isSafeInteger(memoryCandidateTotal) && memoryCandidateTotal >= memoryCandidates.attempted)
192
+ memoryCandidates.unassessed = memoryCandidateTotal - memoryCandidates.attempted;
193
+ if (selection.mode === 'noul')
194
+ for (let index = 0; index < answers.length; index += 3) {
195
+ const group = answers.slice(index, index + 3);
196
+ if (group.every(answer => answer?.status === 'abstained' && answer.reason === 'unassessed'))
197
+ memoryCandidates.unassessed++;
198
+ else if (group.some(answer => answer?.status === 'measured' && answer.type === 'noul' && answer.probability <= selection.rejectProbability))
199
+ memoryCandidates.excluded++;
200
+ else if (group.every(answer => answer?.status === 'measured' && answer.type === 'noul' && answer.probability >= selection.acceptProbability))
201
+ memoryCandidates.applicable++;
202
+ else
203
+ memoryCandidates.uncertain++;
204
+ }
205
+ else
206
+ for (const answer of answers) {
207
+ if (answer.status === 'abstained' && answer.reason === 'unassessed')
208
+ memoryCandidates.unassessed++;
209
+ else if (answer.status === 'selected' && answer.choiceId === 'applicable')
210
+ memoryCandidates.applicable++;
211
+ else if (answer.status === 'selected' && answer.choiceId === 'not_applicable')
212
+ memoryCandidates.excluded++;
213
+ else
214
+ memoryCandidates.uncertain++;
215
+ }
216
+ }
217
+ const observation = {
218
+ purpose: batch.purpose, questionTypes: Object.fromEntries(['choice', 'noul', 'score'].map(type => [type, batch.questions.filter(q => questionType(q) === type).length])),
219
+ provider: config.provider, requestedModel: outcome.status === 'completed' ? outcome.result.requestedModel : selectedDecisionSettings(config)?.model ?? null,
220
+ returnedModel: outcome.status === 'completed' ? outcome.result.returnedModel ?? null : null,
221
+ policyVersion: outcome.status === 'completed' ? outcome.result.policyVersion : batch.contractVersion ?? POLICY_VERSION,
222
+ cacheHit, selected: answers.filter(a => a.status === 'selected').length, measured: answers.filter(a => a.status === 'measured').length,
223
+ abstained: answers.filter(a => a.status === 'abstained').length, fallbackReason: outcome.status === 'fallback' ? outcome.reason : null,
224
+ elapsedMs: Math.round(elapsedMs), inputBytes: Buffer.byteLength(JSON.stringify(batch)),
225
+ inputTokens: cacheHit ? null : outcome.status === 'completed' ? outcome.result.usage?.input_tokens ?? null : null,
226
+ outputTokens: cacheHit ? null : outcome.status === 'completed' ? outcome.result.usage?.output_tokens ?? null : null,
227
+ ...(memoryCandidates ? { memoryCandidates } : {}),
228
+ };
229
+ this.decisionObservations.push(observation);
230
+ if (this.decisionObservations.length > 128)
231
+ this.decisionObservations.shift();
232
+ try {
233
+ this.options.onEvaluation?.(structuredClone(observation));
234
+ }
235
+ catch { /* Observation cannot change a decision. */ }
236
+ }
180
237
  async bind(requestId, signal = new AbortController().signal) {
181
238
  if (!requestId || requestId.length > 512)
182
239
  throw new Error('Invalid decision request identity');
@@ -189,6 +246,10 @@ export class DecisionService {
189
246
  if (existing)
190
247
  return existing;
191
248
  let config = structuredClone(current);
249
+ // Only a new binding gets a materialized default. An older stored binding
250
+ // without this field continues to mean Choice after restart or aliasing.
251
+ config.memorySelection ??= { mode: 'choice' };
252
+ const memorySelection = config.memorySelection;
192
253
  if (config.provider === 'laya-coreml' && decisionConfigurationIssue(config) === 'missing_laya_model_or_fingerprint') {
193
254
  try {
194
255
  config = await this.resolved(config, signal);
@@ -203,6 +264,7 @@ export class DecisionService {
203
264
  this.lastFallback = error.code;
204
265
  }
205
266
  }
267
+ config.memorySelection = memorySelection;
206
268
  if (signal.aborted)
207
269
  throw new DecisionError('CANCELLED');
208
270
  return this.store ? this.store.bind(requestId, config) : config;
@@ -238,9 +300,11 @@ export class DecisionService {
238
300
  modelHandoff: { ...this.modelHandoffStatus, active: this.modelHandoffStatus.mode === 'auto' && this.modelHandoffStatus.supported
239
301
  && this.config.mode !== 'off' && ['typesafe', 'laya-coreml'].includes(this.config.provider) && this.readiness.status(this.config).state === 'ready' },
240
302
  semanticCompaction: { ...this.semanticCompaction, ...this.compactionStatus, metrics: this.compactionMetrics, lastPreemptive: this.lastPreemptive, preemptiveActive: this.semanticCompaction.preemptive && this.semanticCompaction.mode === 'auto' && this.compactionStatus.supported && this.compactionStatus.nativeAuto && this.config.mode !== 'off' && this.readiness.status(this.config).state === 'ready', active: this.semanticCompaction.mode === 'auto' && this.compactionStatus.supported && this.compactionStatus.nativeAuto && this.config.mode !== 'off' && this.readiness.status(this.config).state === 'ready' },
241
- readiness: this.readiness.status(this.config), memoryReuse: { ...this.memoryReuse, active: this.memoryReuse.mode === 'auto' && this.readiness.status(this.config).state === 'ready' } };
303
+ readiness: this.readiness.status(this.config), memoryReuse: { ...this.memoryReuse, active: this.memoryReuse.mode === 'auto' && this.readiness.status(this.config).state === 'ready' },
304
+ decisionObservations: structuredClone(this.decisionObservations) };
242
305
  }
243
- async evaluate(requestId, input, signal, catalogDigest = '') {
306
+ async evaluate(requestId, input, signal, catalogDigest = '', memoryCandidateTotal) {
307
+ const started = performance.now();
244
308
  if (signal.aborted)
245
309
  throw new DecisionError('CANCELLED');
246
310
  const config = await this.bind(requestId, signal);
@@ -257,7 +321,7 @@ export class DecisionService {
257
321
  }
258
322
  const semantic = batch.purpose === 'compaction' || batch.purpose === 'model-handoff';
259
323
  const managed = semantic || batch.purpose === 'memory-reuse';
260
- const digest = canonicalContentHash({ batch, config, catalogDigest, policyVersion: POLICY_VERSION,
324
+ const digest = canonicalContentHash({ batch, config, catalogDigest, policyVersion: batch.contractVersion ?? POLICY_VERSION,
261
325
  ...(batch.purpose === 'compaction' ? { semanticCompaction: this.semanticCompaction } : {}) });
262
326
  const key = `${requestId}:${digest}`;
263
327
  const cached = this.results.get(key) ?? await this.store?.read(requestId, digest);
@@ -284,6 +348,7 @@ export class DecisionService {
284
348
  return { status: 'fallback', reason: budget.aborted ? 'DECISION_TIMEOUT' : error.code };
285
349
  }
286
350
  }
351
+ this.observe(batch, config, cached, true, performance.now() - started, memoryCandidateTotal);
287
352
  return structuredClone(cached);
288
353
  }
289
354
  const existing = this.pending.get(key);
@@ -297,6 +362,15 @@ export class DecisionService {
297
362
  try {
298
363
  if (decisionConfigurationIssue(config))
299
364
  throw new DecisionError('UNAVAILABLE');
365
+ const provider = managed ? this.memoryProvider(config) : this.provider(config), limits = provider.capabilities;
366
+ if (!Number.isSafeInteger(limits.maxQuestions) || limits.maxQuestions < 1)
367
+ throw new DecisionError('UNSUPPORTED');
368
+ if (batch.questions.some(q => !(limits.questionTypes ?? ['choice']).includes(questionType(q))))
369
+ throw new DecisionError('UNSUPPORTED');
370
+ if (batch.questions.some(q => 'type' in q && q.type === 'score' && (!limits.maxScoreLevels || q.criteria.length > limits.maxScoreLevels)))
371
+ throw new DecisionError('UNSUPPORTED');
372
+ if (batch.questions.some(q => 'choices' in q && q.choices.length > limits.maxChoices) || Buffer.byteLength(JSON.stringify(batch)) > limits.maxBytes)
373
+ throw new DecisionError('TOO_LARGE');
300
374
  if (managed) {
301
375
  if ((batch.purpose === 'compaction' ? this.semanticCompaction : batch.purpose === 'model-handoff' ? { mode: 'auto' } : this.memoryReuse).mode === 'off')
302
376
  throw new DecisionError('UNAVAILABLE');
@@ -304,11 +378,6 @@ export class DecisionService {
304
378
  if (ready.state !== 'ready')
305
379
  throw new DecisionError(ready.reason === 'DECISION_AUTH' || ready.reason === 'missing_credential' ? 'AUTH' : 'UNAVAILABLE');
306
380
  }
307
- const provider = managed ? this.memoryProvider(config) : this.provider(config), limits = provider.capabilities;
308
- if (!Number.isSafeInteger(limits.maxQuestions) || limits.maxQuestions < 1)
309
- throw new DecisionError('UNSUPPORTED');
310
- if (batch.questions.some(q => q.choices.length > limits.maxChoices) || Buffer.byteLength(JSON.stringify(batch)) > limits.maxBytes)
311
- throw new DecisionError('TOO_LARGE');
312
381
  const parts = [];
313
382
  // Each question is independent and retains the complete evidence and its alternatives.
314
383
  if (semantic)
@@ -346,7 +415,7 @@ export class DecisionService {
346
415
  const wasReady = this.readiness.status(config).state === 'ready';
347
416
  if (reason === 'DECISION_AUTH' && (wasReady || !managed))
348
417
  this.invalidateReadiness();
349
- if (managed && !['DECISION_TOO_LARGE', 'DECISION_INVALID_INPUT', 'DECISION_CANCELLED'].includes(reason)
418
+ if (managed && !['DECISION_TOO_LARGE', 'DECISION_INVALID_INPUT', 'DECISION_CANCELLED', 'DECISION_UNSUPPORTED'].includes(reason)
350
419
  && (wasReady || reason === 'DECISION_TIMEOUT'))
351
420
  this.readiness.failed(config, reason);
352
421
  this.lastFallback = reason;
@@ -361,6 +430,7 @@ export class DecisionService {
361
430
  if (signal.aborted)
362
431
  throw new DecisionError('CANCELLED');
363
432
  this.results.set(key, structuredClone(outcome));
433
+ this.observe(batch, config, outcome, false, performance.now() - started, memoryCandidateTotal);
364
434
  return outcome;
365
435
  })();
366
436
  this.pending.set(key, operation);
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/dsh/decisions/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/dsh/decisions/service.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"workflows.d.ts","sourceRoot":"","sources":["../../../src/dsh/decisions/workflows.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AACnE,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAA;AAEhG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAEnD,uGAAuG;AACvG,wBAAsB,YAAY,CAAC,OAAO,EAAE,eAAe,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAQnM;AAKD,uGAAuG;AACvG,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,eAAe,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,oBAAoB,EAAE,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAe9O"}
1
+ {"version":3,"file":"workflows.d.ts","sourceRoot":"","sources":["../../../src/dsh/decisions/workflows.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AACnE,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAA;AAEhG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAEnD,uGAAuG;AACvG,wBAAsB,YAAY,CAAC,OAAO,EAAE,eAAe,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAQnM;AAKD,uGAAuG;AACvG,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,eAAe,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,oBAAoB,EAAE,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAmC9O"}
@@ -24,8 +24,33 @@ export async function selectInstalledSkills(service, requestId, task, catalog, r
24
24
  const query = tokens(task);
25
25
  const shortlist = skills.filter(s => !mandatory.includes(s.name)).map(s => ({ skill: s, score: [...tokens(`${s.name} ${s.description ?? ''}`)].filter(t => query.has(t)).length }))
26
26
  .sort((a, b) => b.score - a.score || compareCanonicalStrings(a.skill.name, b.skill.name)).slice(0, 32);
27
+ const baselineNames = shortlist.filter(s => baseline.has(s.skill.name)).slice(0, 5).map(s => s.skill.name);
27
28
  if (!service || !shortlist.length)
28
- return [...new Set([...mandatory, ...shortlist.filter(s => baseline.has(s.skill.name)).slice(0, 5).map(s => s.skill.name)])];
29
+ return [...new Set([...mandatory, ...baselineNames])];
30
+ const selection = await service.skillSelection(requestId, signal);
31
+ if (selection?.mode === 'score') {
32
+ const criteria = ['Not applicable', 'Related but not materially useful', 'Materially applicable', 'Directly and strongly applicable'];
33
+ const outcome = await service.evaluate(requestId, { purpose: 'skills', state: { task },
34
+ questions: shortlist.map(({ skill }, index) => ({ id: `skill-${index}`, type: 'score',
35
+ instructions: `How materially does this installed Skill apply to the request?\n${JSON.stringify(skill)}`, criteria })) }, signal, canonicalContentHash(catalog));
36
+ if (outcome.status === 'fallback')
37
+ return [...new Set([...mandatory, ...baselineNames])];
38
+ const accepted = [], uncertain = new Set();
39
+ for (const [index, { skill }] of shortlist.entries()) {
40
+ const answer = outcome.result.answers[index];
41
+ if (answer?.status === 'measured' && answer.type === 'score') {
42
+ if (answer.confidence < selection.minConfidence)
43
+ uncertain.add(skill.name);
44
+ else if (answer.score >= selection.minScore)
45
+ accepted.push({ name: skill.name, score: answer.score });
46
+ }
47
+ else
48
+ uncertain.add(skill.name);
49
+ }
50
+ accepted.sort((a, b) => b.score - a.score || compareCanonicalStrings(a.name, b.name));
51
+ const ranked = accepted.map(s => s.name);
52
+ return [...new Set([...mandatory, ...[...ranked, ...baselineNames.filter(name => uncertain.has(name))].slice(0, 5)])];
53
+ }
29
54
  const outcome = await service.evaluate(requestId, { purpose: 'skills', state: { task }, questions: shortlist.map(({ skill }, index) => ({ id: `skill-${index}`, instructions: `Does this installed Skill materially apply to the request?\n${JSON.stringify(skill)}`,
30
55
  choices: [{ id: 'yes', description: 'Applicable' }, { id: 'no', description: 'Not applicable' }, { id: 'abstain', description: 'Insufficient evidence' }], abstainId: 'abstain' })) }, signal, canonicalContentHash(catalog));
31
56
  const selected = shortlist.filter(({ skill }, index) => {
@@ -1 +1 @@
1
- {"version":3,"file":"workflows.js","sourceRoot":"","sources":["../../../src/dsh/decisions/workflows.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflows.js","sourceRoot":"","sources":["../../../src/dsh/decisions/workflows.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { Context } from '@deepseek-ai/cordis';
2
+ import type { DiffReviewController } from '../diff-review/controller.js';
3
+ /** DSH's connection fetch registry supplies the authenticated caller. */
4
+ export declare function diffReviewResponse(controller: DiffReviewController, request: Request): Promise<Response>;
5
+ export declare function mountDiffReviewSurface(ctx: Context, controller: DiffReviewController): () => unknown;
6
+ //# sourceMappingURL=diff-review-surface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff-review-surface.d.ts","sourceRoot":"","sources":["../../src/dsh/diff-review-surface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAElD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AA0BxE,yEAAyE;AACzE,wBAAsB,kBAAkB,CAAC,UAAU,EAAE,oBAAoB,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAyC9G;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,oBAAoB,GAAG,MAAM,OAAO,CAMpG"}
@@ -0,0 +1,93 @@
1
+ import { createHash } from 'node:crypto';
2
+ import { reviewMarkdown } from '../diff-review/markdown.js';
3
+ import { DiffReviewError, ReviewRequest } from '../diff-review/schema.js';
4
+ const PATH = '/api/kiokuko.diff-review';
5
+ const HEADERS = { 'cache-control': 'no-store', 'content-security-policy': "default-src 'none'" };
6
+ function publicReview(review) {
7
+ const { repositoryRoot: _root, ...snapshot } = review.snapshot;
8
+ return { ...review, snapshot };
9
+ }
10
+ function errorResponse(error) {
11
+ const code = error instanceof DiffReviewError ? error.code : 'review_unavailable';
12
+ const status = error instanceof DiffReviewError ? error.status : 503;
13
+ return Response.json({ code }, { status, headers: HEADERS });
14
+ }
15
+ function sameOrigin(request) {
16
+ try {
17
+ const url = new URL(request.url);
18
+ const origin = new URL(request.headers.get('origin') ?? '');
19
+ return ['http:', 'https:'].includes(origin.protocol) && origin.host === (request.headers.get('host') ?? url.host);
20
+ }
21
+ catch {
22
+ return false;
23
+ }
24
+ }
25
+ /** DSH's connection fetch registry supplies the authenticated caller. */
26
+ export async function diffReviewResponse(controller, request) {
27
+ const url = new URL(request.url);
28
+ const sessionId = url.searchParams.get('sessionId');
29
+ if (!sessionId || sessionId.length > 256 || /[\p{Cc}\p{Cf}]/u.test(sessionId))
30
+ return errorResponse(new DiffReviewError('invalid_session', 400));
31
+ try {
32
+ if (request.method === 'GET') {
33
+ const reviewId = url.searchParams.get('reviewId');
34
+ if (!reviewId) {
35
+ const availability = await controller.availability(sessionId);
36
+ return Response.json({ ...availability, ...(availability.review ? { review: publicReview(availability.review) } : {}) }, { headers: HEADERS });
37
+ }
38
+ const format = url.searchParams.get('format');
39
+ if (format === 'file-link') {
40
+ const fileId = url.searchParams.get('fileId');
41
+ if (!fileId)
42
+ throw new DiffReviewError('invalid_file_selection', 400);
43
+ return Response.json({ address: await controller.fileAddress(sessionId, reviewId, fileId) }, { headers: HEADERS });
44
+ }
45
+ const review = await controller.get(sessionId, reviewId);
46
+ if (format === 'markdown')
47
+ return new Response(reviewMarkdown(review), { headers: { ...HEADERS, 'content-type': 'text/markdown; charset=utf-8', 'content-disposition': 'attachment; filename="diff-review.md"' } });
48
+ if (format === 'json')
49
+ return new Response(JSON.stringify(publicReview(review), null, 2), { headers: { ...HEADERS, 'content-type': 'application/json; charset=utf-8', 'content-disposition': 'attachment; filename="diff-review.json"' } });
50
+ if (format)
51
+ throw new DiffReviewError('invalid_format', 400);
52
+ const body = publicReview(review);
53
+ const etag = `"${createHash('sha256').update(JSON.stringify(body)).digest('hex')}"`;
54
+ if (request.headers.get('if-none-match') === etag)
55
+ return new Response(null, { status: 304, headers: { ...HEADERS, etag } });
56
+ return Response.json(body, { headers: { ...HEADERS, etag } });
57
+ }
58
+ if (request.method !== 'POST')
59
+ throw new DiffReviewError('invalid_method', 400);
60
+ if (!sameOrigin(request))
61
+ throw new DiffReviewError('origin_mismatch', 403);
62
+ const contentLength = Number(request.headers.get('content-length') ?? 0);
63
+ if (contentLength > 16_384)
64
+ throw new DiffReviewError('request_too_large', 413);
65
+ const text = await request.text();
66
+ if (Buffer.byteLength(text) > 16_384)
67
+ throw new DiffReviewError('request_too_large', 413);
68
+ let value;
69
+ try {
70
+ value = JSON.parse(text);
71
+ }
72
+ catch {
73
+ throw new DiffReviewError('invalid_json', 400);
74
+ }
75
+ const parsed = ReviewRequest.safeParse(value);
76
+ if (!parsed.success || parsed.data.sessionId !== sessionId)
77
+ throw new DiffReviewError('invalid_request', 400);
78
+ const action = parsed.data;
79
+ const review = action.action === 'capture' ? await controller.capture(action)
80
+ : action.action === 'analyze' ? await controller.analyze(action) : await controller.cancel(action.sessionId, action.reviewId);
81
+ return Response.json(publicReview(review), { status: action.action === 'analyze' ? 202 : 200, headers: HEADERS });
82
+ }
83
+ catch (error) {
84
+ return errorResponse(error);
85
+ }
86
+ }
87
+ export function mountDiffReviewSurface(ctx, controller) {
88
+ const connection = ctx.get('connection', false);
89
+ if (!connection?.fetch)
90
+ return () => undefined;
91
+ return connection.fetch.register({ path: PATH, methods: ['GET', 'POST'], requestBody: 'buffered', fetch: request => diffReviewResponse(controller, request) });
92
+ }
93
+ //# sourceMappingURL=diff-review-surface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff-review-surface.js","sourceRoot":"","sources":["../../src/dsh/diff-review-surface.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,7 @@ import { Context } from '@deepseek-ai/cordis';
16
16
  import { KIOKUKO_DSH_HOST_SERVICE, type DshCompositionHost } from './composition.js';
17
17
  import type { DshCoreRuntime } from './core-runtime.js';
18
18
  import { ToolExposureConfig } from './tool-exposure.js';
19
+ import { DiffReviewConfig } from './config.js';
19
20
  import { type DshLlm, type DshSessionQuery } from './session-memory-finalizer.js';
20
21
  import { type DshAdvisoryCall } from './advisory-runner.js';
21
22
  import { type EnnoNextAction } from '../enno-oduno/types.js';
@@ -50,6 +51,7 @@ export interface DshHostAdapterOptions {
50
51
  readonly modelCompatibility?: DshModelCompatibility;
51
52
  readonly orca?: import('zod').z.input<typeof OrcaConfig>;
52
53
  readonly toolExposure?: import('zod').z.input<typeof ToolExposureConfig>;
54
+ readonly diffReview?: import('zod').z.input<typeof DiffReviewConfig>;
53
55
  readonly databasePath?: string;
54
56
  readonly migrationsDirectory?: string;
55
57
  readonly repositoryRoot?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"host-adapter.d.ts","sourceRoot":"","sources":["../../src/dsh/host-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"host-adapter.d.ts","sourceRoot":"","sources":["../../src/dsh/host-adapter.ts"],"names":[],"mappings":"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"}
@@ -52,6 +52,8 @@ import { resolveCapabilities } from '../akinator/capabilities.js';
52
52
  import { readAkinatorSession, readRunIntakeLink } from '../akinator/store.js';
53
53
  import { DshToolPolicy, hasKnownDshToolPolicyState } from './tool-policy.js';
54
54
  import { ToolExposureConfig, projectToolsForPhase } from './tool-exposure.js';
55
+ import { DiffReviewConfig } from './config.js';
56
+ import { DiffReviewController } from '../diff-review/controller.js';
55
57
  import { DSH_MODEL_FACING_OPERATIONS, } from './tools.js';
56
58
  import { DshRunLifecycle } from './session-bridge.js';
57
59
  import { DshMemoryFinalizer, dshTurnBoundarySeq } from './session-memory-finalizer.js';
@@ -343,6 +345,7 @@ export function createDshHostAdapter(ctx, options = {}) {
343
345
  const attachments = native.get('attachments', false);
344
346
  const sessionQuery = options.sessionQuery ?? native.get('sessionQuery', false);
345
347
  const llm = options.llm ?? native.get('llm', false);
348
+ const reviewConfig = DiffReviewConfig.parse(options.diffReview ?? {});
346
349
  const advisory = options.advisory ?? native.get('dshAdvisory', false);
347
350
  const modelCatalog = nativeModelCatalog(native.get('llm', false), native.get('settings', false));
348
351
  const modelCompatibility = options.modelCompatibility ?? native.get('dshModelCompatibility', false);
@@ -358,6 +361,15 @@ export function createDshHostAdapter(ctx, options = {}) {
358
361
  autoRegisterRepository: true,
359
362
  ...(options.now === undefined ? {} : { now: options.now }),
360
363
  });
364
+ const diffReview = reviewConfig.enabled ? new DiffReviewController({
365
+ runtime,
366
+ ...(sessions ? { sessions: sessions } : {}),
367
+ ...(native.get('sessionPersistence', false) ? { persistence: native.get('sessionPersistence', false) } : {}),
368
+ ...(native.get('subprocess', false) ? { subprocess: native.get('subprocess', false) } : {}),
369
+ ...(native.get('workspaceChanges', false) ? { workspaceChanges: native.get('workspaceChanges', false) } : {}),
370
+ ...(llm ? { llm } : {}),
371
+ ...(modelCatalog ? { catalog: modelCatalog } : {}),
372
+ }, reviewConfig) : undefined;
361
373
  const decisions = options.decisions ?? createDecisionService(ctx, runtime, TypedDecisionsConfig.parse(options.typedDecisions ?? {}), MemoryReuseConfig.parse(options.memoryReuse ?? {}), SemanticCompactionConfig.parse(options.semanticCompaction ?? {}), root);
362
374
  const answerReview = new AnswerReviewCoordinator(runtime, decisions, AnswerReviewConfig.parse(options.answerReview ?? {}));
363
375
  const semanticCompaction = options.semanticCompactionCoordinator ?? new SemanticCompactionCoordinator(ctx, decisions, root, options.observationPack);
@@ -3022,6 +3034,7 @@ export function createDshHostAdapter(ctx, options = {}) {
3022
3034
  };
3023
3035
  configureEfficiency({ observe: efficiencyConfig.observe, inputMode: finalizationConfig.inputMode });
3024
3036
  const host = {
3037
+ ...(diffReview ? { diffReview } : {}),
3025
3038
  decisions,
3026
3039
  semanticCompaction,
3027
3040
  deepPlanning,
@@ -3121,6 +3134,7 @@ export function createDshHostAdapter(ctx, options = {}) {
3121
3134
  return {
3122
3135
  host,
3123
3136
  dispose: () => disposePromise ??= (async () => {
3137
+ await diffReview?.dispose();
3124
3138
  await answerReview.dispose();
3125
3139
  semanticCompaction.stop();
3126
3140
  modelHandoff.stop();