@elaraai/e3-ui-components 1.0.10 → 1.0.12
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/components/UITaskPreview.d.ts.map +1 -1
- package/dist/experiment/bind-runtime.d.ts +26 -0
- package/dist/experiment/bind-runtime.d.ts.map +1 -0
- package/dist/experiment/charts.d.ts +39 -0
- package/dist/experiment/charts.d.ts.map +1 -0
- package/dist/experiment/derive.d.ts +234 -0
- package/dist/experiment/derive.d.ts.map +1 -0
- package/dist/experiment/index.d.ts +10 -0
- package/dist/experiment/index.d.ts.map +1 -0
- package/dist/experiment/run-runtime.d.ts +28 -0
- package/dist/experiment/run-runtime.d.ts.map +1 -0
- package/dist/index.cjs +4936 -1476
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4934 -1474
- package/dist/index.js.map +1 -1
- package/package.json +23 -15
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UITaskPreview.d.ts","sourceRoot":"","sources":["../../src/components/UITaskPreview.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAmCH,OAAO,
|
|
1
|
+
{"version":3,"file":"UITaskPreview.d.ts","sourceRoot":"","sources":["../../src/components/UITaskPreview.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAmCH,OAAO,EAAuB,KAAK,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAS9E,MAAM,WAAW,kBAAkB;IAC/B,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,MAAM,CAAC,EAAE,QAAQ,CAAC;IAClB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAMD,eAAO,MAAM,aAAa,0DA0GxB,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { ValueTypeOf } from '@elaraai/east';
|
|
2
|
+
import { DiffBindingType } from '@elaraai/e3-ui/internal';
|
|
3
|
+
type DiffBindingValue = ValueTypeOf<typeof DiffBindingType>;
|
|
4
|
+
export interface UseBindingValueResult<T> {
|
|
5
|
+
/** Current value (buffered if staged, otherwise server). `null` until the
|
|
6
|
+
* binding has run or if the binding is absent. */
|
|
7
|
+
value: T | null;
|
|
8
|
+
/** The binding's write mode — `'staged'` buffers edits until `commit()`,
|
|
9
|
+
* `'direct'` writes through. `'direct'` when the binding is absent. */
|
|
10
|
+
mode: 'staged' | 'direct';
|
|
11
|
+
/** True when there is an in-flight staged change. */
|
|
12
|
+
pending: boolean;
|
|
13
|
+
/** Replace the bound value (staged buffers, direct writes through). */
|
|
14
|
+
mutate: (next: T) => void;
|
|
15
|
+
/** Resolve the in-flight change. */
|
|
16
|
+
commit: () => Promise<void>;
|
|
17
|
+
/** Drop the in-flight change. */
|
|
18
|
+
discard: () => void;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Resolve a {@link DiffBindingType} value (or `null`) into a live, reactive
|
|
22
|
+
* value of type `T`, delegating to the shared bind runtime.
|
|
23
|
+
*/
|
|
24
|
+
export declare function useBindingValue<T>(binding: DiffBindingValue | null): UseBindingValueResult<T>;
|
|
25
|
+
export {};
|
|
26
|
+
//# sourceMappingURL=bind-runtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bind-runtime.d.ts","sourceRoot":"","sources":["../../src/experiment/bind-runtime.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAoBH,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAW1D,KAAK,gBAAgB,GAAG,WAAW,CAAC,OAAO,eAAe,CAAC,CAAC;AAI5D,MAAM,WAAW,qBAAqB,CAAC,CAAC;IACpC;uDACmD;IACnD,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IAChB;4EACwE;IACxE,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC1B,qDAAqD;IACrD,OAAO,EAAE,OAAO,CAAC;IACjB,uEAAuE;IACvE,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;IAC1B,oCAAoC;IACpC,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,iCAAiC;IACjC,OAAO,EAAE,MAAM,IAAI,CAAC;CACvB;AA0BD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,OAAO,EAAE,gBAAgB,GAAG,IAAI,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAqC7F"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { ReactElement } from 'react';
|
|
2
|
+
type Tone = 'neg' | 'pos' | 'warn' | 'muted' | 'brand' | string;
|
|
3
|
+
export interface ForestRow {
|
|
4
|
+
label: string;
|
|
5
|
+
note?: string;
|
|
6
|
+
est: number;
|
|
7
|
+
lo: number;
|
|
8
|
+
hi: number;
|
|
9
|
+
tone: Tone;
|
|
10
|
+
}
|
|
11
|
+
export interface ForestPlotProps {
|
|
12
|
+
rows: ForestRow[];
|
|
13
|
+
min: number;
|
|
14
|
+
max: number;
|
|
15
|
+
unit?: string;
|
|
16
|
+
height?: number;
|
|
17
|
+
}
|
|
18
|
+
/** Horizontal CI estimates with a dashed zero ("no effect") reference. */
|
|
19
|
+
export declare function ForestPlot({ rows, min, max, unit, height }: ForestPlotProps): ReactElement;
|
|
20
|
+
export interface AreaMark {
|
|
21
|
+
at: number;
|
|
22
|
+
label: string;
|
|
23
|
+
tone: Tone;
|
|
24
|
+
}
|
|
25
|
+
export interface AreaRangeProps {
|
|
26
|
+
lo: number[];
|
|
27
|
+
mid: number[];
|
|
28
|
+
hi: number[];
|
|
29
|
+
xTicks?: string[];
|
|
30
|
+
yTicks?: string[];
|
|
31
|
+
zero?: number;
|
|
32
|
+
tone?: Tone;
|
|
33
|
+
marks?: AreaMark[];
|
|
34
|
+
height?: number;
|
|
35
|
+
}
|
|
36
|
+
/** Low-high CI ribbon + mid line with hairline axes, optional zero + markers. */
|
|
37
|
+
export declare function AreaRange({ lo, mid, hi, xTicks, yTicks, zero, tone: toneName, marks, height }: AreaRangeProps): ReactElement;
|
|
38
|
+
export {};
|
|
39
|
+
//# sourceMappingURL=charts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"charts.d.ts","sourceRoot":"","sources":["../../src/experiment/charts.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAyD,KAAK,YAAY,EAAkB,MAAM,OAAO,CAAC;AAgCjH,KAAK,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;AAmEhE,MAAM,WAAW,SAAS;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,IAAI,CAAC;CACd;AAED,MAAM,WAAW,eAAe;IAC5B,IAAI,EAAE,SAAS,EAAE,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,0EAA0E;AAC1E,wBAAgB,UAAU,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,eAAe,GAAG,YAAY,CA+C1F;AAMD,MAAM,WAAW,QAAQ;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,IAAI,CAAC;CACd;AAED,MAAM,WAAW,cAAc;IAC3B,EAAE,EAAE,MAAM,EAAE,CAAC;IACb,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,EAAE,EAAE,MAAM,EAAE,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAID,iFAAiF;AACjF,wBAAgB,SAAS,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,MAAW,EAAE,MAAW,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAU,EAAE,MAAM,EAAE,EAAE,cAAc,GAAG,YAAY,CA2D3I"}
|
|
@@ -0,0 +1,234 @@
|
|
|
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
|
+
* Derive the Experiment surface's **presentation** from the numeric contract.
|
|
7
|
+
*
|
|
8
|
+
* The design principle is *visual-first, derived — never authored*: the bound
|
|
9
|
+
* functions return only causal quantities (the {@link "@elaraai/e3-ui"}
|
|
10
|
+
* `Experiment.Types.*` contract), and **every** word, colour, bar width and
|
|
11
|
+
* status on the surface is computed here from those numbers plus the column
|
|
12
|
+
* names the user picked. Because the user frames an arbitrary experiment, no
|
|
13
|
+
* sentence can be stored — the confounder reasons, the trade-off line and the
|
|
14
|
+
* refuter descriptions are *templated* from the numbers.
|
|
15
|
+
*
|
|
16
|
+
* The output of `deriveView` is the plain view-model the React shell renders, so
|
|
17
|
+
* the shell JSX stays a dumb painter — all the judgement lives in this one pure,
|
|
18
|
+
* testable module.
|
|
19
|
+
*
|
|
20
|
+
* @packageDocumentation
|
|
21
|
+
*/
|
|
22
|
+
export type Opt<T> = {
|
|
23
|
+
type: 'none';
|
|
24
|
+
value: null;
|
|
25
|
+
} | {
|
|
26
|
+
type: 'some';
|
|
27
|
+
value: T;
|
|
28
|
+
};
|
|
29
|
+
type Var<K extends string, V = unknown> = {
|
|
30
|
+
type: K;
|
|
31
|
+
value: V;
|
|
32
|
+
};
|
|
33
|
+
type Vec = ArrayLike<number> & Iterable<number>;
|
|
34
|
+
type VecI = ArrayLike<bigint> & Iterable<bigint>;
|
|
35
|
+
export interface Ci {
|
|
36
|
+
lower: number;
|
|
37
|
+
upper: number;
|
|
38
|
+
}
|
|
39
|
+
export interface SpecValue {
|
|
40
|
+
treatment: string;
|
|
41
|
+
outcome: string;
|
|
42
|
+
confounders: string[];
|
|
43
|
+
categorical: string[];
|
|
44
|
+
population: Opt<unknown[]>;
|
|
45
|
+
method: Opt<Var<'linear_regression' | 'propensity_score_weighting'>>;
|
|
46
|
+
targetUnits: Opt<Var<'ate' | 'att' | 'atc'>>;
|
|
47
|
+
trim: Opt<Var<'overlap' | 'bounds'>>;
|
|
48
|
+
}
|
|
49
|
+
export interface BalanceValue {
|
|
50
|
+
column: string;
|
|
51
|
+
treatedMean: number;
|
|
52
|
+
controlMean: number;
|
|
53
|
+
stdDiff: number;
|
|
54
|
+
}
|
|
55
|
+
export interface ResultValue {
|
|
56
|
+
effect: number;
|
|
57
|
+
ci: Opt<Ci>;
|
|
58
|
+
naive: number;
|
|
59
|
+
naiveCi: Opt<Ci>;
|
|
60
|
+
nTotal: bigint;
|
|
61
|
+
nTreated: bigint;
|
|
62
|
+
nControl: bigint;
|
|
63
|
+
nDropped: bigint;
|
|
64
|
+
balance: BalanceValue[];
|
|
65
|
+
}
|
|
66
|
+
export interface RefuteCheckValue {
|
|
67
|
+
kind: Var<'placebo' | 'random_common_cause' | 'data_subset' | 'unobserved'>;
|
|
68
|
+
estimatedEffect: number;
|
|
69
|
+
newEffects: Vec;
|
|
70
|
+
strengths: Opt<Vec>;
|
|
71
|
+
pValue: Opt<number>;
|
|
72
|
+
}
|
|
73
|
+
export interface RefuteValue {
|
|
74
|
+
checks: RefuteCheckValue[];
|
|
75
|
+
}
|
|
76
|
+
export interface DoseSegValue {
|
|
77
|
+
label: string;
|
|
78
|
+
grid: Vec;
|
|
79
|
+
effect: Vec;
|
|
80
|
+
lower: Opt<Vec>;
|
|
81
|
+
upper: Opt<Vec>;
|
|
82
|
+
}
|
|
83
|
+
export interface DoseValue {
|
|
84
|
+
feature: string;
|
|
85
|
+
grid: Vec;
|
|
86
|
+
effect: Vec;
|
|
87
|
+
lower: Opt<Vec>;
|
|
88
|
+
upper: Opt<Vec>;
|
|
89
|
+
size: VecI;
|
|
90
|
+
segments: Opt<DoseSegValue[]>;
|
|
91
|
+
}
|
|
92
|
+
export interface JournalValue {
|
|
93
|
+
spec: SpecValue;
|
|
94
|
+
effect: number;
|
|
95
|
+
ci: Opt<Ci>;
|
|
96
|
+
committedAt: Date;
|
|
97
|
+
committedBy: string;
|
|
98
|
+
}
|
|
99
|
+
export type ColMeta = Map<string, {
|
|
100
|
+
label: Opt<string>;
|
|
101
|
+
unit: Opt<string>;
|
|
102
|
+
higherIsBetter: Opt<boolean>;
|
|
103
|
+
}>;
|
|
104
|
+
/** A column the surface can frame over — name + coarse type family. */
|
|
105
|
+
export interface Column {
|
|
106
|
+
name: string;
|
|
107
|
+
kind: 'boolean' | 'integer' | 'float' | 'string' | 'datetime' | 'other';
|
|
108
|
+
}
|
|
109
|
+
export interface VMConfounder {
|
|
110
|
+
col: string;
|
|
111
|
+
reason: string;
|
|
112
|
+
imbalance: number;
|
|
113
|
+
level: string;
|
|
114
|
+
tone: string;
|
|
115
|
+
}
|
|
116
|
+
export interface VMSpec {
|
|
117
|
+
treatment: string;
|
|
118
|
+
treatmentKind: string;
|
|
119
|
+
outcome: string;
|
|
120
|
+
outcomeKind: string;
|
|
121
|
+
comparison: string;
|
|
122
|
+
confounders: VMConfounder[];
|
|
123
|
+
suggestion: string;
|
|
124
|
+
method: string;
|
|
125
|
+
target: string;
|
|
126
|
+
trim: boolean;
|
|
127
|
+
dataLabel: string;
|
|
128
|
+
}
|
|
129
|
+
export interface VMBalance {
|
|
130
|
+
col: string;
|
|
131
|
+
treated: number;
|
|
132
|
+
control: number;
|
|
133
|
+
display: string;
|
|
134
|
+
frac: number;
|
|
135
|
+
tone: string;
|
|
136
|
+
}
|
|
137
|
+
export interface VMAnswer {
|
|
138
|
+
treatment: string;
|
|
139
|
+
outcome: string;
|
|
140
|
+
unit: string;
|
|
141
|
+
naive: number;
|
|
142
|
+
naiveLo: number;
|
|
143
|
+
naiveHi: number;
|
|
144
|
+
effect: number;
|
|
145
|
+
lo: number;
|
|
146
|
+
hi: number;
|
|
147
|
+
nTotal: bigint;
|
|
148
|
+
nTreated: bigint;
|
|
149
|
+
nControl: bigint;
|
|
150
|
+
nCompared: bigint;
|
|
151
|
+
nDropped: bigint;
|
|
152
|
+
balance: VMBalance[];
|
|
153
|
+
}
|
|
154
|
+
export interface VMRefuteCheck {
|
|
155
|
+
name: string;
|
|
156
|
+
desc: string;
|
|
157
|
+
value: string;
|
|
158
|
+
passed: boolean;
|
|
159
|
+
tip: Opt<string>;
|
|
160
|
+
}
|
|
161
|
+
export interface VMRefute {
|
|
162
|
+
checks: VMRefuteCheck[];
|
|
163
|
+
sensLo: number[];
|
|
164
|
+
sensMid: number[];
|
|
165
|
+
sensHi: number[];
|
|
166
|
+
sensXTicks: string[];
|
|
167
|
+
sensYTicks: string[];
|
|
168
|
+
}
|
|
169
|
+
export interface VMDoseMark {
|
|
170
|
+
at: bigint;
|
|
171
|
+
label: string;
|
|
172
|
+
tone: string;
|
|
173
|
+
}
|
|
174
|
+
export interface VMMarginal {
|
|
175
|
+
label: string;
|
|
176
|
+
value: number;
|
|
177
|
+
frac: number;
|
|
178
|
+
}
|
|
179
|
+
export interface VMDose {
|
|
180
|
+
feature: string;
|
|
181
|
+
outcome: string;
|
|
182
|
+
lo: number[];
|
|
183
|
+
mid: number[];
|
|
184
|
+
hi: number[];
|
|
185
|
+
xTicks: string[];
|
|
186
|
+
yTicks: string[];
|
|
187
|
+
marks: VMDoseMark[];
|
|
188
|
+
recoLabel: string;
|
|
189
|
+
recoEffect: number;
|
|
190
|
+
recoLo: number;
|
|
191
|
+
recoHi: number;
|
|
192
|
+
tradeoff: string;
|
|
193
|
+
marginal: VMMarginal[];
|
|
194
|
+
segments: string[];
|
|
195
|
+
}
|
|
196
|
+
export interface VMJournalRow {
|
|
197
|
+
treatment: string;
|
|
198
|
+
outcome: string;
|
|
199
|
+
confounders: string;
|
|
200
|
+
effect: string;
|
|
201
|
+
verdict: string;
|
|
202
|
+
verdictTone: string;
|
|
203
|
+
who: string;
|
|
204
|
+
when: string;
|
|
205
|
+
}
|
|
206
|
+
declare const getOpt: <T>(o: Opt<T> | undefined) => T | undefined;
|
|
207
|
+
declare const fmt: (x: number) => string;
|
|
208
|
+
declare const signed: (x: number) => string;
|
|
209
|
+
declare const cap: (s: string) => string;
|
|
210
|
+
declare const unitOf: (meta: ColMeta | undefined, col: string) => string;
|
|
211
|
+
export interface ExperimentView {
|
|
212
|
+
spec: VMSpec;
|
|
213
|
+
answer: VMAnswer | null;
|
|
214
|
+
refute: VMRefute | null;
|
|
215
|
+
dose: VMDose | null;
|
|
216
|
+
journal: VMJournalRow[] | null;
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Derive the full view-model from the staged spec, the bound data's columns and
|
|
220
|
+
* the (possibly absent) function results.
|
|
221
|
+
*
|
|
222
|
+
* @param spec - The staged {@link SpecValue}.
|
|
223
|
+
* @param cols - The bound dataset's columns (name + type family).
|
|
224
|
+
* @param result - The estimate result, or `null` until the first Run settles.
|
|
225
|
+
* @param refute - The refute result, or `null`.
|
|
226
|
+
* @param dose - The dose result, or `null`.
|
|
227
|
+
* @param journal - Committed rows, or `null`.
|
|
228
|
+
* @param meta - Optional per-column display metadata.
|
|
229
|
+
* @param dataLen - Row count of the bound dataset (for the header label).
|
|
230
|
+
* @param now - "Now" for relative journal timestamps (injected for determinism).
|
|
231
|
+
*/
|
|
232
|
+
export declare function deriveView(spec: SpecValue, cols: Column[], result: ResultValue | null, refute: RefuteValue | null, dose: DoseValue | null, journal: JournalValue[] | null, meta: ColMeta | undefined, dataLen: number, now: Date): ExperimentView;
|
|
233
|
+
export { getOpt, fmt, signed, cap, unitOf };
|
|
234
|
+
//# sourceMappingURL=derive.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"derive.d.ts","sourceRoot":"","sources":["../../src/experiment/derive.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ValueTypeOf } from '@elaraai/east';
|
|
2
|
+
import { Experiment } from '@elaraai/e3-ui/internal';
|
|
3
|
+
type ExperimentValueIR = ValueTypeOf<typeof Experiment.Component.schema>;
|
|
4
|
+
export interface EastChakraExperimentProps {
|
|
5
|
+
value: ExperimentValueIR;
|
|
6
|
+
storageKey: string;
|
|
7
|
+
}
|
|
8
|
+
declare const EastChakraExperiment: import('react').NamedExoticComponent<EastChakraExperimentProps>;
|
|
9
|
+
export { EastChakraExperiment };
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/experiment/index.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AA2BH,OAAO,EAA6E,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5H,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AA0BrD,KAAK,iBAAiB,GAAG,WAAW,CAAC,OAAO,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AAqEzE,MAAM,WAAW,yBAAyB;IACtC,KAAK,EAAE,iBAAiB,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,QAAA,MAAM,oBAAoB,iEAyWxB,CAAC;AAgHH,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { EastType } from '@elaraai/east';
|
|
2
|
+
/** Lifecycle of the most recent call on a bound function's channel. */
|
|
3
|
+
export type FuncStatus = 'idle' | 'running' | 'succeeded' | 'failed' | 'cancelled';
|
|
4
|
+
/** What {@link useFuncCall} returns for one bound function. */
|
|
5
|
+
export interface FuncCall<R> {
|
|
6
|
+
/** Launch the call, fire-and-forget (latest-wins). No-op when not ready. */
|
|
7
|
+
call: (...args: unknown[]) => void;
|
|
8
|
+
/** Last successful result, or `null` until the first success. */
|
|
9
|
+
result: R | null;
|
|
10
|
+
/** Lifecycle of the most recent call. */
|
|
11
|
+
status: FuncStatus;
|
|
12
|
+
/** True while a call is in flight. */
|
|
13
|
+
pending: boolean;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Build + observe a reactive call handle for a named workspace function.
|
|
17
|
+
*
|
|
18
|
+
* @typeParam R - The function's return type (decoded JS shape).
|
|
19
|
+
* @param name - The bound function name, or `null` when the binding is absent
|
|
20
|
+
* (the hook degrades to an inert idle handle — safe for the rules of hooks).
|
|
21
|
+
* @param inputs - The positional parameter East types (e.g. `[Array(Row), Spec]`).
|
|
22
|
+
* `null` until the row type is known.
|
|
23
|
+
* @param output - The return East type.
|
|
24
|
+
* @returns A {@link FuncCall} — stable `call` plus the reactive `result` /
|
|
25
|
+
* `status` / `pending` of this function's shared channel.
|
|
26
|
+
*/
|
|
27
|
+
export declare function useFuncCall<R>(name: string | null, inputs: EastType[] | null, output: EastType): FuncCall<R>;
|
|
28
|
+
//# sourceMappingURL=run-runtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-runtime.d.ts","sourceRoot":"","sources":["../../src/experiment/run-runtime.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAqBH,OAAO,EAAmB,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAQ/D,uEAAuE;AACvE,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;AAEnF,+DAA+D;AAC/D,MAAM,WAAW,QAAQ,CAAC,CAAC;IACvB,4EAA4E;IAC5E,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACnC,iEAAiE;IACjE,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC;IACjB,yCAAyC;IACzC,MAAM,EAAE,UAAU,CAAC;IACnB,sCAAsC;IACtC,OAAO,EAAE,OAAO,CAAC;CACpB;AAWD;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,CAAC,EACzB,IAAI,EAAE,MAAM,GAAG,IAAI,EACnB,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,EACzB,MAAM,EAAE,QAAQ,GACjB,QAAQ,CAAC,CAAC,CAAC,CA6Cb"}
|