@kosdev-code/kos-ui-sdk 2.1.36 → 2.1.38

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 (293) 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/core/decorators/fsm-injection-utils.d.ts.map +1 -1
  8. package/core/core/decorators/index.d.ts +1 -0
  9. package/core/core/decorators/index.d.ts.map +1 -1
  10. package/core/core/decorators/kos-child.d.ts +2 -0
  11. package/core/core/decorators/kos-child.d.ts.map +1 -1
  12. package/core/core/decorators/kos-companion.d.ts +14 -0
  13. package/core/core/decorators/kos-companion.d.ts.map +1 -1
  14. package/core/core/decorators/kos-container-aware.d.ts +21 -0
  15. package/core/core/decorators/kos-container-aware.d.ts.map +1 -1
  16. package/core/core/decorators/kos-context.d.ts +6 -0
  17. package/core/core/decorators/kos-context.d.ts.map +1 -1
  18. package/core/core/decorators/kos-execution-context.d.ts +4 -1
  19. package/core/core/decorators/kos-execution-context.d.ts.map +1 -1
  20. package/core/core/decorators/kos-future-aware.d.ts +12 -0
  21. package/core/core/decorators/kos-future-aware.d.ts.map +1 -1
  22. package/core/core/decorators/kos-http-decorators.d.ts +15 -0
  23. package/core/core/decorators/kos-http-decorators.d.ts.map +1 -1
  24. package/core/core/decorators/kos-log.d.ts +4 -0
  25. package/core/core/decorators/kos-log.d.ts.map +1 -1
  26. package/core/core/decorators/kos-logger-aware.d.ts +9 -0
  27. package/core/core/decorators/kos-logger-aware.d.ts.map +1 -1
  28. package/core/core/decorators/kos-model-effect.d.ts +9 -0
  29. package/core/core/decorators/kos-model-effect.d.ts.map +1 -1
  30. package/core/core/decorators/kos-multiple-future-aware.d.ts +14 -0
  31. package/core/core/decorators/kos-multiple-future-aware.d.ts.map +1 -1
  32. package/core/core/decorators/kos-parent.d.ts +4 -0
  33. package/core/core/decorators/kos-parent.d.ts.map +1 -1
  34. package/core/core/decorators/kos-reference.d.ts +9 -0
  35. package/core/core/decorators/kos-reference.d.ts.map +1 -1
  36. package/core/core/decorators/kos-service-request-helpers.d.ts +4 -2
  37. package/core/core/decorators/kos-service-request-helpers.d.ts.map +1 -1
  38. package/core/core/decorators/kos-service-request.d.ts +44 -3
  39. package/core/core/decorators/kos-service-request.d.ts.map +1 -1
  40. package/core/core/decorators/kos-state-machine.d.ts +24 -0
  41. package/core/core/decorators/kos-state-machine.d.ts.map +1 -1
  42. package/core/core/decorators/kos-topic-handler-flow-control.d.ts +17 -1
  43. package/core/core/decorators/kos-topic-handler-flow-control.d.ts.map +1 -1
  44. package/core/core/decorators/kos-trouble-aware.d.ts +6 -0
  45. package/core/core/decorators/kos-trouble-aware.d.ts.map +1 -1
  46. package/core/core/decorators/kos-view-model.d.ts +14 -0
  47. package/core/core/decorators/kos-view-model.d.ts.map +1 -1
  48. package/core/core/decorators/kosDependency.d.ts +2 -0
  49. package/core/core/decorators/kosDependency.d.ts.map +1 -1
  50. package/core/core/decorators/kosModel.d.ts +2 -0
  51. package/core/core/decorators/kosModel.d.ts.map +1 -1
  52. package/core/core/decorators/kosSubscribe.d.ts +9 -0
  53. package/core/core/decorators/kosSubscribe.d.ts.map +1 -1
  54. package/core/core/decorators/kosTopicHandler.d.ts +34 -0
  55. package/core/core/decorators/kosTopicHandler.d.ts.map +1 -1
  56. package/core/core/extension/extension-manager.d.ts +50 -0
  57. package/core/core/extension/extension-manager.d.ts.map +1 -1
  58. package/core/core/extension/initialize-extension.d.ts +24 -0
  59. package/core/core/extension/initialize-extension.d.ts.map +1 -1
  60. package/core/core/extension/plugin-extension-manager.d.ts +11 -0
  61. package/core/core/extension/plugin-extension-manager.d.ts.map +1 -1
  62. package/core/core/kosModel.d.ts +38 -0
  63. package/core/core/kosModel.d.ts.map +1 -1
  64. package/core/core/model/kos-service-request-manager.d.ts.map +1 -1
  65. package/core/core/model/kos-subscription-manager.d.ts.map +1 -1
  66. package/core/core/services/browser-router.d.ts.map +1 -1
  67. package/core/core/transport/webSocketTransport.d.ts +2 -1
  68. package/core/core/transport/webSocketTransport.d.ts.map +1 -1
  69. package/core/index.d.ts +1 -1
  70. package/core/index.d.ts.map +1 -1
  71. package/core/types/kos-dependency.d.ts +10 -1
  72. package/core/types/kos-dependency.d.ts.map +1 -1
  73. package/core/types/service-response-store.d.ts +10 -0
  74. package/core/types/service-response-store.d.ts.map +1 -1
  75. package/core/types/utils/kos-fetch.d.ts +121 -0
  76. package/core/types/utils/kos-fetch.d.ts.map +1 -1
  77. package/core/util/ancestor-path-visitor.d.ts +2 -0
  78. package/core/util/ancestor-path-visitor.d.ts.map +1 -1
  79. package/core/util/api-request-id.d.ts +4 -0
  80. package/core/util/api-request-id.d.ts.map +1 -1
  81. package/core/util/apply-mixins.d.ts +4 -0
  82. package/core/util/apply-mixins.d.ts.map +1 -1
  83. package/core/util/array-utils.d.ts +4 -0
  84. package/core/util/array-utils.d.ts.map +1 -1
  85. package/core/util/container-utils.d.ts +14 -0
  86. package/core/util/container-utils.d.ts.map +1 -1
  87. package/core/util/date-utils.d.ts +29 -0
  88. package/core/util/date-utils.d.ts.map +1 -1
  89. package/core/util/debounce.d.ts +3 -0
  90. package/core/util/debounce.d.ts.map +1 -1
  91. package/core/util/feature-flags.d.ts +19 -0
  92. package/core/util/feature-flags.d.ts.map +1 -1
  93. package/core/util/get-query-params.d.ts +4 -0
  94. package/core/util/get-query-params.d.ts.map +1 -1
  95. package/core/util/hsl-to-hex.d.ts +16 -0
  96. package/core/util/hsl-to-hex.d.ts.map +1 -1
  97. package/core/util/index.d.ts +2 -0
  98. package/core/util/index.d.ts.map +1 -1
  99. package/core/util/kos-config-init.d.ts +36 -0
  100. package/core/util/kos-config-init.d.ts.map +1 -1
  101. package/core/util/kos-data-mapper-utils.d.ts +9 -0
  102. package/core/util/kos-data-mapper-utils.d.ts.map +1 -1
  103. package/core/util/kos-fetch.d.ts +12 -0
  104. package/core/util/kos-fetch.d.ts.map +1 -1
  105. package/core/util/kos-message-utils.d.ts +88 -0
  106. package/core/util/kos-message-utils.d.ts.map +1 -1
  107. package/core/util/kos-model-utils.d.ts +46 -0
  108. package/core/util/kos-model-utils.d.ts.map +1 -1
  109. package/core/util/kos-model-visitor.d.ts +2 -0
  110. package/core/util/kos-model-visitor.d.ts.map +1 -1
  111. package/core/util/kos-org-utils.d.ts +3 -0
  112. package/core/util/kos-org-utils.d.ts.map +1 -0
  113. package/core/util/kos-service-request.d.ts +34 -2
  114. package/core/util/kos-service-request.d.ts.map +1 -1
  115. package/core/util/log-utils.d.ts +12 -0
  116. package/core/util/log-utils.d.ts.map +1 -1
  117. package/core/util/middleware.d.ts +15 -0
  118. package/core/util/middleware.d.ts.map +1 -1
  119. package/core/util/model-attribute-utils.d.ts +7 -0
  120. package/core/util/model-attribute-utils.d.ts.map +1 -1
  121. package/core/util/model-factory.d.ts +4 -0
  122. package/core/util/model-factory.d.ts.map +1 -1
  123. package/core/util/model-registration-utils.d.ts +8 -0
  124. package/core/util/model-registration-utils.d.ts.map +1 -1
  125. package/core/util/model-utils.d.ts +30 -6
  126. package/core/util/model-utils.d.ts.map +1 -1
  127. package/core/util/observable-proxy-map.d.ts +11 -0
  128. package/core/util/observable-proxy-map.d.ts.map +1 -1
  129. package/core/util/paired-client-heartbeat.d.ts +2 -0
  130. package/core/util/paired-client-heartbeat.d.ts.map +1 -1
  131. package/core/util/pipe.d.ts +4 -0
  132. package/core/util/pipe.d.ts.map +1 -1
  133. package/core/util/retry-with-exponential-backoff.d.ts +3 -0
  134. package/core/util/retry-with-exponential-backoff.d.ts.map +1 -1
  135. package/core/util/service-factory.d.ts +10 -0
  136. package/core/util/service-factory.d.ts.map +1 -1
  137. package/core/util/service-request-error.d.ts +60 -0
  138. package/core/util/service-request-error.d.ts.map +1 -0
  139. package/core/util/service-response.d.ts +15 -0
  140. package/core/util/service-response.d.ts.map +1 -1
  141. package/core/util/session-utils.d.ts +8 -0
  142. package/core/util/session-utils.d.ts.map +1 -1
  143. package/core/util/wait-for-request.d.ts +16 -0
  144. package/core/util/wait-for-request.d.ts.map +1 -1
  145. package/core/util/when-ready.d.ts +3 -0
  146. package/core/util/when-ready.d.ts.map +1 -1
  147. package/index.cjs +70 -70
  148. package/index.cjs.map +1 -1
  149. package/index.d.cts +6 -4
  150. package/index.d.ts +6 -4
  151. package/index.d.ts.map +1 -1
  152. package/index.js +9257 -9251
  153. package/index.js.map +1 -1
  154. package/kos-models.json +426 -0
  155. package/models/constants/index.d.ts +3 -1
  156. package/models/constants/index.d.ts.map +1 -1
  157. package/models/decorators/future-service.d.ts.map +1 -1
  158. package/models/models/browser-router/types/index.d.ts +1 -0
  159. package/models/models/canvas-dispatcher/types/index.d.ts +5 -0
  160. package/models/models/canvas-renderer/types/index.d.ts +5 -0
  161. package/models/models/config-bean/config-bean-model.d.ts.map +1 -1
  162. package/models/models/config-bean/types/index.d.ts +1 -0
  163. package/models/models/config-bean-prop/config-bean-prop-model.d.ts +1 -1
  164. package/models/models/config-bean-prop/config-bean-prop-model.d.ts.map +1 -1
  165. package/models/models/config-bean-prop/types/index.d.ts +8 -2
  166. package/models/models/device/types/index.d.ts +1 -0
  167. package/models/models/future/future-types.d.ts +14 -0
  168. package/models/models/future/future-types.d.ts.map +1 -1
  169. package/models/models/gpio-chip/gpio-chip-container-model.d.ts +25 -0
  170. package/models/models/gpio-chip/gpio-chip-container-model.d.ts.map +1 -0
  171. package/models/models/gpio-chip/gpio-chip-model.d.ts +30 -0
  172. package/models/models/gpio-chip/gpio-chip-model.d.ts.map +1 -0
  173. package/models/models/gpio-chip/index.d.ts +7 -0
  174. package/models/models/gpio-chip/index.d.ts.map +1 -0
  175. package/models/models/gpio-chip/services/gpio-chip-services.d.ts +86 -0
  176. package/models/models/gpio-chip/services/gpio-chip-services.d.ts.map +1 -0
  177. package/models/models/gpio-chip/services/index.d.ts +2 -0
  178. package/models/models/gpio-chip/services/index.d.ts.map +1 -0
  179. package/models/models/gpio-chip/types/index.d.ts +24 -0
  180. package/models/models/gpio-pin/gpio-pin-container-model.d.ts +23 -0
  181. package/models/models/gpio-pin/gpio-pin-container-model.d.ts.map +1 -0
  182. package/models/models/gpio-pin/gpio-pin-model.d.ts +26 -0
  183. package/models/models/gpio-pin/gpio-pin-model.d.ts.map +1 -0
  184. package/models/models/gpio-pin/index.d.ts +6 -0
  185. package/models/models/gpio-pin/index.d.ts.map +1 -0
  186. package/models/models/gpio-pin/types/index.d.ts +23 -0
  187. package/models/models/key-value/types/index.d.ts +1 -0
  188. package/models/models/kos-expression-evaluator/types/index.d.ts +5 -0
  189. package/models/models/kos-log-manager/types/index.d.ts +4 -0
  190. package/models/models/kos-time/types/index.d.ts +3 -0
  191. package/models/models/log-block/types/index.d.ts +4 -0
  192. package/models/models/log-stream/types/index.d.ts +3 -1
  193. package/models/models/network-interface/services/network-interface-services.d.ts.map +1 -1
  194. package/models/models/network-interface/types/index.d.ts +1 -0
  195. package/models/models/ota/types/index.d.ts +31 -0
  196. package/models/models/region-info/region-info-model.d.ts +1 -0
  197. package/models/models/region-info/region-info-model.d.ts.map +1 -1
  198. package/models/models/region-info/services/region-info-services.d.ts +2 -2
  199. package/models/models/region-info/services/region-info-services.d.ts.map +1 -1
  200. package/models/models/region-info/types/index.d.ts +50 -0
  201. package/models/models/region-info/types/index.d.ts.map +1 -1
  202. package/models/models/software-info/services/software-info-services.d.ts.map +1 -1
  203. package/models/models/software-info/types/index.d.ts +4 -1
  204. package/models/models/state-bean/types/index.d.ts +3 -0
  205. package/models/models/state-prop/types/index.d.ts +2 -0
  206. package/models/models/storage-device/types/index.d.ts +2 -0
  207. package/models/models/translation/types/index.d.ts +3 -0
  208. package/models/models/trouble/services/trouble-services.d.ts +1 -0
  209. package/models/models/trouble/services/trouble-services.d.ts.map +1 -1
  210. package/models/models/trouble/trouble-model.d.ts +3 -1
  211. package/models/models/trouble/trouble-model.d.ts.map +1 -1
  212. package/models/models/trouble/types/index.d.ts +12 -0
  213. package/models/models/trouble-container/trouble-container-model.d.ts +3 -2
  214. package/models/models/trouble-container/trouble-container-model.d.ts.map +1 -1
  215. package/models/models/trouble-container/types/index.d.ts +5 -0
  216. package/models/models/usb-update/types/index.d.ts +10 -0
  217. package/models/utils/client.d.ts +4 -0
  218. package/models/utils/client.d.ts.map +1 -1
  219. package/models/utils/extension-manager.d.ts +5 -0
  220. package/models/utils/extension-manager.d.ts.map +1 -1
  221. package/models/utils/get-kos-connection-id.d.ts +2 -0
  222. package/models/utils/get-kos-connection-id.d.ts.map +1 -0
  223. package/models/utils/index.d.ts +2 -0
  224. package/models/utils/index.d.ts.map +1 -1
  225. package/models/utils/openapi-index.d.ts +2 -2
  226. package/models/utils/service-accessor.d.ts +86 -0
  227. package/models/utils/service-accessor.d.ts.map +1 -0
  228. package/models/utils/service.d.ts +4 -0
  229. package/models/utils/service.d.ts.map +1 -1
  230. package/models/utils/services/kos/1.6.5/service.d.ts +4 -0
  231. package/models/utils/services/kos/1.6.5/service.d.ts.map +1 -1
  232. package/models/utils/services/kos/1.8.1/service.d.ts +4 -0
  233. package/models/utils/services/kos/1.8.1/service.d.ts.map +1 -1
  234. package/models/utils/services/kos/1.9.x/openapi.d.ts +4597 -0
  235. package/models/utils/services/kos/1.9.x/service.d.ts +124 -0
  236. package/models/utils/services/kos/1.9.x/service.d.ts.map +1 -0
  237. package/models/utils/services/kos/daily/service.d.ts +4 -0
  238. package/models/utils/services/kos/daily/service.d.ts.map +1 -1
  239. package/models/utils/services/vfs/1.6.5/service.d.ts +4 -0
  240. package/models/utils/services/vfs/1.6.5/service.d.ts.map +1 -1
  241. package/models/utils/services/vfs/1.8.1/service.d.ts +4 -0
  242. package/models/utils/services/vfs/1.8.1/service.d.ts.map +1 -1
  243. package/models/utils/services/vfs/1.9.x/openapi.d.ts +51 -0
  244. package/models/utils/services/vfs/1.9.x/service.d.ts +124 -0
  245. package/models/utils/services/vfs/1.9.x/service.d.ts.map +1 -0
  246. package/models/utils/services/vfs/daily/service.d.ts +4 -0
  247. package/models/utils/services/vfs/daily/service.d.ts.map +1 -1
  248. package/models/utils/services-index.d.ts +2 -0
  249. package/models/utils/services-index.d.ts.map +1 -1
  250. package/package.json +4 -2
  251. package/ui/hooks/device/use-device.d.ts +6 -0
  252. package/ui/hooks/device/use-device.d.ts.map +1 -1
  253. package/ui/hooks/kos-time/use-kos-time.d.ts +6 -0
  254. package/ui/hooks/kos-time/use-kos-time.d.ts.map +1 -1
  255. package/ui/hooks/network-interface-container/use-network-interface-container.d.ts +6 -0
  256. package/ui/hooks/network-interface-container/use-network-interface-container.d.ts.map +1 -1
  257. package/ui/hooks/ota/use-ota.d.ts +6 -0
  258. package/ui/hooks/ota/use-ota.d.ts.map +1 -1
  259. package/ui/hooks/software-info/use-software-info.d.ts +6 -0
  260. package/ui/hooks/software-info/use-software-info.d.ts.map +1 -1
  261. package/ui/hooks/storage-device-container/use-storage-device-container.d.ts +6 -0
  262. package/ui/hooks/storage-device-container/use-storage-device-container.d.ts.map +1 -1
  263. package/ui/hooks/translation-container/trans.d.ts +6 -0
  264. package/ui/hooks/translation-container/trans.d.ts.map +1 -1
  265. package/ui/hooks/translation-container/use-translation-container.d.ts +6 -0
  266. package/ui/hooks/translation-container/use-translation-container.d.ts.map +1 -1
  267. package/ui/hooks/translation-container/use-translation.d.ts +7 -0
  268. package/ui/hooks/translation-container/use-translation.d.ts.map +1 -1
  269. package/ui/hooks/translation-container/with-translation-container.d.ts +6 -0
  270. package/ui/hooks/translation-container/with-translation-container.d.ts.map +1 -1
  271. package/ui/hooks/usb-update-container/use-usb-update-container.d.ts +6 -0
  272. package/ui/hooks/usb-update-container/use-usb-update-container.d.ts.map +1 -1
  273. package/ui/hooks/use-config-bean.d.ts +6 -0
  274. package/ui/hooks/use-config-bean.d.ts.map +1 -1
  275. package/ui/hooks/use-config-property.d.ts +6 -0
  276. package/ui/hooks/use-config-property.d.ts.map +1 -1
  277. package/ui/hooks/use-kos-model.d.ts +6 -0
  278. package/ui/hooks/use-kos-model.d.ts.map +1 -1
  279. package/ui/hooks/use-kos-regions.d.ts.map +1 -1
  280. package/core/core/declarative/declarative-actions-wiring.d.ts +0 -13
  281. package/core/core/declarative/declarative-actions-wiring.d.ts.map +0 -1
  282. package/core/core/declarative/declarative-model-bindings.d.ts +0 -191
  283. package/core/core/declarative/declarative-model-bindings.d.ts.map +0 -1
  284. package/core/core/declarative/declarative-model-discovery.d.ts +0 -74
  285. package/core/core/declarative/declarative-model-discovery.d.ts.map +0 -1
  286. package/core/core/declarative/declarative-model-factory.d.ts +0 -58
  287. package/core/core/declarative/declarative-model-factory.d.ts.map +0 -1
  288. package/core/core/declarative/declarative-model-types.d.ts +0 -96
  289. package/core/core/declarative/declarative-model-types.d.ts.map +0 -1
  290. package/core/core/declarative/index.d.ts +0 -7
  291. package/core/core/declarative/index.d.ts.map +0 -1
  292. package/core/core/declarative/types.d.ts +0 -304
  293. package/core/core/declarative/types.d.ts.map +0 -1
@@ -1,96 +0,0 @@
1
- /**
2
- * Type utilities for declarative model bindings.
3
- *
4
- * Enables full IntelliSense in `.bindings.ts` files with zero hand-authored
5
- * type declarations. The system infers types from:
6
- * - JSON config (via a generated `.d.ts` that augments `ModelBaseProps`)
7
- * - The binding registration call (via `typeof` + utility types)
8
- *
9
- * ## How It Works
10
- *
11
- * 1. The VS Code extension generates `.kos/model-types.d.ts` with module
12
- * augmentation that populates `ModelBaseProps` per model type.
13
- * 2. `register()` returns a branded `RegisteredBinding<K, B>` handle.
14
- * 3. `DeclarativeModel<R>` combines base props + inferred computed + actions.
15
- *
16
- * Without the generated `.d.ts`, `BasePropsFor<K>` resolves to `any` and
17
- * everything still compiles — graceful degradation.
18
- *
19
- * @example
20
- * ```typescript
21
- * const registration = modelBindings.register("counter-model", {
22
- * computed: {
23
- * displayValue: (model) => `${model.label}: ${model.count}`,
24
- * },
25
- * actions: {
26
- * increment: (model) => { model.count += 1; },
27
- * },
28
- * });
29
- *
30
- * export type CounterModel = DeclarativeModel<typeof registration>;
31
- * ```
32
- */
33
- /**
34
- * Augmentable interface mapping modelTypeId strings to their base property types.
35
- *
36
- * Populated by the generated `.kos/model-types.d.ts` via module augmentation:
37
- * ```typescript
38
- * declare module "@kosdev-code/kos-ui-sdk" {
39
- * interface ModelBaseProps {
40
- * "counter-model": { id: string; count: number; label: string } & KosLoggerAware;
41
- * }
42
- * }
43
- * ```
44
- *
45
- * When no augmentation exists for a given key, `BasePropsFor<K>` falls back to `any`.
46
- */
47
- export interface ModelBaseProps {
48
- }
49
- /**
50
- * Resolves the base property type for a model type ID.
51
- * Returns the augmented type if available, otherwise `any`.
52
- */
53
- export type BasePropsFor<K extends string> = K extends keyof ModelBaseProps ? ModelBaseProps[K] : any;
54
- declare const registeredBindingBrand: unique symbol;
55
- /**
56
- * Branded type returned by `register()`. Carries the model type key and
57
- * binding shape at the type level with zero runtime cost.
58
- */
59
- export interface RegisteredBinding<K extends string = string, B = unknown> {
60
- /** @internal Type brand — no runtime value. */
61
- readonly [registeredBindingBrand]: {
62
- key: K;
63
- binding: B;
64
- };
65
- }
66
- /**
67
- * Extracts computed property types from a binding registration.
68
- * Each computed getter `(model) => T` becomes a readonly property of type `T`.
69
- */
70
- export type InferComputed<B> = B extends {
71
- computed: infer C extends Record<string, (...args: any[]) => any>;
72
- } ? {
73
- readonly [P in keyof C]: ReturnType<C[P]>;
74
- } : {};
75
- /**
76
- * Extracts action signatures from a binding registration.
77
- * Each action `(model, ...args) => R` becomes `(...args) => R` (model param stripped).
78
- */
79
- export type InferActions<B> = B extends {
80
- actions: infer A extends Record<string, (model: any, ...args: any[]) => any>;
81
- } ? {
82
- [P in keyof A]: A[P] extends (model: any, ...args: infer Args) => infer R ? (...args: Args) => R : never;
83
- } : {};
84
- /**
85
- * Combines base props (from generated `.d.ts`), inferred computed properties,
86
- * and inferred actions into a single model type.
87
- *
88
- * @example
89
- * ```typescript
90
- * const reg = modelBindings.register("counter-model", { ... });
91
- * export type CounterModel = DeclarativeModel<typeof reg>;
92
- * ```
93
- */
94
- export type DeclarativeModel<R> = R extends RegisteredBinding<infer K, infer B> ? BasePropsFor<K> & InferComputed<B> & InferActions<B> : any;
95
- export {};
96
- //# sourceMappingURL=declarative-model-types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"declarative-model-types.d.ts","sourceRoot":"","sources":["../../../../../../../packages/sdk/kos-ui-sdk/src/core/core/declarative/declarative-model-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AASH;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,cAAc;CAAG;AAMlC;;;GAGG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,MAAM,IACvC,CAAC,SAAS,MAAM,cAAc,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;AAM3D,OAAO,CAAC,MAAM,sBAAsB,EAAE,OAAO,MAAM,CAAC;AAEpD;;;GAGG;AACH,MAAM,WAAW,iBAAiB,CAChC,CAAC,SAAS,MAAM,GAAG,MAAM,EACzB,CAAC,GAAG,OAAO;IAEX,+CAA+C;IAC/C,QAAQ,CAAC,CAAC,sBAAsB,CAAC,EAAE;QAAE,GAAG,EAAE,CAAC,CAAC;QAAC,OAAO,EAAE,CAAC,CAAA;KAAE,CAAC;CAC3D;AAMD;;;GAGG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS;IACvC,QAAQ,EAAE,MAAM,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC;CACnE,GACG;IAAE,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GAC7C,EAAE,CAAC;AAEP;;;GAGG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS;IACtC,OAAO,EAAE,MAAM,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC;CAC9E,GACG;KACG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,MAAM,IAAI,KAAK,MAAM,CAAC,GACrE,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,CAAC,GACpB,KAAK;CACV,GACD,EAAE,CAAC;AAMP;;;;;;;;;GASG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,CAAC,SAAS,iBAAiB,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,GAC3E,YAAY,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,GACpD,GAAG,CAAC"}
@@ -1,7 +0,0 @@
1
- export { declarativeModel, declarativeModelRegistry, } from './declarative-model-factory';
2
- export type { DeclarativeModelClass } from './declarative-model-factory';
3
- export { modelBindings, type ModelBindingRegistration, type EffectHandlerBinding, } from './declarative-model-bindings';
4
- export type { ModelBaseProps, BasePropsFor, RegisteredBinding, InferComputed, InferActions, DeclarativeModel, } from './declarative-model-types';
5
- export { discoverAndRegisterModels, type DiscoverModelsConfig, } from './declarative-model-discovery';
6
- export type { DeclarativeModelConfig, DeclarativeModelSection, DeclarativePropertyDefinition, DeclarativePropertyType, DeclarativeTopicHandlerConfig, DeclarativeDependencyConfig, DeclarativeActionConfig, DeclarativeActionServiceConfig, DeclarativeActionFutureConfig, DeclarativeContainerConfig, DeclarativeConfigPropertyConfig, DeclarativeStatePropertyConfig, DeclarativeEffectConfig, DeclarativeLifecycle, DeclarativeLifecyclePhase, DeclarativeLifecycleHookConfig, DeclarativeResolutionPolicy, DeclarativeErrorStrategy, DeclarativeRetention, DeclarativeLoggingConfig, } from './types';
7
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../packages/sdk/kos-ui-sdk/src/core/core/declarative/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,wBAAwB,GACzB,MAAM,6BAA6B,CAAC;AACrC,YAAY,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EACL,aAAa,EACb,KAAK,wBAAwB,EAC7B,KAAK,oBAAoB,GAC1B,MAAM,8BAA8B,CAAC;AACtC,YAAY,EACV,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,gBAAgB,GACjB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,yBAAyB,EACzB,KAAK,oBAAoB,GAC1B,MAAM,+BAA+B,CAAC;AACvC,YAAY,EACV,sBAAsB,EACtB,uBAAuB,EACvB,6BAA6B,EAC7B,uBAAuB,EACvB,6BAA6B,EAC7B,2BAA2B,EAC3B,uBAAuB,EACvB,8BAA8B,EAC9B,6BAA6B,EAC7B,0BAA0B,EAC1B,+BAA+B,EAC/B,8BAA8B,EAC9B,uBAAuB,EACvB,oBAAoB,EACpB,yBAAyB,EACzB,8BAA8B,EAC9B,2BAA2B,EAC3B,wBAAwB,EACxB,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,SAAS,CAAC"}
@@ -1,304 +0,0 @@
1
- /**
2
- * Type definitions for declarative model JSON configuration.
3
- *
4
- * These types define the schema for `.model.json` files that
5
- * declare KOS models without TypeScript class definitions.
6
- */
7
- /** Supported property types in declarative model definitions. */
8
- export type DeclarativePropertyType = "string" | "number" | "boolean" | "object" | "array";
9
- /** Declaration of a single model property. */
10
- export interface DeclarativePropertyDefinition {
11
- /** The property's data type. */
12
- type: DeclarativePropertyType;
13
- /** Default value when not provided via options. */
14
- default?: unknown;
15
- /**
16
- * When true, the property value is extracted from the constructor
17
- * options parameter rather than using the default.
18
- */
19
- fromOptions?: boolean;
20
- }
21
- /** Lifecycle phases for dependency resolution and topic registration. */
22
- export type DeclarativeLifecycle = "INIT" | "LOAD" | "READY" | "ACTIVATE" | "ONLINE";
23
- /**
24
- * All model lifecycle phases.
25
- *
26
- * Forward phases: init → load → ready → activate → online
27
- * Reverse phases: offline → unload → deactivate
28
- *
29
- * Used in the `lifecycle` section of the JSON config to declare
30
- * which lifecycle phases the model participates in.
31
- */
32
- export type DeclarativeLifecyclePhase = "init" | "load" | "ready" | "activate" | "online" | "offline" | "unload" | "deactivate";
33
- /** Configuration for a single lifecycle hook. */
34
- export interface DeclarativeLifecycleHookConfig {
35
- /**
36
- * Name of the handler in `bindings.lifecycle`.
37
- * When omitted, defaults to the phase name (e.g., "load" → bindings.lifecycle.load).
38
- */
39
- handler?: string;
40
- }
41
- /** Dependency resolution strategies. */
42
- export type DeclarativeResolutionPolicy = "CREATE" | "CONTINUE" | "FAIL";
43
- /** Declaration of a topic handler in JSON. */
44
- export interface DeclarativeTopicHandlerConfig {
45
- /** Whether this is a WebSocket topic. */
46
- websocket?: boolean;
47
- /** Whether this is a FOS topic. */
48
- fos?: boolean;
49
- /** Whether this is a bridge topic. */
50
- bridge?: boolean;
51
- /** Lifecycle phase when the subscription is registered. */
52
- lifecycle?: DeclarativeLifecycle;
53
- /**
54
- * Name of the handler function in the model bindings.
55
- * If not provided, defaults to a property-merge handler.
56
- */
57
- handler?: string;
58
- /** Debounce interval in milliseconds. */
59
- debounce?: number;
60
- /** Throttle interval in milliseconds. */
61
- throttle?: number;
62
- /** Only handle the event once, then automatically unsubscribe. */
63
- once?: boolean;
64
- /**
65
- * Destination address for the topic subscription.
66
- * Overrides the topic key as the subscription address.
67
- */
68
- destinationAddress?: string;
69
- /**
70
- * Wildcard name for parameterized topic matching.
71
- * Used when the topic path contains wildcard segments.
72
- */
73
- wildcardName?: string;
74
- }
75
- /** Declaration of a model dependency. */
76
- export interface DeclarativeDependencyConfig {
77
- /** The modelTypeId of the dependency. */
78
- modelType: string;
79
- /**
80
- * Instance ID of the dependency. Supports `{PROP_xxx}` references
81
- * for dynamic resolution from model properties.
82
- */
83
- id?: string;
84
- /** Options to pass to the dependency constructor. */
85
- options?: Record<string, unknown>;
86
- /** Lifecycle phase for resolution. Defaults to INIT. */
87
- lifecycle?: DeclarativeLifecycle;
88
- /** Resolution policy. Defaults to CREATE. */
89
- resolutionPolicy?: DeclarativeResolutionPolicy;
90
- }
91
- /** Error handling strategy for service requests. */
92
- export type DeclarativeErrorStrategy = "throw" | "log" | "ignore" | "default";
93
- /** Response cache retention policy. */
94
- export type DeclarativeRetention = "IMMEDIATE" | "SINGLE" | "TTL" | "PERMANENT";
95
- /** HTTP service request semantics for an action. */
96
- export interface DeclarativeActionServiceConfig {
97
- /** HTTP endpoint path. Supports `{PROP_xxx}` references. */
98
- path: string;
99
- /** HTTP method. */
100
- method: "GET" | "POST" | "PUT" | "DELETE" | "PATCH";
101
- /** Simple dot-path transform for the response (e.g., "data.items"). */
102
- transform?: string;
103
- /**
104
- * JSON path to iterate over in the response, creating an array of items.
105
- * Used with `modelFactory` to create child model instances.
106
- */
107
- iterateOver?: string;
108
- /**
109
- * Static query parameters to include with the request.
110
- * Supports `{PROP_xxx}` references for dynamic values.
111
- */
112
- queryParams?: Record<string, unknown>;
113
- /**
114
- * Static path parameters for URL expansion.
115
- * Supports `{PROP_xxx}` references for dynamic values.
116
- */
117
- pathParams?: Record<string, string>;
118
- /** Static request body (for POST/PUT/PATCH). */
119
- body?: unknown;
120
- /** Error handling configuration. */
121
- errorHandler?: {
122
- strategy: DeclarativeErrorStrategy;
123
- defaultValue?: unknown;
124
- };
125
- /** Response caching configuration. */
126
- cache?: {
127
- retention: DeclarativeRetention;
128
- /** TTL in milliseconds (only used with "TTL" retention). */
129
- ttl?: number;
130
- };
131
- /** Static request options (e.g., destinationAddress, timeout). */
132
- requestOptions?: Record<string, unknown>;
133
- }
134
- /** Future lifecycle semantics for an action. */
135
- export interface DeclarativeActionFutureConfig {
136
- /** Alias for named future tracking (used with multiple future mode). */
137
- alias?: string;
138
- /** Namespace for future organization. */
139
- namespace?: string;
140
- /** Enable AbortController integration. Default: false. */
141
- abortController?: boolean;
142
- /** Tracker injection policy. Default: "id". */
143
- trackerPolicy?: "id" | "context";
144
- }
145
- /**
146
- * Declaration of a model action.
147
- *
148
- * Actions are the primary way to define model behavior. An action can
149
- * optionally have HTTP service request semantics (`service`), future
150
- * lifecycle semantics (`future`), or both. Actions with neither are
151
- * plain custom actions whose implementation comes from bindings.
152
- */
153
- export interface DeclarativeActionConfig {
154
- /** HTTP service request semantics. When present, the action calls an HTTP endpoint. */
155
- service?: DeclarativeActionServiceConfig;
156
- /** Future lifecycle semantics. When present, the action manages a Future. */
157
- future?: DeclarativeActionFutureConfig;
158
- /**
159
- * Lifecycle phase when the action auto-executes.
160
- * If omitted, the action is invoked programmatically.
161
- */
162
- lifecycle?: DeclarativeLifecycle;
163
- /**
164
- * Name of the handler function in the model bindings.
165
- * Required for future actions. Optional for service actions (defaults to property-merge).
166
- */
167
- handler?: string;
168
- }
169
- /** Declaration of container-aware configuration. */
170
- export interface DeclarativeContainerConfig {
171
- /**
172
- * The modelTypeId of the child models this container manages.
173
- * Used for discoverability and enables automatic resolution of the
174
- * child model's Registration via `declarativeModelRegistry`.
175
- */
176
- childModelType?: string;
177
- /** Property name where the container is stored on the model. Defaults to "container". */
178
- containerProperty?: string;
179
- /** Whether to add convenience methods (addModel, removeModel, etc.). Defaults to true. */
180
- includeMethods?: boolean;
181
- /** Whether to add reactive getters (models, data). Defaults to true. */
182
- includeGetters?: boolean;
183
- /** Custom name for the reactive models array getter. Defaults to "models". */
184
- modelsProperty?: string;
185
- /** Container options passed to KosModelContainer. */
186
- containerOptions?: {
187
- sortKey?: string;
188
- /** Index mapping keyed by index name. Values are property names on the child model. */
189
- indexMap?: Record<string, string>;
190
- maxCapacity?: number;
191
- evictionStrategy?: "fifo" | "lru";
192
- evictionBatchSize?: number;
193
- };
194
- }
195
- /** Declaration of a config property (shorthand for a config-bean-prop dependency). */
196
- export interface DeclarativeConfigPropertyConfig {
197
- /** Config service path. Supports `{PROP_xxx}` references. */
198
- path: string;
199
- /** Attribute name within the config path. */
200
- attribute: string;
201
- /** Base path for the config service. */
202
- serviceBasePath?: string;
203
- /** Whether to resolve lazily. */
204
- lazy?: boolean;
205
- /** Unit conversion configuration. */
206
- converter?: {
207
- measure?: string;
208
- from?: string | {
209
- unit?: string;
210
- system?: string;
211
- measure?: string;
212
- };
213
- to?: string | {
214
- unit?: string;
215
- system?: string;
216
- measure?: string;
217
- };
218
- };
219
- /** Number formatting options (Intl.NumberFormatOptions). */
220
- formatter?: Record<string, unknown>;
221
- /** Name of an options expander function in bindings. */
222
- optionsExpander?: string;
223
- }
224
- /** Declaration of a state property (shorthand for a state-prop dependency). */
225
- export interface DeclarativeStatePropertyConfig {
226
- /** State path identifier (e.g., "device:status"). */
227
- path: string;
228
- /** Attribute name within the state path. */
229
- attribute: string;
230
- }
231
- /** Declaration of a reactive effect. */
232
- export interface DeclarativeEffectConfig {
233
- /**
234
- * Array of property paths that the effect depends on.
235
- * Supports dot notation for nested properties (e.g., "deviceModel.isOnline").
236
- * When omitted, the effect uses MobX autorun (tracks all accessed observables).
237
- */
238
- dependencies?: string[];
239
- /** Name of the handler function in the model bindings. */
240
- handler: string;
241
- /** Whether to fire the effect immediately on setup. Default: false. */
242
- fireImmediately?: boolean;
243
- }
244
- /** Core model identity and property definitions. */
245
- export interface DeclarativeModelSection {
246
- /** Unique model type identifier. */
247
- modelTypeId: string;
248
- /** Whether this model is a singleton. */
249
- singleton?: boolean;
250
- /** Whether constructor options are required. */
251
- optionsRequired?: boolean;
252
- /** Property declarations with types and defaults. */
253
- properties?: Record<string, DeclarativePropertyDefinition>;
254
- }
255
- /** Logging configuration. */
256
- export interface DeclarativeLoggingConfig {
257
- /** Log group name. */
258
- group?: string;
259
- }
260
- /**
261
- * Root type for a `.model.json` file.
262
- *
263
- * Example:
264
- * ```json
265
- * {
266
- * "model": {
267
- * "modelTypeId": "beverage-model",
268
- * "singleton": false,
269
- * "properties": {
270
- * "name": { "type": "string", "default": "" }
271
- * }
272
- * },
273
- * "topics": { ... },
274
- * "dependencies": { ... }
275
- * }
276
- * ```
277
- */
278
- export interface DeclarativeModelConfig {
279
- /** Model identity and properties (required). */
280
- model: DeclarativeModelSection;
281
- /** Topic handler declarations keyed by topic string. */
282
- topics?: Record<string, DeclarativeTopicHandlerConfig>;
283
- /** Dependency declarations keyed by property name. */
284
- dependencies?: Record<string, DeclarativeDependencyConfig>;
285
- /** Action declarations keyed by action name. */
286
- actions?: Record<string, DeclarativeActionConfig>;
287
- /** Container-aware configuration. */
288
- container?: DeclarativeContainerConfig;
289
- /** Config property declarations keyed by property name. */
290
- configProperties?: Record<string, DeclarativeConfigPropertyConfig>;
291
- /** State property declarations keyed by property name. */
292
- stateProperties?: Record<string, DeclarativeStatePropertyConfig>;
293
- /** Reactive effect declarations keyed by effect name. */
294
- effects?: Record<string, DeclarativeEffectConfig>;
295
- /**
296
- * Lifecycle hook declarations keyed by phase name.
297
- * Declares which lifecycle phases the model participates in.
298
- * Implementation comes from `bindings.lifecycle`.
299
- */
300
- lifecycle?: Partial<Record<DeclarativeLifecyclePhase, DeclarativeLifecycleHookConfig>>;
301
- /** Logging configuration. */
302
- logging?: DeclarativeLoggingConfig;
303
- }
304
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../../packages/sdk/kos-ui-sdk/src/core/core/declarative/types.ts"],"names":[],"mappings":"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"}