@harperfast/harper 5.3.0 → 5.3.1

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 (231) hide show
  1. package/bin/copyDb.ts +5 -1
  2. package/bin/deployRenderer.ts +3 -0
  3. package/components/Application.ts +66 -22
  4. package/components/DESIGN.md +89 -36
  5. package/components/componentLoader.ts +2 -0
  6. package/components/deploymentRecorder.ts +18 -1
  7. package/components/installFingerprint.ts +123 -0
  8. package/components/mcp/DESIGN.md +4 -4
  9. package/components/operations.js +29 -0
  10. package/config/DESIGN.md +5 -5
  11. package/dataLayer/DESIGN.md +37 -22
  12. package/dataLayer/backupRepository.ts +248 -0
  13. package/dataLayer/restoreMarker.ts +30 -75
  14. package/dataLayer/rocksdbBackup.ts +253 -110
  15. package/dist/bin/copyDb.js +3 -0
  16. package/dist/bin/copyDb.js.map +1 -1
  17. package/dist/bin/deployRenderer.js +3 -0
  18. package/dist/bin/deployRenderer.js.map +1 -1
  19. package/dist/components/Application.d.ts +5 -0
  20. package/dist/components/Application.js +51 -19
  21. package/dist/components/Application.js.map +1 -1
  22. package/dist/components/componentLoader.js +2 -0
  23. package/dist/components/componentLoader.js.map +1 -1
  24. package/dist/components/deploymentRecorder.js +18 -1
  25. package/dist/components/deploymentRecorder.js.map +1 -1
  26. package/dist/components/installFingerprint.d.ts +39 -0
  27. package/dist/components/installFingerprint.js +113 -0
  28. package/dist/components/installFingerprint.js.map +1 -0
  29. package/dist/components/operations.d.ts +2 -0
  30. package/dist/components/operations.js +31 -0
  31. package/dist/components/operations.js.map +1 -1
  32. package/dist/dataLayer/backupRepository.d.ts +33 -0
  33. package/dist/dataLayer/backupRepository.js +232 -0
  34. package/dist/dataLayer/backupRepository.js.map +1 -0
  35. package/dist/dataLayer/restoreMarker.d.ts +4 -1
  36. package/dist/dataLayer/restoreMarker.js +29 -68
  37. package/dist/dataLayer/restoreMarker.js.map +1 -1
  38. package/dist/dataLayer/rocksdbBackup.js +221 -112
  39. package/dist/dataLayer/rocksdbBackup.js.map +1 -1
  40. package/dist/index.d.ts +1 -0
  41. package/dist/index.js.map +1 -1
  42. package/dist/json/systemSchema.json +14 -0
  43. package/dist/resources/DatabaseTransaction.d.ts +140 -11
  44. package/dist/resources/DatabaseTransaction.js +1055 -464
  45. package/dist/resources/DatabaseTransaction.js.map +1 -1
  46. package/dist/resources/IterableEventQueue.d.ts +2 -1
  47. package/dist/resources/IterableEventQueue.js +16 -8
  48. package/dist/resources/IterableEventQueue.js.map +1 -1
  49. package/dist/resources/LMDBTransaction.d.ts +13 -2
  50. package/dist/resources/LMDBTransaction.js +219 -93
  51. package/dist/resources/LMDBTransaction.js.map +1 -1
  52. package/dist/resources/RecordEncoder.js +2 -3
  53. package/dist/resources/RecordEncoder.js.map +1 -1
  54. package/dist/resources/Resource.js +5 -6
  55. package/dist/resources/Resource.js.map +1 -1
  56. package/dist/resources/ResourceInterface.d.ts +3 -1
  57. package/dist/resources/ResourceInterface.js.map +1 -1
  58. package/dist/resources/RocksIndexStore.d.ts +2 -1
  59. package/dist/resources/RocksIndexStore.js +3 -0
  60. package/dist/resources/RocksIndexStore.js.map +1 -1
  61. package/dist/resources/Table.js +116 -12
  62. package/dist/resources/Table.js.map +1 -1
  63. package/dist/resources/analytics/write.js +6 -2
  64. package/dist/resources/analytics/write.js.map +1 -1
  65. package/dist/resources/auditStore.d.ts +71 -17
  66. package/dist/resources/auditStore.js +248 -64
  67. package/dist/resources/auditStore.js.map +1 -1
  68. package/dist/resources/branchDatabase.js +2 -0
  69. package/dist/resources/branchDatabase.js.map +1 -1
  70. package/dist/resources/databases.js +8 -2
  71. package/dist/resources/databases.js.map +1 -1
  72. package/dist/resources/indexes/fullTextNativeBinding.d.ts +6 -2
  73. package/dist/resources/indexes/fullTextNativeBinding.js +12 -2
  74. package/dist/resources/indexes/fullTextNativeBinding.js.map +1 -1
  75. package/dist/resources/indexes/fullTextQueryIndex.d.ts +4 -0
  76. package/dist/resources/indexes/fullTextQueryIndex.js +207 -10
  77. package/dist/resources/indexes/fullTextQueryIndex.js.map +1 -1
  78. package/dist/resources/models/Models.d.ts +11 -0
  79. package/dist/resources/models/Models.js +95 -4
  80. package/dist/resources/models/Models.js.map +1 -1
  81. package/dist/resources/models/backendRegistry.d.ts +8 -0
  82. package/dist/resources/models/backendRegistry.js +15 -1
  83. package/dist/resources/models/backendRegistry.js.map +1 -1
  84. package/dist/resources/models/bootstrap.d.ts +2 -0
  85. package/dist/resources/models/bootstrap.js +6 -0
  86. package/dist/resources/models/bootstrap.js.map +1 -1
  87. package/dist/resources/models/calibration.d.ts +88 -0
  88. package/dist/resources/models/calibration.js +244 -0
  89. package/dist/resources/models/calibration.js.map +1 -0
  90. package/dist/resources/models/calibrationStore.d.ts +163 -0
  91. package/dist/resources/models/calibrationStore.js +986 -0
  92. package/dist/resources/models/calibrationStore.js.map +1 -0
  93. package/dist/resources/models/decisionStore.d.ts +24 -0
  94. package/dist/resources/models/decisionStore.js +45 -0
  95. package/dist/resources/models/decisionStore.js.map +1 -1
  96. package/dist/resources/models/generativeDecision.js +44 -15
  97. package/dist/resources/models/generativeDecision.js.map +1 -1
  98. package/dist/resources/models/types.d.ts +7 -0
  99. package/dist/resources/recordLock.d.ts +8 -5
  100. package/dist/resources/recordLock.js +6 -4
  101. package/dist/resources/recordLock.js.map +1 -1
  102. package/dist/resources/replayLogs.js +8 -1
  103. package/dist/resources/replayLogs.js.map +1 -1
  104. package/dist/resources/scheduler/engine.d.ts +4 -0
  105. package/dist/resources/scheduler/engine.js +30 -2
  106. package/dist/resources/scheduler/engine.js.map +1 -1
  107. package/dist/resources/search.d.ts +16 -4
  108. package/dist/resources/search.js +117 -13
  109. package/dist/resources/search.js.map +1 -1
  110. package/dist/resources/transaction.js +85 -5
  111. package/dist/resources/transaction.js.map +1 -1
  112. package/dist/resources/transactionBroadcast.d.ts +8 -0
  113. package/dist/resources/transactionBroadcast.js +65 -0
  114. package/dist/resources/transactionBroadcast.js.map +1 -1
  115. package/dist/security/keys.d.ts +1 -1
  116. package/dist/security/keys.js +170 -120
  117. package/dist/security/keys.js.map +1 -1
  118. package/dist/server/http.js +10 -0
  119. package/dist/server/http.js.map +1 -1
  120. package/dist/server/serverHelpers/Request.js +11 -2
  121. package/dist/server/serverHelpers/Request.js.map +1 -1
  122. package/dist/server/serverHelpers/contentTypes.js +8 -3
  123. package/dist/server/serverHelpers/contentTypes.js.map +1 -1
  124. package/dist/server/serverHelpers/uwsServer.js +38 -7
  125. package/dist/server/serverHelpers/uwsServer.js.map +1 -1
  126. package/dist/server/threads/manageThreads.d.ts +3 -3
  127. package/dist/server/threads/manageThreads.js +15 -13
  128. package/dist/server/threads/manageThreads.js.map +1 -1
  129. package/dist/server/threads/threadServer.d.ts +3 -0
  130. package/dist/server/threads/threadServer.js +24 -6
  131. package/dist/server/threads/threadServer.js.map +1 -1
  132. package/dist/upgrade/directives/5-3-0.js +9 -3
  133. package/dist/upgrade/directives/5-3-0.js.map +1 -1
  134. package/dist/utility/durableFile.d.ts +36 -0
  135. package/dist/utility/durableFile.js +106 -0
  136. package/dist/utility/durableFile.js.map +1 -0
  137. package/dist/utility/errors/hdbError.d.ts +4 -0
  138. package/dist/utility/errors/hdbError.js +10 -1
  139. package/dist/utility/errors/hdbError.js.map +1 -1
  140. package/dist/utility/globalSchema.d.ts +9 -0
  141. package/dist/utility/hdbTerms.d.ts +1 -0
  142. package/dist/utility/hdbTerms.js +1 -0
  143. package/dist/utility/hdbTerms.js.map +1 -1
  144. package/dist/validation/configValidator.js +29 -0
  145. package/dist/validation/configValidator.js.map +1 -1
  146. package/index.ts +7 -0
  147. package/json/systemSchema.json +14 -0
  148. package/npm-shrinkwrap.json +22 -22
  149. package/package.json +2 -2
  150. package/resources/DESIGN.md +57 -272
  151. package/resources/DatabaseTransaction.ts +708 -87
  152. package/resources/FULL_TEXT.md +6 -2
  153. package/resources/IterableEventQueue.ts +14 -7
  154. package/resources/LMDBTransaction.ts +212 -84
  155. package/resources/RecordEncoder.ts +2 -3
  156. package/resources/Resource.ts +5 -6
  157. package/resources/ResourceInterface.ts +3 -1
  158. package/resources/RocksIndexStore.ts +5 -0
  159. package/resources/Table.ts +118 -15
  160. package/resources/analytics/write.ts +6 -2
  161. package/resources/audit-retention.md +203 -0
  162. package/resources/auditStore.ts +306 -84
  163. package/resources/branchDatabase.ts +2 -0
  164. package/resources/databases.ts +6 -2
  165. package/resources/indexes/DESIGN.md +120 -177
  166. package/resources/indexes/fullTextNativeBinding.ts +22 -3
  167. package/resources/indexes/fullTextQueryIndex.ts +274 -11
  168. package/resources/models/DESIGN.md +11 -3
  169. package/resources/models/Models.ts +127 -4
  170. package/resources/models/backendRegistry.ts +17 -0
  171. package/resources/models/bootstrap.ts +9 -1
  172. package/resources/models/calibration.ts +298 -0
  173. package/resources/models/calibrationStore.ts +1167 -0
  174. package/resources/models/decisionStore.ts +57 -0
  175. package/resources/models/generativeDecision.ts +54 -16
  176. package/resources/models/types.ts +6 -0
  177. package/resources/record-locks.md +155 -141
  178. package/resources/recordLock.ts +12 -6
  179. package/resources/replayLogs.ts +9 -2
  180. package/resources/scheduler/DESIGN.md +4 -3
  181. package/resources/scheduler/engine.ts +35 -2
  182. package/resources/search.ts +154 -16
  183. package/resources/transaction.ts +50 -5
  184. package/resources/transactionBroadcast.ts +69 -0
  185. package/security/DESIGN.md +9 -30
  186. package/security/keys.ts +175 -127
  187. package/server/DESIGN.md +70 -36
  188. package/server/http.ts +10 -0
  189. package/server/serverHelpers/Request.ts +10 -2
  190. package/server/serverHelpers/contentTypes.ts +5 -3
  191. package/server/serverHelpers/uwsServer.ts +34 -7
  192. package/server/threads/manageThreads.js +16 -14
  193. package/server/threads/threadServer.js +24 -6
  194. package/studio/web/assets/{Chat-CNEKMllJ.js → Chat-4LMxI0yB.js} +1 -1
  195. package/studio/web/assets/{FloatingChat-CEnWhHeR.js → FloatingChat-kWHApEtF.js} +3 -3
  196. package/studio/web/assets/{SearchDialog-CwhJdEdY.js → SearchDialog-B7ymna97.js} +1 -1
  197. package/studio/web/assets/{apiToken-DC5vsaaO.js → apiToken-CE3AAt9f.js} +1 -1
  198. package/studio/web/assets/{applications-DQZxDy0x.js → applications-DdN7CqsB.js} +1 -1
  199. package/studio/web/assets/{cssMode-Dz2DxF4e.js → cssMode-BpySZUSt.js} +1 -1
  200. package/studio/web/assets/{editor-B3mjd3tz.js → editor-myLCVv9C.js} +1 -1
  201. package/studio/web/assets/{html-BsRGM7tp.js → html-DGNYO55O.js} +1 -1
  202. package/studio/web/assets/{htmlMode-tUKJaA3o.js → htmlMode-BUgpQr41.js} +1 -1
  203. package/studio/web/assets/{index-BuqFjN5K.js → index-FN4KC9va.js} +39 -39
  204. package/studio/web/assets/index-QLZw6xrU.css +1 -0
  205. package/studio/web/assets/{index.lazy-CcpfQFY_.js → index.lazy-DZFuaumG.js} +1 -1
  206. package/studio/web/assets/{javascript-BZ_uRGHl.js → javascript-DiBzh4pj.js} +1 -1
  207. package/studio/web/assets/{jsonMode-DgB-aFMj.js → jsonMode-Bm312nmu.js} +1 -1
  208. package/studio/web/assets/{languageServices-BleuBw17.js → languageServices-Dz2K9rZN.js} +1 -1
  209. package/studio/web/assets/{lspLanguageFeatures-ByVYLSsQ.js → lspLanguageFeatures-CNu1L5xn.js} +1 -1
  210. package/studio/web/assets/{notifications-TuzN0IMi.js → notifications--nwFLGmM.js} +1 -1
  211. package/studio/web/assets/{notifications-D1Nf-Edn.js → notifications-BelKw5bR.js} +1 -1
  212. package/studio/web/assets/{profile-D7C7Lupz.js → profile-AU5FjOBx.js} +1 -1
  213. package/studio/web/assets/{regions-nGQCm-v8.js → regions-C0sTSEHH.js} +1 -1
  214. package/studio/web/assets/{register-C3x9Ze6P.js → register-DyNR2rGk.js} +2 -2
  215. package/studio/web/assets/{setComponentFile-DpjrRqeG.js → setComponentFile-BkWx8AN3.js} +1 -1
  216. package/studio/web/assets/{setup-CGiKLZ9e.js → setup-D6LZS78d.js} +2 -2
  217. package/studio/web/assets/{status-CGJwrNPH.js → status-BCWnn70o.js} +1 -1
  218. package/studio/web/assets/{toggleHighContrast-C-Ne6P7T.js → toggleHighContrast-pyeGJ6W1.js} +1 -1
  219. package/studio/web/assets/{tsMode-CSreYTys.js → tsMode-CGV3iaWC.js} +1 -1
  220. package/studio/web/assets/{typescript-MnxBk89W.js → typescript-Ci7Khvwo.js} +1 -1
  221. package/studio/web/assets/{useEntityRestURL-TNrh77-s.js → useEntityRestURL-DNiz3aZ0.js} +1 -1
  222. package/studio/web/assets/{workers-BfZlUNVI.js → workers-byzxjbqy.js} +1 -1
  223. package/studio/web/assets/{xml-BHd6qGH7.js → xml-DGnHQ3CX.js} +1 -1
  224. package/studio/web/assets/{yaml-C53R8OQq.js → yaml-BUoTnPWb.js} +1 -1
  225. package/studio/web/index.html +2 -2
  226. package/upgrade/directives/5-3-0.ts +10 -3
  227. package/utility/durableFile.ts +96 -0
  228. package/utility/errors/hdbError.ts +9 -0
  229. package/utility/hdbTerms.ts +1 -0
  230. package/validation/configValidator.ts +31 -0
  231. package/studio/web/assets/index-72cEH474.css +0 -1
@@ -53,6 +53,7 @@ const index_ts_2 = require("../../components/openai/index.js");
53
53
  const index_ts_3 = require("../../components/anthropic/index.js");
54
54
  const index_ts_4 = require("../../components/bedrock/index.js");
55
55
  const decisionStore_ts_1 = require("./decisionStore.js");
56
+ const calibrationStore_ts_1 = require("./calibrationStore.js");
56
57
  const node_path_1 = require("node:path");
57
58
  const node_url_1 = require("node:url");
58
59
  const node_module_1 = require("node:module");
@@ -210,6 +211,10 @@ function collectKind(kind, entries, out, present) {
210
211
  function publishEntry(desiredEntry, backend, extras, isBoot) {
211
212
  const { kind, logicalName, entry, entryJson } = desiredEntry;
212
213
  const key = slotKey(kind, logicalName);
214
+ const sourceConfig = desiredEntry.configJson ? JSON.parse(desiredEntry.configJson) : entry;
215
+ (0, backendRegistry_ts_1.setBackendSource)(backend, (0, decisionStore_ts_1.sourceFingerprint)(kind, logicalName, sourceConfig));
216
+ for (const extra of extras)
217
+ (0, backendRegistry_ts_1.setBackendSource)(extra.backend, (0, decisionStore_ts_1.sourceFingerprint)(extra.kind, extra.logicalName, sourceConfig));
213
218
  // Boot overwrites occupants (the documented contract); a reload replaces only what this
214
219
  // projection installed — or a helper the projection installed under this name, which a config
215
220
  // entry outranks — so genuine application overrides survive.
@@ -425,6 +430,7 @@ async function applyModels(block, isBoot) {
425
430
  }
426
431
  }
427
432
  (0, decisionStore_ts_1.setModelsConfigHash)(installedConfiguration());
433
+ (0, calibrationStore_ts_1.configureCalibration)(block?.calibration);
428
434
  }
429
435
  function installedConfiguration() {
430
436
  const configuration = {};
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../../resources/models/bootstrap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../../resources/models/bootstrap.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,88 @@
1
+ import type { DecisionOutcome } from './types.ts';
2
+ export declare const SELECTIVE_THRESHOLDS: readonly [0.5, 0.6, 0.7, 0.8, 0.9, 0.95];
3
+ export declare const MIN_TEMPERATURE = 0.05;
4
+ export declare const MAX_TEMPERATURE = 20;
5
+ /** The `truth` of an example whose recorded truth is `noMatch`: counted by operational risk only. */
6
+ export declare const NO_MATCH_TRUTH = -1;
7
+ export interface CalibrationParams {
8
+ t: number;
9
+ epsilon: number;
10
+ }
11
+ export interface Example {
12
+ probabilities: number[];
13
+ truth: number;
14
+ /** Index of the value the decision returned; among tied scores it need not be the first. */
15
+ chosen?: number;
16
+ }
17
+ export interface SelectivePoint {
18
+ threshold: number;
19
+ count: number;
20
+ coverage: number;
21
+ risk: number | null;
22
+ riskUpper: number | null;
23
+ }
24
+ export interface ReliabilityBin {
25
+ count: number;
26
+ confidence: number | null;
27
+ accuracy: number | null;
28
+ }
29
+ export interface Reliability {
30
+ ece: number;
31
+ nll: number;
32
+ bins: ReliabilityBin[];
33
+ /** Among examples whose truth is an allowed value: the population a fit is trained on. */
34
+ conditional: SelectivePoint[];
35
+ /** Among all examples, where a `noMatch` truth above the threshold counts as an error. */
36
+ operational: SelectivePoint[];
37
+ }
38
+ /** What produced a decision's scores and whose outcomes it answers to; any change is a new population. */
39
+ export interface Population {
40
+ tenant?: string;
41
+ app?: string;
42
+ model: string;
43
+ entry: string;
44
+ signature: string;
45
+ instructionsHash?: string;
46
+ schemaHash: string;
47
+ }
48
+ export interface FitPolicy {
49
+ minReport: number;
50
+ minTrain: number;
51
+ minHeldOut: number;
52
+ heldOutShare: number;
53
+ eceMargin: number;
54
+ maxAgeMs: number;
55
+ }
56
+ export declare function populationKey(population: Population): string;
57
+ /** Orders a population's decisions newest first under one indexed prefix, so a run reads only the newest it needs. */
58
+ export declare function populationRank(population: string, expiresAt: number, id: string): string;
59
+ export declare function calibrationKey(population: string, field: string | undefined): string;
60
+ /** Identical inputs, policy and result give an identical id, so a repeated run writes nothing new. */
61
+ export declare function fitId(key: string, inputDigest: string, policy: FitPolicy, result: object): string;
62
+ export declare function policyDigest(policy: FitPolicy): string;
63
+ export declare function inputDigester(): {
64
+ add(part: unknown): void;
65
+ digest(): string;
66
+ };
67
+ /**
68
+ * Smoothing mass for a distribution: half a vote per value for a voted distribution, so a value no
69
+ * sample chose keeps a finite log; a numerical guard otherwise.
70
+ */
71
+ export declare function smoothingEpsilon(signature: string | undefined): number;
72
+ /** A replicated row is not trusted to be well formed. */
73
+ export declare function isValidParams(params: unknown): params is CalibrationParams;
74
+ /** Strictly increasing in each value's raw score, so ties stay tied and the winner never moves. */
75
+ export declare function applyCalibration(probabilities: number[], params: CalibrationParams): number[];
76
+ /**
77
+ * The temperature minimizing negative log-likelihood on `train` (examples with an allowed-value truth),
78
+ * by golden-section search over `log t`. Yields between iterations; undefined when `deadline` passes first.
79
+ */
80
+ export declare function fitCalibration(train: Example[], epsilon: number, deadline: number, now?: () => number): Promise<CalibrationParams | undefined>;
81
+ export declare function wilsonUpper(errors: number, count: number): number | null;
82
+ export declare function reliability(examples: Example[], transform: (p: number[]) => number[]): Reliability;
83
+ /** Oldest first; the newest `heldOutShare` is held out, so a refit is judged on decisions newer than any it trained on. */
84
+ export declare function splitByTime<E>(ordered: E[], heldOutShare: number): {
85
+ train: E[];
86
+ heldOut: E[];
87
+ };
88
+ export declare function toVector(distribution: DecisionOutcome[] | undefined, values: readonly unknown[]): number[] | undefined;
@@ -0,0 +1,244 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NO_MATCH_TRUTH = exports.MAX_TEMPERATURE = exports.MIN_TEMPERATURE = exports.SELECTIVE_THRESHOLDS = void 0;
4
+ exports.populationKey = populationKey;
5
+ exports.populationRank = populationRank;
6
+ exports.calibrationKey = calibrationKey;
7
+ exports.fitId = fitId;
8
+ exports.policyDigest = policyDigest;
9
+ exports.inputDigester = inputDigester;
10
+ exports.smoothingEpsilon = smoothingEpsilon;
11
+ exports.isValidParams = isValidParams;
12
+ exports.applyCalibration = applyCalibration;
13
+ exports.fitCalibration = fitCalibration;
14
+ exports.wilsonUpper = wilsonUpper;
15
+ exports.reliability = reliability;
16
+ exports.splitByTime = splitByTime;
17
+ exports.toVector = toVector;
18
+ const node_crypto_1 = require("node:crypto");
19
+ const promises_1 = require("node:timers/promises");
20
+ const decision_ts_1 = require("./decision.js");
21
+ exports.SELECTIVE_THRESHOLDS = [0.5, 0.6, 0.7, 0.8, 0.9, 0.95];
22
+ const ECE_BINS = 10;
23
+ const SCORED_EPSILON = 1e-9;
24
+ const DEFAULT_VOTE_SAMPLES = 5;
25
+ const WILSON_Z = 1.96;
26
+ const GOLDEN_ITERATIONS = 60;
27
+ exports.MIN_TEMPERATURE = 0.05;
28
+ exports.MAX_TEMPERATURE = 20;
29
+ /** The `truth` of an example whose recorded truth is `noMatch`: counted by operational risk only. */
30
+ exports.NO_MATCH_TRUTH = -1;
31
+ function digest(value) {
32
+ return (0, node_crypto_1.createHash)('sha256').update((0, decision_ts_1.canonicalJson)(value)).digest('hex');
33
+ }
34
+ function populationKey(population) {
35
+ return digest({
36
+ tenant: population.tenant ?? null,
37
+ app: population.app ?? null,
38
+ model: population.model,
39
+ entry: population.entry,
40
+ signature: population.signature,
41
+ instructionsHash: population.instructionsHash ?? null,
42
+ schemaHash: population.schemaHash,
43
+ });
44
+ }
45
+ /** Orders a population's decisions newest first under one indexed prefix, so a run reads only the newest it needs. */
46
+ function populationRank(population, expiresAt, id) {
47
+ return `${population}|${String(Math.max(0, Math.floor(expiresAt))).padStart(16, '0')}|${id}`;
48
+ }
49
+ function calibrationKey(population, field) {
50
+ return digest({ population, field: field ?? null });
51
+ }
52
+ /** Identical inputs, policy and result give an identical id, so a repeated run writes nothing new. */
53
+ function fitId(key, inputDigest, policy, result) {
54
+ return digest({ key, inputDigest, policy, result });
55
+ }
56
+ function policyDigest(policy) {
57
+ return digest(policy);
58
+ }
59
+ function inputDigester() {
60
+ const hash = (0, node_crypto_1.createHash)('sha256');
61
+ return {
62
+ add(part) {
63
+ hash.update((0, decision_ts_1.canonicalJson)(part));
64
+ hash.update('\n');
65
+ },
66
+ digest: () => hash.digest('hex'),
67
+ };
68
+ }
69
+ /**
70
+ * Smoothing mass for a distribution: half a vote per value for a voted distribution, so a value no
71
+ * sample chose keeps a finite log; a numerical guard otherwise.
72
+ */
73
+ function smoothingEpsilon(signature) {
74
+ if (!signature || !/(^|;)mode=vote(;|$)/.test(signature))
75
+ return SCORED_EPSILON;
76
+ const samples = Number(/(?:^|;)samples=(\d+)(?:;|$)/.exec(signature)?.[1]);
77
+ return 0.5 / (Number.isInteger(samples) && samples > 0 ? samples : DEFAULT_VOTE_SAMPLES);
78
+ }
79
+ /** A replicated row is not trusted to be well formed. */
80
+ function isValidParams(params) {
81
+ if (!params || typeof params !== 'object')
82
+ return false;
83
+ const { t, epsilon } = params;
84
+ return (typeof t === 'number' &&
85
+ Number.isFinite(t) &&
86
+ t >= exports.MIN_TEMPERATURE &&
87
+ t <= exports.MAX_TEMPERATURE &&
88
+ typeof epsilon === 'number' &&
89
+ Number.isFinite(epsilon) &&
90
+ epsilon > 0 &&
91
+ epsilon < 1);
92
+ }
93
+ /** Strictly increasing in each value's raw score, so ties stay tied and the winner never moves. */
94
+ function applyCalibration(probabilities, params) {
95
+ const k = probabilities.length;
96
+ const inverse = 1 / params.t;
97
+ const logs = new Array(k);
98
+ let max = -Infinity;
99
+ for (let i = 0; i < k; i++) {
100
+ logs[i] = Math.log((Math.max(0, probabilities[i]) + params.epsilon) / (1 + k * params.epsilon)) * inverse;
101
+ if (logs[i] > max)
102
+ max = logs[i];
103
+ }
104
+ let total = 0;
105
+ for (let i = 0; i < k; i++) {
106
+ logs[i] = Math.exp(logs[i] - max);
107
+ total += logs[i];
108
+ }
109
+ for (let i = 0; i < k; i++)
110
+ logs[i] /= total;
111
+ return logs;
112
+ }
113
+ function meanNll(examples, params) {
114
+ let total = 0;
115
+ for (const example of examples) {
116
+ total -= Math.log(Math.max(applyCalibration(example.probabilities, params)[example.truth], 1e-15));
117
+ }
118
+ return total / examples.length;
119
+ }
120
+ /**
121
+ * The temperature minimizing negative log-likelihood on `train` (examples with an allowed-value truth),
122
+ * by golden-section search over `log t`. Yields between iterations; undefined when `deadline` passes first.
123
+ */
124
+ async function fitCalibration(train, epsilon, deadline, now = Date.now) {
125
+ const f = (x) => meanNll(train, { t: Math.exp(x), epsilon });
126
+ const ratio = (Math.sqrt(5) - 1) / 2;
127
+ let a = Math.log(exports.MIN_TEMPERATURE);
128
+ let b = Math.log(exports.MAX_TEMPERATURE);
129
+ let c = b - ratio * (b - a);
130
+ let d = a + ratio * (b - a);
131
+ let fc = f(c);
132
+ let fd = f(d);
133
+ for (let i = 0; i < GOLDEN_ITERATIONS; i++) {
134
+ await (0, promises_1.setImmediate)();
135
+ if (now() >= deadline)
136
+ return undefined;
137
+ if (fc < fd) {
138
+ b = d;
139
+ d = c;
140
+ fd = fc;
141
+ c = b - ratio * (b - a);
142
+ fc = f(c);
143
+ }
144
+ else {
145
+ a = c;
146
+ c = d;
147
+ fc = fd;
148
+ d = a + ratio * (b - a);
149
+ fd = f(d);
150
+ }
151
+ }
152
+ return { t: Math.exp((a + b) / 2), epsilon };
153
+ }
154
+ function argmax(p) {
155
+ let top = 0;
156
+ for (let i = 1; i < p.length; i++)
157
+ if (p[i] > p[top])
158
+ top = i;
159
+ return top;
160
+ }
161
+ function wilsonUpper(errors, count) {
162
+ if (count === 0)
163
+ return null;
164
+ const p = errors / count;
165
+ const z2 = WILSON_Z * WILSON_Z;
166
+ const centre = p + z2 / (2 * count);
167
+ const margin = WILSON_Z * Math.sqrt((p * (1 - p)) / count + z2 / (4 * count * count));
168
+ return Math.min(1, (centre + margin) / (1 + z2 / count));
169
+ }
170
+ function selective(tops, total) {
171
+ return exports.SELECTIVE_THRESHOLDS.map((threshold) => {
172
+ let count = 0;
173
+ let errors = 0;
174
+ for (const top of tops) {
175
+ if (top.confidence < threshold)
176
+ continue;
177
+ count++;
178
+ if (!top.correct)
179
+ errors++;
180
+ }
181
+ return {
182
+ threshold,
183
+ count,
184
+ coverage: total ? count / total : 0,
185
+ risk: count ? errors / count : null,
186
+ riskUpper: wilsonUpper(errors, count),
187
+ };
188
+ });
189
+ }
190
+ function reliability(examples, transform) {
191
+ const sums = Array.from({ length: ECE_BINS }, () => ({ count: 0, confidence: 0, correct: 0 }));
192
+ const inSet = [];
193
+ const all = [];
194
+ let nll = 0;
195
+ for (const example of examples) {
196
+ const p = transform(example.probabilities);
197
+ const top = example.chosen ?? argmax(p);
198
+ const confidence = p[top];
199
+ if (example.truth === exports.NO_MATCH_TRUTH) {
200
+ all.push({ confidence, correct: false });
201
+ continue;
202
+ }
203
+ const correct = top === example.truth;
204
+ const bin = sums[Math.min(ECE_BINS - 1, Math.floor(confidence * ECE_BINS))];
205
+ bin.count++;
206
+ bin.confidence += confidence;
207
+ bin.correct += correct ? 1 : 0;
208
+ inSet.push({ confidence, correct });
209
+ all.push({ confidence, correct });
210
+ nll -= Math.log(Math.max(p[example.truth], 1e-15));
211
+ }
212
+ const n = inSet.length;
213
+ let ece = 0;
214
+ for (const bin of sums)
215
+ if (bin.count && n)
216
+ ece += Math.abs(bin.confidence - bin.correct) / n;
217
+ return {
218
+ ece,
219
+ nll: n ? nll / n : 0,
220
+ bins: sums.map(({ count, confidence, correct }) => ({
221
+ count,
222
+ confidence: count ? confidence / count : null,
223
+ accuracy: count ? correct / count : null,
224
+ })),
225
+ conditional: selective(inSet, n),
226
+ operational: selective(all, all.length),
227
+ };
228
+ }
229
+ /** Oldest first; the newest `heldOutShare` is held out, so a refit is judged on decisions newer than any it trained on. */
230
+ function splitByTime(ordered, heldOutShare) {
231
+ const heldOutCount = Math.floor(ordered.length * heldOutShare);
232
+ return {
233
+ train: ordered.slice(0, ordered.length - heldOutCount),
234
+ heldOut: ordered.slice(ordered.length - heldOutCount),
235
+ };
236
+ }
237
+ function toVector(distribution, values) {
238
+ if (!Array.isArray(distribution))
239
+ return undefined;
240
+ const byValue = new Map(distribution.map((entry) => [(0, decision_ts_1.canonicalJson)(entry.value), entry.probability]));
241
+ const vector = values.map((value) => byValue.get((0, decision_ts_1.canonicalJson)(value)));
242
+ return vector.every((p) => typeof p === 'number' && Number.isFinite(p)) ? vector : undefined;
243
+ }
244
+ //# sourceMappingURL=calibration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calibration.js","sourceRoot":"","sources":["../../../resources/models/calibration.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,163 @@
1
+ import { type FitPolicy, type Population, type Reliability } from './calibration.ts';
2
+ import type { Decision, DecisionOutcome, DecisionSchema, FieldDecision } from './types.ts';
3
+ export declare const CALIBRATIONS_TABLE = "hdb_model_calibrations";
4
+ export interface CalibrationConfig {
5
+ interval?: number;
6
+ maxDecisions?: number;
7
+ maxPopulations?: number;
8
+ maxExamplesPerKey?: number;
9
+ maxBytes?: number;
10
+ maxLoads?: number;
11
+ maxRunMs?: number;
12
+ minReport?: number;
13
+ minTrain?: number;
14
+ minHeldOut?: number;
15
+ heldOutShare?: number;
16
+ eceMargin?: number;
17
+ maxAgeMs?: number;
18
+ }
19
+ /** What a single run may override: its budgets. The fit policy always comes from configuration. */
20
+ export type CalibrationBudgets = Pick<CalibrationConfig, 'maxDecisions' | 'maxPopulations' | 'maxExamplesPerKey' | 'maxBytes' | 'maxRunMs'>;
21
+ export interface CalibrationReport {
22
+ /** `heldOut` when a fit was evaluated; `all` when there were too few labels to fit, so every labelled decision is described. */
23
+ window: 'heldOut' | 'all';
24
+ labelled: number;
25
+ noMatchCount: number;
26
+ trainCount: number;
27
+ heldOutCount: number;
28
+ raw: Reliability;
29
+ calibrated?: Reliability;
30
+ }
31
+ export interface CalibrationRow extends Population {
32
+ id: string;
33
+ kind: 'fit';
34
+ key: string;
35
+ rank: string;
36
+ population: string;
37
+ field?: string;
38
+ t: number;
39
+ epsilon: number;
40
+ cutoff: number;
41
+ evidenceAt: number;
42
+ fittedAt: number;
43
+ applyUntil: number;
44
+ expiresAt: number;
45
+ eligible: boolean;
46
+ reason?: 'too-few-labels' | 'no-improvement' | 'no-match-schema';
47
+ policy: FitPolicy;
48
+ policyDigest: string;
49
+ inputDigest: string;
50
+ decisions: number;
51
+ labelled: number;
52
+ report?: CalibrationReport;
53
+ }
54
+ export interface CalibrationRunResult {
55
+ status: 'completed' | 'failed';
56
+ error?: string;
57
+ scanned: number;
58
+ read: number;
59
+ discovered: number;
60
+ processed: number;
61
+ pending: number;
62
+ written: number;
63
+ eligible: number;
64
+ skipped: number;
65
+ failed: number;
66
+ stoppedBy?: 'maxDecisions' | 'maxPopulations' | 'maxRunMs' | 'maxBytes';
67
+ reachedAt?: number;
68
+ durationMs: number;
69
+ }
70
+ export interface CalibrationSummary {
71
+ model: string;
72
+ field?: string;
73
+ population: string;
74
+ signature: string;
75
+ instructionsHash?: string;
76
+ schemaHash: string;
77
+ fittedAt: number;
78
+ applyUntil: number;
79
+ eligible: boolean;
80
+ applied: boolean;
81
+ reason?: string;
82
+ decisions: number;
83
+ labelled: number;
84
+ t: number;
85
+ report?: CalibrationReport;
86
+ }
87
+ export declare const CALIBRATION_ATTRIBUTES: ({
88
+ name: string;
89
+ isPrimaryKey: boolean;
90
+ type?: undefined;
91
+ indexed?: undefined;
92
+ expiresAt?: undefined;
93
+ } | {
94
+ name: string;
95
+ type: string;
96
+ indexed: boolean;
97
+ isPrimaryKey?: undefined;
98
+ expiresAt?: undefined;
99
+ } | {
100
+ name: string;
101
+ type: string;
102
+ isPrimaryKey?: undefined;
103
+ indexed?: undefined;
104
+ expiresAt?: undefined;
105
+ } | {
106
+ name: string;
107
+ isPrimaryKey?: undefined;
108
+ type?: undefined;
109
+ indexed?: undefined;
110
+ expiresAt?: undefined;
111
+ } | {
112
+ name: string;
113
+ expiresAt: boolean;
114
+ indexed: boolean;
115
+ isPrimaryKey?: undefined;
116
+ type?: undefined;
117
+ })[];
118
+ /** Declared like the decision tables: a read-only node takes what the catalog holds and declares nothing. */
119
+ export declare function getCalibrationsTable(readOnly?: boolean): any;
120
+ export declare function resetCalibrationsTable(): void;
121
+ export declare function declareCalibrationsTableAtBoot(): void;
122
+ export declare function isCalibrationEnabled(): boolean;
123
+ /**
124
+ * Apply the `models.calibration` block. Present: fits apply on every worker, and the application primary
125
+ * worker registers the cluster-once job. Absent: nothing applies and the job is removed.
126
+ */
127
+ export declare function configureCalibration(block: CalibrationConfig | null | undefined, primary?: boolean): void;
128
+ export declare function calibrationJob(): Promise<void>;
129
+ export declare function resetCalibrationCache(): void;
130
+ export declare function outstandingCalibrationReads(): number;
131
+ export declare function setCalibrationReadForTests(read: ((key: string) => Promise<CalibrationRow | null>) | undefined): void;
132
+ export interface CalibrationSnapshot {
133
+ field?: string;
134
+ fitId: string;
135
+ t: number;
136
+ epsilon: number;
137
+ }
138
+ export interface AppliedCalibration<T> {
139
+ decision: Omit<Decision<T>, 'id' | 'usage'>;
140
+ rawDistribution?: DecisionOutcome[];
141
+ rawFields?: Record<string, FieldDecision>;
142
+ snapshot: CalibrationSnapshot[];
143
+ }
144
+ /**
145
+ * The decision with every distribution replaced by its population's fit, or undefined when any field lacks
146
+ * a cached usable fit or the order would change: all fields or none. Never waits on storage. A schema with
147
+ * a no-match leaf is never fit-calibrated, because its no-match score would stay raw under `calibrated: true`.
148
+ */
149
+ export declare function applyFits<T>(schema: DecisionSchema, decision: Omit<Decision<T>, 'id' | 'usage'>, population: string, now?: number): AppliedCalibration<T> | undefined;
150
+ export interface RunDeps {
151
+ now?: () => number;
152
+ }
153
+ /** One run at a time per process. Resolves with the run's result, an unexpected fault included as a failed run. */
154
+ export declare function runCalibration(budgets?: CalibrationBudgets, deps?: RunDeps): Promise<CalibrationRunResult>;
155
+ export declare function processingOrder<P extends {
156
+ head: {
157
+ population: string;
158
+ };
159
+ lastFittedAt?: number;
160
+ }>(populations: P[]): P[];
161
+ export declare function listCalibrations(tenant: string | undefined, filter?: {
162
+ model?: string;
163
+ }): Promise<CalibrationSummary[]>;