@kortyx/telemetry-contracts 0.18.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/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.19.0](https://github.com/kortyx-io/kortyx/compare/telemetry-contracts-v0.18.0...telemetry-contracts-v0.19.0) (2026-10-18)
4
+
5
+
6
+ ### Features
7
+
8
+ * **studio:** add sample project and guided onboarding ([#363](https://github.com/kortyx-io/kortyx/issues/363)) ([25da0b9](https://github.com/kortyx-io/kortyx/commit/25da0b9c92072446a7503b23ba4f157aebec8185))
9
+ * **studio:** persist table preferences with scoped browser caches ([#367](https://github.com/kortyx-io/kortyx/issues/367)) ([9b84295](https://github.com/kortyx-io/kortyx/commit/9b8429563d0a065939381de5afe1c62e762157d0))
10
+
11
+
12
+ ### Dependencies
13
+
14
+ * The following workspace dependencies were updated
15
+ * dependencies
16
+ * @kortyx/prompts bumped to 0.2.3
17
+
3
18
  ## [0.18.0](https://github.com/kortyx-io/kortyx/compare/telemetry-contracts-v0.17.2...telemetry-contracts-v0.18.0) (2026-10-16)
4
19
 
5
20
 
package/README.md CHANGED
@@ -19,3 +19,25 @@ prompt assignments and evaluation judge metadata. `tablePassRate` returns a
19
19
  percentage of recorded passed/failed/error cases (unrun cases are excluded), or
20
20
  no value when none finished. `tableQueueMs` returns elapsed queue milliseconds
21
21
  only when a valid start timestamp is recorded.
22
+
23
+ Studio preference contracts include `StudioTablePreferencesSchema` (database
24
+ snapshot with revision), `StudioTablePreferenceWriteSchema` (scope/revision plus
25
+ one defaults/upsert-view/delete-view operation), and
26
+ `StudioTableConfigurationSchema` (portable schema-version-1 configuration without
27
+ owner IDs or database revision). Stable table IDs are registered centrally.
28
+ Layouts allow at most 256 column keys, finite widths of 1–10000 px, and left/right
29
+ pins. There are at most 30 uniquely identified views per table. View names are
30
+ 1–80 characters and filter/scope strings remain bounded. APIs derive ownership
31
+ from authenticated principals; serialized configuration cannot grant access.
32
+
33
+ ### Studio sample identities
34
+
35
+ `SAMPLE_PROJECT` exports the versioned sample project's stable record IDs,
36
+ recording/reference timestamps, and future guided-tour anchors. Sample records
37
+ are fictional and read-only; these identifiers are not authentication scopes.
38
+ Dataset content is maintained by Studio and the internal telemetry DB package.
39
+
40
+ The sample manifest also includes stable IDs for the two-turn session and the
41
+ saved evaluation baseline. Dataset version changes preserve existing identities;
42
+ Studio chapters resolve supported views from those IDs rather than persisting
43
+ arbitrary resource paths.
package/dist/index.d.ts CHANGED
@@ -95,9 +95,9 @@ declare const DiagnosticManifestSchema: z.ZodObject<{
95
95
  warning: "warning";
96
96
  }>;
97
97
  mechanism: z.ZodEnum<{
98
+ tool: "tool";
98
99
  span: "span";
99
100
  report: "report";
100
- tool: "tool";
101
101
  }>;
102
102
  summary: z.ZodObject<{
103
103
  type: z.ZodString;
@@ -154,9 +154,9 @@ declare const DiagnosticResponseSchema: z.ZodObject<{
154
154
  warning: "warning";
155
155
  }>;
156
156
  mechanism: z.ZodEnum<{
157
+ tool: "tool";
157
158
  span: "span";
158
159
  report: "report";
159
- tool: "tool";
160
160
  }>;
161
161
  summary: z.ZodObject<{
162
162
  type: z.ZodString;
@@ -219,6 +219,64 @@ declare function summarizeDiagnostic(data: Record<string, unknown>, depth?: numb
219
219
  /** Defense in depth for JSON received directly by the diagnostic API. */
220
220
  declare function redactDiagnosticContent(content: DiagnosticContent): DiagnosticContent;
221
221
 
222
+ /** Stable product identities. Keep these across dataset revisions and future tours. */
223
+ declare const SAMPLE_PROJECT: {
224
+ readonly id: "kortyx-sample";
225
+ readonly name: "Sample project";
226
+ readonly version: 5;
227
+ readonly recordedAt: "2026-10-01T12:00:00.000Z";
228
+ readonly referenceTime: "2026-10-01T12:10:00.000Z";
229
+ readonly workflowId: "sample-support-assistant";
230
+ readonly revisionId: "10000000-0000-4000-8000-000000000001";
231
+ readonly runs: {
232
+ readonly success: "sample-support-success";
233
+ readonly failure: "sample-support-failure";
234
+ readonly approval: "sample-support-approval";
235
+ readonly followUp: "sample-support-follow-up";
236
+ readonly baseline: "sample-support-baseline";
237
+ };
238
+ readonly sessions: {
239
+ readonly success: "sample-session-success";
240
+ readonly failure: "sample-session-failure";
241
+ readonly approval: "sample-session-approval";
242
+ readonly followUp: "sample-session-success";
243
+ readonly baseline: "sample-session-baseline";
244
+ };
245
+ readonly specialistWorkflowIds: {
246
+ readonly research: "sample-order-research";
247
+ readonly resolution: "sample-order-resolution";
248
+ };
249
+ readonly specialistRevisionIds: {
250
+ readonly research: "10000000-0000-4000-8000-000000000020";
251
+ readonly resolution: "10000000-0000-4000-8000-000000000021";
252
+ };
253
+ readonly evaluationIds: {
254
+ readonly baseline: "10000000-0000-4000-8000-000000000030";
255
+ readonly candidate: "10000000-0000-4000-8000-000000000031";
256
+ readonly latest: "10000000-0000-4000-8000-000000000003";
257
+ };
258
+ readonly candidateEvalRunId: "10000000-0000-4000-8000-000000000032";
259
+ readonly pendingApprovalId: "sample-pending-credit-review";
260
+ readonly pendingChoiceId: "sample-pending-parcel-choice";
261
+ readonly diagnosticIds: {
262
+ readonly budgetLimit: "30000000-0000-4000-8000-e6dfcc9c117a";
263
+ };
264
+ readonly interruptId: "sample-refund-approval";
265
+ readonly promptId: "10000000-0000-4000-8000-000000000002";
266
+ readonly evaluationId: "10000000-0000-4000-8000-000000000003";
267
+ readonly evalRunId: "10000000-0000-4000-8000-000000000004";
268
+ readonly baselineEvalRunId: "10000000-0000-4000-8000-000000000005";
269
+ readonly caseId: "order-status";
270
+ readonly gradingCaseId: "delivery-note";
271
+ readonly targetId: "sample-support";
272
+ readonly suiteId: "sample-support-quality";
273
+ readonly anchors: {
274
+ readonly selector: "sample-project-selector";
275
+ readonly notice: "sample-project-notice";
276
+ readonly visibility: "sample-project-visibility";
277
+ };
278
+ };
279
+
222
280
  declare const FEEDBACK_FILTERS: readonly ["positive", "negative", "unrated"];
223
281
  declare const FeedbackSummarySchema: z.ZodObject<{
224
282
  positive: z.ZodNumber;
@@ -1381,6 +1439,511 @@ declare function tablePassRate(counts: {
1381
1439
  } | null | undefined): number;
1382
1440
  declare function tableQueueMs(createdAt: string, startedAt: string | null | undefined): number;
1383
1441
 
1442
+ declare const StudioTableIdSchema: z.ZodEnum<{
1443
+ runs: "runs";
1444
+ sessions: "sessions";
1445
+ interrupts: "interrupts";
1446
+ prompts: "prompts";
1447
+ "prompt-groups": "prompt-groups";
1448
+ "prompt-runs": "prompt-runs";
1449
+ "prompt-evals": "prompt-evals";
1450
+ evaluations: "evaluations";
1451
+ "eval-comparison": "eval-comparison";
1452
+ "eval-cases": "eval-cases";
1453
+ "evaluation-suites": "evaluation-suites";
1454
+ "legacy-eval-runs": "legacy-eval-runs";
1455
+ "eval-suites": "eval-suites";
1456
+ }>;
1457
+ declare const StudioTableLayoutSchema: z.ZodObject<{
1458
+ widths: z.ZodRecord<z.ZodString, z.ZodNumber>;
1459
+ order: z.ZodArray<z.ZodString>;
1460
+ hidden: z.ZodArray<z.ZodString>;
1461
+ pinned: z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodEnum<{
1462
+ left: "left";
1463
+ right: "right";
1464
+ }>>>;
1465
+ }, z.core.$strict>;
1466
+ declare const StudioTableQueryPreferencesSchema: z.ZodObject<{
1467
+ sort: z.ZodString;
1468
+ dir: z.ZodEnum<{
1469
+ asc: "asc";
1470
+ desc: "desc";
1471
+ }>;
1472
+ pageSize: z.ZodNumber;
1473
+ }, z.core.$strict>;
1474
+ /** Portable configuration only: ownership is always assigned by the receiving server. */
1475
+ declare const StudioSavedViewDefinitionSchema: z.ZodObject<{
1476
+ name: z.ZodString;
1477
+ filters: z.ZodObject<{
1478
+ match: z.ZodEnum<{
1479
+ any: "any";
1480
+ all: "all";
1481
+ }>;
1482
+ rules: z.ZodArray<z.ZodObject<{
1483
+ field: z.ZodString;
1484
+ operator: z.ZodEnum<{
1485
+ contains: "contains";
1486
+ notContains: "notContains";
1487
+ is: "is";
1488
+ isNot: "isNot";
1489
+ gt: "gt";
1490
+ gte: "gte";
1491
+ lt: "lt";
1492
+ lte: "lte";
1493
+ between: "between";
1494
+ present: "present";
1495
+ missing: "missing";
1496
+ }>;
1497
+ values: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
1498
+ }, z.core.$strict>>;
1499
+ }, z.core.$strict>;
1500
+ layout: z.ZodObject<{
1501
+ widths: z.ZodRecord<z.ZodString, z.ZodNumber>;
1502
+ order: z.ZodArray<z.ZodString>;
1503
+ hidden: z.ZodArray<z.ZodString>;
1504
+ pinned: z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodEnum<{
1505
+ left: "left";
1506
+ right: "right";
1507
+ }>>>;
1508
+ }, z.core.$strict>;
1509
+ scope: z.ZodRecord<z.ZodString, z.ZodString>;
1510
+ sort: z.ZodOptional<z.ZodString>;
1511
+ direction: z.ZodOptional<z.ZodEnum<{
1512
+ asc: "asc";
1513
+ desc: "desc";
1514
+ }>>;
1515
+ pageSize: z.ZodOptional<z.ZodNumber>;
1516
+ }, z.core.$strict>;
1517
+ declare const StudioTableViewSchema: z.ZodObject<{
1518
+ name: z.ZodString;
1519
+ filters: z.ZodObject<{
1520
+ match: z.ZodEnum<{
1521
+ any: "any";
1522
+ all: "all";
1523
+ }>;
1524
+ rules: z.ZodArray<z.ZodObject<{
1525
+ field: z.ZodString;
1526
+ operator: z.ZodEnum<{
1527
+ contains: "contains";
1528
+ notContains: "notContains";
1529
+ is: "is";
1530
+ isNot: "isNot";
1531
+ gt: "gt";
1532
+ gte: "gte";
1533
+ lt: "lt";
1534
+ lte: "lte";
1535
+ between: "between";
1536
+ present: "present";
1537
+ missing: "missing";
1538
+ }>;
1539
+ values: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
1540
+ }, z.core.$strict>>;
1541
+ }, z.core.$strict>;
1542
+ layout: z.ZodObject<{
1543
+ widths: z.ZodRecord<z.ZodString, z.ZodNumber>;
1544
+ order: z.ZodArray<z.ZodString>;
1545
+ hidden: z.ZodArray<z.ZodString>;
1546
+ pinned: z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodEnum<{
1547
+ left: "left";
1548
+ right: "right";
1549
+ }>>>;
1550
+ }, z.core.$strict>;
1551
+ scope: z.ZodRecord<z.ZodString, z.ZodString>;
1552
+ sort: z.ZodOptional<z.ZodString>;
1553
+ direction: z.ZodOptional<z.ZodEnum<{
1554
+ asc: "asc";
1555
+ desc: "desc";
1556
+ }>>;
1557
+ pageSize: z.ZodOptional<z.ZodNumber>;
1558
+ id: z.ZodUUID;
1559
+ }, z.core.$strict>;
1560
+ declare const StudioTableDefaultsSchema: z.ZodObject<{
1561
+ layout: z.ZodOptional<z.ZodObject<{
1562
+ widths: z.ZodRecord<z.ZodString, z.ZodNumber>;
1563
+ order: z.ZodArray<z.ZodString>;
1564
+ hidden: z.ZodArray<z.ZodString>;
1565
+ pinned: z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodEnum<{
1566
+ left: "left";
1567
+ right: "right";
1568
+ }>>>;
1569
+ }, z.core.$strict>>;
1570
+ query: z.ZodOptional<z.ZodObject<{
1571
+ sort: z.ZodString;
1572
+ dir: z.ZodEnum<{
1573
+ asc: "asc";
1574
+ desc: "desc";
1575
+ }>;
1576
+ pageSize: z.ZodNumber;
1577
+ }, z.core.$strict>>;
1578
+ }, z.core.$strict>;
1579
+ declare const StudioTableConfigurationSchema: z.ZodObject<{
1580
+ schemaVersion: z.ZodLiteral<1>;
1581
+ defaults: z.ZodObject<{
1582
+ layout: z.ZodOptional<z.ZodObject<{
1583
+ widths: z.ZodRecord<z.ZodString, z.ZodNumber>;
1584
+ order: z.ZodArray<z.ZodString>;
1585
+ hidden: z.ZodArray<z.ZodString>;
1586
+ pinned: z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodEnum<{
1587
+ left: "left";
1588
+ right: "right";
1589
+ }>>>;
1590
+ }, z.core.$strict>>;
1591
+ query: z.ZodOptional<z.ZodObject<{
1592
+ sort: z.ZodString;
1593
+ dir: z.ZodEnum<{
1594
+ asc: "asc";
1595
+ desc: "desc";
1596
+ }>;
1597
+ pageSize: z.ZodNumber;
1598
+ }, z.core.$strict>>;
1599
+ }, z.core.$strict>;
1600
+ views: z.ZodArray<z.ZodObject<{
1601
+ name: z.ZodString;
1602
+ filters: z.ZodObject<{
1603
+ match: z.ZodEnum<{
1604
+ any: "any";
1605
+ all: "all";
1606
+ }>;
1607
+ rules: z.ZodArray<z.ZodObject<{
1608
+ field: z.ZodString;
1609
+ operator: z.ZodEnum<{
1610
+ contains: "contains";
1611
+ notContains: "notContains";
1612
+ is: "is";
1613
+ isNot: "isNot";
1614
+ gt: "gt";
1615
+ gte: "gte";
1616
+ lt: "lt";
1617
+ lte: "lte";
1618
+ between: "between";
1619
+ present: "present";
1620
+ missing: "missing";
1621
+ }>;
1622
+ values: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
1623
+ }, z.core.$strict>>;
1624
+ }, z.core.$strict>;
1625
+ layout: z.ZodObject<{
1626
+ widths: z.ZodRecord<z.ZodString, z.ZodNumber>;
1627
+ order: z.ZodArray<z.ZodString>;
1628
+ hidden: z.ZodArray<z.ZodString>;
1629
+ pinned: z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodEnum<{
1630
+ left: "left";
1631
+ right: "right";
1632
+ }>>>;
1633
+ }, z.core.$strict>;
1634
+ scope: z.ZodRecord<z.ZodString, z.ZodString>;
1635
+ sort: z.ZodOptional<z.ZodString>;
1636
+ direction: z.ZodOptional<z.ZodEnum<{
1637
+ asc: "asc";
1638
+ desc: "desc";
1639
+ }>>;
1640
+ pageSize: z.ZodOptional<z.ZodNumber>;
1641
+ id: z.ZodUUID;
1642
+ }, z.core.$strict>>;
1643
+ }, z.core.$strict>;
1644
+ declare const StudioTablePreferencesSchema: z.ZodObject<{
1645
+ schemaVersion: z.ZodLiteral<1>;
1646
+ defaults: z.ZodObject<{
1647
+ layout: z.ZodOptional<z.ZodObject<{
1648
+ widths: z.ZodRecord<z.ZodString, z.ZodNumber>;
1649
+ order: z.ZodArray<z.ZodString>;
1650
+ hidden: z.ZodArray<z.ZodString>;
1651
+ pinned: z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodEnum<{
1652
+ left: "left";
1653
+ right: "right";
1654
+ }>>>;
1655
+ }, z.core.$strict>>;
1656
+ query: z.ZodOptional<z.ZodObject<{
1657
+ sort: z.ZodString;
1658
+ dir: z.ZodEnum<{
1659
+ asc: "asc";
1660
+ desc: "desc";
1661
+ }>;
1662
+ pageSize: z.ZodNumber;
1663
+ }, z.core.$strict>>;
1664
+ }, z.core.$strict>;
1665
+ views: z.ZodArray<z.ZodObject<{
1666
+ name: z.ZodString;
1667
+ filters: z.ZodObject<{
1668
+ match: z.ZodEnum<{
1669
+ any: "any";
1670
+ all: "all";
1671
+ }>;
1672
+ rules: z.ZodArray<z.ZodObject<{
1673
+ field: z.ZodString;
1674
+ operator: z.ZodEnum<{
1675
+ contains: "contains";
1676
+ notContains: "notContains";
1677
+ is: "is";
1678
+ isNot: "isNot";
1679
+ gt: "gt";
1680
+ gte: "gte";
1681
+ lt: "lt";
1682
+ lte: "lte";
1683
+ between: "between";
1684
+ present: "present";
1685
+ missing: "missing";
1686
+ }>;
1687
+ values: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
1688
+ }, z.core.$strict>>;
1689
+ }, z.core.$strict>;
1690
+ layout: z.ZodObject<{
1691
+ widths: z.ZodRecord<z.ZodString, z.ZodNumber>;
1692
+ order: z.ZodArray<z.ZodString>;
1693
+ hidden: z.ZodArray<z.ZodString>;
1694
+ pinned: z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodEnum<{
1695
+ left: "left";
1696
+ right: "right";
1697
+ }>>>;
1698
+ }, z.core.$strict>;
1699
+ scope: z.ZodRecord<z.ZodString, z.ZodString>;
1700
+ sort: z.ZodOptional<z.ZodString>;
1701
+ direction: z.ZodOptional<z.ZodEnum<{
1702
+ asc: "asc";
1703
+ desc: "desc";
1704
+ }>>;
1705
+ pageSize: z.ZodOptional<z.ZodNumber>;
1706
+ id: z.ZodUUID;
1707
+ }, z.core.$strict>>;
1708
+ revision: z.ZodNumber;
1709
+ }, z.core.$strict>;
1710
+ declare const StudioTablePreferenceScopeSchema: z.ZodObject<{
1711
+ cacheKey: z.ZodString;
1712
+ ownerKind: z.ZodEnum<{
1713
+ project: "project";
1714
+ user: "user";
1715
+ }>;
1716
+ }, z.core.$strip>;
1717
+ declare const StudioTablePreferenceOperationSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
1718
+ kind: z.ZodLiteral<"defaults">;
1719
+ patch: z.ZodObject<{
1720
+ layout: z.ZodOptional<z.ZodObject<{
1721
+ widths: z.ZodRecord<z.ZodString, z.ZodNumber>;
1722
+ order: z.ZodArray<z.ZodString>;
1723
+ hidden: z.ZodArray<z.ZodString>;
1724
+ pinned: z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodEnum<{
1725
+ left: "left";
1726
+ right: "right";
1727
+ }>>>;
1728
+ }, z.core.$strict>>;
1729
+ query: z.ZodOptional<z.ZodObject<{
1730
+ sort: z.ZodString;
1731
+ dir: z.ZodEnum<{
1732
+ asc: "asc";
1733
+ desc: "desc";
1734
+ }>;
1735
+ pageSize: z.ZodNumber;
1736
+ }, z.core.$strict>>;
1737
+ }, z.core.$strict>;
1738
+ }, z.core.$strict>, z.ZodObject<{
1739
+ kind: z.ZodLiteral<"putView">;
1740
+ view: z.ZodObject<{
1741
+ name: z.ZodString;
1742
+ filters: z.ZodObject<{
1743
+ match: z.ZodEnum<{
1744
+ any: "any";
1745
+ all: "all";
1746
+ }>;
1747
+ rules: z.ZodArray<z.ZodObject<{
1748
+ field: z.ZodString;
1749
+ operator: z.ZodEnum<{
1750
+ contains: "contains";
1751
+ notContains: "notContains";
1752
+ is: "is";
1753
+ isNot: "isNot";
1754
+ gt: "gt";
1755
+ gte: "gte";
1756
+ lt: "lt";
1757
+ lte: "lte";
1758
+ between: "between";
1759
+ present: "present";
1760
+ missing: "missing";
1761
+ }>;
1762
+ values: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
1763
+ }, z.core.$strict>>;
1764
+ }, z.core.$strict>;
1765
+ layout: z.ZodObject<{
1766
+ widths: z.ZodRecord<z.ZodString, z.ZodNumber>;
1767
+ order: z.ZodArray<z.ZodString>;
1768
+ hidden: z.ZodArray<z.ZodString>;
1769
+ pinned: z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodEnum<{
1770
+ left: "left";
1771
+ right: "right";
1772
+ }>>>;
1773
+ }, z.core.$strict>;
1774
+ scope: z.ZodRecord<z.ZodString, z.ZodString>;
1775
+ sort: z.ZodOptional<z.ZodString>;
1776
+ direction: z.ZodOptional<z.ZodEnum<{
1777
+ asc: "asc";
1778
+ desc: "desc";
1779
+ }>>;
1780
+ pageSize: z.ZodOptional<z.ZodNumber>;
1781
+ id: z.ZodUUID;
1782
+ }, z.core.$strict>;
1783
+ }, z.core.$strict>, z.ZodObject<{
1784
+ kind: z.ZodLiteral<"deleteView">;
1785
+ id: z.ZodUUID;
1786
+ }, z.core.$strict>], "kind">;
1787
+ declare const StudioTablePreferenceWriteSchema: z.ZodObject<{
1788
+ scopeKey: z.ZodString;
1789
+ expectedRevision: z.ZodNumber;
1790
+ operation: z.ZodDiscriminatedUnion<[z.ZodObject<{
1791
+ kind: z.ZodLiteral<"defaults">;
1792
+ patch: z.ZodObject<{
1793
+ layout: z.ZodOptional<z.ZodObject<{
1794
+ widths: z.ZodRecord<z.ZodString, z.ZodNumber>;
1795
+ order: z.ZodArray<z.ZodString>;
1796
+ hidden: z.ZodArray<z.ZodString>;
1797
+ pinned: z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodEnum<{
1798
+ left: "left";
1799
+ right: "right";
1800
+ }>>>;
1801
+ }, z.core.$strict>>;
1802
+ query: z.ZodOptional<z.ZodObject<{
1803
+ sort: z.ZodString;
1804
+ dir: z.ZodEnum<{
1805
+ asc: "asc";
1806
+ desc: "desc";
1807
+ }>;
1808
+ pageSize: z.ZodNumber;
1809
+ }, z.core.$strict>>;
1810
+ }, z.core.$strict>;
1811
+ }, z.core.$strict>, z.ZodObject<{
1812
+ kind: z.ZodLiteral<"putView">;
1813
+ view: z.ZodObject<{
1814
+ name: z.ZodString;
1815
+ filters: z.ZodObject<{
1816
+ match: z.ZodEnum<{
1817
+ any: "any";
1818
+ all: "all";
1819
+ }>;
1820
+ rules: z.ZodArray<z.ZodObject<{
1821
+ field: z.ZodString;
1822
+ operator: z.ZodEnum<{
1823
+ contains: "contains";
1824
+ notContains: "notContains";
1825
+ is: "is";
1826
+ isNot: "isNot";
1827
+ gt: "gt";
1828
+ gte: "gte";
1829
+ lt: "lt";
1830
+ lte: "lte";
1831
+ between: "between";
1832
+ present: "present";
1833
+ missing: "missing";
1834
+ }>;
1835
+ values: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
1836
+ }, z.core.$strict>>;
1837
+ }, z.core.$strict>;
1838
+ layout: z.ZodObject<{
1839
+ widths: z.ZodRecord<z.ZodString, z.ZodNumber>;
1840
+ order: z.ZodArray<z.ZodString>;
1841
+ hidden: z.ZodArray<z.ZodString>;
1842
+ pinned: z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodEnum<{
1843
+ left: "left";
1844
+ right: "right";
1845
+ }>>>;
1846
+ }, z.core.$strict>;
1847
+ scope: z.ZodRecord<z.ZodString, z.ZodString>;
1848
+ sort: z.ZodOptional<z.ZodString>;
1849
+ direction: z.ZodOptional<z.ZodEnum<{
1850
+ asc: "asc";
1851
+ desc: "desc";
1852
+ }>>;
1853
+ pageSize: z.ZodOptional<z.ZodNumber>;
1854
+ id: z.ZodUUID;
1855
+ }, z.core.$strict>;
1856
+ }, z.core.$strict>, z.ZodObject<{
1857
+ kind: z.ZodLiteral<"deleteView">;
1858
+ id: z.ZodUUID;
1859
+ }, z.core.$strict>], "kind">;
1860
+ }, z.core.$strict>;
1861
+ type StudioTableConfiguration = z.infer<typeof StudioTableConfigurationSchema>;
1862
+ type StudioTablePreferences = z.infer<typeof StudioTablePreferencesSchema>;
1863
+ type StudioTablePreferenceScope = z.infer<typeof StudioTablePreferenceScopeSchema>;
1864
+ type StudioTablePreferenceOperation = z.infer<typeof StudioTablePreferenceOperationSchema>;
1865
+ type StudioTablePreferenceWrite = z.infer<typeof StudioTablePreferenceWriteSchema>;
1866
+ type StudioTableDefaults = z.infer<typeof StudioTableDefaultsSchema>;
1867
+ type StudioTableView = z.infer<typeof StudioTableViewSchema>;
1868
+ declare function emptyTablePreferences(): StudioTablePreferences;
1869
+ /** Used for optimistic cache updates and conflict-safe operation replay. */
1870
+ declare function applyTablePreferenceOperation(state: StudioTablePreferences, operation: StudioTablePreferenceOperation): StudioTablePreferences;
1871
+ declare const StudioTablePreferenceResponseSchema: z.ZodObject<{
1872
+ scope: z.ZodObject<{
1873
+ cacheKey: z.ZodString;
1874
+ ownerKind: z.ZodEnum<{
1875
+ project: "project";
1876
+ user: "user";
1877
+ }>;
1878
+ }, z.core.$strip>;
1879
+ preferences: z.ZodObject<{
1880
+ schemaVersion: z.ZodLiteral<1>;
1881
+ defaults: z.ZodObject<{
1882
+ layout: z.ZodOptional<z.ZodObject<{
1883
+ widths: z.ZodRecord<z.ZodString, z.ZodNumber>;
1884
+ order: z.ZodArray<z.ZodString>;
1885
+ hidden: z.ZodArray<z.ZodString>;
1886
+ pinned: z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodEnum<{
1887
+ left: "left";
1888
+ right: "right";
1889
+ }>>>;
1890
+ }, z.core.$strict>>;
1891
+ query: z.ZodOptional<z.ZodObject<{
1892
+ sort: z.ZodString;
1893
+ dir: z.ZodEnum<{
1894
+ asc: "asc";
1895
+ desc: "desc";
1896
+ }>;
1897
+ pageSize: z.ZodNumber;
1898
+ }, z.core.$strict>>;
1899
+ }, z.core.$strict>;
1900
+ views: z.ZodArray<z.ZodObject<{
1901
+ name: z.ZodString;
1902
+ filters: z.ZodObject<{
1903
+ match: z.ZodEnum<{
1904
+ any: "any";
1905
+ all: "all";
1906
+ }>;
1907
+ rules: z.ZodArray<z.ZodObject<{
1908
+ field: z.ZodString;
1909
+ operator: z.ZodEnum<{
1910
+ contains: "contains";
1911
+ notContains: "notContains";
1912
+ is: "is";
1913
+ isNot: "isNot";
1914
+ gt: "gt";
1915
+ gte: "gte";
1916
+ lt: "lt";
1917
+ lte: "lte";
1918
+ between: "between";
1919
+ present: "present";
1920
+ missing: "missing";
1921
+ }>;
1922
+ values: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
1923
+ }, z.core.$strict>>;
1924
+ }, z.core.$strict>;
1925
+ layout: z.ZodObject<{
1926
+ widths: z.ZodRecord<z.ZodString, z.ZodNumber>;
1927
+ order: z.ZodArray<z.ZodString>;
1928
+ hidden: z.ZodArray<z.ZodString>;
1929
+ pinned: z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodEnum<{
1930
+ left: "left";
1931
+ right: "right";
1932
+ }>>>;
1933
+ }, z.core.$strict>;
1934
+ scope: z.ZodRecord<z.ZodString, z.ZodString>;
1935
+ sort: z.ZodOptional<z.ZodString>;
1936
+ direction: z.ZodOptional<z.ZodEnum<{
1937
+ asc: "asc";
1938
+ desc: "desc";
1939
+ }>>;
1940
+ pageSize: z.ZodOptional<z.ZodNumber>;
1941
+ id: z.ZodUUID;
1942
+ }, z.core.$strict>>;
1943
+ revision: z.ZodNumber;
1944
+ }, z.core.$strict>;
1945
+ }, z.core.$strip>;
1946
+
1384
1947
  type StudioWorkflowCall = {
1385
1948
  id: string;
1386
1949
  invocationId: string;
@@ -3700,6 +4263,13 @@ declare const StudioCatalogsResponseSchema: z.ZodObject<{
3700
4263
  tags: z.ZodArray<z.ZodString>;
3701
4264
  }, z.core.$strip>;
3702
4265
  declare const StudioContextResponseSchema: z.ZodObject<{
4266
+ tablePreferenceScope: z.ZodOptional<z.ZodNullable<z.ZodObject<{
4267
+ cacheKey: z.ZodString;
4268
+ ownerKind: z.ZodEnum<{
4269
+ project: "project";
4270
+ user: "user";
4271
+ }>;
4272
+ }, z.core.$strip>>>;
3703
4273
  organization: z.ZodObject<{
3704
4274
  name: z.ZodString;
3705
4275
  }, z.core.$strip>;
@@ -3752,4 +4322,4 @@ type StudioWorkflowsResponse = z.infer<typeof StudioWorkflowsResponseSchema>;
3752
4322
  type StudioCatalogsResponse = z.infer<typeof StudioCatalogsResponseSchema>;
3753
4323
  type StudioContextResponse = z.infer<typeof StudioContextResponseSchema>;
3754
4324
 
3755
- export { ClearScoreResponseSchema, ClearUserFeedbackRequestSchema, DIAGNOSTIC_LIMITS, type DiagnosticContent, DiagnosticContentSchema, DiagnosticCorrelationSchema, type DiagnosticManifest, DiagnosticManifestSchema, type DiagnosticNote, DiagnosticNoteSchema, DiagnosticPartSchema, type DiagnosticResponse, DiagnosticResponseSchema, EMPTY_TABLE_FILTERS, EVALUATION_TABLE_FILTER_FIELDS, type EnsureWorkflowTopologyRequest, EnsureWorkflowTopologyRequestSchema, type EnsureWorkflowTopologyResponse, EnsureWorkflowTopologyResponseSchema, FEEDBACK_FILTERS, FeedbackReasonSchema, type FeedbackSummary, FeedbackSummarySchema, type KortyxTelemetryEvent, type KortyxTelemetryEventType, type KortyxTelemetryService, type KortyxWorkflowTopologyEdge, type KortyxWorkflowTopologyNode, type KortyxWorkflowTopologyTransition, LEGACY_TABLE_FILTERS, PROMPT_TABLE_FILTER_FIELDS, PromptAssetSchema, PromptAssignmentSchema, type PromptBundle, PromptBundleSchema, type PromptCategory, PromptCategorySchema, type PromptDetail, PromptDetailSchema, type PromptEvidence, PromptEvidenceSchema, type PromptGroup, PromptGroupSchema, type PromptLibrary, PromptLibrarySchema, type PromptMutation, PromptMutationSchema, PromptPolicySchema, type PromptSelection, PromptSelectionSchema, PromptStoredVersionSchema, type PromptTransferRequest, PromptTransferRequestSchema, PromptUsageSchema, ReviewVerdictSchema, STUDIO_API_PROTOCOL_VERSION, STUDIO_TABLE_FIELDS, STUDIO_TIME_RANGES, type StudioCatalogsResponse, StudioCatalogsResponseSchema, type StudioChange, type StudioChangeResource, StudioChangeResourceSchema, StudioChangeSchema, type StudioContextResponse, StudioContextResponseSchema, type StudioCostSummary, StudioCostSummarySchema, type StudioDetailEvent, StudioDetailEventSchema, type StudioInterrupt, type StudioInterruptDetailResponse, StudioInterruptDetailResponseSchema, type StudioInterruptInteractionMode, StudioInterruptInteractionModeSchema, type StudioInterruptOption, StudioInterruptOptionSchema, StudioInterruptSchema, type StudioInterruptStatus, StudioInterruptStatusSchema, type StudioInterruptType, StudioInterruptTypeSchema, StudioInterruptValueSchema, type StudioInterruptsResponse, StudioInterruptsResponseSchema, type StudioMetric, StudioMetricSchema, type StudioPricingSource, StudioPricingSourceSchema, type StudioPricingStatus, StudioPricingStatusSchema, type StudioRelease, StudioReleaseDeploymentSchema, StudioReleaseSchema, StudioReleaseVersionSchema, type StudioResumeOutcome, StudioResumeOutcomeSchema, type StudioReviewRequest, StudioReviewRequestSchema, type StudioRun, type StudioRunDetailResponse, StudioRunDetailResponseSchema, StudioRunSchema, type StudioRunStatus, StudioRunStatusSchema, type StudioRunsResponse, StudioRunsResponseSchema, type StudioScore, StudioScoreResponseSchema, StudioScoreSchema, type StudioSession, type StudioSessionDetailResponse, StudioSessionDetailResponseSchema, StudioSessionSchema, type StudioSessionsResponse, StudioSessionsResponseSchema, type StudioTableResource, type StudioTimeRange, type StudioTimeRangeContext, StudioTimeRangeContextSchema, StudioTimeRangeQuerySchema, type StudioTimeRangeResolution, StudioTimeRangeSchema, type StudioTool, StudioToolSchema, type StudioUpdateOperation, StudioUpdateOperationSchema, type StudioUpdateSettings, StudioUpdateSettingsSchema, type StudioUpdateStatus, StudioUpdateStatusSchema, type StudioWorkflow, type StudioWorkflowCall, type StudioWorkflowHealth, StudioWorkflowHealthSchema, type StudioWorkflowInternalEdge, StudioWorkflowInternalEdgeSchema, type StudioWorkflowNode, StudioWorkflowNodeSchema, StudioWorkflowSchema, type StudioWorkflowTransition, StudioWorkflowTransitionSchema, type StudioWorkflowsResponse, StudioWorkflowsResponseSchema, TELEMETRY_EVENT_TYPES, type TableFilterDefinition, type TableFilterKind, type TableFilterRule, TableFilterRuleSchema, type TableFilterValue, type TableFilters, TableFiltersSchema, type TelemetryEventBatch, type TelemetryEventBatchResponse, TelemetryEventBatchResponseSchema, TelemetryEventBatchSchema, TelemetryEventSchema, TelemetryEventTypeSchema, type TelemetryPricingHint, TelemetryPricingHintSchema, type TelemetryPricingLineItem, TelemetryPricingLineItemSchema, type TelemetryPricingSource, TelemetryPricingSourceSchema, type TelemetryPricingUnit, TelemetryPricingUnitSchema, type TelemetryPricingUsageType, TelemetryPricingUsageTypeSchema, TelemetryServiceSchema, type TelemetryUnitPrice, TelemetryUnitPriceSchema, type TelemetryUsageItem, TelemetryUsageItemSchema, ToolDiscoverySchema, ToolObservationSchema, ToolOutcomeSchema, type UserFeedbackRequest, UserFeedbackRequestSchema, type WorkflowTool, WorkflowToolSchema, WorkflowTopologyCallSchema, WorkflowTopologyEdgeSchema, WorkflowTopologyNodeSchema, WorkflowTopologyTransitionSchema, captureDiagnosticContent, filterOperators, isPrivateDiagnosticField, matchesTableFilters, matchesTableRule, newerStudioVersion, projectWorkflowCalls, readStudioTableFilters, redactDiagnosticContent, redactDiagnosticText, resolveStudioInterruptStatus, resolveStudioTimeRange, studioUpdateRunning, summarizeDiagnostic, summarizeUserFeedback, tablePassRate, tableQueueMs, validateTableFilters };
4325
+ export { ClearScoreResponseSchema, ClearUserFeedbackRequestSchema, DIAGNOSTIC_LIMITS, type DiagnosticContent, DiagnosticContentSchema, DiagnosticCorrelationSchema, type DiagnosticManifest, DiagnosticManifestSchema, type DiagnosticNote, DiagnosticNoteSchema, DiagnosticPartSchema, type DiagnosticResponse, DiagnosticResponseSchema, EMPTY_TABLE_FILTERS, EVALUATION_TABLE_FILTER_FIELDS, type EnsureWorkflowTopologyRequest, EnsureWorkflowTopologyRequestSchema, type EnsureWorkflowTopologyResponse, EnsureWorkflowTopologyResponseSchema, FEEDBACK_FILTERS, FeedbackReasonSchema, type FeedbackSummary, FeedbackSummarySchema, type KortyxTelemetryEvent, type KortyxTelemetryEventType, type KortyxTelemetryService, type KortyxWorkflowTopologyEdge, type KortyxWorkflowTopologyNode, type KortyxWorkflowTopologyTransition, LEGACY_TABLE_FILTERS, PROMPT_TABLE_FILTER_FIELDS, PromptAssetSchema, PromptAssignmentSchema, type PromptBundle, PromptBundleSchema, type PromptCategory, PromptCategorySchema, type PromptDetail, PromptDetailSchema, type PromptEvidence, PromptEvidenceSchema, type PromptGroup, PromptGroupSchema, type PromptLibrary, PromptLibrarySchema, type PromptMutation, PromptMutationSchema, PromptPolicySchema, type PromptSelection, PromptSelectionSchema, PromptStoredVersionSchema, type PromptTransferRequest, PromptTransferRequestSchema, PromptUsageSchema, ReviewVerdictSchema, SAMPLE_PROJECT, STUDIO_API_PROTOCOL_VERSION, STUDIO_TABLE_FIELDS, STUDIO_TIME_RANGES, type StudioCatalogsResponse, StudioCatalogsResponseSchema, type StudioChange, type StudioChangeResource, StudioChangeResourceSchema, StudioChangeSchema, type StudioContextResponse, StudioContextResponseSchema, type StudioCostSummary, StudioCostSummarySchema, type StudioDetailEvent, StudioDetailEventSchema, type StudioInterrupt, type StudioInterruptDetailResponse, StudioInterruptDetailResponseSchema, type StudioInterruptInteractionMode, StudioInterruptInteractionModeSchema, type StudioInterruptOption, StudioInterruptOptionSchema, StudioInterruptSchema, type StudioInterruptStatus, StudioInterruptStatusSchema, type StudioInterruptType, StudioInterruptTypeSchema, StudioInterruptValueSchema, type StudioInterruptsResponse, StudioInterruptsResponseSchema, type StudioMetric, StudioMetricSchema, type StudioPricingSource, StudioPricingSourceSchema, type StudioPricingStatus, StudioPricingStatusSchema, type StudioRelease, StudioReleaseDeploymentSchema, StudioReleaseSchema, StudioReleaseVersionSchema, type StudioResumeOutcome, StudioResumeOutcomeSchema, type StudioReviewRequest, StudioReviewRequestSchema, type StudioRun, type StudioRunDetailResponse, StudioRunDetailResponseSchema, StudioRunSchema, type StudioRunStatus, StudioRunStatusSchema, type StudioRunsResponse, StudioRunsResponseSchema, StudioSavedViewDefinitionSchema, type StudioScore, StudioScoreResponseSchema, StudioScoreSchema, type StudioSession, type StudioSessionDetailResponse, StudioSessionDetailResponseSchema, StudioSessionSchema, type StudioSessionsResponse, StudioSessionsResponseSchema, type StudioTableConfiguration, StudioTableConfigurationSchema, type StudioTableDefaults, StudioTableDefaultsSchema, StudioTableIdSchema, StudioTableLayoutSchema, type StudioTablePreferenceOperation, StudioTablePreferenceOperationSchema, StudioTablePreferenceResponseSchema, type StudioTablePreferenceScope, StudioTablePreferenceScopeSchema, type StudioTablePreferenceWrite, StudioTablePreferenceWriteSchema, type StudioTablePreferences, StudioTablePreferencesSchema, StudioTableQueryPreferencesSchema, type StudioTableResource, type StudioTableView, StudioTableViewSchema, type StudioTimeRange, type StudioTimeRangeContext, StudioTimeRangeContextSchema, StudioTimeRangeQuerySchema, type StudioTimeRangeResolution, StudioTimeRangeSchema, type StudioTool, StudioToolSchema, type StudioUpdateOperation, StudioUpdateOperationSchema, type StudioUpdateSettings, StudioUpdateSettingsSchema, type StudioUpdateStatus, StudioUpdateStatusSchema, type StudioWorkflow, type StudioWorkflowCall, type StudioWorkflowHealth, StudioWorkflowHealthSchema, type StudioWorkflowInternalEdge, StudioWorkflowInternalEdgeSchema, type StudioWorkflowNode, StudioWorkflowNodeSchema, StudioWorkflowSchema, type StudioWorkflowTransition, StudioWorkflowTransitionSchema, type StudioWorkflowsResponse, StudioWorkflowsResponseSchema, TELEMETRY_EVENT_TYPES, type TableFilterDefinition, type TableFilterKind, type TableFilterRule, TableFilterRuleSchema, type TableFilterValue, type TableFilters, TableFiltersSchema, type TelemetryEventBatch, type TelemetryEventBatchResponse, TelemetryEventBatchResponseSchema, TelemetryEventBatchSchema, TelemetryEventSchema, TelemetryEventTypeSchema, type TelemetryPricingHint, TelemetryPricingHintSchema, type TelemetryPricingLineItem, TelemetryPricingLineItemSchema, type TelemetryPricingSource, TelemetryPricingSourceSchema, type TelemetryPricingUnit, TelemetryPricingUnitSchema, type TelemetryPricingUsageType, TelemetryPricingUsageTypeSchema, TelemetryServiceSchema, type TelemetryUnitPrice, TelemetryUnitPriceSchema, type TelemetryUsageItem, TelemetryUsageItemSchema, ToolDiscoverySchema, ToolObservationSchema, ToolOutcomeSchema, type UserFeedbackRequest, UserFeedbackRequestSchema, type WorkflowTool, WorkflowToolSchema, WorkflowTopologyCallSchema, WorkflowTopologyEdgeSchema, WorkflowTopologyNodeSchema, WorkflowTopologyTransitionSchema, applyTablePreferenceOperation, captureDiagnosticContent, emptyTablePreferences, filterOperators, isPrivateDiagnosticField, matchesTableFilters, matchesTableRule, newerStudioVersion, projectWorkflowCalls, readStudioTableFilters, redactDiagnosticContent, redactDiagnosticText, resolveStudioInterruptStatus, resolveStudioTimeRange, studioUpdateRunning, summarizeDiagnostic, summarizeUserFeedback, tablePassRate, tableQueueMs, validateTableFilters };