@neuracore/types 7.3.0 → 7.5.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.
@@ -153,7 +153,7 @@ export interface DataItemStats {
153
153
  export interface Custom1DData {
154
154
  timestamp: number;
155
155
  type: Type1;
156
- data: unknown[] | null;
156
+ data: unknown[];
157
157
  }
158
158
  /**
159
159
  * Import configuration for Custom1DData.
@@ -235,9 +235,40 @@ export interface OrientationConfig {
235
235
  quaternion_order?: QuaternionOrderConfig;
236
236
  euler_order?: EulerOrderConfig;
237
237
  angle_units?: AngleConfig1;
238
- align_frame_roll?: number;
239
- align_frame_pitch?: number;
240
- align_frame_yaw?: number;
238
+ extrinsic_euler?: boolean;
239
+ frame_transforms?: FrameTransformConfig[];
240
+ [k: string]: unknown;
241
+ }
242
+ /**
243
+ * A constant SE(3) transform applied to a pose.
244
+ *
245
+ * `rotation` is XYZ-euler (roll about X, pitch about Y, yaw about Z) in
246
+ * radians and `translation` is (x, y, z); together they form the homogeneous
247
+ * transform X = [R | t]. `frame` selects how X composes with the pose
248
+ * (see Frame).
249
+ */
250
+ export interface FrameTransformConfig {
251
+ frame: Frame;
252
+ rotation?: RollPitchYaw;
253
+ translation?: XYZ;
254
+ [k: string]: unknown;
255
+ }
256
+ /**
257
+ * Euler angles in radians: roll about X, pitch about Y, yaw about Z.
258
+ */
259
+ export interface RollPitchYaw {
260
+ roll?: number;
261
+ pitch?: number;
262
+ yaw?: number;
263
+ [k: string]: unknown;
264
+ }
265
+ /**
266
+ * Cartesian translation in metres.
267
+ */
268
+ export interface XYZ {
269
+ x?: number;
270
+ y?: number;
271
+ z?: number;
241
272
  [k: string]: unknown;
242
273
  }
243
274
  /**
@@ -509,9 +540,26 @@ export interface DataFormat3 {
509
540
  */
510
541
  export interface JointPositionsDataImportConfig {
511
542
  source?: string;
512
- mapping?: MappingItem[];
543
+ mapping?: (MappingItem | PoseDataMappingItem)[];
513
544
  format?: DataFormat4;
514
545
  }
546
+ /**
547
+ * Mapping item for pose data streams, with optional calibration sources.
548
+ */
549
+ export interface PoseDataMappingItem {
550
+ name: string;
551
+ source_name?: string | null;
552
+ index?: number | null;
553
+ index_range?: IndexRangeConfig | null;
554
+ offset?: number;
555
+ inverted?: boolean;
556
+ transforms?: DataTransformSequence;
557
+ pose_position_source_name?: string | null;
558
+ pose_orientation_source_name?: string | null;
559
+ pose_position_index_range?: IndexRangeConfig | null;
560
+ pose_orientation_index_range?: IndexRangeConfig | null;
561
+ [k: string]: unknown;
562
+ }
515
563
  /**
516
564
  * Per datatype format specifications.
517
565
  *
@@ -661,7 +709,7 @@ export interface DataFormat7 {
661
709
  */
662
710
  export interface PoseDataImportConfig {
663
711
  source?: string;
664
- mapping?: MappingItem[];
712
+ mapping?: PoseDataMappingItem[];
665
713
  format?: DataFormat8;
666
714
  }
667
715
  /**
@@ -848,7 +896,7 @@ export interface DepthCameraData {
848
896
  export interface EndEffectorPoseData {
849
897
  timestamp: number;
850
898
  type: Type4;
851
- pose: number[];
899
+ pose: unknown[];
852
900
  }
853
901
  /**
854
902
  * Statistics for EndEffectorPoseData.
@@ -1283,12 +1331,12 @@ export interface PointCloudData {
1283
1331
  *
1284
1332
  * Represents position and orientation information for tracking objects
1285
1333
  * or robot components in 3D space. Poses are stored as dictionaries
1286
- * mapping pose names to [x, y, z, rx, ry, rz] values.
1334
+ * mapping pose names to [x, y, z, qx, qy, qz, qw] values.
1287
1335
  */
1288
1336
  export interface PoseData {
1289
1337
  timestamp: number;
1290
1338
  type: Type15;
1291
- pose: number[];
1339
+ pose: unknown[];
1292
1340
  }
1293
1341
  /**
1294
1342
  * RGB camera data subclass.
@@ -1371,6 +1419,34 @@ export interface RecordingStartPayload {
1371
1419
  data_types: DataType[];
1372
1420
  start_time: number;
1373
1421
  }
1422
+ /**
1423
+ * Request body for starting a new recording session.
1424
+ *
1425
+ * Attributes:
1426
+ * robot_id: Identifier of the robot to record.
1427
+ * instance: Instance number of the robot.
1428
+ * dataset_id: Identifier of the dataset to associate with the recording.
1429
+ * start_time: Client-side Unix timestamp captured when nc.start_recording()
1430
+ * was called.
1431
+ */
1432
+ export interface RecordingStartRequest {
1433
+ robot_id: string;
1434
+ instance: number;
1435
+ dataset_id: string;
1436
+ start_time: number;
1437
+ }
1438
+ /**
1439
+ * Request body for stopping a recording session.
1440
+ *
1441
+ * Attributes:
1442
+ * recording_id: ID of the recording to stop.
1443
+ * end_time: Client-side Unix timestamp captured when nc.stop_recording()
1444
+ * was called.
1445
+ */
1446
+ export interface RecordingStopRequest {
1447
+ recording_id: string;
1448
+ end_time: number;
1449
+ }
1374
1450
  /**
1375
1451
  * Represents the response from asserting a stream is alive.
1376
1452
  *
@@ -1760,6 +1836,24 @@ export declare enum AngleConfig1 {
1760
1836
  DEGREES = "DEGREES",
1761
1837
  RADIANS = "RADIANS"
1762
1838
  }
1839
+ /**
1840
+ * Which frame a constant SE(3) transform X composes in.
1841
+ *
1842
+ * WORLD: pre-multiply, T' = X @ T -- re-express the pose in a new
1843
+ * reference/world frame (e.g. dataset poses recorded in a world frame
1844
+ * rotated/translated from the robot's base frame).
1845
+ * TOOL: post-multiply, T' = T @ X -- apply a fixed offset in the body's own
1846
+ * (tool) frame (e.g. the dataset's tool identity is offset from the URDF
1847
+ * link's identity; bridge: gripper-down vs gripper-forward).
1848
+ *
1849
+ * A conjugation X @ T @ X^-1 (re-expressing an action *delta* in another
1850
+ * frame) is expressed as a WORLD entry followed by a TOOL entry holding the
1851
+ * inverse transform.
1852
+ */
1853
+ export declare enum Frame {
1854
+ WORLD = "WORLD",
1855
+ TOOL = "TOOL"
1856
+ }
1763
1857
  /**
1764
1858
  * Types of end effector poses.
1765
1859
  *
@@ -1841,6 +1935,7 @@ export declare enum Type2 {
1841
1935
  * Enumeration of supported dataset types.
1842
1936
  */
1843
1937
  export declare enum DatasetTypeConfig {
1938
+ MCAP = "MCAP",
1844
1939
  RLDS = "RLDS",
1845
1940
  LEROBOT = "LEROBOT",
1846
1941
  TFDS = "TFDS"
@@ -6,7 +6,7 @@
6
6
  /* Do not modify it by hand - just update the pydantic models and then re-run the script
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.GPUType2 = exports.TrainingJobStatus = exports.RecordingNotificationType = exports.RecordingDataTraceStatus1 = exports.Type16 = exports.Type15 = exports.Type14 = exports.PendingRecordingStatus = exports.RecordingStatus = exports.Type13 = exports.VideoFormat = exports.Type12 = exports.Type11 = exports.Type10 = exports.Type9 = exports.Type8 = exports.Type7 = exports.Type6 = exports.MessageType = exports.GPUType1 = exports.EndpointStatus = exports.Type5 = exports.Type4 = exports.Type3 = exports.GPUType = exports.DatasetTypeConfig = exports.Type2 = exports.IntrinsicsConfig = exports.PoseConfig1 = exports.ActionSpaceConfig = exports.ActionTypeConfig = exports.JointPositionInputTypeConfig = exports.VisualJointInputTypeConfig = exports.LanguageConfig = exports.EndEffectorPoseInputTypeConfig = exports.AngleConfig1 = exports.EulerOrderConfig = exports.QuaternionOrderConfig = exports.RotationConfig = exports.PoseConfig = exports.DistanceUnitsConfig = exports.TorqueUnitsConfig = exports.AngleConfig = exports.ImageChannelOrderConfig = exports.ImageConventionConfig = exports.Type1 = exports.Type = exports.RecordingDataTraceStatus = exports.DataType = void 0;
9
+ exports.GPUType2 = exports.TrainingJobStatus = exports.RecordingNotificationType = exports.RecordingDataTraceStatus1 = exports.Type16 = exports.Type15 = exports.Type14 = exports.PendingRecordingStatus = exports.RecordingStatus = exports.Type13 = exports.VideoFormat = exports.Type12 = exports.Type11 = exports.Type10 = exports.Type9 = exports.Type8 = exports.Type7 = exports.Type6 = exports.MessageType = exports.GPUType1 = exports.EndpointStatus = exports.Type5 = exports.Type4 = exports.Type3 = exports.GPUType = exports.DatasetTypeConfig = exports.Type2 = exports.IntrinsicsConfig = exports.PoseConfig1 = exports.ActionSpaceConfig = exports.ActionTypeConfig = exports.JointPositionInputTypeConfig = exports.VisualJointInputTypeConfig = exports.LanguageConfig = exports.EndEffectorPoseInputTypeConfig = exports.Frame = exports.AngleConfig1 = exports.EulerOrderConfig = exports.QuaternionOrderConfig = exports.RotationConfig = exports.PoseConfig = exports.DistanceUnitsConfig = exports.TorqueUnitsConfig = exports.AngleConfig = exports.ImageChannelOrderConfig = exports.ImageConventionConfig = exports.Type1 = exports.Type = exports.RecordingDataTraceStatus = exports.DataType = void 0;
10
10
  /**
11
11
  * Enumeration of supported data types in the Neuracore system.
12
12
  *
@@ -133,6 +133,25 @@ var AngleConfig1;
133
133
  AngleConfig1["DEGREES"] = "DEGREES";
134
134
  AngleConfig1["RADIANS"] = "RADIANS";
135
135
  })(AngleConfig1 || (exports.AngleConfig1 = AngleConfig1 = {}));
136
+ /**
137
+ * Which frame a constant SE(3) transform X composes in.
138
+ *
139
+ * WORLD: pre-multiply, T' = X @ T -- re-express the pose in a new
140
+ * reference/world frame (e.g. dataset poses recorded in a world frame
141
+ * rotated/translated from the robot's base frame).
142
+ * TOOL: post-multiply, T' = T @ X -- apply a fixed offset in the body's own
143
+ * (tool) frame (e.g. the dataset's tool identity is offset from the URDF
144
+ * link's identity; bridge: gripper-down vs gripper-forward).
145
+ *
146
+ * A conjugation X @ T @ X^-1 (re-expressing an action *delta* in another
147
+ * frame) is expressed as a WORLD entry followed by a TOOL entry holding the
148
+ * inverse transform.
149
+ */
150
+ var Frame;
151
+ (function (Frame) {
152
+ Frame["WORLD"] = "WORLD";
153
+ Frame["TOOL"] = "TOOL";
154
+ })(Frame || (exports.Frame = Frame = {}));
136
155
  /**
137
156
  * Types of end effector poses.
138
157
  *
@@ -224,6 +243,7 @@ var Type2;
224
243
  */
225
244
  var DatasetTypeConfig;
226
245
  (function (DatasetTypeConfig) {
246
+ DatasetTypeConfig["MCAP"] = "MCAP";
227
247
  DatasetTypeConfig["RLDS"] = "RLDS";
228
248
  DatasetTypeConfig["LEROBOT"] = "LEROBOT";
229
249
  DatasetTypeConfig["TFDS"] = "TFDS";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neuracore/types",
3
- "version": "7.3.0",
3
+ "version": "7.5.0",
4
4
  "description": "Shared TypeScript type definitions for Neuracore robotics platform",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",