@toolpath/api 0.1.0 → 0.2.1

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 (109) hide show
  1. package/dist/generated/apis/FeaturesApi.d.ts +1 -1
  2. package/dist/generated/apis/FeaturesApi.js +1 -1
  3. package/dist/generated/apis/JobsApi.d.ts +1 -1
  4. package/dist/generated/apis/JobsApi.js +1 -1
  5. package/dist/generated/apis/KeysApi.d.ts +1 -1
  6. package/dist/generated/apis/KeysApi.js +1 -1
  7. package/dist/generated/apis/PartsApi.d.ts +1 -1
  8. package/dist/generated/apis/PartsApi.js +1 -1
  9. package/dist/generated/apis/ServiceApi.d.ts +1 -1
  10. package/dist/generated/apis/ServiceApi.js +1 -1
  11. package/dist/generated/models/AnalyzeJobResponse.d.ts +4 -4
  12. package/dist/generated/models/AnalyzeJobResponse.js +1 -1
  13. package/dist/generated/models/BevelFacts.d.ts +62 -0
  14. package/dist/generated/models/BevelFacts.js +58 -0
  15. package/dist/generated/models/BossFacts.d.ts +64 -0
  16. package/dist/generated/models/BossFacts.js +68 -0
  17. package/dist/generated/models/CdBounds.d.ts +41 -0
  18. package/dist/generated/models/CdBounds.js +47 -0
  19. package/dist/generated/models/CdData.d.ts +52 -0
  20. package/dist/generated/models/CdData.js +56 -0
  21. package/dist/generated/models/ChamferFacts.d.ts +55 -0
  22. package/dist/generated/models/ChamferFacts.js +61 -0
  23. package/dist/generated/models/ComputeFeatureDatasheetsRequest.d.ts +2 -2
  24. package/dist/generated/models/ComputeFeatureDatasheetsRequest.js +1 -1
  25. package/dist/generated/models/ComputeFeatureDatasheetsResponse.d.ts +4 -4
  26. package/dist/generated/models/ComputeFeatureDatasheetsResponse.js +1 -1
  27. package/dist/generated/models/CreatePartResponse.d.ts +5 -5
  28. package/dist/generated/models/CreatePartResponse.js +1 -1
  29. package/dist/generated/models/DirectionZBounds.d.ts +6 -6
  30. package/dist/generated/models/DirectionZBounds.js +4 -4
  31. package/dist/generated/models/DirectionZBoundsDirection.d.ts +44 -0
  32. package/dist/generated/models/DirectionZBoundsDirection.js +51 -0
  33. package/dist/generated/models/DovetailFacts.d.ts +98 -0
  34. package/dist/generated/models/DovetailFacts.js +84 -0
  35. package/dist/generated/models/FaceFacts.d.ts +70 -0
  36. package/dist/generated/models/FaceFacts.js +72 -0
  37. package/dist/generated/models/FeatureDatasheet.d.ts +110 -0
  38. package/dist/generated/models/FeatureDatasheet.js +94 -0
  39. package/dist/generated/models/FeatureDatasheetEntry.d.ts +8 -9
  40. package/dist/generated/models/FeatureDatasheetEntry.js +8 -3
  41. package/dist/generated/models/FeatureDatasheetFacts.d.ts +51 -0
  42. package/dist/generated/models/FeatureDatasheetFacts.js +89 -0
  43. package/dist/generated/models/FeatureDatasheetsResponse.d.ts +3 -3
  44. package/dist/generated/models/FeatureDatasheetsResponse.js +1 -1
  45. package/dist/generated/models/FeatureType.d.ts +58 -0
  46. package/dist/generated/models/FeatureType.js +76 -0
  47. package/dist/generated/models/HealthResponse.d.ts +3 -3
  48. package/dist/generated/models/HealthResponse.js +1 -1
  49. package/dist/generated/models/HoleFacts.d.ts +109 -0
  50. package/dist/generated/models/HoleFacts.js +96 -0
  51. package/dist/generated/models/HoleProcess.d.ts +26 -0
  52. package/dist/generated/models/HoleProcess.js +44 -0
  53. package/dist/generated/models/JobDetail.d.ts +9 -9
  54. package/dist/generated/models/JobDetail.js +1 -1
  55. package/dist/generated/models/JobSummary.d.ts +7 -7
  56. package/dist/generated/models/JobSummary.js +1 -1
  57. package/dist/generated/models/KeyValidationResponse.d.ts +1 -1
  58. package/dist/generated/models/KeyValidationResponse.js +1 -1
  59. package/dist/generated/models/ListJobsResponse.d.ts +5 -5
  60. package/dist/generated/models/ListJobsResponse.js +1 -1
  61. package/dist/generated/models/OpenApiDocument.d.ts +2 -2
  62. package/dist/generated/models/OpenApiDocument.js +1 -1
  63. package/dist/generated/models/PartFeature.d.ts +8 -8
  64. package/dist/generated/models/PartFeature.js +4 -4
  65. package/dist/generated/models/PartFeatureAxis.d.ts +5 -5
  66. package/dist/generated/models/PartFeatureAxis.js +1 -1
  67. package/dist/generated/models/PartFeatureMachiningDirection.d.ts +44 -0
  68. package/dist/generated/models/PartFeatureMachiningDirection.js +51 -0
  69. package/dist/generated/models/PartReportResponse.d.ts +21 -21
  70. package/dist/generated/models/PartReportResponse.js +4 -4
  71. package/dist/generated/models/PartReportResponseUnits.d.ts +52 -0
  72. package/dist/generated/models/PartReportResponseUnits.js +63 -0
  73. package/dist/generated/models/PocketFacts.d.ts +65 -0
  74. package/dist/generated/models/PocketFacts.js +68 -0
  75. package/dist/generated/models/ProblemDetails.d.ts +1 -1
  76. package/dist/generated/models/ProblemDetails.js +1 -1
  77. package/dist/generated/models/ProfileFacts.d.ts +58 -0
  78. package/dist/generated/models/ProfileFacts.js +64 -0
  79. package/dist/generated/models/Region.d.ts +12 -6
  80. package/dist/generated/models/Region.js +5 -1
  81. package/dist/generated/models/ReportUnits.d.ts +3 -3
  82. package/dist/generated/models/ReportUnits.js +1 -1
  83. package/dist/generated/models/SinkFacts.d.ts +47 -0
  84. package/dist/generated/models/SinkFacts.js +52 -0
  85. package/dist/generated/models/SurfaceFacts.d.ts +97 -0
  86. package/dist/generated/models/SurfaceFacts.js +89 -0
  87. package/dist/generated/models/ThreadProcess.d.ts +26 -0
  88. package/dist/generated/models/ThreadProcess.js +44 -0
  89. package/dist/generated/models/ThreadSpec.d.ts +62 -0
  90. package/dist/generated/models/ThreadSpec.js +63 -0
  91. package/dist/generated/models/Threading.d.ts +40 -0
  92. package/dist/generated/models/Threading.js +49 -0
  93. package/dist/generated/models/ToleranceBand.d.ts +45 -0
  94. package/dist/generated/models/ToleranceBand.js +51 -0
  95. package/dist/generated/models/ToolFitResult.d.ts +44 -0
  96. package/dist/generated/models/ToolFitResult.js +51 -0
  97. package/dist/generated/models/TslotFacts.d.ts +81 -0
  98. package/dist/generated/models/TslotFacts.js +76 -0
  99. package/dist/generated/models/Vec2.d.ts +38 -0
  100. package/dist/generated/models/Vec2.js +47 -0
  101. package/dist/generated/models/Vec3.d.ts +4 -4
  102. package/dist/generated/models/Vec3.js +1 -1
  103. package/dist/generated/models/WallFacts.d.ts +46 -0
  104. package/dist/generated/models/WallFacts.js +56 -0
  105. package/dist/generated/models/index.d.ts +27 -0
  106. package/dist/generated/models/index.js +27 -0
  107. package/dist/generated/runtime.d.ts +1 -1
  108. package/dist/generated/runtime.js +1 -1
  109. package/package.json +3 -3
@@ -0,0 +1,70 @@
1
+ /**
2
+ * Toolpath Engine API
3
+ * Public REST API for Toolpath engine operations. **Units.** All dimensional values — in reports and in feature datasheets — are in millimetres; all angles are in degrees. Each report also states this in its `units` field. **Browser use.** CORS is per API key: a request only receives an `Access-Control-Allow-Origin` header when its `Origin` is in the allowlist configured on the key used (set when creating or editing the key in the portal). A key with no allowed origins is server-to-server only. A Bearer API key placed in client-side JavaScript is readable by anyone — restrict its origins, prefer a `read_only` key (read_only keys may call GET operations only; writes are rejected with 403), or proxy requests through your own server.
4
+ *
5
+ * The version of the OpenAPI document: 1.0.1
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ import type { CdData } from './CdData.js';
13
+ /**
14
+ * A face: a plane square to the tool axis, cleared by sweeping across it.
15
+ * @export
16
+ * @interface FaceFacts
17
+ */
18
+ export interface FaceFacts {
19
+ /**
20
+ * Discriminator for this facts variant.
21
+ * @type {FaceFactsKindEnum}
22
+ * @memberof FaceFacts
23
+ */
24
+ kind: FaceFactsKindEnum;
25
+ /**
26
+ * The face is the highest surface of the part along the tool axis.
27
+ * @type {boolean}
28
+ * @memberof FaceFacts
29
+ */
30
+ isTopFace: boolean;
31
+ /**
32
+ * The face is to be faced off: a top face the fixture does not rule out.
33
+ * @type {boolean}
34
+ * @memberof FaceFacts
35
+ */
36
+ isFacing: boolean;
37
+ /**
38
+ * Sweeping the floor does not clear the face on its own — a wall pass must follow.
39
+ * @type {boolean}
40
+ * @memberof FaceFacts
41
+ */
42
+ needsSidemill: boolean;
43
+ /**
44
+ * Clearance-diameter limits for tools sweeping the face.
45
+ * @type {CdData}
46
+ * @memberof FaceFacts
47
+ */
48
+ cd: CdData;
49
+ /**
50
+ * Largest bottom diameter a terminal tool may have, in mm.
51
+ * @type {number}
52
+ * @memberof FaceFacts
53
+ */
54
+ maxBottomDiameter: number;
55
+ }
56
+ /**
57
+ * @export
58
+ */
59
+ export declare const FaceFactsKindEnum: {
60
+ readonly Face: "Face";
61
+ };
62
+ export type FaceFactsKindEnum = (typeof FaceFactsKindEnum)[keyof typeof FaceFactsKindEnum];
63
+ /**
64
+ * Check if a given object implements the FaceFacts interface.
65
+ */
66
+ export declare function instanceOfFaceFacts(value: object): value is FaceFacts;
67
+ export declare function FaceFactsFromJSON(json: any): FaceFacts;
68
+ export declare function FaceFactsFromJSONTyped(json: any, ignoreDiscriminator: boolean): FaceFacts;
69
+ export declare function FaceFactsToJSON(json: any): FaceFacts;
70
+ export declare function FaceFactsToJSONTyped(value?: FaceFacts | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,72 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Toolpath Engine API
5
+ * Public REST API for Toolpath engine operations. **Units.** All dimensional values — in reports and in feature datasheets — are in millimetres; all angles are in degrees. Each report also states this in its `units` field. **Browser use.** CORS is per API key: a request only receives an `Access-Control-Allow-Origin` header when its `Origin` is in the allowlist configured on the key used (set when creating or editing the key in the portal). A key with no allowed origins is server-to-server only. A Bearer API key placed in client-side JavaScript is readable by anyone — restrict its origins, prefer a `read_only` key (read_only keys may call GET operations only; writes are rejected with 403), or proxy requests through your own server.
6
+ *
7
+ * The version of the OpenAPI document: 1.0.1
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+ import { CdDataFromJSON, CdDataToJSON } from './CdData.js';
15
+ /**
16
+ * @export
17
+ */
18
+ export const FaceFactsKindEnum = {
19
+ Face: 'Face',
20
+ };
21
+ /**
22
+ * Check if a given object implements the FaceFacts interface.
23
+ */
24
+ export function instanceOfFaceFacts(value) {
25
+ if (!('kind' in value) || value['kind'] === undefined)
26
+ return false;
27
+ if (value['kind'] !== 'Face')
28
+ return false;
29
+ if (!('isTopFace' in value) || value['isTopFace'] === undefined)
30
+ return false;
31
+ if (!('isFacing' in value) || value['isFacing'] === undefined)
32
+ return false;
33
+ if (!('needsSidemill' in value) || value['needsSidemill'] === undefined)
34
+ return false;
35
+ if (!('cd' in value) || value['cd'] === undefined)
36
+ return false;
37
+ if (!('maxBottomDiameter' in value) || value['maxBottomDiameter'] === undefined)
38
+ return false;
39
+ return true;
40
+ }
41
+ export function FaceFactsFromJSON(json) {
42
+ return FaceFactsFromJSONTyped(json, false);
43
+ }
44
+ export function FaceFactsFromJSONTyped(json, ignoreDiscriminator) {
45
+ if (json == null) {
46
+ return json;
47
+ }
48
+ return {
49
+ kind: json['kind'],
50
+ isTopFace: json['isTopFace'],
51
+ isFacing: json['isFacing'],
52
+ needsSidemill: json['needsSidemill'],
53
+ cd: CdDataFromJSON(json['cd']),
54
+ maxBottomDiameter: json['maxBottomDiameter'],
55
+ };
56
+ }
57
+ export function FaceFactsToJSON(json) {
58
+ return FaceFactsToJSONTyped(json, false);
59
+ }
60
+ export function FaceFactsToJSONTyped(value, ignoreDiscriminator = false) {
61
+ if (value == null) {
62
+ return value;
63
+ }
64
+ return {
65
+ kind: value['kind'],
66
+ isTopFace: value['isTopFace'],
67
+ isFacing: value['isFacing'],
68
+ needsSidemill: value['needsSidemill'],
69
+ cd: CdDataToJSON(value['cd']),
70
+ maxBottomDiameter: value['maxBottomDiameter'],
71
+ };
72
+ }
@@ -0,0 +1,110 @@
1
+ /**
2
+ * Toolpath Engine API
3
+ * Public REST API for Toolpath engine operations. **Units.** All dimensional values — in reports and in feature datasheets — are in millimetres; all angles are in degrees. Each report also states this in its `units` field. **Browser use.** CORS is per API key: a request only receives an `Access-Control-Allow-Origin` header when its `Origin` is in the allowlist configured on the key used (set when creating or editing the key in the portal). A key with no allowed origins is server-to-server only. A Bearer API key placed in client-side JavaScript is readable by anyone — restrict its origins, prefer a `read_only` key (read_only keys may call GET operations only; writes are rejected with 403), or proxy requests through your own server.
4
+ *
5
+ * The version of the OpenAPI document: 1.0.1
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ import type { FeatureType } from './FeatureType.js';
13
+ import type { ToleranceBand } from './ToleranceBand.js';
14
+ import type { FeatureDatasheetFacts } from './FeatureDatasheetFacts.js';
15
+ /**
16
+ * One feature as machining sees it: static, self-contained, and enough to choose a
17
+ * tool against without having the part in hand. All lengths mm and angles degrees;
18
+ * z runs up the tool axis, so `zMin` is the bottom of the feature and `zMax` its top.
19
+ * @export
20
+ * @interface FeatureDatasheet
21
+ */
22
+ export interface FeatureDatasheet {
23
+ /**
24
+ * Kernel-recognized feature type that this datasheet measures.
25
+ * @type {FeatureType}
26
+ * @memberof FeatureDatasheet
27
+ */
28
+ featureType: FeatureType;
29
+ /**
30
+ * Bottom of the feature along the tool axis, in mm.
31
+ * @type {number}
32
+ * @memberof FeatureDatasheet
33
+ */
34
+ zMin: number;
35
+ /**
36
+ * Top of the feature along the tool axis, in mm.
37
+ * @type {number}
38
+ * @memberof FeatureDatasheet
39
+ */
40
+ zMax: number;
41
+ /**
42
+ * The z range extended by adjacent geometry the tool passes over reaching the
43
+ * feature.
44
+ * @type {number}
45
+ * @memberof FeatureDatasheet
46
+ */
47
+ extendedZMin: number;
48
+ /**
49
+ * Highest z the tool passes over while reaching the feature, in mm.
50
+ * @type {number}
51
+ * @memberof FeatureDatasheet
52
+ */
53
+ extendedZMax: number;
54
+ /**
55
+ * Material intentionally left radially for a later operation, in mm.
56
+ * @type {number}
57
+ * @memberof FeatureDatasheet
58
+ */
59
+ radialStockToLeave: number;
60
+ /**
61
+ * Material intentionally left along the tool axis for a later operation, in mm.
62
+ * @type {number}
63
+ * @memberof FeatureDatasheet
64
+ */
65
+ axialStockToLeave: number;
66
+ /**
67
+ * Permitted deviation bands for the machined feature.
68
+ * @type {ToleranceBand}
69
+ * @memberof FeatureDatasheet
70
+ */
71
+ toleranceBand: ToleranceBand;
72
+ /**
73
+ * Whether the feature has a floor machined perpendicular to the tool axis.
74
+ * @type {boolean}
75
+ * @memberof FeatureDatasheet
76
+ */
77
+ hasFloor: boolean;
78
+ /**
79
+ * Whether the feature has a wall machined parallel to the tool axis.
80
+ * @type {boolean}
81
+ * @memberof FeatureDatasheet
82
+ */
83
+ hasWall: boolean;
84
+ /**
85
+ * Projected area machined floor-wise (perpendicular to the tool axis).
86
+ * @type {number}
87
+ * @memberof FeatureDatasheet
88
+ */
89
+ floorishArea: number;
90
+ /**
91
+ * Area machined wall-wise (parallel to the tool axis).
92
+ * @type {number}
93
+ * @memberof FeatureDatasheet
94
+ */
95
+ wallishArea: number;
96
+ /**
97
+ *
98
+ * @type {FeatureDatasheetFacts}
99
+ * @memberof FeatureDatasheet
100
+ */
101
+ facts: FeatureDatasheetFacts;
102
+ }
103
+ /**
104
+ * Check if a given object implements the FeatureDatasheet interface.
105
+ */
106
+ export declare function instanceOfFeatureDatasheet(value: object): value is FeatureDatasheet;
107
+ export declare function FeatureDatasheetFromJSON(json: any): FeatureDatasheet;
108
+ export declare function FeatureDatasheetFromJSONTyped(json: any, ignoreDiscriminator: boolean): FeatureDatasheet;
109
+ export declare function FeatureDatasheetToJSON(json: any): FeatureDatasheet;
110
+ export declare function FeatureDatasheetToJSONTyped(value?: FeatureDatasheet | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,94 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Toolpath Engine API
5
+ * Public REST API for Toolpath engine operations. **Units.** All dimensional values — in reports and in feature datasheets — are in millimetres; all angles are in degrees. Each report also states this in its `units` field. **Browser use.** CORS is per API key: a request only receives an `Access-Control-Allow-Origin` header when its `Origin` is in the allowlist configured on the key used (set when creating or editing the key in the portal). A key with no allowed origins is server-to-server only. A Bearer API key placed in client-side JavaScript is readable by anyone — restrict its origins, prefer a `read_only` key (read_only keys may call GET operations only; writes are rejected with 403), or proxy requests through your own server.
6
+ *
7
+ * The version of the OpenAPI document: 1.0.1
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+ import { FeatureTypeFromJSON, FeatureTypeToJSON, } from './FeatureType.js';
15
+ import { ToleranceBandFromJSON, ToleranceBandToJSON, } from './ToleranceBand.js';
16
+ import { FeatureDatasheetFactsFromJSON, FeatureDatasheetFactsToJSON, } from './FeatureDatasheetFacts.js';
17
+ /**
18
+ * Check if a given object implements the FeatureDatasheet interface.
19
+ */
20
+ export function instanceOfFeatureDatasheet(value) {
21
+ if (!('featureType' in value) || value['featureType'] === undefined)
22
+ return false;
23
+ if (!('zMin' in value) || value['zMin'] === undefined)
24
+ return false;
25
+ if (!('zMax' in value) || value['zMax'] === undefined)
26
+ return false;
27
+ if (!('extendedZMin' in value) || value['extendedZMin'] === undefined)
28
+ return false;
29
+ if (!('extendedZMax' in value) || value['extendedZMax'] === undefined)
30
+ return false;
31
+ if (!('radialStockToLeave' in value) || value['radialStockToLeave'] === undefined)
32
+ return false;
33
+ if (!('axialStockToLeave' in value) || value['axialStockToLeave'] === undefined)
34
+ return false;
35
+ if (!('toleranceBand' in value) || value['toleranceBand'] === undefined)
36
+ return false;
37
+ if (!('hasFloor' in value) || value['hasFloor'] === undefined)
38
+ return false;
39
+ if (!('hasWall' in value) || value['hasWall'] === undefined)
40
+ return false;
41
+ if (!('floorishArea' in value) || value['floorishArea'] === undefined)
42
+ return false;
43
+ if (!('wallishArea' in value) || value['wallishArea'] === undefined)
44
+ return false;
45
+ if (!('facts' in value) || value['facts'] === undefined)
46
+ return false;
47
+ return true;
48
+ }
49
+ export function FeatureDatasheetFromJSON(json) {
50
+ return FeatureDatasheetFromJSONTyped(json, false);
51
+ }
52
+ export function FeatureDatasheetFromJSONTyped(json, ignoreDiscriminator) {
53
+ if (json == null) {
54
+ return json;
55
+ }
56
+ return {
57
+ featureType: FeatureTypeFromJSON(json['featureType']),
58
+ zMin: json['zMin'],
59
+ zMax: json['zMax'],
60
+ extendedZMin: json['extendedZMin'],
61
+ extendedZMax: json['extendedZMax'],
62
+ radialStockToLeave: json['radialStockToLeave'],
63
+ axialStockToLeave: json['axialStockToLeave'],
64
+ toleranceBand: ToleranceBandFromJSON(json['toleranceBand']),
65
+ hasFloor: json['hasFloor'],
66
+ hasWall: json['hasWall'],
67
+ floorishArea: json['floorishArea'],
68
+ wallishArea: json['wallishArea'],
69
+ facts: FeatureDatasheetFactsFromJSON(json['facts']),
70
+ };
71
+ }
72
+ export function FeatureDatasheetToJSON(json) {
73
+ return FeatureDatasheetToJSONTyped(json, false);
74
+ }
75
+ export function FeatureDatasheetToJSONTyped(value, ignoreDiscriminator = false) {
76
+ if (value == null) {
77
+ return value;
78
+ }
79
+ return {
80
+ featureType: FeatureTypeToJSON(value['featureType']),
81
+ zMin: value['zMin'],
82
+ zMax: value['zMax'],
83
+ extendedZMin: value['extendedZMin'],
84
+ extendedZMax: value['extendedZMax'],
85
+ radialStockToLeave: value['radialStockToLeave'],
86
+ axialStockToLeave: value['axialStockToLeave'],
87
+ toleranceBand: ToleranceBandToJSON(value['toleranceBand']),
88
+ hasFloor: value['hasFloor'],
89
+ hasWall: value['hasWall'],
90
+ floorishArea: value['floorishArea'],
91
+ wallishArea: value['wallishArea'],
92
+ facts: FeatureDatasheetFactsToJSON(value['facts']),
93
+ };
94
+ }
@@ -2,13 +2,14 @@
2
2
  * Toolpath Engine API
3
3
  * Public REST API for Toolpath engine operations. **Units.** All dimensional values — in reports and in feature datasheets — are in millimetres; all angles are in degrees. Each report also states this in its `units` field. **Browser use.** CORS is per API key: a request only receives an `Access-Control-Allow-Origin` header when its `Origin` is in the allowlist configured on the key used (set when creating or editing the key in the portal). A key with no allowed origins is server-to-server only. A Bearer API key placed in client-side JavaScript is readable by anyone — restrict its origins, prefer a `read_only` key (read_only keys may call GET operations only; writes are rejected with 403), or proxy requests through your own server.
4
4
  *
5
- * The version of the OpenAPI document: 1.0.0
5
+ * The version of the OpenAPI document: 1.0.1
6
6
  *
7
7
  *
8
8
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
9
  * https://openapi-generator.tech
10
10
  * Do not edit the class manually.
11
11
  */
12
+ import type { FeatureDatasheet } from './FeatureDatasheet.js';
12
13
  /**
13
14
  *
14
15
  * @export
@@ -16,31 +17,29 @@
16
17
  */
17
18
  export interface FeatureDatasheetEntry {
18
19
  /**
19
- *
20
+ * Identifier of the resolved feature.
20
21
  * @type {string}
21
22
  * @memberof FeatureDatasheetEntry
22
23
  */
23
24
  featureId: string;
24
25
  /**
25
- *
26
+ * Stable kernel feature tag, encoded as a lowercase hexadecimal string.
26
27
  * @type {string}
27
28
  * @memberof FeatureDatasheetEntry
28
29
  */
29
30
  featureTag: string;
30
31
  /**
31
- *
32
+ * Kernel-recognized feature type; the vocabulary is open-ended.
32
33
  * @type {string}
33
34
  * @memberof FeatureDatasheetEntry
34
35
  */
35
36
  featureType: string;
36
37
  /**
37
- * Per-feature DFM measurement facts. Z bounds in the direction frame (zMin/zMax; local height is zMax − zMin), stock-to-leave, tolerance band, floor/wall flags and areas, plus a per-kind `facts` object (narrow on `facts.kind` for diameters, tool bounds, corner/fillet radius). Lengths are mm, angles degrees. The exact shape is the kernel’s FeatureDatasheet (@toolpath/tp-kernel).
38
- * @type {{ [key: string]: any; }}
38
+ * Generated machining datasheet, or null when this feature has no datasheet yet.
39
+ * @type {FeatureDatasheet}
39
40
  * @memberof FeatureDatasheetEntry
40
41
  */
41
- datasheet?: {
42
- [key: string]: any;
43
- };
42
+ datasheet?: FeatureDatasheet | null;
44
43
  }
45
44
  /**
46
45
  * Check if a given object implements the FeatureDatasheetEntry interface.
@@ -4,13 +4,14 @@
4
4
  * Toolpath Engine API
5
5
  * Public REST API for Toolpath engine operations. **Units.** All dimensional values — in reports and in feature datasheets — are in millimetres; all angles are in degrees. Each report also states this in its `units` field. **Browser use.** CORS is per API key: a request only receives an `Access-Control-Allow-Origin` header when its `Origin` is in the allowlist configured on the key used (set when creating or editing the key in the portal). A key with no allowed origins is server-to-server only. A Bearer API key placed in client-side JavaScript is readable by anyone — restrict its origins, prefer a `read_only` key (read_only keys may call GET operations only; writes are rejected with 403), or proxy requests through your own server.
6
6
  *
7
- * The version of the OpenAPI document: 1.0.0
7
+ * The version of the OpenAPI document: 1.0.1
8
8
  *
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
11
  * https://openapi-generator.tech
12
12
  * Do not edit the class manually.
13
13
  */
14
+ import { FeatureDatasheetFromJSON, FeatureDatasheetToJSON, } from './FeatureDatasheet.js';
14
15
  /**
15
16
  * Check if a given object implements the FeatureDatasheetEntry interface.
16
17
  */
@@ -34,7 +35,11 @@ export function FeatureDatasheetEntryFromJSONTyped(json, ignoreDiscriminator) {
34
35
  featureId: json['featureId'],
35
36
  featureTag: json['featureTag'],
36
37
  featureType: json['featureType'],
37
- datasheet: json['datasheet'] == null ? undefined : json['datasheet'],
38
+ datasheet: json['datasheet'] === undefined
39
+ ? undefined
40
+ : json['datasheet'] === null
41
+ ? null
42
+ : FeatureDatasheetFromJSON(json['datasheet']),
38
43
  };
39
44
  }
40
45
  export function FeatureDatasheetEntryToJSON(json) {
@@ -48,6 +53,6 @@ export function FeatureDatasheetEntryToJSONTyped(value, ignoreDiscriminator = fa
48
53
  featureId: value['featureId'],
49
54
  featureTag: value['featureTag'],
50
55
  featureType: value['featureType'],
51
- datasheet: value['datasheet'],
56
+ datasheet: FeatureDatasheetToJSON(value['datasheet']),
52
57
  };
53
58
  }
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Toolpath Engine API
3
+ * Public REST API for Toolpath engine operations. **Units.** All dimensional values — in reports and in feature datasheets — are in millimetres; all angles are in degrees. Each report also states this in its `units` field. **Browser use.** CORS is per API key: a request only receives an `Access-Control-Allow-Origin` header when its `Origin` is in the allowlist configured on the key used (set when creating or editing the key in the portal). A key with no allowed origins is server-to-server only. A Bearer API key placed in client-side JavaScript is readable by anyone — restrict its origins, prefer a `read_only` key (read_only keys may call GET operations only; writes are rejected with 403), or proxy requests through your own server.
4
+ *
5
+ * The version of the OpenAPI document: 1.0.1
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ import type { BossFacts } from './BossFacts.js';
13
+ import type { ChamferFacts } from './ChamferFacts.js';
14
+ import type { DovetailFacts } from './DovetailFacts.js';
15
+ import type { FaceFacts } from './FaceFacts.js';
16
+ import type { HoleFacts } from './HoleFacts.js';
17
+ import type { PocketFacts } from './PocketFacts.js';
18
+ import type { ProfileFacts } from './ProfileFacts.js';
19
+ import type { SurfaceFacts } from './SurfaceFacts.js';
20
+ import type { TslotFacts } from './TslotFacts.js';
21
+ import type { WallFacts } from './WallFacts.js';
22
+ /**
23
+ * @type FeatureDatasheetFacts
24
+ * The per-kind facts; narrow on `facts.kind`.
25
+ * @export
26
+ */
27
+ export type FeatureDatasheetFacts = ({
28
+ kind: 'Boss';
29
+ } & BossFacts) | ({
30
+ kind: 'Chamfer';
31
+ } & ChamferFacts) | ({
32
+ kind: 'Dovetail';
33
+ } & DovetailFacts) | ({
34
+ kind: 'Face';
35
+ } & FaceFacts) | ({
36
+ kind: 'Hole';
37
+ } & HoleFacts) | ({
38
+ kind: 'Pocket';
39
+ } & PocketFacts) | ({
40
+ kind: 'Profile';
41
+ } & ProfileFacts) | ({
42
+ kind: 'Three';
43
+ } & SurfaceFacts) | ({
44
+ kind: 'Tslot';
45
+ } & TslotFacts) | ({
46
+ kind: 'Wall';
47
+ } & WallFacts);
48
+ export declare function FeatureDatasheetFactsFromJSON(json: any): FeatureDatasheetFacts;
49
+ export declare function FeatureDatasheetFactsFromJSONTyped(json: any, ignoreDiscriminator: boolean): FeatureDatasheetFacts;
50
+ export declare function FeatureDatasheetFactsToJSON(json: any): any;
51
+ export declare function FeatureDatasheetFactsToJSONTyped(value?: FeatureDatasheetFacts | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,89 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Toolpath Engine API
5
+ * Public REST API for Toolpath engine operations. **Units.** All dimensional values — in reports and in feature datasheets — are in millimetres; all angles are in degrees. Each report also states this in its `units` field. **Browser use.** CORS is per API key: a request only receives an `Access-Control-Allow-Origin` header when its `Origin` is in the allowlist configured on the key used (set when creating or editing the key in the portal). A key with no allowed origins is server-to-server only. A Bearer API key placed in client-side JavaScript is readable by anyone — restrict its origins, prefer a `read_only` key (read_only keys may call GET operations only; writes are rejected with 403), or proxy requests through your own server.
6
+ *
7
+ * The version of the OpenAPI document: 1.0.1
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+ import { BossFactsFromJSONTyped, BossFactsToJSON, } from './BossFacts.js';
15
+ import { ChamferFactsFromJSONTyped, ChamferFactsToJSON, } from './ChamferFacts.js';
16
+ import { DovetailFactsFromJSONTyped, DovetailFactsToJSON, } from './DovetailFacts.js';
17
+ import { FaceFactsFromJSONTyped, FaceFactsToJSON, } from './FaceFacts.js';
18
+ import { HoleFactsFromJSONTyped, HoleFactsToJSON, } from './HoleFacts.js';
19
+ import { PocketFactsFromJSONTyped, PocketFactsToJSON, } from './PocketFacts.js';
20
+ import { ProfileFactsFromJSONTyped, ProfileFactsToJSON, } from './ProfileFacts.js';
21
+ import { SurfaceFactsFromJSONTyped, SurfaceFactsToJSON, } from './SurfaceFacts.js';
22
+ import { TslotFactsFromJSONTyped, TslotFactsToJSON, } from './TslotFacts.js';
23
+ import { WallFactsFromJSONTyped, WallFactsToJSON, } from './WallFacts.js';
24
+ export function FeatureDatasheetFactsFromJSON(json) {
25
+ return FeatureDatasheetFactsFromJSONTyped(json, false);
26
+ }
27
+ export function FeatureDatasheetFactsFromJSONTyped(json, ignoreDiscriminator) {
28
+ if (json == null) {
29
+ return json;
30
+ }
31
+ switch (json['kind']) {
32
+ case 'Boss':
33
+ return Object.assign({}, BossFactsFromJSONTyped(json, true), { kind: 'Boss' });
34
+ case 'Chamfer':
35
+ return Object.assign({}, ChamferFactsFromJSONTyped(json, true), { kind: 'Chamfer' });
36
+ case 'Dovetail':
37
+ return Object.assign({}, DovetailFactsFromJSONTyped(json, true), {
38
+ kind: 'Dovetail',
39
+ });
40
+ case 'Face':
41
+ return Object.assign({}, FaceFactsFromJSONTyped(json, true), { kind: 'Face' });
42
+ case 'Hole':
43
+ return Object.assign({}, HoleFactsFromJSONTyped(json, true), { kind: 'Hole' });
44
+ case 'Pocket':
45
+ return Object.assign({}, PocketFactsFromJSONTyped(json, true), { kind: 'Pocket' });
46
+ case 'Profile':
47
+ return Object.assign({}, ProfileFactsFromJSONTyped(json, true), { kind: 'Profile' });
48
+ case 'Three':
49
+ return Object.assign({}, SurfaceFactsFromJSONTyped(json, true), { kind: 'Three' });
50
+ case 'Tslot':
51
+ return Object.assign({}, TslotFactsFromJSONTyped(json, true), { kind: 'Tslot' });
52
+ case 'Wall':
53
+ return Object.assign({}, WallFactsFromJSONTyped(json, true), { kind: 'Wall' });
54
+ default:
55
+ return json;
56
+ }
57
+ }
58
+ export function FeatureDatasheetFactsToJSON(json) {
59
+ return FeatureDatasheetFactsToJSONTyped(json, false);
60
+ }
61
+ export function FeatureDatasheetFactsToJSONTyped(value, ignoreDiscriminator = false) {
62
+ if (value == null) {
63
+ return value;
64
+ }
65
+ switch (value['kind']) {
66
+ case 'Boss':
67
+ return Object.assign({}, BossFactsToJSON(value), { kind: 'Boss' });
68
+ case 'Chamfer':
69
+ return Object.assign({}, ChamferFactsToJSON(value), { kind: 'Chamfer' });
70
+ case 'Dovetail':
71
+ return Object.assign({}, DovetailFactsToJSON(value), { kind: 'Dovetail' });
72
+ case 'Face':
73
+ return Object.assign({}, FaceFactsToJSON(value), { kind: 'Face' });
74
+ case 'Hole':
75
+ return Object.assign({}, HoleFactsToJSON(value), { kind: 'Hole' });
76
+ case 'Pocket':
77
+ return Object.assign({}, PocketFactsToJSON(value), { kind: 'Pocket' });
78
+ case 'Profile':
79
+ return Object.assign({}, ProfileFactsToJSON(value), { kind: 'Profile' });
80
+ case 'Three':
81
+ return Object.assign({}, SurfaceFactsToJSON(value), { kind: 'Three' });
82
+ case 'Tslot':
83
+ return Object.assign({}, TslotFactsToJSON(value), { kind: 'Tslot' });
84
+ case 'Wall':
85
+ return Object.assign({}, WallFactsToJSON(value), { kind: 'Wall' });
86
+ default:
87
+ return value;
88
+ }
89
+ }
@@ -2,7 +2,7 @@
2
2
  * Toolpath Engine API
3
3
  * Public REST API for Toolpath engine operations. **Units.** All dimensional values — in reports and in feature datasheets — are in millimetres; all angles are in degrees. Each report also states this in its `units` field. **Browser use.** CORS is per API key: a request only receives an `Access-Control-Allow-Origin` header when its `Origin` is in the allowlist configured on the key used (set when creating or editing the key in the portal). A key with no allowed origins is server-to-server only. A Bearer API key placed in client-side JavaScript is readable by anyone — restrict its origins, prefer a `read_only` key (read_only keys may call GET operations only; writes are rejected with 403), or proxy requests through your own server.
4
4
  *
5
- * The version of the OpenAPI document: 1.0.0
5
+ * The version of the OpenAPI document: 1.0.1
6
6
  *
7
7
  *
8
8
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -17,13 +17,13 @@ import type { FeatureDatasheetEntry } from './FeatureDatasheetEntry.js';
17
17
  */
18
18
  export interface FeatureDatasheetsResponse {
19
19
  /**
20
- *
20
+ * Datasheets for requested features that belong to the authorized organization.
21
21
  * @type {Array<FeatureDatasheetEntry>}
22
22
  * @memberof FeatureDatasheetsResponse
23
23
  */
24
24
  datasheets: Array<FeatureDatasheetEntry>;
25
25
  /**
26
- *
26
+ * Requested feature identifiers that were unknown or inaccessible to this organization.
27
27
  * @type {Array<string>}
28
28
  * @memberof FeatureDatasheetsResponse
29
29
  */
@@ -4,7 +4,7 @@
4
4
  * Toolpath Engine API
5
5
  * Public REST API for Toolpath engine operations. **Units.** All dimensional values — in reports and in feature datasheets — are in millimetres; all angles are in degrees. Each report also states this in its `units` field. **Browser use.** CORS is per API key: a request only receives an `Access-Control-Allow-Origin` header when its `Origin` is in the allowlist configured on the key used (set when creating or editing the key in the portal). A key with no allowed origins is server-to-server only. A Bearer API key placed in client-side JavaScript is readable by anyone — restrict its origins, prefer a `read_only` key (read_only keys may call GET operations only; writes are rejected with 403), or proxy requests through your own server.
6
6
  *
7
- * The version of the OpenAPI document: 1.0.0
7
+ * The version of the OpenAPI document: 1.0.1
8
8
  *
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).