@elaraai/e3-ui 1.0.12 → 1.0.14
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.
- package/dist/src/{data.d.ts → bind/data.d.ts} +7 -0
- package/dist/src/bind/data.d.ts.map +1 -0
- package/dist/src/{data.js → bind/data.js} +7 -0
- package/dist/src/bind/data.js.map +1 -0
- package/dist/src/bind/func.d.ts.map +1 -0
- package/dist/src/bind/func.js.map +1 -0
- package/dist/src/bind/record.d.ts +275 -0
- package/dist/src/bind/record.d.ts.map +1 -0
- package/dist/src/bind/record.js +239 -0
- package/dist/src/bind/record.js.map +1 -0
- package/dist/src/decision/bind.d.ts +1 -1
- package/dist/src/decision/bind.d.ts.map +1 -1
- package/dist/src/decision/bind.js +1 -1
- package/dist/src/decision/bind.js.map +1 -1
- package/dist/src/{diff.d.ts → diff/index.d.ts} +3 -3
- package/dist/src/diff/index.d.ts.map +1 -0
- package/dist/src/{diff.js → diff/index.js} +3 -3
- package/dist/src/diff/index.js.map +1 -0
- package/dist/src/experiment/index.d.ts +379 -325
- package/dist/src/experiment/index.d.ts.map +1 -1
- package/dist/src/experiment/index.js +59 -60
- package/dist/src/experiment/index.js.map +1 -1
- package/dist/src/experiment/types.d.ts +439 -475
- package/dist/src/experiment/types.d.ts.map +1 -1
- package/dist/src/experiment/types.js +218 -256
- package/dist/src/experiment/types.js.map +1 -1
- package/dist/src/index.d.ts +7 -6
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +11 -10
- package/dist/src/index.js.map +1 -1
- package/dist/src/internal.d.ts +7 -6
- package/dist/src/internal.d.ts.map +1 -1
- package/dist/src/internal.js +7 -6
- package/dist/src/internal.js.map +1 -1
- package/dist/src/{ontology.d.ts → ontology/index.d.ts} +3 -3
- package/dist/src/ontology/index.d.ts.map +1 -0
- package/dist/src/{ontology.js → ontology/index.js} +3 -3
- package/dist/src/ontology/index.js.map +1 -0
- package/dist/src/runtime/diff.d.ts +1 -1
- package/dist/src/runtime/diff.d.ts.map +1 -1
- package/dist/src/runtime/diff.js +1 -1
- package/dist/src/runtime/diff.js.map +1 -1
- package/dist/src/runtime/ontology.d.ts +1 -1
- package/dist/src/runtime/ontology.d.ts.map +1 -1
- package/dist/src/runtime/ontology.js +1 -1
- package/dist/src/runtime/ontology.js.map +1 -1
- package/dist/src/ui.js +3 -3
- package/dist/src/ui.js.map +1 -1
- package/dist/src/utils/derive.d.ts +29 -0
- package/dist/src/utils/derive.d.ts.map +1 -0
- package/dist/src/utils/derive.js +57 -0
- package/dist/src/utils/derive.js.map +1 -0
- package/dist/src/{manifest.d.ts → utils/manifest.d.ts} +9 -14
- package/dist/src/utils/manifest.d.ts.map +1 -0
- package/dist/src/utils/manifest.js +37 -0
- package/dist/src/utils/manifest.js.map +1 -0
- package/dist/test/bind/data/data.examples.d.ts.map +1 -0
- package/dist/test/bind/data/data.examples.js.map +1 -0
- package/dist/test/bind/func/func.examples.d.ts.map +1 -0
- package/dist/test/bind/func/func.examples.js.map +1 -0
- package/dist/test/bind/record/record.examples.d.ts +13 -0
- package/dist/test/bind/record/record.examples.d.ts.map +1 -0
- package/dist/test/bind/record/record.examples.js +73 -0
- package/dist/test/bind/record/record.examples.js.map +1 -0
- package/dist/test/experiment/experiment.examples.d.ts +285 -385
- package/dist/test/experiment/experiment.examples.d.ts.map +1 -1
- package/dist/test/experiment/experiment.examples.js +148 -79
- package/dist/test/experiment/experiment.examples.js.map +1 -1
- package/package.json +7 -7
- package/dist/src/data.d.ts.map +0 -1
- package/dist/src/data.js.map +0 -1
- package/dist/src/derive.d.ts +0 -34
- package/dist/src/derive.d.ts.map +0 -1
- package/dist/src/derive.js +0 -86
- package/dist/src/derive.js.map +0 -1
- package/dist/src/diff.d.ts.map +0 -1
- package/dist/src/diff.js.map +0 -1
- package/dist/src/func.d.ts.map +0 -1
- package/dist/src/func.js.map +0 -1
- package/dist/src/manifest.d.ts.map +0 -1
- package/dist/src/manifest.js +0 -53
- package/dist/src/manifest.js.map +0 -1
- package/dist/src/ontology.d.ts.map +0 -1
- package/dist/src/ontology.js.map +0 -1
- package/dist/test/data/data.examples.d.ts.map +0 -1
- package/dist/test/data/data.examples.js.map +0 -1
- package/dist/test/func/func.examples.d.ts.map +0 -1
- package/dist/test/func/func.examples.js.map +0 -1
- /package/dist/src/{func.d.ts → bind/func.d.ts} +0 -0
- /package/dist/src/{func.js → bind/func.js} +0 -0
- /package/dist/test/{data → bind/data}/data.examples.d.ts +0 -0
- /package/dist/test/{data → bind/data}/data.examples.js +0 -0
- /package/dist/test/{func → bind/func}/func.examples.d.ts +0 -0
- /package/dist/test/{func → bind/func}/func.examples.js +0 -0
|
@@ -6,68 +6,50 @@
|
|
|
6
6
|
* `Experiment` component — an interactive causal-experiment surface.
|
|
7
7
|
*
|
|
8
8
|
* @remarks
|
|
9
|
-
* `Experiment` lets a domain expert ask *"did X change Y?"*
|
|
10
|
-
* and
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
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
15
|
*
|
|
16
16
|
* **Generic over the input row, like `Table`.** The author binds the input
|
|
17
|
-
* dataset (`data: BoundValue<ArrayType<Row>>`); the renderer introspects its
|
|
18
|
-
*
|
|
19
|
-
* **end user** re-frames the experiment from the dataset's own columns.
|
|
17
|
+
* dataset (`data: BoundValue<ArrayType<Row>>`); the renderer introspects its row
|
|
18
|
+
* struct to drive the treatment / outcome / confounder pickers.
|
|
20
19
|
*
|
|
21
|
-
* **The user
|
|
22
|
-
* stages a new {@link
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
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.
|
|
27
26
|
*
|
|
28
|
-
* **Visual-first and derived.**
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
* derived by rule (interval clears zero → HIGHER / LOWER; spans zero → NO CLEAR
|
|
32
|
-
* EFFECT; raw and adjusted disagree in sign → the "misleading" banner). The
|
|
33
|
-
* contract types ({@link ExperimentSpecType}, {@link ExperimentResultType}, …)
|
|
34
|
-
* live in {@link "./experiment/types"} and are reached via `Experiment.Types.*`.
|
|
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.
|
|
35
30
|
*
|
|
36
31
|
* @packageDocumentation
|
|
37
32
|
*/
|
|
38
|
-
import { NullType, BooleanType,
|
|
33
|
+
import { NullType, BooleanType, ArrayType, StructType, VariantType, OptionType, type ExprType, type SubtypeExprOrValue } from '@elaraai/east';
|
|
39
34
|
import { type UIComponentType } from '@elaraai/east-ui';
|
|
40
|
-
import { type BoundValue } from '../data.js';
|
|
41
|
-
import { type BoundFunc } from '../func.js';
|
|
42
|
-
import {
|
|
43
|
-
export { WeightingSchemeType, EstimatorType, TargetUnitsType,
|
|
35
|
+
import { type BoundValue } from '../bind/data.js';
|
|
36
|
+
import { type BoundFunc } from '../bind/func.js';
|
|
37
|
+
import { ExperimentConfigType, ExperimentResultType, JournalType, PopulationType, DesignConfigType, ExperimentDesignType } from './types.js';
|
|
38
|
+
export { CiType, WeightingSchemeType, EstimatorType, TargetUnitsType, BootstrapConfigType, RefuteSpecType, ExperimentConfigType, BalanceRowType, OverlapDiagnosticType, RefutationType, DoseResponseType, ExperimentVerdictType, ExperimentResultType, JournalRowType, JournalType, ColumnMetaType, PopulationType, } from './types.js';
|
|
44
39
|
/**
|
|
45
|
-
* The `
|
|
46
|
-
* renderer calls this on **
|
|
40
|
+
* The `experiment` function signature: `(rows, config) → ExperimentResult`. The
|
|
41
|
+
* renderer calls this on **Apply** with the bound `data` and the staged config.
|
|
47
42
|
*
|
|
48
43
|
* @typeParam Row - The input dataset's row struct.
|
|
49
44
|
*/
|
|
50
|
-
export type
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
* robustness battery shown in the "Can we trust it?" tab.
|
|
54
|
-
*
|
|
55
|
-
* @typeParam Row - The input dataset's row struct.
|
|
56
|
-
*/
|
|
57
|
-
export type RefuteFunc<Row extends StructType> = BoundFunc<[ArrayType<Row>, ExperimentSpecType], RefuteResultType>;
|
|
58
|
-
/**
|
|
59
|
-
* The optional `dose` function signature: `(rows, spec, feature) → DoseResult` —
|
|
60
|
-
* the ALE dose-response curve for the chosen `feature` column shown in the "How
|
|
61
|
-
* much?" tab.
|
|
62
|
-
*
|
|
63
|
-
* @typeParam Row - The input dataset's row struct.
|
|
64
|
-
*/
|
|
65
|
-
export type DoseFunc<Row extends StructType> = BoundFunc<[ArrayType<Row>, ExperimentSpecType, StringType], DoseResultType>;
|
|
66
|
-
/** Initial result tab variant — `answer` (default), `trust`, or `dose`. */
|
|
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`. */
|
|
67
48
|
export declare const ExperimentTabType: VariantType<{
|
|
68
49
|
readonly answer: NullType;
|
|
69
50
|
readonly trust: NullType;
|
|
70
51
|
readonly dose: NullType;
|
|
52
|
+
readonly validate: NullType;
|
|
71
53
|
}>;
|
|
72
54
|
/** Type alias for {@link ExperimentTabType}. */
|
|
73
55
|
export type ExperimentTabType = typeof ExperimentTabType;
|
|
@@ -76,65 +58,75 @@ export type ExperimentTabType = typeof ExperimentTabType;
|
|
|
76
58
|
* decode this and resolve each binding to a live, reactive value / call handle.
|
|
77
59
|
*
|
|
78
60
|
* @property data - {@link DiffBindingType} for the input dataset — the renderer
|
|
79
|
-
* introspects its row struct for the pickers and passes it to the
|
|
80
|
-
* @property
|
|
81
|
-
* @property
|
|
82
|
-
* @property
|
|
83
|
-
*
|
|
61
|
+
* introspects its row struct for the pickers and passes it to the function.
|
|
62
|
+
* @property config - {@link DiffBindingType} for the staged {@link ExperimentConfigType}.
|
|
63
|
+
* @property experiment - {@link FuncBindingType} for the single `experiment` function.
|
|
64
|
+
* @property population - Optional {@link DiffBindingType} for the staged Step-4
|
|
65
|
+
* population filter ({@link PopulationType}); narrows rows UI-side before the call.
|
|
84
66
|
* @property journal - Optional {@link DiffBindingType} for the committed-experiment journal.
|
|
85
67
|
* @property columnMeta - Optional per-column display metadata.
|
|
86
|
-
* @property readonly - Render without the
|
|
68
|
+
* @property readonly - Render without the Apply / Commit / edit affordances.
|
|
87
69
|
* @property defaultTab - Initial result tab ({@link ExperimentTabType}).
|
|
88
70
|
*/
|
|
89
71
|
export declare const ExperimentPayloadType: StructType<{
|
|
90
72
|
readonly data: StructType<{
|
|
91
73
|
readonly source: ArrayType<VariantType<{
|
|
92
|
-
readonly field: StringType;
|
|
74
|
+
readonly field: import("@elaraai/east").StringType;
|
|
93
75
|
}>>;
|
|
94
76
|
readonly patch: OptionType<ArrayType<VariantType<{
|
|
95
|
-
readonly field: StringType;
|
|
77
|
+
readonly field: import("@elaraai/east").StringType;
|
|
96
78
|
}>>>;
|
|
97
79
|
readonly mode: VariantType<{
|
|
98
80
|
readonly staged: NullType;
|
|
99
81
|
readonly direct: NullType;
|
|
100
82
|
}>;
|
|
101
83
|
}>;
|
|
102
|
-
readonly
|
|
84
|
+
readonly config: StructType<{
|
|
103
85
|
readonly source: ArrayType<VariantType<{
|
|
104
|
-
readonly field: StringType;
|
|
86
|
+
readonly field: import("@elaraai/east").StringType;
|
|
105
87
|
}>>;
|
|
106
88
|
readonly patch: OptionType<ArrayType<VariantType<{
|
|
107
|
-
readonly field: StringType;
|
|
89
|
+
readonly field: import("@elaraai/east").StringType;
|
|
108
90
|
}>>>;
|
|
109
91
|
readonly mode: VariantType<{
|
|
110
92
|
readonly staged: NullType;
|
|
111
93
|
readonly direct: NullType;
|
|
112
94
|
}>;
|
|
113
95
|
}>;
|
|
114
|
-
readonly
|
|
115
|
-
readonly name: StringType;
|
|
96
|
+
readonly experiment: StructType<{
|
|
97
|
+
readonly name: import("@elaraai/east").StringType;
|
|
116
98
|
}>;
|
|
117
|
-
readonly
|
|
118
|
-
readonly
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
readonly
|
|
99
|
+
readonly population: OptionType<StructType<{
|
|
100
|
+
readonly source: ArrayType<VariantType<{
|
|
101
|
+
readonly field: import("@elaraai/east").StringType;
|
|
102
|
+
}>>;
|
|
103
|
+
readonly patch: OptionType<ArrayType<VariantType<{
|
|
104
|
+
readonly field: import("@elaraai/east").StringType;
|
|
105
|
+
}>>>;
|
|
106
|
+
readonly mode: VariantType<{
|
|
107
|
+
readonly staged: NullType;
|
|
108
|
+
readonly direct: NullType;
|
|
109
|
+
}>;
|
|
122
110
|
}>>;
|
|
123
111
|
readonly journal: OptionType<StructType<{
|
|
124
112
|
readonly source: ArrayType<VariantType<{
|
|
125
|
-
readonly field: StringType;
|
|
113
|
+
readonly field: import("@elaraai/east").StringType;
|
|
126
114
|
}>>;
|
|
127
115
|
readonly patch: OptionType<ArrayType<VariantType<{
|
|
128
|
-
readonly field: StringType;
|
|
116
|
+
readonly field: import("@elaraai/east").StringType;
|
|
129
117
|
}>>>;
|
|
130
118
|
readonly mode: VariantType<{
|
|
131
119
|
readonly staged: NullType;
|
|
132
120
|
readonly direct: NullType;
|
|
133
121
|
}>;
|
|
134
122
|
}>>;
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
readonly
|
|
123
|
+
/** Optional `design` function → the validation-trial recipe ("Validate" tab). */
|
|
124
|
+
readonly design: OptionType<StructType<{
|
|
125
|
+
readonly name: import("@elaraai/east").StringType;
|
|
126
|
+
}>>;
|
|
127
|
+
readonly columnMeta: OptionType<import("@elaraai/east").DictType<import("@elaraai/east").StringType, StructType<{
|
|
128
|
+
readonly label: OptionType<import("@elaraai/east").StringType>;
|
|
129
|
+
readonly unit: OptionType<import("@elaraai/east").StringType>;
|
|
138
130
|
readonly higherIsBetter: OptionType<BooleanType>;
|
|
139
131
|
}>>>;
|
|
140
132
|
readonly readonly: OptionType<BooleanType>;
|
|
@@ -142,12 +134,13 @@ export declare const ExperimentPayloadType: StructType<{
|
|
|
142
134
|
readonly answer: NullType;
|
|
143
135
|
readonly trust: NullType;
|
|
144
136
|
readonly dose: NullType;
|
|
137
|
+
readonly validate: NullType;
|
|
145
138
|
}>>;
|
|
146
139
|
}>;
|
|
147
140
|
/** Type alias for {@link ExperimentPayloadType}. */
|
|
148
141
|
export type ExperimentPayloadType = typeof ExperimentPayloadType;
|
|
149
142
|
/** Initial result tab as a string literal. */
|
|
150
|
-
export type ExperimentTabLiteral = 'answer' | 'trust' | 'dose';
|
|
143
|
+
export type ExperimentTabLiteral = 'answer' | 'trust' | 'dose' | 'validate';
|
|
151
144
|
/**
|
|
152
145
|
* Internal {@link EastUI.component} carrier. The React renderer registers
|
|
153
146
|
* against this in `@elaraai/e3-ui-components`.
|
|
@@ -155,52 +148,62 @@ export type ExperimentTabLiteral = 'answer' | 'trust' | 'dose';
|
|
|
155
148
|
export declare const ExperimentComponent: import("@elaraai/east-ui").UIComponentDef<StructType<{
|
|
156
149
|
readonly data: StructType<{
|
|
157
150
|
readonly source: ArrayType<VariantType<{
|
|
158
|
-
readonly field: StringType;
|
|
151
|
+
readonly field: import("@elaraai/east").StringType;
|
|
159
152
|
}>>;
|
|
160
153
|
readonly patch: OptionType<ArrayType<VariantType<{
|
|
161
|
-
readonly field: StringType;
|
|
154
|
+
readonly field: import("@elaraai/east").StringType;
|
|
162
155
|
}>>>;
|
|
163
156
|
readonly mode: VariantType<{
|
|
164
157
|
readonly staged: NullType;
|
|
165
158
|
readonly direct: NullType;
|
|
166
159
|
}>;
|
|
167
160
|
}>;
|
|
168
|
-
readonly
|
|
161
|
+
readonly config: StructType<{
|
|
169
162
|
readonly source: ArrayType<VariantType<{
|
|
170
|
-
readonly field: StringType;
|
|
163
|
+
readonly field: import("@elaraai/east").StringType;
|
|
171
164
|
}>>;
|
|
172
165
|
readonly patch: OptionType<ArrayType<VariantType<{
|
|
173
|
-
readonly field: StringType;
|
|
166
|
+
readonly field: import("@elaraai/east").StringType;
|
|
174
167
|
}>>>;
|
|
175
168
|
readonly mode: VariantType<{
|
|
176
169
|
readonly staged: NullType;
|
|
177
170
|
readonly direct: NullType;
|
|
178
171
|
}>;
|
|
179
172
|
}>;
|
|
180
|
-
readonly
|
|
181
|
-
readonly name: StringType;
|
|
173
|
+
readonly experiment: StructType<{
|
|
174
|
+
readonly name: import("@elaraai/east").StringType;
|
|
182
175
|
}>;
|
|
183
|
-
readonly
|
|
184
|
-
readonly
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
readonly
|
|
176
|
+
readonly population: OptionType<StructType<{
|
|
177
|
+
readonly source: ArrayType<VariantType<{
|
|
178
|
+
readonly field: import("@elaraai/east").StringType;
|
|
179
|
+
}>>;
|
|
180
|
+
readonly patch: OptionType<ArrayType<VariantType<{
|
|
181
|
+
readonly field: import("@elaraai/east").StringType;
|
|
182
|
+
}>>>;
|
|
183
|
+
readonly mode: VariantType<{
|
|
184
|
+
readonly staged: NullType;
|
|
185
|
+
readonly direct: NullType;
|
|
186
|
+
}>;
|
|
188
187
|
}>>;
|
|
189
188
|
readonly journal: OptionType<StructType<{
|
|
190
189
|
readonly source: ArrayType<VariantType<{
|
|
191
|
-
readonly field: StringType;
|
|
190
|
+
readonly field: import("@elaraai/east").StringType;
|
|
192
191
|
}>>;
|
|
193
192
|
readonly patch: OptionType<ArrayType<VariantType<{
|
|
194
|
-
readonly field: StringType;
|
|
193
|
+
readonly field: import("@elaraai/east").StringType;
|
|
195
194
|
}>>>;
|
|
196
195
|
readonly mode: VariantType<{
|
|
197
196
|
readonly staged: NullType;
|
|
198
197
|
readonly direct: NullType;
|
|
199
198
|
}>;
|
|
200
199
|
}>>;
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
readonly
|
|
200
|
+
/** Optional `design` function → the validation-trial recipe ("Validate" tab). */
|
|
201
|
+
readonly design: OptionType<StructType<{
|
|
202
|
+
readonly name: import("@elaraai/east").StringType;
|
|
203
|
+
}>>;
|
|
204
|
+
readonly columnMeta: OptionType<import("@elaraai/east").DictType<import("@elaraai/east").StringType, StructType<{
|
|
205
|
+
readonly label: OptionType<import("@elaraai/east").StringType>;
|
|
206
|
+
readonly unit: OptionType<import("@elaraai/east").StringType>;
|
|
204
207
|
readonly higherIsBetter: OptionType<BooleanType>;
|
|
205
208
|
}>>>;
|
|
206
209
|
readonly readonly: OptionType<BooleanType>;
|
|
@@ -208,23 +211,9 @@ export declare const ExperimentComponent: import("@elaraai/east-ui").UIComponent
|
|
|
208
211
|
readonly answer: NullType;
|
|
209
212
|
readonly trust: NullType;
|
|
210
213
|
readonly dose: NullType;
|
|
214
|
+
readonly validate: NullType;
|
|
211
215
|
}>>;
|
|
212
216
|
}>>;
|
|
213
|
-
/**
|
|
214
|
-
* Options for {@link Experiment.Root}, generic over the input row struct.
|
|
215
|
-
*
|
|
216
|
-
* @typeParam Row - The input dataset's row struct — inferred from `data`.
|
|
217
|
-
*
|
|
218
|
-
* @property data - The {@link Data.bind} handle for the input dataset.
|
|
219
|
-
* @property spec - The {@link Data.bind} handle for the staged experiment spec.
|
|
220
|
-
* @property estimate - The {@link Func.bind} handle for the estimator.
|
|
221
|
-
* @property refute - Optional {@link Func.bind} handle for the robustness battery.
|
|
222
|
-
* @property dose - Optional {@link Func.bind} handle for the dose-response curve.
|
|
223
|
-
* @property journal - Optional {@link Data.bind} handle for the committed-experiment journal.
|
|
224
|
-
* @property columnMeta - Optional per-column display metadata.
|
|
225
|
-
* @property readonly - Render without mutation affordances.
|
|
226
|
-
* @property defaultTab - Initial result tab.
|
|
227
|
-
*/
|
|
228
217
|
/**
|
|
229
218
|
* Per-column display config — the friendly label, unit suffix, and good
|
|
230
219
|
* direction the surface uses to phrase results ("worse" instead of "lower").
|
|
@@ -246,12 +235,29 @@ export interface ExperimentColumnConfig {
|
|
|
246
235
|
export type ExperimentColumns<Row extends StructType> = {
|
|
247
236
|
[K in Extract<keyof Row['fields'], string>]?: ExperimentColumnConfig;
|
|
248
237
|
};
|
|
238
|
+
/**
|
|
239
|
+
* Options for {@link Experiment.Root}, generic over the input row struct.
|
|
240
|
+
*
|
|
241
|
+
* @typeParam Row - The input dataset's row struct — inferred from `data`.
|
|
242
|
+
*
|
|
243
|
+
* @property data - The {@link Data.bind} handle for the input dataset.
|
|
244
|
+
* @property config - The {@link Data.bind} handle for the staged experiment config.
|
|
245
|
+
* @property experiment - The {@link Func.bind} handle for the experiment function.
|
|
246
|
+
* @property population - Optional {@link Data.bind} handle for the staged Step-4
|
|
247
|
+
* population filter (a {@link PopulationType}); narrows the rows UI-side before
|
|
248
|
+
* the call. Bind it (seeded) to start with filters applied.
|
|
249
|
+
* @property journal - Optional {@link Data.bind} handle for the committed-experiment journal.
|
|
250
|
+
* @property columns - Optional per-column display config.
|
|
251
|
+
* @property readonly - Render without mutation affordances.
|
|
252
|
+
* @property defaultTab - Initial result tab.
|
|
253
|
+
*/
|
|
249
254
|
export interface ExperimentOptions<Row extends StructType> {
|
|
250
255
|
data: BoundValue<ArrayType<Row>>;
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
256
|
+
config: BoundValue<ExperimentConfigType>;
|
|
257
|
+
experiment: ExperimentFunc<Row>;
|
|
258
|
+
/** Optional `design` function — adds the "Validate" tab (the trial recipe). */
|
|
259
|
+
design?: ExperimentDesignFunc<Row>;
|
|
260
|
+
population?: BoundValue<PopulationType>;
|
|
255
261
|
journal?: BoundValue<JournalType>;
|
|
256
262
|
/** Per-column display config, keyed by the data row's fields (like `Table`). */
|
|
257
263
|
columns?: ExperimentColumns<Row>;
|
|
@@ -259,25 +265,24 @@ export interface ExperimentOptions<Row extends StructType> {
|
|
|
259
265
|
defaultTab?: ExperimentTabLiteral;
|
|
260
266
|
}
|
|
261
267
|
/**
|
|
262
|
-
* Build an Experiment surface bound to an input dataset +
|
|
268
|
+
* Build an Experiment surface bound to an input dataset + the single experiment
|
|
269
|
+
* function.
|
|
263
270
|
*
|
|
264
271
|
* @typeParam Row - The input dataset's row struct, inferred from `data`.
|
|
265
|
-
* @param options - {@link ExperimentOptions}. `data`, `
|
|
266
|
-
* required; the rest are optional.
|
|
272
|
+
* @param options - {@link ExperimentOptions}. `data`, `config` and `experiment`
|
|
273
|
+
* are required; the rest are optional.
|
|
267
274
|
* @returns An East expression of {@link UIComponentType}.
|
|
268
275
|
*/
|
|
269
276
|
declare function createExperiment<Row extends StructType>(options: ExperimentOptions<Row>): ExprType<UIComponentType>;
|
|
270
277
|
/**
|
|
271
278
|
* The Experiment component namespace. Surfaces an interactive causal-experiment
|
|
272
|
-
* over a bound input dataset +
|
|
273
|
-
* (the `Table` pattern)
|
|
274
|
-
* uses.
|
|
279
|
+
* over a bound input dataset + a single `experiment` function, generic over the
|
|
280
|
+
* row struct (the `Table` pattern).
|
|
275
281
|
*
|
|
276
282
|
* @remarks
|
|
277
|
-
* Use `Experiment.Root({ data,
|
|
278
|
-
*
|
|
279
|
-
*
|
|
280
|
-
* value types (`Spec`, `Result`, `Refute`, `Dose`, `Journal`, …).
|
|
283
|
+
* Use `Experiment.Root({ data, config, experiment, journal })` inside a
|
|
284
|
+
* `Reactive` block. `Types` exposes the render-contract value types (`Config`,
|
|
285
|
+
* `Result`, `Verdict`, `Overlap`, `Balance`, `Refutation`, `Journal`, …).
|
|
281
286
|
*/
|
|
282
287
|
export declare const Experiment: {
|
|
283
288
|
readonly Root: typeof createExperiment;
|
|
@@ -285,52 +290,62 @@ export declare const Experiment: {
|
|
|
285
290
|
readonly Component: import("@elaraai/east-ui").UIComponentDef<StructType<{
|
|
286
291
|
readonly data: StructType<{
|
|
287
292
|
readonly source: ArrayType<VariantType<{
|
|
288
|
-
readonly field: StringType;
|
|
293
|
+
readonly field: import("@elaraai/east").StringType;
|
|
289
294
|
}>>;
|
|
290
295
|
readonly patch: OptionType<ArrayType<VariantType<{
|
|
291
|
-
readonly field: StringType;
|
|
296
|
+
readonly field: import("@elaraai/east").StringType;
|
|
292
297
|
}>>>;
|
|
293
298
|
readonly mode: VariantType<{
|
|
294
299
|
readonly staged: NullType;
|
|
295
300
|
readonly direct: NullType;
|
|
296
301
|
}>;
|
|
297
302
|
}>;
|
|
298
|
-
readonly
|
|
303
|
+
readonly config: StructType<{
|
|
299
304
|
readonly source: ArrayType<VariantType<{
|
|
300
|
-
readonly field: StringType;
|
|
305
|
+
readonly field: import("@elaraai/east").StringType;
|
|
301
306
|
}>>;
|
|
302
307
|
readonly patch: OptionType<ArrayType<VariantType<{
|
|
303
|
-
readonly field: StringType;
|
|
308
|
+
readonly field: import("@elaraai/east").StringType;
|
|
304
309
|
}>>>;
|
|
305
310
|
readonly mode: VariantType<{
|
|
306
311
|
readonly staged: NullType;
|
|
307
312
|
readonly direct: NullType;
|
|
308
313
|
}>;
|
|
309
314
|
}>;
|
|
310
|
-
readonly
|
|
311
|
-
readonly name: StringType;
|
|
315
|
+
readonly experiment: StructType<{
|
|
316
|
+
readonly name: import("@elaraai/east").StringType;
|
|
312
317
|
}>;
|
|
313
|
-
readonly
|
|
314
|
-
readonly
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
readonly
|
|
318
|
+
readonly population: OptionType<StructType<{
|
|
319
|
+
readonly source: ArrayType<VariantType<{
|
|
320
|
+
readonly field: import("@elaraai/east").StringType;
|
|
321
|
+
}>>;
|
|
322
|
+
readonly patch: OptionType<ArrayType<VariantType<{
|
|
323
|
+
readonly field: import("@elaraai/east").StringType;
|
|
324
|
+
}>>>;
|
|
325
|
+
readonly mode: VariantType<{
|
|
326
|
+
readonly staged: NullType;
|
|
327
|
+
readonly direct: NullType;
|
|
328
|
+
}>;
|
|
318
329
|
}>>;
|
|
319
330
|
readonly journal: OptionType<StructType<{
|
|
320
331
|
readonly source: ArrayType<VariantType<{
|
|
321
|
-
readonly field: StringType;
|
|
332
|
+
readonly field: import("@elaraai/east").StringType;
|
|
322
333
|
}>>;
|
|
323
334
|
readonly patch: OptionType<ArrayType<VariantType<{
|
|
324
|
-
readonly field: StringType;
|
|
335
|
+
readonly field: import("@elaraai/east").StringType;
|
|
325
336
|
}>>>;
|
|
326
337
|
readonly mode: VariantType<{
|
|
327
338
|
readonly staged: NullType;
|
|
328
339
|
readonly direct: NullType;
|
|
329
340
|
}>;
|
|
330
341
|
}>>;
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
readonly
|
|
342
|
+
/** Optional `design` function → the validation-trial recipe ("Validate" tab). */
|
|
343
|
+
readonly design: OptionType<StructType<{
|
|
344
|
+
readonly name: import("@elaraai/east").StringType;
|
|
345
|
+
}>>;
|
|
346
|
+
readonly columnMeta: OptionType<import("@elaraai/east").DictType<import("@elaraai/east").StringType, StructType<{
|
|
347
|
+
readonly label: OptionType<import("@elaraai/east").StringType>;
|
|
348
|
+
readonly unit: OptionType<import("@elaraai/east").StringType>;
|
|
334
349
|
readonly higherIsBetter: OptionType<BooleanType>;
|
|
335
350
|
}>>>;
|
|
336
351
|
readonly readonly: OptionType<BooleanType>;
|
|
@@ -338,6 +353,7 @@ export declare const Experiment: {
|
|
|
338
353
|
readonly answer: NullType;
|
|
339
354
|
readonly trust: NullType;
|
|
340
355
|
readonly dose: NullType;
|
|
356
|
+
readonly validate: NullType;
|
|
341
357
|
}>>;
|
|
342
358
|
}>>;
|
|
343
359
|
readonly Types: {
|
|
@@ -345,52 +361,62 @@ export declare const Experiment: {
|
|
|
345
361
|
readonly Payload: StructType<{
|
|
346
362
|
readonly data: StructType<{
|
|
347
363
|
readonly source: ArrayType<VariantType<{
|
|
348
|
-
readonly field: StringType;
|
|
364
|
+
readonly field: import("@elaraai/east").StringType;
|
|
349
365
|
}>>;
|
|
350
366
|
readonly patch: OptionType<ArrayType<VariantType<{
|
|
351
|
-
readonly field: StringType;
|
|
367
|
+
readonly field: import("@elaraai/east").StringType;
|
|
352
368
|
}>>>;
|
|
353
369
|
readonly mode: VariantType<{
|
|
354
370
|
readonly staged: NullType;
|
|
355
371
|
readonly direct: NullType;
|
|
356
372
|
}>;
|
|
357
373
|
}>;
|
|
358
|
-
readonly
|
|
374
|
+
readonly config: StructType<{
|
|
359
375
|
readonly source: ArrayType<VariantType<{
|
|
360
|
-
readonly field: StringType;
|
|
376
|
+
readonly field: import("@elaraai/east").StringType;
|
|
361
377
|
}>>;
|
|
362
378
|
readonly patch: OptionType<ArrayType<VariantType<{
|
|
363
|
-
readonly field: StringType;
|
|
379
|
+
readonly field: import("@elaraai/east").StringType;
|
|
364
380
|
}>>>;
|
|
365
381
|
readonly mode: VariantType<{
|
|
366
382
|
readonly staged: NullType;
|
|
367
383
|
readonly direct: NullType;
|
|
368
384
|
}>;
|
|
369
385
|
}>;
|
|
370
|
-
readonly
|
|
371
|
-
readonly name: StringType;
|
|
386
|
+
readonly experiment: StructType<{
|
|
387
|
+
readonly name: import("@elaraai/east").StringType;
|
|
372
388
|
}>;
|
|
373
|
-
readonly
|
|
374
|
-
readonly
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
readonly
|
|
389
|
+
readonly population: OptionType<StructType<{
|
|
390
|
+
readonly source: ArrayType<VariantType<{
|
|
391
|
+
readonly field: import("@elaraai/east").StringType;
|
|
392
|
+
}>>;
|
|
393
|
+
readonly patch: OptionType<ArrayType<VariantType<{
|
|
394
|
+
readonly field: import("@elaraai/east").StringType;
|
|
395
|
+
}>>>;
|
|
396
|
+
readonly mode: VariantType<{
|
|
397
|
+
readonly staged: NullType;
|
|
398
|
+
readonly direct: NullType;
|
|
399
|
+
}>;
|
|
378
400
|
}>>;
|
|
379
401
|
readonly journal: OptionType<StructType<{
|
|
380
402
|
readonly source: ArrayType<VariantType<{
|
|
381
|
-
readonly field: StringType;
|
|
403
|
+
readonly field: import("@elaraai/east").StringType;
|
|
382
404
|
}>>;
|
|
383
405
|
readonly patch: OptionType<ArrayType<VariantType<{
|
|
384
|
-
readonly field: StringType;
|
|
406
|
+
readonly field: import("@elaraai/east").StringType;
|
|
385
407
|
}>>>;
|
|
386
408
|
readonly mode: VariantType<{
|
|
387
409
|
readonly staged: NullType;
|
|
388
410
|
readonly direct: NullType;
|
|
389
411
|
}>;
|
|
390
412
|
}>>;
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
readonly
|
|
413
|
+
/** Optional `design` function → the validation-trial recipe ("Validate" tab). */
|
|
414
|
+
readonly design: OptionType<StructType<{
|
|
415
|
+
readonly name: import("@elaraai/east").StringType;
|
|
416
|
+
}>>;
|
|
417
|
+
readonly columnMeta: OptionType<import("@elaraai/east").DictType<import("@elaraai/east").StringType, StructType<{
|
|
418
|
+
readonly label: OptionType<import("@elaraai/east").StringType>;
|
|
419
|
+
readonly unit: OptionType<import("@elaraai/east").StringType>;
|
|
394
420
|
readonly higherIsBetter: OptionType<BooleanType>;
|
|
395
421
|
}>>>;
|
|
396
422
|
readonly readonly: OptionType<BooleanType>;
|
|
@@ -398,65 +424,15 @@ export declare const Experiment: {
|
|
|
398
424
|
readonly answer: NullType;
|
|
399
425
|
readonly trust: NullType;
|
|
400
426
|
readonly dose: NullType;
|
|
427
|
+
readonly validate: NullType;
|
|
401
428
|
}>>;
|
|
402
429
|
}>;
|
|
403
|
-
/** The experiment-
|
|
404
|
-
readonly
|
|
405
|
-
readonly treatment: StringType;
|
|
406
|
-
readonly outcome: StringType;
|
|
407
|
-
readonly
|
|
408
|
-
readonly categorical: ArrayType<StringType
|
|
409
|
-
readonly population: OptionType<ArrayType<VariantType<{
|
|
410
|
-
readonly string: import("@elaraai/east").StructType<{
|
|
411
|
-
readonly fieldId: import("@elaraai/east").StringType;
|
|
412
|
-
readonly op: import("@elaraai/east").VariantType<{
|
|
413
|
-
readonly eq: import("@elaraai/east").StringType;
|
|
414
|
-
readonly neq: import("@elaraai/east").StringType;
|
|
415
|
-
readonly in: import("@elaraai/east").SetType<import("@elaraai/east").StringType>;
|
|
416
|
-
readonly notIn: import("@elaraai/east").SetType<import("@elaraai/east").StringType>;
|
|
417
|
-
readonly contains: import("@elaraai/east").StringType;
|
|
418
|
-
readonly matches: import("@elaraai/east").StringType;
|
|
419
|
-
}>;
|
|
420
|
-
}>;
|
|
421
|
-
readonly integer: import("@elaraai/east").StructType<{
|
|
422
|
-
readonly fieldId: import("@elaraai/east").StringType;
|
|
423
|
-
readonly op: import("@elaraai/east").VariantType<{
|
|
424
|
-
readonly eq: import("@elaraai/east").IntegerType;
|
|
425
|
-
readonly neq: import("@elaraai/east").IntegerType;
|
|
426
|
-
readonly lt: import("@elaraai/east").IntegerType;
|
|
427
|
-
readonly lte: import("@elaraai/east").IntegerType;
|
|
428
|
-
readonly gt: import("@elaraai/east").IntegerType;
|
|
429
|
-
readonly gte: import("@elaraai/east").IntegerType;
|
|
430
|
-
readonly in: import("@elaraai/east").SetType<import("@elaraai/east").IntegerType>;
|
|
431
|
-
}>;
|
|
432
|
-
}>;
|
|
433
|
-
readonly float: import("@elaraai/east").StructType<{
|
|
434
|
-
readonly fieldId: import("@elaraai/east").StringType;
|
|
435
|
-
readonly op: import("@elaraai/east").VariantType<{
|
|
436
|
-
readonly lt: import("@elaraai/east").FloatType;
|
|
437
|
-
readonly lte: import("@elaraai/east").FloatType;
|
|
438
|
-
readonly gt: import("@elaraai/east").FloatType;
|
|
439
|
-
readonly gte: import("@elaraai/east").FloatType;
|
|
440
|
-
}>;
|
|
441
|
-
}>;
|
|
442
|
-
readonly datetime: import("@elaraai/east").StructType<{
|
|
443
|
-
readonly fieldId: import("@elaraai/east").StringType;
|
|
444
|
-
readonly op: import("@elaraai/east").VariantType<{
|
|
445
|
-
readonly before: import("@elaraai/east").DateTimeType;
|
|
446
|
-
readonly after: import("@elaraai/east").DateTimeType;
|
|
447
|
-
readonly between: import("@elaraai/east").StructType<{
|
|
448
|
-
readonly from: import("@elaraai/east").DateTimeType;
|
|
449
|
-
readonly to: import("@elaraai/east").DateTimeType;
|
|
450
|
-
}>;
|
|
451
|
-
}>;
|
|
452
|
-
}>;
|
|
453
|
-
readonly boolean: import("@elaraai/east").StructType<{
|
|
454
|
-
readonly fieldId: import("@elaraai/east").StringType;
|
|
455
|
-
readonly op: import("@elaraai/east").VariantType<{
|
|
456
|
-
readonly is: import("@elaraai/east").BooleanType;
|
|
457
|
-
}>;
|
|
458
|
-
}>;
|
|
459
|
-
}>>>;
|
|
430
|
+
/** The experiment-config value type (what the pickers stage). */
|
|
431
|
+
readonly Config: StructType<{
|
|
432
|
+
readonly treatment: import("@elaraai/east").StringType;
|
|
433
|
+
readonly outcome: import("@elaraai/east").StringType;
|
|
434
|
+
readonly common_causes: ArrayType<import("@elaraai/east").StringType>;
|
|
435
|
+
readonly categorical: OptionType<ArrayType<import("@elaraai/east").StringType>>;
|
|
460
436
|
readonly method: OptionType<VariantType<{
|
|
461
437
|
readonly linear_regression: NullType;
|
|
462
438
|
readonly propensity_score_weighting: StructType<{
|
|
@@ -467,131 +443,102 @@ export declare const Experiment: {
|
|
|
467
443
|
}>>;
|
|
468
444
|
}>;
|
|
469
445
|
}>>;
|
|
470
|
-
readonly
|
|
446
|
+
readonly estimand: OptionType<VariantType<{
|
|
471
447
|
readonly ate: NullType;
|
|
472
448
|
readonly att: NullType;
|
|
473
449
|
readonly atc: NullType;
|
|
474
450
|
}>>;
|
|
475
|
-
readonly
|
|
476
|
-
readonly
|
|
477
|
-
readonly
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
451
|
+
readonly refute: OptionType<StructType<{
|
|
452
|
+
readonly placebo: BooleanType;
|
|
453
|
+
readonly random_common_cause: BooleanType;
|
|
454
|
+
readonly data_subset: BooleanType;
|
|
455
|
+
readonly sensitivity: OptionType<ArrayType<import("@elaraai/east").FloatType>>;
|
|
456
|
+
}>>;
|
|
457
|
+
readonly dose_feature: OptionType<import("@elaraai/east").StringType>;
|
|
458
|
+
readonly min_overlap: OptionType<import("@elaraai/east").FloatType>;
|
|
459
|
+
readonly min_treatment_variation: OptionType<import("@elaraai/east").FloatType>;
|
|
460
|
+
readonly bootstrap: OptionType<StructType<{
|
|
461
|
+
readonly reps: import("@elaraai/east").IntegerType;
|
|
462
|
+
readonly cluster_column: OptionType<import("@elaraai/east").StringType>;
|
|
463
|
+
readonly confidence_level: OptionType<import("@elaraai/east").FloatType>;
|
|
481
464
|
}>>;
|
|
465
|
+
readonly random_state: OptionType<import("@elaraai/east").IntegerType>;
|
|
482
466
|
}>;
|
|
483
|
-
/** The
|
|
467
|
+
/** The result value type (numbers + verdict). */
|
|
484
468
|
readonly Result: StructType<{
|
|
485
|
-
readonly effect: import("@elaraai/east").FloatType;
|
|
486
|
-
readonly ci: OptionType<StructType<{
|
|
487
|
-
readonly lower: import("@elaraai/east").FloatType;
|
|
488
|
-
readonly upper: import("@elaraai/east").FloatType;
|
|
489
|
-
}>>;
|
|
490
469
|
readonly naive: import("@elaraai/east").FloatType;
|
|
491
|
-
readonly
|
|
470
|
+
readonly naive_ci: OptionType<StructType<{
|
|
492
471
|
readonly lower: import("@elaraai/east").FloatType;
|
|
493
472
|
readonly upper: import("@elaraai/east").FloatType;
|
|
494
473
|
}>>;
|
|
495
|
-
readonly
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
474
|
+
readonly adjusted: OptionType<StructType<{
|
|
475
|
+
readonly effect: import("@elaraai/east").FloatType;
|
|
476
|
+
readonly ci: OptionType<StructType<{
|
|
477
|
+
readonly lower: import("@elaraai/east").FloatType;
|
|
478
|
+
readonly upper: import("@elaraai/east").FloatType;
|
|
479
|
+
}>>;
|
|
480
|
+
}>>;
|
|
481
|
+
readonly n_total: import("@elaraai/east").IntegerType;
|
|
482
|
+
readonly n_treated: import("@elaraai/east").IntegerType;
|
|
483
|
+
readonly n_control: import("@elaraai/east").IntegerType;
|
|
484
|
+
readonly n_dropped: import("@elaraai/east").IntegerType;
|
|
499
485
|
readonly balance: ArrayType<StructType<{
|
|
500
|
-
readonly column: StringType;
|
|
501
|
-
readonly
|
|
502
|
-
readonly
|
|
503
|
-
readonly
|
|
486
|
+
readonly column: import("@elaraai/east").StringType;
|
|
487
|
+
readonly base_column: import("@elaraai/east").StringType;
|
|
488
|
+
readonly treated_mean: import("@elaraai/east").FloatType;
|
|
489
|
+
readonly control_mean: import("@elaraai/east").FloatType;
|
|
490
|
+
readonly std_diff: import("@elaraai/east").FloatType;
|
|
504
491
|
}>>;
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
readonly
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
readonly
|
|
516
|
-
readonly
|
|
517
|
-
readonly
|
|
518
|
-
readonly
|
|
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
|
+
}>;
|
|
498
|
+
readonly refutation: OptionType<StructType<{
|
|
499
|
+
readonly placebo_effect: OptionType<import("@elaraai/east").FloatType>;
|
|
500
|
+
readonly placebo_passes: OptionType<BooleanType>;
|
|
501
|
+
readonly random_cc_within_ci: OptionType<BooleanType>;
|
|
502
|
+
readonly data_subset_effect: OptionType<import("@elaraai/east").FloatType>;
|
|
503
|
+
readonly data_subset_std: OptionType<import("@elaraai/east").FloatType>;
|
|
504
|
+
readonly robustness_value: OptionType<import("@elaraai/east").FloatType>;
|
|
505
|
+
readonly sensitivity: OptionType<StructType<{
|
|
506
|
+
readonly strengths: import("@elaraai/east").VectorType<import("@elaraai/east").FloatType>;
|
|
507
|
+
readonly effects: import("@elaraai/east").VectorType<import("@elaraai/east").FloatType>;
|
|
508
|
+
}>>;
|
|
509
|
+
}>>;
|
|
510
|
+
readonly dose_response: OptionType<StructType<{
|
|
511
|
+
readonly feature: import("@elaraai/east").StringType;
|
|
512
|
+
readonly grid: import("@elaraai/east").VectorType<import("@elaraai/east").FloatType>;
|
|
513
|
+
readonly effect: import("@elaraai/east").VectorType<import("@elaraai/east").FloatType>;
|
|
514
|
+
readonly lower: OptionType<import("@elaraai/east").VectorType<import("@elaraai/east").FloatType>>;
|
|
515
|
+
readonly upper: OptionType<import("@elaraai/east").VectorType<import("@elaraai/east").FloatType>>;
|
|
516
|
+
readonly size: import("@elaraai/east").VectorType<import("@elaraai/east").IntegerType>;
|
|
519
517
|
}>>;
|
|
518
|
+
readonly verdict: VariantType<{
|
|
519
|
+
readonly causal: NullType;
|
|
520
|
+
readonly modest: NullType;
|
|
521
|
+
readonly adjustment_insufficient: NullType;
|
|
522
|
+
readonly non_identifiable_positivity: NullType;
|
|
523
|
+
readonly not_estimable: import("@elaraai/east").StringType;
|
|
524
|
+
}>;
|
|
520
525
|
}>;
|
|
521
|
-
/** The dose-response value type. */
|
|
522
|
-
readonly
|
|
523
|
-
readonly feature: StringType;
|
|
526
|
+
/** The ALE dose-response curve value type (the "How much?" tab). */
|
|
527
|
+
readonly DoseResponse: StructType<{
|
|
528
|
+
readonly feature: import("@elaraai/east").StringType;
|
|
524
529
|
readonly grid: import("@elaraai/east").VectorType<import("@elaraai/east").FloatType>;
|
|
525
530
|
readonly effect: import("@elaraai/east").VectorType<import("@elaraai/east").FloatType>;
|
|
526
531
|
readonly lower: OptionType<import("@elaraai/east").VectorType<import("@elaraai/east").FloatType>>;
|
|
527
532
|
readonly upper: OptionType<import("@elaraai/east").VectorType<import("@elaraai/east").FloatType>>;
|
|
528
533
|
readonly size: import("@elaraai/east").VectorType<import("@elaraai/east").IntegerType>;
|
|
529
|
-
readonly segments: OptionType<ArrayType<StructType<{
|
|
530
|
-
readonly label: StringType;
|
|
531
|
-
readonly grid: import("@elaraai/east").VectorType<import("@elaraai/east").FloatType>;
|
|
532
|
-
readonly effect: import("@elaraai/east").VectorType<import("@elaraai/east").FloatType>;
|
|
533
|
-
readonly lower: OptionType<import("@elaraai/east").VectorType<import("@elaraai/east").FloatType>>;
|
|
534
|
-
readonly upper: OptionType<import("@elaraai/east").VectorType<import("@elaraai/east").FloatType>>;
|
|
535
|
-
}>>>;
|
|
536
534
|
}>;
|
|
537
535
|
/** The committed-experiment journal value type. */
|
|
538
536
|
readonly Journal: ArrayType<StructType<{
|
|
539
|
-
readonly
|
|
540
|
-
readonly treatment: StringType;
|
|
541
|
-
readonly outcome: StringType;
|
|
542
|
-
readonly
|
|
543
|
-
readonly categorical: ArrayType<StringType
|
|
544
|
-
readonly population: OptionType<ArrayType<VariantType<{
|
|
545
|
-
readonly string: import("@elaraai/east").StructType<{
|
|
546
|
-
readonly fieldId: import("@elaraai/east").StringType;
|
|
547
|
-
readonly op: import("@elaraai/east").VariantType<{
|
|
548
|
-
readonly eq: import("@elaraai/east").StringType;
|
|
549
|
-
readonly neq: import("@elaraai/east").StringType;
|
|
550
|
-
readonly in: import("@elaraai/east").SetType<import("@elaraai/east").StringType>;
|
|
551
|
-
readonly notIn: import("@elaraai/east").SetType<import("@elaraai/east").StringType>;
|
|
552
|
-
readonly contains: import("@elaraai/east").StringType;
|
|
553
|
-
readonly matches: import("@elaraai/east").StringType;
|
|
554
|
-
}>;
|
|
555
|
-
}>;
|
|
556
|
-
readonly integer: import("@elaraai/east").StructType<{
|
|
557
|
-
readonly fieldId: import("@elaraai/east").StringType;
|
|
558
|
-
readonly op: import("@elaraai/east").VariantType<{
|
|
559
|
-
readonly eq: import("@elaraai/east").IntegerType;
|
|
560
|
-
readonly neq: import("@elaraai/east").IntegerType;
|
|
561
|
-
readonly lt: import("@elaraai/east").IntegerType;
|
|
562
|
-
readonly lte: import("@elaraai/east").IntegerType;
|
|
563
|
-
readonly gt: import("@elaraai/east").IntegerType;
|
|
564
|
-
readonly gte: import("@elaraai/east").IntegerType;
|
|
565
|
-
readonly in: import("@elaraai/east").SetType<import("@elaraai/east").IntegerType>;
|
|
566
|
-
}>;
|
|
567
|
-
}>;
|
|
568
|
-
readonly float: import("@elaraai/east").StructType<{
|
|
569
|
-
readonly fieldId: import("@elaraai/east").StringType;
|
|
570
|
-
readonly op: import("@elaraai/east").VariantType<{
|
|
571
|
-
readonly lt: import("@elaraai/east").FloatType;
|
|
572
|
-
readonly lte: import("@elaraai/east").FloatType;
|
|
573
|
-
readonly gt: import("@elaraai/east").FloatType;
|
|
574
|
-
readonly gte: import("@elaraai/east").FloatType;
|
|
575
|
-
}>;
|
|
576
|
-
}>;
|
|
577
|
-
readonly datetime: import("@elaraai/east").StructType<{
|
|
578
|
-
readonly fieldId: import("@elaraai/east").StringType;
|
|
579
|
-
readonly op: import("@elaraai/east").VariantType<{
|
|
580
|
-
readonly before: import("@elaraai/east").DateTimeType;
|
|
581
|
-
readonly after: import("@elaraai/east").DateTimeType;
|
|
582
|
-
readonly between: import("@elaraai/east").StructType<{
|
|
583
|
-
readonly from: import("@elaraai/east").DateTimeType;
|
|
584
|
-
readonly to: import("@elaraai/east").DateTimeType;
|
|
585
|
-
}>;
|
|
586
|
-
}>;
|
|
587
|
-
}>;
|
|
588
|
-
readonly boolean: import("@elaraai/east").StructType<{
|
|
589
|
-
readonly fieldId: import("@elaraai/east").StringType;
|
|
590
|
-
readonly op: import("@elaraai/east").VariantType<{
|
|
591
|
-
readonly is: import("@elaraai/east").BooleanType;
|
|
592
|
-
}>;
|
|
593
|
-
}>;
|
|
594
|
-
}>>>;
|
|
537
|
+
readonly config: StructType<{
|
|
538
|
+
readonly treatment: import("@elaraai/east").StringType;
|
|
539
|
+
readonly outcome: import("@elaraai/east").StringType;
|
|
540
|
+
readonly common_causes: ArrayType<import("@elaraai/east").StringType>;
|
|
541
|
+
readonly categorical: OptionType<ArrayType<import("@elaraai/east").StringType>>;
|
|
595
542
|
readonly method: OptionType<VariantType<{
|
|
596
543
|
readonly linear_regression: NullType;
|
|
597
544
|
readonly propensity_score_weighting: StructType<{
|
|
@@ -602,31 +549,137 @@ export declare const Experiment: {
|
|
|
602
549
|
}>>;
|
|
603
550
|
}>;
|
|
604
551
|
}>>;
|
|
605
|
-
readonly
|
|
552
|
+
readonly estimand: OptionType<VariantType<{
|
|
606
553
|
readonly ate: NullType;
|
|
607
554
|
readonly att: NullType;
|
|
608
555
|
readonly atc: NullType;
|
|
609
556
|
}>>;
|
|
610
|
-
readonly
|
|
611
|
-
readonly
|
|
612
|
-
readonly
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
557
|
+
readonly refute: OptionType<StructType<{
|
|
558
|
+
readonly placebo: BooleanType;
|
|
559
|
+
readonly random_common_cause: BooleanType;
|
|
560
|
+
readonly data_subset: BooleanType;
|
|
561
|
+
readonly sensitivity: OptionType<ArrayType<import("@elaraai/east").FloatType>>;
|
|
562
|
+
}>>;
|
|
563
|
+
readonly dose_feature: OptionType<import("@elaraai/east").StringType>;
|
|
564
|
+
readonly min_overlap: OptionType<import("@elaraai/east").FloatType>;
|
|
565
|
+
readonly min_treatment_variation: OptionType<import("@elaraai/east").FloatType>;
|
|
566
|
+
readonly bootstrap: OptionType<StructType<{
|
|
567
|
+
readonly reps: import("@elaraai/east").IntegerType;
|
|
568
|
+
readonly cluster_column: OptionType<import("@elaraai/east").StringType>;
|
|
569
|
+
readonly confidence_level: OptionType<import("@elaraai/east").FloatType>;
|
|
616
570
|
}>>;
|
|
571
|
+
readonly random_state: OptionType<import("@elaraai/east").IntegerType>;
|
|
617
572
|
}>;
|
|
618
|
-
readonly
|
|
619
|
-
|
|
620
|
-
readonly
|
|
621
|
-
readonly
|
|
573
|
+
readonly verdict: VariantType<{
|
|
574
|
+
readonly causal: NullType;
|
|
575
|
+
readonly modest: NullType;
|
|
576
|
+
readonly adjustment_insufficient: NullType;
|
|
577
|
+
readonly non_identifiable_positivity: NullType;
|
|
578
|
+
readonly not_estimable: import("@elaraai/east").StringType;
|
|
579
|
+
}>;
|
|
580
|
+
readonly naive: import("@elaraai/east").FloatType;
|
|
581
|
+
readonly adjusted: OptionType<import("@elaraai/east").FloatType>;
|
|
582
|
+
readonly committed_at: import("@elaraai/east").DateTimeType;
|
|
583
|
+
readonly committed_by: import("@elaraai/east").StringType;
|
|
584
|
+
}>>;
|
|
585
|
+
/** The validation-trial recipe value type (the "Validate" tab). */
|
|
586
|
+
readonly Design: StructType<{
|
|
587
|
+
readonly verdict: VariantType<{
|
|
588
|
+
readonly causal: NullType;
|
|
589
|
+
readonly modest: NullType;
|
|
590
|
+
readonly adjustment_insufficient: NullType;
|
|
591
|
+
readonly non_identifiable_positivity: NullType;
|
|
592
|
+
readonly not_estimable: import("@elaraai/east").StringType;
|
|
593
|
+
}>;
|
|
594
|
+
readonly basis: VariantType<{
|
|
595
|
+
readonly detect_observed: NullType;
|
|
596
|
+
readonly resolve_vs_null: NullType;
|
|
597
|
+
readonly de_bias: NullType;
|
|
598
|
+
readonly restrict_to_overlap: NullType;
|
|
599
|
+
readonly create_control: NullType;
|
|
600
|
+
}>;
|
|
601
|
+
readonly target_effect: import("@elaraai/east").FloatType;
|
|
602
|
+
readonly outcome_sd: import("@elaraai/east").FloatType;
|
|
603
|
+
readonly target_power: import("@elaraai/east").FloatType;
|
|
604
|
+
readonly alpha: import("@elaraai/east").FloatType;
|
|
605
|
+
readonly current_power: OptionType<import("@elaraai/east").FloatType>;
|
|
606
|
+
readonly match_on: ArrayType<import("@elaraai/east").StringType>;
|
|
607
|
+
readonly options: ArrayType<StructType<{
|
|
608
|
+
readonly label: import("@elaraai/east").StringType;
|
|
609
|
+
readonly treated_share: import("@elaraai/east").FloatType;
|
|
610
|
+
readonly n_treated: import("@elaraai/east").IntegerType;
|
|
611
|
+
readonly n_control: import("@elaraai/east").IntegerType;
|
|
612
|
+
readonly n_total: import("@elaraai/east").IntegerType;
|
|
622
613
|
}>>;
|
|
623
|
-
readonly
|
|
624
|
-
|
|
614
|
+
readonly power_curve: StructType<{
|
|
615
|
+
readonly n: import("@elaraai/east").VectorType<import("@elaraai/east").IntegerType>;
|
|
616
|
+
readonly power: import("@elaraai/east").VectorType<import("@elaraai/east").FloatType>;
|
|
617
|
+
}>;
|
|
618
|
+
readonly rationale: import("@elaraai/east").StringType;
|
|
619
|
+
}>;
|
|
620
|
+
/** The optional design-knobs value type. */
|
|
621
|
+
readonly DesignConfig: StructType<{
|
|
622
|
+
readonly alpha: OptionType<import("@elaraai/east").FloatType>;
|
|
623
|
+
readonly target_power: OptionType<import("@elaraai/east").FloatType>;
|
|
624
|
+
readonly materiality: OptionType<import("@elaraai/east").FloatType>;
|
|
625
|
+
readonly treated_shares: OptionType<ArrayType<import("@elaraai/east").FloatType>>;
|
|
626
|
+
}>;
|
|
627
|
+
/** The UI-side Step-4 population filter value type (Array of Slice predicates). */
|
|
628
|
+
readonly Population: ArrayType<VariantType<{
|
|
629
|
+
readonly string: import("@elaraai/east").StructType<{
|
|
630
|
+
readonly fieldId: import("@elaraai/east").StringType;
|
|
631
|
+
readonly op: import("@elaraai/east").VariantType<{
|
|
632
|
+
readonly eq: import("@elaraai/east").StringType;
|
|
633
|
+
readonly neq: import("@elaraai/east").StringType;
|
|
634
|
+
readonly in: import("@elaraai/east").SetType<import("@elaraai/east").StringType>;
|
|
635
|
+
readonly notIn: import("@elaraai/east").SetType<import("@elaraai/east").StringType>;
|
|
636
|
+
readonly contains: import("@elaraai/east").StringType;
|
|
637
|
+
readonly matches: import("@elaraai/east").StringType;
|
|
638
|
+
}>;
|
|
639
|
+
}>;
|
|
640
|
+
readonly integer: import("@elaraai/east").StructType<{
|
|
641
|
+
readonly fieldId: import("@elaraai/east").StringType;
|
|
642
|
+
readonly op: import("@elaraai/east").VariantType<{
|
|
643
|
+
readonly eq: import("@elaraai/east").IntegerType;
|
|
644
|
+
readonly neq: import("@elaraai/east").IntegerType;
|
|
645
|
+
readonly lt: import("@elaraai/east").IntegerType;
|
|
646
|
+
readonly lte: import("@elaraai/east").IntegerType;
|
|
647
|
+
readonly gt: import("@elaraai/east").IntegerType;
|
|
648
|
+
readonly gte: import("@elaraai/east").IntegerType;
|
|
649
|
+
readonly in: import("@elaraai/east").SetType<import("@elaraai/east").IntegerType>;
|
|
650
|
+
}>;
|
|
651
|
+
}>;
|
|
652
|
+
readonly float: import("@elaraai/east").StructType<{
|
|
653
|
+
readonly fieldId: import("@elaraai/east").StringType;
|
|
654
|
+
readonly op: import("@elaraai/east").VariantType<{
|
|
655
|
+
readonly lt: import("@elaraai/east").FloatType;
|
|
656
|
+
readonly lte: import("@elaraai/east").FloatType;
|
|
657
|
+
readonly gt: import("@elaraai/east").FloatType;
|
|
658
|
+
readonly gte: import("@elaraai/east").FloatType;
|
|
659
|
+
}>;
|
|
660
|
+
}>;
|
|
661
|
+
readonly datetime: import("@elaraai/east").StructType<{
|
|
662
|
+
readonly fieldId: import("@elaraai/east").StringType;
|
|
663
|
+
readonly op: import("@elaraai/east").VariantType<{
|
|
664
|
+
readonly before: import("@elaraai/east").DateTimeType;
|
|
665
|
+
readonly after: import("@elaraai/east").DateTimeType;
|
|
666
|
+
readonly between: import("@elaraai/east").StructType<{
|
|
667
|
+
readonly from: import("@elaraai/east").DateTimeType;
|
|
668
|
+
readonly to: import("@elaraai/east").DateTimeType;
|
|
669
|
+
}>;
|
|
670
|
+
}>;
|
|
671
|
+
}>;
|
|
672
|
+
readonly boolean: import("@elaraai/east").StructType<{
|
|
673
|
+
readonly fieldId: import("@elaraai/east").StringType;
|
|
674
|
+
readonly op: import("@elaraai/east").VariantType<{
|
|
675
|
+
readonly is: import("@elaraai/east").BooleanType;
|
|
676
|
+
}>;
|
|
677
|
+
}>;
|
|
625
678
|
}>>;
|
|
626
679
|
/** Optional per-column display metadata. */
|
|
627
|
-
readonly ColumnMeta: import("@elaraai/east").DictType<StringType, StructType<{
|
|
628
|
-
readonly label: OptionType<StringType>;
|
|
629
|
-
readonly unit: OptionType<StringType>;
|
|
680
|
+
readonly ColumnMeta: import("@elaraai/east").DictType<import("@elaraai/east").StringType, StructType<{
|
|
681
|
+
readonly label: OptionType<import("@elaraai/east").StringType>;
|
|
682
|
+
readonly unit: OptionType<import("@elaraai/east").StringType>;
|
|
630
683
|
readonly higherIsBetter: OptionType<BooleanType>;
|
|
631
684
|
}>>;
|
|
632
685
|
/** Initial result tab variant. */
|
|
@@ -634,6 +687,7 @@ export declare const Experiment: {
|
|
|
634
687
|
readonly answer: NullType;
|
|
635
688
|
readonly trust: NullType;
|
|
636
689
|
readonly dose: NullType;
|
|
690
|
+
readonly validate: NullType;
|
|
637
691
|
}>;
|
|
638
692
|
};
|
|
639
693
|
};
|