edge-impulse-linux 1.4.8 → 1.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.
Files changed (525) hide show
  1. package/build/cli/init-cli-app.js +4 -1
  2. package/build/cli/init-cli-app.js.map +1 -1
  3. package/build/cli/linux/runner.js +145 -2
  4. package/build/cli/linux/runner.js.map +1 -1
  5. package/build/cli/linux/webserver/escape-html-template-tag/escape.d.ts +12 -0
  6. package/build/cli/linux/webserver/escape-html-template-tag/escape.js +59 -0
  7. package/build/cli/linux/webserver/escape-html-template-tag/escape.js.map +1 -0
  8. package/build/cli/linux/webserver/escape-html-template-tag/index.d.ts +7 -0
  9. package/build/cli/linux/webserver/escape-html-template-tag/index.js +24 -0
  10. package/build/cli/linux/webserver/escape-html-template-tag/index.js.map +1 -0
  11. package/build/cli/linux/webserver/middleware/asyncMiddleware.d.ts +2 -0
  12. package/build/cli/linux/webserver/middleware/asyncMiddleware.js +10 -0
  13. package/build/cli/linux/webserver/middleware/asyncMiddleware.js.map +1 -0
  14. package/build/cli/linux/webserver/public/inference-server.d.ts +0 -0
  15. package/build/cli/linux/webserver/public/inference-server.js +96 -0
  16. package/build/cli/linux/webserver/public/inference-server.js.map +1 -0
  17. package/build/cli/linux/webserver/views/escape-html-template-tag/escape.d.ts +12 -0
  18. package/build/cli/linux/webserver/views/escape-html-template-tag/escape.js +59 -0
  19. package/build/cli/linux/webserver/views/escape-html-template-tag/escape.js.map +1 -0
  20. package/build/cli/linux/webserver/views/escape-html-template-tag/index.d.ts +7 -0
  21. package/build/cli/linux/webserver/views/escape-html-template-tag/index.js +24 -0
  22. package/build/cli/linux/webserver/views/escape-html-template-tag/index.js.map +1 -0
  23. package/build/cli/linux/webserver/views/inference-server-view.d.ts +10 -0
  24. package/build/cli/linux/webserver/views/inference-server-view.js +138 -0
  25. package/build/cli/linux/webserver/views/inference-server-view.js.map +1 -0
  26. package/build/cli/make-image.d.ts +2 -7
  27. package/build/cli/make-image.js +15 -0
  28. package/build/cli/make-image.js.map +1 -1
  29. package/build/library/classifier/image-classifier.d.ts +6 -2
  30. package/build/library/classifier/image-classifier.js +3 -3
  31. package/build/library/classifier/image-classifier.js.map +1 -1
  32. package/build/sdk/studio/sdk/api/adminApi.d.ts +129 -5
  33. package/build/sdk/studio/sdk/api/adminApi.js +956 -236
  34. package/build/sdk/studio/sdk/api/adminApi.js.map +1 -1
  35. package/build/sdk/studio/sdk/api/apis.d.ts +1 -21
  36. package/build/sdk/studio/sdk/api/apis.js +1 -21
  37. package/build/sdk/studio/sdk/api/apis.js.map +1 -1
  38. package/build/sdk/studio/sdk/api/jobsApi.d.ts +2 -3
  39. package/build/sdk/studio/sdk/api/jobsApi.js +2 -8
  40. package/build/sdk/studio/sdk/api/jobsApi.js.map +1 -1
  41. package/build/sdk/studio/sdk/api/optimizationApi.d.ts +36 -7
  42. package/build/sdk/studio/sdk/api/optimizationApi.js +237 -8
  43. package/build/sdk/studio/sdk/api/optimizationApi.js.map +1 -1
  44. package/build/sdk/studio/sdk/api/organizationDataApi.d.ts +2 -2
  45. package/build/sdk/studio/sdk/api/organizationDataApi.js +2 -2
  46. package/build/sdk/studio/sdk/api/organizationRequiresAdminApi.d.ts +3 -588
  47. package/build/sdk/studio/sdk/api/organizationRequiresAdminApi.js +11 -3567
  48. package/build/sdk/studio/sdk/api/organizationRequiresAdminApi.js.map +1 -1
  49. package/build/sdk/studio/sdk/api/organizationRequiresWhitelabelAdminApi.d.ts +3 -419
  50. package/build/sdk/studio/sdk/api/organizationRequiresWhitelabelAdminApi.js +7 -2453
  51. package/build/sdk/studio/sdk/api/organizationRequiresWhitelabelAdminApi.js.map +1 -1
  52. package/build/sdk/studio/sdk/api/organizationsApi.d.ts +177 -6
  53. package/build/sdk/studio/sdk/api/organizationsApi.js +1197 -170
  54. package/build/sdk/studio/sdk/api/organizationsApi.js.map +1 -1
  55. package/build/sdk/studio/sdk/api/projectsApi.d.ts +26 -3
  56. package/build/sdk/studio/sdk/api/projectsApi.js +158 -6
  57. package/build/sdk/studio/sdk/api/projectsApi.js.map +1 -1
  58. package/build/sdk/studio/sdk/api/rawDataApi.d.ts +37 -3
  59. package/build/sdk/studio/sdk/api/rawDataApi.js +234 -3
  60. package/build/sdk/studio/sdk/api/rawDataApi.js.map +1 -1
  61. package/build/sdk/studio/sdk/api/uploadPortalApi.d.ts +1 -1
  62. package/build/sdk/studio/sdk/api/uploadPortalApi.js +1 -1
  63. package/build/sdk/studio/sdk/model/addApiKeyRequest.d.ts +0 -7
  64. package/build/sdk/studio/sdk/model/addApiKeyRequest.js +1 -12
  65. package/build/sdk/studio/sdk/model/addApiKeyRequest.js.map +1 -1
  66. package/build/sdk/studio/sdk/model/addOrganizationApiKeyRequest.js.map +1 -1
  67. package/build/sdk/studio/sdk/model/addOrganizationApiKeyRequestAllOf.d.ts +27 -0
  68. package/build/sdk/studio/sdk/model/addOrganizationApiKeyRequestAllOf.js +33 -0
  69. package/build/sdk/studio/sdk/model/addOrganizationApiKeyRequestAllOf.js.map +1 -0
  70. package/build/sdk/studio/sdk/model/addOrganizationTransferLearningBlockRequest.d.ts +4 -0
  71. package/build/sdk/studio/sdk/model/addOrganizationTransferLearningBlockRequest.js +5 -0
  72. package/build/sdk/studio/sdk/model/addOrganizationTransferLearningBlockRequest.js.map +1 -1
  73. package/build/sdk/studio/sdk/model/addOrganizationTransformationBlockRequest.d.ts +4 -0
  74. package/build/sdk/studio/sdk/model/addOrganizationTransformationBlockRequest.js +5 -0
  75. package/build/sdk/studio/sdk/model/addOrganizationTransformationBlockRequest.js.map +1 -1
  76. package/build/sdk/studio/sdk/model/addProjectApiKeyRequest.d.ts +39 -0
  77. package/build/sdk/studio/sdk/model/addProjectApiKeyRequest.js +48 -0
  78. package/build/sdk/studio/sdk/model/addProjectApiKeyRequest.js.map +1 -0
  79. package/build/sdk/studio/sdk/model/addProjectApiKeyRequestAllOf.d.ts +31 -0
  80. package/build/sdk/studio/sdk/model/addProjectApiKeyRequestAllOf.js +38 -0
  81. package/build/sdk/studio/sdk/model/addProjectApiKeyRequestAllOf.js.map +1 -0
  82. package/build/sdk/studio/sdk/model/adminAddOrganizationApiKeyRequest.d.ts +39 -0
  83. package/build/sdk/studio/sdk/model/adminAddOrganizationApiKeyRequest.js +48 -0
  84. package/build/sdk/studio/sdk/model/adminAddOrganizationApiKeyRequest.js.map +1 -0
  85. package/build/sdk/studio/sdk/model/{getUserResponseAllOfOrganizations.d.ts → adminAddProjectApiKeyRequest.d.ts} +8 -8
  86. package/build/sdk/studio/sdk/model/adminAddProjectApiKeyRequest.js +42 -0
  87. package/build/sdk/studio/sdk/model/adminAddProjectApiKeyRequest.js.map +1 -0
  88. package/build/sdk/studio/sdk/model/adminAddProjectApiKeyRequestAllOf.d.ts +28 -0
  89. package/build/sdk/studio/sdk/model/adminAddProjectApiKeyRequestAllOf.js +32 -0
  90. package/build/sdk/studio/sdk/model/adminAddProjectApiKeyRequestAllOf.js.map +1 -0
  91. package/build/sdk/studio/sdk/model/adminApiOrganization.d.ts +4 -0
  92. package/build/sdk/studio/sdk/model/adminApiOrganization.js +5 -0
  93. package/build/sdk/studio/sdk/model/adminApiOrganization.js.map +1 -1
  94. package/build/sdk/studio/sdk/model/{whitelabelAdminCreateProjectRequest.d.ts → adminCreateProjectRequest.d.ts} +5 -3
  95. package/build/sdk/studio/sdk/model/{whitelabelAdminCreateProjectRequest.js → adminCreateProjectRequest.js} +14 -9
  96. package/build/sdk/studio/sdk/model/adminCreateProjectRequest.js.map +1 -0
  97. package/build/sdk/studio/sdk/model/{getAutoSegmenterResponse.d.ts → adminGetOrganizationComputeTimeUsageResponse.d.ts} +13 -7
  98. package/build/sdk/studio/sdk/model/adminGetOrganizationComputeTimeUsageResponse.js +52 -0
  99. package/build/sdk/studio/sdk/model/adminGetOrganizationComputeTimeUsageResponse.js.map +1 -0
  100. package/build/sdk/studio/sdk/model/adminGetOrganizationUsageReportResponse.d.ts +34 -0
  101. package/build/sdk/studio/sdk/model/{saveAutoSegmenterClustersResponse.js → adminGetOrganizationUsageReportResponse.js} +12 -12
  102. package/build/sdk/studio/sdk/model/adminGetOrganizationUsageReportResponse.js.map +1 -0
  103. package/build/sdk/studio/sdk/model/adminGetOrganizationUsageReportResponseAllOf.d.ts +26 -0
  104. package/build/sdk/studio/sdk/model/adminGetOrganizationUsageReportResponseAllOf.js +32 -0
  105. package/build/sdk/studio/sdk/model/adminGetOrganizationUsageReportResponseAllOf.js.map +1 -0
  106. package/build/sdk/studio/sdk/model/{adminGetFeatureFlagsResponse.d.ts → adminGetOrganizationUsageReportsResponse.d.ts} +4 -3
  107. package/build/sdk/studio/sdk/model/adminGetOrganizationUsageReportsResponse.js +47 -0
  108. package/build/sdk/studio/sdk/model/adminGetOrganizationUsageReportsResponse.js.map +1 -0
  109. package/build/sdk/studio/sdk/model/{adminGetFeatureFlagsResponseAllOf.d.ts → adminGetOrganizationUsageReportsResponseAllOf.d.ts} +4 -3
  110. package/build/sdk/studio/sdk/model/adminGetOrganizationUsageReportsResponseAllOf.js +37 -0
  111. package/build/sdk/studio/sdk/model/adminGetOrganizationUsageReportsResponseAllOf.js.map +1 -0
  112. package/build/sdk/studio/sdk/model/adminOrganizationInfoResponse.d.ts +8 -20
  113. package/build/sdk/studio/sdk/model/adminOrganizationInfoResponse.js +11 -41
  114. package/build/sdk/studio/sdk/model/adminOrganizationInfoResponse.js.map +1 -1
  115. package/build/sdk/studio/sdk/model/adminOrganizationInfoResponseAllOf.d.ts +0 -8
  116. package/build/sdk/studio/sdk/model/adminOrganizationInfoResponseAllOf.js +0 -10
  117. package/build/sdk/studio/sdk/model/adminOrganizationInfoResponseAllOf.js.map +1 -1
  118. package/build/sdk/studio/sdk/model/adminUpdateUserRequest.d.ts +4 -0
  119. package/build/sdk/studio/sdk/model/adminUpdateUserRequest.js +5 -0
  120. package/build/sdk/studio/sdk/model/adminUpdateUserRequest.js.map +1 -1
  121. package/build/sdk/studio/sdk/model/anomalyResult.d.ts +5 -0
  122. package/build/sdk/studio/sdk/model/anomalyResult.js +5 -0
  123. package/build/sdk/studio/sdk/model/anomalyResult.js.map +1 -1
  124. package/build/sdk/studio/sdk/model/applicationBudget.d.ts +32 -0
  125. package/build/sdk/studio/sdk/model/applicationBudget.js +45 -0
  126. package/build/sdk/studio/sdk/model/applicationBudget.js.map +1 -0
  127. package/build/sdk/studio/sdk/model/classifySampleResponseClassification.d.ts +5 -0
  128. package/build/sdk/studio/sdk/model/classifySampleResponseClassification.js +5 -0
  129. package/build/sdk/studio/sdk/model/classifySampleResponseClassification.js.map +1 -1
  130. package/build/sdk/studio/sdk/model/cosineSimilarityData.d.ts +36 -0
  131. package/build/sdk/studio/sdk/model/cosineSimilarityData.js +40 -0
  132. package/build/sdk/studio/sdk/model/cosineSimilarityData.js.map +1 -0
  133. package/build/sdk/studio/sdk/model/cosineSimilarityIssue.d.ts +42 -0
  134. package/build/sdk/studio/sdk/model/cosineSimilarityIssue.js +50 -0
  135. package/build/sdk/studio/sdk/model/cosineSimilarityIssue.js.map +1 -0
  136. package/build/sdk/studio/sdk/model/cosineSimilarityIssueIssues.d.ts +39 -0
  137. package/build/sdk/studio/sdk/model/cosineSimilarityIssueIssues.js +47 -0
  138. package/build/sdk/studio/sdk/model/cosineSimilarityIssueIssues.js.map +1 -0
  139. package/build/sdk/studio/sdk/model/{getJWTTokenResponseAllOf.d.ts → cosineSimilarityIssueWindows.d.ts} +9 -5
  140. package/build/sdk/studio/sdk/model/cosineSimilarityIssueWindows.js +42 -0
  141. package/build/sdk/studio/sdk/model/cosineSimilarityIssueWindows.js.map +1 -0
  142. package/build/sdk/studio/sdk/model/createEnterpriseTrialUserRequest.d.ts +4 -0
  143. package/build/sdk/studio/sdk/model/createEnterpriseTrialUserRequest.js +5 -0
  144. package/build/sdk/studio/sdk/model/createEnterpriseTrialUserRequest.js.map +1 -1
  145. package/build/sdk/studio/sdk/model/createEnterpriseTrialUserRequestAllOf.d.ts +4 -0
  146. package/build/sdk/studio/sdk/model/createEnterpriseTrialUserRequestAllOf.js +5 -0
  147. package/build/sdk/studio/sdk/model/createEnterpriseTrialUserRequestAllOf.js.map +1 -1
  148. package/build/sdk/studio/sdk/model/{getAutoSegmenterResponseAllOfItems.d.ts → createOrganizationUsageReportBody.d.ts} +3 -2
  149. package/build/sdk/studio/sdk/model/createOrganizationUsageReportBody.js +37 -0
  150. package/build/sdk/studio/sdk/model/createOrganizationUsageReportBody.js.map +1 -0
  151. package/build/sdk/studio/sdk/model/createProjectRequest.d.ts +2 -0
  152. package/build/sdk/studio/sdk/model/createProjectRequest.js +5 -0
  153. package/build/sdk/studio/sdk/model/createProjectRequest.js.map +1 -1
  154. package/build/sdk/studio/sdk/model/createUserRequest.d.ts +4 -0
  155. package/build/sdk/studio/sdk/model/createUserRequest.js +5 -0
  156. package/build/sdk/studio/sdk/model/createUserRequest.js.map +1 -1
  157. package/build/sdk/studio/sdk/model/{organizationCreateProjectCreatedByUser.d.ts → createdUpdatedByUser.d.ts} +1 -1
  158. package/build/sdk/studio/sdk/model/{organizationCreateProjectCreatedByUser.js → createdUpdatedByUser.js} +9 -9
  159. package/build/sdk/studio/sdk/model/createdUpdatedByUser.js.map +1 -0
  160. package/build/sdk/studio/sdk/model/{addNoteRequest.d.ts → crossValidationData.d.ts} +6 -9
  161. package/build/sdk/studio/sdk/model/crossValidationData.js +35 -0
  162. package/build/sdk/studio/sdk/model/crossValidationData.js.map +1 -0
  163. package/build/sdk/studio/sdk/model/crossValidationDataScores.d.ts +50 -0
  164. package/build/sdk/studio/sdk/model/crossValidationDataScores.js +62 -0
  165. package/build/sdk/studio/sdk/model/crossValidationDataScores.js.map +1 -0
  166. package/build/sdk/studio/sdk/model/dSPGroupItem.d.ts +6 -0
  167. package/build/sdk/studio/sdk/model/dSPGroupItem.js +7 -1
  168. package/build/sdk/studio/sdk/model/dSPGroupItem.js.map +1 -1
  169. package/build/sdk/studio/sdk/model/dSPInfoFeatures.d.ts +4 -0
  170. package/build/sdk/studio/sdk/model/dSPInfoFeatures.js +5 -0
  171. package/build/sdk/studio/sdk/model/dSPInfoFeatures.js.map +1 -1
  172. package/build/sdk/studio/sdk/model/deployPretrainedModelRequest.d.ts +1 -1
  173. package/build/sdk/studio/sdk/model/deployPretrainedModelRequest.js +1 -1
  174. package/build/sdk/studio/sdk/model/deployPretrainedModelRequest.js.map +1 -1
  175. package/build/sdk/studio/sdk/model/dspRunResponseWithSample.d.ts +4 -0
  176. package/build/sdk/studio/sdk/model/dspRunResponseWithSample.js +5 -0
  177. package/build/sdk/studio/sdk/model/dspRunResponseWithSample.js.map +1 -1
  178. package/build/sdk/studio/sdk/model/dspRunResponseWithSampleAllOf.d.ts +4 -0
  179. package/build/sdk/studio/sdk/model/dspRunResponseWithSampleAllOf.js +5 -0
  180. package/build/sdk/studio/sdk/model/dspRunResponseWithSampleAllOf.js.map +1 -1
  181. package/build/sdk/studio/sdk/model/entitlementLimits.d.ts +16 -0
  182. package/build/sdk/studio/sdk/model/entitlementLimits.js +5 -0
  183. package/build/sdk/studio/sdk/model/entitlementLimits.js.map +1 -1
  184. package/build/sdk/studio/sdk/model/feature.d.ts +1 -1
  185. package/build/sdk/studio/sdk/model/feature.js +1 -1
  186. package/build/sdk/studio/sdk/model/feature.js.map +1 -1
  187. package/build/sdk/studio/sdk/model/getDiversityDataResponseAllOfClusterInfos.d.ts +1 -1
  188. package/build/sdk/studio/sdk/model/getLabelNoiseDataResponse.d.ts +34 -0
  189. package/build/sdk/studio/sdk/model/{getJWTTokenResponse.js → getLabelNoiseDataResponse.js} +12 -17
  190. package/build/sdk/studio/sdk/model/getLabelNoiseDataResponse.js.map +1 -0
  191. package/build/sdk/studio/sdk/model/getLabelNoiseDataResponseAllOf.d.ts +26 -0
  192. package/build/sdk/studio/sdk/model/getLabelNoiseDataResponseAllOf.js +32 -0
  193. package/build/sdk/studio/sdk/model/getLabelNoiseDataResponseAllOf.js.map +1 -0
  194. package/build/sdk/studio/sdk/model/getLabelNoiseDataResponseAllOfData.d.ts +30 -0
  195. package/build/sdk/studio/sdk/model/getLabelNoiseDataResponseAllOfData.js +42 -0
  196. package/build/sdk/studio/sdk/model/getLabelNoiseDataResponseAllOfData.js.map +1 -0
  197. package/build/sdk/studio/sdk/model/getLastDeploymentBuildResponse.d.ts +2 -0
  198. package/build/sdk/studio/sdk/model/getLastDeploymentBuildResponse.js +5 -0
  199. package/build/sdk/studio/sdk/model/getLastDeploymentBuildResponse.js.map +1 -1
  200. package/build/sdk/studio/sdk/model/getLastDeploymentBuildResponseAllOf.d.ts +2 -0
  201. package/build/sdk/studio/sdk/model/getLastDeploymentBuildResponseAllOf.js +5 -0
  202. package/build/sdk/studio/sdk/model/getLastDeploymentBuildResponseAllOf.js.map +1 -1
  203. package/build/sdk/studio/sdk/model/{createNoteResponse.d.ts → getOrganizationUsageReportResponse.d.ts} +3 -5
  204. package/build/sdk/studio/sdk/model/{listOrganizationProjectsResponse.js → getOrganizationUsageReportResponse.js} +12 -12
  205. package/build/sdk/studio/sdk/model/getOrganizationUsageReportResponse.js.map +1 -0
  206. package/build/sdk/studio/sdk/model/{listOrganizationProjectsResponse.d.ts → getTargetConstraintsResponse.d.ts} +3 -3
  207. package/build/sdk/studio/sdk/model/{adminGetFeatureFlagsResponse.js → getTargetConstraintsResponse.js} +12 -12
  208. package/build/sdk/studio/sdk/model/getTargetConstraintsResponse.js.map +1 -0
  209. package/build/sdk/studio/sdk/model/getTargetConstraintsResponseAllOf.d.ts +26 -0
  210. package/build/sdk/studio/sdk/model/getTargetConstraintsResponseAllOf.js +32 -0
  211. package/build/sdk/studio/sdk/model/getTargetConstraintsResponseAllOf.js.map +1 -0
  212. package/build/sdk/studio/sdk/model/job.d.ts +2 -0
  213. package/build/sdk/studio/sdk/model/job.js +5 -0
  214. package/build/sdk/studio/sdk/model/job.js.map +1 -1
  215. package/build/sdk/studio/sdk/model/{developmentBoard.d.ts → jobCreatedByUser.d.ts} +4 -3
  216. package/build/sdk/studio/sdk/model/{developmentBoard.js → jobCreatedByUser.js} +18 -13
  217. package/build/sdk/studio/sdk/model/jobCreatedByUser.js.map +1 -0
  218. package/build/sdk/studio/sdk/model/jobDetails.d.ts +2 -0
  219. package/build/sdk/studio/sdk/model/jobDetails.js +5 -0
  220. package/build/sdk/studio/sdk/model/jobDetails.js.map +1 -1
  221. package/build/sdk/studio/sdk/model/jobParentTypeEnum.d.ts +1 -1
  222. package/build/sdk/studio/sdk/model/jobParentTypeEnum.js +1 -1
  223. package/build/sdk/studio/sdk/model/jobParentTypeEnum.js.map +1 -1
  224. package/build/sdk/studio/sdk/model/jobStatus.d.ts +13 -0
  225. package/build/sdk/studio/sdk/model/jobStatus.js +16 -0
  226. package/build/sdk/studio/sdk/model/jobStatus.js.map +1 -0
  227. package/build/sdk/studio/sdk/model/kerasModelMetadata.d.ts +5 -1
  228. package/build/sdk/studio/sdk/model/kerasModelMetadata.js +6 -1
  229. package/build/sdk/studio/sdk/model/kerasModelMetadata.js.map +1 -1
  230. package/build/sdk/studio/sdk/model/kerasModelMetadataAllOf.d.ts +5 -1
  231. package/build/sdk/studio/sdk/model/kerasModelMetadataAllOf.js +6 -1
  232. package/build/sdk/studio/sdk/model/kerasModelMetadataAllOf.js.map +1 -1
  233. package/build/sdk/studio/sdk/model/kerasResponse.d.ts +6 -0
  234. package/build/sdk/studio/sdk/model/kerasResponse.js +10 -0
  235. package/build/sdk/studio/sdk/model/kerasResponse.js.map +1 -1
  236. package/build/sdk/studio/sdk/model/kerasResponseAllOf.d.ts +6 -0
  237. package/build/sdk/studio/sdk/model/kerasResponseAllOf.js +10 -0
  238. package/build/sdk/studio/sdk/model/kerasResponseAllOf.js.map +1 -1
  239. package/build/sdk/studio/sdk/model/learnBlock.d.ts +4 -0
  240. package/build/sdk/studio/sdk/model/learnBlock.js +5 -0
  241. package/build/sdk/studio/sdk/model/learnBlock.js.map +1 -1
  242. package/build/sdk/studio/sdk/model/listApiKeysResponseAllOfApiKeys.d.ts +1 -1
  243. package/build/sdk/studio/sdk/model/listApiKeysResponseAllOfApiKeys.js +1 -1
  244. package/build/sdk/studio/sdk/model/listApiKeysResponseAllOfApiKeys.js.map +1 -1
  245. package/build/sdk/studio/sdk/model/listOrganizationSecretsResponseAllOfSecrets.d.ts +2 -0
  246. package/build/sdk/studio/sdk/model/listOrganizationSecretsResponseAllOfSecrets.js +5 -0
  247. package/build/sdk/studio/sdk/model/listOrganizationSecretsResponseAllOfSecrets.js.map +1 -1
  248. package/build/sdk/studio/sdk/model/{getJWTTokenResponse.d.ts → listOrganizationUsageReportsResponse.d.ts} +5 -7
  249. package/build/sdk/studio/sdk/model/listOrganizationUsageReportsResponse.js +47 -0
  250. package/build/sdk/studio/sdk/model/listOrganizationUsageReportsResponse.js.map +1 -0
  251. package/build/sdk/studio/sdk/model/{saveAutoSegmenterClustersResponse.d.ts → listTunerRunsResponse.d.ts} +3 -2
  252. package/build/sdk/studio/sdk/model/{createNoteResponse.js → listTunerRunsResponse.js} +12 -12
  253. package/build/sdk/studio/sdk/model/listTunerRunsResponse.js.map +1 -0
  254. package/build/sdk/studio/sdk/model/{createNoteResponseAllOf.d.ts → listTunerRunsResponseAllOf.d.ts} +3 -5
  255. package/build/sdk/studio/sdk/model/listTunerRunsResponseAllOf.js +32 -0
  256. package/build/sdk/studio/sdk/model/listTunerRunsResponseAllOf.js.map +1 -0
  257. package/build/sdk/studio/sdk/model/{adminGetFeatureFlagsResponseAllOfFlags.d.ts → memorySpec.d.ts} +7 -7
  258. package/build/sdk/studio/sdk/model/memorySpec.js +40 -0
  259. package/build/sdk/studio/sdk/model/memorySpec.js.map +1 -0
  260. package/build/sdk/studio/sdk/model/modelPrediction.d.ts +1 -0
  261. package/build/sdk/studio/sdk/model/modelPrediction.js +5 -0
  262. package/build/sdk/studio/sdk/model/modelPrediction.js.map +1 -1
  263. package/build/sdk/studio/sdk/model/models.d.ts +49 -4
  264. package/build/sdk/studio/sdk/model/models.js +154 -13
  265. package/build/sdk/studio/sdk/model/models.js.map +1 -1
  266. package/build/sdk/studio/sdk/model/{anomalyModelMetadataClusters.d.ts → neighborsData.d.ts} +9 -5
  267. package/build/sdk/studio/sdk/model/neighborsData.js +40 -0
  268. package/build/sdk/studio/sdk/model/neighborsData.js.map +1 -0
  269. package/build/sdk/studio/sdk/model/neighborsScore.d.ts +50 -0
  270. package/build/sdk/studio/sdk/model/neighborsScore.js +60 -0
  271. package/build/sdk/studio/sdk/model/neighborsScore.js.map +1 -0
  272. package/build/sdk/studio/sdk/model/{classifyJobResponseAllOfResult.d.ts → neighborsScoreNeighborWindows.d.ts} +14 -5
  273. package/build/sdk/studio/sdk/model/neighborsScoreNeighborWindows.js +47 -0
  274. package/build/sdk/studio/sdk/model/neighborsScoreNeighborWindows.js.map +1 -0
  275. package/build/sdk/studio/sdk/model/objectDetectionLastLayer.d.ts +1 -1
  276. package/build/sdk/studio/sdk/model/objectDetectionLastLayer.js +1 -1
  277. package/build/sdk/studio/sdk/model/objectDetectionLastLayer.js.map +1 -1
  278. package/build/sdk/studio/sdk/model/optimizeConfig.d.ts +9 -6
  279. package/build/sdk/studio/sdk/model/optimizeConfig.js +7 -2
  280. package/build/sdk/studio/sdk/model/optimizeConfig.js.map +1 -1
  281. package/build/sdk/studio/sdk/model/optimizeConfigResponse.d.ts +9 -6
  282. package/build/sdk/studio/sdk/model/optimizeConfigResponse.js +7 -2
  283. package/build/sdk/studio/sdk/model/optimizeConfigResponse.js.map +1 -1
  284. package/build/sdk/studio/sdk/model/optimizeConfigTargetDevice.d.ts +1 -1
  285. package/build/sdk/studio/sdk/model/optimizeStateResponse.d.ts +14 -2
  286. package/build/sdk/studio/sdk/model/optimizeStateResponse.js +17 -2
  287. package/build/sdk/studio/sdk/model/optimizeStateResponse.js.map +1 -1
  288. package/build/sdk/studio/sdk/model/optimizeStateResponseAllOf.d.ts +14 -2
  289. package/build/sdk/studio/sdk/model/optimizeStateResponseAllOf.js +17 -2
  290. package/build/sdk/studio/sdk/model/optimizeStateResponseAllOf.js.map +1 -1
  291. package/build/sdk/studio/sdk/model/optimizeStateResponseAllOfStatus.d.ts +9 -9
  292. package/build/sdk/studio/sdk/model/optimizeStateResponseAllOfStatus.js +1 -1
  293. package/build/sdk/studio/sdk/model/optimizeStateResponseAllOfStatus.js.map +1 -1
  294. package/build/sdk/studio/sdk/model/optimizeStateResponseAllOfWorkers.d.ts +2 -2
  295. package/build/sdk/studio/sdk/model/optimizeTransferLearningModelsResponse.d.ts +1 -1
  296. package/build/sdk/studio/sdk/model/optimizeTransferLearningModelsResponseAllOf.d.ts +1 -1
  297. package/build/sdk/studio/sdk/model/organization.d.ts +4 -0
  298. package/build/sdk/studio/sdk/model/organization.js +5 -0
  299. package/build/sdk/studio/sdk/model/organization.js.map +1 -1
  300. package/build/sdk/studio/sdk/model/organizationComputeTimeUsage.d.ts +36 -0
  301. package/build/sdk/studio/sdk/model/organizationComputeTimeUsage.js +42 -0
  302. package/build/sdk/studio/sdk/model/organizationComputeTimeUsage.js.map +1 -0
  303. package/build/sdk/studio/sdk/model/organizationCreateProject.d.ts +2 -2
  304. package/build/sdk/studio/sdk/model/organizationCreateProject.js +1 -1
  305. package/build/sdk/studio/sdk/model/organizationCreateProject.js.map +1 -1
  306. package/build/sdk/studio/sdk/model/organizationCreateProjectRequest.d.ts +2 -0
  307. package/build/sdk/studio/sdk/model/organizationCreateProjectRequest.js +5 -0
  308. package/build/sdk/studio/sdk/model/organizationCreateProjectRequest.js.map +1 -1
  309. package/build/sdk/studio/sdk/model/organizationCreateProjectWithFiles.d.ts +2 -2
  310. package/build/sdk/studio/sdk/model/organizationCreateProjectWithFiles.js +1 -1
  311. package/build/sdk/studio/sdk/model/organizationCreateProjectWithFiles.js.map +1 -1
  312. package/build/sdk/studio/sdk/model/organizationDeployBlock.d.ts +4 -0
  313. package/build/sdk/studio/sdk/model/organizationDeployBlock.js +15 -0
  314. package/build/sdk/studio/sdk/model/organizationDeployBlock.js.map +1 -1
  315. package/build/sdk/studio/sdk/model/organizationDspBlock.d.ts +4 -0
  316. package/build/sdk/studio/sdk/model/organizationDspBlock.js +15 -0
  317. package/build/sdk/studio/sdk/model/organizationDspBlock.js.map +1 -1
  318. package/build/sdk/studio/sdk/model/organizationGetCreateProjectsResponseAllOfJobs.d.ts +2 -2
  319. package/build/sdk/studio/sdk/model/organizationGetCreateProjectsResponseAllOfJobs.js +1 -1
  320. package/build/sdk/studio/sdk/model/organizationGetCreateProjectsResponseAllOfJobs.js.map +1 -1
  321. package/build/sdk/studio/sdk/model/organizationMetricsResponseAllOfMetrics.d.ts +2 -2
  322. package/build/sdk/studio/sdk/model/organizationTransferLearningBlock.d.ts +12 -0
  323. package/build/sdk/studio/sdk/model/organizationTransferLearningBlock.js +25 -0
  324. package/build/sdk/studio/sdk/model/organizationTransferLearningBlock.js.map +1 -1
  325. package/build/sdk/studio/sdk/model/organizationTransformationBlock.d.ts +8 -0
  326. package/build/sdk/studio/sdk/model/organizationTransformationBlock.js +20 -0
  327. package/build/sdk/studio/sdk/model/organizationTransformationBlock.js.map +1 -1
  328. package/build/sdk/studio/sdk/model/organizationUsageReport.d.ts +34 -0
  329. package/build/sdk/studio/sdk/model/organizationUsageReport.js +72 -0
  330. package/build/sdk/studio/sdk/model/organizationUsageReport.js.map +1 -0
  331. package/build/sdk/studio/sdk/model/project.d.ts +13 -0
  332. package/build/sdk/studio/sdk/model/project.js +20 -0
  333. package/build/sdk/studio/sdk/model/project.js.map +1 -1
  334. package/build/sdk/studio/sdk/model/projectInfoResponse.d.ts +6 -0
  335. package/build/sdk/studio/sdk/model/projectInfoResponse.js +10 -0
  336. package/build/sdk/studio/sdk/model/projectInfoResponse.js.map +1 -1
  337. package/build/sdk/studio/sdk/model/projectInfoResponseAllOf.d.ts +6 -0
  338. package/build/sdk/studio/sdk/model/projectInfoResponseAllOf.js +10 -0
  339. package/build/sdk/studio/sdk/model/projectInfoResponseAllOf.js.map +1 -1
  340. package/build/sdk/studio/sdk/model/projectVisibility.d.ts +16 -0
  341. package/build/sdk/studio/sdk/model/projectVisibility.js +16 -0
  342. package/build/sdk/studio/sdk/model/projectVisibility.js.map +1 -0
  343. package/build/sdk/studio/sdk/model/resourceRange.d.ts +29 -0
  344. package/build/sdk/studio/sdk/model/resourceRange.js +40 -0
  345. package/build/sdk/studio/sdk/model/resourceRange.js.map +1 -0
  346. package/build/sdk/studio/sdk/model/sample.d.ts +7 -0
  347. package/build/sdk/studio/sdk/model/sample.js +15 -0
  348. package/build/sdk/studio/sdk/model/sample.js.map +1 -1
  349. package/build/sdk/studio/sdk/model/setKerasParameterRequest.d.ts +6 -0
  350. package/build/sdk/studio/sdk/model/setKerasParameterRequest.js +10 -0
  351. package/build/sdk/studio/sdk/model/setKerasParameterRequest.js.map +1 -1
  352. package/build/sdk/studio/sdk/model/setSampleStructuredLabelsRequest.d.ts +26 -0
  353. package/build/sdk/studio/sdk/model/setSampleStructuredLabelsRequest.js +32 -0
  354. package/build/sdk/studio/sdk/model/setSampleStructuredLabelsRequest.js.map +1 -0
  355. package/build/sdk/studio/sdk/model/structuredClassifyResult.d.ts +6 -6
  356. package/build/sdk/studio/sdk/model/{adminCreateUserTrialRequest.d.ts → structuredLabel.d.ts} +10 -7
  357. package/build/sdk/studio/sdk/model/structuredLabel.js +45 -0
  358. package/build/sdk/studio/sdk/model/structuredLabel.js.map +1 -0
  359. package/build/sdk/studio/sdk/model/targetConstraints.d.ts +40 -0
  360. package/build/sdk/studio/sdk/model/targetConstraints.js +43 -0
  361. package/build/sdk/studio/sdk/model/targetConstraints.js.map +1 -0
  362. package/build/sdk/studio/sdk/model/{getJWTTokenRequest.d.ts → targetConstraintsDevice.d.ts} +14 -12
  363. package/build/sdk/studio/sdk/model/targetConstraintsDevice.js +52 -0
  364. package/build/sdk/studio/sdk/model/targetConstraintsDevice.js.map +1 -0
  365. package/build/sdk/studio/sdk/model/targetMemory.d.ts +30 -0
  366. package/build/sdk/studio/sdk/model/{profileTfLiteResponseAllOfMemoryTflite.js → targetMemory.js} +14 -11
  367. package/build/sdk/studio/sdk/model/targetMemory.js.map +1 -0
  368. package/build/sdk/studio/sdk/model/targetProcessor.d.ts +48 -0
  369. package/build/sdk/studio/sdk/model/targetProcessor.js +62 -0
  370. package/build/sdk/studio/sdk/model/targetProcessor.js.map +1 -0
  371. package/build/sdk/studio/sdk/model/{saveAutoSegmenterClustersRequestClusters.d.ts → tunerRun.d.ts} +7 -2
  372. package/build/sdk/studio/sdk/model/tunerRun.js +57 -0
  373. package/build/sdk/studio/sdk/model/tunerRun.js.map +1 -0
  374. package/build/sdk/studio/sdk/model/tunerTrial.d.ts +6 -3
  375. package/build/sdk/studio/sdk/model/tunerTrial.js +4 -3
  376. package/build/sdk/studio/sdk/model/tunerTrial.js.map +1 -1
  377. package/build/sdk/studio/sdk/model/tunerTrialBlocks.d.ts +8 -4
  378. package/build/sdk/studio/sdk/model/tunerTrialBlocks.js +5 -3
  379. package/build/sdk/studio/sdk/model/tunerTrialBlocks.js.map +1 -1
  380. package/build/sdk/studio/sdk/model/{activateUserRequest.d.ts → tunerTrialImpulse.d.ts} +4 -5
  381. package/build/sdk/studio/sdk/model/tunerTrialImpulse.js +42 -0
  382. package/build/sdk/studio/sdk/model/tunerTrialImpulse.js.map +1 -0
  383. package/build/sdk/studio/sdk/model/updateOrganizationCreateEmptyProjectRequest.d.ts +2 -0
  384. package/build/sdk/studio/sdk/model/updateOrganizationCreateEmptyProjectRequest.js +5 -0
  385. package/build/sdk/studio/sdk/model/updateOrganizationCreateEmptyProjectRequest.js.map +1 -1
  386. package/build/sdk/studio/sdk/model/updateOrganizationTransferLearningBlockRequest.d.ts +4 -0
  387. package/build/sdk/studio/sdk/model/updateOrganizationTransferLearningBlockRequest.js +5 -0
  388. package/build/sdk/studio/sdk/model/updateOrganizationTransferLearningBlockRequest.js.map +1 -1
  389. package/build/sdk/studio/sdk/model/updateOrganizationTransformationBlockRequest.d.ts +4 -0
  390. package/build/sdk/studio/sdk/model/updateOrganizationTransformationBlockRequest.js +5 -0
  391. package/build/sdk/studio/sdk/model/updateOrganizationTransformationBlockRequest.js.map +1 -1
  392. package/build/sdk/studio/sdk/model/updateProjectRequest.d.ts +14 -0
  393. package/build/sdk/studio/sdk/model/updateProjectRequest.js +20 -0
  394. package/build/sdk/studio/sdk/model/updateProjectRequest.js.map +1 -1
  395. package/build/sdk/studio/sdk/model/{adminGetUserMetricsResponseAllOf.d.ts → updateTunerRunRequest.d.ts} +2 -2
  396. package/build/sdk/studio/sdk/model/{activateUserRequest.js → updateTunerRunRequest.js} +11 -11
  397. package/build/sdk/studio/sdk/model/updateTunerRunRequest.js.map +1 -0
  398. package/build/sdk/studio/sdk/model/userOrganization.d.ts +2 -0
  399. package/build/sdk/studio/sdk/model/userOrganization.js +5 -0
  400. package/build/sdk/studio/sdk/model/userOrganization.js.map +1 -1
  401. package/build/shared/bounding-box-file-types.d.ts +50 -9
  402. package/build/shared/bounding-box-file-types.js +105 -4
  403. package/build/shared/bounding-box-file-types.js.map +1 -1
  404. package/build/shared/viewmodels/init.d.ts +2 -2
  405. package/build/shared/viewmodels/init.js +1 -0
  406. package/build/shared/viewmodels/init.js.map +1 -1
  407. package/cli/linux/runner.ts +175 -2
  408. package/cli/linux/webserver/middleware/asyncMiddleware.ts +7 -0
  409. package/cli/linux/webserver/public/assets/mobileclient.css +16 -0
  410. package/cli/linux/webserver/public/inference-server.js +104 -0
  411. package/cli/linux/webserver/views/escape-html-template-tag/escape.ts +64 -0
  412. package/cli/linux/webserver/views/escape-html-template-tag/index.ts +2 -0
  413. package/cli/linux/webserver/views/inference-server-view.ts +142 -0
  414. package/package.json +5 -3
  415. package/build/sdk/studio/sdk/api/allowsReadOnlyApi.d.ts +0 -726
  416. package/build/sdk/studio/sdk/api/allowsReadOnlyApi.js +0 -3986
  417. package/build/sdk/studio/sdk/api/allowsReadOnlyApi.js.map +0 -1
  418. package/build/sdk/studio/sdk/api/contentDispositionInlineApi.d.ts +0 -89
  419. package/build/sdk/studio/sdk/api/contentDispositionInlineApi.js +0 -335
  420. package/build/sdk/studio/sdk/api/contentDispositionInlineApi.js.map +0 -1
  421. package/build/sdk/studio/sdk/api/organizationAllowDeveloperProfileApi.d.ts +0 -693
  422. package/build/sdk/studio/sdk/api/organizationAllowDeveloperProfileApi.js +0 -3799
  423. package/build/sdk/studio/sdk/api/organizationAllowDeveloperProfileApi.js.map +0 -1
  424. package/build/sdk/studio/sdk/api/organizationAllowGuestAccessApi.d.ts +0 -180
  425. package/build/sdk/studio/sdk/api/organizationAllowGuestAccessApi.js +0 -847
  426. package/build/sdk/studio/sdk/api/organizationAllowGuestAccessApi.js.map +0 -1
  427. package/build/sdk/studio/sdk/api/projectRequiresAdminApi.d.ts +0 -65
  428. package/build/sdk/studio/sdk/api/projectRequiresAdminApi.js +0 -231
  429. package/build/sdk/studio/sdk/api/projectRequiresAdminApi.js.map +0 -1
  430. package/build/sdk/studio/sdk/api/requiresSudoApi.d.ts +0 -87
  431. package/build/sdk/studio/sdk/api/requiresSudoApi.js +0 -371
  432. package/build/sdk/studio/sdk/api/requiresSudoApi.js.map +0 -1
  433. package/build/sdk/studio/sdk/api/requiresThirdPartyAuthApiKeyApi.d.ts +0 -56
  434. package/build/sdk/studio/sdk/api/requiresThirdPartyAuthApiKeyApi.js +0 -158
  435. package/build/sdk/studio/sdk/api/requiresThirdPartyAuthApiKeyApi.js.map +0 -1
  436. package/build/sdk/studio/sdk/api/supportsRangeApi.d.ts +0 -74
  437. package/build/sdk/studio/sdk/api/supportsRangeApi.js +0 -248
  438. package/build/sdk/studio/sdk/api/supportsRangeApi.js.map +0 -1
  439. package/build/sdk/studio/sdk/model/activateUserRequest.js.map +0 -1
  440. package/build/sdk/studio/sdk/model/addNoteRequest.js +0 -37
  441. package/build/sdk/studio/sdk/model/addNoteRequest.js.map +0 -1
  442. package/build/sdk/studio/sdk/model/adminCreateUserTrialRequest.js +0 -42
  443. package/build/sdk/studio/sdk/model/adminCreateUserTrialRequest.js.map +0 -1
  444. package/build/sdk/studio/sdk/model/adminGetFeatureFlagsResponse.js.map +0 -1
  445. package/build/sdk/studio/sdk/model/adminGetFeatureFlagsResponseAllOf.js +0 -32
  446. package/build/sdk/studio/sdk/model/adminGetFeatureFlagsResponseAllOf.js.map +0 -1
  447. package/build/sdk/studio/sdk/model/adminGetFeatureFlagsResponseAllOfFlags.js +0 -37
  448. package/build/sdk/studio/sdk/model/adminGetFeatureFlagsResponseAllOfFlags.js.map +0 -1
  449. package/build/sdk/studio/sdk/model/adminGetUserMetricsResponseAllOf.js +0 -32
  450. package/build/sdk/studio/sdk/model/adminGetUserMetricsResponseAllOf.js.map +0 -1
  451. package/build/sdk/studio/sdk/model/anomalyModelMetadataClusters.js +0 -37
  452. package/build/sdk/studio/sdk/model/anomalyModelMetadataClusters.js.map +0 -1
  453. package/build/sdk/studio/sdk/model/anomalyModelMetadataResponse.d.ts +0 -57
  454. package/build/sdk/studio/sdk/model/anomalyModelMetadataResponse.js +0 -67
  455. package/build/sdk/studio/sdk/model/anomalyModelMetadataResponse.js.map +0 -1
  456. package/build/sdk/studio/sdk/model/classifyJobResponseAllOfResult.js +0 -42
  457. package/build/sdk/studio/sdk/model/classifyJobResponseAllOfResult.js.map +0 -1
  458. package/build/sdk/studio/sdk/model/createNoteResponse.js.map +0 -1
  459. package/build/sdk/studio/sdk/model/createNoteResponseAllOf.js +0 -32
  460. package/build/sdk/studio/sdk/model/createNoteResponseAllOf.js.map +0 -1
  461. package/build/sdk/studio/sdk/model/deployPretrainedModelInputNone.d.ts +0 -27
  462. package/build/sdk/studio/sdk/model/deployPretrainedModelInputNone.js +0 -33
  463. package/build/sdk/studio/sdk/model/deployPretrainedModelInputNone.js.map +0 -1
  464. package/build/sdk/studio/sdk/model/developmentBoard.js.map +0 -1
  465. package/build/sdk/studio/sdk/model/getAutoSegmenterResponse.js +0 -62
  466. package/build/sdk/studio/sdk/model/getAutoSegmenterResponse.js.map +0 -1
  467. package/build/sdk/studio/sdk/model/getAutoSegmenterResponseAllOf.d.ts +0 -30
  468. package/build/sdk/studio/sdk/model/getAutoSegmenterResponseAllOf.js +0 -52
  469. package/build/sdk/studio/sdk/model/getAutoSegmenterResponseAllOf.js.map +0 -1
  470. package/build/sdk/studio/sdk/model/getAutoSegmenterResponseAllOfClusters.d.ts +0 -27
  471. package/build/sdk/studio/sdk/model/getAutoSegmenterResponseAllOfClusters.js +0 -37
  472. package/build/sdk/studio/sdk/model/getAutoSegmenterResponseAllOfClusters.js.map +0 -1
  473. package/build/sdk/studio/sdk/model/getAutoSegmenterResponseAllOfItems.js +0 -32
  474. package/build/sdk/studio/sdk/model/getAutoSegmenterResponseAllOfItems.js.map +0 -1
  475. package/build/sdk/studio/sdk/model/getJWTTokenRequest.js +0 -53
  476. package/build/sdk/studio/sdk/model/getJWTTokenRequest.js.map +0 -1
  477. package/build/sdk/studio/sdk/model/getJWTTokenResponse.js.map +0 -1
  478. package/build/sdk/studio/sdk/model/getJWTTokenResponseAllOf.js +0 -37
  479. package/build/sdk/studio/sdk/model/getJWTTokenResponseAllOf.js.map +0 -1
  480. package/build/sdk/studio/sdk/model/getOrganizationProjectsDataCountResponseAllOf.d.ts +0 -25
  481. package/build/sdk/studio/sdk/model/getOrganizationProjectsDataCountResponseAllOf.js +0 -32
  482. package/build/sdk/studio/sdk/model/getOrganizationProjectsDataCountResponseAllOf.js.map +0 -1
  483. package/build/sdk/studio/sdk/model/getUserResponseAllOfOrganizations.js +0 -57
  484. package/build/sdk/studio/sdk/model/getUserResponseAllOfOrganizations.js.map +0 -1
  485. package/build/sdk/studio/sdk/model/listOrganizationProjectsResponse.js.map +0 -1
  486. package/build/sdk/studio/sdk/model/listOrganizationProjectsResponseAllOf.d.ts +0 -26
  487. package/build/sdk/studio/sdk/model/listOrganizationProjectsResponseAllOf.js +0 -32
  488. package/build/sdk/studio/sdk/model/listOrganizationProjectsResponseAllOf.js.map +0 -1
  489. package/build/sdk/studio/sdk/model/organizationCreateProjectCreatedByUser.js.map +0 -1
  490. package/build/sdk/studio/sdk/model/organizationCreateProjectFiles.d.ts +0 -32
  491. package/build/sdk/studio/sdk/model/organizationCreateProjectFiles.js +0 -58
  492. package/build/sdk/studio/sdk/model/organizationCreateProjectFiles.js.map +0 -1
  493. package/build/sdk/studio/sdk/model/organizationInfoResponseAllOfEntitlementLimits.d.ts +0 -28
  494. package/build/sdk/studio/sdk/model/organizationInfoResponseAllOfEntitlementLimits.js +0 -47
  495. package/build/sdk/studio/sdk/model/organizationInfoResponseAllOfEntitlementLimits.js.map +0 -1
  496. package/build/sdk/studio/sdk/model/profileTfLiteResponseAllOf.d.ts +0 -27
  497. package/build/sdk/studio/sdk/model/profileTfLiteResponseAllOf.js +0 -37
  498. package/build/sdk/studio/sdk/model/profileTfLiteResponseAllOf.js.map +0 -1
  499. package/build/sdk/studio/sdk/model/profileTfLiteResponseAllOfMemory.d.ts +0 -27
  500. package/build/sdk/studio/sdk/model/profileTfLiteResponseAllOfMemory.js +0 -37
  501. package/build/sdk/studio/sdk/model/profileTfLiteResponseAllOfMemory.js.map +0 -1
  502. package/build/sdk/studio/sdk/model/profileTfLiteResponseAllOfMemoryTflite.d.ts +0 -26
  503. package/build/sdk/studio/sdk/model/profileTfLiteResponseAllOfMemoryTflite.js.map +0 -1
  504. package/build/sdk/studio/sdk/model/projectInfoResponseAllOfLatencyDevices.d.ts +0 -32
  505. package/build/sdk/studio/sdk/model/projectInfoResponseAllOfLatencyDevices.js +0 -67
  506. package/build/sdk/studio/sdk/model/projectInfoResponseAllOfLatencyDevices.js.map +0 -1
  507. package/build/sdk/studio/sdk/model/runAutoSegmenterRequest.d.ts +0 -27
  508. package/build/sdk/studio/sdk/model/runAutoSegmenterRequest.js +0 -42
  509. package/build/sdk/studio/sdk/model/runAutoSegmenterRequest.js.map +0 -1
  510. package/build/sdk/studio/sdk/model/saveAutoSegmenterClustersRequest.d.ts +0 -26
  511. package/build/sdk/studio/sdk/model/saveAutoSegmenterClustersRequest.js +0 -32
  512. package/build/sdk/studio/sdk/model/saveAutoSegmenterClustersRequest.js.map +0 -1
  513. package/build/sdk/studio/sdk/model/saveAutoSegmenterClustersRequestClusters.js +0 -37
  514. package/build/sdk/studio/sdk/model/saveAutoSegmenterClustersRequestClusters.js.map +0 -1
  515. package/build/sdk/studio/sdk/model/saveAutoSegmenterClustersResponse.js.map +0 -1
  516. package/build/sdk/studio/sdk/model/saveAutoSegmenterClustersResponseAllOf.d.ts +0 -25
  517. package/build/sdk/studio/sdk/model/saveAutoSegmenterClustersResponseAllOf.js +0 -32
  518. package/build/sdk/studio/sdk/model/saveAutoSegmenterClustersResponseAllOf.js.map +0 -1
  519. package/build/sdk/studio/sdk/model/updateNoteRequest.d.ts +0 -32
  520. package/build/sdk/studio/sdk/model/updateNoteRequest.js +0 -37
  521. package/build/sdk/studio/sdk/model/updateNoteRequest.js.map +0 -1
  522. package/build/sdk/studio/sdk/model/updateNoteResponse.d.ts +0 -25
  523. package/build/sdk/studio/sdk/model/updateNoteResponse.js +0 -27
  524. package/build/sdk/studio/sdk/model/updateNoteResponse.js.map +0 -1
  525. package/build/sdk/studio/sdk/model/whitelabelAdminCreateProjectRequest.js.map +0 -1
@@ -11,22 +11,22 @@
11
11
  * Do not edit the class manually.
12
12
  */
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.ActivateUserRequest = void 0;
15
- let ActivateUserRequest = /** @class */ (() => {
16
- class ActivateUserRequest {
14
+ exports.UpdateTunerRunRequest = void 0;
15
+ let UpdateTunerRunRequest = /** @class */ (() => {
16
+ class UpdateTunerRunRequest {
17
17
  static getAttributeTypeMap() {
18
- return ActivateUserRequest.attributeTypeMap;
18
+ return UpdateTunerRunRequest.attributeTypeMap;
19
19
  }
20
20
  }
21
- ActivateUserRequest.discriminator = undefined;
22
- ActivateUserRequest.attributeTypeMap = [
21
+ UpdateTunerRunRequest.discriminator = undefined;
22
+ UpdateTunerRunRequest.attributeTypeMap = [
23
23
  {
24
- "name": "code",
25
- "baseName": "code",
24
+ "name": "name",
25
+ "baseName": "name",
26
26
  "type": "string"
27
27
  }
28
28
  ];
29
- return ActivateUserRequest;
29
+ return UpdateTunerRunRequest;
30
30
  })();
31
- exports.ActivateUserRequest = ActivateUserRequest;
32
- //# sourceMappingURL=activateUserRequest.js.map
31
+ exports.UpdateTunerRunRequest = UpdateTunerRunRequest;
32
+ //# sourceMappingURL=updateTunerRunRequest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateTunerRunRequest.js","sourceRoot":"","sources":["../../../../../sdk/studio/sdk/model/updateTunerRunRequest.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAGH;IAAA,MAAa,qBAAqB;QAY9B,MAAM,CAAC,mBAAmB;YACtB,OAAO,qBAAqB,CAAC,gBAAgB,CAAC;QAClD,CAAC;;IAXM,mCAAa,GAAuB,SAAS,CAAC;IAE9C,sCAAgB,GAA0D;QAC7E;YACI,MAAM,EAAE,MAAM;YACd,UAAU,EAAE,MAAM;YAClB,MAAM,EAAE,QAAQ;SACnB;KAAK,CAAC;IAKf,4BAAC;KAAA;AAfY,sDAAqB"}
@@ -9,6 +9,7 @@
9
9
  * https://openapi-generator.tech
10
10
  * Do not edit the class manually.
11
11
  */
12
+ import { EntitlementLimits } from './entitlementLimits';
12
13
  export declare class UserOrganization {
13
14
  'id': number;
14
15
  'name': string;
@@ -38,6 +39,7 @@ export declare class UserOrganization {
38
39
  * Date when the trial was upgraded to a full enterprise account, if any.
39
40
  */
40
41
  'trialUpgradedDate': Date | null;
42
+ 'entitlementLimits': EntitlementLimits;
41
43
  static discriminator: string | undefined;
42
44
  static attributeTypeMap: Array<{
43
45
  name: string;
@@ -69,6 +69,11 @@ let UserOrganization = /** @class */ (() => {
69
69
  "name": "trialUpgradedDate",
70
70
  "baseName": "trialUpgradedDate",
71
71
  "type": "Date"
72
+ },
73
+ {
74
+ "name": "entitlementLimits",
75
+ "baseName": "entitlementLimits",
76
+ "type": "EntitlementLimits"
72
77
  }
73
78
  ];
74
79
  return UserOrganization;
@@ -1 +1 @@
1
- {"version":3,"file":"userOrganization.js","sourceRoot":"","sources":["../../../../../sdk/studio/sdk/model/userOrganization.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAGH;IAAA,MAAa,gBAAgB;QAoFzB,MAAM,CAAC,mBAAmB;YACtB,OAAO,gBAAgB,CAAC,gBAAgB,CAAC;QAC7C,CAAC;;IAxDM,8BAAa,GAAuB,SAAS,CAAC;IAE9C,iCAAgB,GAA0D;QAC7E;YACI,MAAM,EAAE,IAAI;YACZ,UAAU,EAAE,IAAI;YAChB,MAAM,EAAE,QAAQ;SACnB;QACD;YACI,MAAM,EAAE,MAAM;YACd,UAAU,EAAE,MAAM;YAClB,MAAM,EAAE,QAAQ;SACnB;QACD;YACI,MAAM,EAAE,MAAM;YACd,UAAU,EAAE,MAAM;YAClB,MAAM,EAAE,QAAQ;SACnB;QACD;YACI,MAAM,EAAE,oBAAoB;YAC5B,UAAU,EAAE,oBAAoB;YAChC,MAAM,EAAE,SAAS;SACpB;QACD;YACI,MAAM,EAAE,cAAc;YACtB,UAAU,EAAE,cAAc;YAC1B,MAAM,EAAE,QAAQ;SACnB;QACD;YACI,MAAM,EAAE,SAAS;YACjB,UAAU,EAAE,SAAS;YACrB,MAAM,EAAE,SAAS;SACpB;QACD;YACI,MAAM,EAAE,SAAS;YACjB,UAAU,EAAE,SAAS;YACrB,MAAM,EAAE,MAAM;SACjB;QACD;YACI,MAAM,EAAE,SAAS;YACjB,UAAU,EAAE,SAAS;YACrB,MAAM,EAAE,QAAQ;SACnB;QACD;YACI,MAAM,EAAE,kBAAkB;YAC1B,UAAU,EAAE,kBAAkB;YAC9B,MAAM,EAAE,MAAM;SACjB;QACD;YACI,MAAM,EAAE,mBAAmB;YAC3B,UAAU,EAAE,mBAAmB;YAC/B,MAAM,EAAE,MAAM;SACjB;KAAK,CAAC;IAKf,uBAAC;KAAA;AAvFY,4CAAgB"}
1
+ {"version":3,"file":"userOrganization.js","sourceRoot":"","sources":["../../../../../sdk/studio/sdk/model/userOrganization.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAIH;IAAA,MAAa,gBAAgB;QA0FzB,MAAM,CAAC,mBAAmB;YACtB,OAAO,gBAAgB,CAAC,gBAAgB,CAAC;QAC7C,CAAC;;IA7DM,8BAAa,GAAuB,SAAS,CAAC;IAE9C,iCAAgB,GAA0D;QAC7E;YACI,MAAM,EAAE,IAAI;YACZ,UAAU,EAAE,IAAI;YAChB,MAAM,EAAE,QAAQ;SACnB;QACD;YACI,MAAM,EAAE,MAAM;YACd,UAAU,EAAE,MAAM;YAClB,MAAM,EAAE,QAAQ;SACnB;QACD;YACI,MAAM,EAAE,MAAM;YACd,UAAU,EAAE,MAAM;YAClB,MAAM,EAAE,QAAQ;SACnB;QACD;YACI,MAAM,EAAE,oBAAoB;YAC5B,UAAU,EAAE,oBAAoB;YAChC,MAAM,EAAE,SAAS;SACpB;QACD;YACI,MAAM,EAAE,cAAc;YACtB,UAAU,EAAE,cAAc;YAC1B,MAAM,EAAE,QAAQ;SACnB;QACD;YACI,MAAM,EAAE,SAAS;YACjB,UAAU,EAAE,SAAS;YACrB,MAAM,EAAE,SAAS;SACpB;QACD;YACI,MAAM,EAAE,SAAS;YACjB,UAAU,EAAE,SAAS;YACrB,MAAM,EAAE,MAAM;SACjB;QACD;YACI,MAAM,EAAE,SAAS;YACjB,UAAU,EAAE,SAAS;YACrB,MAAM,EAAE,QAAQ;SACnB;QACD;YACI,MAAM,EAAE,kBAAkB;YAC1B,UAAU,EAAE,kBAAkB;YAC9B,MAAM,EAAE,MAAM;SACjB;QACD;YACI,MAAM,EAAE,mBAAmB;YAC3B,UAAU,EAAE,mBAAmB;YAC/B,MAAM,EAAE,MAAM;SACjB;QACD;YACI,MAAM,EAAE,mBAAmB;YAC3B,UAAU,EAAE,mBAAmB;YAC/B,MAAM,EAAE,mBAAmB;SAC9B;KAAK,CAAC;IAKf,uBAAC;KAAA;AA7FY,4CAAgB"}
@@ -5,7 +5,7 @@ export interface ExportInputBoundingBox {
5
5
  x: number;
6
6
  y: number;
7
7
  }
8
- export interface ExportBoundingBoxesFile {
8
+ export interface ExportBoundingBoxesFileV1 {
9
9
  version: 1;
10
10
  type: 'bounding-box-labels';
11
11
  boundingBoxes: BoundingBoxesMap;
@@ -13,18 +13,59 @@ export interface ExportBoundingBoxesFile {
13
13
  export interface BoundingBoxesMap {
14
14
  [fileName: string]: ExportInputBoundingBox[];
15
15
  }
16
- export declare function parseBoundingBoxLabels(jsonFile: string): ExportBoundingBoxesFile;
17
- export declare function validateBoundingBoxLabels(data: ExportBoundingBoxesFile): ExportBoundingBoxesFile;
16
+ export declare function parseBoundingBoxLabels(jsonFile: string): ExportBoundingBoxesFileV1;
17
+ export declare function validateBoundingBoxLabelsFile(data: ExportBoundingBoxesFileV1): ExportBoundingBoxesFileV1;
18
+ export declare type ExportStructuredLabelsFileV1 = {
19
+ version: 1;
20
+ type: 'structured-labels';
21
+ structuredLabels: StructuredLabelsMap;
22
+ };
23
+ export declare type ExportStructuredLabel = {
24
+ startIndex: number;
25
+ endIndex: number;
26
+ label: string;
27
+ };
28
+ export declare type StructuredLabelsMap = {
29
+ [fileName: string]: ExportStructuredLabel[];
30
+ };
31
+ export declare function parseStructuredLabelsFile(jsonFile: string): ExportStructuredLabelsFileV1;
32
+ export declare function validateStructuredLabelsFile(data: ExportStructuredLabelsFileV1): ExportStructuredLabelsFileV1;
33
+ export declare type StructuredLabelSource = 'structured_labels.labels' | 'payload.structured_labels' | 'labels from csv file' | 'structuredLabels';
34
+ export declare function verifyStructuredLabelsString(json: string, valuesCount: number, source: StructuredLabelSource): ExportStructuredLabel[];
35
+ export declare function verifyStructuredLabels(labels: ExportStructuredLabel[], valuesCount: number, source: StructuredLabelSource): ExportStructuredLabel[];
36
+ /**
37
+ * This returns a new string array of length `sample.valuesCount`, and each
38
+ * value of the array contains the label of the sample at that specific index.
39
+ * If you have a sample that has structured labels you can use this to easily
40
+ * find what the expected label was for the sample at a certain index.
41
+ * If the sample has no structured labels it'll return undefined.
42
+ * @param sample The sample
43
+ * @returns A string[] with labels (or undefined if no structured labels)
44
+ */
45
+ export declare function calculateAllStructuredLabels(sample: {
46
+ structuredLabels: ExportStructuredLabel[];
47
+ valuesCount: number;
48
+ }): string[];
18
49
  export declare type ExportUploaderInfoFileCategory = 'training' | 'testing' | 'split';
50
+ export declare type ExportUploaderInfoFileMultiLabel = {
51
+ startIndex: number;
52
+ endIndex: number;
53
+ label: string;
54
+ };
55
+ export declare type ExportUploaderInfoFileLabel = {
56
+ type: 'unlabeled';
57
+ } | {
58
+ type: 'label';
59
+ label: string;
60
+ } | {
61
+ type: 'multi-label';
62
+ labels: ExportUploaderInfoFileMultiLabel[];
63
+ };
19
64
  export interface ExportUploaderInfoFile {
20
65
  path: string;
66
+ name: string | undefined;
21
67
  category: ExportUploaderInfoFileCategory;
22
- label: {
23
- type: 'unlabeled';
24
- } | {
25
- type: 'label';
26
- label: string;
27
- };
68
+ label: ExportUploaderInfoFileLabel;
28
69
  metadata: {
29
70
  [k: string]: string;
30
71
  } | undefined;
@@ -1,12 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parseUploaderInfo = exports.validateBoundingBoxLabels = exports.parseBoundingBoxLabels = void 0;
3
+ exports.parseUploaderInfo = exports.calculateAllStructuredLabels = exports.verifyStructuredLabels = exports.verifyStructuredLabelsString = exports.validateStructuredLabelsFile = exports.parseStructuredLabelsFile = exports.validateBoundingBoxLabelsFile = exports.parseBoundingBoxLabels = void 0;
4
4
  function parseBoundingBoxLabels(jsonFile) {
5
5
  const data = JSON.parse(jsonFile);
6
- return validateBoundingBoxLabels(data);
6
+ return validateBoundingBoxLabelsFile(data);
7
7
  }
8
8
  exports.parseBoundingBoxLabels = parseBoundingBoxLabels;
9
- function validateBoundingBoxLabels(data) {
9
+ function validateBoundingBoxLabelsFile(data) {
10
10
  if (data.version !== 1) {
11
11
  throw new Error('Invalid version');
12
12
  }
@@ -18,7 +18,108 @@ function validateBoundingBoxLabels(data) {
18
18
  }
19
19
  return data;
20
20
  }
21
- exports.validateBoundingBoxLabels = validateBoundingBoxLabels;
21
+ exports.validateBoundingBoxLabelsFile = validateBoundingBoxLabelsFile;
22
+ function parseStructuredLabelsFile(jsonFile) {
23
+ const data = JSON.parse(jsonFile);
24
+ return validateStructuredLabelsFile(data);
25
+ }
26
+ exports.parseStructuredLabelsFile = parseStructuredLabelsFile;
27
+ function validateStructuredLabelsFile(data) {
28
+ if (data.version !== 1) {
29
+ throw new Error('Invalid version');
30
+ }
31
+ if (data.type !== 'structured-labels') {
32
+ throw new Error('Invalid type, expected "structured-labels" but was "' + data.type + '"');
33
+ }
34
+ if (typeof data.structuredLabels !== 'object') {
35
+ throw new Error('structuredLabels is not an object');
36
+ }
37
+ // inner structure will be validated by ingestion
38
+ return data;
39
+ }
40
+ exports.validateStructuredLabelsFile = validateStructuredLabelsFile;
41
+ function verifyStructuredLabelsString(json, valuesCount, source) {
42
+ let labels;
43
+ try {
44
+ labels = JSON.parse(json);
45
+ }
46
+ catch (ex) {
47
+ throw new Error(source + ' is not valid json');
48
+ }
49
+ return verifyStructuredLabels(labels, valuesCount, source);
50
+ }
51
+ exports.verifyStructuredLabelsString = verifyStructuredLabelsString;
52
+ function verifyStructuredLabels(labels, valuesCount, source) {
53
+ if (!Array.isArray(labels)) {
54
+ throw new Error(`${source} is not a valid array`);
55
+ }
56
+ for (let ix = 0; ix < labels.length; ix++) {
57
+ const l = labels[ix];
58
+ if (typeof l.label !== 'string') {
59
+ throw new Error(`${source} (index ${ix}) "label" is required`);
60
+ }
61
+ if (typeof l.startIndex !== 'number') {
62
+ throw new Error(`${source} (index ${ix}) "startIndex" is required and should be numeric`);
63
+ }
64
+ if (typeof l.endIndex !== 'number') {
65
+ throw new Error(`${source} (index ${ix}) "endIndex" is required and should be numeric`);
66
+ }
67
+ if (l.startIndex !== Math.floor(l.startIndex)) {
68
+ throw new Error(`${source} (index ${ix}) "startIndex" should be an integer`);
69
+ }
70
+ if (l.endIndex !== Math.floor(l.endIndex)) {
71
+ throw new Error(`${source} (index ${ix}) "endIndex" should be an integer`);
72
+ }
73
+ if (l.startIndex < 0) {
74
+ throw new Error(`${source} (index ${ix}) "startIndex" should be >= 0`);
75
+ }
76
+ if (l.startIndex > l.endIndex) {
77
+ throw new Error(`${source} (index ${ix}) "endIndex" should be after "startIndex"`);
78
+ }
79
+ if (l.startIndex >= valuesCount) {
80
+ throw new Error(`${source} (index ${ix}) "startIndex" is out of bounds, max. index is ${valuesCount - 1}`);
81
+ }
82
+ if (l.endIndex >= valuesCount) {
83
+ throw new Error(`${source} (index ${ix}) "endIndex" is out of bounds, max. index is ${valuesCount - 1}`);
84
+ }
85
+ }
86
+ // this validates that we have labels for every index
87
+ let allLabels = calculateAllStructuredLabels({
88
+ structuredLabels: labels,
89
+ valuesCount: valuesCount,
90
+ });
91
+ return labels;
92
+ }
93
+ exports.verifyStructuredLabels = verifyStructuredLabels;
94
+ /**
95
+ * This returns a new string array of length `sample.valuesCount`, and each
96
+ * value of the array contains the label of the sample at that specific index.
97
+ * If you have a sample that has structured labels you can use this to easily
98
+ * find what the expected label was for the sample at a certain index.
99
+ * If the sample has no structured labels it'll return undefined.
100
+ * @param sample The sample
101
+ * @returns A string[] with labels (or undefined if no structured labels)
102
+ */
103
+ function calculateAllStructuredLabels(sample) {
104
+ let allStructuredLabels = Array.from({ length: sample.valuesCount }).fill(undefined);
105
+ for (let structuredLabel of sample.structuredLabels) {
106
+ // endIx is inclusive
107
+ for (let ix = structuredLabel.startIndex; ix <= structuredLabel.endIndex; ix++) {
108
+ if (ix > sample.valuesCount + 1) {
109
+ throw new Error(`structuredLabels: index ${ix} is out of bounds. ` +
110
+ `Max index is ${sample.valuesCount + 1}.`);
111
+ }
112
+ allStructuredLabels[ix] = structuredLabel.label;
113
+ }
114
+ }
115
+ let undefinedIx = allStructuredLabels === null || allStructuredLabels === void 0 ? void 0 : allStructuredLabels.findIndex(l => typeof l === 'undefined');
116
+ if (undefinedIx !== -1) {
117
+ throw new Error(`structuredLabels: index ${undefinedIx} does not have a label. ` +
118
+ `Currently we require structured labels for the complete sample, there cannot be any gaps in the labels.`);
119
+ }
120
+ return allStructuredLabels;
121
+ }
122
+ exports.calculateAllStructuredLabels = calculateAllStructuredLabels;
22
123
  function parseUploaderInfo(jsonFile) {
23
124
  let data = JSON.parse(jsonFile);
24
125
  if (data.version !== 1) {
@@ -1 +1 @@
1
- {"version":3,"file":"bounding-box-file-types.js","sourceRoot":"","sources":["../../shared/bounding-box-file-types.ts"],"names":[],"mappings":";;;AAgBA,SAAgB,sBAAsB,CAAC,QAAgB;IACnD,MAAM,IAAI,GAA4B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC3D,OAAO,yBAAyB,CAAC,IAAI,CAAC,CAAC;AAC3C,CAAC;AAHD,wDAGC;AAED,SAAgB,yBAAyB,CAAC,IAA6B;IACnE,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,EAAE;QACpB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;KACtC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,qBAAqB,EAAE;QACrC,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;KACnC;IACD,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,QAAQ,EAAE;QACxC,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;KACrD;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAXD,8DAWC;AAiBD,SAAgB,iBAAiB,CAAC,QAAgB;IAC9C,IAAI,IAAI,GAA6B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC1D,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,EAAE;QACpB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;KACtC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;QAC5B,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;KAC5C;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AATD,8CASC"}
1
+ {"version":3,"file":"bounding-box-file-types.js","sourceRoot":"","sources":["../../shared/bounding-box-file-types.ts"],"names":[],"mappings":";;;AAgBA,SAAgB,sBAAsB,CAAC,QAAgB;IACnD,MAAM,IAAI,GAA8B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC7D,OAAO,6BAA6B,CAAC,IAAI,CAAC,CAAC;AAC/C,CAAC;AAHD,wDAGC;AAED,SAAgB,6BAA6B,CAAC,IAA+B;IACzE,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,EAAE;QACpB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;KACtC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,qBAAqB,EAAE;QACrC,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;KACnC;IACD,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,QAAQ,EAAE;QACxC,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;KACrD;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAXD,sEAWC;AAgBD,SAAgB,yBAAyB,CAAC,QAAgB;IACtD,MAAM,IAAI,GAAiC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAChE,OAAO,4BAA4B,CAAC,IAAI,CAAC,CAAC;AAC9C,CAAC;AAHD,8DAGC;AAED,SAAgB,4BAA4B,CAAC,IAAkC;IAC3E,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,EAAE;QACpB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;KACtC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,mBAAmB,EAAE;QACnC,MAAM,IAAI,KAAK,CAAC,sDAAsD,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;KAC7F;IACD,IAAI,OAAO,IAAI,CAAC,gBAAgB,KAAK,QAAQ,EAAE;QAC3C,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;KACxD;IAED,iDAAiD;IAEjD,OAAO,IAAI,CAAC;AAChB,CAAC;AAdD,oEAcC;AAKD,SAAgB,4BAA4B,CAAC,IAAY,EAAE,WAAmB,EACjC,MAA6B;IACtE,IAAI,MAAM,CAAC;IACX,IAAI;QACA,MAAM,GAA4B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;KACtD;IACD,OAAO,EAAE,EAAE;QACP,MAAM,IAAI,KAAK,CAAC,MAAM,GAAG,oBAAoB,CAAC,CAAC;KAClD;IACD,OAAO,sBAAsB,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;AAC/D,CAAC;AAVD,oEAUC;AAED,SAAgB,sBAAsB,CAAC,MAA+B,EAAE,WAAmB,EACpD,MAA6B;IAChE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QACxB,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,uBAAuB,CAAC,CAAC;KACrD;IAED,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;QACvC,MAAM,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;QACrB,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,EAAE;YAC7B,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,WAAW,EAAE,uBAAuB,CAAC,CAAC;SAClE;QACD,IAAI,OAAO,CAAC,CAAC,UAAU,KAAK,QAAQ,EAAE;YAClC,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,WAAW,EAAE,kDAAkD,CAAC,CAAC;SAC7F;QACD,IAAI,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,EAAE;YAChC,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,WAAW,EAAE,gDAAgD,CAAC,CAAC;SAC3F;QACD,IAAI,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE;YAC3C,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,WAAW,EAAE,qCAAqC,CAAC,CAAC;SAChF;QACD,IAAI,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE;YACvC,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,WAAW,EAAE,mCAAmC,CAAC,CAAC;SAC9E;QACD,IAAI,CAAC,CAAC,UAAU,GAAG,CAAC,EAAE;YAClB,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,WAAW,EAAE,+BAA+B,CAAC,CAAC;SAC1E;QACD,IAAI,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,QAAQ,EAAE;YAC3B,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,WAAW,EAAE,2CAA2C,CAAC,CAAC;SACtF;QACD,IAAI,CAAC,CAAC,UAAU,IAAI,WAAW,EAAE;YAC7B,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,WAAW,EAAE,kDAAkD,WAAW,GAAG,CAAC,EAAE,CAAC,CAAC;SAC9G;QACD,IAAI,CAAC,CAAC,QAAQ,IAAI,WAAW,EAAE;YAC3B,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,WAAW,EAAE,gDAAgD,WAAW,GAAG,CAAC,EAAE,CAAC,CAAC;SAC5G;KACJ;IAED,qDAAqD;IACrD,IAAI,SAAS,GAAG,4BAA4B,CAAC;QACzC,gBAAgB,EAAE,MAAM;QACxB,WAAW,EAAE,WAAW;KAC3B,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAClB,CAAC;AA5CD,wDA4CC;AAED;;;;;;;;GAQG;AACH,SAAgB,4BAA4B,CAAC,MAG5C;IACG,IAAI,mBAAmB,GAA2B,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC7G,KAAK,IAAI,eAAe,IAAI,MAAM,CAAC,gBAAgB,EAAE;QACjD,qBAAqB;QACrB,KAAK,IAAI,EAAE,GAAG,eAAe,CAAC,UAAU,EAAE,EAAE,IAAI,eAAe,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE;YAC5E,IAAI,EAAE,GAAG,MAAM,CAAC,WAAW,GAAG,CAAC,EAAE;gBAC7B,MAAM,IAAI,KAAK,CAAC,2BAA2B,EAAE,qBAAqB;oBAC9D,gBAAgB,MAAM,CAAC,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC;aAClD;YACD,mBAAmB,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC;SACnD;KACJ;IAED,IAAI,WAAW,GAAG,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,WAAW,CAAC,CAAC;IAChF,IAAI,WAAW,KAAK,CAAC,CAAC,EAAE;QACpB,MAAM,IAAI,KAAK,CAAC,2BAA2B,WAAW,0BAA0B;YAC5E,yGAAyG,CAAC,CAAC;KAClH;IAED,OAAiB,mBAAmB,CAAC;AACzC,CAAC;AAvBD,oEAuBC;AA+BD,SAAgB,iBAAiB,CAAC,QAAgB;IAC9C,IAAI,IAAI,GAA6B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC1D,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,EAAE;QACpB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;KACtC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;QAC5B,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;KAC5C;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AATD,8CASC"}
@@ -67,7 +67,8 @@ export declare enum PageType {
67
67
  OrganizationDataHub = 108,
68
68
  OrganizationDataCampaignsDashboard = 109,
69
69
  OrganizationDataFiles = 110,
70
- UploadPortal = 200
70
+ UploadPortal = 200,
71
+ Announcement = 201
71
72
  }
72
73
  export declare type ClientConnectionType = 'ip' | 'daemon';
73
74
  export interface ClientConnectedDevice {
@@ -87,7 +88,6 @@ export interface ClientStudioWebsocketHello {
87
88
  version: number;
88
89
  };
89
90
  devices: ClientConnectedDevice[];
90
- activeTunerJobId?: number;
91
91
  }
92
92
  export interface ClientInitUser {
93
93
  id: number;
@@ -72,5 +72,6 @@ var PageType;
72
72
  PageType[PageType["OrganizationDataCampaignsDashboard"] = 109] = "OrganizationDataCampaignsDashboard";
73
73
  PageType[PageType["OrganizationDataFiles"] = 110] = "OrganizationDataFiles";
74
74
  PageType[PageType["UploadPortal"] = 200] = "UploadPortal";
75
+ PageType[PageType["Announcement"] = 201] = "Announcement";
75
76
  })(PageType = exports.PageType || (exports.PageType = {}));
76
77
  //# sourceMappingURL=init.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../shared/viewmodels/init.ts"],"names":[],"mappings":";;;AAAA,IAAY,QAsEX;AAtED,WAAY,QAAQ;IAChB,2CAAU,CAAA;IACV,qDAAe,CAAA;IACf,qCAAO,CAAA;IACP,yDAAiB,CAAA;IACjB,iEAAqB,CAAA;IACrB,2DAAkB,CAAA;IAClB,mDAAc,CAAA;IACd,yDAAiB,CAAA;IACjB,+DAAoB,CAAA;IACpB,yDAAiB,CAAA;IACjB,8DAAoB,CAAA;IACpB,8CAAY,CAAA;IACZ,8DAAoB,CAAA;IACpB,gEAAqB,CAAA;IACrB,kEAAsB,CAAA;IACtB,8EAA4B,CAAA;IAC5B,8CAAY,CAAA;IACZ,wCAAS,CAAA;IACT,0CAAU,CAAA;IACV,4CAAW,CAAA;IACX,4DAAmB,CAAA;IACnB,gFAA6B,CAAA;IAC7B,0DAAkB,CAAA;IAClB,4CAAW,CAAA;IACX,4CAAW,CAAA;IACX,gDAAa,CAAA;IACb,8CAAY,CAAA;IACZ,gDAAa,CAAA;IACb,0CAAU,CAAA;IACV,wEAAyB,CAAA;IACzB,8EAA4B,CAAA;IAC5B,4EAA2B,CAAA;IAC3B,wCAAS,CAAA;IACT,oEAAuB,CAAA;IACvB,gDAAa,CAAA;IACb,wDAAiB,CAAA;IACjB,oEAAuB,CAAA;IACvB,sDAAgB,CAAA;IAChB,4EAA2B,CAAA;IAC3B,gEAAqB,CAAA;IACrB,8DAAoB,CAAA;IACpB,kDAAc,CAAA;IACd,8DAAoB,CAAA;IACpB,0DAAkB,CAAA;IAClB,oDAAe,CAAA;IACf,sDAAgB,CAAA;IAChB,gDAAa,CAAA;IACb,0EAA0B,CAAA;IAC1B,kEAAsB,CAAA;IACtB,gEAAqB,CAAA;IACrB,sEAAwB,CAAA;IACxB,gEAAqB,CAAA;IACrB,kFAA8B,CAAA;IAC9B,oFAA+B,CAAA;IAC/B,gGAAqC,CAAA;IACrC,0FAAkC,CAAA;IAClC,wEAAyB,CAAA;IACzB,qEAAwB,CAAA;IACxB,uEAAyB,CAAA;IACzB,mFAA+B,CAAA;IAC/B,+DAAqB,CAAA;IACrB,yFAAkC,CAAA;IAClC,yEAA0B,CAAA;IAC1B,yEAA0B,CAAA;IAC1B,iEAAsB,CAAA;IACtB,uEAAyB,CAAA;IACzB,qGAAwC,CAAA;IACxC,2EAA2B,CAAA;IAC3B,yDAAkB,CAAA;AACtB,CAAC,EAtEW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAsEnB"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../shared/viewmodels/init.ts"],"names":[],"mappings":";;;AAAA,IAAY,QAuEX;AAvED,WAAY,QAAQ;IAChB,2CAAU,CAAA;IACV,qDAAe,CAAA;IACf,qCAAO,CAAA;IACP,yDAAiB,CAAA;IACjB,iEAAqB,CAAA;IACrB,2DAAkB,CAAA;IAClB,mDAAc,CAAA;IACd,yDAAiB,CAAA;IACjB,+DAAoB,CAAA;IACpB,yDAAiB,CAAA;IACjB,8DAAoB,CAAA;IACpB,8CAAY,CAAA;IACZ,8DAAoB,CAAA;IACpB,gEAAqB,CAAA;IACrB,kEAAsB,CAAA;IACtB,8EAA4B,CAAA;IAC5B,8CAAY,CAAA;IACZ,wCAAS,CAAA;IACT,0CAAU,CAAA;IACV,4CAAW,CAAA;IACX,4DAAmB,CAAA;IACnB,gFAA6B,CAAA;IAC7B,0DAAkB,CAAA;IAClB,4CAAW,CAAA;IACX,4CAAW,CAAA;IACX,gDAAa,CAAA;IACb,8CAAY,CAAA;IACZ,gDAAa,CAAA;IACb,0CAAU,CAAA;IACV,wEAAyB,CAAA;IACzB,8EAA4B,CAAA;IAC5B,4EAA2B,CAAA;IAC3B,wCAAS,CAAA;IACT,oEAAuB,CAAA;IACvB,gDAAa,CAAA;IACb,wDAAiB,CAAA;IACjB,oEAAuB,CAAA;IACvB,sDAAgB,CAAA;IAChB,4EAA2B,CAAA;IAC3B,gEAAqB,CAAA;IACrB,8DAAoB,CAAA;IACpB,kDAAc,CAAA;IACd,8DAAoB,CAAA;IACpB,0DAAkB,CAAA;IAClB,oDAAe,CAAA;IACf,sDAAgB,CAAA;IAChB,gDAAa,CAAA;IACb,0EAA0B,CAAA;IAC1B,kEAAsB,CAAA;IACtB,gEAAqB,CAAA;IACrB,sEAAwB,CAAA;IACxB,gEAAqB,CAAA;IACrB,kFAA8B,CAAA;IAC9B,oFAA+B,CAAA;IAC/B,gGAAqC,CAAA;IACrC,0FAAkC,CAAA;IAClC,wEAAyB,CAAA;IACzB,qEAAwB,CAAA;IACxB,uEAAyB,CAAA;IACzB,mFAA+B,CAAA;IAC/B,+DAAqB,CAAA;IACrB,yFAAkC,CAAA;IAClC,yEAA0B,CAAA;IAC1B,yEAA0B,CAAA;IAC1B,iEAAsB,CAAA;IACtB,uEAAyB,CAAA;IACzB,qGAAwC,CAAA;IACxC,2EAA2B,CAAA;IAC3B,yDAAkB,CAAA;IAClB,yDAAkB,CAAA;AACtB,CAAC,EAvEW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAuEnB"}
@@ -21,6 +21,10 @@ import sharp from 'sharp';
21
21
  import { AudioRecorder } from '../../library';
22
22
  import { ips } from '../get-ips';
23
23
  import { Prophesee } from '../../library/sensors/prophesee';
24
+ import { asyncMiddleware } from './webserver/middleware/asyncMiddleware';
25
+ import multer from 'multer';
26
+ import util from 'util';
27
+ import { renderInferenceServerView } from './webserver/views/inference-server-view';
24
28
 
25
29
  const RUNNER_PREFIX = '\x1b[33m[RUN]\x1b[0m';
26
30
  const BUILD_PREFIX = '\x1b[32m[BLD]\x1b[0m';
@@ -42,6 +46,7 @@ program
42
46
  .option('--list-targets', 'List all supported targets and inference engines')
43
47
  .option('--force-target <target>', 'Do not autodetect the target system, but set it by hand (e.g. "runner-linux-aarch64")')
44
48
  .option('--force-engine <engine>', 'Do not autodetect the inference engine, but set it by hand (e.g. "tflite")')
49
+ .option('--run-http-server <port>', 'Do not run using a sensor, but instead expose an API server at the specified port')
45
50
  .option('--clean', 'Clear credentials')
46
51
  .option('--silent', `Run in silent mode, don't prompt for credentials`)
47
52
  .option('--quantized', 'Download int8 quantized neural networks, rather than the float32 neural networks. ' +
@@ -66,6 +71,7 @@ const downloadArgv = <string | undefined>program.download;
66
71
  const forceTargetArgv = <string | undefined>program.forceTarget;
67
72
  const forceEngineArgv = <string | undefined>program.forceEngine;
68
73
  const listTargetsArgv: boolean = !!program.listTargets;
74
+ const runHttpServerPort = program.runHttpServer ? Number(program.runHttpServer) : undefined;
69
75
 
70
76
  process.on('warning', e => console.warn(e.stack));
71
77
 
@@ -131,6 +137,7 @@ process.on('SIGINT', onSignal);
131
137
  }
132
138
 
133
139
  let modelPath: RunnerModelPath | undefined;
140
+ let projectStudioUrl: string | undefined;
134
141
 
135
142
  // no model file passed in? then build / download the latest deployment...
136
143
  if (!modelFileArgv) {
@@ -138,7 +145,10 @@ process.on('SIGINT', onSignal);
138
145
  const config = init.config;
139
146
  configFactory = init.configFactory;
140
147
 
141
- const { projectId, devKeys } = await setupCliApp(configFactory, config, cliOptions, undefined);
148
+ const { projectId } = await setupCliApp(configFactory, config, cliOptions, undefined);
149
+
150
+ const studioUrl = await configFactory.getStudioUrl(null);
151
+ projectStudioUrl = studioUrl + '/studio/' + projectId;
142
152
 
143
153
  await configFactory.setLinuxProjectId(projectId);
144
154
 
@@ -213,13 +223,42 @@ process.on('SIGINT', onSignal);
213
223
  }
214
224
  }
215
225
 
226
+ if (!projectStudioUrl) {
227
+ projectStudioUrl = 'https://studio.edgeimpulse.com/studio/' + model.project.id;
228
+ }
229
+
216
230
  let param = model.modelParameters;
217
231
 
232
+ if (runHttpServerPort) {
233
+ console.log(RUNNER_PREFIX, 'Starting HTTP server for',
234
+ model.project.owner + ' / ' + model.project.name, '(v' + model.project.deploy_version + ')',
235
+ 'on port ' + runHttpServerPort);
236
+ if (param.sensorType === 'camera') {
237
+ console.log(RUNNER_PREFIX, 'Parameters',
238
+ 'image size', param.image_input_width + 'x' + param.image_input_height + ' px (' +
239
+ param.image_channel_count + ' channels)',
240
+ 'classes', param.labels);
241
+ }
242
+ else {
243
+ console.log(RUNNER_PREFIX, 'Parameters', 'freq', param.frequency + 'Hz',
244
+ 'window length', ((param.input_features_count / param.frequency / param.axis_count) * 1000) + 'ms.',
245
+ 'classes', param.labels);
246
+ }
247
+
248
+ await startApiServer(model, runner, projectStudioUrl, runHttpServerPort);
249
+
250
+ console.log(RUNNER_PREFIX, '');
251
+ console.log(RUNNER_PREFIX, `HTTP Server now running at http://localhost:${runHttpServerPort}`);
252
+ console.log(RUNNER_PREFIX, '');
253
+
254
+ return;
255
+ }
256
+
218
257
  if (param.sensorType === 'microphone') {
219
258
  console.log(RUNNER_PREFIX, 'Starting the audio classifier for',
220
259
  model.project.owner + ' / ' + model.project.name, '(v' + model.project.deploy_version + ')');
221
260
  console.log(RUNNER_PREFIX, 'Parameters', 'freq', param.frequency + 'Hz',
222
- 'window length', ((param.input_features_count / param.frequency) * 1000) + 'ms.',
261
+ 'window length', ((param.input_features_count / param.frequency / param.axis_count) * 1000) + 'ms.',
223
262
  'classes', param.labels);
224
263
 
225
264
  if (enableCameraArgv) {
@@ -510,3 +549,137 @@ function startWebServer(model: ModelInformation, camera: ICamera, imgClassifier:
510
549
  });
511
550
  });
512
551
  }
552
+
553
+ function startApiServer(model: ModelInformation, runner: LinuxImpulseRunner, projectStudioUrl: string, port: number) {
554
+ const app = express();
555
+ app.disable('x-powered-by');
556
+ app.use(express.json());
557
+ app.use(express.urlencoded({ extended: true }));
558
+ app.use((req, res, next) => {
559
+ res.header('x-ei-owner', model.project.owner);
560
+ res.header('x-ei-project-name', model.project.name);
561
+ res.header('x-ei-project-version', model.project.deploy_version.toString());
562
+ next();
563
+ });
564
+
565
+ const server = new http.Server(app);
566
+
567
+ app.get('/', asyncMiddleware(async (req, res) => {
568
+ let text = [
569
+ 'Edge Impulse inference server for ' +
570
+ model.project.owner + ' / ' + model.project.name + ' (v' + model.project.deploy_version + ')',
571
+ '',
572
+ 'How to run inference:',
573
+ '',
574
+ ];
575
+ if (model.modelParameters.sensorType === 'camera') {
576
+ text = text.concat([
577
+ `curl -v -X POST -F 'file=@path-to-an-image.jpg' http://localhost:${port}/api/image`,
578
+ ]);
579
+ }
580
+ else {
581
+ text = text.concat([
582
+ `curl -v -X POST -H "Content-Type: application/json" -d '{"features": [5, 10, 15, 20]}' http://localhost:${port}/api/features`,
583
+ '',
584
+ '(Expecting ' + runner.getModel().modelParameters.input_features_count + ' features for this model)',
585
+ ]);
586
+ }
587
+
588
+ const view = renderInferenceServerView({
589
+ owner: model.project.owner,
590
+ projectName: model.project.name,
591
+ projectVersion: model.project.deploy_version,
592
+ featuresCount: runner.getModel().modelParameters.input_features_count,
593
+ mode: model.modelParameters.sensorType === 'camera' ? 'image' : 'features',
594
+ serverPort: port,
595
+ studioLink: projectStudioUrl,
596
+ });
597
+
598
+ res.status(200);
599
+ res.header('Content-Type', 'text/html');
600
+ res.end(view.toString());
601
+ }));
602
+
603
+ app.post('/api/features', asyncMiddleware(async (req, res) => {
604
+ const body = <{ features: number[] }>req.body;
605
+
606
+ try {
607
+ if (!req.body) {
608
+ throw new Error('Missing body on request. Did you set "Content-Type: application/json" ?');
609
+ }
610
+ if (!body.features) {
611
+ throw new Error('Missing "features" on body');
612
+ }
613
+ if (!Array.isArray(body.features)) {
614
+ throw new Error('"features" on body is not an array');
615
+ }
616
+ if (!body.features.every(n => !isNaN(Number(n)))) {
617
+ throw new Error('Not every element of the "features" array is a number');
618
+ }
619
+ if (body.features.length !== runner.getModel().modelParameters.input_features_count) {
620
+ throw new Error('Expected ' + runner.getModel().modelParameters.input_features_count +
621
+ ' features, but received ' + body.features.length);
622
+ }
623
+ }
624
+ catch (ex2) {
625
+ const ex = <Error>ex2;
626
+ res.status(400);
627
+ res.header('Content-Type', 'text/plain');
628
+ return res.end(ex.message || ex.toString() + '\n');
629
+ }
630
+
631
+ console.log(RUNNER_PREFIX, 'Incoming inference request (/api/features)');
632
+
633
+ let response = await runner.classify(body.features);
634
+
635
+ res.header('Content-Type', 'application/json');
636
+ res.end(JSON.stringify(response, null, 4) + '\n');
637
+ }));
638
+
639
+ app.post('/api/image', asyncMiddleware(async (req, res) => {
640
+ let features: number[];
641
+
642
+ try {
643
+ const multipartUpload = multer({ limits: { files: 1, fileSize: 100 * 1024 * 1024 } });
644
+ const fields: multer.Field[] = [{ name: "file", maxCount: 1 }];
645
+ await util.promisify(multipartUpload.fields(fields))(req, res);
646
+
647
+ if (!req.files) {
648
+ throw new Error('No files posted, requiring a multipart/form-data body with 1 item "file"');
649
+ }
650
+ const allFiles = Object.keys(req.files || { }).reduce((curr: { [k: string]: Express.Multer.File[] }, v) => {
651
+ if (req.files instanceof Array) return curr;
652
+ curr[v.replace('[]', '')] = req.files![v];
653
+ return curr;
654
+ }, { });
655
+ const file = allFiles.file[0];
656
+ if (!file) {
657
+ throw new Error('Missing "file" in the multipart/form-data');
658
+ }
659
+
660
+ console.log(RUNNER_PREFIX, 'Incoming inference request (/api/image) for ' +
661
+ (file.originalname || 'a file with size ' + file.size + ' bytes'));
662
+
663
+ features = (await ImageClassifier.resizeImage(model, file.buffer)).features;
664
+ }
665
+ catch (ex2) {
666
+ const ex = <Error>ex2;
667
+ res.status(400);
668
+ res.header('Content-Type', 'text/plain');
669
+ return res.end(ex.message || ex.toString() + '\n');
670
+ }
671
+
672
+ let response = await runner.classify(features);
673
+
674
+ res.header('Content-Type', 'application/json');
675
+ res.end(JSON.stringify(response, null, 4) + '\n');
676
+ }));
677
+
678
+ app.use(express.static(Path.join(__dirname, '..', '..', '..', 'cli', 'linux', 'webserver', 'public')));
679
+
680
+ return new Promise<void>((resolve) => {
681
+ server.listen(port, process.env.HOST || '0.0.0.0', async () => {
682
+ resolve();
683
+ });
684
+ });
685
+ }
@@ -0,0 +1,7 @@
1
+ import express from 'express';
2
+
3
+ export function asyncMiddleware(fn: express.RequestParamHandler) {
4
+ return (req: express.Request, res: express.Response, next: express.NextFunction) => {
5
+ Promise.resolve(fn(req, res, next, undefined, '')).catch(next);
6
+ };
7
+ }
@@ -4157,3 +4157,19 @@ video {
4157
4157
  }
4158
4158
 
4159
4159
  /* end animate.css */
4160
+
4161
+ .inference-server-view-title-col,
4162
+ .inference-server-view-title-col h1 {
4163
+ text-overflow: ellipsis;
4164
+ overflow: hidden;
4165
+ white-space: nowrap;
4166
+ }
4167
+
4168
+ .card-sub-header {
4169
+ margin-left: -1.7rem;
4170
+ margin-right: -1.7rem;
4171
+ margin-bottom: 0.75rem;
4172
+ margin-top: 2rem;
4173
+ padding-left: 0.75rem;
4174
+ padding-right: 0.75rem;
4175
+ }