@fuaran-ui/ops 0.9.0 → 0.19.0
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/index.cjs +577 -50
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +95 -7
- package/dist/index.d.ts +95 -7
- package/dist/index.js +576 -52
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
package/dist/index.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Result, NodeId, NodeKind, JsonValue, Binding, SemanticStyle, StateBehaviour, Node, Cell, ColExpr, DataSource, Transform, EvalError, Table, TextSource, CellFormat, ColumnWidth, Orientation, ToneVariant, StyleWeight, Emphasis, HeadingVariant, BadgeVariant, IconSource, IconSize } from '@fuaran-ui/schema';
|
|
1
|
+
import { Result, NodeId, NodeKind, JsonValue, Binding, SemanticStyle, StateBehaviour, Node, Cell, ColExpr, DataSource, Transform, EvalError, Table, TextSource, CellFormat, ColumnWidth, Orientation, ToneVariant, StyleWeight, Emphasis, TrendPolarity, HeadingVariant, BadgeVariant, IconSource, IconSize, DecodePolicy } from '@fuaran-ui/schema';
|
|
2
2
|
|
|
3
3
|
/** Local JSON AST. Shape-for-shape port of the F# decoder's private `Json` DU. */
|
|
4
4
|
type JsonAst = {
|
|
@@ -23,6 +23,15 @@ type JsonAst = {
|
|
|
23
23
|
interface ParseError {
|
|
24
24
|
readonly message: string;
|
|
25
25
|
readonly offset: number;
|
|
26
|
+
/**
|
|
27
|
+
* True when this failure is a WIRE_FORMAT.md §21 resource-limit breach rather
|
|
28
|
+
* than a syntax error. It exists because the two must not be reported the
|
|
29
|
+
* same way: §21.2 rule 2 forbids reporting a limit breach as `INVALID_JSON`,
|
|
30
|
+
* since the input is well-formed and merely too large to walk, and calling it
|
|
31
|
+
* malformed sends the author to repair the wrong thing. `decodeNode` reads
|
|
32
|
+
* this flag to choose between `INVALID_JSON` and `LIMIT_EXCEEDED`.
|
|
33
|
+
*/
|
|
34
|
+
readonly limit?: boolean;
|
|
26
35
|
}
|
|
27
36
|
/**
|
|
28
37
|
* Parse a JSON document into the local AST. Mirrors the F# `tryParse`: empty /
|
|
@@ -133,7 +142,28 @@ declare const stepParams: (t: Transform) => readonly string[];
|
|
|
133
142
|
declare const pipelineParams: (pipeline: readonly Transform[]) => readonly string[];
|
|
134
143
|
|
|
135
144
|
/** Stable AI-friendly discriminator for decode-time failures (WIRE_FORMAT.md §6). */
|
|
136
|
-
type DecodeErrorCode = 'INVALID_JSON' | 'MISSING_FIELD' | 'WRONG_TYPE' | 'UNKNOWN_DU_CASE' | 'WRONG_NODE_KIND' | 'EMPTY_NODE_ID'
|
|
145
|
+
type DecodeErrorCode = 'INVALID_JSON' | 'MISSING_FIELD' | 'WRONG_TYPE' | 'UNKNOWN_DU_CASE' | 'WRONG_NODE_KIND' | 'EMPTY_NODE_ID'
|
|
146
|
+
/**
|
|
147
|
+
* A WIRE_FORMAT.md §21 resource limit was exceeded — the document is
|
|
148
|
+
* well-formed and merely too large to walk. Deliberately distinct from
|
|
149
|
+
* `INVALID_JSON`, which §21.2 rule 2 forbids using for this: calling a
|
|
150
|
+
* well-formed document malformed sends the author to repair the wrong thing.
|
|
151
|
+
*/
|
|
152
|
+
| 'LIMIT_EXCEEDED'
|
|
153
|
+
/**
|
|
154
|
+
* The document names a kind the HOST'S DECLARED decode policy does not admit
|
|
155
|
+
* (WIRE_FORMAT.md §23).
|
|
156
|
+
*
|
|
157
|
+
* Deliberately distinct from `WRONG_NODE_KIND`, which says the vocabulary has
|
|
158
|
+
* no such kind. This one says the kind exists and THIS DEPLOYMENT does not
|
|
159
|
+
* take it — a different fact with a different remedy, and conflating them
|
|
160
|
+
* would send a repairing author to invent a spelling that is already correct.
|
|
161
|
+
*
|
|
162
|
+
* Raised ONLY when a caller supplied a narrowing policy. With no policy the
|
|
163
|
+
* code is unreachable, which is what keeps §22's "a decoder owes nothing"
|
|
164
|
+
* true of the default decoder.
|
|
165
|
+
*/
|
|
166
|
+
| 'KIND_NOT_ADMITTED';
|
|
137
167
|
/** AI-recoverable decode-time failure. Mirrors the F# `DecodeError` record. */
|
|
138
168
|
interface DecodeError {
|
|
139
169
|
readonly code: DecodeErrorCode;
|
|
@@ -175,6 +205,8 @@ declare const coerce: {
|
|
|
175
205
|
tone: (v: JsonValue) => Result<ToneVariant, string>;
|
|
176
206
|
weight: (v: JsonValue) => Result<StyleWeight, string>;
|
|
177
207
|
emphasis: (v: JsonValue) => Result<Emphasis, string>;
|
|
208
|
+
/** `Metric.TrendPolarity` (Phase 867) - the UpdateProp twin of `decodeTrendPolarity`. */
|
|
209
|
+
trendPolarity: (v: JsonValue) => Result<TrendPolarity, string>;
|
|
178
210
|
/**
|
|
179
211
|
* The behavioural `emphasis` BOOL on Fact / LabelValueRow — the UpdateProp
|
|
180
212
|
* twin of `decodeEmphasisFlag`, so a TreeOp edit gets the same
|
|
@@ -189,10 +221,34 @@ declare const coerce: {
|
|
|
189
221
|
iconSize: (v: JsonValue) => Result<IconSize, string>;
|
|
190
222
|
stringOption: (v: JsonValue) => Result<string | undefined, string>;
|
|
191
223
|
};
|
|
192
|
-
/**
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
224
|
+
/**
|
|
225
|
+
* Decode a canonical-JSON `Node` payload into the storage-shape `Node<unknown>`.
|
|
226
|
+
*
|
|
227
|
+
* `policy` is the OPTIONAL WIRE_FORMAT §23 host-declared admission policy: a
|
|
228
|
+
* tree naming a kind outside it is refused with `KIND_NOT_ADMITTED` at the
|
|
229
|
+
* offending `kind.$type`, naming the kind and the policy. **Omitted, the decoder
|
|
230
|
+
* has exactly the obligations it had before** — every valid document decodes and
|
|
231
|
+
* the code is unreachable, which is what keeps §22 unqualified. Build a policy
|
|
232
|
+
* with `@fuaran-ui/schema`'s `CLOSED_PROFILE`, `excluding` or `admitting`.
|
|
233
|
+
*
|
|
234
|
+
* The reference host spells this as a sibling entry point rather than an
|
|
235
|
+
* optional argument, because F# optional parameters exist only on type members
|
|
236
|
+
* and defaulting in place would reshape its whole decoder surface. What the two
|
|
237
|
+
* hosts owe each other is the same behaviour on the same bytes, not the same
|
|
238
|
+
* arity — the `decode-policy/` corpus family is where that is asserted.
|
|
239
|
+
*/
|
|
240
|
+
declare const decodeNode: (json: string, policy?: DecodePolicy) => R<Node<unknown>>;
|
|
241
|
+
/**
|
|
242
|
+
* Decode a canonical-JSON `TreeOp` payload into the storage-shape
|
|
243
|
+
* `TreeOp<unknown>`.
|
|
244
|
+
*
|
|
245
|
+
* `policy` is the optional §23 admission policy. A node kind reaches an op two
|
|
246
|
+
* ways — inside a node-bearing operation, and as `EditNode`'s replacement kind —
|
|
247
|
+
* and both are gated, because an op stream that could introduce a refused kind
|
|
248
|
+
* into an admitted tree would make the policy a property of the first decode
|
|
249
|
+
* only rather than a closure.
|
|
250
|
+
*/
|
|
251
|
+
declare const decodeOp: (json: string, policy?: DecodePolicy) => R<TreeOp<unknown>>;
|
|
196
252
|
|
|
197
253
|
type ApplyErrorCode = 'NodeNotFound' | 'ParentNotFound' | 'ChildlessKind' | 'PositionOutOfRange' | 'DuplicateNodeId' | 'FieldNotFound' | 'SlotNotFound' | 'KindMismatch' | 'PathInvalid' | 'PathNotSupportedYet' | 'OrderingMismatch' | 'BatchAborted';
|
|
198
254
|
interface ApplyError {
|
|
@@ -729,4 +785,36 @@ declare const decodeElicitationOutcome: (json: string) => Result<ElicitationOutc
|
|
|
729
785
|
*/
|
|
730
786
|
declare const validateAnswerDocument: (json: string) => Result<undefined, ElicitationError>;
|
|
731
787
|
|
|
732
|
-
|
|
788
|
+
/**
|
|
789
|
+
* Keys under this prefix are HOST-OWNED: a tree-originated write naming one is
|
|
790
|
+
* refused, so a tree-originated SEED naming one must be too.
|
|
791
|
+
*
|
|
792
|
+
* Declared here rather than imported because the TypeScript tier carries no
|
|
793
|
+
* shared state-key policy module (the F# tier's `Fuaran.UI.StateKeyPolicy`).
|
|
794
|
+
* It must stay in step with that definition — there is one prefix, and a host
|
|
795
|
+
* that names a slot `host.<whatever>` is entitled to have every tier honour it.
|
|
796
|
+
*/
|
|
797
|
+
declare const HOST_RESERVED_PREFIX = "host.";
|
|
798
|
+
/**
|
|
799
|
+
* Collect the seed map for a tree: the value each `$state.<key>` slot carries
|
|
800
|
+
* before anything else has said anything.
|
|
801
|
+
*
|
|
802
|
+
* Order-independent by construction (charter §5) — the whole tree is walked
|
|
803
|
+
* before any binding resolves, so a badge declared before the grid that carries
|
|
804
|
+
* its rows is not a special case.
|
|
805
|
+
*/
|
|
806
|
+
declare const collectStateSeeds: <TMsg>(tree: Node<TMsg>) => Readonly<Record<string, unknown>>;
|
|
807
|
+
/**
|
|
808
|
+
* Lay a tree's seeds UNDER a host's own binding sources. The host's map wins on
|
|
809
|
+
* every key it names — a seed is the value before anything else has said
|
|
810
|
+
* anything, never an override, which is the only reading consistent with the
|
|
811
|
+
* wire's standing posture that the host owns named data.
|
|
812
|
+
*
|
|
813
|
+
* Returns the caller's own object unchanged when the tree declares nothing, so
|
|
814
|
+
* an unseeded tree costs one walk and no allocation.
|
|
815
|
+
*/
|
|
816
|
+
declare const withStateSeeds: <TMsg, S extends {
|
|
817
|
+
readonly state?: Readonly<Record<string, unknown>>;
|
|
818
|
+
}>(tree: Node<TMsg>, sources: S) => S;
|
|
819
|
+
|
|
820
|
+
export { type Answer, type AnswerContract, type AnswerField, type AnswerSpace, type AnswerValue, type ApplyError, type ApplyErrorCode, type ApplyResult, type Compatibility, type DagOpRecord, type DagResultEnvelope, type DecodeError, type DecodeErrorCode, type Decoded, ELICITATION_KEY, ELICITATION_VERSION, type ElicitationEnvelope, type ElicitationError, type ElicitationErrorCode, type ElicitationOutcome, type ElicitationOutcomeEnvelope, type Envelope, type EnvelopeError, type EnvelopeErrorCode, type EvalEnv, type FreshIds, HOST_RESERVED_PREFIX, type JsonAst, type MergeConflict, type MergeResult, type OpApplyTelemetryRecord, PAYLOAD_KEY, PROFILE_KEY, type ParseError, type PlaceError, type PlaceTarget, type Placement, type Profile, REQUIRED_PROFILE_KEY, type SourceResolver, type TreeOp, type UnknownKind, apply, canPlace, cellString, coerce, collectStateSeeds, coreV1, decodeDagRecord, decodeElicitation, decodeElicitationOutcome, decodeEnvelope, decodeEnvelopeAst, decodeNode, decodeNodeTolerant, decodeOp, decodeTolerant, derivedFreshIds, duplicateOp, duplicateOpWith, encodeCell, encodeColExpr, encodeDagRecord, encodeDataSource, encodeElicitation, encodeElicitationOutcome, encodeEnvelope, encodeNode, encodeOp, encodePipeline, evalErrorString, evalPipeline, evalPipelineInEnv, evalPipelineWith, evalPipelineWithInEnv, evalSource, field as jsonField, liveValueToTable, merge3Way, moveOp, negotiate, negotiateEnvelope, noResolve, nudgeOp, parse, pasteOp, pasteOpWith, pipelineParams, placeOp, reencodeNode, renderAstCanonical, renderProfile, sequentialFreshIds, stepParams, tryParseProfile, validateAnswer, validateAnswerAt, validateAnswerDocument, withStateSeeds };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Result, NodeId, NodeKind, JsonValue, Binding, SemanticStyle, StateBehaviour, Node, Cell, ColExpr, DataSource, Transform, EvalError, Table, TextSource, CellFormat, ColumnWidth, Orientation, ToneVariant, StyleWeight, Emphasis, HeadingVariant, BadgeVariant, IconSource, IconSize } from '@fuaran-ui/schema';
|
|
1
|
+
import { Result, NodeId, NodeKind, JsonValue, Binding, SemanticStyle, StateBehaviour, Node, Cell, ColExpr, DataSource, Transform, EvalError, Table, TextSource, CellFormat, ColumnWidth, Orientation, ToneVariant, StyleWeight, Emphasis, TrendPolarity, HeadingVariant, BadgeVariant, IconSource, IconSize, DecodePolicy } from '@fuaran-ui/schema';
|
|
2
2
|
|
|
3
3
|
/** Local JSON AST. Shape-for-shape port of the F# decoder's private `Json` DU. */
|
|
4
4
|
type JsonAst = {
|
|
@@ -23,6 +23,15 @@ type JsonAst = {
|
|
|
23
23
|
interface ParseError {
|
|
24
24
|
readonly message: string;
|
|
25
25
|
readonly offset: number;
|
|
26
|
+
/**
|
|
27
|
+
* True when this failure is a WIRE_FORMAT.md §21 resource-limit breach rather
|
|
28
|
+
* than a syntax error. It exists because the two must not be reported the
|
|
29
|
+
* same way: §21.2 rule 2 forbids reporting a limit breach as `INVALID_JSON`,
|
|
30
|
+
* since the input is well-formed and merely too large to walk, and calling it
|
|
31
|
+
* malformed sends the author to repair the wrong thing. `decodeNode` reads
|
|
32
|
+
* this flag to choose between `INVALID_JSON` and `LIMIT_EXCEEDED`.
|
|
33
|
+
*/
|
|
34
|
+
readonly limit?: boolean;
|
|
26
35
|
}
|
|
27
36
|
/**
|
|
28
37
|
* Parse a JSON document into the local AST. Mirrors the F# `tryParse`: empty /
|
|
@@ -133,7 +142,28 @@ declare const stepParams: (t: Transform) => readonly string[];
|
|
|
133
142
|
declare const pipelineParams: (pipeline: readonly Transform[]) => readonly string[];
|
|
134
143
|
|
|
135
144
|
/** Stable AI-friendly discriminator for decode-time failures (WIRE_FORMAT.md §6). */
|
|
136
|
-
type DecodeErrorCode = 'INVALID_JSON' | 'MISSING_FIELD' | 'WRONG_TYPE' | 'UNKNOWN_DU_CASE' | 'WRONG_NODE_KIND' | 'EMPTY_NODE_ID'
|
|
145
|
+
type DecodeErrorCode = 'INVALID_JSON' | 'MISSING_FIELD' | 'WRONG_TYPE' | 'UNKNOWN_DU_CASE' | 'WRONG_NODE_KIND' | 'EMPTY_NODE_ID'
|
|
146
|
+
/**
|
|
147
|
+
* A WIRE_FORMAT.md §21 resource limit was exceeded — the document is
|
|
148
|
+
* well-formed and merely too large to walk. Deliberately distinct from
|
|
149
|
+
* `INVALID_JSON`, which §21.2 rule 2 forbids using for this: calling a
|
|
150
|
+
* well-formed document malformed sends the author to repair the wrong thing.
|
|
151
|
+
*/
|
|
152
|
+
| 'LIMIT_EXCEEDED'
|
|
153
|
+
/**
|
|
154
|
+
* The document names a kind the HOST'S DECLARED decode policy does not admit
|
|
155
|
+
* (WIRE_FORMAT.md §23).
|
|
156
|
+
*
|
|
157
|
+
* Deliberately distinct from `WRONG_NODE_KIND`, which says the vocabulary has
|
|
158
|
+
* no such kind. This one says the kind exists and THIS DEPLOYMENT does not
|
|
159
|
+
* take it — a different fact with a different remedy, and conflating them
|
|
160
|
+
* would send a repairing author to invent a spelling that is already correct.
|
|
161
|
+
*
|
|
162
|
+
* Raised ONLY when a caller supplied a narrowing policy. With no policy the
|
|
163
|
+
* code is unreachable, which is what keeps §22's "a decoder owes nothing"
|
|
164
|
+
* true of the default decoder.
|
|
165
|
+
*/
|
|
166
|
+
| 'KIND_NOT_ADMITTED';
|
|
137
167
|
/** AI-recoverable decode-time failure. Mirrors the F# `DecodeError` record. */
|
|
138
168
|
interface DecodeError {
|
|
139
169
|
readonly code: DecodeErrorCode;
|
|
@@ -175,6 +205,8 @@ declare const coerce: {
|
|
|
175
205
|
tone: (v: JsonValue) => Result<ToneVariant, string>;
|
|
176
206
|
weight: (v: JsonValue) => Result<StyleWeight, string>;
|
|
177
207
|
emphasis: (v: JsonValue) => Result<Emphasis, string>;
|
|
208
|
+
/** `Metric.TrendPolarity` (Phase 867) - the UpdateProp twin of `decodeTrendPolarity`. */
|
|
209
|
+
trendPolarity: (v: JsonValue) => Result<TrendPolarity, string>;
|
|
178
210
|
/**
|
|
179
211
|
* The behavioural `emphasis` BOOL on Fact / LabelValueRow — the UpdateProp
|
|
180
212
|
* twin of `decodeEmphasisFlag`, so a TreeOp edit gets the same
|
|
@@ -189,10 +221,34 @@ declare const coerce: {
|
|
|
189
221
|
iconSize: (v: JsonValue) => Result<IconSize, string>;
|
|
190
222
|
stringOption: (v: JsonValue) => Result<string | undefined, string>;
|
|
191
223
|
};
|
|
192
|
-
/**
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
224
|
+
/**
|
|
225
|
+
* Decode a canonical-JSON `Node` payload into the storage-shape `Node<unknown>`.
|
|
226
|
+
*
|
|
227
|
+
* `policy` is the OPTIONAL WIRE_FORMAT §23 host-declared admission policy: a
|
|
228
|
+
* tree naming a kind outside it is refused with `KIND_NOT_ADMITTED` at the
|
|
229
|
+
* offending `kind.$type`, naming the kind and the policy. **Omitted, the decoder
|
|
230
|
+
* has exactly the obligations it had before** — every valid document decodes and
|
|
231
|
+
* the code is unreachable, which is what keeps §22 unqualified. Build a policy
|
|
232
|
+
* with `@fuaran-ui/schema`'s `CLOSED_PROFILE`, `excluding` or `admitting`.
|
|
233
|
+
*
|
|
234
|
+
* The reference host spells this as a sibling entry point rather than an
|
|
235
|
+
* optional argument, because F# optional parameters exist only on type members
|
|
236
|
+
* and defaulting in place would reshape its whole decoder surface. What the two
|
|
237
|
+
* hosts owe each other is the same behaviour on the same bytes, not the same
|
|
238
|
+
* arity — the `decode-policy/` corpus family is where that is asserted.
|
|
239
|
+
*/
|
|
240
|
+
declare const decodeNode: (json: string, policy?: DecodePolicy) => R<Node<unknown>>;
|
|
241
|
+
/**
|
|
242
|
+
* Decode a canonical-JSON `TreeOp` payload into the storage-shape
|
|
243
|
+
* `TreeOp<unknown>`.
|
|
244
|
+
*
|
|
245
|
+
* `policy` is the optional §23 admission policy. A node kind reaches an op two
|
|
246
|
+
* ways — inside a node-bearing operation, and as `EditNode`'s replacement kind —
|
|
247
|
+
* and both are gated, because an op stream that could introduce a refused kind
|
|
248
|
+
* into an admitted tree would make the policy a property of the first decode
|
|
249
|
+
* only rather than a closure.
|
|
250
|
+
*/
|
|
251
|
+
declare const decodeOp: (json: string, policy?: DecodePolicy) => R<TreeOp<unknown>>;
|
|
196
252
|
|
|
197
253
|
type ApplyErrorCode = 'NodeNotFound' | 'ParentNotFound' | 'ChildlessKind' | 'PositionOutOfRange' | 'DuplicateNodeId' | 'FieldNotFound' | 'SlotNotFound' | 'KindMismatch' | 'PathInvalid' | 'PathNotSupportedYet' | 'OrderingMismatch' | 'BatchAborted';
|
|
198
254
|
interface ApplyError {
|
|
@@ -729,4 +785,36 @@ declare const decodeElicitationOutcome: (json: string) => Result<ElicitationOutc
|
|
|
729
785
|
*/
|
|
730
786
|
declare const validateAnswerDocument: (json: string) => Result<undefined, ElicitationError>;
|
|
731
787
|
|
|
732
|
-
|
|
788
|
+
/**
|
|
789
|
+
* Keys under this prefix are HOST-OWNED: a tree-originated write naming one is
|
|
790
|
+
* refused, so a tree-originated SEED naming one must be too.
|
|
791
|
+
*
|
|
792
|
+
* Declared here rather than imported because the TypeScript tier carries no
|
|
793
|
+
* shared state-key policy module (the F# tier's `Fuaran.UI.StateKeyPolicy`).
|
|
794
|
+
* It must stay in step with that definition — there is one prefix, and a host
|
|
795
|
+
* that names a slot `host.<whatever>` is entitled to have every tier honour it.
|
|
796
|
+
*/
|
|
797
|
+
declare const HOST_RESERVED_PREFIX = "host.";
|
|
798
|
+
/**
|
|
799
|
+
* Collect the seed map for a tree: the value each `$state.<key>` slot carries
|
|
800
|
+
* before anything else has said anything.
|
|
801
|
+
*
|
|
802
|
+
* Order-independent by construction (charter §5) — the whole tree is walked
|
|
803
|
+
* before any binding resolves, so a badge declared before the grid that carries
|
|
804
|
+
* its rows is not a special case.
|
|
805
|
+
*/
|
|
806
|
+
declare const collectStateSeeds: <TMsg>(tree: Node<TMsg>) => Readonly<Record<string, unknown>>;
|
|
807
|
+
/**
|
|
808
|
+
* Lay a tree's seeds UNDER a host's own binding sources. The host's map wins on
|
|
809
|
+
* every key it names — a seed is the value before anything else has said
|
|
810
|
+
* anything, never an override, which is the only reading consistent with the
|
|
811
|
+
* wire's standing posture that the host owns named data.
|
|
812
|
+
*
|
|
813
|
+
* Returns the caller's own object unchanged when the tree declares nothing, so
|
|
814
|
+
* an unseeded tree costs one walk and no allocation.
|
|
815
|
+
*/
|
|
816
|
+
declare const withStateSeeds: <TMsg, S extends {
|
|
817
|
+
readonly state?: Readonly<Record<string, unknown>>;
|
|
818
|
+
}>(tree: Node<TMsg>, sources: S) => S;
|
|
819
|
+
|
|
820
|
+
export { type Answer, type AnswerContract, type AnswerField, type AnswerSpace, type AnswerValue, type ApplyError, type ApplyErrorCode, type ApplyResult, type Compatibility, type DagOpRecord, type DagResultEnvelope, type DecodeError, type DecodeErrorCode, type Decoded, ELICITATION_KEY, ELICITATION_VERSION, type ElicitationEnvelope, type ElicitationError, type ElicitationErrorCode, type ElicitationOutcome, type ElicitationOutcomeEnvelope, type Envelope, type EnvelopeError, type EnvelopeErrorCode, type EvalEnv, type FreshIds, HOST_RESERVED_PREFIX, type JsonAst, type MergeConflict, type MergeResult, type OpApplyTelemetryRecord, PAYLOAD_KEY, PROFILE_KEY, type ParseError, type PlaceError, type PlaceTarget, type Placement, type Profile, REQUIRED_PROFILE_KEY, type SourceResolver, type TreeOp, type UnknownKind, apply, canPlace, cellString, coerce, collectStateSeeds, coreV1, decodeDagRecord, decodeElicitation, decodeElicitationOutcome, decodeEnvelope, decodeEnvelopeAst, decodeNode, decodeNodeTolerant, decodeOp, decodeTolerant, derivedFreshIds, duplicateOp, duplicateOpWith, encodeCell, encodeColExpr, encodeDagRecord, encodeDataSource, encodeElicitation, encodeElicitationOutcome, encodeEnvelope, encodeNode, encodeOp, encodePipeline, evalErrorString, evalPipeline, evalPipelineInEnv, evalPipelineWith, evalPipelineWithInEnv, evalSource, field as jsonField, liveValueToTable, merge3Way, moveOp, negotiate, negotiateEnvelope, noResolve, nudgeOp, parse, pasteOp, pasteOpWith, pipelineParams, placeOp, reencodeNode, renderAstCanonical, renderProfile, sequentialFreshIds, stepParams, tryParseProfile, validateAnswer, validateAnswerAt, validateAnswerDocument, withStateSeeds };
|