@neuracore/types 7.4.0 → 8.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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.
@@ -1255,12 +1303,10 @@ export interface PendingRecording {
1255
1303
  * Metadata details for a recording.
1256
1304
  *
1257
1305
  * Attributes:
1258
- * name: Name of the recording.
1259
1306
  * notes: Optional notes about the recording.
1260
1307
  * status: Current RecordingStatus of the recording
1261
1308
  */
1262
1309
  export interface RecordingMetadata {
1263
- name: string;
1264
1310
  notes: string;
1265
1311
  status: RecordingStatus;
1266
1312
  }
@@ -1283,12 +1329,12 @@ export interface PointCloudData {
1283
1329
  *
1284
1330
  * Represents position and orientation information for tracking objects
1285
1331
  * or robot components in 3D space. Poses are stored as dictionaries
1286
- * mapping pose names to [x, y, z, rx, ry, rz] values.
1332
+ * mapping pose names to [x, y, z, qx, qy, qz, qw] values.
1287
1333
  */
1288
1334
  export interface PoseData {
1289
1335
  timestamp: number;
1290
1336
  type: Type15;
1291
- pose: number[];
1337
+ pose: unknown[];
1292
1338
  }
1293
1339
  /**
1294
1340
  * RGB camera data subclass.
@@ -1371,6 +1417,34 @@ export interface RecordingStartPayload {
1371
1417
  data_types: DataType[];
1372
1418
  start_time: number;
1373
1419
  }
1420
+ /**
1421
+ * Request body for starting a new recording session.
1422
+ *
1423
+ * Attributes:
1424
+ * robot_id: Identifier of the robot to record.
1425
+ * instance: Instance number of the robot.
1426
+ * dataset_id: Identifier of the dataset to associate with the recording.
1427
+ * start_time: Client-side Unix timestamp captured when nc.start_recording()
1428
+ * was called.
1429
+ */
1430
+ export interface RecordingStartRequest {
1431
+ robot_id: string;
1432
+ instance: number;
1433
+ dataset_id: string;
1434
+ start_time: number;
1435
+ }
1436
+ /**
1437
+ * Request body for stopping a recording session.
1438
+ *
1439
+ * Attributes:
1440
+ * recording_id: ID of the recording to stop.
1441
+ * end_time: Client-side Unix timestamp captured when nc.stop_recording()
1442
+ * was called.
1443
+ */
1444
+ export interface RecordingStopRequest {
1445
+ recording_id: string;
1446
+ end_time: number;
1447
+ }
1374
1448
  /**
1375
1449
  * Represents the response from asserting a stream is alive.
1376
1450
  *
@@ -1760,6 +1834,24 @@ export declare enum AngleConfig1 {
1760
1834
  DEGREES = "DEGREES",
1761
1835
  RADIANS = "RADIANS"
1762
1836
  }
1837
+ /**
1838
+ * Which frame a constant SE(3) transform X composes in.
1839
+ *
1840
+ * WORLD: pre-multiply, T' = X @ T -- re-express the pose in a new
1841
+ * reference/world frame (e.g. dataset poses recorded in a world frame
1842
+ * rotated/translated from the robot's base frame).
1843
+ * TOOL: post-multiply, T' = T @ X -- apply a fixed offset in the body's own
1844
+ * (tool) frame (e.g. the dataset's tool identity is offset from the URDF
1845
+ * link's identity; bridge: gripper-down vs gripper-forward).
1846
+ *
1847
+ * A conjugation X @ T @ X^-1 (re-expressing an action *delta* in another
1848
+ * frame) is expressed as a WORLD entry followed by a TOOL entry holding the
1849
+ * inverse transform.
1850
+ */
1851
+ export declare enum Frame {
1852
+ WORLD = "WORLD",
1853
+ TOOL = "TOOL"
1854
+ }
1763
1855
  /**
1764
1856
  * Types of end effector poses.
1765
1857
  *
@@ -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
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neuracore/types",
3
- "version": "7.4.0",
3
+ "version": "8.0.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",