@kosdev-code/kos-ui-sdk 2.0.43 → 2.0.45

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 (445) hide show
  1. package/common/events/eventBus.d.ts +30 -0
  2. package/common/events/eventBus.d.ts.map +1 -1
  3. package/common/events/eventBus.functional.d.ts +48 -0
  4. package/common/events/eventBus.functional.d.ts.map +1 -1
  5. package/common/events/eventBus.state.d.ts +33 -0
  6. package/common/events/eventBus.state.d.ts.map +1 -1
  7. package/core/constants/model-constants.d.ts +9 -0
  8. package/core/constants/model-constants.d.ts.map +1 -0
  9. package/core/core/companion-instantiator.d.ts +71 -0
  10. package/core/core/companion-instantiator.d.ts.map +1 -0
  11. package/core/core/decorators/fsm-injection-utils.d.ts +16 -0
  12. package/core/core/decorators/fsm-injection-utils.d.ts.map +1 -0
  13. package/core/core/decorators/index.d.ts +11 -0
  14. package/core/core/decorators/index.d.ts.map +1 -1
  15. package/core/core/decorators/kos-child.d.ts +2 -0
  16. package/core/core/decorators/kos-child.d.ts.map +1 -1
  17. package/core/core/decorators/kos-companion.d.ts +158 -8
  18. package/core/core/decorators/kos-companion.d.ts.map +1 -1
  19. package/core/core/decorators/kos-container-aware.d.ts +619 -0
  20. package/core/core/decorators/kos-container-aware.d.ts.map +1 -0
  21. package/core/core/decorators/kos-context.d.ts +6 -0
  22. package/core/core/decorators/kos-context.d.ts.map +1 -1
  23. package/core/core/decorators/kos-execution-context.d.ts +63 -0
  24. package/core/core/decorators/kos-execution-context.d.ts.map +1 -0
  25. package/core/core/decorators/kos-future-aware.d.ts +162 -0
  26. package/core/core/decorators/kos-future-aware.d.ts.map +1 -0
  27. package/core/core/decorators/kos-http-decorators.d.ts +15 -0
  28. package/core/core/decorators/kos-http-decorators.d.ts.map +1 -1
  29. package/core/core/decorators/kos-log.d.ts +4 -0
  30. package/core/core/decorators/kos-log.d.ts.map +1 -1
  31. package/core/core/decorators/kos-logger-aware.d.ts +105 -0
  32. package/core/core/decorators/kos-logger-aware.d.ts.map +1 -0
  33. package/core/core/decorators/kos-model-effect.d.ts +9 -0
  34. package/core/core/decorators/kos-model-effect.d.ts.map +1 -1
  35. package/core/core/decorators/kos-multiple-future-aware.d.ts +217 -0
  36. package/core/core/decorators/kos-multiple-future-aware.d.ts.map +1 -0
  37. package/core/core/decorators/kos-parent.d.ts +4 -0
  38. package/core/core/decorators/kos-parent.d.ts.map +1 -1
  39. package/core/core/decorators/kos-reference.d.ts +9 -0
  40. package/core/core/decorators/kos-reference.d.ts.map +1 -1
  41. package/core/core/decorators/kos-service-request-helpers.d.ts +60 -0
  42. package/core/core/decorators/kos-service-request-helpers.d.ts.map +1 -0
  43. package/core/core/decorators/kos-service-request.d.ts +498 -0
  44. package/core/core/decorators/kos-service-request.d.ts.map +1 -0
  45. package/core/core/decorators/kos-state-machine.d.ts +534 -0
  46. package/core/core/decorators/kos-state-machine.d.ts.map +1 -0
  47. package/core/core/decorators/kos-topic-handler-flow-control.d.ts +17 -1
  48. package/core/core/decorators/kos-topic-handler-flow-control.d.ts.map +1 -1
  49. package/core/core/decorators/kos-trouble-aware.d.ts +77 -0
  50. package/core/core/decorators/kos-trouble-aware.d.ts.map +1 -0
  51. package/core/core/decorators/kos-view-model.d.ts +176 -0
  52. package/core/core/decorators/kos-view-model.d.ts.map +1 -0
  53. package/core/core/decorators/kosDependency.d.ts +4 -1
  54. package/core/core/decorators/kosDependency.d.ts.map +1 -1
  55. package/core/core/decorators/kosModel.d.ts +17 -2
  56. package/core/core/decorators/kosModel.d.ts.map +1 -1
  57. package/core/core/decorators/kosSubscribe.d.ts +9 -0
  58. package/core/core/decorators/kosSubscribe.d.ts.map +1 -1
  59. package/core/core/decorators/kosTopicHandler.d.ts +87 -5
  60. package/core/core/decorators/kosTopicHandler.d.ts.map +1 -1
  61. package/core/core/decorators/propKeys.d.ts +14 -0
  62. package/core/core/decorators/propKeys.d.ts.map +1 -1
  63. package/core/core/decorators/resolve-parameters.d.ts.map +1 -1
  64. package/core/core/extension/extension-manager.d.ts +64 -4
  65. package/core/core/extension/extension-manager.d.ts.map +1 -1
  66. package/core/core/extension/initialize-extension.d.ts +24 -0
  67. package/core/core/extension/initialize-extension.d.ts.map +1 -1
  68. package/core/core/extension/plugin-extension-manager.d.ts +11 -0
  69. package/core/core/extension/plugin-extension-manager.d.ts.map +1 -1
  70. package/core/core/kos-container-model.d.ts +188 -0
  71. package/core/core/kos-container-model.d.ts.map +1 -1
  72. package/core/core/kos-data-container.d.ts +93 -1
  73. package/core/core/kos-data-container.d.ts.map +1 -1
  74. package/core/core/kos-registration.d.ts.map +1 -1
  75. package/core/core/kos-singleton-registration.d.ts.map +1 -1
  76. package/core/core/kosCore.d.ts.map +1 -1
  77. package/core/core/kosModel.d.ts +55 -1
  78. package/core/core/kosModel.d.ts.map +1 -1
  79. package/core/core/kosModelManager.d.ts +11 -1
  80. package/core/core/kosModelManager.d.ts.map +1 -1
  81. package/core/core/log/log.d.ts.map +1 -1
  82. package/core/core/model/apply-kos-dev-tool-support.d.ts.map +1 -1
  83. package/core/core/model/kos-model-component-factory.d.ts +4 -0
  84. package/core/core/model/kos-model-component-factory.d.ts.map +1 -1
  85. package/core/core/model/kos-offline-queue.d.ts +78 -1
  86. package/core/core/model/kos-offline-queue.d.ts.map +1 -1
  87. package/core/core/model/kos-service-request-manager.d.ts +102 -0
  88. package/core/core/model/kos-service-request-manager.d.ts.map +1 -0
  89. package/core/core/model/kos-subscription-manager.d.ts +20 -0
  90. package/core/core/model/kos-subscription-manager.d.ts.map +1 -1
  91. package/core/core/model/model-introspection-utils.d.ts +1 -0
  92. package/core/core/model/model-introspection-utils.d.ts.map +1 -1
  93. package/core/core/model/service-response-store.d.ts +164 -0
  94. package/core/core/model/service-response-store.d.ts.map +1 -0
  95. package/core/core/model-instantiator.d.ts +19 -0
  96. package/core/core/model-instantiator.d.ts.map +1 -1
  97. package/core/core/registration/index.d.ts +1 -0
  98. package/core/core/registration/index.d.ts.map +1 -1
  99. package/core/core/services/browser-router.d.ts.map +1 -1
  100. package/core/core/transport/webSocketTransport.d.ts +2 -1
  101. package/core/core/transport/webSocketTransport.d.ts.map +1 -1
  102. package/core/core/types/registration.d.ts +7 -0
  103. package/core/core/types/registration.d.ts.map +1 -1
  104. package/core/index.d.ts +2 -1
  105. package/core/index.d.ts.map +1 -1
  106. package/core/types/index.d.ts +1 -0
  107. package/core/types/index.d.ts.map +1 -1
  108. package/core/types/kos-dependency.d.ts +48 -1
  109. package/core/types/kos-dependency.d.ts.map +1 -1
  110. package/core/types/service-response-store.d.ts +162 -0
  111. package/core/types/service-response-store.d.ts.map +1 -0
  112. package/core/types/utils/kos-fetch.d.ts +121 -0
  113. package/core/types/utils/kos-fetch.d.ts.map +1 -1
  114. package/core/util/ancestor-path-visitor.d.ts +60 -0
  115. package/core/util/ancestor-path-visitor.d.ts.map +1 -0
  116. package/core/util/api-request-id.d.ts +4 -0
  117. package/core/util/api-request-id.d.ts.map +1 -1
  118. package/core/util/apply-mixins.d.ts +4 -0
  119. package/core/util/apply-mixins.d.ts.map +1 -1
  120. package/core/util/array-utils.d.ts +4 -0
  121. package/core/util/array-utils.d.ts.map +1 -1
  122. package/core/util/container-utils.d.ts +264 -11
  123. package/core/util/container-utils.d.ts.map +1 -1
  124. package/core/util/date-utils.d.ts +29 -0
  125. package/core/util/date-utils.d.ts.map +1 -1
  126. package/core/util/debounce.d.ts +3 -0
  127. package/core/util/debounce.d.ts.map +1 -1
  128. package/core/util/error-logger.d.ts +16 -0
  129. package/core/util/error-logger.d.ts.map +1 -0
  130. package/core/util/feature-flags.d.ts +19 -0
  131. package/core/util/feature-flags.d.ts.map +1 -1
  132. package/core/util/get-query-params.d.ts +4 -0
  133. package/core/util/get-query-params.d.ts.map +1 -1
  134. package/core/util/hsl-to-hex.d.ts +16 -0
  135. package/core/util/hsl-to-hex.d.ts.map +1 -1
  136. package/core/util/index.d.ts +3 -0
  137. package/core/util/index.d.ts.map +1 -1
  138. package/core/util/kos-config-init.d.ts +37 -0
  139. package/core/util/kos-config-init.d.ts.map +1 -1
  140. package/core/util/kos-data-mapper-utils.d.ts +9 -0
  141. package/core/util/kos-data-mapper-utils.d.ts.map +1 -1
  142. package/core/util/kos-fetch.d.ts +12 -0
  143. package/core/util/kos-fetch.d.ts.map +1 -1
  144. package/core/util/kos-message-utils.d.ts +88 -0
  145. package/core/util/kos-message-utils.d.ts.map +1 -1
  146. package/core/util/kos-model-utils.d.ts +46 -0
  147. package/core/util/kos-model-utils.d.ts.map +1 -1
  148. package/core/util/kos-model-visitor.d.ts +2 -0
  149. package/core/util/kos-model-visitor.d.ts.map +1 -1
  150. package/core/util/kos-service-request.d.ts +43 -3
  151. package/core/util/kos-service-request.d.ts.map +1 -1
  152. package/core/util/log-utils.d.ts +12 -0
  153. package/core/util/log-utils.d.ts.map +1 -1
  154. package/core/util/middleware.d.ts +15 -0
  155. package/core/util/middleware.d.ts.map +1 -1
  156. package/core/util/model-attribute-utils.d.ts +7 -0
  157. package/core/util/model-attribute-utils.d.ts.map +1 -1
  158. package/core/util/model-error-utils.d.ts +61 -0
  159. package/core/util/model-error-utils.d.ts.map +1 -0
  160. package/core/util/model-factory.d.ts +4 -0
  161. package/core/util/model-factory.d.ts.map +1 -1
  162. package/core/util/model-registration-utils.d.ts +8 -0
  163. package/core/util/model-registration-utils.d.ts.map +1 -1
  164. package/core/util/model-transition-utils.d.ts +41 -0
  165. package/core/util/model-transition-utils.d.ts.map +1 -0
  166. package/core/util/model-type-guards.d.ts +26 -0
  167. package/core/util/model-type-guards.d.ts.map +1 -0
  168. package/core/util/model-utils.d.ts +40 -29
  169. package/core/util/model-utils.d.ts.map +1 -1
  170. package/core/util/observable-proxy-map.d.ts +11 -0
  171. package/core/util/observable-proxy-map.d.ts.map +1 -1
  172. package/core/util/paired-client-heartbeat.d.ts +2 -0
  173. package/core/util/paired-client-heartbeat.d.ts.map +1 -1
  174. package/core/util/pipe.d.ts +4 -0
  175. package/core/util/pipe.d.ts.map +1 -1
  176. package/core/util/promise-utils.d.ts +58 -0
  177. package/core/util/promise-utils.d.ts.map +1 -0
  178. package/core/util/retry-with-exponential-backoff.d.ts +3 -0
  179. package/core/util/retry-with-exponential-backoff.d.ts.map +1 -1
  180. package/core/util/service-factory.d.ts +10 -0
  181. package/core/util/service-factory.d.ts.map +1 -1
  182. package/core/util/service-request-error.d.ts +60 -0
  183. package/core/util/service-request-error.d.ts.map +1 -0
  184. package/core/util/service-response.d.ts +125 -0
  185. package/core/util/service-response.d.ts.map +1 -0
  186. package/core/util/session-utils.d.ts +8 -0
  187. package/core/util/session-utils.d.ts.map +1 -1
  188. package/core/util/wait-for-request.d.ts +16 -0
  189. package/core/util/wait-for-request.d.ts.map +1 -1
  190. package/core/util/when-ready.d.ts +3 -0
  191. package/core/util/when-ready.d.ts.map +1 -1
  192. package/index.cjs +26904 -118
  193. package/index.cjs.map +1 -1
  194. package/index.d.cts +6 -3
  195. package/index.d.ts +6 -3
  196. package/index.d.ts.map +1 -1
  197. package/index.js +25298 -13441
  198. package/index.js.map +1 -1
  199. package/kos-models.json +426 -0
  200. package/models/constants/index.d.ts +3 -1
  201. package/models/constants/index.d.ts.map +1 -1
  202. package/models/decorators/future-service.d.ts +27 -2
  203. package/models/decorators/future-service.d.ts.map +1 -1
  204. package/models/models/browser-router/browser-router-model.d.ts +80 -1
  205. package/models/models/browser-router/browser-router-model.d.ts.map +1 -1
  206. package/models/models/browser-router/types/index.d.ts +26 -1
  207. package/models/models/canvas-dispatcher/types/index.d.ts +5 -0
  208. package/models/models/canvas-renderer/types/index.d.ts +5 -0
  209. package/models/models/config-bean/config-bean-model-builder.d.ts +4 -2
  210. package/models/models/config-bean/config-bean-model-builder.d.ts.map +1 -1
  211. package/models/models/config-bean/config-bean-model.d.ts +117 -13
  212. package/models/models/config-bean/config-bean-model.d.ts.map +1 -1
  213. package/models/models/config-bean/config-bean-types.d.ts +6 -3
  214. package/models/models/config-bean/config-bean-types.d.ts.map +1 -1
  215. package/models/models/config-bean/types/index.d.ts +34 -0
  216. package/models/models/config-bean-prop/config-bean-prop-model.d.ts +112 -1
  217. package/models/models/config-bean-prop/config-bean-prop-model.d.ts.map +1 -1
  218. package/models/models/config-bean-prop/types/index.d.ts +301 -19
  219. package/models/models/device/device-model.d.ts +219 -9
  220. package/models/models/device/device-model.d.ts.map +1 -1
  221. package/models/models/device/device-registration.d.ts +61 -48
  222. package/models/models/device/device-registration.d.ts.map +1 -1
  223. package/models/models/device/types/index.d.ts +42 -0
  224. package/models/models/future/future-aware.d.ts +82 -0
  225. package/models/models/future/future-aware.d.ts.map +1 -1
  226. package/models/models/future/future-model.d.ts +34 -5
  227. package/models/models/future/future-model.d.ts.map +1 -1
  228. package/models/models/future/future-types.d.ts +202 -9
  229. package/models/models/future/future-types.d.ts.map +1 -1
  230. package/models/models/future-container/future-container-model.d.ts +2 -2
  231. package/models/models/gpio-chip/gpio-chip-container-model.d.ts +25 -0
  232. package/models/models/gpio-chip/gpio-chip-container-model.d.ts.map +1 -0
  233. package/models/models/gpio-chip/gpio-chip-model.d.ts +30 -0
  234. package/models/models/gpio-chip/gpio-chip-model.d.ts.map +1 -0
  235. package/models/models/gpio-chip/index.d.ts +7 -0
  236. package/models/models/gpio-chip/index.d.ts.map +1 -0
  237. package/models/models/gpio-chip/services/gpio-chip-services.d.ts +86 -0
  238. package/models/models/gpio-chip/services/gpio-chip-services.d.ts.map +1 -0
  239. package/models/models/gpio-chip/services/index.d.ts +2 -0
  240. package/models/models/gpio-chip/services/index.d.ts.map +1 -0
  241. package/models/models/gpio-chip/types/index.d.ts +24 -0
  242. package/models/models/gpio-pin/gpio-pin-container-model.d.ts +23 -0
  243. package/models/models/gpio-pin/gpio-pin-container-model.d.ts.map +1 -0
  244. package/models/models/gpio-pin/gpio-pin-model.d.ts +26 -0
  245. package/models/models/gpio-pin/gpio-pin-model.d.ts.map +1 -0
  246. package/models/models/gpio-pin/index.d.ts +6 -0
  247. package/models/models/gpio-pin/index.d.ts.map +1 -0
  248. package/models/models/gpio-pin/types/index.d.ts +23 -0
  249. package/models/models/index.d.ts +1 -0
  250. package/models/models/index.d.ts.map +1 -1
  251. package/models/models/key-value/index.d.ts +4 -0
  252. package/models/models/key-value/index.d.ts.map +1 -1
  253. package/models/models/key-value/key-value-model.d.ts +111 -0
  254. package/models/models/key-value/key-value-model.d.ts.map +1 -1
  255. package/models/models/key-value/services/key-value-services.d.ts +124 -2
  256. package/models/models/key-value/services/key-value-services.d.ts.map +1 -1
  257. package/models/models/key-value/types/index.d.ts +57 -0
  258. package/models/models/kos-expression-evaluator/index.d.ts +4 -0
  259. package/models/models/kos-expression-evaluator/index.d.ts.map +1 -0
  260. package/models/models/kos-expression-evaluator/kos-expression-evaluator-model.d.ts +209 -0
  261. package/models/models/kos-expression-evaluator/kos-expression-evaluator-model.d.ts.map +1 -0
  262. package/models/models/kos-expression-evaluator/services/index.d.ts +6 -0
  263. package/models/models/kos-expression-evaluator/services/index.d.ts.map +1 -0
  264. package/models/models/kos-expression-evaluator/services/kos-expression-evaluator-services.d.ts +15 -0
  265. package/models/models/kos-expression-evaluator/services/kos-expression-evaluator-services.d.ts.map +1 -0
  266. package/models/models/kos-expression-evaluator/types/index.d.ts +6 -0
  267. package/models/models/kos-log-manager/kos-log-manager-model.d.ts +61 -14
  268. package/models/models/kos-log-manager/kos-log-manager-model.d.ts.map +1 -1
  269. package/models/models/kos-log-manager/types/index.d.ts +191 -0
  270. package/models/models/kos-time/kos-time-model.d.ts +64 -0
  271. package/models/models/kos-time/kos-time-model.d.ts.map +1 -1
  272. package/models/models/kos-time/types/index.d.ts +83 -0
  273. package/models/models/log-block/log-block-container-model.d.ts +132 -0
  274. package/models/models/log-block/log-block-container-model.d.ts.map +1 -1
  275. package/models/models/log-block/log-block-model.d.ts +185 -0
  276. package/models/models/log-block/log-block-model.d.ts.map +1 -1
  277. package/models/models/log-block/types/index.d.ts +133 -0
  278. package/models/models/log-stream/index.d.ts +6 -2
  279. package/models/models/log-stream/index.d.ts.map +1 -1
  280. package/models/models/log-stream/log-stream-container-model.d.ts +62 -0
  281. package/models/models/log-stream/log-stream-container-model.d.ts.map +1 -1
  282. package/models/models/log-stream/log-stream-model.d.ts +55 -0
  283. package/models/models/log-stream/log-stream-model.d.ts.map +1 -1
  284. package/models/models/log-stream/services/log-stream-services.d.ts +2 -1
  285. package/models/models/log-stream/services/log-stream-services.d.ts.map +1 -1
  286. package/models/models/log-stream/types/index.d.ts +79 -0
  287. package/models/models/network-interface/index.d.ts +6 -2
  288. package/models/models/network-interface/index.d.ts.map +1 -1
  289. package/models/models/network-interface/network-interface-container-model.d.ts +62 -0
  290. package/models/models/network-interface/network-interface-container-model.d.ts.map +1 -1
  291. package/models/models/network-interface/network-interface-container-registration.d.ts +2 -1
  292. package/models/models/network-interface/network-interface-container-registration.d.ts.map +1 -1
  293. package/models/models/network-interface/network-interface-model.d.ts +77 -0
  294. package/models/models/network-interface/network-interface-model.d.ts.map +1 -1
  295. package/models/models/network-interface/network-interface-registration.d.ts +2 -1
  296. package/models/models/network-interface/network-interface-registration.d.ts.map +1 -1
  297. package/models/models/network-interface/services/network-interface-services.d.ts +54 -0
  298. package/models/models/network-interface/services/network-interface-services.d.ts.map +1 -1
  299. package/models/models/network-interface/types/index.d.ts +22 -0
  300. package/models/models/ota/ota-model.d.ts +82 -3
  301. package/models/models/ota/ota-model.d.ts.map +1 -1
  302. package/models/models/ota/types/index.d.ts +177 -0
  303. package/models/models/region-info/region-info-model.d.ts +8 -3
  304. package/models/models/region-info/region-info-model.d.ts.map +1 -1
  305. package/models/models/region-info/services/region-info-services.d.ts +2 -2
  306. package/models/models/region-info/services/region-info-services.d.ts.map +1 -1
  307. package/models/models/region-info/types/index.d.ts +191 -13
  308. package/models/models/region-info/types/index.d.ts.map +1 -1
  309. package/models/models/region-info/utils/unit-system-utils.d.ts.map +1 -1
  310. package/models/models/software-info/services/software-info-services.d.ts.map +1 -1
  311. package/models/models/software-info/software-info-model.d.ts +74 -2
  312. package/models/models/software-info/software-info-model.d.ts.map +1 -1
  313. package/models/models/software-info/types/index.d.ts +52 -17
  314. package/models/models/state-bean/state-bean-model.d.ts +86 -9
  315. package/models/models/state-bean/state-bean-model.d.ts.map +1 -1
  316. package/models/models/state-bean/types/index.d.ts +117 -6
  317. package/models/models/state-prop/state-prop-model.d.ts +78 -1
  318. package/models/models/state-prop/state-prop-model.d.ts.map +1 -1
  319. package/models/models/state-prop/types/index.d.ts +57 -7
  320. package/models/models/storage-device/services/storage-device-services.d.ts +1 -0
  321. package/models/models/storage-device/services/storage-device-services.d.ts.map +1 -1
  322. package/models/models/storage-device/storage-device-container-model.d.ts +289 -2
  323. package/models/models/storage-device/storage-device-container-model.d.ts.map +1 -1
  324. package/models/models/storage-device/storage-device-model.d.ts +84 -2
  325. package/models/models/storage-device/storage-device-model.d.ts.map +1 -1
  326. package/models/models/storage-device/types/index.d.ts +114 -0
  327. package/models/models/studio-properties/studio-properties-model.d.ts +75 -0
  328. package/models/models/studio-properties/studio-properties-model.d.ts.map +1 -1
  329. package/models/models/studio-properties/types/index.d.ts +29 -0
  330. package/models/models/translation/services/translation-services.d.ts +128 -2
  331. package/models/models/translation/services/translation-services.d.ts.map +1 -1
  332. package/models/models/translation/translation-container-model.d.ts +100 -10
  333. package/models/models/translation/translation-container-model.d.ts.map +1 -1
  334. package/models/models/translation/translation-container-registration.d.ts +2 -1
  335. package/models/models/translation/translation-container-registration.d.ts.map +1 -1
  336. package/models/models/translation/translation-context.d.ts +1 -16
  337. package/models/models/translation/translation-context.d.ts.map +1 -1
  338. package/models/models/translation/translation-model.d.ts +113 -1
  339. package/models/models/translation/translation-model.d.ts.map +1 -1
  340. package/models/models/translation/types/index.d.ts +343 -0
  341. package/models/models/trouble/index.d.ts +2 -1
  342. package/models/models/trouble/index.d.ts.map +1 -1
  343. package/models/models/trouble/services/trouble-services.d.ts +6 -4
  344. package/models/models/trouble/services/trouble-services.d.ts.map +1 -1
  345. package/models/models/trouble/trouble-model.d.ts +4 -1
  346. package/models/models/trouble/trouble-model.d.ts.map +1 -1
  347. package/models/models/trouble/types/index.d.ts +34 -93
  348. package/models/models/trouble/utils/is-trouble-aware.d.ts +2 -2
  349. package/models/models/trouble/utils/is-trouble-aware.d.ts.map +1 -1
  350. package/models/models/trouble-container/index.d.ts +4 -3
  351. package/models/models/trouble-container/index.d.ts.map +1 -1
  352. package/models/models/trouble-container/trouble-container-model.d.ts +10 -5
  353. package/models/models/trouble-container/trouble-container-model.d.ts.map +1 -1
  354. package/models/models/trouble-container/types/index.d.ts +6 -14
  355. package/models/models/usb-update/types/index.d.ts +10 -0
  356. package/models/services/config-bean/index.d.ts +2 -2
  357. package/models/services/config-bean/index.d.ts.map +1 -1
  358. package/models/utils/client.d.ts +16 -12
  359. package/models/utils/client.d.ts.map +1 -1
  360. package/models/utils/core-registration-manager.d.ts +1 -1
  361. package/models/utils/core-registration-manager.d.ts.map +1 -1
  362. package/models/utils/extension-manager.d.ts +54 -13
  363. package/models/utils/extension-manager.d.ts.map +1 -1
  364. package/models/utils/get-kos-connection-id.d.ts +2 -0
  365. package/models/utils/get-kos-connection-id.d.ts.map +1 -0
  366. package/models/utils/index.d.ts +3 -2
  367. package/models/utils/index.d.ts.map +1 -1
  368. package/models/utils/openapi-index.d.ts +3 -0
  369. package/models/utils/openapi-index.d.ts.map +1 -0
  370. package/models/utils/service-accessor.d.ts +86 -0
  371. package/models/utils/service-accessor.d.ts.map +1 -0
  372. package/models/utils/service.d.ts +91 -13
  373. package/models/utils/service.d.ts.map +1 -1
  374. package/models/utils/services/kos/1.6.5/openapi.d.ts +3809 -0
  375. package/models/utils/services/kos/1.6.5/service.d.ts +124 -0
  376. package/models/utils/services/kos/1.6.5/service.d.ts.map +1 -0
  377. package/models/utils/services/kos/1.8.1/openapi.d.ts +4344 -0
  378. package/models/utils/services/kos/1.8.1/service.d.ts +124 -0
  379. package/models/utils/services/kos/1.8.1/service.d.ts.map +1 -0
  380. package/models/utils/services/kos/1.9.x/openapi.d.ts +4597 -0
  381. package/models/utils/services/kos/1.9.x/service.d.ts +124 -0
  382. package/models/utils/services/kos/1.9.x/service.d.ts.map +1 -0
  383. package/models/utils/services/kos/daily/openapi.d.ts +4349 -0
  384. package/models/utils/services/kos/daily/service.d.ts +124 -0
  385. package/models/utils/services/kos/daily/service.d.ts.map +1 -0
  386. package/models/utils/services/vfs/1.6.5/openapi.d.ts +51 -0
  387. package/models/utils/services/vfs/1.6.5/service.d.ts +124 -0
  388. package/models/utils/services/vfs/1.6.5/service.d.ts.map +1 -0
  389. package/models/utils/services/vfs/1.8.1/openapi.d.ts +51 -0
  390. package/models/utils/services/vfs/1.8.1/service.d.ts +124 -0
  391. package/models/utils/services/vfs/1.8.1/service.d.ts.map +1 -0
  392. package/models/utils/services/vfs/1.9.x/openapi.d.ts +51 -0
  393. package/models/utils/services/vfs/1.9.x/service.d.ts +124 -0
  394. package/models/utils/services/vfs/1.9.x/service.d.ts.map +1 -0
  395. package/models/utils/services/vfs/daily/openapi.d.ts +51 -0
  396. package/models/utils/services/vfs/daily/service.d.ts +124 -0
  397. package/models/utils/services/vfs/daily/service.d.ts.map +1 -0
  398. package/models/utils/services-index.d.ts +9 -0
  399. package/models/utils/services-index.d.ts.map +1 -0
  400. package/package.json +16 -2
  401. package/ui/contexts/state-bean/state-bean-provider.d.ts.map +1 -1
  402. package/ui/hooks/device/use-device.d.ts +6 -0
  403. package/ui/hooks/device/use-device.d.ts.map +1 -1
  404. package/ui/hooks/index.d.ts +1 -0
  405. package/ui/hooks/index.d.ts.map +1 -1
  406. package/ui/hooks/kos-time/use-kos-time.d.ts +6 -0
  407. package/ui/hooks/kos-time/use-kos-time.d.ts.map +1 -1
  408. package/ui/hooks/network-interface-container/use-network-interface-container.d.ts +6 -0
  409. package/ui/hooks/network-interface-container/use-network-interface-container.d.ts.map +1 -1
  410. package/ui/hooks/ota/use-ota.d.ts +6 -0
  411. package/ui/hooks/ota/use-ota.d.ts.map +1 -1
  412. package/ui/hooks/software-info/use-software-info.d.ts +6 -0
  413. package/ui/hooks/software-info/use-software-info.d.ts.map +1 -1
  414. package/ui/hooks/state-bean/use-state-bean.d.ts +2 -2
  415. package/ui/hooks/state-bean/use-state-bean.d.ts.map +1 -1
  416. package/ui/hooks/state-bean/with-state-bean.d.ts.map +1 -1
  417. package/ui/hooks/storage-device-container/use-storage-device-container.d.ts +6 -0
  418. package/ui/hooks/storage-device-container/use-storage-device-container.d.ts.map +1 -1
  419. package/ui/hooks/translation-container/trans.d.ts +6 -0
  420. package/ui/hooks/translation-container/trans.d.ts.map +1 -1
  421. package/ui/hooks/translation-container/use-translation-container.d.ts +10 -33
  422. package/ui/hooks/translation-container/use-translation-container.d.ts.map +1 -1
  423. package/ui/hooks/translation-container/use-translation.d.ts +7 -0
  424. package/ui/hooks/translation-container/use-translation.d.ts.map +1 -1
  425. package/ui/hooks/translation-container/with-translation-container.d.ts +6 -0
  426. package/ui/hooks/translation-container/with-translation-container.d.ts.map +1 -1
  427. package/ui/hooks/usb-update-container/use-usb-update-container.d.ts +6 -0
  428. package/ui/hooks/usb-update-container/use-usb-update-container.d.ts.map +1 -1
  429. package/ui/hooks/use-config-bean.d.ts +6 -0
  430. package/ui/hooks/use-config-bean.d.ts.map +1 -1
  431. package/ui/hooks/use-config-property.d.ts +6 -0
  432. package/ui/hooks/use-config-property.d.ts.map +1 -1
  433. package/ui/hooks/use-kos-model.d.ts +7 -0
  434. package/ui/hooks/use-kos-model.d.ts.map +1 -1
  435. package/ui/hooks/use-kos-regions.d.ts.map +1 -1
  436. package/ui/hooks/view-model/index.d.ts +2 -0
  437. package/ui/hooks/view-model/index.d.ts.map +1 -0
  438. package/ui/hooks/view-model/use-view-model.d.ts +80 -0
  439. package/ui/hooks/view-model/use-view-model.d.ts.map +1 -0
  440. package/models/models/trouble-container/trouble-container-registration.d.ts +0 -5
  441. package/models/models/trouble-container/trouble-container-registration.d.ts.map +0 -1
  442. package/models/utils/kosmodel-compatible-future-mixin.d.ts +0 -142
  443. package/models/utils/kosmodel-compatible-future-mixin.d.ts.map +0 -1
  444. package/models/utils/kosmodel-interface-companion-mixin.d.ts +0 -83
  445. package/models/utils/kosmodel-interface-companion-mixin.d.ts.map +0 -1
@@ -3,6 +3,10 @@ import { IKosDataModel } from '../kosModel';
3
3
  interface DecoratedKosModel<T extends IKosDataModel = IKosDataModel> {
4
4
  new (...args: any[]): T;
5
5
  }
6
+ /**
7
+ * @kosService core.parent
8
+ * @kosApiLevel 2
9
+ */
6
10
  export interface KosParentProps {
7
11
  parentId?: string;
8
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"kos-parent.d.ts","sourceRoot":"","sources":["../../../../../../../packages/sdk/kos-ui-sdk/src/core/core/decorators/kos-parent.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C,UAAU,iBAAiB,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa;IACjE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAUD,eAAO,MAAM,cAAc,sCACW,cAAc,mBACpC,kBAAkB,CAAC,CAAC,KAAG,GAIpC,CAAC"}
1
+ {"version":3,"file":"kos-parent.d.ts","sourceRoot":"","sources":["../../../../../../../packages/sdk/kos-ui-sdk/src/core/core/decorators/kos-parent.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C,UAAU,iBAAiB,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa;IACjE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;CACzB;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAeD,eAAO,MAAM,cAAc,sCACW,cAAc,mBACpC,kBAAkB,CAAC,CAAC,KAAG,GAOpC,CAAC"}
@@ -1,6 +1,15 @@
1
+ /**
2
+ * @kosService core.reference
3
+ * @kosApiLevel 2
4
+ */
1
5
  interface ReferenceProps {
2
6
  modelType: string;
3
7
  }
8
+ /**
9
+ * @kosService core.reference
10
+ * @kosApiLevel 2
11
+ * @kosDeprecated {replacement: @kosDependency, removeAt: 3}
12
+ */
4
13
  export declare const kosReference: (props: ReferenceProps) => (target: {} | any, name: PropertyKey) => any;
5
14
  export {};
6
15
  //# sourceMappingURL=kos-reference.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"kos-reference.d.ts","sourceRoot":"","sources":["../../../../../../../packages/sdk/kos-ui-sdk/src/core/core/decorators/kos-reference.ts"],"names":[],"mappings":"AAMA,UAAU,cAAc;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,YAAY,UACf,cAAc,cACb,EAAE,GAAG,GAAG,QAAQ,WAAW,KAAG,GAGtC,CAAC"}
1
+ {"version":3,"file":"kos-reference.d.ts","sourceRoot":"","sources":["../../../../../../../packages/sdk/kos-ui-sdk/src/core/core/decorators/kos-reference.ts"],"names":[],"mappings":"AAOA;;;GAGG;AACH,UAAU,cAAc;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,eAAO,MAAM,YAAY,UACf,cAAc,cACb,EAAE,GAAG,GAAG,QAAQ,WAAW,KAAG,GAItC,CAAC"}
@@ -0,0 +1,60 @@
1
+ import { ErrorResponseContext } from '../../util/service-request-error';
2
+
3
+ /**
4
+ * Helper functions for kosServiceRequest decorator.
5
+ *
6
+ * These functions are extracted to reduce complexity and improve maintainability
7
+ * of the service request decorator implementation.
8
+ */
9
+ /**
10
+ * Resolves all parameters for a service request.
11
+ *
12
+ * This helper function handles the complex parameter resolution logic including:
13
+ * - Resolving PropKeys in path
14
+ * - Merging decorator-defined params with runtime params
15
+ * - Building the final API params object
16
+ *
17
+ * @param metadata - Service request metadata
18
+ * @param modelInstance - The model instance (this context)
19
+ * @param args - Original method arguments
20
+ * @param runtimeOptions - Runtime execution options
21
+ * @returns Resolved parameters for the API request
22
+ */
23
+ export declare function resolveServiceRequestParameters(metadata: any, modelInstance: any, args: any[], runtimeOptions: any): {
24
+ resolvedPath: string;
25
+ apiParams: any;
26
+ finalBody: any;
27
+ finalRequestOptions: any;
28
+ };
29
+ /**
30
+ * Executes an API method with the appropriate HTTP verb.
31
+ *
32
+ * This helper function handles the complexity of method selection and execution,
33
+ * supporting GET, POST, PUT, and DELETE operations with proper parameter passing.
34
+ *
35
+ * @param API - The API client instance
36
+ * @param method - HTTP method (get, post, put, delete)
37
+ * @param path - Resolved API path
38
+ * @param params - API parameters (path, query)
39
+ * @param body - Request body (for POST, PUT, DELETE)
40
+ * @param requestOptions - Additional request options
41
+ * @returns Error-first tuple with response
42
+ */
43
+ export declare function executeApiMethod(API: any, method: string | undefined, path: string, params: any, body: any, requestOptions: any): Promise<[string | null, any, ErrorResponseContext?]>;
44
+ /**
45
+ * Handles service request errors according to the configured error handling strategy.
46
+ *
47
+ * This helper function implements the error handling strategies defined in metadata:
48
+ * - "throw": Return error tuple for caller to handle
49
+ * - "log": Log error and return default value
50
+ * - "ignore": Silently return default value
51
+ * - "default": Return default value
52
+ *
53
+ * @param error - Error message from API call
54
+ * @param response - API response (may contain status code)
55
+ * @param errorHandler - Error handler configuration from metadata
56
+ * @param modelInstance - The model instance (this context)
57
+ * @returns Error-first tuple with default value or error
58
+ */
59
+ export declare function handleServiceRequestError(error: string, response: any, errorHandler: any, modelInstance: any, errorContext?: ErrorResponseContext): [string | null, any];
60
+ //# sourceMappingURL=kos-service-request-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kos-service-request-helpers.d.ts","sourceRoot":"","sources":["../../../../../../../packages/sdk/kos-ui-sdk/src/core/core/decorators/kos-service-request-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAM7E;;;;;GAKG;AAEH;;;;;;;;;;;;;GAaG;AACH,wBAAgB,+BAA+B,CAC7C,QAAQ,EAAE,GAAG,EACb,aAAa,EAAE,GAAG,EAClB,IAAI,EAAE,GAAG,EAAE,EACX,cAAc,EAAE,GAAG;;;;;EAgEpB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,GAAG,EACX,IAAI,EAAE,GAAG,EACT,cAAc,EAAE,GAAG,GAClB,OAAO,CAAC,CAAC,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAgBtD;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,GAAG,EACb,YAAY,EAAE,GAAG,EACjB,aAAa,EAAE,GAAG,EAClB,YAAY,CAAC,EAAE,oBAAoB,GAClC,CAAC,MAAM,GAAG,IAAI,EAAE,GAAG,CAAC,CAqCtB"}
@@ -0,0 +1,498 @@
1
+ import { KosExecutionContext } from './kos-execution-context';
2
+ import { KosModelRegistrationType } from '../registration/model-registration';
3
+ import { IKosDataModel } from '../kosModel';
4
+ import { ServiceRequestError } from '../../util/service-request-error';
5
+ import { ClientBody, ClientParams } from '../../util/kos-service-request';
6
+ import { KosFetchOptions } from '../../types/utils/kos-fetch';
7
+ import { ResponseCacheConfig } from '../../types/service-response-store';
8
+ import { DependencyLifecycle } from '../../types';
9
+
10
+ /**
11
+ * @kosService core.service-request
12
+ */
13
+ export type RequestOptions = Omit<KosFetchOptions, "method" | "body">;
14
+ export type { KosExecutionContext };
15
+ /**
16
+ * Symbol for storing service request handlers metadata on model instances
17
+ * @internal
18
+ */
19
+ export declare const ServiceRequestHandlers: unique symbol;
20
+ /**
21
+ * HTTP methods supported by kosServiceRequest
22
+ *
23
+ * @kosService core.service-request
24
+ */
25
+ export type HttpMethod = "get" | "GET" | "post" | "POST" | "put" | "PUT" | "delete" | "DELETE" | "patch" | "PATCH";
26
+ /**
27
+ * API path type - string representing an API endpoint
28
+ *
29
+ * @kosService core.service-request
30
+ */
31
+ export type ApiPath = string;
32
+ /**
33
+ * Configuration for field mapping in data transformation
34
+ *
35
+ * @kosService core.service-request
36
+ * @kosApiLevel 15
37
+ */
38
+ export interface FieldMapping {
39
+ /**
40
+ * Source field path (dot notation supported, e.g., 'data.user.name')
41
+ */
42
+ from: string;
43
+ /**
44
+ * Target field name in the model
45
+ */
46
+ to: string;
47
+ /**
48
+ * Optional transformation to apply
49
+ * Built-in: 'string', 'number', 'boolean', 'date', 'json'
50
+ * Custom: function name or transformer function
51
+ */
52
+ transform?: string | ((value: any) => any);
53
+ /**
54
+ * Whether this field is required
55
+ */
56
+ required?: boolean;
57
+ /**
58
+ * Default value if field is missing
59
+ */
60
+ default?: any;
61
+ }
62
+ /**
63
+ * Configuration for extension points during transformation
64
+ *
65
+ * @kosService core.service-request
66
+ * @kosApiLevel 15
67
+ */
68
+ export interface ExtensionConfig {
69
+ /**
70
+ * Type of extension point
71
+ */
72
+ type: "loader" | "data-mapper" | "validator";
73
+ /**
74
+ * Extension identifier (e.g., ExtensionType.IngredientMapper)
75
+ */
76
+ extension: any;
77
+ /**
78
+ * When to execute the extension
79
+ */
80
+ phase?: "before" | "after" | "transform";
81
+ }
82
+ /**
83
+ * Configuration for error handling in service requests.
84
+ *
85
+ * Provides multiple strategies for handling request failures, enabling soft failures
86
+ * with cached default values and error-first parameter patterns.
87
+ *
88
+ * @remarks
89
+ * All strategies except 'throw' cache defaultValue in the response store, ensuring
90
+ * consistency across model lifecycle. Lifecycle-triggered handlers receive error-first
91
+ * parameters: (error, data), while method-driven requests use $request executor
92
+ * returning tuple: [error, data].
93
+ *
94
+ * @example
95
+ * ```typescript
96
+ * // Soft failure with logging
97
+ * @kosServiceRequest({
98
+ * path: '/api/data',
99
+ * errorHandler: {
100
+ * strategy: 'log',
101
+ * defaultValue: []
102
+ * }
103
+ * })
104
+ * async loadData(error: string | null, data: DataType[]): Promise<void> {
105
+ * if (error) {
106
+ * this.logger.error(`Load failed: ${error}`);
107
+ * }
108
+ * this.processData(data); // Either real data or defaultValue
109
+ * }
110
+ * ```
111
+ *
112
+ * @category Service Request
113
+ * @see {@link KosServiceRequestConfig} for complete decorator configuration
114
+ * @kosService core.service-request
115
+ * @kosApiLevel 15
116
+ */
117
+ export interface ErrorHandlerConfig {
118
+ /**
119
+ * How to handle errors:
120
+ *
121
+ * - 'throw': Re-throw error (default) - handler not called, no caching
122
+ *
123
+ * - 'log': Log error, cache defaultValue, and call handler with (error, defaultValue)
124
+ * Enables soft failure - log the error but continue processing with default data
125
+ *
126
+ * - 'ignore': Cache defaultValue and call handler with (error, defaultValue)
127
+ * Soft failure without logging - silent recovery
128
+ *
129
+ * - 'default': Same as 'ignore' - cache defaultValue and call handler
130
+ * (Kept for backward compatibility, behaves identically to 'ignore')
131
+ *
132
+ * All strategies except 'throw' cache defaultValue in response store for consistency.
133
+ *
134
+ * Note: For lifecycle requests, handler receives error-first parameters: (error, data)
135
+ * For method-driven requests, $request executor returns tuple: [error, data]
136
+ */
137
+ strategy: "throw" | "log" | "ignore" | "default";
138
+ /**
139
+ * Default value to use when an error occurs.
140
+ * Used with 'log', 'ignore', or 'default' strategies.
141
+ * - Stored in response cache for subsequent access
142
+ * - Passed to handler as second parameter: handler(errorMessage, defaultValue)
143
+ */
144
+ defaultValue?: any;
145
+ /**
146
+ * Custom error handler function called when a request fails.
147
+ *
148
+ * When the failure is an HTTP error response, `error` will be a
149
+ * {@link ServiceRequestError} instance with `status`, `statusText`,
150
+ * `responseBody`, and `responseHeaders` properties.
151
+ *
152
+ * For non-HTTP failures (network errors, timeouts), `error` is a
153
+ * plain `Error`.
154
+ *
155
+ * @example
156
+ * ```typescript
157
+ * onError: (error, model) => {
158
+ * if (error instanceof ServiceRequestError) {
159
+ * console.error(`HTTP ${error.status}`, error.responseBody, error.responseHeaders);
160
+ * }
161
+ * }
162
+ * ```
163
+ */
164
+ onError?: (error: Error | ServiceRequestError, model: IKosDataModel) => void;
165
+ }
166
+ /**
167
+ * Configuration parameters for @kosServiceRequest decorator
168
+ * Enables lifecycle-driven HTTP requests with declarative data transformation
169
+ *
170
+ * @typeparam Paths - The OpenAPI paths type (from your OpenAPI schema)
171
+ * @typeparam Path - The specific API path being requested
172
+ * @typeparam Method - The HTTP method type
173
+ * @typeparam Response - The raw response type from the API
174
+ * @typeparam TransformedResponse - The transformed response type after mappings
175
+ *
176
+ * @kosService core.service-request
177
+ * @kosApiLevel 15
178
+ */
179
+ export interface IKosServiceRequestParams<Paths extends Record<string, any> = Record<string, any>, Path extends keyof Paths = string, Method extends HttpMethod = "get", Response = any, TransformedResponse = Response> {
180
+ /**
181
+ * API path to request
182
+ *
183
+ * @example
184
+ * path: '/api/kos/ingredients'
185
+ * path: `/api/devices/${PROP_DEVICE_ID}/status` // with PropKey
186
+ */
187
+ path: Path;
188
+ /**
189
+ * HTTP method
190
+ *
191
+ * @default 'get'
192
+ */
193
+ method?: Method;
194
+ /**
195
+ * When to execute this request during model lifecycle
196
+ *
197
+ * If omitted, the request executes when the decorated method is called (method-driven).
198
+ * If specified, the request executes automatically during the given lifecycle phase (lifecycle-driven).
199
+ *
200
+ * @example
201
+ * // Lifecycle-driven (auto-execute during LOAD phase)
202
+ * lifecycle: DependencyLifecycle.LOAD
203
+ *
204
+ * @example
205
+ * // Method-driven (execute when method is called)
206
+ * lifecycle: undefined // or omit entirely
207
+ */
208
+ lifecycle?: DependencyLifecycle;
209
+ /**
210
+ * Path parameters to expand in the URL
211
+ * Strongly typed from OpenAPI schema
212
+ * Can be static values or PropKey references
213
+ *
214
+ * @example
215
+ * // Static value
216
+ * pathParams: { deviceId: 'device-123' }
217
+ *
218
+ * @example
219
+ * // PropKey reference (use PROP_ prefix)
220
+ * pathParams: { deviceId: PROP_DEVICE_ID }
221
+ *
222
+ * @example
223
+ * // Dynamic from method arguments
224
+ * pathParams: (model, deviceId, status) => ({ deviceId })
225
+ */
226
+ pathParams?: (ClientParams<Paths, Path, Method> extends {
227
+ path?: infer P;
228
+ } ? P : never) | ((model: IKosDataModel, ...args: any[]) => ClientParams<Paths, Path, Method> extends {
229
+ path?: infer P;
230
+ } ? P : never);
231
+ /**
232
+ * Query parameters
233
+ * Strongly typed from OpenAPI schema
234
+ *
235
+ * @example
236
+ * // Static
237
+ * queryParams: { includeMetadata: true, format: 'json' }
238
+ *
239
+ * @example
240
+ * // Dynamic from method arguments
241
+ * queryParams: (model, deviceId, debug) => ({ debug })
242
+ */
243
+ queryParams?: (ClientParams<Paths, Path, Method> extends {
244
+ query?: infer Q;
245
+ } ? Q : never) | ((model: IKosDataModel, ...args: any[]) => ClientParams<Paths, Path, Method> extends {
246
+ query?: infer Q;
247
+ } ? Q : never);
248
+ /**
249
+ * Request body (for POST/PUT/PATCH)
250
+ * Strongly typed from OpenAPI schema
251
+ *
252
+ * @example
253
+ * // Static body
254
+ * body: { action: 'start' }
255
+ *
256
+ * @example
257
+ * // Dynamic from method arguments
258
+ * body: (model, vehicleType, speed) => ({ vehicleType, speed })
259
+ */
260
+ body?: ClientBody<Paths, Path, Method> | ((model: IKosDataModel, ...args: any[]) => ClientBody<Paths, Path, Method>);
261
+ /**
262
+ * JSON path to iterate over in response
263
+ * Creates models for each item in the array
264
+ *
265
+ * @example
266
+ * iterateOver: 'data.ingredients' // Iterates response.data.ingredients array
267
+ */
268
+ iterateOver?: string;
269
+ /**
270
+ * Model registration object for creating instances from array items
271
+ * Used with iterateOver to create child models using the builder pattern
272
+ *
273
+ * @example
274
+ * modelFactory: IngredientModel // The registration object itself
275
+ *
276
+ * deprecated The old curried function signature is deprecated:
277
+ * modelFactory?: (id: string) => (options: any) => IKosDataModel
278
+ */
279
+ modelFactory?: KosModelRegistrationType<IKosDataModel, Record<string, unknown>> | ((id: string) => (options: unknown) => IKosDataModel);
280
+ /**
281
+ * Function to extract the model ID from response data items
282
+ * Required when using modelFactory if items don't have an 'id' field
283
+ *
284
+ * @example
285
+ * idExtractor: (item) => item.ingredientId
286
+ * idExtractor: (item) => `${item.type}-${item.index}`
287
+ */
288
+ idExtractor?: (item: any) => string;
289
+ /**
290
+ * Field mappings for data transformation
291
+ * Same format as @kosTopicHandler mappings
292
+ *
293
+ * @example
294
+ * mappings: [
295
+ * { from: 'id', to: 'id' },
296
+ * { from: 'ingredientId', to: 'ingredientId' },
297
+ * { from: 'metadata.calories', to: 'calories', transform: 'number' }
298
+ * ]
299
+ */
300
+ mappings?: FieldMapping[];
301
+ /**
302
+ * Extension points to execute during transformation
303
+ *
304
+ * @example
305
+ * extensions: [
306
+ * { type: 'data-mapper', extension: ExtensionType.IngredientMapper }
307
+ * ]
308
+ */
309
+ extensions?: ExtensionConfig[];
310
+ /**
311
+ * Transformation function for response data
312
+ * Applied before mappings
313
+ *
314
+ * @example
315
+ * transform: (response) => response.data
316
+ */
317
+ transform?: (response: Response) => TransformedResponse;
318
+ /**
319
+ * Condition to determine if request should execute
320
+ *
321
+ * @example
322
+ * condition: (model) => model.isInitialized
323
+ */
324
+ condition?: (model: IKosDataModel) => boolean;
325
+ /**
326
+ * Error handling strategy
327
+ *
328
+ * @example
329
+ * errorHandler: {
330
+ * strategy: 'default',
331
+ * defaultValue: [],
332
+ * onError: (error, model) => model.logger.error('Failed to load', error)
333
+ * }
334
+ */
335
+ errorHandler?: ErrorHandlerConfig;
336
+ /**
337
+ * Response caching configuration
338
+ * Controls how long responses are stored and when they're cleaned up
339
+ *
340
+ * @default { retention: ResponseRetention.SINGLE }
341
+ *
342
+ * @example
343
+ * // No caching - clear immediately after handler
344
+ * cache: { retention: ResponseRetention.IMMEDIATE }
345
+ *
346
+ * @example
347
+ * // Cache for 5 minutes
348
+ * cache: { retention: ResponseRetention.TTL, ttl: 5 * 60 * 1000 }
349
+ *
350
+ * @example
351
+ * // Keep for model lifetime
352
+ * cache: { retention: ResponseRetention.PERMANENT }
353
+ */
354
+ cache?: ResponseCacheConfig;
355
+ /**
356
+ * Request options for controlling fetch behavior
357
+ * These are merged with runtime options passed to ctx.$request()
358
+ * Runtime options take precedence over decorator options
359
+ *
360
+ * @example
361
+ * // Set default timeout and destination for all requests
362
+ * requestOptions: {
363
+ * destinationAddress: 'device-123',
364
+ * timeout: 10000
365
+ * }
366
+ *
367
+ * @example
368
+ * // Dynamic from method arguments
369
+ * requestOptions: (model, ...args) => ({
370
+ * destinationAddress: model.deviceId,
371
+ * headers: { 'X-Session': model.sessionId }
372
+ * })
373
+ * @kosApiLevel 18
374
+ */
375
+ requestOptions?: RequestOptions | ((model: IKosDataModel, ...args: any[]) => RequestOptions);
376
+ }
377
+ /**
378
+ * Metadata stored for each service request handler
379
+ * @internal
380
+ */
381
+ export interface ServiceRequestMetadata<Paths extends Record<string, any> = Record<string, any>, Path extends keyof Paths = string, Method extends HttpMethod = "get", Response = any, TransformedResponse = Response> extends IKosServiceRequestParams<Paths, Path, Method, Response, TransformedResponse> {
382
+ /**
383
+ * The method name that handles the response
384
+ */
385
+ handlerMethod: string;
386
+ /**
387
+ * The original handler function
388
+ */
389
+ originalHandler: Function;
390
+ }
391
+ /**
392
+ * Runtime service request executor injected into method context
393
+ * Allows imperative execution of the service request defined by the decorator
394
+ *
395
+ * @kosService core.service-request
396
+ */
397
+ export interface ServiceRequestExecutor<Paths extends Record<string, any> = Record<string, any>, Path extends keyof Paths = string, Method extends HttpMethod = "get"> {
398
+ (options?: {
399
+ pathParams?: ClientParams<Paths, Path, Method> extends {
400
+ path?: infer P;
401
+ } ? P : never;
402
+ queryParams?: ClientParams<Paths, Path, Method> extends {
403
+ query?: infer Q;
404
+ } ? Q : never;
405
+ body?: ClientBody<Paths, Path, Method>;
406
+ requestOptions?: RequestOptions;
407
+ }): Promise<[string | null, any]>;
408
+ }
409
+ /**
410
+ * Type alias for the service request executor function signature.
411
+ * This executor is automatically passed as the last parameter to methods
412
+ * decorated with @kosServiceRequest (without lifecycle).
413
+ *
414
+ * @example
415
+ * ```typescript
416
+ * type CreateReleaseExecutor = ServiceRequestExecutor<paths, typeof PATH_VM_INSTALL, 'post'>;
417
+ * ```
418
+ *
419
+ * @kosService core.service-request
420
+ */
421
+ export type ServiceRequestExecutorFn<Paths extends Record<string, any> = Record<string, any>, Path extends keyof Paths = string, Method extends HttpMethod = "get"> = ServiceRequestExecutor<Paths, Path, Method>;
422
+ /**
423
+ * Decorator for lifecycle-driven service requests within KOS models
424
+ *
425
+ * Eliminates service boilerplate by integrating HTTP requests directly into
426
+ * the model lifecycle. Responses are cached in ServiceResponseStore for access
427
+ * via utility functions, avoiding "magic last parameter" patterns.
428
+ *
429
+ * @param params - Configuration for the service request
430
+ * @returns Method decorator
431
+ *
432
+ * @example Basic GET request during LOAD
433
+ * ```typescript
434
+ * @kosServiceRequest({
435
+ * path: PATH_DEVICE_STATUS,
436
+ * method: 'get',
437
+ * lifecycle: DependencyLifecycle.LOAD,
438
+ * cache: { retention: ResponseRetention.SINGLE }
439
+ * })
440
+ * private onStatusLoaded(): void {
441
+ * const response = getServiceResponse(this, PATH_DEVICE_STATUS, 'get');
442
+ * this.status = response?.status;
443
+ * }
444
+ * ```
445
+ *
446
+ * @example Method-driven request with execution context
447
+ * ```typescript
448
+ * @kosServiceRequest({
449
+ * path: PATH_VM_INSTALL,
450
+ * method: 'post',
451
+ * requestOptions: {
452
+ * timeout: 10000 // Decorator-level default timeout
453
+ * }
454
+ * })
455
+ * async createRelease(
456
+ * path: string,
457
+ * keysetId?: string,
458
+ * ctx: KosExecutionContext<paths, typeof PATH_VM_INSTALL, 'post'>
459
+ * ): Promise<void> {
460
+ * const [error, response] = await ctx.$request({
461
+ * queryParams: { keySetId: keysetId },
462
+ * body: { path },
463
+ * requestOptions: {
464
+ * destinationAddress: 'device-123', // Runtime options merged with decorator options
465
+ * headers: { 'X-Custom-Header': 'value' }
466
+ * }
467
+ * });
468
+ * if (error) throw new Error(error);
469
+ * return response?.data;
470
+ * }
471
+ * ```
472
+ *
473
+ * @example Container model with iteration
474
+ * ```typescript
475
+ * @kosServiceRequest({
476
+ * path: PATH_INGREDIENTS,
477
+ * method: 'get',
478
+ * lifecycle: DependencyLifecycle.LOAD,
479
+ * iterateOver: 'data.ingredients',
480
+ * modelFactory: Ingredient.factory,
481
+ * mappings: [
482
+ * { from: 'id', to: 'id' },
483
+ * { from: 'name', to: 'name' }
484
+ * ]
485
+ * })
486
+ * private onIngredientsLoaded(): void {
487
+ * const response = getServiceResponse(this, PATH_INGREDIENTS, 'get');
488
+ * // Mappings already applied to response data
489
+ * response?.forEach(i => this.ingredients.addModel(i));
490
+ * }
491
+ * ```
492
+ *
493
+ * @category KOS Model Decorator
494
+ * @kosService core.service-request
495
+ * @kosApiLevel 15
496
+ */
497
+ export declare function kosServiceRequest<Paths extends Record<string, any> = Record<string, any>, Path extends keyof Paths = string, Method extends HttpMethod = "get", Response = any, TransformedResponse = Response>(params: IKosServiceRequestParams<Paths, Path, Method, Response, TransformedResponse>): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
498
+ //# sourceMappingURL=kos-service-request.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kos-service-request.d.ts","sourceRoot":"","sources":["../../../../../../../packages/sdk/kos-ui-sdk/src/core/core/decorators/kos-service-request.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,oCAAoC,CAAC;AACnF,OAAO,EACL,KAAK,mBAAmB,EAGzB,MAAM,yBAAyB,CAAC;AAOjC;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,EAAE,QAAQ,GAAG,MAAM,CAAC,CAAC;AAGtE,YAAY,EAAE,mBAAmB,EAAE,CAAC;AAEpC;;;GAGG;AACH,eAAO,MAAM,sBAAsB,eAAmC,CAAC;AAcvE;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAClB,KAAK,GACL,KAAK,GACL,MAAM,GACN,MAAM,GACN,KAAK,GACL,KAAK,GACL,QAAQ,GACR,QAAQ,GACR,OAAO,GACP,OAAO,CAAC;AAEZ;;;;GAIG;AACH,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC;AAE7B;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAAC,CAAC;IAE3C;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,OAAO,CAAC,EAAE,GAAG,CAAC;CACf;AAED;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,IAAI,EAAE,QAAQ,GAAG,aAAa,GAAG,WAAW,CAAC;IAE7C;;OAEG;IACH,SAAS,EAAE,GAAG,CAAC;IAEf;;OAEG;IACH,KAAK,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,WAAW,CAAC;CAC1C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;;;;;;;;;;;;;;;OAkBG;IACH,QAAQ,EAAE,OAAO,GAAG,KAAK,GAAG,QAAQ,GAAG,SAAS,CAAC;IAEjD;;;;;OAKG;IACH,YAAY,CAAC,EAAE,GAAG,CAAC;IAEnB;;;;;;;;;;;;;;;;;;OAkBG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,mBAAmB,EAAE,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;CAC9E;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,wBAAwB,CACvC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACvD,IAAI,SAAS,MAAM,KAAK,GAAG,MAAM,EACjC,MAAM,SAAS,UAAU,GAAG,KAAK,EACjC,QAAQ,GAAG,GAAG,EACd,mBAAmB,GAAG,QAAQ;IAE9B;;;;;;OAMG;IACH,IAAI,EAAE,IAAI,CAAC;IAEX;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;;;;;;;;;;OAaG;IACH,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAEhC;;;;;;;;;;;;;;;;OAgBG;IACH,UAAU,CAAC,EACP,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,SAAS;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAA;KAAE,GAAG,CAAC,GAAG,KAAK,CAAC,GAC1E,CAAC,CACC,KAAK,EAAE,aAAa,EACpB,GAAG,IAAI,EAAE,GAAG,EAAE,KACX,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,SAAS;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAA;KAAE,GAC7D,CAAC,GACD,KAAK,CAAC,CAAC;IAEf;;;;;;;;;;;OAWG;IACH,WAAW,CAAC,EACR,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,SAAS;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC,CAAA;KAAE,GAC1D,CAAC,GACD,KAAK,CAAC,GACV,CAAC,CACC,KAAK,EAAE,aAAa,EACpB,GAAG,IAAI,EAAE,GAAG,EAAE,KACX,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,SAAS;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC,CAAA;KAAE,GAC9D,CAAC,GACD,KAAK,CAAC,CAAC;IAEf;;;;;;;;;;;OAWG;IACH,IAAI,CAAC,EACD,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,GAC/B,CAAC,CACC,KAAK,EAAE,aAAa,EACpB,GAAG,IAAI,EAAE,GAAG,EAAE,KACX,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAE1C;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;;;;;OASG;IACH,YAAY,CAAC,EACT,wBAAwB,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAChE,CAAC,CAAC,EAAE,EAAE,MAAM,KAAK,CAAC,OAAO,EAAE,OAAO,KAAK,aAAa,CAAC,CAAC;IAE1D;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,MAAM,CAAC;IAEpC;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;IAE1B;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,eAAe,EAAE,CAAC;IAE/B;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,mBAAmB,CAAC;IAExD;;;;;OAKG;IACH,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,OAAO,CAAC;IAE9C;;;;;;;;;OASG;IACH,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAElC;;;;;;;;;;;;;;;;;OAiBG;IACH,KAAK,CAAC,EAAE,mBAAmB,CAAC;IAE5B;;;;;;;;;;;;;;;;;;;OAmBG;IACH,cAAc,CAAC,EACX,cAAc,GACd,CAAC,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,cAAc,CAAC,CAAC;CAChE;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB,CACrC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACvD,IAAI,SAAS,MAAM,KAAK,GAAG,MAAM,EACjC,MAAM,SAAS,UAAU,GAAG,KAAK,EACjC,QAAQ,GAAG,GAAG,EACd,mBAAmB,GAAG,QAAQ,CAC9B,SAAQ,wBAAwB,CAC9B,KAAK,EACL,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,mBAAmB,CACpB;IACD;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;OAEG;IAEH,eAAe,EAAE,QAAQ,CAAC;CAC3B;AAED;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB,CACrC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACvD,IAAI,SAAS,MAAM,KAAK,GAAG,MAAM,EACjC,MAAM,SAAS,UAAU,GAAG,KAAK;IAEjC,CAAC,OAAO,CAAC,EAAE;QACT,UAAU,CAAC,EAAE,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,SAAS;YAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAA;SAAE,GACrE,CAAC,GACD,KAAK,CAAC;QACV,WAAW,CAAC,EAAE,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,SAAS;YAAE,KAAK,CAAC,EAAE,MAAM,CAAC,CAAA;SAAE,GACvE,CAAC,GACD,KAAK,CAAC;QACV,IAAI,CAAC,EAAE,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QACvC,cAAc,CAAC,EAAE,cAAc,CAAC;KACjC,GAAG,OAAO,CAAC,CAAC,MAAM,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;CACnC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,wBAAwB,CAClC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACvD,IAAI,SAAS,MAAM,KAAK,GAAG,MAAM,EACjC,MAAM,SAAS,UAAU,GAAG,KAAK,IAC/B,sBAAsB,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;AAEhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0EG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACvD,IAAI,SAAS,MAAM,KAAK,GAAG,MAAM,EACjC,MAAM,SAAS,UAAU,GAAG,KAAK,EACjC,QAAQ,GAAG,GAAG,EACd,mBAAmB,GAAG,QAAQ,EAE9B,MAAM,EAAE,wBAAwB,CAC9B,KAAK,EACL,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,mBAAmB,CACpB,YAEe,GAAG,eAAe,MAAM,cAAc,kBAAkB,wBAkHzE"}