@camstack/types 1.2.328 → 1.2.329

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.
@@ -1351,6 +1351,7 @@ export declare const RetrainExportFilterSchema: z.ZodObject<{
1351
1351
  deviceIds: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
1352
1352
  frameIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
1353
1353
  collectionIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
1354
+ datasetVersionId: z.ZodOptional<z.ZodString>;
1354
1355
  batchId: z.ZodOptional<z.ZodString>;
1355
1356
  completeOnly: z.ZodOptional<z.ZodBoolean>;
1356
1357
  }, z.core.$strip>;
@@ -1716,6 +1717,136 @@ export declare const RetrainLlmAssistResultSchema: z.ZodDiscriminatedUnion<[z.Zo
1716
1717
  detail: z.ZodOptional<z.ZodString>;
1717
1718
  }, z.core.$strip>], "kind">;
1718
1719
  export type RetrainLlmAssistResult = z.infer<typeof RetrainLlmAssistResultSchema>;
1720
+ /** What a dataset version is cut from. Every field narrows. */
1721
+ export declare const RetrainDatasetSelectionSchema: z.ZodObject<{
1722
+ deviceIds: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodNumber>>>;
1723
+ collectionIds: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
1724
+ frameIds: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
1725
+ }, z.core.$strip>;
1726
+ export type RetrainDatasetSelection = z.infer<typeof RetrainDatasetSelectionSchema>;
1727
+ /** The counts a dataset is judged by. */
1728
+ export declare const RetrainDatasetStatsSchema: z.ZodObject<{
1729
+ frames: z.ZodNumber;
1730
+ completeFrames: z.ZodNumber;
1731
+ completeness: z.ZodNumber;
1732
+ subjects: z.ZodNumber;
1733
+ modelErrors: z.ZodNumber;
1734
+ hardNegatives: z.ZodNumber;
1735
+ cells: z.ZodReadonly<z.ZodArray<z.ZodObject<{
1736
+ macroClass: z.ZodString;
1737
+ deviceId: z.ZodNumber;
1738
+ lighting: z.ZodEnum<{
1739
+ unknown: "unknown";
1740
+ day: "day";
1741
+ night: "night";
1742
+ }>;
1743
+ subjects: z.ZodNumber;
1744
+ frames: z.ZodNumber;
1745
+ }, z.core.$strip>>>;
1746
+ cameras: z.ZodReadonly<z.ZodArray<z.ZodObject<{
1747
+ deviceId: z.ZodNumber;
1748
+ frames: z.ZodNumber;
1749
+ completeFrames: z.ZodNumber;
1750
+ }, z.core.$strip>>>;
1751
+ }, z.core.$strip>;
1752
+ export type RetrainDatasetStats = z.infer<typeof RetrainDatasetStatsSchema>;
1753
+ /** An immutable dataset version, without its frame list. */
1754
+ export declare const RetrainDatasetVersionSchema: z.ZodObject<{
1755
+ id: z.ZodString;
1756
+ name: z.ZodString;
1757
+ createdAt: z.ZodNumber;
1758
+ selection: z.ZodObject<{
1759
+ deviceIds: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodNumber>>>;
1760
+ collectionIds: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
1761
+ frameIds: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
1762
+ }, z.core.$strip>;
1763
+ layout: z.ZodEnum<{
1764
+ frames: "frames";
1765
+ crops: "crops";
1766
+ }>;
1767
+ completeOnly: z.ZodBoolean;
1768
+ frameCount: z.ZodNumber;
1769
+ annotationHash: z.ZodString;
1770
+ manifestSchema: z.ZodString;
1771
+ stats: z.ZodObject<{
1772
+ frames: z.ZodNumber;
1773
+ completeFrames: z.ZodNumber;
1774
+ completeness: z.ZodNumber;
1775
+ subjects: z.ZodNumber;
1776
+ modelErrors: z.ZodNumber;
1777
+ hardNegatives: z.ZodNumber;
1778
+ cells: z.ZodReadonly<z.ZodArray<z.ZodObject<{
1779
+ macroClass: z.ZodString;
1780
+ deviceId: z.ZodNumber;
1781
+ lighting: z.ZodEnum<{
1782
+ unknown: "unknown";
1783
+ day: "day";
1784
+ night: "night";
1785
+ }>;
1786
+ subjects: z.ZodNumber;
1787
+ frames: z.ZodNumber;
1788
+ }, z.core.$strip>>>;
1789
+ cameras: z.ZodReadonly<z.ZodArray<z.ZodObject<{
1790
+ deviceId: z.ZodNumber;
1791
+ frames: z.ZodNumber;
1792
+ completeFrames: z.ZodNumber;
1793
+ }, z.core.$strip>>>;
1794
+ }, z.core.$strip>;
1795
+ }, z.core.$strip>;
1796
+ export type RetrainDatasetVersion = z.infer<typeof RetrainDatasetVersionSchema>;
1797
+ export declare const CreateRetrainDatasetVersionResultSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
1798
+ kind: z.ZodLiteral<"created">;
1799
+ version: z.ZodObject<{
1800
+ id: z.ZodString;
1801
+ name: z.ZodString;
1802
+ createdAt: z.ZodNumber;
1803
+ selection: z.ZodObject<{
1804
+ deviceIds: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodNumber>>>;
1805
+ collectionIds: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
1806
+ frameIds: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
1807
+ }, z.core.$strip>;
1808
+ layout: z.ZodEnum<{
1809
+ frames: "frames";
1810
+ crops: "crops";
1811
+ }>;
1812
+ completeOnly: z.ZodBoolean;
1813
+ frameCount: z.ZodNumber;
1814
+ annotationHash: z.ZodString;
1815
+ manifestSchema: z.ZodString;
1816
+ stats: z.ZodObject<{
1817
+ frames: z.ZodNumber;
1818
+ completeFrames: z.ZodNumber;
1819
+ completeness: z.ZodNumber;
1820
+ subjects: z.ZodNumber;
1821
+ modelErrors: z.ZodNumber;
1822
+ hardNegatives: z.ZodNumber;
1823
+ cells: z.ZodReadonly<z.ZodArray<z.ZodObject<{
1824
+ macroClass: z.ZodString;
1825
+ deviceId: z.ZodNumber;
1826
+ lighting: z.ZodEnum<{
1827
+ unknown: "unknown";
1828
+ day: "day";
1829
+ night: "night";
1830
+ }>;
1831
+ subjects: z.ZodNumber;
1832
+ frames: z.ZodNumber;
1833
+ }, z.core.$strip>>>;
1834
+ cameras: z.ZodReadonly<z.ZodArray<z.ZodObject<{
1835
+ deviceId: z.ZodNumber;
1836
+ frames: z.ZodNumber;
1837
+ completeFrames: z.ZodNumber;
1838
+ }, z.core.$strip>>>;
1839
+ }, z.core.$strip>;
1840
+ }, z.core.$strip>;
1841
+ }, z.core.$strip>, z.ZodObject<{
1842
+ kind: z.ZodLiteral<"refused">;
1843
+ reason: z.ZodEnum<{
1844
+ "empty-name": "empty-name";
1845
+ "duplicate-name": "duplicate-name";
1846
+ "no-frames": "no-frames";
1847
+ }>;
1848
+ }, z.core.$strip>], "kind">;
1849
+ export type CreateRetrainDatasetVersionResult = z.infer<typeof CreateRetrainDatasetVersionResultSchema>;
1719
1850
  /** The outcome of a lifecycle move owned by the retrain page. */
1720
1851
  export declare const RetrainTransitionResultSchema: z.ZodObject<{
1721
1852
  trackId: z.ZodString;
@@ -4605,6 +4736,7 @@ export declare const pipelineAnalyticsCapability: {
4605
4736
  deviceIds: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
4606
4737
  frameIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
4607
4738
  collectionIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
4739
+ datasetVersionId: z.ZodOptional<z.ZodString>;
4608
4740
  batchId: z.ZodOptional<z.ZodString>;
4609
4741
  completeOnly: z.ZodOptional<z.ZodBoolean>;
4610
4742
  layout: z.ZodOptional<z.ZodEnum<{
@@ -4698,6 +4830,7 @@ export declare const pipelineAnalyticsCapability: {
4698
4830
  deviceIds: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
4699
4831
  frameIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
4700
4832
  collectionIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
4833
+ datasetVersionId: z.ZodOptional<z.ZodString>;
4701
4834
  batchId: z.ZodOptional<z.ZodString>;
4702
4835
  completeOnly: z.ZodOptional<z.ZodBoolean>;
4703
4836
  }, z.core.$strip>;
@@ -4724,6 +4857,168 @@ export declare const pipelineAnalyticsCapability: {
4724
4857
  sha256: z.ZodString;
4725
4858
  status: z.ZodNumber;
4726
4859
  }, z.core.$strip>, "mutation">;
4860
+ /** The counts a selection would freeze — class × camera × day/night,
4861
+ * completeness — without freezing anything. Index reads only. */
4862
+ readonly previewRetrainDataset: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
4863
+ selection: z.ZodObject<{
4864
+ deviceIds: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodNumber>>>;
4865
+ collectionIds: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
4866
+ frameIds: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
4867
+ }, z.core.$strip>;
4868
+ completeOnly: z.ZodOptional<z.ZodBoolean>;
4869
+ }, z.core.$strip>, z.ZodObject<{
4870
+ frames: z.ZodNumber;
4871
+ completeFrames: z.ZodNumber;
4872
+ completeness: z.ZodNumber;
4873
+ subjects: z.ZodNumber;
4874
+ modelErrors: z.ZodNumber;
4875
+ hardNegatives: z.ZodNumber;
4876
+ cells: z.ZodReadonly<z.ZodArray<z.ZodObject<{
4877
+ macroClass: z.ZodString;
4878
+ deviceId: z.ZodNumber;
4879
+ lighting: z.ZodEnum<{
4880
+ unknown: "unknown";
4881
+ day: "day";
4882
+ night: "night";
4883
+ }>;
4884
+ subjects: z.ZodNumber;
4885
+ frames: z.ZodNumber;
4886
+ }, z.core.$strip>>>;
4887
+ cameras: z.ZodReadonly<z.ZodArray<z.ZodObject<{
4888
+ deviceId: z.ZodNumber;
4889
+ frames: z.ZodNumber;
4890
+ completeFrames: z.ZodNumber;
4891
+ }, z.core.$strip>>>;
4892
+ }, z.core.$strip>, "query">;
4893
+ /**
4894
+ * Freeze a dataset version: the frames the selection yields (the same plan
4895
+ * the annotated export builds), the hash of what they teach, the export
4896
+ * parameters and the counts. Immutable — a different selection is a new
4897
+ * version. Export it with `getRetrainExportUrl({ datasetVersionId })`.
4898
+ */
4899
+ readonly createRetrainDatasetVersion: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
4900
+ name: z.ZodString;
4901
+ selection: z.ZodObject<{
4902
+ deviceIds: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodNumber>>>;
4903
+ collectionIds: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
4904
+ frameIds: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
4905
+ }, z.core.$strip>;
4906
+ layout: z.ZodEnum<{
4907
+ frames: "frames";
4908
+ crops: "crops";
4909
+ }>;
4910
+ completeOnly: z.ZodBoolean;
4911
+ }, z.core.$strip>, z.ZodDiscriminatedUnion<[z.ZodObject<{
4912
+ kind: z.ZodLiteral<"created">;
4913
+ version: z.ZodObject<{
4914
+ id: z.ZodString;
4915
+ name: z.ZodString;
4916
+ createdAt: z.ZodNumber;
4917
+ selection: z.ZodObject<{
4918
+ deviceIds: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodNumber>>>;
4919
+ collectionIds: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
4920
+ frameIds: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
4921
+ }, z.core.$strip>;
4922
+ layout: z.ZodEnum<{
4923
+ frames: "frames";
4924
+ crops: "crops";
4925
+ }>;
4926
+ completeOnly: z.ZodBoolean;
4927
+ frameCount: z.ZodNumber;
4928
+ annotationHash: z.ZodString;
4929
+ manifestSchema: z.ZodString;
4930
+ stats: z.ZodObject<{
4931
+ frames: z.ZodNumber;
4932
+ completeFrames: z.ZodNumber;
4933
+ completeness: z.ZodNumber;
4934
+ subjects: z.ZodNumber;
4935
+ modelErrors: z.ZodNumber;
4936
+ hardNegatives: z.ZodNumber;
4937
+ cells: z.ZodReadonly<z.ZodArray<z.ZodObject<{
4938
+ macroClass: z.ZodString;
4939
+ deviceId: z.ZodNumber;
4940
+ lighting: z.ZodEnum<{
4941
+ unknown: "unknown";
4942
+ day: "day";
4943
+ night: "night";
4944
+ }>;
4945
+ subjects: z.ZodNumber;
4946
+ frames: z.ZodNumber;
4947
+ }, z.core.$strip>>>;
4948
+ cameras: z.ZodReadonly<z.ZodArray<z.ZodObject<{
4949
+ deviceId: z.ZodNumber;
4950
+ frames: z.ZodNumber;
4951
+ completeFrames: z.ZodNumber;
4952
+ }, z.core.$strip>>>;
4953
+ }, z.core.$strip>;
4954
+ }, z.core.$strip>;
4955
+ }, z.core.$strip>, z.ZodObject<{
4956
+ kind: z.ZodLiteral<"refused">;
4957
+ reason: z.ZodEnum<{
4958
+ "empty-name": "empty-name";
4959
+ "duplicate-name": "duplicate-name";
4960
+ "no-frames": "no-frames";
4961
+ }>;
4962
+ }, z.core.$strip>], "kind">, "mutation">;
4963
+ /** Every dataset version, newest first. */
4964
+ readonly listRetrainDatasetVersions: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{}, z.core.$strip>, z.ZodReadonly<z.ZodArray<z.ZodObject<{
4965
+ id: z.ZodString;
4966
+ name: z.ZodString;
4967
+ createdAt: z.ZodNumber;
4968
+ selection: z.ZodObject<{
4969
+ deviceIds: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodNumber>>>;
4970
+ collectionIds: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
4971
+ frameIds: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
4972
+ }, z.core.$strip>;
4973
+ layout: z.ZodEnum<{
4974
+ frames: "frames";
4975
+ crops: "crops";
4976
+ }>;
4977
+ completeOnly: z.ZodBoolean;
4978
+ frameCount: z.ZodNumber;
4979
+ annotationHash: z.ZodString;
4980
+ manifestSchema: z.ZodString;
4981
+ stats: z.ZodObject<{
4982
+ frames: z.ZodNumber;
4983
+ completeFrames: z.ZodNumber;
4984
+ completeness: z.ZodNumber;
4985
+ subjects: z.ZodNumber;
4986
+ modelErrors: z.ZodNumber;
4987
+ hardNegatives: z.ZodNumber;
4988
+ cells: z.ZodReadonly<z.ZodArray<z.ZodObject<{
4989
+ macroClass: z.ZodString;
4990
+ deviceId: z.ZodNumber;
4991
+ lighting: z.ZodEnum<{
4992
+ unknown: "unknown";
4993
+ day: "day";
4994
+ night: "night";
4995
+ }>;
4996
+ subjects: z.ZodNumber;
4997
+ frames: z.ZodNumber;
4998
+ }, z.core.$strip>>>;
4999
+ cameras: z.ZodReadonly<z.ZodArray<z.ZodObject<{
5000
+ deviceId: z.ZodNumber;
5001
+ frames: z.ZodNumber;
5002
+ completeFrames: z.ZodNumber;
5003
+ }, z.core.$strip>>>;
5004
+ }, z.core.$strip>;
5005
+ }, z.core.$strip>>>, "query">;
5006
+ /** Delete a version. Its frames stay in the dataset. */
5007
+ readonly deleteRetrainDatasetVersion: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
5008
+ id: z.ZodString;
5009
+ }, z.core.$strip>, z.ZodObject<{
5010
+ deleted: z.ZodBoolean;
5011
+ }, z.core.$strip>, "mutation">;
5012
+ /** Does the corpus still teach what the version froze? `missingFrames`
5013
+ * counts frames that left the dataset (or lost every box and tick). */
5014
+ readonly verifyRetrainDatasetVersion: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
5015
+ id: z.ZodString;
5016
+ }, z.core.$strip>, z.ZodObject<{
5017
+ found: z.ZodBoolean;
5018
+ annotationHash: z.ZodString;
5019
+ matches: z.ZodBoolean;
5020
+ missingFrames: z.ZodNumber;
5021
+ }, z.core.$strip>, "query">;
4727
5022
  /** The enabled, vision-capable LLM profiles, each saying whether a frame
4728
5023
  * sent to it leaves the house. */
4729
5024
  readonly listRetrainAssistProfiles: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{}, z.core.$strip>, z.ZodReadonly<z.ZodArray<z.ZodObject<{
package/dist/client.js CHANGED
@@ -5754,6 +5754,11 @@ function createDeviceProxy(api, binding, opts) {
5754
5754
  getRetrainExportUrl: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "getRetrainExportUrl", "query", input),
5755
5755
  setRetrainFrameComplete: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "setRetrainFrameComplete", "mutation", input),
5756
5756
  writeRetrainArchive: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "writeRetrainArchive", "mutation", input),
5757
+ previewRetrainDataset: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "previewRetrainDataset", "query", input),
5758
+ createRetrainDatasetVersion: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "createRetrainDatasetVersion", "mutation", input),
5759
+ listRetrainDatasetVersions: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "listRetrainDatasetVersions", "query", input),
5760
+ deleteRetrainDatasetVersion: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "deleteRetrainDatasetVersion", "mutation", input),
5761
+ verifyRetrainDatasetVersion: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "verifyRetrainDatasetVersion", "query", input),
5757
5762
  listRetrainAssistProfiles: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "listRetrainAssistProfiles", "query", input),
5758
5763
  proposeRetrainAnnotationsWithLlm: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "proposeRetrainAnnotationsWithLlm", "mutation", input),
5759
5764
  createRetrainCollection: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "createRetrainCollection", "mutation", input),
package/dist/client.mjs CHANGED
@@ -5753,6 +5753,11 @@ function createDeviceProxy(api, binding, opts) {
5753
5753
  getRetrainExportUrl: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "getRetrainExportUrl", "query", input),
5754
5754
  setRetrainFrameComplete: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "setRetrainFrameComplete", "mutation", input),
5755
5755
  writeRetrainArchive: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "writeRetrainArchive", "mutation", input),
5756
+ previewRetrainDataset: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "previewRetrainDataset", "query", input),
5757
+ createRetrainDatasetVersion: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "createRetrainDatasetVersion", "mutation", input),
5758
+ listRetrainDatasetVersions: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "listRetrainDatasetVersions", "query", input),
5759
+ deleteRetrainDatasetVersion: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "deleteRetrainDatasetVersion", "mutation", input),
5760
+ verifyRetrainDatasetVersion: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "verifyRetrainDatasetVersion", "query", input),
5756
5761
  listRetrainAssistProfiles: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "listRetrainAssistProfiles", "query", input),
5757
5762
  proposeRetrainAnnotationsWithLlm: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "proposeRetrainAnnotationsWithLlm", "mutation", input),
5758
5763
  createRetrainCollection: (input) => dispatch("pipeline-analytics", "pipelineAnalytics", "createRetrainCollection", "mutation", input),
@@ -6051,6 +6051,41 @@ export type AppRouter = TrpcCoreRouter<{
6051
6051
  output: z.infer<typeof pipelineAnalyticsCapability.methods.writeRetrainArchive.output>;
6052
6052
  meta: object;
6053
6053
  }>;
6054
+ previewRetrainDataset: TRPCQueryProcedure<{
6055
+ input: {
6056
+ [x: string]: unknown;
6057
+ } & z.input<typeof pipelineAnalyticsCapability.methods.previewRetrainDataset.input>;
6058
+ output: z.infer<typeof pipelineAnalyticsCapability.methods.previewRetrainDataset.output>;
6059
+ meta: object;
6060
+ }>;
6061
+ createRetrainDatasetVersion: TRPCMutationProcedure<{
6062
+ input: {
6063
+ [x: string]: unknown;
6064
+ } & z.input<typeof pipelineAnalyticsCapability.methods.createRetrainDatasetVersion.input>;
6065
+ output: z.infer<typeof pipelineAnalyticsCapability.methods.createRetrainDatasetVersion.output>;
6066
+ meta: object;
6067
+ }>;
6068
+ listRetrainDatasetVersions: TRPCQueryProcedure<{
6069
+ input: {
6070
+ [x: string]: unknown;
6071
+ } & z.input<typeof pipelineAnalyticsCapability.methods.listRetrainDatasetVersions.input>;
6072
+ output: z.infer<typeof pipelineAnalyticsCapability.methods.listRetrainDatasetVersions.output>;
6073
+ meta: object;
6074
+ }>;
6075
+ deleteRetrainDatasetVersion: TRPCMutationProcedure<{
6076
+ input: {
6077
+ [x: string]: unknown;
6078
+ } & z.input<typeof pipelineAnalyticsCapability.methods.deleteRetrainDatasetVersion.input>;
6079
+ output: z.infer<typeof pipelineAnalyticsCapability.methods.deleteRetrainDatasetVersion.output>;
6080
+ meta: object;
6081
+ }>;
6082
+ verifyRetrainDatasetVersion: TRPCQueryProcedure<{
6083
+ input: {
6084
+ [x: string]: unknown;
6085
+ } & z.input<typeof pipelineAnalyticsCapability.methods.verifyRetrainDatasetVersion.input>;
6086
+ output: z.infer<typeof pipelineAnalyticsCapability.methods.verifyRetrainDatasetVersion.output>;
6087
+ meta: object;
6088
+ }>;
6054
6089
  listRetrainAssistProfiles: TRPCQueryProcedure<{
6055
6090
  input: {
6056
6091
  [x: string]: unknown;
@@ -6,7 +6,7 @@
6
6
  * scope+access check inside `protectedProcedure` (see
7
7
  * `server/backend/src/api/trpc/trpc.middleware.ts`).
8
8
  *
9
- * Coverage: 1253 method paths across 167 capabilities.
9
+ * Coverage: 1258 method paths across 167 capabilities.
10
10
  */
11
11
  import type { CapabilityMethodAccess } from '../capabilities/capability-definition.js';
12
12
  export interface MethodAccessRecord {
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_sleep = require("./sleep-i3kl-0Na.js");
2
+ const require_sleep = require("./sleep-ClNXPpWR.js");
3
3
  const require_event_category = require("./event-category-CHduMGvg.js");
4
4
  const require_composition = require("./composition-BLWAivB2.js");
5
5
  const require_err_msg = require("./err-msg-Dx2Kor0g.js");
@@ -25091,6 +25091,9 @@ var RetrainExportFilterSchema = zod.z.object({
25091
25091
  frameIds: zod.z.array(zod.z.string()).max(2e4).optional(),
25092
25092
  /** Only frames in at least one of these named collections. */
25093
25093
  collectionIds: zod.z.array(zod.z.string()).max(200).optional(),
25094
+ /** Exactly the frames of this dataset version (and its completeOnly). An
25095
+ * unknown id selects nothing. */
25096
+ datasetVersionId: zod.z.string().optional(),
25094
25097
  batchId: zod.z.string().optional(),
25095
25098
  /** Only frames the operator marked complete (all subjects boxed). */
25096
25099
  completeOnly: zod.z.boolean().optional()
@@ -25258,6 +25261,67 @@ var RetrainLlmAssistResultSchema = zod.z.discriminatedUnion("kind", [zod.z.objec
25258
25261
  ]),
25259
25262
  detail: zod.z.string().optional()
25260
25263
  })]);
25264
+ /** What a dataset version is cut from. Every field narrows. */
25265
+ var RetrainDatasetSelectionSchema = zod.z.object({
25266
+ deviceIds: zod.z.array(zod.z.number()).readonly().optional(),
25267
+ collectionIds: zod.z.array(zod.z.string()).max(200).readonly().optional(),
25268
+ frameIds: zod.z.array(zod.z.string()).max(2e4).readonly().optional()
25269
+ });
25270
+ /** The counts a dataset is judged by. */
25271
+ var RetrainDatasetStatsSchema = zod.z.object({
25272
+ frames: zod.z.number().int(),
25273
+ completeFrames: zod.z.number().int(),
25274
+ /** `completeFrames / frames`, 0..1. */
25275
+ completeness: zod.z.number(),
25276
+ /** Boxes to learn (model errors excluded). */
25277
+ subjects: zod.z.number().int(),
25278
+ modelErrors: zod.z.number().int(),
25279
+ /** Complete frames with no subject. */
25280
+ hardNegatives: zod.z.number().int(),
25281
+ /** Subjects per class × camera × day/night. */
25282
+ cells: zod.z.array(zod.z.object({
25283
+ macroClass: zod.z.string(),
25284
+ deviceId: zod.z.number(),
25285
+ lighting: zod.z.enum([
25286
+ "day",
25287
+ "night",
25288
+ "unknown"
25289
+ ]),
25290
+ subjects: zod.z.number().int(),
25291
+ frames: zod.z.number().int()
25292
+ })).readonly(),
25293
+ cameras: zod.z.array(zod.z.object({
25294
+ deviceId: zod.z.number(),
25295
+ frames: zod.z.number().int(),
25296
+ completeFrames: zod.z.number().int()
25297
+ })).readonly()
25298
+ });
25299
+ /** An immutable dataset version, without its frame list. */
25300
+ var RetrainDatasetVersionSchema = zod.z.object({
25301
+ id: zod.z.string(),
25302
+ name: zod.z.string(),
25303
+ createdAt: zod.z.number(),
25304
+ selection: RetrainDatasetSelectionSchema,
25305
+ layout: RetrainExportLayoutSchema,
25306
+ completeOnly: zod.z.boolean(),
25307
+ frameCount: zod.z.number().int(),
25308
+ /** sha256 of what the frames taught when the version was frozen. */
25309
+ annotationHash: zod.z.string(),
25310
+ /** The export manifest schema the version was cut under. */
25311
+ manifestSchema: zod.z.string(),
25312
+ stats: RetrainDatasetStatsSchema
25313
+ });
25314
+ var CreateRetrainDatasetVersionResultSchema = zod.z.discriminatedUnion("kind", [zod.z.object({
25315
+ kind: zod.z.literal("created"),
25316
+ version: RetrainDatasetVersionSchema
25317
+ }), zod.z.object({
25318
+ kind: zod.z.literal("refused"),
25319
+ reason: zod.z.enum([
25320
+ "empty-name",
25321
+ "duplicate-name",
25322
+ "no-frames"
25323
+ ])
25324
+ })]);
25261
25325
  /** The outcome of a lifecycle move owned by the retrain page. */
25262
25326
  var RetrainTransitionResultSchema = zod.z.object({
25263
25327
  trackId: zod.z.string(),
@@ -26657,6 +26721,53 @@ var pipelineAnalyticsCapability = {
26657
26721
  auth: "admin",
26658
26722
  timeoutMs: 60 * 6e4
26659
26723
  }),
26724
+ /** The counts a selection would freeze — class × camera × day/night,
26725
+ * completeness — without freezing anything. Index reads only. */
26726
+ previewRetrainDataset: require_sleep.method(zod.z.object({
26727
+ selection: RetrainDatasetSelectionSchema,
26728
+ completeOnly: zod.z.boolean().optional()
26729
+ }), RetrainDatasetStatsSchema, {
26730
+ kind: "query",
26731
+ auth: "admin"
26732
+ }),
26733
+ /**
26734
+ * Freeze a dataset version: the frames the selection yields (the same plan
26735
+ * the annotated export builds), the hash of what they teach, the export
26736
+ * parameters and the counts. Immutable — a different selection is a new
26737
+ * version. Export it with `getRetrainExportUrl({ datasetVersionId })`.
26738
+ */
26739
+ createRetrainDatasetVersion: require_sleep.method(zod.z.object({
26740
+ name: zod.z.string().max(120),
26741
+ selection: RetrainDatasetSelectionSchema,
26742
+ layout: RetrainExportLayoutSchema,
26743
+ completeOnly: zod.z.boolean()
26744
+ }), CreateRetrainDatasetVersionResultSchema, {
26745
+ kind: "mutation",
26746
+ auth: "admin",
26747
+ timeoutMs: 12e4
26748
+ }),
26749
+ /** Every dataset version, newest first. */
26750
+ listRetrainDatasetVersions: require_sleep.method(zod.z.object({}), zod.z.array(RetrainDatasetVersionSchema).readonly(), {
26751
+ kind: "query",
26752
+ auth: "admin"
26753
+ }),
26754
+ /** Delete a version. Its frames stay in the dataset. */
26755
+ deleteRetrainDatasetVersion: require_sleep.method(zod.z.object({ id: zod.z.string() }), zod.z.object({ deleted: zod.z.boolean() }), {
26756
+ kind: "mutation",
26757
+ auth: "admin"
26758
+ }),
26759
+ /** Does the corpus still teach what the version froze? `missingFrames`
26760
+ * counts frames that left the dataset (or lost every box and tick). */
26761
+ verifyRetrainDatasetVersion: require_sleep.method(zod.z.object({ id: zod.z.string() }), zod.z.object({
26762
+ found: zod.z.boolean(),
26763
+ annotationHash: zod.z.string(),
26764
+ matches: zod.z.boolean(),
26765
+ missingFrames: zod.z.number().int()
26766
+ }), {
26767
+ kind: "query",
26768
+ auth: "admin",
26769
+ timeoutMs: 12e4
26770
+ }),
26660
26771
  /** The enabled, vision-capable LLM profiles, each saying whether a frame
26661
26772
  * sent to it leaves the house. */
26662
26773
  listRetrainAssistProfiles: require_sleep.method(zod.z.object({}), zod.z.array(RetrainAssistProfileSchema).readonly(), {
@@ -56878,6 +56989,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
56878
56989
  addonId: null,
56879
56990
  access: "create"
56880
56991
  },
56992
+ "pipelineAnalytics.createRetrainDatasetVersion": {
56993
+ capName: "pipeline-analytics",
56994
+ capScope: "device",
56995
+ addonId: null,
56996
+ access: "create"
56997
+ },
56881
56998
  "pipelineAnalytics.deleteDeviceEvents": {
56882
56999
  capName: "pipeline-analytics",
56883
57000
  capScope: "device",
@@ -56890,6 +57007,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
56890
57007
  addonId: null,
56891
57008
  access: "delete"
56892
57009
  },
57010
+ "pipelineAnalytics.deleteRetrainDatasetVersion": {
57011
+ capName: "pipeline-analytics",
57012
+ capScope: "device",
57013
+ addonId: null,
57014
+ access: "delete"
57015
+ },
56893
57016
  "pipelineAnalytics.deleteTracks": {
56894
57017
  capName: "pipeline-analytics",
56895
57018
  capScope: "device",
@@ -57112,6 +57235,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
57112
57235
  addonId: null,
57113
57236
  access: "view"
57114
57237
  },
57238
+ "pipelineAnalytics.listRetrainDatasetVersions": {
57239
+ capName: "pipeline-analytics",
57240
+ capScope: "device",
57241
+ addonId: null,
57242
+ access: "view"
57243
+ },
57115
57244
  "pipelineAnalytics.listRetrainFrames": {
57116
57245
  capName: "pipeline-analytics",
57117
57246
  capScope: "device",
@@ -57154,6 +57283,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
57154
57283
  addonId: null,
57155
57284
  access: "create"
57156
57285
  },
57286
+ "pipelineAnalytics.previewRetrainDataset": {
57287
+ capName: "pipeline-analytics",
57288
+ capScope: "device",
57289
+ addonId: null,
57290
+ access: "view"
57291
+ },
57157
57292
  "pipelineAnalytics.proposeRetrainAnnotations": {
57158
57293
  capName: "pipeline-analytics",
57159
57294
  capScope: "device",
@@ -57292,6 +57427,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
57292
57427
  addonId: null,
57293
57428
  access: "create"
57294
57429
  },
57430
+ "pipelineAnalytics.verifyRetrainDatasetVersion": {
57431
+ capName: "pipeline-analytics",
57432
+ capScope: "device",
57433
+ addonId: null,
57434
+ access: "view"
57435
+ },
57295
57436
  "pipelineAnalytics.wipeAllAnalytics": {
57296
57437
  capName: "pipeline-analytics",
57297
57438
  capScope: "device",
@@ -77588,6 +77729,7 @@ exports.CoverStatusSchema = CoverStatusSchema;
77588
77729
  exports.CreateApiKeyInputSchema = CreateApiKeyInputSchema;
77589
77730
  exports.CreateApiKeyResultSchema = CreateApiKeyResultSchema;
77590
77731
  exports.CreateIntegrationInputSchema = CreateIntegrationInputSchema;
77732
+ exports.CreateRetrainDatasetVersionResultSchema = CreateRetrainDatasetVersionResultSchema;
77591
77733
  exports.CreateScopedTokenInputSchema = CreateScopedTokenInputSchema;
77592
77734
  exports.CreateScopedTokenResultSchema = CreateScopedTokenResultSchema;
77593
77735
  exports.CreateUserInputSchema = CreateUserInputSchema;
@@ -78546,6 +78688,9 @@ exports.RetrainCollectionCreateResultSchema = RetrainCollectionCreateResultSchem
78546
78688
  exports.RetrainCollectionRenameResultSchema = RetrainCollectionRenameResultSchema;
78547
78689
  exports.RetrainCollectionSchema = RetrainCollectionSchema;
78548
78690
  exports.RetrainCopyRefusalSchema = RetrainCopyRefusalSchema;
78691
+ exports.RetrainDatasetSelectionSchema = RetrainDatasetSelectionSchema;
78692
+ exports.RetrainDatasetStatsSchema = RetrainDatasetStatsSchema;
78693
+ exports.RetrainDatasetVersionSchema = RetrainDatasetVersionSchema;
78549
78694
  exports.RetrainExportFilterSchema = RetrainExportFilterSchema;
78550
78695
  exports.RetrainExportLayoutSchema = RetrainExportLayoutSchema;
78551
78696
  exports.RetrainFrameCandidateSchema = RetrainFrameCandidateSchema;