@octomil/browser 1.0.0 → 1.1.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 (415) hide show
  1. package/README.md +168 -36
  2. package/dist/_generated/accelerator_type.d.ts +8 -0
  3. package/dist/_generated/accelerator_type.d.ts.map +1 -0
  4. package/dist/_generated/accelerator_type.js +10 -0
  5. package/dist/_generated/accelerator_type.js.map +1 -0
  6. package/dist/_generated/activation_policy.d.ts +7 -0
  7. package/dist/_generated/activation_policy.d.ts.map +1 -0
  8. package/dist/_generated/activation_policy.js +9 -0
  9. package/dist/_generated/activation_policy.js.map +1 -0
  10. package/dist/_generated/adapter_activation_state.d.ts +13 -0
  11. package/dist/_generated/adapter_activation_state.d.ts.map +1 -0
  12. package/dist/_generated/adapter_activation_state.js +15 -0
  13. package/dist/_generated/adapter_activation_state.js.map +1 -0
  14. package/dist/_generated/artifact_format.d.ts +11 -0
  15. package/dist/_generated/artifact_format.d.ts.map +1 -0
  16. package/dist/_generated/artifact_format.js +13 -0
  17. package/dist/_generated/artifact_format.js.map +1 -0
  18. package/dist/_generated/artifact_resource_kind.d.ts +16 -0
  19. package/dist/_generated/artifact_resource_kind.d.ts.map +1 -0
  20. package/dist/_generated/artifact_resource_kind.js +18 -0
  21. package/dist/_generated/artifact_resource_kind.js.map +1 -0
  22. package/dist/_generated/artifact_status.d.ts +21 -0
  23. package/dist/_generated/artifact_status.d.ts.map +1 -0
  24. package/dist/_generated/artifact_status.js +23 -0
  25. package/dist/_generated/artifact_status.js.map +1 -0
  26. package/dist/_generated/auth_method.d.ts +10 -0
  27. package/dist/_generated/auth_method.d.ts.map +1 -0
  28. package/dist/_generated/auth_method.js +12 -0
  29. package/dist/_generated/auth_method.js.map +1 -0
  30. package/dist/_generated/auth_type.d.ts +7 -0
  31. package/dist/_generated/auth_type.d.ts.map +1 -0
  32. package/dist/_generated/auth_type.js +9 -0
  33. package/dist/_generated/auth_type.js.map +1 -0
  34. package/dist/_generated/billing_interval.d.ts +5 -0
  35. package/dist/_generated/billing_interval.d.ts.map +1 -0
  36. package/dist/_generated/billing_interval.js +7 -0
  37. package/dist/_generated/billing_interval.js.map +1 -0
  38. package/dist/_generated/billing_plan.d.ts +47 -0
  39. package/dist/_generated/billing_plan.d.ts.map +1 -0
  40. package/dist/_generated/billing_plan.js +41 -0
  41. package/dist/_generated/billing_plan.js.map +1 -0
  42. package/dist/_generated/cloud_provider.d.ts +12 -0
  43. package/dist/_generated/cloud_provider.d.ts.map +1 -0
  44. package/dist/_generated/cloud_provider.js +14 -0
  45. package/dist/_generated/cloud_provider.js.map +1 -0
  46. package/dist/_generated/compatibility_level.d.ts +7 -0
  47. package/dist/_generated/compatibility_level.d.ts.map +1 -0
  48. package/dist/_generated/compatibility_level.js +9 -0
  49. package/dist/_generated/compatibility_level.js.map +1 -0
  50. package/dist/_generated/content_part_type.d.ts +7 -0
  51. package/dist/_generated/content_part_type.d.ts.map +1 -0
  52. package/dist/_generated/content_part_type.js +9 -0
  53. package/dist/_generated/content_part_type.js.map +1 -0
  54. package/dist/_generated/delivery_mode.d.ts +6 -0
  55. package/dist/_generated/delivery_mode.d.ts.map +1 -0
  56. package/dist/_generated/delivery_mode.js +8 -0
  57. package/dist/_generated/delivery_mode.js.map +1 -0
  58. package/dist/_generated/device_class.d.ts +7 -0
  59. package/dist/_generated/device_class.d.ts.map +1 -0
  60. package/dist/_generated/device_class.js +9 -0
  61. package/dist/_generated/device_class.js.map +1 -0
  62. package/dist/_generated/device_connectivity_status.d.ts +8 -0
  63. package/dist/_generated/device_connectivity_status.d.ts.map +1 -0
  64. package/dist/_generated/device_connectivity_status.js +10 -0
  65. package/dist/_generated/device_connectivity_status.js.map +1 -0
  66. package/dist/_generated/device_model_status.d.ts +14 -0
  67. package/dist/_generated/device_model_status.d.ts.map +1 -0
  68. package/dist/_generated/device_model_status.js +16 -0
  69. package/dist/_generated/device_model_status.js.map +1 -0
  70. package/dist/_generated/device_platform.d.ts +9 -0
  71. package/dist/_generated/device_platform.d.ts.map +1 -0
  72. package/dist/_generated/device_platform.js +11 -0
  73. package/dist/_generated/device_platform.js.map +1 -0
  74. package/dist/_generated/email_provider.d.ts +8 -0
  75. package/dist/_generated/email_provider.d.ts.map +1 -0
  76. package/dist/_generated/email_provider.js +10 -0
  77. package/dist/_generated/email_provider.js.map +1 -0
  78. package/dist/_generated/email_template.d.ts +11 -0
  79. package/dist/_generated/email_template.d.ts.map +1 -0
  80. package/dist/_generated/email_template.js +13 -0
  81. package/dist/_generated/email_template.js.map +1 -0
  82. package/dist/_generated/error_code.d.ts +52 -0
  83. package/dist/_generated/error_code.d.ts.map +1 -0
  84. package/dist/_generated/error_code.js +85 -0
  85. package/dist/_generated/error_code.js.map +1 -0
  86. package/dist/_generated/federated_participation_state.d.ts +25 -0
  87. package/dist/_generated/federated_participation_state.d.ts.map +1 -0
  88. package/dist/_generated/federated_participation_state.js +27 -0
  89. package/dist/_generated/federated_participation_state.js.map +1 -0
  90. package/dist/_generated/federated_round_state.d.ts +17 -0
  91. package/dist/_generated/federated_round_state.d.ts.map +1 -0
  92. package/dist/_generated/federated_round_state.js +19 -0
  93. package/dist/_generated/federated_round_state.js.map +1 -0
  94. package/dist/_generated/finish_reason.d.ts +7 -0
  95. package/dist/_generated/finish_reason.d.ts.map +1 -0
  96. package/dist/_generated/finish_reason.js +9 -0
  97. package/dist/_generated/finish_reason.js.map +1 -0
  98. package/dist/_generated/index.d.ts +17 -0
  99. package/dist/_generated/index.d.ts.map +1 -0
  100. package/dist/_generated/index.js +17 -0
  101. package/dist/_generated/index.js.map +1 -0
  102. package/dist/_generated/input_modality.d.ts +7 -0
  103. package/dist/_generated/input_modality.d.ts.map +1 -0
  104. package/dist/_generated/input_modality.js +9 -0
  105. package/dist/_generated/input_modality.js.map +1 -0
  106. package/dist/_generated/message_role.d.ts +7 -0
  107. package/dist/_generated/message_role.d.ts.map +1 -0
  108. package/dist/_generated/message_role.js +9 -0
  109. package/dist/_generated/message_role.js.map +1 -0
  110. package/dist/_generated/metric_views.d.ts +18 -0
  111. package/dist/_generated/metric_views.d.ts.map +1 -0
  112. package/dist/_generated/metric_views.js +22 -0
  113. package/dist/_generated/metric_views.js.map +1 -0
  114. package/dist/_generated/modality.d.ts +7 -0
  115. package/dist/_generated/modality.d.ts.map +1 -0
  116. package/dist/_generated/modality.js +9 -0
  117. package/dist/_generated/modality.js.map +1 -0
  118. package/dist/_generated/model_capability.d.ts +10 -0
  119. package/dist/_generated/model_capability.d.ts.map +1 -0
  120. package/dist/_generated/model_capability.js +12 -0
  121. package/dist/_generated/model_capability.js.map +1 -0
  122. package/dist/_generated/model_feature.d.ts +7 -0
  123. package/dist/_generated/model_feature.d.ts.map +1 -0
  124. package/dist/_generated/model_feature.js +9 -0
  125. package/dist/_generated/model_feature.js.map +1 -0
  126. package/dist/_generated/model_lifecycle.d.ts +7 -0
  127. package/dist/_generated/model_lifecycle.d.ts.map +1 -0
  128. package/dist/_generated/model_lifecycle.js +9 -0
  129. package/dist/_generated/model_lifecycle.js.map +1 -0
  130. package/dist/_generated/model_source_format.d.ts +9 -0
  131. package/dist/_generated/model_source_format.d.ts.map +1 -0
  132. package/dist/_generated/model_source_format.js +11 -0
  133. package/dist/_generated/model_source_format.js.map +1 -0
  134. package/dist/_generated/model_status.d.ts +7 -0
  135. package/dist/_generated/model_status.d.ts.map +1 -0
  136. package/dist/_generated/model_status.js +9 -0
  137. package/dist/_generated/model_status.js.map +1 -0
  138. package/dist/_generated/network_type.d.ts +7 -0
  139. package/dist/_generated/network_type.d.ts.map +1 -0
  140. package/dist/_generated/network_type.js +9 -0
  141. package/dist/_generated/network_type.js.map +1 -0
  142. package/dist/_generated/oauth_provider.d.ts +8 -0
  143. package/dist/_generated/oauth_provider.d.ts.map +1 -0
  144. package/dist/_generated/oauth_provider.js +10 -0
  145. package/dist/_generated/oauth_provider.js.map +1 -0
  146. package/dist/_generated/operation_state.d.ts +9 -0
  147. package/dist/_generated/operation_state.d.ts.map +1 -0
  148. package/dist/_generated/operation_state.js +11 -0
  149. package/dist/_generated/operation_state.js.map +1 -0
  150. package/dist/_generated/otlp_resource_attributes.d.ts +16 -0
  151. package/dist/_generated/otlp_resource_attributes.d.ts.map +1 -0
  152. package/dist/_generated/otlp_resource_attributes.js +17 -0
  153. package/dist/_generated/otlp_resource_attributes.js.map +1 -0
  154. package/dist/_generated/principal_type.d.ts +7 -0
  155. package/dist/_generated/principal_type.d.ts.map +1 -0
  156. package/dist/_generated/principal_type.js +9 -0
  157. package/dist/_generated/principal_type.js.map +1 -0
  158. package/dist/_generated/query_routing_tier.d.ts +6 -0
  159. package/dist/_generated/query_routing_tier.d.ts.map +1 -0
  160. package/dist/_generated/query_routing_tier.js +8 -0
  161. package/dist/_generated/query_routing_tier.js.map +1 -0
  162. package/dist/_generated/routing_policy.d.ts +7 -0
  163. package/dist/_generated/routing_policy.d.ts.map +1 -0
  164. package/dist/_generated/routing_policy.js +9 -0
  165. package/dist/_generated/routing_policy.js.map +1 -0
  166. package/dist/_generated/runtime_executor.d.ts +18 -0
  167. package/dist/_generated/runtime_executor.d.ts.map +1 -0
  168. package/dist/_generated/runtime_executor.js +20 -0
  169. package/dist/_generated/runtime_executor.js.map +1 -0
  170. package/dist/_generated/scope.d.ts +16 -0
  171. package/dist/_generated/scope.d.ts.map +1 -0
  172. package/dist/_generated/scope.js +18 -0
  173. package/dist/_generated/scope.js.map +1 -0
  174. package/dist/_generated/span_attributes.d.ts +25 -0
  175. package/dist/_generated/span_attributes.d.ts.map +1 -0
  176. package/dist/_generated/span_attributes.js +34 -0
  177. package/dist/_generated/span_attributes.js.map +1 -0
  178. package/dist/_generated/span_event_attributes.d.ts +23 -0
  179. package/dist/_generated/span_event_attributes.d.ts.map +1 -0
  180. package/dist/_generated/span_event_attributes.js +36 -0
  181. package/dist/_generated/span_event_attributes.js.map +1 -0
  182. package/dist/_generated/span_event_names.d.ts +42 -0
  183. package/dist/_generated/span_event_names.d.ts.map +1 -0
  184. package/dist/_generated/span_event_names.js +82 -0
  185. package/dist/_generated/span_event_names.js.map +1 -0
  186. package/dist/_generated/span_names.d.ts +17 -0
  187. package/dist/_generated/span_names.d.ts.map +1 -0
  188. package/dist/_generated/span_names.js +18 -0
  189. package/dist/_generated/span_names.js.map +1 -0
  190. package/dist/_generated/span_status_mapping.d.ts +8 -0
  191. package/dist/_generated/span_status_mapping.d.ts.map +1 -0
  192. package/dist/_generated/span_status_mapping.js +17 -0
  193. package/dist/_generated/span_status_mapping.js.map +1 -0
  194. package/dist/_generated/subscription_status.d.ts +11 -0
  195. package/dist/_generated/subscription_status.d.ts.map +1 -0
  196. package/dist/_generated/subscription_status.js +13 -0
  197. package/dist/_generated/subscription_status.js.map +1 -0
  198. package/dist/_generated/support_tier.d.ts +7 -0
  199. package/dist/_generated/support_tier.d.ts.map +1 -0
  200. package/dist/_generated/support_tier.js +9 -0
  201. package/dist/_generated/support_tier.js.map +1 -0
  202. package/dist/_generated/telemetry_class.d.ts +6 -0
  203. package/dist/_generated/telemetry_class.d.ts.map +1 -0
  204. package/dist/_generated/telemetry_class.js +8 -0
  205. package/dist/_generated/telemetry_class.js.map +1 -0
  206. package/dist/_generated/telemetry_events.d.ts +10 -0
  207. package/dist/_generated/telemetry_events.d.ts.map +1 -0
  208. package/dist/_generated/telemetry_events.js +18 -0
  209. package/dist/_generated/telemetry_events.js.map +1 -0
  210. package/dist/_generated/thermal_state.d.ts +7 -0
  211. package/dist/_generated/thermal_state.d.ts.map +1 -0
  212. package/dist/_generated/thermal_state.js +9 -0
  213. package/dist/_generated/thermal_state.js.map +1 -0
  214. package/dist/_generated/tool_call_tier.d.ts +7 -0
  215. package/dist/_generated/tool_call_tier.d.ts.map +1 -0
  216. package/dist/_generated/tool_call_tier.js +9 -0
  217. package/dist/_generated/tool_call_tier.js.map +1 -0
  218. package/dist/_generated/training_job_state.d.ts +23 -0
  219. package/dist/_generated/training_job_state.d.ts.map +1 -0
  220. package/dist/_generated/training_job_state.js +25 -0
  221. package/dist/_generated/training_job_state.js.map +1 -0
  222. package/dist/_generated/work_class.d.ts +6 -0
  223. package/dist/_generated/work_class.d.ts.map +1 -0
  224. package/dist/_generated/work_class.js +8 -0
  225. package/dist/_generated/work_class.js.map +1 -0
  226. package/dist/artifacts.d.ts +16 -0
  227. package/dist/artifacts.d.ts.map +1 -0
  228. package/dist/artifacts.js +16 -0
  229. package/dist/artifacts.js.map +1 -0
  230. package/dist/audio/audio-transcriptions.d.ts +31 -0
  231. package/dist/audio/audio-transcriptions.d.ts.map +1 -0
  232. package/dist/audio/audio-transcriptions.js +73 -0
  233. package/dist/audio/audio-transcriptions.js.map +1 -0
  234. package/dist/audio/index.d.ts +5 -0
  235. package/dist/audio/index.d.ts.map +1 -0
  236. package/dist/audio/index.js +3 -0
  237. package/dist/audio/index.js.map +1 -0
  238. package/dist/audio/octomil-audio.d.ts +9 -0
  239. package/dist/audio/octomil-audio.d.ts.map +1 -0
  240. package/dist/audio/octomil-audio.js +11 -0
  241. package/dist/audio/octomil-audio.js.map +1 -0
  242. package/dist/audio/transcription-types.d.ts +17 -0
  243. package/dist/audio/transcription-types.d.ts.map +1 -0
  244. package/dist/audio/transcription-types.js +6 -0
  245. package/dist/audio/transcription-types.js.map +1 -0
  246. package/dist/cache.js +1 -1
  247. package/dist/cache.js.map +1 -1
  248. package/dist/capabilities.d.ts +26 -0
  249. package/dist/capabilities.d.ts.map +1 -0
  250. package/dist/capabilities.js +68 -0
  251. package/dist/capabilities.js.map +1 -0
  252. package/dist/chat.d.ts +109 -0
  253. package/dist/chat.d.ts.map +1 -0
  254. package/dist/chat.js +258 -0
  255. package/dist/chat.js.map +1 -0
  256. package/dist/configure.d.ts +18 -0
  257. package/dist/configure.d.ts.map +1 -0
  258. package/dist/configure.js +136 -0
  259. package/dist/configure.js.map +1 -0
  260. package/dist/control.d.ts +171 -0
  261. package/dist/control.d.ts.map +1 -0
  262. package/dist/control.js +317 -0
  263. package/dist/control.js.map +1 -0
  264. package/dist/device-auth.d.ts +1 -1
  265. package/dist/device-auth.d.ts.map +1 -1
  266. package/dist/device-auth.js +7 -7
  267. package/dist/device-auth.js.map +1 -1
  268. package/dist/device-context.d.ts +48 -0
  269. package/dist/device-context.d.ts.map +1 -0
  270. package/dist/device-context.js +92 -0
  271. package/dist/device-context.js.map +1 -0
  272. package/dist/devices.d.ts +17 -0
  273. package/dist/devices.d.ts.map +1 -0
  274. package/dist/devices.js +16 -0
  275. package/dist/devices.js.map +1 -0
  276. package/dist/embeddings.d.ts +19 -0
  277. package/dist/embeddings.d.ts.map +1 -0
  278. package/dist/embeddings.js +54 -0
  279. package/dist/embeddings.js.map +1 -0
  280. package/dist/experiments.d.ts +4 -3
  281. package/dist/experiments.d.ts.map +1 -1
  282. package/dist/experiments.js +5 -10
  283. package/dist/experiments.js.map +1 -1
  284. package/dist/federated-analytics.d.ts +65 -0
  285. package/dist/federated-analytics.d.ts.map +1 -0
  286. package/dist/federated-analytics.js +128 -0
  287. package/dist/federated-analytics.js.map +1 -0
  288. package/dist/federated.d.ts +10 -3
  289. package/dist/federated.d.ts.map +1 -1
  290. package/dist/federated.js +68 -15
  291. package/dist/federated.js.map +1 -1
  292. package/dist/gradient-cache.d.ts +21 -0
  293. package/dist/gradient-cache.d.ts.map +1 -0
  294. package/dist/gradient-cache.js +70 -0
  295. package/dist/gradient-cache.js.map +1 -0
  296. package/dist/index.cjs +43601 -709
  297. package/dist/index.cjs.map +4 -4
  298. package/dist/index.d.ts +64 -13
  299. package/dist/index.d.ts.map +1 -1
  300. package/dist/index.js +55 -13
  301. package/dist/index.js.map +1 -1
  302. package/dist/install-id.d.ts +32 -0
  303. package/dist/install-id.d.ts.map +1 -0
  304. package/dist/install-id.js +61 -0
  305. package/dist/install-id.js.map +1 -0
  306. package/dist/{model-loader.d.ts → model-manager.d.ts} +4 -4
  307. package/dist/model-manager.d.ts.map +1 -0
  308. package/dist/{model-loader.js → model-manager.js} +18 -14
  309. package/dist/model-manager.js.map +1 -0
  310. package/dist/models.d.ts +74 -0
  311. package/dist/models.d.ts.map +1 -0
  312. package/dist/models.js +113 -0
  313. package/dist/models.js.map +1 -0
  314. package/dist/monitoring-config.d.ts +8 -0
  315. package/dist/monitoring-config.d.ts.map +1 -0
  316. package/dist/monitoring-config.js +5 -0
  317. package/dist/monitoring-config.js.map +1 -0
  318. package/dist/monitoring.d.ts +10 -0
  319. package/dist/monitoring.d.ts.map +1 -0
  320. package/dist/monitoring.js +19 -0
  321. package/dist/monitoring.js.map +1 -0
  322. package/dist/octomil.d.ts +151 -16
  323. package/dist/octomil.d.ts.map +1 -1
  324. package/dist/octomil.js +456 -125
  325. package/dist/octomil.js.map +1 -1
  326. package/dist/octomil.min.js +47 -2844
  327. package/dist/octomil.min.js.map +4 -4
  328. package/dist/responses-runtime.d.ts +13 -0
  329. package/dist/responses-runtime.d.ts.map +1 -0
  330. package/dist/responses-runtime.js +2 -0
  331. package/dist/responses-runtime.js.map +1 -0
  332. package/dist/responses-tools.d.ts +18 -0
  333. package/dist/responses-tools.d.ts.map +1 -0
  334. package/dist/responses-tools.js +71 -0
  335. package/dist/responses-tools.js.map +1 -0
  336. package/dist/responses.d.ts +142 -0
  337. package/dist/responses.d.ts.map +1 -0
  338. package/dist/responses.js +549 -0
  339. package/dist/responses.js.map +1 -0
  340. package/dist/routing.d.ts +49 -0
  341. package/dist/routing.d.ts.map +1 -0
  342. package/dist/routing.js +221 -0
  343. package/dist/routing.js.map +1 -0
  344. package/dist/runtime/core/model-runtime.d.ts +19 -0
  345. package/dist/runtime/core/model-runtime.d.ts.map +1 -0
  346. package/dist/runtime/core/model-runtime.js +9 -0
  347. package/dist/runtime/core/model-runtime.js.map +1 -0
  348. package/dist/{inference.d.ts → runtime/engines/onnx-web/engine.d.ts} +7 -3
  349. package/dist/runtime/engines/onnx-web/engine.d.ts.map +1 -0
  350. package/dist/{inference.js → runtime/engines/onnx-web/engine.js} +21 -7
  351. package/dist/runtime/engines/onnx-web/engine.js.map +1 -0
  352. package/dist/runtime/engines/registry/engine-plugin.d.ts +11 -0
  353. package/dist/runtime/engines/registry/engine-plugin.d.ts.map +1 -0
  354. package/dist/runtime/engines/registry/engine-plugin.js +2 -0
  355. package/dist/runtime/engines/registry/engine-plugin.js.map +1 -0
  356. package/dist/runtime/engines/registry/engine-registry.d.ts +35 -0
  357. package/dist/runtime/engines/registry/engine-registry.d.ts.map +1 -0
  358. package/dist/runtime/engines/registry/engine-registry.js +74 -0
  359. package/dist/runtime/engines/registry/engine-registry.js.map +1 -0
  360. package/dist/runtime/index.d.ts +4 -0
  361. package/dist/runtime/index.d.ts.map +1 -0
  362. package/dist/runtime/index.js +2 -0
  363. package/dist/runtime/index.js.map +1 -0
  364. package/dist/secure-aggregation.d.ts.map +1 -1
  365. package/dist/secure-aggregation.js +3 -2
  366. package/dist/secure-aggregation.js.map +1 -1
  367. package/dist/server-api.d.ts +17 -0
  368. package/dist/server-api.d.ts.map +1 -0
  369. package/dist/server-api.js +56 -0
  370. package/dist/server-api.js.map +1 -0
  371. package/dist/settings.d.ts +20 -0
  372. package/dist/settings.d.ts.map +1 -0
  373. package/dist/settings.js +49 -0
  374. package/dist/settings.js.map +1 -0
  375. package/dist/silent-auth-config.d.ts +33 -0
  376. package/dist/silent-auth-config.d.ts.map +1 -0
  377. package/dist/silent-auth-config.js +29 -0
  378. package/dist/silent-auth-config.js.map +1 -0
  379. package/dist/streaming.d.ts +4 -3
  380. package/dist/streaming.d.ts.map +1 -1
  381. package/dist/streaming.js +15 -25
  382. package/dist/streaming.js.map +1 -1
  383. package/dist/sync-manager.d.ts +103 -0
  384. package/dist/sync-manager.d.ts.map +1 -0
  385. package/dist/sync-manager.js +314 -0
  386. package/dist/sync-manager.js.map +1 -0
  387. package/dist/telemetry.d.ts +99 -4
  388. package/dist/telemetry.d.ts.map +1 -1
  389. package/dist/telemetry.js +251 -13
  390. package/dist/telemetry.js.map +1 -1
  391. package/dist/text/octomil-text.d.ts +18 -0
  392. package/dist/text/octomil-text.d.ts.map +1 -0
  393. package/dist/text/octomil-text.js +20 -0
  394. package/dist/text/octomil-text.js.map +1 -0
  395. package/dist/training.d.ts +15 -0
  396. package/dist/training.d.ts.map +1 -0
  397. package/dist/training.js +35 -0
  398. package/dist/training.js.map +1 -0
  399. package/dist/transformers-local-runtime.d.ts +17 -0
  400. package/dist/transformers-local-runtime.d.ts.map +1 -0
  401. package/dist/transformers-local-runtime.js +356 -0
  402. package/dist/transformers-local-runtime.js.map +1 -0
  403. package/dist/types.d.ts +353 -25
  404. package/dist/types.d.ts.map +1 -1
  405. package/dist/types.js +146 -0
  406. package/dist/types.js.map +1 -1
  407. package/package.json +7 -6
  408. package/dist/inference.d.ts.map +0 -1
  409. package/dist/inference.js.map +0 -1
  410. package/dist/model-loader.d.ts.map +0 -1
  411. package/dist/model-loader.js.map +0 -1
  412. package/dist/rollouts.d.ts +0 -43
  413. package/dist/rollouts.d.ts.map +0 -1
  414. package/dist/rollouts.js +0 -114
  415. package/dist/rollouts.js.map +0 -1
package/dist/index.d.ts CHANGED
@@ -3,35 +3,86 @@
3
3
  *
4
4
  * @example
5
5
  * ```ts
6
- * import { Octomil } from '@octomil/browser';
6
+ * import { OctomilClient } from '@octomil/browser';
7
7
  *
8
- * const ml = new Octomil({
9
- * model: 'https://models.octomil.io/sentiment-v1.onnx',
8
+ * const ml = new OctomilClient({
9
+ * model: 'https://models.octomil.com/sentiment-v1.onnx',
10
10
  * backend: 'webgpu',
11
11
  * });
12
12
  *
13
13
  * await ml.load();
14
14
  * const result = await ml.predict({ text: 'This is amazing!' });
15
15
  * console.log(result.label, result.score);
16
- * ml.dispose();
16
+ * ml.close();
17
17
  * ```
18
18
  *
19
19
  * @packageDocumentation
20
20
  */
21
- export { Octomil } from "./octomil.js";
22
- export { InferenceEngine } from "./inference.js";
23
- export { ModelLoader } from "./model-loader.js";
21
+ export { OctomilClient } from "./octomil.js";
22
+ export { OctomilAudio } from "./audio/octomil-audio.js";
23
+ export { AudioTranscriptions } from "./audio/audio-transcriptions.js";
24
+ export type { TranscriptionRequest } from "./audio/audio-transcriptions.js";
25
+ export type { TranscriptionResult, TranscriptionSegment, } from "./audio/transcription-types.js";
26
+ export { ChatClient, messagesToResponseInput } from "./chat.js";
27
+ export type { ChatClientOptions, ChatThread, ChatTurnRequest, } from "./chat.js";
28
+ export { InferenceEngine } from "./runtime/engines/onnx-web/engine.js";
29
+ export type { ModelRuntime } from "./runtime/index.js";
30
+ export { ModelManager } from "./model-manager.js";
24
31
  export { createModelCache, type ModelCache } from "./cache.js";
25
- export { TelemetryReporter, initTelemetry, getTelemetry, disposeTelemetry, } from "./telemetry.js";
26
- export { DeviceAuthManager } from "./device-auth.js";
27
- export { computeHash, verifyModelIntegrity, assertModelIntegrity } from "./integrity.js";
32
+ export { TelemetryReporter, initTelemetry, getTelemetry, closeTelemetry, } from "./telemetry.js";
33
+ export type { TelemetryReporterOptions, TelemetryResource, TelemetryEnvelope, OtlpKeyValue, OtlpResource, OtlpInstrumentationScope, OtlpLogRecord, OtlpScopeLogs, OtlpResourceLogs, ExportLogsServiceRequest, } from "./telemetry.js";
34
+ export { MonitoringClient } from "./monitoring.js";
35
+ export type { AlertRule, UpdateAlertRuleRequest } from "./monitoring.js";
36
+ export { SettingsClient } from "./settings.js";
37
+ export type { BillingSession, BillingState, UsageLimits, Integration, IntegrationValidation, IntegrationPatch, } from "./settings.js";
38
+ export { TrainingClient } from "./training.js";
39
+ export type { TrainingJob, TrainingJobStatus } from "./training.js";
40
+ export { CapabilitiesClient } from "./capabilities.js";
41
+ export type { CapabilityProfile } from "./capabilities.js";
42
+ export { ControlClient } from "./control.js";
43
+ export type { DeviceRegistration, HeartbeatResponse, ControlClientOptions, DesiredState, DesiredModelEntry, DeviceSyncRequest, DeviceSyncResponse, ObservedModelStatus, } from "./control.js";
44
+ export type { ControlSyncResult } from "./types.js";
45
+ export { DevicesClient } from "./devices.js";
46
+ export { SyncManager } from "./sync-manager.js";
47
+ export type { SyncManagerOptions, SyncEvent, SyncEventListener, LocalModelMeta, } from "./sync-manager.js";
48
+ export { DeviceAuth } from "./device-auth.js";
49
+ export { ArtifactsClient } from "./artifacts.js";
50
+ export type { ArtifactManifest, ArtifactDownloadUrls, ArtifactDownloadUrlsRequest, } from "./artifacts.js";
51
+ export { configure, getDeviceContext } from "./configure.js";
52
+ export type { ConfigureOptions } from "./configure.js";
53
+ export { DeviceContext } from "./device-context.js";
54
+ export type { RegistrationState, TokenState } from "./device-context.js";
55
+ export type { SilentAuthConfig, PublishableKeyEnvironment, } from "./silent-auth-config.js";
56
+ export { validatePublishableKey, getPublishableKeyEnvironment, } from "./silent-auth-config.js";
57
+ export type { MonitoringConfig } from "./monitoring-config.js";
58
+ export { computeHash, verifyModelIntegrity, assertModelIntegrity, } from "./integrity.js";
59
+ export { ResponsesClient, generateId as generateResponseId, } from "./responses.js";
60
+ export { ToolRunner } from "./responses-tools.js";
61
+ export { createTransformersJsLocalResponsesRuntime } from "./transformers-local-runtime.js";
62
+ export type { ToolExecutor, ToolResult, } from "./responses-tools.js";
63
+ export type { LocalResponsesRuntime, LocalResponsesRuntimeResolver, } from "./responses-runtime.js";
64
+ export type { TransformersLocalResponsesRuntimeOptions } from "./transformers-local-runtime.js";
65
+ export type { ResponseRequest, ContentBlock, ResponseInputItem, ChatContentPart, ToolDef, ResponseToolCall, ResponseOutput, Response as ResponseObject, ResponseUsage, TextDeltaEvent, ToolCallDeltaEvent, DoneEvent, ResponseStreamEvent, ResponsesClientOptions, } from "./responses.js";
66
+ export { ModelsClient } from "./models.js";
67
+ export type { ModelStatus, CachedModelInfo } from "./models.js";
28
68
  export { StreamingInferenceEngine } from "./streaming.js";
69
+ export { EngineRegistry } from "./runtime/index.js";
70
+ export type { EnginePlugin } from "./runtime/index.js";
71
+ export { embed } from "./embeddings.js";
72
+ export { OctomilText, TextPredictionsClient } from "./text/octomil-text.js";
73
+ export type { TextPredictionRequest, TextPredictionResult, } from "./text/octomil-text.js";
29
74
  export { FederatedClient, WeightExtractor } from "./federated.js";
75
+ export { FederatedAnalyticsClient } from "./federated-analytics.js";
30
76
  export { SecureAggregation, SecAggPlus, shamirSplit, shamirReconstruct, } from "./secure-aggregation.js";
31
77
  export { clipGradients, addGaussianNoise, quantize, dequantize, } from "./privacy.js";
32
- export { RolloutsManager } from "./rollouts.js";
78
+ export { getInstallId, resetInstallIdCache } from "./install-id.js";
79
+ export { GradientCache } from "./gradient-cache.js";
33
80
  export { ExperimentsClient } from "./experiments.js";
34
- export type { OctomilOptions, Backend, CacheStrategy, DownloadProgress, TensorData, NamedTensors, PredictInput, PredictOutput, ChatRole, ChatMessage, ChatResponse, ChatOptions, ChatChunk, CacheInfo, TelemetryEvent, ModelMetadata, OctomilErrorCode, DeviceAuthConfig, DeviceAuthToken, DeviceInfo, StreamingModality, StreamingOptions, StreamingChunk, StreamingResult, WeightMap, TrainingConfig, TrainStepResult, FederatedRound, RolloutStatus, RolloutVersion, RolloutConfig, Experiment, ExperimentVariant, } from "./types.js";
81
+ export { RoutingClient, detectDeviceCapabilities } from "./routing.js";
82
+ export type { AuthConfig, OrgApiKeyAuth, DeviceTokenAuth, OctomilOptions, Backend, CacheStrategy, DownloadProgress, TensorData, NamedTensors, PredictInput, PredictOutput, ChatRole, ChatMessage, ChatResponse, ChatOptions, ChatChunk, CacheInfo, TelemetryEvent, ModelMetadata, OctomilErrorCode, DeviceAuthConfig, DeviceAuthToken, DeviceInfo, StreamingModality, StreamingOptions, StreamingChunk, StreamingResult, StreamToken, WeightMap, TrainingConfig, TrainStepResult, FederatedRound, Experiment, ExperimentVariant, DeviceCapabilities, RoutingPreference, RoutingRequest, RoutingDecision, RoutingFallbackTarget, RoutingConfig, CloudInferenceRequest, CloudInferenceResponse, EmbeddingResult, EmbeddingUsage, EmbeddingResponse, BenchmarkResult, DetectionResult, RankedEngine, InferenceMetrics, GenerationChunk, CacheStats, AnalyticsFilter, DescriptiveResult, GroupStats, ConfidenceInterval, TTestResult, ChiSquareResult, PostHocPair, AnovaResult, AnalyticsQuery, AnalyticsQueryListResponse, GradientCacheEntry, } from "./types.js";
35
83
  export type { QuantizedWeightMap } from "./privacy.js";
36
- export { OctomilError } from "./types.js";
84
+ export { OctomilError, ERROR_CODE_MAP, AuthType, PrincipalType, Scope, } from "./types.js";
85
+ export { ErrorCode, ModelStatus as ContractModelStatus, DeviceClass, FinishReason, CompatibilityLevel, OTLP_RESOURCE_ATTRIBUTES, TELEMETRY_EVENTS, EVENT_REQUIRED_ATTRIBUTES, } from "./_generated/index.js";
86
+ import type { BenchmarkResult } from "./types.js";
87
+ export declare function benchmarkResultOk(result: BenchmarkResult): boolean;
37
88
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAGvC,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAGrD,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAGzF,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAG1D,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGlE,OAAO,EACL,iBAAiB,EACjB,UAAU,EACV,WAAW,EACX,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,QAAQ,EACR,UAAU,GACX,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAGhD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAGrD,YAAY,EACV,cAAc,EACd,OAAO,EACP,aAAa,EACb,gBAAgB,EAChB,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,WAAW,EACX,SAAS,EACT,SAAS,EACT,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,SAAS,EACT,cAAc,EACd,eAAe,EACf,cAAc,EACd,aAAa,EACb,cAAc,EACd,aAAa,EACb,UAAU,EACV,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEvD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -3,43 +3,85 @@
3
3
  *
4
4
  * @example
5
5
  * ```ts
6
- * import { Octomil } from '@octomil/browser';
6
+ * import { OctomilClient } from '@octomil/browser';
7
7
  *
8
- * const ml = new Octomil({
9
- * model: 'https://models.octomil.io/sentiment-v1.onnx',
8
+ * const ml = new OctomilClient({
9
+ * model: 'https://models.octomil.com/sentiment-v1.onnx',
10
10
  * backend: 'webgpu',
11
11
  * });
12
12
  *
13
13
  * await ml.load();
14
14
  * const result = await ml.predict({ text: 'This is amazing!' });
15
15
  * console.log(result.label, result.score);
16
- * ml.dispose();
16
+ * ml.close();
17
17
  * ```
18
18
  *
19
19
  * @packageDocumentation
20
20
  */
21
21
  // Main class
22
- export { Octomil } from "./octomil.js";
22
+ export { OctomilClient } from "./octomil.js";
23
+ // Audio namespace (transcriptions)
24
+ export { OctomilAudio } from "./audio/octomil-audio.js";
25
+ export { AudioTranscriptions } from "./audio/audio-transcriptions.js";
26
+ // Chat namespace (OpenAI-compatible chat completions)
27
+ export { ChatClient, messagesToResponseInput } from "./chat.js";
23
28
  // Sub-modules (for advanced usage)
24
- export { InferenceEngine } from "./inference.js";
25
- export { ModelLoader } from "./model-loader.js";
29
+ export { InferenceEngine } from "./runtime/engines/onnx-web/engine.js";
30
+ export { ModelManager } from "./model-manager.js";
26
31
  export { createModelCache } from "./cache.js";
27
- export { TelemetryReporter, initTelemetry, getTelemetry, disposeTelemetry, } from "./telemetry.js";
32
+ export { TelemetryReporter, initTelemetry, getTelemetry, closeTelemetry, } from "./telemetry.js";
33
+ export { MonitoringClient } from "./monitoring.js";
34
+ export { SettingsClient } from "./settings.js";
35
+ export { TrainingClient } from "./training.js";
36
+ // Capabilities
37
+ export { CapabilitiesClient } from "./capabilities.js";
38
+ // Control (device registration + heartbeat)
39
+ export { ControlClient } from "./control.js";
40
+ export { DevicesClient } from "./devices.js";
41
+ // Sync (desired-state reconciliation)
42
+ export { SyncManager } from "./sync-manager.js";
28
43
  // Device auth
29
- export { DeviceAuthManager } from "./device-auth.js";
44
+ export { DeviceAuth } from "./device-auth.js";
45
+ export { ArtifactsClient } from "./artifacts.js";
46
+ // Silent device registration
47
+ export { configure, getDeviceContext } from "./configure.js";
48
+ export { DeviceContext } from "./device-context.js";
49
+ export { validatePublishableKey, getPublishableKeyEnvironment, } from "./silent-auth-config.js";
30
50
  // Model integrity
31
- export { computeHash, verifyModelIntegrity, assertModelIntegrity } from "./integrity.js";
51
+ export { computeHash, verifyModelIntegrity, assertModelIntegrity, } from "./integrity.js";
52
+ // Responses namespace (Layer 2 — structured response API)
53
+ export { ResponsesClient, generateId as generateResponseId, } from "./responses.js";
54
+ export { ToolRunner } from "./responses-tools.js";
55
+ export { createTransformersJsLocalResponsesRuntime } from "./transformers-local-runtime.js";
56
+ // Models namespace (status / load / unload / list / clearCache)
57
+ export { ModelsClient } from "./models.js";
32
58
  // Streaming inference
33
59
  export { StreamingInferenceEngine } from "./streaming.js";
60
+ // Engine registry & plugin interface
61
+ export { EngineRegistry } from "./runtime/index.js";
62
+ // Embeddings
63
+ export { embed } from "./embeddings.js";
64
+ export { OctomilText, TextPredictionsClient } from "./text/octomil-text.js";
34
65
  // Federated training
35
66
  export { FederatedClient, WeightExtractor } from "./federated.js";
67
+ // Federated analytics
68
+ export { FederatedAnalyticsClient } from "./federated-analytics.js";
36
69
  // Secure aggregation
37
70
  export { SecureAggregation, SecAggPlus, shamirSplit, shamirReconstruct, } from "./secure-aggregation.js";
38
71
  // Privacy filters
39
72
  export { clipGradients, addGaussianNoise, quantize, dequantize, } from "./privacy.js";
40
- // Rollouts
41
- export { RolloutsManager } from "./rollouts.js";
73
+ // Install ID (telemetry resource attribute)
74
+ export { getInstallId, resetInstallIdCache } from "./install-id.js";
75
+ // Gradient cache
76
+ export { GradientCache } from "./gradient-cache.js";
42
77
  // Experiments / A/B testing
43
78
  export { ExperimentsClient } from "./experiments.js";
44
- export { OctomilError } from "./types.js";
79
+ // Routing
80
+ export { RoutingClient, detectDeviceCapabilities } from "./routing.js";
81
+ export { OctomilError, ERROR_CODE_MAP, AuthType, PrincipalType, Scope, } from "./types.js";
82
+ // Contract-generated enums and constants (from octomil-contracts)
83
+ export { ErrorCode, ModelStatus as ContractModelStatus, DeviceClass, FinishReason, CompatibilityLevel, OTLP_RESOURCE_ATTRIBUTES, TELEMETRY_EVENTS, EVENT_REQUIRED_ATTRIBUTES, } from "./_generated/index.js";
84
+ export function benchmarkResultOk(result) {
85
+ return result.error == null;
86
+ }
45
87
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,aAAa;AACb,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,mCAAmC;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAmB,MAAM,YAAY,CAAC;AAC/D,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;AAExB,cAAc;AACd,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,kBAAkB;AAClB,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEzF,sBAAsB;AACtB,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAE1D,qBAAqB;AACrB,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAElE,qBAAqB;AACrB,OAAO,EACL,iBAAiB,EACjB,UAAU,EACV,WAAW,EACX,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AAEjC,kBAAkB;AAClB,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,QAAQ,EACR,UAAU,GACX,MAAM,cAAc,CAAC;AAEtB,WAAW;AACX,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,4BAA4B;AAC5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAyCrD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * @octomil/browser — Persistent install ID for telemetry resource attributes.
3
+ *
4
+ * Generates a UUID on first SDK initialization and persists it to
5
+ * `localStorage` under the key `octomil_install_id`. On subsequent inits,
6
+ * reads from the persisted value. This provides a stable anonymous
7
+ * identifier for the `octomil.install.id` OTLP resource attribute.
8
+ */
9
+ /**
10
+ * Returns the persistent install ID, creating it if necessary.
11
+ *
12
+ * On first call, checks `localStorage` for a stored value. If none exists,
13
+ * generates a new UUID via `crypto.randomUUID()` and persists it. The result
14
+ * is cached in memory for subsequent calls.
15
+ *
16
+ * If `localStorage` is unavailable (e.g., private browsing, SSR), a new
17
+ * random UUID is generated and cached in memory only (not persisted).
18
+ */
19
+ export declare function getInstallId(): string;
20
+ /**
21
+ * Returns the cached install ID without accessing localStorage.
22
+ *
23
+ * Returns null if `getInstallId()` has not been called yet.
24
+ */
25
+ export declare function getCachedInstallId(): string | null;
26
+ /**
27
+ * Clears the in-memory cache. Primarily for testing.
28
+ *
29
+ * Does NOT remove the persisted value from localStorage.
30
+ */
31
+ export declare function resetInstallIdCache(): void;
32
+ //# sourceMappingURL=install-id.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install-id.d.ts","sourceRoot":"","sources":["../src/install-id.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH;;;;;;;;;GASG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAyBrC;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,GAAG,IAAI,CAElD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * @octomil/browser — Persistent install ID for telemetry resource attributes.
3
+ *
4
+ * Generates a UUID on first SDK initialization and persists it to
5
+ * `localStorage` under the key `octomil_install_id`. On subsequent inits,
6
+ * reads from the persisted value. This provides a stable anonymous
7
+ * identifier for the `octomil.install.id` OTLP resource attribute.
8
+ */
9
+ const STORAGE_KEY = "octomil_install_id";
10
+ let _cached = null;
11
+ /**
12
+ * Returns the persistent install ID, creating it if necessary.
13
+ *
14
+ * On first call, checks `localStorage` for a stored value. If none exists,
15
+ * generates a new UUID via `crypto.randomUUID()` and persists it. The result
16
+ * is cached in memory for subsequent calls.
17
+ *
18
+ * If `localStorage` is unavailable (e.g., private browsing, SSR), a new
19
+ * random UUID is generated and cached in memory only (not persisted).
20
+ */
21
+ export function getInstallId() {
22
+ if (_cached !== null) {
23
+ return _cached;
24
+ }
25
+ try {
26
+ const stored = localStorage.getItem(STORAGE_KEY);
27
+ if (stored) {
28
+ _cached = stored;
29
+ return stored;
30
+ }
31
+ }
32
+ catch {
33
+ // localStorage unavailable (private browsing, SSR, etc.)
34
+ }
35
+ const newId = crypto.randomUUID();
36
+ try {
37
+ localStorage.setItem(STORAGE_KEY, newId);
38
+ }
39
+ catch {
40
+ // Persistence failed — use ephemeral ID
41
+ }
42
+ _cached = newId;
43
+ return newId;
44
+ }
45
+ /**
46
+ * Returns the cached install ID without accessing localStorage.
47
+ *
48
+ * Returns null if `getInstallId()` has not been called yet.
49
+ */
50
+ export function getCachedInstallId() {
51
+ return _cached;
52
+ }
53
+ /**
54
+ * Clears the in-memory cache. Primarily for testing.
55
+ *
56
+ * Does NOT remove the persisted value from localStorage.
57
+ */
58
+ export function resetInstallIdCache() {
59
+ _cached = null;
60
+ }
61
+ //# sourceMappingURL=install-id.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install-id.js","sourceRoot":"","sources":["../src/install-id.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,WAAW,GAAG,oBAAoB,CAAC;AAEzC,IAAI,OAAO,GAAkB,IAAI,CAAC;AAElC;;;;;;;;;GASG;AACH,MAAM,UAAU,YAAY;IAC1B,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,GAAG,MAAM,CAAC;YACjB,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,yDAAyD;IAC3D,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;IAElC,IAAI,CAAC;QACH,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,wCAAwC;IAC1C,CAAC;IAED,OAAO,GAAG,KAAK,CAAC;IAChB,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO,GAAG,IAAI,CAAC;AACjB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @octomil/browser — Model loader
2
+ * @octomil/browser — Model manager
3
3
  *
4
4
  * Downloads an ONNX model from a URL or the Octomil model registry,
5
5
  * caches it locally, and returns the raw `ArrayBuffer` for the
@@ -7,7 +7,7 @@
7
7
  */
8
8
  import type { ModelCache } from "./cache.js";
9
9
  import type { OctomilOptions } from "./types.js";
10
- export declare class ModelLoader {
10
+ export declare class ModelManager {
11
11
  private readonly modelId;
12
12
  private readonly serverUrl;
13
13
  private readonly apiKey;
@@ -31,10 +31,10 @@ export declare class ModelLoader {
31
31
  * the Octomil server.
32
32
  */
33
33
  resolveModelUrl(): Promise<string>;
34
- private fetchRegistryUrl;
34
+ private fetchResolverUrl;
35
35
  private buildHeaders;
36
36
  private download;
37
37
  private delay;
38
38
  private validate;
39
39
  }
40
- //# sourceMappingURL=model-loader.d.ts.map
40
+ //# sourceMappingURL=model-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-manager.d.ts","sourceRoot":"","sources":["../src/model-manager.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAEV,cAAc,EAEf,MAAM,YAAY,CAAC;AAcpB,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqB;IAC/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAC5C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA8C;IACzE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAa;gBAEvB,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,UAAU;IAYtD;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,WAAW,CAAC;IAqBlC,iDAAiD;IAC3C,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;IAKlC,+BAA+B;IACzB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAKjC,oCAAoC;IAC9B,YAAY;IASlB;;;;OAIG;IACG,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC;YAkB1B,gBAAgB;IAiD9B,OAAO,CAAC,YAAY;YAWN,QAAQ;IAmHtB,OAAO,CAAC,KAAK;IAQb,OAAO,CAAC,QAAQ;CAkBjB"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @octomil/browser — Model loader
2
+ * @octomil/browser — Model manager
3
3
  *
4
4
  * Downloads an ONNX model from a URL or the Octomil model registry,
5
5
  * caches it locally, and returns the raw `ArrayBuffer` for the
@@ -12,9 +12,9 @@ import { OctomilError } from "./types.js";
12
12
  const MAX_RETRIES = 3;
13
13
  const RETRY_DELAY_MS = 1_000;
14
14
  // ---------------------------------------------------------------------------
15
- // ModelLoader
15
+ // ModelManager
16
16
  // ---------------------------------------------------------------------------
17
- export class ModelLoader {
17
+ export class ModelManager {
18
18
  modelId;
19
19
  serverUrl;
20
20
  apiKey;
@@ -80,10 +80,10 @@ export class ModelLoader {
80
80
  if (!this.serverUrl) {
81
81
  throw new OctomilError("MODEL_NOT_FOUND", `Cannot resolve model "${this.modelId}": no serverUrl configured.`);
82
82
  }
83
- return this.fetchRegistryUrl(this.modelId);
83
+ return this.fetchResolverUrl(this.modelId);
84
84
  }
85
- async fetchRegistryUrl(name) {
86
- const registryUrl = `${this.serverUrl}/api/v1/models/${encodeURIComponent(name)}/metadata`;
85
+ async fetchResolverUrl(reference) {
86
+ const resolverUrl = `${this.serverUrl}/api/v1/registry/resolve/${encodeURIComponent(reference)}`;
87
87
  const headers = {
88
88
  Accept: "application/json",
89
89
  };
@@ -92,19 +92,23 @@ export class ModelLoader {
92
92
  }
93
93
  let response;
94
94
  try {
95
- response = await fetch(registryUrl, { headers });
95
+ response = await fetch(resolverUrl, { headers });
96
96
  }
97
97
  catch (err) {
98
- throw new OctomilError("NETWORK_ERROR", `Failed to reach model registry at ${registryUrl}`, err);
98
+ throw new OctomilError("NETWORK_UNAVAILABLE", `Failed to reach model resolver at ${resolverUrl}`, err);
99
99
  }
100
100
  if (!response.ok) {
101
101
  if (response.status === 404) {
102
- throw new OctomilError("MODEL_NOT_FOUND", `Model "${name}" not found in registry.`);
102
+ throw new OctomilError("MODEL_NOT_FOUND", `Model "${reference}" not found in registry.`);
103
103
  }
104
- throw new OctomilError("NETWORK_ERROR", `Registry returned HTTP ${response.status}: ${response.statusText}`);
104
+ throw new OctomilError("NETWORK_UNAVAILABLE", `Model resolver returned HTTP ${response.status}: ${response.statusText}`);
105
105
  }
106
106
  const metadata = (await response.json());
107
- return metadata.url;
107
+ const resolvedUrl = metadata.download_url ?? metadata.url;
108
+ if (!resolvedUrl) {
109
+ throw new OctomilError("MODEL_LOAD_FAILED", `Model resolver response for "${reference}" did not include a download URL`);
110
+ }
111
+ return resolvedUrl;
108
112
  }
109
113
  // -----------------------------------------------------------------------
110
114
  // Internal — download
@@ -133,7 +137,7 @@ export class ModelLoader {
133
137
  catch (err) {
134
138
  attempt++;
135
139
  if (attempt > MAX_RETRIES) {
136
- throw new OctomilError("NETWORK_ERROR", `Failed to download model from ${url} after ${MAX_RETRIES} retries`, err);
140
+ throw new OctomilError("NETWORK_UNAVAILABLE", `Failed to download model from ${url} after ${MAX_RETRIES} retries`, err);
137
141
  }
138
142
  await this.delay(RETRY_DELAY_MS * attempt);
139
143
  continue;
@@ -192,7 +196,7 @@ export class ModelLoader {
192
196
  streamFailed = true;
193
197
  attempt++;
194
198
  if (attempt > MAX_RETRIES) {
195
- throw new OctomilError("NETWORK_ERROR", `Model download interrupted after ${MAX_RETRIES} retries`, err);
199
+ throw new OctomilError("NETWORK_UNAVAILABLE", `Model download interrupted after ${MAX_RETRIES} retries`, err);
196
200
  }
197
201
  await this.delay(RETRY_DELAY_MS * attempt);
198
202
  }
@@ -229,4 +233,4 @@ export class ModelLoader {
229
233
  }
230
234
  }
231
235
  }
232
- //# sourceMappingURL=model-loader.js.map
236
+ //# sourceMappingURL=model-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-manager.js","sourceRoot":"","sources":["../src/model-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * @octomil/browser — Models namespace
3
+ *
4
+ * Provides a `ModelsClient` that exposes model lifecycle status
5
+ * (`not_cached | downloading | ready | error`), load/unload,
6
+ * cached model listing, and cache clearing.
7
+ *
8
+ * Because the browser SDK's `OctomilClient` is model-specific
9
+ * (constructed with a single model URL/ref), this client wraps
10
+ * the existing {@link ModelManager} and tracks runtime state
11
+ * (downloading, error) in memory.
12
+ */
13
+ import type { ModelManager } from "./model-manager.js";
14
+ /** Lifecycle status of a model in the browser SDK. */
15
+ export type ModelStatus = "not_cached" | "downloading" | "ready" | "error";
16
+ /** Summary info for a cached model. */
17
+ export interface CachedModelInfo {
18
+ /** The model reference (URL or registry name). */
19
+ modelRef: string;
20
+ /** ISO-8601 timestamp of when the model was cached. */
21
+ cachedAt?: string;
22
+ /** Size of the cached model in bytes. */
23
+ sizeBytes?: number;
24
+ }
25
+ export declare class ModelsClient {
26
+ private readonly modelId;
27
+ private readonly manager;
28
+ private readonly onLoaded;
29
+ /** Models currently being downloaded. */
30
+ private downloading;
31
+ /** Models that failed to load, keyed by modelId -> error message. */
32
+ private errors;
33
+ constructor(modelId: string, manager: ModelManager, onLoaded: () => void);
34
+ /**
35
+ * Return the current lifecycle status of the configured model.
36
+ *
37
+ * - `"downloading"` — a `load()` call is in progress.
38
+ * - `"error"` — the last `load()` call failed.
39
+ * - `"ready"` — the model binary is cached locally.
40
+ * - `"not_cached"` — the model is not cached and not loading.
41
+ */
42
+ status(modelId?: string): Promise<ModelStatus>;
43
+ /**
44
+ * Download the model (if not cached) and mark it as ready.
45
+ *
46
+ * Tracks downloading/error state so that `status()` reflects
47
+ * the current lifecycle phase. Delegates the actual work to
48
+ * the underlying {@link ModelManager}.
49
+ */
50
+ load(modelId?: string): Promise<void>;
51
+ /**
52
+ * Remove the cached model binary.
53
+ *
54
+ * Note: this does not release the in-memory ONNX session.
55
+ * Call `OctomilClient.close()` for full cleanup.
56
+ */
57
+ unload(_modelId?: string): Promise<void>;
58
+ /**
59
+ * List cached models.
60
+ *
61
+ * Because the browser SDK manages a single model per client,
62
+ * this returns zero or one entries.
63
+ */
64
+ list(): Promise<CachedModelInfo[]>;
65
+ /**
66
+ * Remove the cached model and clear any tracked error state.
67
+ */
68
+ clearCache(): Promise<void>;
69
+ /**
70
+ * Return the error message for the model, if the last load failed.
71
+ */
72
+ getError(modelId?: string): string | undefined;
73
+ }
74
+ //# sourceMappingURL=models.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAOvD,sDAAsD;AACtD,MAAM,MAAM,WAAW,GAAG,YAAY,GAAG,aAAa,GAAG,OAAO,GAAG,OAAO,CAAC;AAE3E,uCAAuC;AACvC,MAAM,WAAW,eAAe;IAC9B,kDAAkD;IAClD,QAAQ,EAAE,MAAM,CAAC;IACjB,uDAAuD;IACvD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAMD,qBAAa,YAAY;IAOrB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAR3B,yCAAyC;IACzC,OAAO,CAAC,WAAW,CAAqB;IACxC,qEAAqE;IACrE,OAAO,CAAC,MAAM,CAA6B;gBAGxB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,MAAM,IAAI;IAOvC;;;;;;;OAOG;IACG,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAUpD;;;;;;OAMG;IACG,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB3C;;;;;OAKG;IACG,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9C;;;;;OAKG;IACG,IAAI,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAaxC;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAKjC;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;CAI/C"}