@elaraai/e3-ui 1.0.103 → 1.0.104

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 (287) hide show
  1. package/dist/src/allocation/functions.d.ts +2 -1
  2. package/dist/src/allocation/functions.d.ts.map +1 -1
  3. package/dist/src/allocation/functions.js +3 -2
  4. package/dist/src/allocation/functions.js.map +1 -1
  5. package/dist/src/allocation/index.d.ts +120 -1
  6. package/dist/src/allocation/index.d.ts.map +1 -1
  7. package/dist/src/allocation/index.js +24 -4
  8. package/dist/src/allocation/index.js.map +1 -1
  9. package/dist/src/bind/data-indexed.d.ts +25 -4
  10. package/dist/src/bind/data-indexed.d.ts.map +1 -1
  11. package/dist/src/bind/data-indexed.js +58 -7
  12. package/dist/src/bind/data-indexed.js.map +1 -1
  13. package/dist/src/bind/data.d.ts +12 -14
  14. package/dist/src/bind/data.d.ts.map +1 -1
  15. package/dist/src/bind/data.js +11 -11
  16. package/dist/src/bind/data.js.map +1 -1
  17. package/dist/src/bind/func.d.ts +7 -2
  18. package/dist/src/bind/func.d.ts.map +1 -1
  19. package/dist/src/bind/func.js +10 -3
  20. package/dist/src/bind/func.js.map +1 -1
  21. package/dist/src/calendar/index.d.ts +148 -1
  22. package/dist/src/calendar/index.d.ts.map +1 -1
  23. package/dist/src/calendar/index.js +55 -5
  24. package/dist/src/calendar/index.js.map +1 -1
  25. package/dist/src/flowchart/canvas.d.ts +32 -14
  26. package/dist/src/flowchart/canvas.d.ts.map +1 -1
  27. package/dist/src/flowchart/canvas.js +21 -6
  28. package/dist/src/flowchart/canvas.js.map +1 -1
  29. package/dist/src/flowchart/details.d.ts +469 -0
  30. package/dist/src/flowchart/details.d.ts.map +1 -0
  31. package/dist/src/flowchart/details.js +1035 -0
  32. package/dist/src/flowchart/details.js.map +1 -0
  33. package/dist/src/flowchart/flowchart.d.ts +16 -72
  34. package/dist/src/flowchart/flowchart.d.ts.map +1 -1
  35. package/dist/src/flowchart/flowchart.js +10 -1
  36. package/dist/src/flowchart/flowchart.js.map +1 -1
  37. package/dist/src/flowchart/index.d.ts +282 -251
  38. package/dist/src/flowchart/index.d.ts.map +1 -1
  39. package/dist/src/flowchart/index.js +234 -220
  40. package/dist/src/flowchart/index.js.map +1 -1
  41. package/dist/src/flowchart/kinds.d.ts +438 -0
  42. package/dist/src/flowchart/kinds.d.ts.map +1 -0
  43. package/dist/src/flowchart/kinds.js +799 -0
  44. package/dist/src/flowchart/kinds.js.map +1 -0
  45. package/dist/src/flowchart/library.d.ts +154 -739
  46. package/dist/src/flowchart/library.d.ts.map +1 -1
  47. package/dist/src/flowchart/library.js +191 -673
  48. package/dist/src/flowchart/library.js.map +1 -1
  49. package/dist/src/flowchart/payload.d.ts +3652 -7843
  50. package/dist/src/flowchart/payload.d.ts.map +1 -1
  51. package/dist/src/flowchart/payload.js +331 -469
  52. package/dist/src/flowchart/payload.js.map +1 -1
  53. package/dist/src/flowchart/templates.d.ts +657 -0
  54. package/dist/src/flowchart/templates.d.ts.map +1 -0
  55. package/dist/src/flowchart/templates.js +658 -0
  56. package/dist/src/flowchart/templates.js.map +1 -0
  57. package/dist/src/flowchart/types.d.ts +2258 -214
  58. package/dist/src/flowchart/types.d.ts.map +1 -1
  59. package/dist/src/flowchart/types.js +374 -124
  60. package/dist/src/flowchart/types.js.map +1 -1
  61. package/dist/src/index.d.ts +13 -15
  62. package/dist/src/index.d.ts.map +1 -1
  63. package/dist/src/index.js +24 -29
  64. package/dist/src/index.js.map +1 -1
  65. package/dist/src/internal.d.ts +5 -7
  66. package/dist/src/internal.d.ts.map +1 -1
  67. package/dist/src/internal.js +12 -19
  68. package/dist/src/internal.js.map +1 -1
  69. package/dist/src/ontology/index.d.ts +44 -15
  70. package/dist/src/ontology/index.d.ts.map +1 -1
  71. package/dist/src/ontology/index.js +19 -11
  72. package/dist/src/ontology/index.js.map +1 -1
  73. package/dist/src/plan/event-rows.d.ts +2 -1
  74. package/dist/src/plan/event-rows.d.ts.map +1 -1
  75. package/dist/src/plan/event-rows.js +6 -4
  76. package/dist/src/plan/event-rows.js.map +1 -1
  77. package/dist/src/plan/ir.d.ts +1 -0
  78. package/dist/src/plan/ir.d.ts.map +1 -1
  79. package/dist/src/plan/plan.d.ts +145 -1
  80. package/dist/src/plan/plan.d.ts.map +1 -1
  81. package/dist/src/plan/plan.js +67 -3
  82. package/dist/src/plan/plan.js.map +1 -1
  83. package/dist/src/plan/types.d.ts +1 -0
  84. package/dist/src/plan/types.d.ts.map +1 -1
  85. package/dist/src/query/builder.d.ts +362 -315
  86. package/dist/src/query/builder.d.ts.map +1 -1
  87. package/dist/src/query/builder.js +12 -1
  88. package/dist/src/query/builder.js.map +1 -1
  89. package/dist/src/query/index.d.ts +5 -1
  90. package/dist/src/query/index.d.ts.map +1 -1
  91. package/dist/src/query/index.js +3 -1
  92. package/dist/src/query/index.js.map +1 -1
  93. package/dist/src/roster/fit.d.ts +5 -2
  94. package/dist/src/roster/fit.d.ts.map +1 -1
  95. package/dist/src/roster/fit.js +5 -3
  96. package/dist/src/roster/fit.js.map +1 -1
  97. package/dist/src/roster/index.d.ts +103 -2
  98. package/dist/src/roster/index.d.ts.map +1 -1
  99. package/dist/src/roster/index.js +45 -6
  100. package/dist/src/roster/index.js.map +1 -1
  101. package/dist/src/runtime/index.d.ts +1 -3
  102. package/dist/src/runtime/index.d.ts.map +1 -1
  103. package/dist/src/runtime/index.js +1 -3
  104. package/dist/src/runtime/index.js.map +1 -1
  105. package/dist/src/schedule/record-window.d.ts +1 -0
  106. package/dist/src/schedule/record-window.d.ts.map +1 -1
  107. package/dist/src/schematic/index.d.ts +1 -1
  108. package/dist/src/schematic/index.d.ts.map +1 -1
  109. package/dist/src/schematic/index.js +1 -1
  110. package/dist/src/schematic/index.js.map +1 -1
  111. package/dist/src/schematic/kinds.d.ts +4 -24
  112. package/dist/src/schematic/kinds.d.ts.map +1 -1
  113. package/dist/src/schematic/kinds.js +8 -212
  114. package/dist/src/schematic/kinds.js.map +1 -1
  115. package/dist/src/schematic/payload.d.ts +140 -1
  116. package/dist/src/schematic/payload.d.ts.map +1 -1
  117. package/dist/src/schematic/payload.js +38 -1
  118. package/dist/src/schematic/payload.js.map +1 -1
  119. package/dist/src/schematic/types.d.ts.map +1 -1
  120. package/dist/src/schematic/types.js +4 -36
  121. package/dist/src/schematic/types.js.map +1 -1
  122. package/dist/src/schematic/window.d.ts +9 -42
  123. package/dist/src/schematic/window.d.ts.map +1 -1
  124. package/dist/src/schematic/window.js +10 -115
  125. package/dist/src/schematic/window.js.map +1 -1
  126. package/dist/src/sheet/actions.d.ts +388 -0
  127. package/dist/src/sheet/actions.d.ts.map +1 -0
  128. package/dist/src/sheet/actions.js +594 -0
  129. package/dist/src/sheet/actions.js.map +1 -0
  130. package/dist/src/sheet/bridge.d.ts +12 -1
  131. package/dist/src/sheet/bridge.d.ts.map +1 -1
  132. package/dist/src/sheet/bridge.js +30 -6
  133. package/dist/src/sheet/bridge.js.map +1 -1
  134. package/dist/src/sheet/columns.d.ts +5 -2
  135. package/dist/src/sheet/columns.d.ts.map +1 -1
  136. package/dist/src/sheet/columns.js.map +1 -1
  137. package/dist/src/sheet/draft-bridge.d.ts +9 -4
  138. package/dist/src/sheet/draft-bridge.d.ts.map +1 -1
  139. package/dist/src/sheet/draft-bridge.js +22 -7
  140. package/dist/src/sheet/draft-bridge.js.map +1 -1
  141. package/dist/src/sheet/fields.d.ts +13 -0
  142. package/dist/src/sheet/fields.d.ts.map +1 -1
  143. package/dist/src/sheet/fields.js +3 -0
  144. package/dist/src/sheet/fields.js.map +1 -1
  145. package/dist/src/sheet/index.d.ts +32 -2
  146. package/dist/src/sheet/index.d.ts.map +1 -1
  147. package/dist/src/sheet/index.js +18 -3
  148. package/dist/src/sheet/index.js.map +1 -1
  149. package/dist/src/sheet/library.d.ts +8 -0
  150. package/dist/src/sheet/library.d.ts.map +1 -1
  151. package/dist/src/sheet/root.d.ts +23 -1
  152. package/dist/src/sheet/root.d.ts.map +1 -1
  153. package/dist/src/sheet/root.js +40 -5
  154. package/dist/src/sheet/root.js.map +1 -1
  155. package/dist/src/sheet/sheet.d.ts +7843 -4132
  156. package/dist/src/sheet/sheet.d.ts.map +1 -1
  157. package/dist/src/sheet/sheet.js +41 -2
  158. package/dist/src/sheet/sheet.js.map +1 -1
  159. package/dist/src/sheet/templates.d.ts +4 -0
  160. package/dist/src/sheet/templates.d.ts.map +1 -1
  161. package/dist/src/sheet/types.d.ts +12449 -5268
  162. package/dist/src/sheet/types.d.ts.map +1 -1
  163. package/dist/src/sheet/types.js +114 -2
  164. package/dist/src/sheet/types.js.map +1 -1
  165. package/dist/src/utils/derive.d.ts +1 -1
  166. package/dist/src/utils/derive.js +1 -1
  167. package/dist/src/utils/record-kind.d.ts +625 -0
  168. package/dist/src/utils/record-kind.d.ts.map +1 -0
  169. package/dist/src/utils/record-kind.js +450 -0
  170. package/dist/src/utils/record-kind.js.map +1 -0
  171. package/dist/src/utils/views.d.ts +55 -0
  172. package/dist/src/utils/views.d.ts.map +1 -0
  173. package/dist/src/utils/views.js +72 -0
  174. package/dist/src/utils/views.js.map +1 -0
  175. package/dist/src/utils/vocabulary.d.ts +48 -0
  176. package/dist/src/utils/vocabulary.d.ts.map +1 -0
  177. package/dist/src/utils/vocabulary.js +47 -0
  178. package/dist/src/utils/vocabulary.js.map +1 -0
  179. package/dist/test/allocation/allocation.examples.d.ts +2 -0
  180. package/dist/test/allocation/allocation.examples.d.ts.map +1 -1
  181. package/dist/test/allocation/allocation.examples.js +81 -2
  182. package/dist/test/allocation/allocation.examples.js.map +1 -1
  183. package/dist/test/bind/func/func.examples.d.ts +19 -1
  184. package/dist/test/bind/func/func.examples.d.ts.map +1 -1
  185. package/dist/test/bind/func/func.examples.js +36 -1
  186. package/dist/test/bind/func/func.examples.js.map +1 -1
  187. package/dist/test/calendar/calendar.examples.d.ts +2 -0
  188. package/dist/test/calendar/calendar.examples.d.ts.map +1 -1
  189. package/dist/test/calendar/calendar.examples.js +80 -2
  190. package/dist/test/calendar/calendar.examples.js.map +1 -1
  191. package/dist/test/decision/queue.examples.d.ts +1 -0
  192. package/dist/test/decision/queue.examples.d.ts.map +1 -1
  193. package/dist/test/decision/queue.examples.js +12 -0
  194. package/dist/test/decision/queue.examples.js.map +1 -1
  195. package/dist/test/examples-package.d.ts.map +1 -1
  196. package/dist/test/examples-package.js +5 -4
  197. package/dist/test/examples-package.js.map +1 -1
  198. package/dist/test/flowchart/flowchart.examples.d.ts +1250 -4605
  199. package/dist/test/flowchart/flowchart.examples.d.ts.map +1 -1
  200. package/dist/test/flowchart/flowchart.examples.js +861 -512
  201. package/dist/test/flowchart/flowchart.examples.js.map +1 -1
  202. package/dist/test/ontology/ontology.examples.d.ts +2 -3
  203. package/dist/test/ontology/ontology.examples.d.ts.map +1 -1
  204. package/dist/test/ontology/ontology.examples.js +32 -21
  205. package/dist/test/ontology/ontology.examples.js.map +1 -1
  206. package/dist/test/plan/plan-events.examples.d.ts +1 -0
  207. package/dist/test/plan/plan-events.examples.d.ts.map +1 -1
  208. package/dist/test/plan/plan-events.examples.js +44 -0
  209. package/dist/test/plan/plan-events.examples.js.map +1 -1
  210. package/dist/test/plan/plan-nested.examples.d.ts +2 -2
  211. package/dist/test/plan/plan-nested.examples.js +5 -5
  212. package/dist/test/plan/plan-nested.examples.js.map +1 -1
  213. package/dist/test/plan/plan-records.examples.d.ts.map +1 -1
  214. package/dist/test/plan/plan-records.examples.js +1 -1
  215. package/dist/test/plan/plan-records.examples.js.map +1 -1
  216. package/dist/test/query/query.examples.d.ts +2 -0
  217. package/dist/test/query/query.examples.d.ts.map +1 -1
  218. package/dist/test/query/query.examples.js +37 -1
  219. package/dist/test/query/query.examples.js.map +1 -1
  220. package/dist/test/roster/roster.examples.d.ts +2 -0
  221. package/dist/test/roster/roster.examples.d.ts.map +1 -1
  222. package/dist/test/roster/roster.examples.js +76 -15
  223. package/dist/test/roster/roster.examples.js.map +1 -1
  224. package/dist/test/schematic/schematic-records.examples.d.ts.map +1 -1
  225. package/dist/test/schematic/schematic-records.examples.js +6 -4
  226. package/dist/test/schematic/schematic-records.examples.js.map +1 -1
  227. package/dist/test/schematic/schematic.examples.d.ts +1 -0
  228. package/dist/test/schematic/schematic.examples.d.ts.map +1 -1
  229. package/dist/test/schematic/schematic.examples.js +144 -0
  230. package/dist/test/schematic/schematic.examples.js.map +1 -1
  231. package/dist/test/sheet/sheet-actions.examples.d.ts +1264 -0
  232. package/dist/test/sheet/sheet-actions.examples.d.ts.map +1 -0
  233. package/dist/test/sheet/sheet-actions.examples.js +394 -0
  234. package/dist/test/sheet/sheet-actions.examples.js.map +1 -0
  235. package/dist/test/sheet/sheet.examples.d.ts +1 -0
  236. package/dist/test/sheet/sheet.examples.d.ts.map +1 -1
  237. package/dist/test/sheet/sheet.examples.js +77 -0
  238. package/dist/test/sheet/sheet.examples.js.map +1 -1
  239. package/dist/test/studio/studio.examples.d.ts +1 -0
  240. package/dist/test/studio/studio.examples.d.ts.map +1 -1
  241. package/dist/test/studio/studio.examples.js +18 -8
  242. package/dist/test/studio/studio.examples.js.map +1 -1
  243. package/package.json +12 -12
  244. package/dist/src/diff/index.d.ts +0 -407
  245. package/dist/src/diff/index.d.ts.map +0 -1
  246. package/dist/src/diff/index.js +0 -203
  247. package/dist/src/diff/index.js.map +0 -1
  248. package/dist/src/experiment/index.d.ts +0 -1033
  249. package/dist/src/experiment/index.d.ts.map +0 -1
  250. package/dist/src/experiment/index.js +0 -197
  251. package/dist/src/experiment/index.js.map +0 -1
  252. package/dist/src/experiment/types.d.ts +0 -1093
  253. package/dist/src/experiment/types.d.ts.map +0 -1
  254. package/dist/src/experiment/types.js +0 -423
  255. package/dist/src/experiment/types.js.map +0 -1
  256. package/dist/src/flowchart/over.d.ts +0 -227
  257. package/dist/src/flowchart/over.d.ts.map +0 -1
  258. package/dist/src/flowchart/over.js +0 -213
  259. package/dist/src/flowchart/over.js.map +0 -1
  260. package/dist/src/flowchart/patch.d.ts +0 -64
  261. package/dist/src/flowchart/patch.d.ts.map +0 -1
  262. package/dist/src/flowchart/patch.js +0 -67
  263. package/dist/src/flowchart/patch.js.map +0 -1
  264. package/dist/src/flowchart/values.d.ts +0 -271
  265. package/dist/src/flowchart/values.d.ts.map +0 -1
  266. package/dist/src/flowchart/values.js +0 -220
  267. package/dist/src/flowchart/values.js.map +0 -1
  268. package/dist/src/flowchart/window.d.ts +0 -306
  269. package/dist/src/flowchart/window.d.ts.map +0 -1
  270. package/dist/src/flowchart/window.js +0 -63
  271. package/dist/src/flowchart/window.js.map +0 -1
  272. package/dist/src/runtime/diff.d.ts +0 -36
  273. package/dist/src/runtime/diff.d.ts.map +0 -1
  274. package/dist/src/runtime/diff.js +0 -34
  275. package/dist/src/runtime/diff.js.map +0 -1
  276. package/dist/src/runtime/experiment.d.ts +0 -48
  277. package/dist/src/runtime/experiment.d.ts.map +0 -1
  278. package/dist/src/runtime/experiment.js +0 -10
  279. package/dist/src/runtime/experiment.js.map +0 -1
  280. package/dist/test/diff/diff.examples.d.ts +0 -313
  281. package/dist/test/diff/diff.examples.d.ts.map +0 -1
  282. package/dist/test/diff/diff.examples.js +0 -452
  283. package/dist/test/diff/diff.examples.js.map +0 -1
  284. package/dist/test/experiment/experiment.examples.d.ts +0 -1512
  285. package/dist/test/experiment/experiment.examples.d.ts.map +0 -1
  286. package/dist/test/experiment/experiment.examples.js +0 -609
  287. package/dist/test/experiment/experiment.examples.js.map +0 -1
@@ -1,1033 +0,0 @@
1
- /**
2
- * Copyright (c) 2025 Elara AI Pty Ltd
3
- * Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
4
- */
5
- /**
6
- * `Experiment` component — an interactive causal-experiment surface.
7
- *
8
- * @remarks
9
- * `Experiment` lets a domain expert ask *"did X change Y, and can I trust it?"*
10
- * against a dataset and read a derived, honest answer — without meeting a
11
- * statistician's vocabulary. It is a registered extension component
12
- * (architecturally like {@link Ontology}): the author writes one tag,
13
- * `Experiment.Root({ … })`; the React renderer lives in
14
- * `@elaraai/e3-ui-components`.
15
- *
16
- * **Generic over the input row, like `Table`.** The author binds the input
17
- * dataset (`data: BoundValue<ArrayType<Row>>`); the renderer introspects its row
18
- * struct to drive the treatment / outcome / confounder pickers.
19
- *
20
- * **The user edits the config → Apply runs ONE function.** Editing a picker
21
- * stages a new {@link ExperimentConfigType}; **Apply** calls the single bound
22
- * `experiment` function (`(rows, config) → ExperimentResult`) and the answer
23
- * arrives reactively. The result carries the naive vs adjusted effect, balance,
24
- * overlap, robustness, and an honesty **verdict** — `adjusted` is `none` when the
25
- * engine refuses. **Commit** appends to the journal.
26
- *
27
- * **Visual-first and derived.** Nothing on the result side is hand-authored —
28
- * every word is a column name the user picked, a number the engine returned, or
29
- * a status derived by rule from the verdict tag.
30
- *
31
- * @packageDocumentation
32
- */
33
- import { NullType, BooleanType, ArrayType, StringType, StructType, VariantType, OptionType, type ExprType, type SubtypeExprOrValue } from '@elaraai/east';
34
- import { type UIComponentType } from '@elaraai/east-ui';
35
- import { type BoundValue } from '../bind/data.js';
36
- import { type BoundFunc } from '../bind/func.js';
37
- import { ExperimentConfigType, ExperimentResultType, JournalType, ConfigurationType, DesignConfigType, ExperimentDesignType } from './types.js';
38
- export { CiType, WeightingSchemeType, EstimatorType, TargetUnitsType, BootstrapConfigType, RefuteSpecType, ExperimentConfigType, BalanceRowType, SensitivityBenchmarkType, OverlapDiagnosticType, RefutationType, DoseResponseType, ExperimentVerdictType, VerdictReasonType, ExperimentResultType, JournalRowType, JournalType, ColumnMetaType, PopulationType, ConfigurationType, } from './types.js';
39
- /**
40
- * The `experiment` function signature: `(rows, config) → ExperimentResult`. The
41
- * renderer calls this on **Apply** with the bound `data` and the staged config.
42
- *
43
- * @typeParam Row - The input dataset's row struct.
44
- */
45
- export type ExperimentFunc<Row extends StructType> = BoundFunc<[ArrayType<Row>, ExperimentConfigType], ExperimentResultType>;
46
- export type ExperimentDesignFunc<Row extends StructType> = BoundFunc<[ArrayType<Row>, ExperimentConfigType, ExperimentResultType, DesignConfigType], ExperimentDesignType>;
47
- /** Initial result tab variant — `answer` (default), `trust`, `dose`, or `validate`. */
48
- export declare const ExperimentTabType: VariantType<{
49
- readonly answer: NullType;
50
- readonly trust: NullType;
51
- readonly dose: NullType;
52
- readonly validate: NullType;
53
- }>;
54
- /** Type alias for {@link ExperimentTabType}. */
55
- export type ExperimentTabType = typeof ExperimentTabType;
56
- /**
57
- * The domain noun for one row of the bound dataset — singular + plural (e.g.
58
- * `{ one: 'batch', many: 'batches' }`). The surface interpolates it everywhere
59
- * it speaks about rows ("Which batches?", "480 batches", the guidance
60
- * glossary), replacing the neutral default `record(s)`.
61
- */
62
- export declare const ExperimentSubjectType: StructType<{
63
- readonly one: StringType;
64
- readonly many: StringType;
65
- }>;
66
- /** Type alias for {@link ExperimentSubjectType}. */
67
- export type ExperimentSubjectType = typeof ExperimentSubjectType;
68
- /**
69
- * The `Experiment` component payload — binding descriptors + options. Renderers
70
- * decode this and resolve each binding to a live, reactive value / call handle.
71
- *
72
- * @property data - {@link DiffBindingType} for the input dataset — the renderer
73
- * introspects its row struct for the pickers and passes it to the function.
74
- * @property configs - {@link DiffBindingType} for the list of {@link ConfigurationType}
75
- * questions (each carrying its config + optional precomputed result/design). The
76
- * only config source; selecting one seeds the working config.
77
- * @property experiment - Optional {@link FuncBindingType} for the universal estimator
78
- * function; omitted when every shown question carries a precomputed result.
79
- * @property journal - Optional {@link DiffBindingType} for the committed-experiment journal.
80
- * @property design - Optional {@link FuncBindingType} for the universal `design` function
81
- * (the "Validate" tab); applies to any question.
82
- * @property columnMeta - Optional per-column display metadata.
83
- * @property subject - Optional domain noun for a row ({@link ExperimentSubjectType}).
84
- * @property readonly - Render without the Apply / Commit / edit affordances.
85
- * @property defaultTab - Initial result tab ({@link ExperimentTabType}).
86
- */
87
- export declare const ExperimentPayloadType: StructType<{
88
- readonly data: StructType<{
89
- readonly source: ArrayType<VariantType<{
90
- readonly field: StringType;
91
- }>>;
92
- readonly patch: OptionType<ArrayType<VariantType<{
93
- readonly field: StringType;
94
- }>>>;
95
- readonly mode: VariantType<{
96
- readonly staged: NullType;
97
- readonly direct: NullType;
98
- }>;
99
- }>;
100
- readonly configs: StructType<{
101
- readonly source: ArrayType<VariantType<{
102
- readonly field: StringType;
103
- }>>;
104
- readonly patch: OptionType<ArrayType<VariantType<{
105
- readonly field: StringType;
106
- }>>>;
107
- readonly mode: VariantType<{
108
- readonly staged: NullType;
109
- readonly direct: NullType;
110
- }>;
111
- }>;
112
- readonly experiment: OptionType<StructType<{
113
- readonly name: StringType;
114
- }>>;
115
- readonly journal: OptionType<StructType<{
116
- readonly source: ArrayType<VariantType<{
117
- readonly field: StringType;
118
- }>>;
119
- readonly patch: OptionType<ArrayType<VariantType<{
120
- readonly field: StringType;
121
- }>>>;
122
- readonly mode: VariantType<{
123
- readonly staged: NullType;
124
- readonly direct: NullType;
125
- }>;
126
- }>>;
127
- readonly design: OptionType<StructType<{
128
- readonly name: StringType;
129
- }>>;
130
- readonly columnMeta: OptionType<import("@elaraai/east").DictType<StringType, StructType<{
131
- readonly label: OptionType<StringType>;
132
- readonly unit: OptionType<StringType>;
133
- readonly higherIsBetter: OptionType<BooleanType>;
134
- }>>>;
135
- readonly subject: OptionType<StructType<{
136
- readonly one: StringType;
137
- readonly many: StringType;
138
- }>>;
139
- readonly readonly: OptionType<BooleanType>;
140
- readonly defaultTab: OptionType<VariantType<{
141
- readonly answer: NullType;
142
- readonly trust: NullType;
143
- readonly dose: NullType;
144
- readonly validate: NullType;
145
- }>>;
146
- }>;
147
- /** Type alias for {@link ExperimentPayloadType}. */
148
- export type ExperimentPayloadType = typeof ExperimentPayloadType;
149
- /** Initial result tab as a string literal. */
150
- export type ExperimentTabLiteral = 'answer' | 'trust' | 'dose' | 'validate';
151
- /**
152
- * Internal {@link EastUI.component} carrier. The React renderer registers
153
- * against this in `@elaraai/e3-ui-components`.
154
- */
155
- export declare const ExperimentComponent: import("@elaraai/east-ui").UIComponentDef<StructType<{
156
- readonly data: StructType<{
157
- readonly source: ArrayType<VariantType<{
158
- readonly field: StringType;
159
- }>>;
160
- readonly patch: OptionType<ArrayType<VariantType<{
161
- readonly field: StringType;
162
- }>>>;
163
- readonly mode: VariantType<{
164
- readonly staged: NullType;
165
- readonly direct: NullType;
166
- }>;
167
- }>;
168
- readonly configs: StructType<{
169
- readonly source: ArrayType<VariantType<{
170
- readonly field: StringType;
171
- }>>;
172
- readonly patch: OptionType<ArrayType<VariantType<{
173
- readonly field: StringType;
174
- }>>>;
175
- readonly mode: VariantType<{
176
- readonly staged: NullType;
177
- readonly direct: NullType;
178
- }>;
179
- }>;
180
- readonly experiment: OptionType<StructType<{
181
- readonly name: StringType;
182
- }>>;
183
- readonly journal: OptionType<StructType<{
184
- readonly source: ArrayType<VariantType<{
185
- readonly field: StringType;
186
- }>>;
187
- readonly patch: OptionType<ArrayType<VariantType<{
188
- readonly field: StringType;
189
- }>>>;
190
- readonly mode: VariantType<{
191
- readonly staged: NullType;
192
- readonly direct: NullType;
193
- }>;
194
- }>>;
195
- readonly design: OptionType<StructType<{
196
- readonly name: StringType;
197
- }>>;
198
- readonly columnMeta: OptionType<import("@elaraai/east").DictType<StringType, StructType<{
199
- readonly label: OptionType<StringType>;
200
- readonly unit: OptionType<StringType>;
201
- readonly higherIsBetter: OptionType<BooleanType>;
202
- }>>>;
203
- readonly subject: OptionType<StructType<{
204
- readonly one: StringType;
205
- readonly many: StringType;
206
- }>>;
207
- readonly readonly: OptionType<BooleanType>;
208
- readonly defaultTab: OptionType<VariantType<{
209
- readonly answer: NullType;
210
- readonly trust: NullType;
211
- readonly dose: NullType;
212
- readonly validate: NullType;
213
- }>>;
214
- }>>;
215
- /**
216
- * Per-column display config — the friendly label, unit suffix, and good
217
- * direction the surface uses to phrase results ("worse" instead of "lower").
218
- */
219
- export interface ExperimentColumnConfig {
220
- /** Friendly label shown instead of the raw column name. */
221
- label?: string;
222
- /** Unit suffix ("MPa", "$", …). */
223
- unit?: string;
224
- /** Whether a larger value is the good direction (flips "lower" → "worse"). */
225
- higherIsBetter?: boolean;
226
- }
227
- /**
228
- * Type-safe per-column config, keyed by the bound dataset's field names (the
229
- * `Table` columns pattern) — only real columns are accepted as keys.
230
- *
231
- * @typeParam Row - The input dataset's row struct.
232
- */
233
- export type ExperimentColumns<Row extends StructType> = {
234
- [K in Extract<keyof Row['fields'], string>]?: ExperimentColumnConfig;
235
- };
236
- /**
237
- * Options for {@link Experiment.Root}, generic over the input row struct.
238
- *
239
- * @typeParam Row - The input dataset's row struct — inferred from `data`.
240
- *
241
- * @property data - The {@link Data.bind} handle for the input dataset.
242
- * @property configs - The {@link Data.bind} handle for the list of
243
- * {@link ConfigurationType} questions (each carrying its config + optional
244
- * precomputed result/design). The only config source.
245
- * @property experiment - Optional {@link Func.bind} handle for the universal
246
- * estimator function; omit when every shown question carries a precomputed result.
247
- * @property design - Optional {@link Func.bind} handle for the universal `design`
248
- * function (adds the "Validate" tab); omit when no question needs the trial recipe
249
- * or every shown question carries a precomputed `design`.
250
- * @property journal - Optional {@link Data.bind} handle for the committed-experiment journal.
251
- * @property columns - Optional per-column display config.
252
- * @property subject - Optional domain noun for a row (`'batch'`, or `{ one, many }`).
253
- * @property readonly - Render without mutation affordances.
254
- * @property defaultTab - Initial result tab.
255
- */
256
- export interface ExperimentOptions<Row extends StructType> {
257
- data: BoundValue<ArrayType<Row>>;
258
- /** The questions — and their optional precomputed answers. The only config source. */
259
- configs: BoundValue<ArrayType<ConfigurationType>>;
260
- /** Optional universal estimator. One function serves every config; omit when every
261
- * shown question carries a precomputed `result`. */
262
- experiment?: ExperimentFunc<Row>;
263
- /** Optional `design` function — adds the "Validate" tab (the trial recipe). */
264
- design?: ExperimentDesignFunc<Row>;
265
- journal?: BoundValue<JournalType>;
266
- /** Per-column display config, keyed by the data row's fields (like `Table`). */
267
- columns?: ExperimentColumns<Row>;
268
- /** The domain noun for one row — a singular string (`'batch'`, auto-pluralised)
269
- * or an explicit `{ one, many }` pair for irregular plurals. Replaces the
270
- * neutral `record(s)` everywhere the surface speaks about rows. */
271
- subject?: string | {
272
- one: string;
273
- many: string;
274
- };
275
- readonly?: SubtypeExprOrValue<BooleanType>;
276
- defaultTab?: ExperimentTabLiteral;
277
- }
278
- /**
279
- * Build an Experiment surface bound to an input dataset + the single experiment
280
- * function.
281
- *
282
- * @typeParam Row - The input dataset's row struct, inferred from `data`.
283
- * @param options - {@link ExperimentOptions}. `data` and `configs` are required;
284
- * the rest are optional.
285
- * @returns An East expression of {@link UIComponentType}.
286
- */
287
- declare function createExperiment<Row extends StructType>(options: ExperimentOptions<Row>): ExprType<UIComponentType>;
288
- /**
289
- * The Experiment component namespace. Surfaces an interactive causal-experiment
290
- * over a bound input dataset + a single `experiment` function, generic over the
291
- * row struct (the `Table` pattern).
292
- *
293
- * @remarks
294
- * Use `Experiment.Root({ data, config, experiment, journal })` inside a
295
- * `Reactive` block. `Types` exposes the render-contract value types (`Config`,
296
- * `Result`, `Verdict`, `Overlap`, `Balance`, `Refutation`, `Journal`, …).
297
- */
298
- export declare const Experiment: {
299
- readonly Root: typeof createExperiment;
300
- /** The internal {@link EastUI.component} carrier renderers register against. */
301
- readonly Component: import("@elaraai/east-ui").UIComponentDef<StructType<{
302
- readonly data: StructType<{
303
- readonly source: ArrayType<VariantType<{
304
- readonly field: StringType;
305
- }>>;
306
- readonly patch: OptionType<ArrayType<VariantType<{
307
- readonly field: StringType;
308
- }>>>;
309
- readonly mode: VariantType<{
310
- readonly staged: NullType;
311
- readonly direct: NullType;
312
- }>;
313
- }>;
314
- readonly configs: StructType<{
315
- readonly source: ArrayType<VariantType<{
316
- readonly field: StringType;
317
- }>>;
318
- readonly patch: OptionType<ArrayType<VariantType<{
319
- readonly field: StringType;
320
- }>>>;
321
- readonly mode: VariantType<{
322
- readonly staged: NullType;
323
- readonly direct: NullType;
324
- }>;
325
- }>;
326
- readonly experiment: OptionType<StructType<{
327
- readonly name: StringType;
328
- }>>;
329
- readonly journal: OptionType<StructType<{
330
- readonly source: ArrayType<VariantType<{
331
- readonly field: StringType;
332
- }>>;
333
- readonly patch: OptionType<ArrayType<VariantType<{
334
- readonly field: StringType;
335
- }>>>;
336
- readonly mode: VariantType<{
337
- readonly staged: NullType;
338
- readonly direct: NullType;
339
- }>;
340
- }>>;
341
- readonly design: OptionType<StructType<{
342
- readonly name: StringType;
343
- }>>;
344
- readonly columnMeta: OptionType<import("@elaraai/east").DictType<StringType, StructType<{
345
- readonly label: OptionType<StringType>;
346
- readonly unit: OptionType<StringType>;
347
- readonly higherIsBetter: OptionType<BooleanType>;
348
- }>>>;
349
- readonly subject: OptionType<StructType<{
350
- readonly one: StringType;
351
- readonly many: StringType;
352
- }>>;
353
- readonly readonly: OptionType<BooleanType>;
354
- readonly defaultTab: OptionType<VariantType<{
355
- readonly answer: NullType;
356
- readonly trust: NullType;
357
- readonly dose: NullType;
358
- readonly validate: NullType;
359
- }>>;
360
- }>>;
361
- readonly Types: {
362
- /** Rendered payload struct (bindings + options). */
363
- readonly Payload: StructType<{
364
- readonly data: StructType<{
365
- readonly source: ArrayType<VariantType<{
366
- readonly field: StringType;
367
- }>>;
368
- readonly patch: OptionType<ArrayType<VariantType<{
369
- readonly field: StringType;
370
- }>>>;
371
- readonly mode: VariantType<{
372
- readonly staged: NullType;
373
- readonly direct: NullType;
374
- }>;
375
- }>;
376
- readonly configs: StructType<{
377
- readonly source: ArrayType<VariantType<{
378
- readonly field: StringType;
379
- }>>;
380
- readonly patch: OptionType<ArrayType<VariantType<{
381
- readonly field: StringType;
382
- }>>>;
383
- readonly mode: VariantType<{
384
- readonly staged: NullType;
385
- readonly direct: NullType;
386
- }>;
387
- }>;
388
- readonly experiment: OptionType<StructType<{
389
- readonly name: StringType;
390
- }>>;
391
- readonly journal: OptionType<StructType<{
392
- readonly source: ArrayType<VariantType<{
393
- readonly field: StringType;
394
- }>>;
395
- readonly patch: OptionType<ArrayType<VariantType<{
396
- readonly field: StringType;
397
- }>>>;
398
- readonly mode: VariantType<{
399
- readonly staged: NullType;
400
- readonly direct: NullType;
401
- }>;
402
- }>>;
403
- readonly design: OptionType<StructType<{
404
- readonly name: StringType;
405
- }>>;
406
- readonly columnMeta: OptionType<import("@elaraai/east").DictType<StringType, StructType<{
407
- readonly label: OptionType<StringType>;
408
- readonly unit: OptionType<StringType>;
409
- readonly higherIsBetter: OptionType<BooleanType>;
410
- }>>>;
411
- readonly subject: OptionType<StructType<{
412
- readonly one: StringType;
413
- readonly many: StringType;
414
- }>>;
415
- readonly readonly: OptionType<BooleanType>;
416
- readonly defaultTab: OptionType<VariantType<{
417
- readonly answer: NullType;
418
- readonly trust: NullType;
419
- readonly dose: NullType;
420
- readonly validate: NullType;
421
- }>>;
422
- }>;
423
- /** The experiment-config value type (what the pickers stage). */
424
- readonly Config: StructType<{
425
- readonly treatment: StringType;
426
- readonly outcome: StringType;
427
- readonly common_causes: ArrayType<StringType>;
428
- readonly categorical: OptionType<ArrayType<StringType>>;
429
- readonly method: OptionType<VariantType<{
430
- readonly linear_regression: NullType;
431
- readonly propensity_score_weighting: StructType<{
432
- readonly weighting_scheme: OptionType<VariantType<{
433
- readonly ips_weight: NullType;
434
- readonly ips_stabilized_weight: NullType;
435
- readonly ips_normalized_weight: NullType;
436
- }>>;
437
- }>;
438
- }>>;
439
- readonly estimand: OptionType<VariantType<{
440
- readonly ate: NullType;
441
- readonly att: NullType;
442
- readonly atc: NullType;
443
- }>>;
444
- readonly refute: OptionType<StructType<{
445
- readonly placebo: BooleanType;
446
- readonly random_common_cause: BooleanType;
447
- readonly data_subset: BooleanType;
448
- readonly sensitivity: OptionType<ArrayType<import("@elaraai/east").FloatType>>;
449
- }>>;
450
- readonly dose_feature: OptionType<StringType>;
451
- readonly min_overlap: OptionType<import("@elaraai/east").FloatType>;
452
- readonly min_treatment_variation: OptionType<import("@elaraai/east").FloatType>;
453
- readonly bootstrap: OptionType<StructType<{
454
- readonly reps: import("@elaraai/east").IntegerType;
455
- readonly cluster_column: OptionType<StringType>;
456
- readonly confidence_level: OptionType<import("@elaraai/east").FloatType>;
457
- }>>;
458
- readonly random_state: OptionType<import("@elaraai/east").IntegerType>;
459
- readonly strong_overlap: OptionType<import("@elaraai/east").FloatType>;
460
- readonly evalue_floor: OptionType<import("@elaraai/east").FloatType>;
461
- readonly expected_sign: OptionType<VariantType<{
462
- readonly positive: NullType;
463
- readonly negative: NullType;
464
- }>>;
465
- }>;
466
- /** The result value type (numbers + verdict). */
467
- readonly Result: StructType<{
468
- readonly naive: import("@elaraai/east").FloatType;
469
- readonly naive_ci: OptionType<StructType<{
470
- readonly lower: import("@elaraai/east").FloatType;
471
- readonly upper: import("@elaraai/east").FloatType;
472
- }>>;
473
- readonly adjusted: OptionType<StructType<{
474
- readonly effect: import("@elaraai/east").FloatType;
475
- readonly ci: OptionType<StructType<{
476
- readonly lower: import("@elaraai/east").FloatType;
477
- readonly upper: import("@elaraai/east").FloatType;
478
- }>>;
479
- }>>;
480
- readonly n_total: import("@elaraai/east").IntegerType;
481
- readonly n_treated: import("@elaraai/east").IntegerType;
482
- readonly n_control: import("@elaraai/east").IntegerType;
483
- readonly n_dropped: import("@elaraai/east").IntegerType;
484
- readonly balance: ArrayType<StructType<{
485
- readonly column: StringType;
486
- readonly base_column: StringType;
487
- readonly treated_mean: import("@elaraai/east").FloatType;
488
- readonly control_mean: import("@elaraai/east").FloatType;
489
- readonly std_diff: import("@elaraai/east").FloatType;
490
- readonly std_diff_adjusted: OptionType<import("@elaraai/east").FloatType>;
491
- }>>;
492
- readonly overlap: StructType<{
493
- readonly treated_propensity: import("@elaraai/east").VectorType<import("@elaraai/east").FloatType>;
494
- readonly control_propensity: import("@elaraai/east").VectorType<import("@elaraai/east").FloatType>;
495
- readonly common_support_frac: import("@elaraai/east").FloatType;
496
- readonly positivity_ok: BooleanType;
497
- readonly support_strength: VariantType<{
498
- readonly refused: NullType;
499
- readonly thin: NullType;
500
- readonly strong: NullType;
501
- }>;
502
- }>;
503
- readonly refutation: OptionType<StructType<{
504
- readonly placebo_effect: OptionType<import("@elaraai/east").FloatType>;
505
- readonly placebo_passes: OptionType<BooleanType>;
506
- readonly random_cc_within_ci: OptionType<BooleanType>;
507
- readonly data_subset_effect: OptionType<import("@elaraai/east").FloatType>;
508
- readonly data_subset_std: OptionType<import("@elaraai/east").FloatType>;
509
- readonly robustness_value: OptionType<import("@elaraai/east").FloatType>;
510
- readonly sensitivity: OptionType<StructType<{
511
- readonly strengths: import("@elaraai/east").VectorType<import("@elaraai/east").FloatType>;
512
- readonly effects: import("@elaraai/east").VectorType<import("@elaraai/east").FloatType>;
513
- readonly benchmarks: ArrayType<StructType<{
514
- readonly column: StringType;
515
- readonly strength: import("@elaraai/east").FloatType;
516
- }>>;
517
- }>>;
518
- readonly expected_sign_ok: OptionType<BooleanType>;
519
- }>>;
520
- readonly dose_response: OptionType<StructType<{
521
- readonly feature: StringType;
522
- readonly grid: import("@elaraai/east").VectorType<import("@elaraai/east").FloatType>;
523
- readonly effect: import("@elaraai/east").VectorType<import("@elaraai/east").FloatType>;
524
- readonly lower: OptionType<import("@elaraai/east").VectorType<import("@elaraai/east").FloatType>>;
525
- readonly upper: OptionType<import("@elaraai/east").VectorType<import("@elaraai/east").FloatType>>;
526
- readonly size: import("@elaraai/east").VectorType<import("@elaraai/east").IntegerType>;
527
- }>>;
528
- readonly verdict: VariantType<{
529
- readonly causal: NullType;
530
- readonly modest: NullType;
531
- readonly adjustment_insufficient: NullType;
532
- readonly non_identifiable_positivity: NullType;
533
- readonly not_estimable: StringType;
534
- }>;
535
- readonly verdict_reasons: ArrayType<VariantType<{
536
- readonly placebo_failed: NullType;
537
- readonly not_material: NullType;
538
- readonly ci_spans_zero: NullType;
539
- readonly wrong_sign: NullType;
540
- readonly thin_support: NullType;
541
- readonly low_robustness: NullType;
542
- }>>;
543
- readonly outcome_sd: import("@elaraai/east").FloatType;
544
- readonly materiality_threshold: import("@elaraai/east").FloatType;
545
- readonly treated_outcome_mean: OptionType<import("@elaraai/east").FloatType>;
546
- readonly control_outcome_mean: OptionType<import("@elaraai/east").FloatType>;
547
- }>;
548
- /** A confidence interval. */
549
- readonly Ci: StructType<{
550
- readonly lower: import("@elaraai/east").FloatType;
551
- readonly upper: import("@elaraai/east").FloatType;
552
- }>;
553
- /** The adjusted (like-for-like) effect + CI. */
554
- readonly Adjusted: StructType<{
555
- readonly effect: import("@elaraai/east").FloatType;
556
- readonly ci: OptionType<StructType<{
557
- readonly lower: import("@elaraai/east").FloatType;
558
- readonly upper: import("@elaraai/east").FloatType;
559
- }>>;
560
- }>;
561
- /** One confounder's before-adjustment imbalance (a balance row). */
562
- readonly Balance: StructType<{
563
- readonly column: StringType;
564
- readonly base_column: StringType;
565
- readonly treated_mean: import("@elaraai/east").FloatType;
566
- readonly control_mean: import("@elaraai/east").FloatType;
567
- readonly std_diff: import("@elaraai/east").FloatType;
568
- readonly std_diff_adjusted: OptionType<import("@elaraai/east").FloatType>;
569
- }>;
570
- /** The propensity-overlap diagnostic. */
571
- readonly Overlap: StructType<{
572
- readonly treated_propensity: import("@elaraai/east").VectorType<import("@elaraai/east").FloatType>;
573
- readonly control_propensity: import("@elaraai/east").VectorType<import("@elaraai/east").FloatType>;
574
- readonly common_support_frac: import("@elaraai/east").FloatType;
575
- readonly positivity_ok: BooleanType;
576
- readonly support_strength: VariantType<{
577
- readonly refused: NullType;
578
- readonly thin: NullType;
579
- readonly strong: NullType;
580
- }>;
581
- }>;
582
- /** The robustness summary. */
583
- readonly Refutation: StructType<{
584
- readonly placebo_effect: OptionType<import("@elaraai/east").FloatType>;
585
- readonly placebo_passes: OptionType<BooleanType>;
586
- readonly random_cc_within_ci: OptionType<BooleanType>;
587
- readonly data_subset_effect: OptionType<import("@elaraai/east").FloatType>;
588
- readonly data_subset_std: OptionType<import("@elaraai/east").FloatType>;
589
- readonly robustness_value: OptionType<import("@elaraai/east").FloatType>;
590
- readonly sensitivity: OptionType<StructType<{
591
- readonly strengths: import("@elaraai/east").VectorType<import("@elaraai/east").FloatType>;
592
- readonly effects: import("@elaraai/east").VectorType<import("@elaraai/east").FloatType>;
593
- readonly benchmarks: ArrayType<StructType<{
594
- readonly column: StringType;
595
- readonly strength: import("@elaraai/east").FloatType;
596
- }>>;
597
- }>>;
598
- readonly expected_sign_ok: OptionType<BooleanType>;
599
- }>;
600
- /** The unobserved-confounder sensitivity (tipping) curve. */
601
- readonly Sensitivity: StructType<{
602
- readonly strengths: import("@elaraai/east").VectorType<import("@elaraai/east").FloatType>;
603
- readonly effects: import("@elaraai/east").VectorType<import("@elaraai/east").FloatType>;
604
- readonly benchmarks: ArrayType<StructType<{
605
- readonly column: StringType;
606
- readonly strength: import("@elaraai/east").FloatType;
607
- }>>;
608
- }>;
609
- /** One observed confounder benchmarked on the sensitivity strengths axis. */
610
- readonly SensitivityBenchmark: StructType<{
611
- readonly column: StringType;
612
- readonly strength: import("@elaraai/east").FloatType;
613
- }>;
614
- /** The honesty verdict tag. */
615
- readonly Verdict: VariantType<{
616
- readonly causal: NullType;
617
- readonly modest: NullType;
618
- readonly adjustment_insufficient: NullType;
619
- readonly non_identifiable_positivity: NullType;
620
- readonly not_estimable: StringType;
621
- }>;
622
- /** Machine-readable reason a verdict fell short of `causal`. */
623
- readonly VerdictReason: VariantType<{
624
- readonly placebo_failed: NullType;
625
- readonly not_material: NullType;
626
- readonly ci_spans_zero: NullType;
627
- readonly wrong_sign: NullType;
628
- readonly thin_support: NullType;
629
- readonly low_robustness: NullType;
630
- }>;
631
- /** The ALE dose-response curve value type (the "How much?" tab). */
632
- readonly DoseResponse: StructType<{
633
- readonly feature: StringType;
634
- readonly grid: import("@elaraai/east").VectorType<import("@elaraai/east").FloatType>;
635
- readonly effect: import("@elaraai/east").VectorType<import("@elaraai/east").FloatType>;
636
- readonly lower: OptionType<import("@elaraai/east").VectorType<import("@elaraai/east").FloatType>>;
637
- readonly upper: OptionType<import("@elaraai/east").VectorType<import("@elaraai/east").FloatType>>;
638
- readonly size: import("@elaraai/east").VectorType<import("@elaraai/east").IntegerType>;
639
- }>;
640
- /** The committed-experiment journal value type. */
641
- readonly Journal: ArrayType<StructType<{
642
- readonly config: StructType<{
643
- readonly treatment: StringType;
644
- readonly outcome: StringType;
645
- readonly common_causes: ArrayType<StringType>;
646
- readonly categorical: OptionType<ArrayType<StringType>>;
647
- readonly method: OptionType<VariantType<{
648
- readonly linear_regression: NullType;
649
- readonly propensity_score_weighting: StructType<{
650
- readonly weighting_scheme: OptionType<VariantType<{
651
- readonly ips_weight: NullType;
652
- readonly ips_stabilized_weight: NullType;
653
- readonly ips_normalized_weight: NullType;
654
- }>>;
655
- }>;
656
- }>>;
657
- readonly estimand: OptionType<VariantType<{
658
- readonly ate: NullType;
659
- readonly att: NullType;
660
- readonly atc: NullType;
661
- }>>;
662
- readonly refute: OptionType<StructType<{
663
- readonly placebo: BooleanType;
664
- readonly random_common_cause: BooleanType;
665
- readonly data_subset: BooleanType;
666
- readonly sensitivity: OptionType<ArrayType<import("@elaraai/east").FloatType>>;
667
- }>>;
668
- readonly dose_feature: OptionType<StringType>;
669
- readonly min_overlap: OptionType<import("@elaraai/east").FloatType>;
670
- readonly min_treatment_variation: OptionType<import("@elaraai/east").FloatType>;
671
- readonly bootstrap: OptionType<StructType<{
672
- readonly reps: import("@elaraai/east").IntegerType;
673
- readonly cluster_column: OptionType<StringType>;
674
- readonly confidence_level: OptionType<import("@elaraai/east").FloatType>;
675
- }>>;
676
- readonly random_state: OptionType<import("@elaraai/east").IntegerType>;
677
- readonly strong_overlap: OptionType<import("@elaraai/east").FloatType>;
678
- readonly evalue_floor: OptionType<import("@elaraai/east").FloatType>;
679
- readonly expected_sign: OptionType<VariantType<{
680
- readonly positive: NullType;
681
- readonly negative: NullType;
682
- }>>;
683
- }>;
684
- readonly verdict: VariantType<{
685
- readonly causal: NullType;
686
- readonly modest: NullType;
687
- readonly adjustment_insufficient: NullType;
688
- readonly non_identifiable_positivity: NullType;
689
- readonly not_estimable: StringType;
690
- }>;
691
- readonly naive: import("@elaraai/east").FloatType;
692
- readonly adjusted: OptionType<import("@elaraai/east").FloatType>;
693
- readonly committed_at: import("@elaraai/east").DateTimeType;
694
- readonly committed_by: StringType;
695
- readonly preset: OptionType<StringType>;
696
- }>>;
697
- /** The validation-trial recipe value type (the "Validate" tab). */
698
- readonly Design: StructType<{
699
- readonly verdict: VariantType<{
700
- readonly causal: NullType;
701
- readonly modest: NullType;
702
- readonly adjustment_insufficient: NullType;
703
- readonly non_identifiable_positivity: NullType;
704
- readonly not_estimable: StringType;
705
- }>;
706
- readonly basis: VariantType<{
707
- readonly detect_observed: NullType;
708
- readonly resolve_vs_null: NullType;
709
- readonly de_bias: NullType;
710
- readonly restrict_to_overlap: NullType;
711
- readonly create_control: NullType;
712
- }>;
713
- readonly target_effect: import("@elaraai/east").FloatType;
714
- readonly outcome_sd: import("@elaraai/east").FloatType;
715
- readonly target_power: import("@elaraai/east").FloatType;
716
- readonly alpha: import("@elaraai/east").FloatType;
717
- readonly current_power: OptionType<import("@elaraai/east").FloatType>;
718
- readonly match_on: ArrayType<StringType>;
719
- readonly options: ArrayType<StructType<{
720
- readonly label: StringType;
721
- readonly treated_share: import("@elaraai/east").FloatType;
722
- readonly n_treated: import("@elaraai/east").IntegerType;
723
- readonly n_control: import("@elaraai/east").IntegerType;
724
- readonly n_total: import("@elaraai/east").IntegerType;
725
- }>>;
726
- readonly power_curve: StructType<{
727
- readonly n: import("@elaraai/east").VectorType<import("@elaraai/east").IntegerType>;
728
- readonly power: import("@elaraai/east").VectorType<import("@elaraai/east").FloatType>;
729
- }>;
730
- readonly rationale: StringType;
731
- }>;
732
- /** The optional design-knobs value type. */
733
- readonly DesignConfig: StructType<{
734
- readonly alpha: OptionType<import("@elaraai/east").FloatType>;
735
- readonly target_power: OptionType<import("@elaraai/east").FloatType>;
736
- readonly materiality: OptionType<import("@elaraai/east").FloatType>;
737
- readonly treated_shares: OptionType<ArrayType<import("@elaraai/east").FloatType>>;
738
- }>;
739
- /** The UI-side Step-4 population filter value type (Array of Slice predicates). */
740
- readonly Population: ArrayType<VariantType<{
741
- readonly string: import("@elaraai/east").StructType<{
742
- readonly fieldId: import("@elaraai/east").StringType;
743
- readonly op: import("@elaraai/east").VariantType<{
744
- readonly eq: import("@elaraai/east").StringType;
745
- readonly neq: import("@elaraai/east").StringType;
746
- readonly in: import("@elaraai/east").SetType<import("@elaraai/east").StringType>;
747
- readonly notIn: import("@elaraai/east").SetType<import("@elaraai/east").StringType>;
748
- readonly contains: import("@elaraai/east").StringType;
749
- readonly matches: import("@elaraai/east").StringType;
750
- readonly startsWith: import("@elaraai/east").StringType;
751
- readonly endsWith: import("@elaraai/east").StringType;
752
- readonly isEmpty: import("@elaraai/east").NullType;
753
- readonly isNotEmpty: import("@elaraai/east").NullType;
754
- }>;
755
- }>;
756
- readonly integer: import("@elaraai/east").StructType<{
757
- readonly fieldId: import("@elaraai/east").StringType;
758
- readonly op: import("@elaraai/east").VariantType<{
759
- readonly eq: import("@elaraai/east").IntegerType;
760
- readonly neq: import("@elaraai/east").IntegerType;
761
- readonly lt: import("@elaraai/east").IntegerType;
762
- readonly lte: import("@elaraai/east").IntegerType;
763
- readonly gt: import("@elaraai/east").IntegerType;
764
- readonly gte: import("@elaraai/east").IntegerType;
765
- readonly in: import("@elaraai/east").SetType<import("@elaraai/east").IntegerType>;
766
- }>;
767
- }>;
768
- readonly float: import("@elaraai/east").StructType<{
769
- readonly fieldId: import("@elaraai/east").StringType;
770
- readonly op: import("@elaraai/east").VariantType<{
771
- readonly lt: import("@elaraai/east").FloatType;
772
- readonly lte: import("@elaraai/east").FloatType;
773
- readonly gt: import("@elaraai/east").FloatType;
774
- readonly gte: import("@elaraai/east").FloatType;
775
- }>;
776
- }>;
777
- readonly datetime: import("@elaraai/east").StructType<{
778
- readonly fieldId: import("@elaraai/east").StringType;
779
- readonly op: import("@elaraai/east").VariantType<{
780
- readonly before: import("@elaraai/east").DateTimeType;
781
- readonly after: import("@elaraai/east").DateTimeType;
782
- readonly between: import("@elaraai/east").StructType<{
783
- readonly from: import("@elaraai/east").DateTimeType;
784
- readonly to: import("@elaraai/east").DateTimeType;
785
- }>;
786
- }>;
787
- }>;
788
- readonly boolean: import("@elaraai/east").StructType<{
789
- readonly fieldId: import("@elaraai/east").StringType;
790
- readonly op: import("@elaraai/east").VariantType<{
791
- readonly is: import("@elaraai/east").BooleanType;
792
- }>;
793
- }>;
794
- }>>;
795
- /** A configuration value type — a named question + scope + optional precomputed answer. */
796
- readonly Configuration: StructType<{
797
- readonly id: StringType;
798
- readonly label: StringType;
799
- readonly spec: StructType<{
800
- readonly treatment: StringType;
801
- readonly outcome: StringType;
802
- readonly common_causes: ArrayType<StringType>;
803
- readonly categorical: OptionType<ArrayType<StringType>>;
804
- readonly method: OptionType<VariantType<{
805
- readonly linear_regression: NullType;
806
- readonly propensity_score_weighting: StructType<{
807
- readonly weighting_scheme: OptionType<VariantType<{
808
- readonly ips_weight: NullType;
809
- readonly ips_stabilized_weight: NullType;
810
- readonly ips_normalized_weight: NullType;
811
- }>>;
812
- }>;
813
- }>>;
814
- readonly estimand: OptionType<VariantType<{
815
- readonly ate: NullType;
816
- readonly att: NullType;
817
- readonly atc: NullType;
818
- }>>;
819
- readonly refute: OptionType<StructType<{
820
- readonly placebo: BooleanType;
821
- readonly random_common_cause: BooleanType;
822
- readonly data_subset: BooleanType;
823
- readonly sensitivity: OptionType<ArrayType<import("@elaraai/east").FloatType>>;
824
- }>>;
825
- readonly dose_feature: OptionType<StringType>;
826
- readonly min_overlap: OptionType<import("@elaraai/east").FloatType>;
827
- readonly min_treatment_variation: OptionType<import("@elaraai/east").FloatType>;
828
- readonly bootstrap: OptionType<StructType<{
829
- readonly reps: import("@elaraai/east").IntegerType;
830
- readonly cluster_column: OptionType<StringType>;
831
- readonly confidence_level: OptionType<import("@elaraai/east").FloatType>;
832
- }>>;
833
- readonly random_state: OptionType<import("@elaraai/east").IntegerType>;
834
- readonly strong_overlap: OptionType<import("@elaraai/east").FloatType>;
835
- readonly evalue_floor: OptionType<import("@elaraai/east").FloatType>;
836
- readonly expected_sign: OptionType<VariantType<{
837
- readonly positive: NullType;
838
- readonly negative: NullType;
839
- }>>;
840
- }>;
841
- readonly population: OptionType<ArrayType<VariantType<{
842
- readonly string: import("@elaraai/east").StructType<{
843
- readonly fieldId: import("@elaraai/east").StringType;
844
- readonly op: import("@elaraai/east").VariantType<{
845
- readonly eq: import("@elaraai/east").StringType;
846
- readonly neq: import("@elaraai/east").StringType;
847
- readonly in: import("@elaraai/east").SetType<import("@elaraai/east").StringType>;
848
- readonly notIn: import("@elaraai/east").SetType<import("@elaraai/east").StringType>;
849
- readonly contains: import("@elaraai/east").StringType;
850
- readonly matches: import("@elaraai/east").StringType;
851
- readonly startsWith: import("@elaraai/east").StringType;
852
- readonly endsWith: import("@elaraai/east").StringType;
853
- readonly isEmpty: import("@elaraai/east").NullType;
854
- readonly isNotEmpty: import("@elaraai/east").NullType;
855
- }>;
856
- }>;
857
- readonly integer: import("@elaraai/east").StructType<{
858
- readonly fieldId: import("@elaraai/east").StringType;
859
- readonly op: import("@elaraai/east").VariantType<{
860
- readonly eq: import("@elaraai/east").IntegerType;
861
- readonly neq: import("@elaraai/east").IntegerType;
862
- readonly lt: import("@elaraai/east").IntegerType;
863
- readonly lte: import("@elaraai/east").IntegerType;
864
- readonly gt: import("@elaraai/east").IntegerType;
865
- readonly gte: import("@elaraai/east").IntegerType;
866
- readonly in: import("@elaraai/east").SetType<import("@elaraai/east").IntegerType>;
867
- }>;
868
- }>;
869
- readonly float: import("@elaraai/east").StructType<{
870
- readonly fieldId: import("@elaraai/east").StringType;
871
- readonly op: import("@elaraai/east").VariantType<{
872
- readonly lt: import("@elaraai/east").FloatType;
873
- readonly lte: import("@elaraai/east").FloatType;
874
- readonly gt: import("@elaraai/east").FloatType;
875
- readonly gte: import("@elaraai/east").FloatType;
876
- }>;
877
- }>;
878
- readonly datetime: import("@elaraai/east").StructType<{
879
- readonly fieldId: import("@elaraai/east").StringType;
880
- readonly op: import("@elaraai/east").VariantType<{
881
- readonly before: import("@elaraai/east").DateTimeType;
882
- readonly after: import("@elaraai/east").DateTimeType;
883
- readonly between: import("@elaraai/east").StructType<{
884
- readonly from: import("@elaraai/east").DateTimeType;
885
- readonly to: import("@elaraai/east").DateTimeType;
886
- }>;
887
- }>;
888
- }>;
889
- readonly boolean: import("@elaraai/east").StructType<{
890
- readonly fieldId: import("@elaraai/east").StringType;
891
- readonly op: import("@elaraai/east").VariantType<{
892
- readonly is: import("@elaraai/east").BooleanType;
893
- }>;
894
- }>;
895
- }>>>;
896
- readonly group: OptionType<StringType>;
897
- readonly result: OptionType<StructType<{
898
- readonly naive: import("@elaraai/east").FloatType;
899
- readonly naive_ci: OptionType<StructType<{
900
- readonly lower: import("@elaraai/east").FloatType;
901
- readonly upper: import("@elaraai/east").FloatType;
902
- }>>;
903
- readonly adjusted: OptionType<StructType<{
904
- readonly effect: import("@elaraai/east").FloatType;
905
- readonly ci: OptionType<StructType<{
906
- readonly lower: import("@elaraai/east").FloatType;
907
- readonly upper: import("@elaraai/east").FloatType;
908
- }>>;
909
- }>>;
910
- readonly n_total: import("@elaraai/east").IntegerType;
911
- readonly n_treated: import("@elaraai/east").IntegerType;
912
- readonly n_control: import("@elaraai/east").IntegerType;
913
- readonly n_dropped: import("@elaraai/east").IntegerType;
914
- readonly balance: ArrayType<StructType<{
915
- readonly column: StringType;
916
- readonly base_column: StringType;
917
- readonly treated_mean: import("@elaraai/east").FloatType;
918
- readonly control_mean: import("@elaraai/east").FloatType;
919
- readonly std_diff: import("@elaraai/east").FloatType;
920
- readonly std_diff_adjusted: OptionType<import("@elaraai/east").FloatType>;
921
- }>>;
922
- readonly overlap: StructType<{
923
- readonly treated_propensity: import("@elaraai/east").VectorType<import("@elaraai/east").FloatType>;
924
- readonly control_propensity: import("@elaraai/east").VectorType<import("@elaraai/east").FloatType>;
925
- readonly common_support_frac: import("@elaraai/east").FloatType;
926
- readonly positivity_ok: BooleanType;
927
- readonly support_strength: VariantType<{
928
- readonly refused: NullType;
929
- readonly thin: NullType;
930
- readonly strong: NullType;
931
- }>;
932
- }>;
933
- readonly refutation: OptionType<StructType<{
934
- readonly placebo_effect: OptionType<import("@elaraai/east").FloatType>;
935
- readonly placebo_passes: OptionType<BooleanType>;
936
- readonly random_cc_within_ci: OptionType<BooleanType>;
937
- readonly data_subset_effect: OptionType<import("@elaraai/east").FloatType>;
938
- readonly data_subset_std: OptionType<import("@elaraai/east").FloatType>;
939
- readonly robustness_value: OptionType<import("@elaraai/east").FloatType>;
940
- readonly sensitivity: OptionType<StructType<{
941
- readonly strengths: import("@elaraai/east").VectorType<import("@elaraai/east").FloatType>;
942
- readonly effects: import("@elaraai/east").VectorType<import("@elaraai/east").FloatType>;
943
- readonly benchmarks: ArrayType<StructType<{
944
- readonly column: StringType;
945
- readonly strength: import("@elaraai/east").FloatType;
946
- }>>;
947
- }>>;
948
- readonly expected_sign_ok: OptionType<BooleanType>;
949
- }>>;
950
- readonly dose_response: OptionType<StructType<{
951
- readonly feature: StringType;
952
- readonly grid: import("@elaraai/east").VectorType<import("@elaraai/east").FloatType>;
953
- readonly effect: import("@elaraai/east").VectorType<import("@elaraai/east").FloatType>;
954
- readonly lower: OptionType<import("@elaraai/east").VectorType<import("@elaraai/east").FloatType>>;
955
- readonly upper: OptionType<import("@elaraai/east").VectorType<import("@elaraai/east").FloatType>>;
956
- readonly size: import("@elaraai/east").VectorType<import("@elaraai/east").IntegerType>;
957
- }>>;
958
- readonly verdict: VariantType<{
959
- readonly causal: NullType;
960
- readonly modest: NullType;
961
- readonly adjustment_insufficient: NullType;
962
- readonly non_identifiable_positivity: NullType;
963
- readonly not_estimable: StringType;
964
- }>;
965
- readonly verdict_reasons: ArrayType<VariantType<{
966
- readonly placebo_failed: NullType;
967
- readonly not_material: NullType;
968
- readonly ci_spans_zero: NullType;
969
- readonly wrong_sign: NullType;
970
- readonly thin_support: NullType;
971
- readonly low_robustness: NullType;
972
- }>>;
973
- readonly outcome_sd: import("@elaraai/east").FloatType;
974
- readonly materiality_threshold: import("@elaraai/east").FloatType;
975
- readonly treated_outcome_mean: OptionType<import("@elaraai/east").FloatType>;
976
- readonly control_outcome_mean: OptionType<import("@elaraai/east").FloatType>;
977
- }>>;
978
- readonly design: OptionType<StructType<{
979
- readonly verdict: VariantType<{
980
- readonly causal: NullType;
981
- readonly modest: NullType;
982
- readonly adjustment_insufficient: NullType;
983
- readonly non_identifiable_positivity: NullType;
984
- readonly not_estimable: StringType;
985
- }>;
986
- readonly basis: VariantType<{
987
- readonly detect_observed: NullType;
988
- readonly resolve_vs_null: NullType;
989
- readonly de_bias: NullType;
990
- readonly restrict_to_overlap: NullType;
991
- readonly create_control: NullType;
992
- }>;
993
- readonly target_effect: import("@elaraai/east").FloatType;
994
- readonly outcome_sd: import("@elaraai/east").FloatType;
995
- readonly target_power: import("@elaraai/east").FloatType;
996
- readonly alpha: import("@elaraai/east").FloatType;
997
- readonly current_power: OptionType<import("@elaraai/east").FloatType>;
998
- readonly match_on: ArrayType<StringType>;
999
- readonly options: ArrayType<StructType<{
1000
- readonly label: StringType;
1001
- readonly treated_share: import("@elaraai/east").FloatType;
1002
- readonly n_treated: import("@elaraai/east").IntegerType;
1003
- readonly n_control: import("@elaraai/east").IntegerType;
1004
- readonly n_total: import("@elaraai/east").IntegerType;
1005
- }>>;
1006
- readonly power_curve: StructType<{
1007
- readonly n: import("@elaraai/east").VectorType<import("@elaraai/east").IntegerType>;
1008
- readonly power: import("@elaraai/east").VectorType<import("@elaraai/east").FloatType>;
1009
- }>;
1010
- readonly rationale: StringType;
1011
- }>>;
1012
- }>;
1013
- /** Optional per-column display metadata. */
1014
- readonly ColumnMeta: import("@elaraai/east").DictType<StringType, StructType<{
1015
- readonly label: OptionType<StringType>;
1016
- readonly unit: OptionType<StringType>;
1017
- readonly higherIsBetter: OptionType<BooleanType>;
1018
- }>>;
1019
- /** Optional domain noun for a row (singular + plural). */
1020
- readonly Subject: StructType<{
1021
- readonly one: StringType;
1022
- readonly many: StringType;
1023
- }>;
1024
- /** Initial result tab variant. */
1025
- readonly Tab: VariantType<{
1026
- readonly answer: NullType;
1027
- readonly trust: NullType;
1028
- readonly dose: NullType;
1029
- readonly validate: NullType;
1030
- }>;
1031
- };
1032
- };
1033
- //# sourceMappingURL=index.d.ts.map