@labelbox/rl-sdk 0.0.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/README.md +90 -0
- package/dist/client-options.d.ts +39 -0
- package/dist/client-options.js +29 -0
- package/dist/generated/client/client.gen.d.ts +2 -0
- package/dist/generated/client/client.gen.js +216 -0
- package/dist/generated/client/index.d.ts +8 -0
- package/dist/generated/client/index.js +6 -0
- package/dist/generated/client/types.gen.d.ts +120 -0
- package/dist/generated/client/types.gen.js +2 -0
- package/dist/generated/client/utils.gen.d.ts +37 -0
- package/dist/generated/client/utils.gen.js +228 -0
- package/dist/generated/client.gen.d.ts +12 -0
- package/dist/generated/client.gen.js +3 -0
- package/dist/generated/core/auth.gen.d.ts +18 -0
- package/dist/generated/core/auth.gen.js +14 -0
- package/dist/generated/core/bodySerializer.gen.d.ts +25 -0
- package/dist/generated/core/bodySerializer.gen.js +57 -0
- package/dist/generated/core/params.gen.d.ts +43 -0
- package/dist/generated/core/params.gen.js +100 -0
- package/dist/generated/core/pathSerializer.gen.d.ts +33 -0
- package/dist/generated/core/pathSerializer.gen.js +106 -0
- package/dist/generated/core/queryKeySerializer.gen.d.ts +18 -0
- package/dist/generated/core/queryKeySerializer.gen.js +92 -0
- package/dist/generated/core/serverSentEvents.gen.d.ts +71 -0
- package/dist/generated/core/serverSentEvents.gen.js +132 -0
- package/dist/generated/core/types.gen.d.ts +78 -0
- package/dist/generated/core/types.gen.js +2 -0
- package/dist/generated/core/utils.gen.d.ts +19 -0
- package/dist/generated/core/utils.gen.js +87 -0
- package/dist/generated/index.d.ts +2 -0
- package/dist/generated/index.js +2 -0
- package/dist/generated/sdk.gen.d.ts +3054 -0
- package/dist/generated/sdk.gen.js +5962 -0
- package/dist/generated/types.gen.d.ts +39711 -0
- package/dist/generated/types.gen.js +2 -0
- package/dist/index.d.ts +21 -0
- package/dist/index.js +39 -0
- package/dist/nesting.d.ts +18 -0
- package/dist/nesting.js +75 -0
- package/dist/reference/concepts-reference.generated.d.ts +9 -0
- package/dist/reference/concepts-reference.generated.js +356 -0
- package/dist/reference/concepts-schema.d.ts +16 -0
- package/dist/reference/concepts-schema.js +39 -0
- package/dist/reference/concepts.d.ts +15 -0
- package/dist/reference/concepts.js +354 -0
- package/dist/reference/domains.d.ts +65 -0
- package/dist/reference/domains.js +32 -0
- package/dist/reference/recipes-reference.generated.d.ts +11 -0
- package/dist/reference/recipes-reference.generated.js +11415 -0
- package/dist/reference/recipes-schema.d.ts +676 -0
- package/dist/reference/recipes-schema.js +406 -0
- package/dist/reference/resources-reference.generated.d.ts +11 -0
- package/dist/reference/resources-reference.generated.js +7174 -0
- package/dist/reference/resources-schema.d.ts +78 -0
- package/dist/reference/resources-schema.js +71 -0
- package/dist/reference/schema.d.ts +153 -0
- package/dist/reference/schema.js +151 -0
- package/dist/reference/sdk-reference.generated.d.ts +10 -0
- package/dist/reference/sdk-reference.generated.js +65703 -0
- package/dist/reference/tutorials.d.ts +76 -0
- package/dist/reference/tutorials.js +65 -0
- package/dist/session-events.d.ts +92 -0
- package/dist/session-events.js +213 -0
- package/package.json +126 -0
|
@@ -0,0 +1,676 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* How often a recipe is validated — an **internal CI cadence**, never surfaced
|
|
4
|
+
* in the docs (deliberately not on `RecipeReferenceEntry`):
|
|
5
|
+
* - `'per-merge'` — rides the post-deploy smoke on every merge.
|
|
6
|
+
* - `{ everyDays: N }` — pulled out of the per-merge smoke; validated by the
|
|
7
|
+
* daily workflow only on the days it's "due" (date-modulo schedule).
|
|
8
|
+
* A future weekly tier is just `{ everyDays: 7 }` — no schema change.
|
|
9
|
+
*/
|
|
10
|
+
export declare const RecipeCadenceSchema: z.ZodUnion<readonly [z.ZodLiteral<"per-merge">, z.ZodObject<{
|
|
11
|
+
everyDays: z.ZodNumber;
|
|
12
|
+
}, z.core.$strict>]>;
|
|
13
|
+
export type RecipeCadence = z.infer<typeof RecipeCadenceSchema>;
|
|
14
|
+
/** A link to another **recipe** (traversable — the agent can follow it). */
|
|
15
|
+
export declare const RecipeRecipeTargetSchema: z.ZodObject<{
|
|
16
|
+
type: z.ZodLiteral<"recipe">;
|
|
17
|
+
id: z.ZodString;
|
|
18
|
+
}, z.core.$strict>;
|
|
19
|
+
/** A link to a **concept** (Explanation) page declared in `CONCEPT_REFERENCE`. */
|
|
20
|
+
export declare const RecipeConceptTargetSchema: z.ZodObject<{
|
|
21
|
+
type: z.ZodLiteral<"concept">;
|
|
22
|
+
id: z.ZodString;
|
|
23
|
+
}, z.core.$strict>;
|
|
24
|
+
/** A link to a **tutorial** page. */
|
|
25
|
+
export declare const RecipeTutorialTargetSchema: z.ZodObject<{
|
|
26
|
+
type: z.ZodLiteral<"tutorial">;
|
|
27
|
+
id: z.ZodString;
|
|
28
|
+
}, z.core.$strict>;
|
|
29
|
+
/** A link to a **resource** page. */
|
|
30
|
+
export declare const RecipeResourceTargetSchema: z.ZodObject<{
|
|
31
|
+
type: z.ZodLiteral<"resource">;
|
|
32
|
+
id: z.ZodString;
|
|
33
|
+
}, z.core.$strict>;
|
|
34
|
+
/**
|
|
35
|
+
* Any typed link target (`recipe | concept | tutorial | resource`). One typed
|
|
36
|
+
* model lets a recipe reference *any* doc element — relationships aren't only
|
|
37
|
+
* between recipes — instead of a separate field per kind.
|
|
38
|
+
*/
|
|
39
|
+
export declare const RecipeLinkTargetSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
40
|
+
type: z.ZodLiteral<"recipe">;
|
|
41
|
+
id: z.ZodString;
|
|
42
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
43
|
+
type: z.ZodLiteral<"concept">;
|
|
44
|
+
id: z.ZodString;
|
|
45
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
46
|
+
type: z.ZodLiteral<"tutorial">;
|
|
47
|
+
id: z.ZodString;
|
|
48
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
49
|
+
type: z.ZodLiteral<"resource">;
|
|
50
|
+
id: z.ZodString;
|
|
51
|
+
}, z.core.$strict>], "type">;
|
|
52
|
+
export type RecipeLinkTarget = z.infer<typeof RecipeLinkTargetSchema>;
|
|
53
|
+
/**
|
|
54
|
+
* A `learnMore` target — the "why" behind the how-to: a concept / tutorial /
|
|
55
|
+
* resource. NOT a recipe (a recipe demonstrates; a concept explains — pairing
|
|
56
|
+
* them is what teaches the reader). The concept page lists its recipes via the
|
|
57
|
+
* inverse, so there's no second "taught by" field.
|
|
58
|
+
*/
|
|
59
|
+
export declare const RecipeLearnMoreTargetSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
60
|
+
type: z.ZodLiteral<"concept">;
|
|
61
|
+
id: z.ZodString;
|
|
62
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
63
|
+
type: z.ZodLiteral<"tutorial">;
|
|
64
|
+
id: z.ZodString;
|
|
65
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
66
|
+
type: z.ZodLiteral<"resource">;
|
|
67
|
+
id: z.ZodString;
|
|
68
|
+
}, z.core.$strict>], "type">;
|
|
69
|
+
export type RecipeLearnMoreTarget = z.infer<typeof RecipeLearnMoreTargetSchema>;
|
|
70
|
+
/**
|
|
71
|
+
* A `requires` entry that is a **state precondition** rather than a recipe — the
|
|
72
|
+
* common "the version must be locked" case that has no recipe of its own. It
|
|
73
|
+
* carries a human `explanation`, an optional machine-checkable `predicate`
|
|
74
|
+
* (e.g. `version.locked === true` — in L0 only *stored* and required to be a
|
|
75
|
+
* non-empty string; *evaluated* in a later layer), and an optional `via` link to
|
|
76
|
+
* whatever reaches the state (a recipe / concept / tutorial / resource).
|
|
77
|
+
*/
|
|
78
|
+
export declare const RecipeStateRequirementSchema: z.ZodObject<{
|
|
79
|
+
type: z.ZodLiteral<"state">;
|
|
80
|
+
explanation: z.ZodString;
|
|
81
|
+
predicate: z.ZodOptional<z.ZodString>;
|
|
82
|
+
via: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
83
|
+
type: z.ZodLiteral<"recipe">;
|
|
84
|
+
id: z.ZodString;
|
|
85
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
86
|
+
type: z.ZodLiteral<"concept">;
|
|
87
|
+
id: z.ZodString;
|
|
88
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
89
|
+
type: z.ZodLiteral<"tutorial">;
|
|
90
|
+
id: z.ZodString;
|
|
91
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
92
|
+
type: z.ZodLiteral<"resource">;
|
|
93
|
+
id: z.ZodString;
|
|
94
|
+
}, z.core.$strict>], "type">>;
|
|
95
|
+
}, z.core.$strict>;
|
|
96
|
+
export type RecipeStateRequirement = z.infer<typeof RecipeStateRequirementSchema>;
|
|
97
|
+
/**
|
|
98
|
+
* A typed prerequisite: another **recipe** (a real, followable edge — "author a
|
|
99
|
+
* problem before grading it") or a **state** precondition (the explanation +
|
|
100
|
+
* optional predicate above). The backbone an agent traverses off the `now what?`
|
|
101
|
+
* cliff.
|
|
102
|
+
*/
|
|
103
|
+
export declare const RecipeRequiresEntrySchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
104
|
+
type: z.ZodLiteral<"recipe">;
|
|
105
|
+
id: z.ZodString;
|
|
106
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
107
|
+
type: z.ZodLiteral<"state">;
|
|
108
|
+
explanation: z.ZodString;
|
|
109
|
+
predicate: z.ZodOptional<z.ZodString>;
|
|
110
|
+
via: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
111
|
+
type: z.ZodLiteral<"recipe">;
|
|
112
|
+
id: z.ZodString;
|
|
113
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
114
|
+
type: z.ZodLiteral<"concept">;
|
|
115
|
+
id: z.ZodString;
|
|
116
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
117
|
+
type: z.ZodLiteral<"tutorial">;
|
|
118
|
+
id: z.ZodString;
|
|
119
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
120
|
+
type: z.ZodLiteral<"resource">;
|
|
121
|
+
id: z.ZodString;
|
|
122
|
+
}, z.core.$strict>], "type">>;
|
|
123
|
+
}, z.core.$strict>], "type">;
|
|
124
|
+
export type RecipeRequiresEntry = z.infer<typeof RecipeRequiresEntrySchema>;
|
|
125
|
+
/**
|
|
126
|
+
* The optional `related` block on a recipe — its place in the graph. All fields
|
|
127
|
+
* optional; an absent block means "no declared relationships" (an island, which
|
|
128
|
+
* `recipes:check` permits but the docs nudge away from).
|
|
129
|
+
*/
|
|
130
|
+
export declare const RecipeRelatedSchema: z.ZodObject<{
|
|
131
|
+
requires: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
132
|
+
type: z.ZodLiteral<"recipe">;
|
|
133
|
+
id: z.ZodString;
|
|
134
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
135
|
+
type: z.ZodLiteral<"state">;
|
|
136
|
+
explanation: z.ZodString;
|
|
137
|
+
predicate: z.ZodOptional<z.ZodString>;
|
|
138
|
+
via: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
139
|
+
type: z.ZodLiteral<"recipe">;
|
|
140
|
+
id: z.ZodString;
|
|
141
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
142
|
+
type: z.ZodLiteral<"concept">;
|
|
143
|
+
id: z.ZodString;
|
|
144
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
145
|
+
type: z.ZodLiteral<"tutorial">;
|
|
146
|
+
id: z.ZodString;
|
|
147
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
148
|
+
type: z.ZodLiteral<"resource">;
|
|
149
|
+
id: z.ZodString;
|
|
150
|
+
}, z.core.$strict>], "type">>;
|
|
151
|
+
}, z.core.$strict>], "type">>>;
|
|
152
|
+
variationOf: z.ZodOptional<z.ZodString>;
|
|
153
|
+
learnMore: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
154
|
+
type: z.ZodLiteral<"concept">;
|
|
155
|
+
id: z.ZodString;
|
|
156
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
157
|
+
type: z.ZodLiteral<"tutorial">;
|
|
158
|
+
id: z.ZodString;
|
|
159
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
160
|
+
type: z.ZodLiteral<"resource">;
|
|
161
|
+
id: z.ZodString;
|
|
162
|
+
}, z.core.$strict>], "type">>>;
|
|
163
|
+
}, z.core.$strict>;
|
|
164
|
+
export type RecipeRelated = z.infer<typeof RecipeRelatedSchema>;
|
|
165
|
+
/** A recipe's identity + docs metadata (`manifest.ts`). */
|
|
166
|
+
export declare const RecipeManifestSchema: z.ZodObject<{
|
|
167
|
+
id: z.ZodString;
|
|
168
|
+
title: z.ZodString;
|
|
169
|
+
goal: z.ZodString;
|
|
170
|
+
category: z.ZodString;
|
|
171
|
+
cadence: z.ZodUnion<readonly [z.ZodLiteral<"per-merge">, z.ZodObject<{
|
|
172
|
+
everyDays: z.ZodNumber;
|
|
173
|
+
}, z.core.$strict>]>;
|
|
174
|
+
stepDescriptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
175
|
+
outcomeInUiOnly: z.ZodOptional<z.ZodObject<{
|
|
176
|
+
reason: z.ZodString;
|
|
177
|
+
}, z.core.$strict>>;
|
|
178
|
+
related: z.ZodOptional<z.ZodObject<{
|
|
179
|
+
requires: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
180
|
+
type: z.ZodLiteral<"recipe">;
|
|
181
|
+
id: z.ZodString;
|
|
182
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
183
|
+
type: z.ZodLiteral<"state">;
|
|
184
|
+
explanation: z.ZodString;
|
|
185
|
+
predicate: z.ZodOptional<z.ZodString>;
|
|
186
|
+
via: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
187
|
+
type: z.ZodLiteral<"recipe">;
|
|
188
|
+
id: z.ZodString;
|
|
189
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
190
|
+
type: z.ZodLiteral<"concept">;
|
|
191
|
+
id: z.ZodString;
|
|
192
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
193
|
+
type: z.ZodLiteral<"tutorial">;
|
|
194
|
+
id: z.ZodString;
|
|
195
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
196
|
+
type: z.ZodLiteral<"resource">;
|
|
197
|
+
id: z.ZodString;
|
|
198
|
+
}, z.core.$strict>], "type">>;
|
|
199
|
+
}, z.core.$strict>], "type">>>;
|
|
200
|
+
variationOf: z.ZodOptional<z.ZodString>;
|
|
201
|
+
learnMore: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
202
|
+
type: z.ZodLiteral<"concept">;
|
|
203
|
+
id: z.ZodString;
|
|
204
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
205
|
+
type: z.ZodLiteral<"tutorial">;
|
|
206
|
+
id: z.ZodString;
|
|
207
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
208
|
+
type: z.ZodLiteral<"resource">;
|
|
209
|
+
id: z.ZodString;
|
|
210
|
+
}, z.core.$strict>], "type">>>;
|
|
211
|
+
}, z.core.$strict>>;
|
|
212
|
+
}, z.core.$strict>;
|
|
213
|
+
export type RecipeManifest = z.infer<typeof RecipeManifestSchema>;
|
|
214
|
+
/** A reference to a value captured by an earlier step (threading). */
|
|
215
|
+
export declare const RecipeRefSchema: z.ZodObject<{
|
|
216
|
+
$ref: z.ZodString;
|
|
217
|
+
}, z.core.$strict>;
|
|
218
|
+
export type RecipeRef = z.infer<typeof RecipeRefSchema>;
|
|
219
|
+
/**
|
|
220
|
+
* An input supplied to one of a step's params:
|
|
221
|
+
* - `{ $ref: '<captureName>' }` — threaded from an earlier step's capture.
|
|
222
|
+
* - `{ value: <json> }` — a literal rendered verbatim in the examples.
|
|
223
|
+
* Params not listed in a step's `inputs` render as placeholders (user-supplied).
|
|
224
|
+
*/
|
|
225
|
+
export declare const RecipeInputSchema: z.ZodUnion<readonly [z.ZodObject<{
|
|
226
|
+
$ref: z.ZodString;
|
|
227
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
228
|
+
value: z.ZodUnknown;
|
|
229
|
+
}, z.core.$strict>]>;
|
|
230
|
+
export type RecipeInput = z.infer<typeof RecipeInputSchema>;
|
|
231
|
+
/**
|
|
232
|
+
* A **poll** modifier on an SDK step: re-invoke this operation on an interval
|
|
233
|
+
* until it reaches a terminal state, *then* read its captures off that terminal
|
|
234
|
+
* response. This makes "wait for the result, then read it" a first-class,
|
|
235
|
+
* **documented** part of the recipe (rendered as a real loop in the SDK/CLI/cURL
|
|
236
|
+
* examples) rather than hidden test scaffolding — a recipe teaches the reader how
|
|
237
|
+
* to wait, exactly as the UI walkthrough does. The executor (`executeApiPlan`):
|
|
238
|
+
* - fails RED when `failOn` is set and its condition holds — `failOn.path`'s
|
|
239
|
+
* value is in `failOn.in` (or, with `present`, is non-null). Checked FIRST,
|
|
240
|
+
* so a terminal failure is surfaced, never masked by a coincident `until`.
|
|
241
|
+
* - stops successfully when `until` holds — `until.path`'s value is in
|
|
242
|
+
* `until.in`, or (with `present`) is non-null (e.g. `finalScore` landing).
|
|
243
|
+
* - fails RED when `timeoutMs` elapses first.
|
|
244
|
+
* Poll is SDK-only (an Intelligence step has no `operationId` to re-invoke).
|
|
245
|
+
*/
|
|
246
|
+
export declare const RecipePollSchema: z.ZodObject<{
|
|
247
|
+
until: z.ZodUnion<readonly [z.ZodObject<{
|
|
248
|
+
path: z.ZodString;
|
|
249
|
+
in: z.ZodArray<z.ZodString>;
|
|
250
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
251
|
+
path: z.ZodString;
|
|
252
|
+
present: z.ZodLiteral<true>;
|
|
253
|
+
}, z.core.$strict>]>;
|
|
254
|
+
failOn: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
|
|
255
|
+
path: z.ZodString;
|
|
256
|
+
in: z.ZodArray<z.ZodString>;
|
|
257
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
258
|
+
path: z.ZodString;
|
|
259
|
+
present: z.ZodLiteral<true>;
|
|
260
|
+
}, z.core.$strict>]>>;
|
|
261
|
+
timeoutMs: z.ZodNumber;
|
|
262
|
+
intervalMs: z.ZodNumber;
|
|
263
|
+
}, z.core.$strict>;
|
|
264
|
+
export type RecipePoll = z.infer<typeof RecipePollSchema>;
|
|
265
|
+
/**
|
|
266
|
+
* An SDK step — today's `operationId`-based call. `setup` steps render as a
|
|
267
|
+
* marked preamble (each recipe provisions its own setup); `main` steps are the
|
|
268
|
+
* goal proper. `kind` defaults to `'sdk'` so existing (kind-less) recipes stay
|
|
269
|
+
* valid and the common case needs no `kind:` line.
|
|
270
|
+
*/
|
|
271
|
+
export declare const RecipeSdkStepSchema: z.ZodObject<{
|
|
272
|
+
kind: z.ZodDefault<z.ZodLiteral<"sdk">>;
|
|
273
|
+
operationId: z.ZodString;
|
|
274
|
+
caption: z.ZodOptional<z.ZodString>;
|
|
275
|
+
phase: z.ZodDefault<z.ZodEnum<{
|
|
276
|
+
setup: "setup";
|
|
277
|
+
main: "main";
|
|
278
|
+
}>>;
|
|
279
|
+
inputs: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodObject<{
|
|
280
|
+
$ref: z.ZodString;
|
|
281
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
282
|
+
value: z.ZodUnknown;
|
|
283
|
+
}, z.core.$strict>]>>>;
|
|
284
|
+
poll: z.ZodOptional<z.ZodObject<{
|
|
285
|
+
until: z.ZodUnion<readonly [z.ZodObject<{
|
|
286
|
+
path: z.ZodString;
|
|
287
|
+
in: z.ZodArray<z.ZodString>;
|
|
288
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
289
|
+
path: z.ZodString;
|
|
290
|
+
present: z.ZodLiteral<true>;
|
|
291
|
+
}, z.core.$strict>]>;
|
|
292
|
+
failOn: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
|
|
293
|
+
path: z.ZodString;
|
|
294
|
+
in: z.ZodArray<z.ZodString>;
|
|
295
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
296
|
+
path: z.ZodString;
|
|
297
|
+
present: z.ZodLiteral<true>;
|
|
298
|
+
}, z.core.$strict>]>>;
|
|
299
|
+
timeoutMs: z.ZodNumber;
|
|
300
|
+
intervalMs: z.ZodNumber;
|
|
301
|
+
}, z.core.$strict>>;
|
|
302
|
+
captures: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
303
|
+
}, z.core.$strict>;
|
|
304
|
+
export type RecipeSdkStep = z.infer<typeof RecipeSdkStepSchema>;
|
|
305
|
+
/**
|
|
306
|
+
* An Intelligence (Labelbox) step — a raw GraphQL command POSTed to
|
|
307
|
+
* `${LBX_URL}/api/_gql` with the SAME `Authorization: Bearer <LABELBOX_API_KEY>`
|
|
308
|
+
* the rl SDK/CLI already use. This surfaces the parts of a real flow that have
|
|
309
|
+
* no rl-gym SDK route (create a project, add a labeler, submit/review) so an
|
|
310
|
+
* agent reading the recipe gets the *complete* journey, not just the SDK slice.
|
|
311
|
+
* `caption` is REQUIRED — it is the user-facing instruction ("Create a project
|
|
312
|
+
* in Intelligence") that the whole feature exists to surface. `{ $ref }` markers
|
|
313
|
+
* embedded in `gql.variables` thread in earlier captures; `captures` reads
|
|
314
|
+
* fields off the GraphQL response's `data` object (e.g. `createProject.id`).
|
|
315
|
+
*/
|
|
316
|
+
export declare const RecipeIntelligenceStepSchema: z.ZodObject<{
|
|
317
|
+
kind: z.ZodLiteral<"intelligence">;
|
|
318
|
+
caption: z.ZodString;
|
|
319
|
+
phase: z.ZodDefault<z.ZodEnum<{
|
|
320
|
+
setup: "setup";
|
|
321
|
+
main: "main";
|
|
322
|
+
}>>;
|
|
323
|
+
gql: z.ZodObject<{
|
|
324
|
+
query: z.ZodString;
|
|
325
|
+
variables: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
326
|
+
}, z.core.$strict>;
|
|
327
|
+
captures: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
328
|
+
}, z.core.$strict>;
|
|
329
|
+
export type RecipeIntelligenceStep = z.infer<typeof RecipeIntelligenceStepSchema>;
|
|
330
|
+
/**
|
|
331
|
+
* One step of a recipe's `api.ts`: an SDK call or an Intelligence GraphQL
|
|
332
|
+
* command. A plain `z.union` (not `discriminatedUnion`) is deliberate — Zod 4's
|
|
333
|
+
* `discriminatedUnion` reads the discriminator BEFORE applying defaults, so a
|
|
334
|
+
* `kind`-less step would fail to match; `z.union` tries the SDK variant first,
|
|
335
|
+
* whose defaulted `kind` absorbs the omitted discriminator. TypeScript still
|
|
336
|
+
* narrows on the `kind` literal at the consumer.
|
|
337
|
+
*/
|
|
338
|
+
export declare const RecipeApiStepSchema: z.ZodUnion<readonly [z.ZodObject<{
|
|
339
|
+
kind: z.ZodDefault<z.ZodLiteral<"sdk">>;
|
|
340
|
+
operationId: z.ZodString;
|
|
341
|
+
caption: z.ZodOptional<z.ZodString>;
|
|
342
|
+
phase: z.ZodDefault<z.ZodEnum<{
|
|
343
|
+
setup: "setup";
|
|
344
|
+
main: "main";
|
|
345
|
+
}>>;
|
|
346
|
+
inputs: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodObject<{
|
|
347
|
+
$ref: z.ZodString;
|
|
348
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
349
|
+
value: z.ZodUnknown;
|
|
350
|
+
}, z.core.$strict>]>>>;
|
|
351
|
+
poll: z.ZodOptional<z.ZodObject<{
|
|
352
|
+
until: z.ZodUnion<readonly [z.ZodObject<{
|
|
353
|
+
path: z.ZodString;
|
|
354
|
+
in: z.ZodArray<z.ZodString>;
|
|
355
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
356
|
+
path: z.ZodString;
|
|
357
|
+
present: z.ZodLiteral<true>;
|
|
358
|
+
}, z.core.$strict>]>;
|
|
359
|
+
failOn: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
|
|
360
|
+
path: z.ZodString;
|
|
361
|
+
in: z.ZodArray<z.ZodString>;
|
|
362
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
363
|
+
path: z.ZodString;
|
|
364
|
+
present: z.ZodLiteral<true>;
|
|
365
|
+
}, z.core.$strict>]>>;
|
|
366
|
+
timeoutMs: z.ZodNumber;
|
|
367
|
+
intervalMs: z.ZodNumber;
|
|
368
|
+
}, z.core.$strict>>;
|
|
369
|
+
captures: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
370
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
371
|
+
kind: z.ZodLiteral<"intelligence">;
|
|
372
|
+
caption: z.ZodString;
|
|
373
|
+
phase: z.ZodDefault<z.ZodEnum<{
|
|
374
|
+
setup: "setup";
|
|
375
|
+
main: "main";
|
|
376
|
+
}>>;
|
|
377
|
+
gql: z.ZodObject<{
|
|
378
|
+
query: z.ZodString;
|
|
379
|
+
variables: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
380
|
+
}, z.core.$strict>;
|
|
381
|
+
captures: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
382
|
+
}, z.core.$strict>]>;
|
|
383
|
+
export type RecipeApiStep = z.infer<typeof RecipeApiStepSchema>;
|
|
384
|
+
/** The ordered API plan for a recipe (`api.ts`). */
|
|
385
|
+
export declare const RecipeApiSchema: z.ZodObject<{
|
|
386
|
+
steps: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
|
|
387
|
+
kind: z.ZodDefault<z.ZodLiteral<"sdk">>;
|
|
388
|
+
operationId: z.ZodString;
|
|
389
|
+
caption: z.ZodOptional<z.ZodString>;
|
|
390
|
+
phase: z.ZodDefault<z.ZodEnum<{
|
|
391
|
+
setup: "setup";
|
|
392
|
+
main: "main";
|
|
393
|
+
}>>;
|
|
394
|
+
inputs: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodObject<{
|
|
395
|
+
$ref: z.ZodString;
|
|
396
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
397
|
+
value: z.ZodUnknown;
|
|
398
|
+
}, z.core.$strict>]>>>;
|
|
399
|
+
poll: z.ZodOptional<z.ZodObject<{
|
|
400
|
+
until: z.ZodUnion<readonly [z.ZodObject<{
|
|
401
|
+
path: z.ZodString;
|
|
402
|
+
in: z.ZodArray<z.ZodString>;
|
|
403
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
404
|
+
path: z.ZodString;
|
|
405
|
+
present: z.ZodLiteral<true>;
|
|
406
|
+
}, z.core.$strict>]>;
|
|
407
|
+
failOn: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
|
|
408
|
+
path: z.ZodString;
|
|
409
|
+
in: z.ZodArray<z.ZodString>;
|
|
410
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
411
|
+
path: z.ZodString;
|
|
412
|
+
present: z.ZodLiteral<true>;
|
|
413
|
+
}, z.core.$strict>]>>;
|
|
414
|
+
timeoutMs: z.ZodNumber;
|
|
415
|
+
intervalMs: z.ZodNumber;
|
|
416
|
+
}, z.core.$strict>>;
|
|
417
|
+
captures: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
418
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
419
|
+
kind: z.ZodLiteral<"intelligence">;
|
|
420
|
+
caption: z.ZodString;
|
|
421
|
+
phase: z.ZodDefault<z.ZodEnum<{
|
|
422
|
+
setup: "setup";
|
|
423
|
+
main: "main";
|
|
424
|
+
}>>;
|
|
425
|
+
gql: z.ZodObject<{
|
|
426
|
+
query: z.ZodString;
|
|
427
|
+
variables: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
428
|
+
}, z.core.$strict>;
|
|
429
|
+
captures: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
430
|
+
}, z.core.$strict>]>>;
|
|
431
|
+
}, z.core.$strict>;
|
|
432
|
+
/** Normalized plan (defaults applied) — what the generator consumes post-parse. */
|
|
433
|
+
export type RecipeApi = z.infer<typeof RecipeApiSchema>;
|
|
434
|
+
/** Authoring shape (defaults optional) — what an `api.ts` author writes / `satisfies`. */
|
|
435
|
+
export type RecipeApiInput = z.input<typeof RecipeApiSchema>;
|
|
436
|
+
/** A validated SDK step in the generated reference (phase/inputs/captures normalized). */
|
|
437
|
+
export declare const RecipeSdkReferenceStepSchema: z.ZodObject<{
|
|
438
|
+
kind: z.ZodLiteral<"sdk">;
|
|
439
|
+
operationId: z.ZodString;
|
|
440
|
+
caption: z.ZodOptional<z.ZodString>;
|
|
441
|
+
phase: z.ZodEnum<{
|
|
442
|
+
setup: "setup";
|
|
443
|
+
main: "main";
|
|
444
|
+
}>;
|
|
445
|
+
inputs: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodObject<{
|
|
446
|
+
$ref: z.ZodString;
|
|
447
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
448
|
+
value: z.ZodUnknown;
|
|
449
|
+
}, z.core.$strict>]>>;
|
|
450
|
+
poll: z.ZodOptional<z.ZodObject<{
|
|
451
|
+
until: z.ZodUnion<readonly [z.ZodObject<{
|
|
452
|
+
path: z.ZodString;
|
|
453
|
+
in: z.ZodArray<z.ZodString>;
|
|
454
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
455
|
+
path: z.ZodString;
|
|
456
|
+
present: z.ZodLiteral<true>;
|
|
457
|
+
}, z.core.$strict>]>;
|
|
458
|
+
failOn: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
|
|
459
|
+
path: z.ZodString;
|
|
460
|
+
in: z.ZodArray<z.ZodString>;
|
|
461
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
462
|
+
path: z.ZodString;
|
|
463
|
+
present: z.ZodLiteral<true>;
|
|
464
|
+
}, z.core.$strict>]>>;
|
|
465
|
+
timeoutMs: z.ZodNumber;
|
|
466
|
+
intervalMs: z.ZodNumber;
|
|
467
|
+
}, z.core.$strict>>;
|
|
468
|
+
captures: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
469
|
+
}, z.core.$strict>;
|
|
470
|
+
/** A validated Intelligence step in the generated reference (normalized). */
|
|
471
|
+
export declare const RecipeIntelligenceReferenceStepSchema: z.ZodObject<{
|
|
472
|
+
kind: z.ZodLiteral<"intelligence">;
|
|
473
|
+
caption: z.ZodString;
|
|
474
|
+
phase: z.ZodEnum<{
|
|
475
|
+
setup: "setup";
|
|
476
|
+
main: "main";
|
|
477
|
+
}>;
|
|
478
|
+
gql: z.ZodObject<{
|
|
479
|
+
query: z.ZodString;
|
|
480
|
+
variables: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
481
|
+
}, z.core.$strict>;
|
|
482
|
+
captures: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
483
|
+
}, z.core.$strict>;
|
|
484
|
+
/**
|
|
485
|
+
* A validated step in the generated reference. The reference is the *normalized*
|
|
486
|
+
* form (defaults already applied, so `kind` is always present) — a
|
|
487
|
+
* `discriminatedUnion` is safe here and gives precise per-variant errors.
|
|
488
|
+
*/
|
|
489
|
+
export declare const RecipeReferenceStepSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
490
|
+
kind: z.ZodLiteral<"sdk">;
|
|
491
|
+
operationId: z.ZodString;
|
|
492
|
+
caption: z.ZodOptional<z.ZodString>;
|
|
493
|
+
phase: z.ZodEnum<{
|
|
494
|
+
setup: "setup";
|
|
495
|
+
main: "main";
|
|
496
|
+
}>;
|
|
497
|
+
inputs: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodObject<{
|
|
498
|
+
$ref: z.ZodString;
|
|
499
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
500
|
+
value: z.ZodUnknown;
|
|
501
|
+
}, z.core.$strict>]>>;
|
|
502
|
+
poll: z.ZodOptional<z.ZodObject<{
|
|
503
|
+
until: z.ZodUnion<readonly [z.ZodObject<{
|
|
504
|
+
path: z.ZodString;
|
|
505
|
+
in: z.ZodArray<z.ZodString>;
|
|
506
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
507
|
+
path: z.ZodString;
|
|
508
|
+
present: z.ZodLiteral<true>;
|
|
509
|
+
}, z.core.$strict>]>;
|
|
510
|
+
failOn: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
|
|
511
|
+
path: z.ZodString;
|
|
512
|
+
in: z.ZodArray<z.ZodString>;
|
|
513
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
514
|
+
path: z.ZodString;
|
|
515
|
+
present: z.ZodLiteral<true>;
|
|
516
|
+
}, z.core.$strict>]>>;
|
|
517
|
+
timeoutMs: z.ZodNumber;
|
|
518
|
+
intervalMs: z.ZodNumber;
|
|
519
|
+
}, z.core.$strict>>;
|
|
520
|
+
captures: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
521
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
522
|
+
kind: z.ZodLiteral<"intelligence">;
|
|
523
|
+
caption: z.ZodString;
|
|
524
|
+
phase: z.ZodEnum<{
|
|
525
|
+
setup: "setup";
|
|
526
|
+
main: "main";
|
|
527
|
+
}>;
|
|
528
|
+
gql: z.ZodObject<{
|
|
529
|
+
query: z.ZodString;
|
|
530
|
+
variables: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
531
|
+
}, z.core.$strict>;
|
|
532
|
+
captures: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
533
|
+
}, z.core.$strict>], "kind">;
|
|
534
|
+
export type RecipeReferenceStep = z.infer<typeof RecipeReferenceStepSchema>;
|
|
535
|
+
/**
|
|
536
|
+
* One step of the UI **walkthrough** — a user-facing caption next to its
|
|
537
|
+
* screenshot. Captured from the `ui.spec` run by `recipes:capture-media`
|
|
538
|
+
* (`image` is a filename under `apps/recursion/web/public/docs/recipes/<id>/`) and
|
|
539
|
+
* rendered as the docs Walkthrough filmstrip. The caption is page text beside
|
|
540
|
+
* the image, never burned into it.
|
|
541
|
+
*/
|
|
542
|
+
export declare const RecipeWalkthroughStepSchema: z.ZodObject<{
|
|
543
|
+
caption: z.ZodString;
|
|
544
|
+
image: z.ZodString;
|
|
545
|
+
description: z.ZodOptional<z.ZodString>;
|
|
546
|
+
}, z.core.$strict>;
|
|
547
|
+
export type RecipeWalkthroughStep = z.infer<typeof RecipeWalkthroughStepSchema>;
|
|
548
|
+
/** The committed walkthrough manifest (`walkthrough.json`): an ordered step list. */
|
|
549
|
+
export declare const RecipeWalkthroughSchema: z.ZodArray<z.ZodObject<{
|
|
550
|
+
caption: z.ZodString;
|
|
551
|
+
image: z.ZodString;
|
|
552
|
+
description: z.ZodOptional<z.ZodString>;
|
|
553
|
+
}, z.core.$strict>>;
|
|
554
|
+
export type RecipeWalkthrough = z.infer<typeof RecipeWalkthroughSchema>;
|
|
555
|
+
/**
|
|
556
|
+
* A composed example for one surface, split by phase: the `setup` preamble
|
|
557
|
+
* (provisioning steps — `phase: 'setup'`) and the `main` goal steps. The docs
|
|
558
|
+
* render `setup` as a collapsed disclosure so the recipe's actual point leads;
|
|
559
|
+
* concatenating `setup` + `main` is the full runnable script. Either may be the
|
|
560
|
+
* empty string (a recipe with no setup steps, or none in main).
|
|
561
|
+
*/
|
|
562
|
+
export declare const RecipeSnippetSchema: z.ZodObject<{
|
|
563
|
+
setup: z.ZodString;
|
|
564
|
+
main: z.ZodString;
|
|
565
|
+
}, z.core.$strict>;
|
|
566
|
+
export type RecipeSnippet = z.infer<typeof RecipeSnippetSchema>;
|
|
567
|
+
/**
|
|
568
|
+
* One recipe in the generated reference, keyed by id. Carries the docs
|
|
569
|
+
* metadata, the validated step plan, and the composed SDK/CLI/cURL examples
|
|
570
|
+
* (full runnable snippets with captured values threaded between steps), each
|
|
571
|
+
* split into a folded `setup` preamble + the `main` goal steps.
|
|
572
|
+
*/
|
|
573
|
+
export declare const RecipeReferenceEntrySchema: z.ZodObject<{
|
|
574
|
+
id: z.ZodString;
|
|
575
|
+
title: z.ZodString;
|
|
576
|
+
goal: z.ZodString;
|
|
577
|
+
category: z.ZodString;
|
|
578
|
+
video: z.ZodString;
|
|
579
|
+
walkthrough: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
580
|
+
caption: z.ZodString;
|
|
581
|
+
image: z.ZodString;
|
|
582
|
+
description: z.ZodOptional<z.ZodString>;
|
|
583
|
+
}, z.core.$strict>>>;
|
|
584
|
+
steps: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
585
|
+
kind: z.ZodLiteral<"sdk">;
|
|
586
|
+
operationId: z.ZodString;
|
|
587
|
+
caption: z.ZodOptional<z.ZodString>;
|
|
588
|
+
phase: z.ZodEnum<{
|
|
589
|
+
setup: "setup";
|
|
590
|
+
main: "main";
|
|
591
|
+
}>;
|
|
592
|
+
inputs: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodObject<{
|
|
593
|
+
$ref: z.ZodString;
|
|
594
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
595
|
+
value: z.ZodUnknown;
|
|
596
|
+
}, z.core.$strict>]>>;
|
|
597
|
+
poll: z.ZodOptional<z.ZodObject<{
|
|
598
|
+
until: z.ZodUnion<readonly [z.ZodObject<{
|
|
599
|
+
path: z.ZodString;
|
|
600
|
+
in: z.ZodArray<z.ZodString>;
|
|
601
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
602
|
+
path: z.ZodString;
|
|
603
|
+
present: z.ZodLiteral<true>;
|
|
604
|
+
}, z.core.$strict>]>;
|
|
605
|
+
failOn: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
|
|
606
|
+
path: z.ZodString;
|
|
607
|
+
in: z.ZodArray<z.ZodString>;
|
|
608
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
609
|
+
path: z.ZodString;
|
|
610
|
+
present: z.ZodLiteral<true>;
|
|
611
|
+
}, z.core.$strict>]>>;
|
|
612
|
+
timeoutMs: z.ZodNumber;
|
|
613
|
+
intervalMs: z.ZodNumber;
|
|
614
|
+
}, z.core.$strict>>;
|
|
615
|
+
captures: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
616
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
617
|
+
kind: z.ZodLiteral<"intelligence">;
|
|
618
|
+
caption: z.ZodString;
|
|
619
|
+
phase: z.ZodEnum<{
|
|
620
|
+
setup: "setup";
|
|
621
|
+
main: "main";
|
|
622
|
+
}>;
|
|
623
|
+
gql: z.ZodObject<{
|
|
624
|
+
query: z.ZodString;
|
|
625
|
+
variables: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
626
|
+
}, z.core.$strict>;
|
|
627
|
+
captures: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
628
|
+
}, z.core.$strict>], "kind">>;
|
|
629
|
+
sdk: z.ZodObject<{
|
|
630
|
+
setup: z.ZodString;
|
|
631
|
+
main: z.ZodString;
|
|
632
|
+
}, z.core.$strict>;
|
|
633
|
+
cli: z.ZodObject<{
|
|
634
|
+
setup: z.ZodString;
|
|
635
|
+
main: z.ZodString;
|
|
636
|
+
}, z.core.$strict>;
|
|
637
|
+
curl: z.ZodObject<{
|
|
638
|
+
setup: z.ZodString;
|
|
639
|
+
main: z.ZodString;
|
|
640
|
+
}, z.core.$strict>;
|
|
641
|
+
related: z.ZodOptional<z.ZodObject<{
|
|
642
|
+
requires: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
643
|
+
type: z.ZodLiteral<"recipe">;
|
|
644
|
+
id: z.ZodString;
|
|
645
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
646
|
+
type: z.ZodLiteral<"state">;
|
|
647
|
+
explanation: z.ZodString;
|
|
648
|
+
predicate: z.ZodOptional<z.ZodString>;
|
|
649
|
+
via: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
650
|
+
type: z.ZodLiteral<"recipe">;
|
|
651
|
+
id: z.ZodString;
|
|
652
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
653
|
+
type: z.ZodLiteral<"concept">;
|
|
654
|
+
id: z.ZodString;
|
|
655
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
656
|
+
type: z.ZodLiteral<"tutorial">;
|
|
657
|
+
id: z.ZodString;
|
|
658
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
659
|
+
type: z.ZodLiteral<"resource">;
|
|
660
|
+
id: z.ZodString;
|
|
661
|
+
}, z.core.$strict>], "type">>;
|
|
662
|
+
}, z.core.$strict>], "type">>>;
|
|
663
|
+
variationOf: z.ZodOptional<z.ZodString>;
|
|
664
|
+
learnMore: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
665
|
+
type: z.ZodLiteral<"concept">;
|
|
666
|
+
id: z.ZodString;
|
|
667
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
668
|
+
type: z.ZodLiteral<"tutorial">;
|
|
669
|
+
id: z.ZodString;
|
|
670
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
671
|
+
type: z.ZodLiteral<"resource">;
|
|
672
|
+
id: z.ZodString;
|
|
673
|
+
}, z.core.$strict>], "type">>>;
|
|
674
|
+
}, z.core.$strict>>;
|
|
675
|
+
}, z.core.$strict>;
|
|
676
|
+
export type RecipeReferenceEntry = z.infer<typeof RecipeReferenceEntrySchema>;
|