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,17 +2,74 @@ import { z } from 'zod';
2
2
  import { abortable } from '../http-json.js';
3
3
  import { DecisionError, parseDecisionResult } from './contracts.js';
4
4
  export const MemoryDecisionState = z.object({ task: z.string(), constraints: z.string(), memories: z.record(z.string(), z.string()) }).strict();
5
+ const NoulMemoryState = MemoryDecisionState.safeExtend({ questionMemory: z.record(z.string(), z.string()) });
5
6
  /** Bound each wire request to its own complete evidence. A failed part never becomes partial success. */
6
7
  export async function evaluateMemoryBatches(provider, batch, kind, signal) {
7
- const parsed = MemoryDecisionState.safeParse(batch.state);
8
- if (!parsed.success || Object.keys(parsed.data.memories).length !== batch.questions.length || batch.questions.some(q => !Object.hasOwn(parsed.data.memories, q.id)))
8
+ const noul = batch.questions.every(q => 'type' in q && q.type === 'noul');
9
+ const parsed = (noul ? NoulMemoryState : MemoryDecisionState).safeParse(batch.state);
10
+ if (!parsed.success)
9
11
  throw new DecisionError('INVALID_INPUT');
10
- const state = parsed.data, size = kind === 'typesafe' ? Math.min(8, provider.capabilities.maxQuestions) : 1;
11
- const batches = [];
12
- for (let offset = 0; offset < batch.questions.length; offset += size) {
13
- const questions = batch.questions.slice(offset, offset + size);
14
- batches.push({ ...batch, questions, state: { task: state.task, constraints: state.constraints, memories: Object.fromEntries(questions.map(q => [q.id, state.memories[q.id]])) } });
12
+ const state = parsed.data;
13
+ const mapped = noul ? NoulMemoryState.parse(state) : undefined;
14
+ const groups = [];
15
+ if (mapped) {
16
+ if (Object.keys(mapped.questionMemory).length !== batch.questions.length)
17
+ throw new DecisionError('INVALID_INPUT');
18
+ if (batch.questions.some(q => !/^memory_(0|[1-9]\d*):(applicability|constraints|prerequisites)$/.test(q.id)
19
+ || mapped.questionMemory[q.id] !== q.id.slice(0, q.id.indexOf(':'))))
20
+ throw new DecisionError('INVALID_INPUT');
21
+ for (const [memoryId] of Object.entries(mapped.memories)) {
22
+ const questions = batch.questions.filter(q => mapped.questionMemory[q.id] === memoryId);
23
+ if (questions.length !== 3 || !['applicability', 'constraints', 'prerequisites'].every(name => questions.some(q => q.id === `${memoryId}:${name}`)))
24
+ throw new DecisionError('INVALID_INPUT');
25
+ groups.push(questions);
26
+ }
27
+ if (groups.flat().length !== batch.questions.length || batch.questions.some(q => !Object.hasOwn(mapped.questionMemory, q.id)))
28
+ throw new DecisionError('INVALID_INPUT');
29
+ }
30
+ else {
31
+ if (Object.keys(state.memories).length !== batch.questions.length || batch.questions.some(q => !Object.hasOwn(state.memories, q.id)))
32
+ throw new DecisionError('INVALID_INPUT');
33
+ groups.push(...batch.questions.map(q => [q]));
15
34
  }
35
+ const groupSize = kind === 'typesafe' ? Math.min(8, Math.floor(provider.capabilities.maxQuestions / (noul ? 3 : 1))) : 1;
36
+ if (groupSize < 1)
37
+ throw new DecisionError('UNSUPPORTED');
38
+ const makePart = (chunk) => {
39
+ const questions = chunk.flat();
40
+ const memoryIds = mapped ? [...new Set(questions.map(q => mapped.questionMemory[q.id]))] : questions.map(q => q.id);
41
+ const memories = Object.fromEntries(memoryIds.map(id => [id, state.memories[id]]));
42
+ return { ...batch, questions, state: mapped
43
+ ? { task: state.task, constraints: state.constraints, memories, questionMemory: Object.fromEntries(questions.map(q => [q.id, mapped.questionMemory[q.id]])) }
44
+ : { task: state.task, constraints: state.constraints, memories } };
45
+ };
46
+ const chunks = [];
47
+ for (let offset = 0; offset < groups.length; offset += groupSize)
48
+ chunks.push(groups.slice(offset, offset + groupSize));
49
+ const batches = chunks.map(makePart);
50
+ const skipped = new Set();
51
+ if (provider.preflight)
52
+ for (let index = 0; index < batches.length; index++) {
53
+ const part = batches[index];
54
+ try {
55
+ await abortable(provider.preflight(part, signal), signal);
56
+ }
57
+ catch (error) {
58
+ if (error instanceof DecisionError && error.kind === 'TOO_LARGE') {
59
+ const chunk = chunks[index];
60
+ if (chunk.length === 1) {
61
+ skipped.add(part);
62
+ continue;
63
+ }
64
+ const middle = Math.floor(chunk.length / 2), halves = [chunk.slice(0, middle), chunk.slice(middle)];
65
+ chunks.splice(index, 1, ...halves);
66
+ batches.splice(index, 1, ...halves.map(makePart));
67
+ index--;
68
+ continue;
69
+ }
70
+ throw error;
71
+ }
72
+ }
16
73
  const parts = new Array(batches.length).fill(null);
17
74
  const controller = new AbortController(), combined = AbortSignal.any([signal, controller.signal]);
18
75
  let next = 0, failure;
@@ -21,12 +78,14 @@ export async function evaluateMemoryBatches(provider, batch, kind, signal) {
21
78
  while (next < batches.length) {
22
79
  combined.throwIfAborted();
23
80
  const index = next++, part = batches[index];
81
+ if (skipped.has(part))
82
+ continue;
24
83
  try {
25
84
  parts[index] = parseDecisionResult(await abortable(provider.evaluate(part, combined), combined), part);
26
85
  }
27
86
  catch (error) {
28
87
  // A single complete record that the endpoint cannot admit remains unassessed.
29
- if (error instanceof DecisionError && error.kind === 'TOO_LARGE' && part.questions.length === 1)
88
+ if (error instanceof DecisionError && error.kind === 'TOO_LARGE' && part.questions.length === (noul ? 3 : 1))
30
89
  continue;
31
90
  throw error;
32
91
  }
@@ -42,10 +101,11 @@ export async function evaluateMemoryBatches(provider, batch, kind, signal) {
42
101
  throw failure;
43
102
  const completed = parts.filter((part) => part !== null), first = completed[0];
44
103
  if (!first)
45
- throw new DecisionError('TOO_LARGE');
104
+ return parseDecisionResult({ provider: kind, requestedModel: 'unassessed', policyVersion: 'memory-reuse-unassessed-v1',
105
+ answers: batch.questions.map(q => ({ id: q.id, status: 'abstained', reason: 'unassessed' })) }, batch);
46
106
  if (completed.some(p => p.provider !== first.provider || p.requestedModel !== first.requestedModel || p.returnedModel !== first.returnedModel || p.revision !== first.revision || p.policyVersion !== first.policyVersion))
47
107
  throw new DecisionError('MALFORMED_RESPONSE');
48
- const result = { ...first, answers: parts.flatMap((p, i) => p?.answers ?? batches[i].questions.map(q => ({ id: q.id, status: 'abstained', reason: 'insufficient' }))) };
108
+ const result = { ...first, answers: parts.flatMap((p, i) => p?.answers ?? batches[i].questions.map(q => ({ id: q.id, status: 'abstained', reason: 'unassessed' }))) };
49
109
  delete result.usage;
50
110
  if (completed.every(p => p.usage))
51
111
  result.usage = completed.reduce((sum, p) => ({ input_tokens: sum.input_tokens + p.usage.input_tokens, output_tokens: sum.output_tokens + p.usage.output_tokens }), { input_tokens: 0, output_tokens: 0 });
@@ -1 +1 @@
1
- {"version":3,"file":"memory-batches.js","sourceRoot":"","sources":["../../../src/dsh/decisions/memory-batches.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory-batches.js","sourceRoot":"","sources":["../../../src/dsh/decisions/memory-batches.ts"],"names":[],"mappings":"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"}
@@ -3,8 +3,10 @@ import { type DecisionConfiguration } from './config.js';
3
3
  export declare const POLICY_VERSION = "finite-choice-v1";
4
4
  export declare const TYPESAFE_LIMITS: Readonly<{
5
5
  maxQuestions: 64;
6
- maxChoices: 256;
6
+ maxChoices: 255;
7
7
  maxBytes: number;
8
+ questionTypes: readonly ["choice", "noul", "score"];
9
+ maxScoreLevels: 10;
8
10
  }>;
9
11
  export declare const NIMBLE_LIMITS: Readonly<{
10
12
  maxQuestions: 64;
@@ -20,8 +22,10 @@ export declare class TypeSafeDecisionProvider implements DecisionProvider {
20
22
  private readonly request;
21
23
  readonly capabilities: Readonly<{
22
24
  maxQuestions: 64;
23
- maxChoices: 256;
25
+ maxChoices: 255;
24
26
  maxBytes: number;
27
+ questionTypes: readonly ["choice", "noul", "score"];
28
+ maxScoreLevels: 10;
25
29
  }>;
26
30
  constructor(config: DecisionConfiguration['typesafe'], credential: () => Promise<string>, request?: typeof fetch);
27
31
  evaluate(batch: DecisionBatch, signal: AbortSignal): Promise<DecisionBatchResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../../src/dsh/decisions/providers.ts"],"names":[],"mappings":"AAEA,OAAO,EAA0E,KAAK,gBAAgB,EAAE,KAAK,aAAa,EAAE,KAAK,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAC5K,OAAO,EAAoB,KAAK,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAO1E,eAAO,MAAM,cAAc,qBAAqB,CAAA;AAChD,eAAO,MAAM,eAAe;;;;EAAiF,CAAA;AAC7G,eAAO,MAAM,aAAa;;;;;EAAuG,CAAA;AAEjI,wFAAwF;AACxF,wBAAgB,UAAU,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAGtE;AA4CD,qBAAa,wBAAyB,YAAW,gBAAgB;IAEnD,OAAO,CAAC,QAAQ,CAAC,MAAM;IAAqC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAAyB,OAAO,CAAC,QAAQ,CAAC,OAAO;IADpJ,QAAQ,CAAC,YAAY;;;;OAAkB;gBACV,MAAM,EAAE,qBAAqB,CAAC,UAAU,CAAC,EAAmB,UAAU,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,EAAmB,OAAO,GAAE,OAAO,KAAa;IACpK,QAAQ,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,mBAAmB,CAAC;CAKxF;AACD,qBAAa,sBAAuB,YAAW,gBAAgB;IAEjD,OAAO,CAAC,QAAQ,CAAC,MAAM;IAAmC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAAqC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAD9J,QAAQ,CAAC,YAAY;;;;;OAAgB;gBACR,MAAM,EAAE,qBAAqB,CAAC,QAAQ,CAAC,EAAmB,UAAU,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,EAAmB,OAAO,GAAE,OAAO,KAAa;IAC9K,QAAQ,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,mBAAmB,CAAC;CAQxF"}
1
+ {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../../src/dsh/decisions/providers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAuG,KAAK,gBAAgB,EAAE,KAAK,aAAa,EAAE,KAAK,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AACzM,OAAO,EAAoB,KAAK,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAQ1E,eAAO,MAAM,cAAc,qBAAqB,CAAA;AAChD,eAAO,MAAM,eAAe;;;;;;EAA0J,CAAA;AACtL,eAAO,MAAM,aAAa;;;;;EAAuG,CAAA;AAEjI,wFAAwF;AACxF,wBAAgB,UAAU,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAGtE;AAuFD,qBAAa,wBAAyB,YAAW,gBAAgB;IAEnD,OAAO,CAAC,QAAQ,CAAC,MAAM;IAAqC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAAyB,OAAO,CAAC,QAAQ,CAAC,OAAO;IADpJ,QAAQ,CAAC,YAAY;;;;;;OAAkB;gBACV,MAAM,EAAE,qBAAqB,CAAC,UAAU,CAAC,EAAmB,UAAU,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,EAAmB,OAAO,GAAE,OAAO,KAAa;IACpK,QAAQ,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,mBAAmB,CAAC;CAMxF;AACD,qBAAa,sBAAuB,YAAW,gBAAgB;IAEjD,OAAO,CAAC,QAAQ,CAAC,MAAM;IAAmC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAAqC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAD9J,QAAQ,CAAC,YAAY;;;;;OAAgB;gBACR,MAAM,EAAE,qBAAqB,CAAC,QAAQ,CAAC,EAAmB,UAAU,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,EAAmB,OAAO,GAAE,OAAO,KAAa;IAC9K,QAAQ,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,mBAAmB,CAAC;CAQxF"}
@@ -1,20 +1,73 @@
1
1
  import { z } from 'zod';
2
2
  import { abortable, readBoundedJson } from '../http-json.js';
3
- import { DECISION_BYTES, DecisionError, parseDecisionBatch, parseDecisionResult } from './contracts.js';
3
+ import { DECISION_BYTES, DecisionError, parseDecisionBatch, parseDecisionResult, requireChoice, questionType } from './contracts.js';
4
4
  import { decisionEndpoint } from './config.js';
5
+ import { consistentScore } from './score-consistency.js';
5
6
  const probability = z.number().finite().min(0).max(1);
6
7
  const responseSchema = z.object({ model: z.string().min(1).max(256).optional(),
7
8
  answers: z.record(z.string(), z.object({ type: z.literal('choice'), choice: z.string(), probabilities: z.record(z.string(), probability), confidence: probability }).strict()),
8
9
  usage: z.object({ input_tokens: z.number().int().nonnegative(), output_tokens: z.number().int().nonnegative() }).strict().optional(),
9
10
  }).strict();
10
11
  export const POLICY_VERSION = 'finite-choice-v1';
11
- export const TYPESAFE_LIMITS = Object.freeze({ maxQuestions: 64, maxChoices: 256, maxBytes: DECISION_BYTES });
12
+ export const TYPESAFE_LIMITS = Object.freeze({ maxQuestions: 64, maxChoices: 255, maxBytes: DECISION_BYTES, questionTypes: ['choice', 'noul', 'score'], maxScoreLevels: 10 });
12
13
  export const NIMBLE_LIMITS = Object.freeze({ maxQuestions: 64, maxChoices: 26, maxBytes: DECISION_BYTES, maxPromptTokens: 2048 });
13
14
  /** Serialize from ordered arrays; even numeric-looking IDs must retain caller order. */
14
15
  export function choiceBody(batch, model) {
15
- const questions = batch.questions.map(q => `${JSON.stringify(q.id)}:{"type":"choice","instructions":${JSON.stringify(q.instructions)},"criteria":{${q.choices.map(c => `${JSON.stringify(c.id)}:${JSON.stringify(c.description)}`).join(',')}}}`).join(',');
16
+ const questions = batch.questions.map(question => { const q = requireChoice(question); return `${JSON.stringify(q.id)}:{"type":"choice","instructions":${JSON.stringify(q.instructions)},"criteria":{${q.choices.map(c => `${JSON.stringify(c.id)}:${JSON.stringify(c.description)}`).join(',')}}}`; }).join(',');
16
17
  return `{"state":${JSON.stringify(batch.state)},"model":${JSON.stringify(model)},"questions":{${questions}}}`;
17
18
  }
19
+ function typedBody(batch, model) {
20
+ const questions = batch.questions.map(q => {
21
+ if ('choices' in q)
22
+ return `${JSON.stringify(q.id)}:{"type":"choice","instructions":${JSON.stringify(q.instructions)},"criteria":{${q.choices.map(c => `${JSON.stringify(c.id)}:${JSON.stringify(c.description)}`).join(',')}}}`;
23
+ return `${JSON.stringify(q.id)}:${JSON.stringify({ type: q.type, instructions: q.instructions, ...('criteria' in q ? { criteria: q.criteria } : {}) })}`;
24
+ }).join(',');
25
+ return `{"state":${JSON.stringify(batch.state)},"model":${JSON.stringify(model)},"questions":{${questions}}}`;
26
+ }
27
+ const typedResponse = z.object({ model: z.string().min(1).max(256).optional(),
28
+ answers: z.record(z.string(), z.discriminatedUnion('type', [
29
+ z.object({ type: z.literal('noul'), noul: probability }).strict(),
30
+ z.object({ type: z.literal('choice'), choice: z.string(), probabilities: z.record(z.string(), probability), confidence: probability }).strict(),
31
+ z.object({ type: z.literal('score'), score: z.number().finite(), legend: z.record(z.string(), z.string()), probabilities: z.record(z.string(), probability), confidence: probability }).strict(),
32
+ ])), usage: z.object({ input_tokens: z.number().int().nonnegative(), output_tokens: z.number().int().nonnegative() }).strict().optional(),
33
+ }).strict();
34
+ function decodeTyped(value, batch, model, minConfidence) {
35
+ const parsed = typedResponse.safeParse(value);
36
+ if (!parsed.success || Object.keys(parsed.data.answers).length !== batch.questions.length)
37
+ throw new DecisionError('MALFORMED_RESPONSE');
38
+ const response = parsed.data;
39
+ const answers = batch.questions.map(q => {
40
+ const a = response.answers[q.id];
41
+ if (!a || a.type !== questionType(q))
42
+ throw new DecisionError('MALFORMED_RESPONSE');
43
+ if (a.type === 'noul')
44
+ return { id: q.id, status: 'measured', type: 'noul', probability: a.noul };
45
+ const keys = 'choices' in q ? q.choices.map(c => c.id) : 'type' in q && q.type === 'score' ? q.criteria.map((_, i) => String(i)) : [];
46
+ if (Object.keys(a.probabilities).length !== keys.length || keys.some(k => !Object.hasOwn(a.probabilities, k))
47
+ || Math.abs(Object.values(a.probabilities).reduce((n, p) => n + p, 0) - 1) > .001)
48
+ throw new DecisionError('MALFORMED_RESPONSE');
49
+ if (a.type === 'score') {
50
+ if (!('type' in q) || q.type !== 'score' || a.score < 0 || a.score > q.criteria.length - 1 || Object.keys(a.legend).length !== keys.length
51
+ || keys.some((k, i) => a.legend[k] !== q.criteria[i]))
52
+ throw new DecisionError('MALFORMED_RESPONSE');
53
+ if (!consistentScore(a.score, keys.map(k => a.probabilities[k])))
54
+ throw new DecisionError('MALFORMED_RESPONSE');
55
+ return { id: q.id, status: 'measured', type: 'score', score: a.score,
56
+ probabilities: keys.map(k => a.probabilities[k]), confidence: a.confidence };
57
+ }
58
+ const choice = requireChoice(q), values = Object.values(a.probabilities).sort((x, y) => y - x);
59
+ if (!keys.includes(a.choice) || a.probabilities[a.choice] !== values[0])
60
+ throw new DecisionError('MALFORMED_RESPONSE');
61
+ if (a.choice === choice.abstainId)
62
+ return { id: q.id, status: 'abstained', reason: 'insufficient' };
63
+ if (values[0] === values[1])
64
+ return { id: q.id, status: 'abstained', reason: 'tie' };
65
+ return a.confidence >= minConfidence ? { id: q.id, status: 'selected', choiceId: a.choice } : { id: q.id, status: 'abstained', reason: 'uncertain' };
66
+ });
67
+ return parseDecisionResult({ answers, provider: 'typesafe', requestedModel: model,
68
+ ...(response.model ? { returnedModel: response.model } : {}), policyVersion: 'typed-decisions-v1',
69
+ ...(response.usage ? { usage: response.usage } : {}) }, batch);
70
+ }
18
71
  function decode(value, batch, provider, model, accept) {
19
72
  const parsed = responseSchema.safeParse(value);
20
73
  if (!parsed.success)
@@ -22,7 +75,8 @@ function decode(value, batch, provider, model, accept) {
22
75
  const response = parsed.data;
23
76
  if (Object.keys(response.answers).length !== batch.questions.length)
24
77
  throw new DecisionError('MALFORMED_RESPONSE');
25
- const answers = batch.questions.map(q => {
78
+ const answers = batch.questions.map(question => {
79
+ const q = requireChoice(question);
26
80
  const a = response.answers[q.id];
27
81
  if (!a || Object.keys(a.probabilities).length !== q.choices.length || q.choices.some(c => !Object.hasOwn(a.probabilities, c.id))
28
82
  || !q.choices.some(c => c.id === a.choice) || Math.abs(Object.values(a.probabilities).reduce((n, p) => n + p, 0) - 1) > .001)
@@ -43,7 +97,8 @@ function decode(value, batch, provider, model, accept) {
43
97
  ...(response.usage ? { usage: response.usage } : {}) }, batch);
44
98
  }
45
99
  async function evaluateHttp(settings, batch, signal, mapStatus) {
46
- const body = choiceBody(parseDecisionBatch(batch), settings.model);
100
+ const parsed = parseDecisionBatch(batch);
101
+ const body = parsed.contractVersion ? typedBody(parsed, settings.model) : choiceBody(parsed, settings.model);
47
102
  if (Buffer.byteLength(body) > DECISION_BYTES)
48
103
  throw new DecisionError('TOO_LARGE');
49
104
  try {
@@ -84,8 +139,10 @@ export class TypeSafeDecisionProvider {
84
139
  this.request = request;
85
140
  }
86
141
  async evaluate(batch, signal) {
142
+ if (batch.questions.some(q => 'choices' in q ? q.choices.length > 255 : q.type === 'score' && q.criteria.length > 10))
143
+ throw new DecisionError('TOO_LARGE');
87
144
  const value = await evaluateHttp({ endpoint: 'https://api.typesafe.ai/v1/systemone', model: this.config.model, credential: this.credential, request: this.request }, batch, signal, s => new DecisionError(s === 401 || s === 403 ? 'AUTH' : s === 413 ? 'TOO_LARGE' : s === 422 ? 'INVALID_INPUT' : 'UNAVAILABLE'));
88
- return decode(value, batch, 'typesafe', this.config.model, confidence => confidence >= this.config.acceptance.minConfidence);
145
+ return batch.contractVersion || batch.questions.some(q => questionType(q) !== 'choice') ? decodeTyped(value, batch, this.config.model, this.config.acceptance.minConfidence) : decode(value, batch, 'typesafe', this.config.model, confidence => confidence >= this.config.acceptance.minConfidence);
89
146
  }
90
147
  }
91
148
  export class NimbleDecisionProvider {
@@ -101,7 +158,7 @@ export class NimbleDecisionProvider {
101
158
  async evaluate(batch, signal) {
102
159
  if (!this.config.endpoint || !this.config.model)
103
160
  throw new DecisionError('UNAVAILABLE');
104
- if (batch.questions.length > 64 || batch.questions.some(q => q.choices.length > 26))
161
+ if (batch.questions.length > 64 || batch.questions.some(q => requireChoice(q).choices.length > 26))
105
162
  throw new DecisionError('TOO_LARGE');
106
163
  const value = await evaluateHttp({ endpoint: decisionEndpoint(this.config.endpoint), model: this.config.model, credential: this.credential, request: this.request }, batch, signal, s => new DecisionError(s === 401 || s === 403 ? 'AUTH' : s === 413 || s === 422 ? 'TOO_LARGE' : s === 504 ? 'TIMEOUT' : s === 499 ? 'CANCELLED' : 'UNAVAILABLE'));
107
164
  // Nimble confidence is entropy-derived. Acceptance uses selected probability and margin instead.
@@ -1 +1 @@
1
- {"version":3,"file":"providers.js","sourceRoot":"","sources":["../../../src/dsh/decisions/providers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,kBAAkB,EAAE,mBAAmB,EAAuE,MAAM,gBAAgB,CAAA;AAC5K,OAAO,EAAE,gBAAgB,EAA8B,MAAM,aAAa,CAAA;AAE1E,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;AACrD,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IAC5E,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,WAAW,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;IAC9K,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACrI,CAAC,CAAC,MAAM,EAAE,CAAA;AACX,MAAM,CAAC,MAAM,cAAc,GAAG,kBAAkB,CAAA;AAChD,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAA;AAC7G,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAA;AAEjI,wFAAwF;AACxF,MAAM,UAAU,UAAU,CAAC,KAAoB,EAAE,KAAa;IAC5D,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,oCAAoC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC3P,OAAO,YAAY,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,iBAAiB,SAAS,IAAI,CAAA;AAC/G,CAAC;AACD,SAAS,MAAM,CAAC,KAAc,EAAE,KAAoB,EAAE,QAAgB,EAAE,KAAa,EAAE,MAAsE;IAC3J,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;IAC9C,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,MAAM,IAAI,aAAa,CAAC,oBAAoB,CAAC,CAAA;IAClE,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAA;IAC5B,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,SAAS,CAAC,MAAM;QAAE,MAAM,IAAI,aAAa,CAAC,oBAAoB,CAAC,CAAA;IAClH,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QACtC,MAAM,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;QAChC,IAAI,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;eAC3H,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI;YAAE,MAAM,IAAI,aAAa,CAAC,oBAAoB,CAAC,CAAA;QAC7K,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QACnE,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAE,EAAE,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAE,CAAA;QAC7C,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG;YAAE,MAAM,IAAI,aAAa,CAAC,oBAAoB,CAAC,CAAA;QACpF,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,SAAS;YAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,WAAoB,EAAE,MAAM,EAAE,cAAuB,EAAE,CAAA;QAChH,IAAI,GAAG,KAAK,QAAQ;YAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,WAAoB,EAAE,MAAM,EAAE,KAAc,EAAE,CAAA;QAC/F,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,EAAE,GAAG,EAAE,QAAQ,CAAC;YAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,WAAoB,EAAE,MAAM,EAAE,WAAoB,EAAE,CAAA;QACzH,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,UAAmB,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAA;IACtE,CAAC,CAAC,CAAA;IACF,OAAO,mBAAmB,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,aAAa,EAAE,cAAc;QAChK,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;AAClE,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,QAAsB,EAAE,KAAoB,EAAE,MAAmB,EAAE,SAA4C;IACzI,MAAM,IAAI,GAAG,UAAU,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAA;IAClE,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,cAAc;QAAE,MAAM,IAAI,aAAa,CAAC,WAAW,CAAC,CAAA;IAClF,IAAI,CAAC;QACH,MAAM,CAAC,cAAc,EAAE,CAAA;QACvB,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,MAAM,CAAC,CAAA;QACjE,IAAI,UAAU,KAAK,SAAS,IAAI,CAAC,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAAE,MAAM,IAAI,aAAa,CAAC,MAAM,CAAC,CAAA;QAChJ,MAAM,CAAC,cAAc,EAAE,CAAA;QACvB,MAAM,OAAO,GAAG,CAAC,QAAQ,CAAC,OAAO,IAAI,KAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM;YACxG,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,UAAU,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;QAC5H,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,MAAM,CAAC,OAAO;YAAE,KAAK,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA,CAAC,CAAC,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;QAC/F,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;QACjD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YAAC,KAAK,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAAC,MAAM,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QAAC,CAAC;QACpG,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,aAAa,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAA;QACjJ,MAAM,CAAC,cAAc,EAAE,CAAA;QACvB,IAAI,UAAU,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;YAAE,MAAM,IAAI,aAAa,CAAC,oBAAoB,CAAC,CAAA;QAC3G,OAAO,KAAK,CAAA;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,MAAM,CAAC,OAAO;YAAE,MAAM,IAAI,aAAa,CAAC,WAAW,CAAC,CAAA;QACxD,MAAM,KAAK,YAAY,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,aAAa,CAAC,CAAA;IACjF,CAAC;AACH,CAAC;AACD,MAAM,OAAO,wBAAwB;IAEN;IAA4D;IAAoD;IADpI,YAAY,GAAG,eAAe,CAAA;IACvC,YAA6B,MAAyC,EAAmB,UAAiC,EAAmB,UAAwB,KAAK;QAA7I,WAAM,GAAN,MAAM,CAAmC;QAAmB,eAAU,GAAV,UAAU,CAAuB;QAAmB,YAAO,GAAP,OAAO,CAAsB;IAAG,CAAC;IAC9K,KAAK,CAAC,QAAQ,CAAC,KAAoB,EAAE,MAAmB;QACtD,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,EAAE,QAAQ,EAAE,sCAAsC,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,EAChL,CAAC,CAAC,EAAE,CAAC,IAAI,aAAa,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAA;QAClI,OAAO,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAA;IAC9H,CAAC;CACF;AACD,MAAM,OAAO,sBAAsB;IAEJ;IAA0D;IAAgE;IAD9I,YAAY,GAAG,aAAa,CAAA;IACrC,YAA6B,MAAuC,EAAmB,UAA6C,EAAmB,UAAwB,KAAK;QAAvJ,WAAM,GAAN,MAAM,CAAiC;QAAmB,eAAU,GAAV,UAAU,CAAmC;QAAmB,YAAO,GAAP,OAAO,CAAsB;IAAG,CAAC;IACxL,KAAK,CAAC,QAAQ,CAAC,KAAoB,EAAE,MAAmB;QACtD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK;YAAE,MAAM,IAAI,aAAa,CAAC,aAAa,CAAC,CAAA;QACvF,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,EAAE,CAAC;YAAE,MAAM,IAAI,aAAa,CAAC,WAAW,CAAC,CAAA;QACzH,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,EAAE,QAAQ,EAAE,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,EAChL,CAAC,CAAC,EAAE,CAAC,IAAI,aAAa,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAA;QACnK,iGAAiG;QACjG,OAAO,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,KAAM,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,cAAc,IAAI,GAAG,GAAG,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;IAC/L,CAAC;CACF"}
1
+ {"version":3,"file":"providers.js","sourceRoot":"","sources":["../../../src/dsh/decisions/providers.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"readiness.d.ts","sourceRoot":"","sources":["../../../src/dsh/decisions/readiness.ts"],"names":[],"mappings":"AAEA,OAAO,EAAwD,KAAK,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAC9G,OAAO,EAA0D,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAE9G,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,cAAc,GAAG,YAAY,GAAG,SAAS,GAAG,OAAO,GAAG,aAAa,CAAA;IAC1E,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CACzB;AACD,MAAM,WAAW,gBAAgB;IAC/B,wGAAwG;IACxG,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,qBAAqB,EAAE,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,CAAA;IACtG,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;CACnB;AAQD,6FAA6F;AAC7F,qBAAa,wBAAwB;IAKvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAAuD,OAAO,CAAC,QAAQ,CAAC,OAAO;IAJpH,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAmE;IACzF,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6B;IACrD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAsC;IACrE,OAAO,CAAC,UAAU,CAAI;gBACO,QAAQ,EAAE,CAAC,MAAM,EAAE,qBAAqB,KAAK,gBAAgB,EAAmB,OAAO,GAAE,gBAAqB;IAC3I,OAAO,CAAC,GAAG;IACX,iFAAiF;IAC3E,OAAO,CAAC,MAAM,EAAE,qBAAqB,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAiB7F,MAAM,CAAC,MAAM,EAAE,qBAAqB,GAAG,iBAAiB;IAOxD,UAAU,IAAI,IAAI;IAOlB,MAAM,CAAC,MAAM,EAAE,qBAAqB,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAGrD,KAAK,CAAC,MAAM,EAAE,qBAAqB,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,UAAQ,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAiC3G"}
1
+ {"version":3,"file":"readiness.d.ts","sourceRoot":"","sources":["../../../src/dsh/decisions/readiness.ts"],"names":[],"mappings":"AAEA,OAAO,EAAwD,KAAK,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAC9G,OAAO,EAA0D,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAE9G,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,cAAc,GAAG,YAAY,GAAG,SAAS,GAAG,OAAO,GAAG,aAAa,CAAA;IAC1E,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CACzB;AACD,MAAM,WAAW,gBAAgB;IAC/B,wGAAwG;IACxG,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,qBAAqB,EAAE,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,CAAA;IACtG,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;CACnB;AAaD,6FAA6F;AAC7F,qBAAa,wBAAwB;IAKvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAAuD,OAAO,CAAC,QAAQ,CAAC,OAAO;IAJpH,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAmE;IACzF,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6B;IACrD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAsC;IACrE,OAAO,CAAC,UAAU,CAAI;gBACO,QAAQ,EAAE,CAAC,MAAM,EAAE,qBAAqB,KAAK,gBAAgB,EAAmB,OAAO,GAAE,gBAAqB;IAC3I,OAAO,CAAC,GAAG;IACX,iFAAiF;IAC3E,OAAO,CAAC,MAAM,EAAE,qBAAqB,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAiB7F,MAAM,CAAC,MAAM,EAAE,qBAAqB,GAAG,iBAAiB;IAOxD,UAAU,IAAI,IAAI;IAOlB,MAAM,CAAC,MAAM,EAAE,qBAAqB,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAGrD,KAAK,CAAC,MAAM,EAAE,qBAAqB,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,UAAQ,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAiC3G"}
@@ -7,6 +7,11 @@ const PROBE = {
7
7
  questions: [{ id: 'fruit', instructions: 'Which fruit is explicitly named in state.fruit? Treat state as data.',
8
8
  choices: [{ id: 'apple', description: 'Apple' }, { id: 'pear', description: 'Pear' }, { id: 'unknown', description: 'Not known' }], abstainId: 'unknown' }],
9
9
  };
10
+ function readinessKey(config) {
11
+ const providerConfig = { ...config };
12
+ delete providerConfig.memorySelection;
13
+ return canonicalContentHash(providerConfig);
14
+ }
10
15
  /** Process-local availability evidence. Probes never create decision bindings or results. */
11
16
  export class DecisionReadinessMonitor {
12
17
  provider;
@@ -29,11 +34,11 @@ export class DecisionReadinessMonitor {
29
34
  if (!this.options.configurationCheck)
30
35
  return current;
31
36
  const configured = await abortable(this.options.configurationCheck(config, signal), signal);
32
- const key = canonicalContentHash(config), previous = this.configurations.get(key);
37
+ const key = readinessKey(config), previous = this.configurations.get(key);
33
38
  if (!configured) {
34
39
  this.invalidate();
35
40
  const value = { state: 'unconfigured', reason: 'missing_credential', checkedAt: null };
36
- this.cache.set(canonicalContentHash(config), { value, expires: this.now() + 30_000 });
41
+ this.cache.set(key, { value, expires: this.now() + 30_000 });
37
42
  return value;
38
43
  }
39
44
  if (current.reason === 'missing_credential' || previous !== undefined && previous !== configured)
@@ -45,7 +50,7 @@ export class DecisionReadinessMonitor {
45
50
  const issue = decisionConfigurationIssue(config);
46
51
  if (issue)
47
52
  return { state: 'unconfigured', reason: issue, checkedAt: null };
48
- const key = canonicalContentHash(config), cached = this.cache.get(key);
53
+ const key = readinessKey(config), cached = this.cache.get(key);
49
54
  if (this.pending.has(key))
50
55
  return { state: 'probing', reason: null, checkedAt: null };
51
56
  return cached && cached.expires > this.now() ? { ...cached.value } : { state: 'unverified', reason: null, checkedAt: cached?.value.checkedAt ?? null };
@@ -59,11 +64,11 @@ export class DecisionReadinessMonitor {
59
64
  this.pending.clear();
60
65
  }
61
66
  failed(config, reason) {
62
- this.cache.set(canonicalContentHash(config), { value: { state: 'unavailable', reason, checkedAt: new Date(this.now()).toISOString() }, expires: this.now() + 30_000 });
67
+ this.cache.set(readinessKey(config), { value: { state: 'unavailable', reason, checkedAt: new Date(this.now()).toISOString() }, expires: this.now() + 30_000 });
63
68
  }
64
69
  async probe(config, signal, force = false) {
65
70
  signal.throwIfAborted();
66
- const current = await this.inspect(config, signal), key = canonicalContentHash(config);
71
+ const current = await this.inspect(config, signal), key = readinessKey(config);
67
72
  if (current.state === 'unconfigured')
68
73
  return current;
69
74
  if (!force && ['ready', 'unavailable'].includes(current.state))
@@ -1 +1 @@
1
- {"version":3,"file":"readiness.js","sourceRoot":"","sources":["../../../src/dsh/decisions/readiness.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"readiness.js","sourceRoot":"","sources":["../../../src/dsh/decisions/readiness.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ /** TypeSafe Score is the probability-weighted rubric index, subject to wire rounding. */
2
+ export declare function consistentScore(score: number, probabilities: readonly number[]): boolean;
3
+ //# sourceMappingURL=score-consistency.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"score-consistency.d.ts","sourceRoot":"","sources":["../../../src/dsh/decisions/score-consistency.ts"],"names":[],"mappings":"AAAA,yFAAyF;AACzF,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAGxF"}
@@ -0,0 +1,6 @@
1
+ /** TypeSafe Score is the probability-weighted rubric index, subject to wire rounding. */
2
+ export function consistentScore(score, probabilities) {
3
+ const expected = probabilities.reduce((sum, probability, index) => sum + index * probability, 0);
4
+ return Number.isFinite(score) && Math.abs(score - expected) <= 0.001 * probabilities.length;
5
+ }
6
+ //# sourceMappingURL=score-consistency.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"score-consistency.js","sourceRoot":"","sources":["../../../src/dsh/decisions/score-consistency.ts"],"names":[],"mappings":"AAAA,yFAAyF;AACzF,MAAM,UAAU,eAAe,CAAC,KAAa,EAAE,aAAgC;IAC7E,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,GAAG,WAAW,EAAE,CAAC,CAAC,CAAA;IAChG,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,KAAK,GAAG,aAAa,CAAC,MAAM,CAAA;AAC7F,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { type SemanticCompactionConfiguration, type CompactionOutcome } from '../semantic-compaction/contracts.js';
2
2
  import type { SqliteDatabase } from '../../db/adapter.js';
3
- import { type DecisionProvider, type DecisionBatchResult } from './contracts.js';
3
+ import { type DecisionProvider, type DecisionBatchResult, type DecisionBatch } from './contracts.js';
4
4
  import { type DecisionConfiguration } from './config.js';
5
5
  import { type ReadinessOptions } from './readiness.js';
6
6
  import { type MemoryReuseConfiguration } from '../../memory/reuse.js';
@@ -12,6 +12,31 @@ export type DecisionOutcome = {
12
12
  status: 'fallback';
13
13
  reason: string;
14
14
  };
15
+ export interface DecisionObservation {
16
+ purpose: DecisionBatch['purpose'];
17
+ questionTypes: Record<string, number>;
18
+ provider: string;
19
+ requestedModel: string | null;
20
+ returnedModel: string | null;
21
+ policyVersion: string;
22
+ cacheHit: boolean;
23
+ selected: number;
24
+ measured: number;
25
+ abstained: number;
26
+ fallbackReason: string | null;
27
+ elapsedMs: number;
28
+ inputBytes: number;
29
+ inputTokens: number | null;
30
+ outputTokens: number | null;
31
+ memoryCandidates?: {
32
+ policy: string;
33
+ attempted: number;
34
+ applicable: number;
35
+ excluded: number;
36
+ uncertain: number;
37
+ unassessed: number;
38
+ };
39
+ }
15
40
  export interface DecisionStore {
16
41
  binding?(id: string): Promise<DecisionConfiguration | undefined>;
17
42
  bind(id: string, config: DecisionConfiguration): Promise<DecisionConfiguration>;
@@ -34,6 +59,7 @@ export declare class DecisionService {
34
59
  readonly memoryReuse: MemoryReuseConfiguration;
35
60
  readonly semanticCompaction: SemanticCompactionConfiguration;
36
61
  private readonly compactionMetrics;
62
+ private readonly decisionObservations;
37
63
  private observationStatus;
38
64
  private answerReviewStatus;
39
65
  private modelHandoffStatus;
@@ -59,6 +85,7 @@ export declare class DecisionService {
59
85
  repositoryRoot?: string;
60
86
  selectionStore?: DecisionSelectionStore;
61
87
  resolveConfiguration?: (config: DecisionConfiguration, signal: AbortSignal) => Promise<DecisionConfiguration>;
88
+ onEvaluation?: (observation: DecisionObservation) => void;
62
89
  });
63
90
  private memoryProvider;
64
91
  initialize(): Promise<void>;
@@ -69,9 +96,11 @@ export declare class DecisionService {
69
96
  selectProvider(provider: DecisionConfiguration['provider'] | 'default', signal: AbortSignal): Promise<void>;
70
97
  invalidateReadiness(): void;
71
98
  configurationDigest(): string;
99
+ skillSelection(requestId: string, signal: AbortSignal): Promise<DecisionConfiguration['skillSelection']>;
100
+ private observe;
72
101
  bind(requestId: string, signal?: AbortSignal): Promise<DecisionConfiguration>;
73
102
  alias(requestId: string, sourceId: string): Promise<void>;
74
103
  status(): unknown;
75
- evaluate(requestId: string, input: unknown, signal: AbortSignal, catalogDigest?: string): Promise<DecisionOutcome>;
104
+ evaluate(requestId: string, input: unknown, signal: AbortSignal, catalogDigest?: string, memoryCandidateTotal?: number): Promise<DecisionOutcome>;
76
105
  }
77
106
  //# sourceMappingURL=service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/dsh/decisions/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/dsh/decisions/service.ts"],"names":[],"mappings":"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"}