@opencraw/studio 0.0.7 → 0.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/dist/index.esm.js +3239 -901
  2. package/dist/src/document-view/deck-view.mapper.d.ts +70 -0
  3. package/dist/src/document-view/index.d.ts +11 -0
  4. package/dist/src/document-view/pdf-view.mapper.d.ts +47 -0
  5. package/dist/src/document-view/table-preview.use-case.d.ts +152 -0
  6. package/dist/src/document-view/tree-view.mapper.d.ts +47 -0
  7. package/dist/src/document-view/workbook-view.mapper.d.ts +51 -0
  8. package/dist/src/flow-recording/action-to-step.mapper.d.ts +16 -0
  9. package/dist/src/flow-recording/index.d.ts +13 -0
  10. package/dist/src/flow-recording/next-link.policy.d.ts +27 -0
  11. package/dist/src/flow-recording/recorded-action.contract.d.ts +114 -0
  12. package/dist/src/flow-recording/recorder-script.client.d.ts +48 -0
  13. package/dist/src/flow-recording/recorder-session.use-case.d.ts +67 -0
  14. package/dist/src/flow-recording/secret-field.policy.d.ts +33 -0
  15. package/dist/src/flow-recording/wait-insertion.policy.d.ts +26 -0
  16. package/dist/src/index.d.ts +2 -2
  17. package/dist/src/page-inspector/dom-tree.mapper.d.ts +32 -0
  18. package/dist/src/page-inspector/index.d.ts +7 -0
  19. package/dist/src/page-inspector/page-data.algorithm.d.ts +39 -0
  20. package/dist/src/page-inspector/responses-seen.use-case.d.ts +36 -0
  21. package/dist/src/page-snapshot/index.d.ts +3 -0
  22. package/dist/src/page-snapshot/pdf-bytes.use-case.d.ts +16 -0
  23. package/dist/src/page-snapshot/reread-csv.use-case.d.ts +22 -0
  24. package/dist/src/page-snapshot/take-snapshot.use-case.d.ts +26 -1
  25. package/dist/src/studio-api/command.contract.d.ts +300 -0
  26. package/dist/src/studio-api/deck-preview-view.contract.d.ts +28 -0
  27. package/dist/src/studio-api/deck-view.contract.d.ts +127 -0
  28. package/dist/src/studio-api/document-tree-view.contract.d.ts +26 -0
  29. package/dist/src/studio-api/event.contract.d.ts +45 -0
  30. package/dist/src/studio-api/grid-preview-view.contract.d.ts +26 -0
  31. package/dist/src/studio-api/grid-view.contract.d.ts +75 -0
  32. package/dist/src/studio-api/index.d.ts +22 -4
  33. package/dist/src/studio-api/inspect-view.contract.d.ts +62 -0
  34. package/dist/src/studio-api/pdf-view.contract.d.ts +66 -0
  35. package/dist/src/studio-api/responses-seen-view.contract.d.ts +20 -0
  36. package/dist/src/studio-api/snapshot-view.contract.d.ts +22 -1
  37. package/dist/src/studio-api/table-preview-view.contract.d.ts +65 -0
  38. package/dist/src/studio-server/deck-preview.handler.d.ts +17 -0
  39. package/dist/src/studio-server/deck-view.handler.d.ts +15 -0
  40. package/dist/src/studio-server/document-tree.handler.d.ts +14 -0
  41. package/dist/src/studio-server/grid-preview.handler.d.ts +17 -0
  42. package/dist/src/studio-server/grid-view.handler.d.ts +20 -0
  43. package/dist/src/studio-server/inspect-page.handler.d.ts +18 -0
  44. package/dist/src/studio-server/pdf-bytes.handler.d.ts +17 -0
  45. package/dist/src/studio-server/pdf-view.handler.d.ts +14 -0
  46. package/dist/src/studio-server/recording.handler.d.ts +33 -0
  47. package/dist/src/studio-server/responses-seen.handler.d.ts +16 -0
  48. package/dist/src/studio-server/studio-http.use-case.d.ts +3 -1
  49. package/dist/src/studio-server/table-preview.handler.d.ts +16 -0
  50. package/dist/src/studio-server/workspace.store.d.ts +6 -2
  51. package/dist/ui/assets/index-DdiGdaTN.js +13 -0
  52. package/dist/ui/assets/pdf-lqXfRfkR.js +56 -0
  53. package/dist/ui/assets/pdf.worker.min-BmVo14Nb.mjs +28 -0
  54. package/dist/ui/assets/pdf.worker.min-D7i8o3wR.js +1 -0
  55. package/dist/ui/index.html +1 -1
  56. package/package.json +3 -2
  57. package/dist/ui/assets/index-DV8i4Zza.js +0 -13
@@ -77,6 +77,194 @@ export declare const inferSelectorCommandSchema: z.ZodObject<{
77
77
  path: z.ZodString;
78
78
  nodeIds: z.ZodUnion<readonly [z.ZodTuple<[z.ZodString], null>, z.ZodTuple<[z.ZodString, z.ZodString], null>]>;
79
79
  }, z.core.$strip>;
80
+ /**
81
+ * The Inspect panel's DOM tree and data-in-the-page findings, off the same
82
+ * cached snapshot `take-snapshot`/`infer-selector` already use (`page-inspector`,
83
+ * issue #93). Call `take-snapshot` first, same as `infer-selector`.
84
+ */
85
+ export declare const inspectPageCommandSchema: z.ZodObject<{
86
+ type: z.ZodLiteral<"inspect-page">;
87
+ recipeId: z.ZodString;
88
+ path: z.ZodString;
89
+ }, z.core.$strip>;
90
+ /**
91
+ * The JSON responses seen while a recipe's start page rendered
92
+ * (`page-inspector`'s `responses-seen.use-case.ts`, issue #93), for the
93
+ * Inspect panel's "responses seen" list. Opens its own browser session
94
+ * (see that use-case's doc comment for why); slower than `inspect-page`.
95
+ */
96
+ export declare const responsesSeenCommandSchema: z.ZodObject<{
97
+ type: z.ZodLiteral<"responses-seen">;
98
+ recipeId: z.ZodString;
99
+ path: z.ZodString;
100
+ }, z.core.$strip>;
101
+ /**
102
+ * The document tree for the content pane's tree canvas (`document-view`'s
103
+ * `tree-view.mapper.ts`, studio plan §3.4, issue #94's 5a), off the same
104
+ * cached snapshot `take-snapshot`/`inspect-page` already use — call
105
+ * `take-snapshot` first, same as `inspect-page`. Only a JSON/YAML/XML
106
+ * snapshot has one; PDF, workbook and deck documents get their own canvases
107
+ * (5b/5c/5d).
108
+ */
109
+ export declare const documentTreeCommandSchema: z.ZodObject<{
110
+ type: z.ZodLiteral<"document-tree">;
111
+ recipeId: z.ZodString;
112
+ path: z.ZodString;
113
+ }, z.core.$strip>;
114
+ /**
115
+ * The PDF canvas's cells and rows (`document-view`'s `pdf-view.mapper.ts`,
116
+ * studio plan §3.4, issue #94's 5b), off the same cached snapshot
117
+ * `take-snapshot`/`document-tree` already use — call `take-snapshot` first.
118
+ * Only a PDF snapshot has one; JSON/YAML/XML get the tree canvas (5a), the
119
+ * workbook and deck their own canvases (5c/5d).
120
+ */
121
+ export declare const pdfViewCommandSchema: z.ZodObject<{
122
+ type: z.ZodLiteral<"pdf-view">;
123
+ recipeId: z.ZodString;
124
+ path: z.ZodString;
125
+ }, z.core.$strip>;
126
+ /** A `table` extract's options, as the studio's PDF canvas picks build them — mirrors `document-view/table-preview.use-case.ts`'s `TablePreviewOptions`. */
127
+ export declare const tablePreviewOptionsSchema: z.ZodObject<{
128
+ header: z.ZodString;
129
+ until: z.ZodOptional<z.ZodString>;
130
+ columns: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
131
+ align: z.ZodOptional<z.ZodEnum<{
132
+ auto: "auto";
133
+ top: "top";
134
+ center: "center";
135
+ bottom: "bottom";
136
+ }>>;
137
+ }, z.core.$strip>;
138
+ /**
139
+ * The live preview of a `table` extract's options against a cached PDF
140
+ * snapshot (`document-view`'s `table-preview.use-case.ts`, studio plan §3.4,
141
+ * issue #94's 5b): the matched rows to highlight on the page, recomputed as
142
+ * the person edits the options — call `take-snapshot` first.
143
+ */
144
+ export declare const tablePreviewCommandSchema: z.ZodObject<{
145
+ type: z.ZodLiteral<"table-preview">;
146
+ recipeId: z.ZodString;
147
+ path: z.ZodString;
148
+ options: z.ZodObject<{
149
+ header: z.ZodString;
150
+ until: z.ZodOptional<z.ZodString>;
151
+ columns: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
152
+ align: z.ZodOptional<z.ZodEnum<{
153
+ auto: "auto";
154
+ top: "top";
155
+ center: "center";
156
+ bottom: "bottom";
157
+ }>>;
158
+ }, z.core.$strip>;
159
+ }, z.core.$strip>;
160
+ /**
161
+ * The grid canvas's sheets and cells (`document-view`'s `workbook-view.mapper.ts`,
162
+ * studio plan §3.4, issue #94's 5c), off the same cached snapshot
163
+ * `take-snapshot`/`document-tree` already use — call `take-snapshot` first.
164
+ * Only a CSV/spreadsheet snapshot has one; JSON/YAML/XML get the tree canvas
165
+ * (5a), PDF the PDF canvas (5b), the deck its own canvas (5d).
166
+ *
167
+ * `delimiter`/`encoding` override a CSV's auto-detected format (issue #94's
168
+ * 5c: "the detected delimiter and encoding shown and overridable"); the
169
+ * server re-reads the file with the override applied and keeps it cached, so
170
+ * a later `grid-preview` sees the same reading. Both are rejected on a
171
+ * spreadsheet snapshot (there is nothing to detect).
172
+ */
173
+ export declare const gridViewCommandSchema: z.ZodObject<{
174
+ type: z.ZodLiteral<"grid-view">;
175
+ recipeId: z.ZodString;
176
+ path: z.ZodString;
177
+ delimiter: z.ZodOptional<z.ZodString>;
178
+ encoding: z.ZodOptional<z.ZodString>;
179
+ }, z.core.$strip>;
180
+ /** A `table` extract's options for a workbook, as the studio's grid canvas picks build them — mirrors `document-view/table-preview.use-case.ts`'s `GridTablePreviewOptions`. */
181
+ export declare const gridPreviewOptionsSchema: z.ZodObject<{
182
+ sheet: z.ZodOptional<z.ZodString>;
183
+ header: z.ZodString;
184
+ until: z.ZodOptional<z.ZodString>;
185
+ columns: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
186
+ headerRows: z.ZodOptional<z.ZodInt>;
187
+ fillDown: z.ZodOptional<z.ZodArray<z.ZodString>>;
188
+ includeHidden: z.ZodOptional<z.ZodBoolean>;
189
+ }, z.core.$strip>;
190
+ /**
191
+ * The live preview of a `table` extract's options against a cached CSV/
192
+ * spreadsheet snapshot (`document-view`'s `table-preview.use-case.ts`'s
193
+ * `previewGridTable`, studio plan §3.4, issue #94's 5c): the matched
194
+ * table(s), recomputed as the person edits the options — call `take-snapshot`
195
+ * and `grid-view` first.
196
+ */
197
+ export declare const gridPreviewCommandSchema: z.ZodObject<{
198
+ type: z.ZodLiteral<"grid-preview">;
199
+ recipeId: z.ZodString;
200
+ path: z.ZodString;
201
+ options: z.ZodObject<{
202
+ sheet: z.ZodOptional<z.ZodString>;
203
+ header: z.ZodString;
204
+ until: z.ZodOptional<z.ZodString>;
205
+ columns: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
206
+ headerRows: z.ZodOptional<z.ZodInt>;
207
+ fillDown: z.ZodOptional<z.ZodArray<z.ZodString>>;
208
+ includeHidden: z.ZodOptional<z.ZodBoolean>;
209
+ }, z.core.$strip>;
210
+ }, z.core.$strip>;
211
+ /**
212
+ * The deck canvas's slides, shapes, tables, charts and notes for a deck
213
+ * (PowerPoint) snapshot (`document-view`'s `deck-view.mapper.ts`, studio plan
214
+ * §3.4, issue #94's 5d), off the same cached snapshot
215
+ * `take-snapshot`/`document-tree` already use — call `take-snapshot` first.
216
+ * Only a `.pptx` snapshot has one; JSON/YAML/XML get the tree canvas (5a),
217
+ * PDF the PDF canvas (5b), the workbook the grid canvas (5c).
218
+ */
219
+ export declare const deckViewCommandSchema: z.ZodObject<{
220
+ type: z.ZodLiteral<"deck-view">;
221
+ recipeId: z.ZodString;
222
+ path: z.ZodString;
223
+ }, z.core.$strip>;
224
+ /** A `table` extract's options for a deck, as the studio's deck canvas picks build them — mirrors `document-view/table-preview.use-case.ts`'s `DeckTablePreviewOptions`. */
225
+ export declare const deckPreviewOptionsSchema: z.ZodObject<{
226
+ slide: z.ZodOptional<z.ZodString>;
227
+ shapes: z.ZodOptional<z.ZodBoolean>;
228
+ align: z.ZodOptional<z.ZodEnum<{
229
+ auto: "auto";
230
+ top: "top";
231
+ center: "center";
232
+ bottom: "bottom";
233
+ }>>;
234
+ header: z.ZodString;
235
+ until: z.ZodOptional<z.ZodString>;
236
+ columns: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
237
+ headerRows: z.ZodOptional<z.ZodInt>;
238
+ fillDown: z.ZodOptional<z.ZodArray<z.ZodString>>;
239
+ includeHidden: z.ZodOptional<z.ZodBoolean>;
240
+ }, z.core.$strip>;
241
+ /**
242
+ * The live preview of a `table` extract's options against a cached deck
243
+ * snapshot (`document-view`'s `table-preview.use-case.ts`'s `previewDeckTable`,
244
+ * studio plan §3.4, issue #94's 5d): the matched table(s), recomputed as the
245
+ * person edits the options — call `take-snapshot` and `deck-view` first.
246
+ */
247
+ export declare const deckPreviewCommandSchema: z.ZodObject<{
248
+ type: z.ZodLiteral<"deck-preview">;
249
+ recipeId: z.ZodString;
250
+ path: z.ZodString;
251
+ options: z.ZodObject<{
252
+ slide: z.ZodOptional<z.ZodString>;
253
+ shapes: z.ZodOptional<z.ZodBoolean>;
254
+ align: z.ZodOptional<z.ZodEnum<{
255
+ auto: "auto";
256
+ top: "top";
257
+ center: "center";
258
+ bottom: "bottom";
259
+ }>>;
260
+ header: z.ZodString;
261
+ until: z.ZodOptional<z.ZodString>;
262
+ columns: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
263
+ headerRows: z.ZodOptional<z.ZodInt>;
264
+ fillDown: z.ZodOptional<z.ZodArray<z.ZodString>>;
265
+ includeHidden: z.ZodOptional<z.ZodBoolean>;
266
+ }, z.core.$strip>;
267
+ }, z.core.$strip>;
80
268
  /** A missing value in an emitted record, by its position in the last sample run's records (the order they streamed in, matching the UI's own `records` list). */
81
269
  export declare const missingWhyTargetSchema: z.ZodObject<{
82
270
  kind: z.ZodLiteral<"missing">;
@@ -120,6 +308,25 @@ export declare const explainWhyCommandSchema: z.ZodObject<{
120
308
  rejectedIndex: z.ZodInt;
121
309
  }, z.core.$strip>], "kind">;
122
310
  }, z.core.$strip>;
311
+ /**
312
+ * Opens the studio's own headed browser window and starts recording user
313
+ * actions on it (issue #95, phase 6): clicks, fills, selects, key presses
314
+ * and scrolls stream back as `recording-card` events, each already a
315
+ * verified step. `recipeId`'s start point is where the window opens.
316
+ */
317
+ export declare const startRecordingCommandSchema: z.ZodObject<{
318
+ type: z.ZodLiteral<"start-recording">;
319
+ recipeId: z.ZodString;
320
+ }, z.core.$strip>;
321
+ /**
322
+ * Closes the recording window, if one is open; a no-op otherwise. Answers
323
+ * with every step recorded, in order, so the caller can offer "make this
324
+ * the login" (writes them under `session.bootstrap`) or "keep as steps"
325
+ * (appends them to the recipe's own `steps`) without a second round trip.
326
+ */
327
+ export declare const stopRecordingCommandSchema: z.ZodObject<{
328
+ type: z.ZodLiteral<"stop-recording">;
329
+ }, z.core.$strip>;
123
330
  export declare const studioCommandSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
124
331
  type: z.ZodLiteral<"open-workspace">;
125
332
  folder: z.ZodString;
@@ -170,6 +377,85 @@ export declare const studioCommandSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
170
377
  recipeId: z.ZodString;
171
378
  rejectedIndex: z.ZodInt;
172
379
  }, z.core.$strip>], "kind">;
380
+ }, z.core.$strip>, z.ZodObject<{
381
+ type: z.ZodLiteral<"inspect-page">;
382
+ recipeId: z.ZodString;
383
+ path: z.ZodString;
384
+ }, z.core.$strip>, z.ZodObject<{
385
+ type: z.ZodLiteral<"responses-seen">;
386
+ recipeId: z.ZodString;
387
+ path: z.ZodString;
388
+ }, z.core.$strip>, z.ZodObject<{
389
+ type: z.ZodLiteral<"document-tree">;
390
+ recipeId: z.ZodString;
391
+ path: z.ZodString;
392
+ }, z.core.$strip>, z.ZodObject<{
393
+ type: z.ZodLiteral<"pdf-view">;
394
+ recipeId: z.ZodString;
395
+ path: z.ZodString;
396
+ }, z.core.$strip>, z.ZodObject<{
397
+ type: z.ZodLiteral<"table-preview">;
398
+ recipeId: z.ZodString;
399
+ path: z.ZodString;
400
+ options: z.ZodObject<{
401
+ header: z.ZodString;
402
+ until: z.ZodOptional<z.ZodString>;
403
+ columns: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
404
+ align: z.ZodOptional<z.ZodEnum<{
405
+ auto: "auto";
406
+ top: "top";
407
+ center: "center";
408
+ bottom: "bottom";
409
+ }>>;
410
+ }, z.core.$strip>;
411
+ }, z.core.$strip>, z.ZodObject<{
412
+ type: z.ZodLiteral<"grid-view">;
413
+ recipeId: z.ZodString;
414
+ path: z.ZodString;
415
+ delimiter: z.ZodOptional<z.ZodString>;
416
+ encoding: z.ZodOptional<z.ZodString>;
417
+ }, z.core.$strip>, z.ZodObject<{
418
+ type: z.ZodLiteral<"grid-preview">;
419
+ recipeId: z.ZodString;
420
+ path: z.ZodString;
421
+ options: z.ZodObject<{
422
+ sheet: z.ZodOptional<z.ZodString>;
423
+ header: z.ZodString;
424
+ until: z.ZodOptional<z.ZodString>;
425
+ columns: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
426
+ headerRows: z.ZodOptional<z.ZodInt>;
427
+ fillDown: z.ZodOptional<z.ZodArray<z.ZodString>>;
428
+ includeHidden: z.ZodOptional<z.ZodBoolean>;
429
+ }, z.core.$strip>;
430
+ }, z.core.$strip>, z.ZodObject<{
431
+ type: z.ZodLiteral<"deck-view">;
432
+ recipeId: z.ZodString;
433
+ path: z.ZodString;
434
+ }, z.core.$strip>, z.ZodObject<{
435
+ type: z.ZodLiteral<"deck-preview">;
436
+ recipeId: z.ZodString;
437
+ path: z.ZodString;
438
+ options: z.ZodObject<{
439
+ slide: z.ZodOptional<z.ZodString>;
440
+ shapes: z.ZodOptional<z.ZodBoolean>;
441
+ align: z.ZodOptional<z.ZodEnum<{
442
+ auto: "auto";
443
+ top: "top";
444
+ center: "center";
445
+ bottom: "bottom";
446
+ }>>;
447
+ header: z.ZodString;
448
+ until: z.ZodOptional<z.ZodString>;
449
+ columns: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
450
+ headerRows: z.ZodOptional<z.ZodInt>;
451
+ fillDown: z.ZodOptional<z.ZodArray<z.ZodString>>;
452
+ includeHidden: z.ZodOptional<z.ZodBoolean>;
453
+ }, z.core.$strip>;
454
+ }, z.core.$strip>, z.ZodObject<{
455
+ type: z.ZodLiteral<"start-recording">;
456
+ recipeId: z.ZodString;
457
+ }, z.core.$strip>, z.ZodObject<{
458
+ type: z.ZodLiteral<"stop-recording">;
173
459
  }, z.core.$strip>], "type">;
174
460
  export type SampleBudget = z.infer<typeof sampleBudgetSchema>;
175
461
  export type OpenWorkspaceCommand = z.infer<typeof openWorkspaceCommandSchema>;
@@ -181,10 +467,24 @@ export type SaveOutlineCommand = z.infer<typeof saveOutlineCommandSchema>;
181
467
  export type TakeSnapshotCommand = z.infer<typeof takeSnapshotCommandSchema>;
182
468
  export type VerifySelectorCommand = z.infer<typeof verifySelectorCommandSchema>;
183
469
  export type InferSelectorCommand = z.infer<typeof inferSelectorCommandSchema>;
470
+ export type InspectPageCommand = z.infer<typeof inspectPageCommandSchema>;
471
+ export type ResponsesSeenCommand = z.infer<typeof responsesSeenCommandSchema>;
472
+ export type DocumentTreeCommand = z.infer<typeof documentTreeCommandSchema>;
473
+ export type PdfViewCommand = z.infer<typeof pdfViewCommandSchema>;
474
+ export type TablePreviewOptions = z.infer<typeof tablePreviewOptionsSchema>;
475
+ export type TablePreviewCommand = z.infer<typeof tablePreviewCommandSchema>;
476
+ export type GridViewCommand = z.infer<typeof gridViewCommandSchema>;
477
+ export type GridPreviewOptions = z.infer<typeof gridPreviewOptionsSchema>;
478
+ export type GridPreviewCommand = z.infer<typeof gridPreviewCommandSchema>;
479
+ export type DeckViewCommand = z.infer<typeof deckViewCommandSchema>;
480
+ export type DeckPreviewOptions = z.infer<typeof deckPreviewOptionsSchema>;
481
+ export type DeckPreviewCommand = z.infer<typeof deckPreviewCommandSchema>;
184
482
  export type MissingWhyTarget = z.infer<typeof missingWhyTargetSchema>;
185
483
  export type RejectedWhyTarget = z.infer<typeof rejectedWhyTargetSchema>;
186
484
  export type WhyTarget = z.infer<typeof whyTargetSchema>;
187
485
  export type ExplainWhyCommand = z.infer<typeof explainWhyCommandSchema>;
486
+ export type StartRecordingCommand = z.infer<typeof startRecordingCommandSchema>;
487
+ export type StopRecordingCommand = z.infer<typeof stopRecordingCommandSchema>;
188
488
  /** Every command the UI can send the server, over HTTP POST. */
189
489
  export type StudioCommand = z.infer<typeof studioCommandSchema>;
190
490
  //# sourceMappingURL=command.contract.d.ts.map
@@ -0,0 +1,28 @@
1
+ import { z } from 'zod';
2
+ /** One table matched by a `table` extract's options against a deck — mirrors `@opencraw/core`'s `DeckTable`. */
3
+ export declare const deckTablePreviewMatchSchema: z.ZodObject<{
4
+ slide: z.ZodNumber;
5
+ slideTitle: z.ZodString;
6
+ title: z.ZodString;
7
+ header: z.ZodArray<z.ZodString>;
8
+ rows: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
9
+ }, z.core.$strip>;
10
+ /**
11
+ * What `deck-preview` answers with (studio plan §3.4, issue #94's 5d: the
12
+ * live preview): every matched table, or `error` when a pattern in the
13
+ * options does not compile — expected while the person is still typing it,
14
+ * not thrown.
15
+ */
16
+ export declare const deckTablePreviewViewSchema: z.ZodObject<{
17
+ matches: z.ZodArray<z.ZodObject<{
18
+ slide: z.ZodNumber;
19
+ slideTitle: z.ZodString;
20
+ title: z.ZodString;
21
+ header: z.ZodArray<z.ZodString>;
22
+ rows: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
23
+ }, z.core.$strip>>;
24
+ error: z.ZodOptional<z.ZodString>;
25
+ }, z.core.$strip>;
26
+ export type DeckTablePreviewMatchView = z.infer<typeof deckTablePreviewMatchSchema>;
27
+ export type DeckTablePreviewView = z.infer<typeof deckTablePreviewViewSchema>;
28
+ //# sourceMappingURL=deck-preview-view.contract.d.ts.map
@@ -0,0 +1,127 @@
1
+ import { z } from 'zod';
2
+ /** One text box on a slide, in points — mirrors `document-view/deck-view.mapper.ts`'s `DeckShapeView`, the wire shape for the UI (studio plan §3.4, issue #94's 5d). */
3
+ export declare const deckShapeViewSchema: z.ZodObject<{
4
+ x: z.ZodNumber;
5
+ y: z.ZodNumber;
6
+ width: z.ZodNumber;
7
+ height: z.ZodNumber;
8
+ text: z.ZodString;
9
+ placeholder: z.ZodOptional<z.ZodString>;
10
+ }, z.core.$strip>;
11
+ export declare const deckChartSeriesViewSchema: z.ZodObject<{
12
+ name: z.ZodString;
13
+ categories: z.ZodArray<z.ZodString>;
14
+ values: z.ZodArray<z.ZodUnion<readonly [z.ZodNumber, z.ZodNull]>>;
15
+ }, z.core.$strip>;
16
+ export declare const deckChartViewSchema: z.ZodObject<{
17
+ type: z.ZodString;
18
+ title: z.ZodOptional<z.ZodString>;
19
+ series: z.ZodArray<z.ZodObject<{
20
+ name: z.ZodString;
21
+ categories: z.ZodArray<z.ZodString>;
22
+ values: z.ZodArray<z.ZodUnion<readonly [z.ZodNumber, z.ZodNull]>>;
23
+ }, z.core.$strip>>;
24
+ }, z.core.$strip>;
25
+ export declare const deckSlideViewSchema: z.ZodObject<{
26
+ number: z.ZodNumber;
27
+ title: z.ZodOptional<z.ZodString>;
28
+ hidden: z.ZodBoolean;
29
+ shapes: z.ZodArray<z.ZodObject<{
30
+ x: z.ZodNumber;
31
+ y: z.ZodNumber;
32
+ width: z.ZodNumber;
33
+ height: z.ZodNumber;
34
+ text: z.ZodString;
35
+ placeholder: z.ZodOptional<z.ZodString>;
36
+ }, z.core.$strip>>;
37
+ shapeRows: z.ZodArray<z.ZodArray<z.ZodNumber>>;
38
+ tables: z.ZodArray<z.ZodObject<{
39
+ name: z.ZodString;
40
+ hidden: z.ZodBoolean;
41
+ hiddenRows: z.ZodArray<z.ZodNumber>;
42
+ columnCount: z.ZodNumber;
43
+ rows: z.ZodArray<z.ZodArray<z.ZodObject<{
44
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>;
45
+ type: z.ZodEnum<{
46
+ string: "string";
47
+ number: "number";
48
+ boolean: "boolean";
49
+ date: "date";
50
+ }>;
51
+ }, z.core.$strip>>>;
52
+ merges: z.ZodArray<z.ZodObject<{
53
+ ref: z.ZodString;
54
+ top: z.ZodNumber;
55
+ left: z.ZodNumber;
56
+ bottom: z.ZodNumber;
57
+ right: z.ZodNumber;
58
+ }, z.core.$strip>>;
59
+ }, z.core.$strip>>;
60
+ charts: z.ZodArray<z.ZodObject<{
61
+ type: z.ZodString;
62
+ title: z.ZodOptional<z.ZodString>;
63
+ series: z.ZodArray<z.ZodObject<{
64
+ name: z.ZodString;
65
+ categories: z.ZodArray<z.ZodString>;
66
+ values: z.ZodArray<z.ZodUnion<readonly [z.ZodNumber, z.ZodNull]>>;
67
+ }, z.core.$strip>>;
68
+ }, z.core.$strip>>;
69
+ notes: z.ZodString;
70
+ }, z.core.$strip>;
71
+ /** What `deck-view` answers with (studio plan §3.4, issue #94's 5d): the slide size in points and every slide's shapes, tables, charts and notes, for the deck canvas to draw and pick from. */
72
+ export declare const deckDocumentViewSchema: z.ZodObject<{
73
+ width: z.ZodNumber;
74
+ height: z.ZodNumber;
75
+ slides: z.ZodArray<z.ZodObject<{
76
+ number: z.ZodNumber;
77
+ title: z.ZodOptional<z.ZodString>;
78
+ hidden: z.ZodBoolean;
79
+ shapes: z.ZodArray<z.ZodObject<{
80
+ x: z.ZodNumber;
81
+ y: z.ZodNumber;
82
+ width: z.ZodNumber;
83
+ height: z.ZodNumber;
84
+ text: z.ZodString;
85
+ placeholder: z.ZodOptional<z.ZodString>;
86
+ }, z.core.$strip>>;
87
+ shapeRows: z.ZodArray<z.ZodArray<z.ZodNumber>>;
88
+ tables: z.ZodArray<z.ZodObject<{
89
+ name: z.ZodString;
90
+ hidden: z.ZodBoolean;
91
+ hiddenRows: z.ZodArray<z.ZodNumber>;
92
+ columnCount: z.ZodNumber;
93
+ rows: z.ZodArray<z.ZodArray<z.ZodObject<{
94
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>;
95
+ type: z.ZodEnum<{
96
+ string: "string";
97
+ number: "number";
98
+ boolean: "boolean";
99
+ date: "date";
100
+ }>;
101
+ }, z.core.$strip>>>;
102
+ merges: z.ZodArray<z.ZodObject<{
103
+ ref: z.ZodString;
104
+ top: z.ZodNumber;
105
+ left: z.ZodNumber;
106
+ bottom: z.ZodNumber;
107
+ right: z.ZodNumber;
108
+ }, z.core.$strip>>;
109
+ }, z.core.$strip>>;
110
+ charts: z.ZodArray<z.ZodObject<{
111
+ type: z.ZodString;
112
+ title: z.ZodOptional<z.ZodString>;
113
+ series: z.ZodArray<z.ZodObject<{
114
+ name: z.ZodString;
115
+ categories: z.ZodArray<z.ZodString>;
116
+ values: z.ZodArray<z.ZodUnion<readonly [z.ZodNumber, z.ZodNull]>>;
117
+ }, z.core.$strip>>;
118
+ }, z.core.$strip>>;
119
+ notes: z.ZodString;
120
+ }, z.core.$strip>>;
121
+ }, z.core.$strip>;
122
+ export type DeckShapeView = z.infer<typeof deckShapeViewSchema>;
123
+ export type DeckChartSeriesView = z.infer<typeof deckChartSeriesViewSchema>;
124
+ export type DeckChartView = z.infer<typeof deckChartViewSchema>;
125
+ export type DeckSlideView = z.infer<typeof deckSlideViewSchema>;
126
+ export type DeckDocumentView = z.infer<typeof deckDocumentViewSchema>;
127
+ //# sourceMappingURL=deck-view.contract.d.ts.map
@@ -0,0 +1,26 @@
1
+ import { z } from 'zod';
2
+ /** One row of the document tree — mirrors `document-view/tree-view.mapper.ts`'s `DocumentTreeNode`, the wire shape for the UI (studio plan §3.4, issue #94's 5a). */
3
+ export interface DocumentTreeNodeView {
4
+ id: string;
5
+ label: string;
6
+ valueType: 'object' | 'array' | 'string' | 'number' | 'boolean' | 'null' | 'element';
7
+ preview?: string;
8
+ jsonpath?: string;
9
+ xpath?: string;
10
+ listPath?: string;
11
+ listCount?: number;
12
+ attributes?: Record<string, string>;
13
+ children: DocumentTreeNodeView[];
14
+ }
15
+ export declare const documentTreeNodeViewSchema: z.ZodType<DocumentTreeNodeView>;
16
+ /** What `document-tree` answers with (studio plan §3.4, issue #94's 5a): the parsed JSON/XML document as a tree, and, for XML, the namespace prefixes a pick's `extract` can use in `namespaces`. */
17
+ export declare const documentTreeViewSchema: z.ZodObject<{
18
+ format: z.ZodEnum<{
19
+ json: "json";
20
+ xml: "xml";
21
+ }>;
22
+ root: z.ZodType<DocumentTreeNodeView, unknown, z.core.$ZodTypeInternals<DocumentTreeNodeView, unknown>>;
23
+ namespaces: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
24
+ }, z.core.$strip>;
25
+ export type DocumentTreeView = z.infer<typeof documentTreeViewSchema>;
26
+ //# sourceMappingURL=document-tree-view.contract.d.ts.map
@@ -60,6 +60,33 @@ export declare const runFinishedEventSchema: z.ZodObject<{
60
60
  export declare const workspaceChangedEventSchema: z.ZodObject<{
61
61
  type: z.ZodLiteral<"workspace-changed">;
62
62
  }, z.core.$strip>;
63
+ /**
64
+ * One recorded action landed as a step (issue #95): the card it becomes
65
+ * (`scope-outline`'s own `OutlineCard`/`OutlineBracket` shape — the wire
66
+ * form `outline-view.contract.ts` already defines, never a second card
67
+ * format) and whether its value is a secret placeholder, for the secret
68
+ * pill styling.
69
+ */
70
+ export declare const recordingCardEventSchema: z.ZodObject<{
71
+ type: z.ZodLiteral<"recording-card">;
72
+ node: z.ZodType<import("./outline-view.contract").OutlineNode, unknown, z.core.$ZodTypeInternals<import("./outline-view.contract").OutlineNode, unknown>>;
73
+ secret: z.ZodBoolean;
74
+ }, z.core.$strip>;
75
+ /** A notice from the recording session that is not itself a step: a "next" link offer, or an unsupported iframe/shadow-DOM report. */
76
+ export declare const recordingNoteEventSchema: z.ZodObject<{
77
+ type: z.ZodLiteral<"recording-note">;
78
+ kind: z.ZodEnum<{
79
+ unsupported: "unsupported";
80
+ "next-link": "next-link";
81
+ info: "info";
82
+ }>;
83
+ message: z.ZodString;
84
+ }, z.core.$strip>;
85
+ /** The recording window closed — `stop-recording` completed, or the window was closed some other way. `steps` is every step recorded, in order, exactly as `stop-recording`'s own response carries them. */
86
+ export declare const recordingStoppedEventSchema: z.ZodObject<{
87
+ type: z.ZodLiteral<"recording-stopped">;
88
+ steps: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
89
+ }, z.core.$strip>;
63
90
  export declare const studioEventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
64
91
  type: z.ZodLiteral<"trace-line">;
65
92
  line: z.ZodString;
@@ -97,6 +124,21 @@ export declare const studioEventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
97
124
  }>>;
98
125
  }, z.core.$strip>, z.ZodObject<{
99
126
  type: z.ZodLiteral<"workspace-changed">;
127
+ }, z.core.$strip>, z.ZodObject<{
128
+ type: z.ZodLiteral<"recording-card">;
129
+ node: z.ZodType<import("./outline-view.contract").OutlineNode, unknown, z.core.$ZodTypeInternals<import("./outline-view.contract").OutlineNode, unknown>>;
130
+ secret: z.ZodBoolean;
131
+ }, z.core.$strip>, z.ZodObject<{
132
+ type: z.ZodLiteral<"recording-note">;
133
+ kind: z.ZodEnum<{
134
+ unsupported: "unsupported";
135
+ "next-link": "next-link";
136
+ info: "info";
137
+ }>;
138
+ message: z.ZodString;
139
+ }, z.core.$strip>, z.ZodObject<{
140
+ type: z.ZodLiteral<"recording-stopped">;
141
+ steps: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
100
142
  }, z.core.$strip>], "type">;
101
143
  export type StoppedBy = z.infer<typeof stoppedBySchema>;
102
144
  export type TraceLineEvent = z.infer<typeof traceLineEventSchema>;
@@ -105,6 +147,9 @@ export type RecordEvent = z.infer<typeof recordEventSchema>;
105
147
  export type RecordRejectedEvent = z.infer<typeof recordRejectedEventSchema>;
106
148
  export type RunFinishedEvent = z.infer<typeof runFinishedEventSchema>;
107
149
  export type WorkspaceChangedEvent = z.infer<typeof workspaceChangedEventSchema>;
150
+ export type RecordingCardEvent = z.infer<typeof recordingCardEventSchema>;
151
+ export type RecordingNoteEvent = z.infer<typeof recordingNoteEventSchema>;
152
+ export type RecordingStoppedEvent = z.infer<typeof recordingStoppedEventSchema>;
108
153
  /** Every event the server pushes to the UI over the WebSocket. */
109
154
  export type StudioEvent = z.infer<typeof studioEventSchema>;
110
155
  //# sourceMappingURL=event.contract.d.ts.map
@@ -0,0 +1,26 @@
1
+ import { z } from 'zod';
2
+ /** One table matched by a `table` extract's options against a workbook — mirrors `@opencraw/core`'s `GridTable`. */
3
+ export declare const gridTablePreviewMatchSchema: z.ZodObject<{
4
+ sheet: z.ZodString;
5
+ title: z.ZodString;
6
+ header: z.ZodArray<z.ZodString>;
7
+ rows: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
8
+ }, z.core.$strip>;
9
+ /**
10
+ * What `grid-preview` answers with (studio plan §3.4, issue #94's 5c: the
11
+ * live preview): every matched table, or `error` when a pattern in the
12
+ * options does not compile — expected while the person is still typing it,
13
+ * not thrown.
14
+ */
15
+ export declare const gridTablePreviewViewSchema: z.ZodObject<{
16
+ matches: z.ZodArray<z.ZodObject<{
17
+ sheet: z.ZodString;
18
+ title: z.ZodString;
19
+ header: z.ZodArray<z.ZodString>;
20
+ rows: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
21
+ }, z.core.$strip>>;
22
+ error: z.ZodOptional<z.ZodString>;
23
+ }, z.core.$strip>;
24
+ export type GridTablePreviewMatchView = z.infer<typeof gridTablePreviewMatchSchema>;
25
+ export type GridTablePreviewView = z.infer<typeof gridTablePreviewViewSchema>;
26
+ //# sourceMappingURL=grid-preview-view.contract.d.ts.map