@kosdev-code/kos-ui-sdk 2.0.41 → 2.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (177) hide show
  1. package/core/core/decorators/index.d.ts +4 -0
  2. package/core/core/decorators/index.d.ts.map +1 -1
  3. package/core/core/decorators/kos-companion.d.ts +125 -8
  4. package/core/core/decorators/kos-companion.d.ts.map +1 -1
  5. package/core/core/decorators/kos-container-aware.d.ts +465 -0
  6. package/core/core/decorators/kos-container-aware.d.ts.map +1 -0
  7. package/core/core/decorators/kos-future-aware.d.ts +150 -0
  8. package/core/core/decorators/kos-future-aware.d.ts.map +1 -0
  9. package/core/core/decorators/kos-logger-aware.d.ts +96 -0
  10. package/core/core/decorators/kos-logger-aware.d.ts.map +1 -0
  11. package/core/core/decorators/kos-trouble-aware.d.ts +71 -0
  12. package/core/core/decorators/kos-trouble-aware.d.ts.map +1 -0
  13. package/core/core/decorators/kosModel.d.ts +8 -2
  14. package/core/core/decorators/kosModel.d.ts.map +1 -1
  15. package/core/core/decorators/kosTopicHandler.d.ts.map +1 -1
  16. package/core/core/decorators/propKeys.d.ts +4 -0
  17. package/core/core/decorators/propKeys.d.ts.map +1 -1
  18. package/core/core/extension/extension-manager.d.ts +1 -1
  19. package/core/core/extension/extension-manager.d.ts.map +1 -1
  20. package/core/core/kosCore.d.ts.map +1 -1
  21. package/core/core/registration/index.d.ts +1 -0
  22. package/core/core/registration/index.d.ts.map +1 -1
  23. package/core/index.d.ts +1 -1
  24. package/core/index.d.ts.map +1 -1
  25. package/core/util/container-utils.d.ts +3 -2
  26. package/core/util/container-utils.d.ts.map +1 -1
  27. package/core/util/observable-proxy-map.d.ts.map +1 -1
  28. package/index.cjs +79 -76
  29. package/index.cjs.map +1 -1
  30. package/index.d.cts +1 -0
  31. package/index.d.ts +1 -0
  32. package/index.d.ts.map +1 -1
  33. package/index.js +9672 -7760
  34. package/index.js.map +1 -1
  35. package/models/models/browser-router/browser-router-model.d.ts +80 -1
  36. package/models/models/browser-router/browser-router-model.d.ts.map +1 -1
  37. package/models/models/browser-router/types/index.d.ts +25 -1
  38. package/models/models/config-bean/config-bean-model-builder.d.ts +4 -2
  39. package/models/models/config-bean/config-bean-model-builder.d.ts.map +1 -1
  40. package/models/models/config-bean/config-bean-model.d.ts +117 -13
  41. package/models/models/config-bean/config-bean-model.d.ts.map +1 -1
  42. package/models/models/config-bean/config-bean-types.d.ts +6 -3
  43. package/models/models/config-bean/config-bean-types.d.ts.map +1 -1
  44. package/models/models/config-bean/types/index.d.ts +33 -0
  45. package/models/models/config-bean-prop/config-bean-prop-model.d.ts +112 -1
  46. package/models/models/config-bean-prop/config-bean-prop-model.d.ts.map +1 -1
  47. package/models/models/config-bean-prop/types/index.d.ts +293 -17
  48. package/models/models/device/device-model.d.ts +219 -9
  49. package/models/models/device/device-model.d.ts.map +1 -1
  50. package/models/models/device/device-registration.d.ts +61 -48
  51. package/models/models/device/device-registration.d.ts.map +1 -1
  52. package/models/models/device/types/index.d.ts +41 -0
  53. package/models/models/future/future-aware.d.ts +82 -0
  54. package/models/models/future/future-aware.d.ts.map +1 -1
  55. package/models/models/future/future-model.d.ts +34 -5
  56. package/models/models/future/future-model.d.ts.map +1 -1
  57. package/models/models/future/future-types.d.ts +186 -7
  58. package/models/models/future/future-types.d.ts.map +1 -1
  59. package/models/models/future-container/future-container-model.d.ts +2 -2
  60. package/models/models/index.d.ts +1 -0
  61. package/models/models/index.d.ts.map +1 -1
  62. package/models/models/key-value/index.d.ts +4 -0
  63. package/models/models/key-value/index.d.ts.map +1 -1
  64. package/models/models/key-value/key-value-model.d.ts +111 -0
  65. package/models/models/key-value/key-value-model.d.ts.map +1 -1
  66. package/models/models/key-value/services/key-value-services.d.ts +124 -2
  67. package/models/models/key-value/services/key-value-services.d.ts.map +1 -1
  68. package/models/models/key-value/types/index.d.ts +56 -0
  69. package/models/models/kos-expression-evaluator/index.d.ts +4 -0
  70. package/models/models/kos-expression-evaluator/index.d.ts.map +1 -0
  71. package/models/models/kos-expression-evaluator/kos-expression-evaluator-model.d.ts +209 -0
  72. package/models/models/kos-expression-evaluator/kos-expression-evaluator-model.d.ts.map +1 -0
  73. package/models/models/kos-expression-evaluator/services/index.d.ts +6 -0
  74. package/models/models/kos-expression-evaluator/services/index.d.ts.map +1 -0
  75. package/models/models/kos-expression-evaluator/services/kos-expression-evaluator-services.d.ts +15 -0
  76. package/models/models/kos-expression-evaluator/services/kos-expression-evaluator-services.d.ts.map +1 -0
  77. package/models/models/kos-expression-evaluator/types/index.d.ts +1 -0
  78. package/models/models/kos-log-manager/kos-log-manager-model.d.ts +61 -14
  79. package/models/models/kos-log-manager/kos-log-manager-model.d.ts.map +1 -1
  80. package/models/models/kos-log-manager/types/index.d.ts +187 -0
  81. package/models/models/kos-time/kos-time-model.d.ts +64 -0
  82. package/models/models/kos-time/kos-time-model.d.ts.map +1 -1
  83. package/models/models/kos-time/types/index.d.ts +80 -0
  84. package/models/models/log-block/log-block-container-model.d.ts +132 -0
  85. package/models/models/log-block/log-block-container-model.d.ts.map +1 -1
  86. package/models/models/log-block/log-block-model.d.ts +185 -0
  87. package/models/models/log-block/log-block-model.d.ts.map +1 -1
  88. package/models/models/log-block/types/index.d.ts +129 -0
  89. package/models/models/log-stream/index.d.ts +6 -2
  90. package/models/models/log-stream/index.d.ts.map +1 -1
  91. package/models/models/log-stream/log-stream-container-model.d.ts +62 -0
  92. package/models/models/log-stream/log-stream-container-model.d.ts.map +1 -1
  93. package/models/models/log-stream/log-stream-model.d.ts +55 -0
  94. package/models/models/log-stream/log-stream-model.d.ts.map +1 -1
  95. package/models/models/log-stream/services/log-stream-services.d.ts +2 -1
  96. package/models/models/log-stream/services/log-stream-services.d.ts.map +1 -1
  97. package/models/models/log-stream/types/index.d.ts +77 -0
  98. package/models/models/network-interface/index.d.ts +6 -2
  99. package/models/models/network-interface/index.d.ts.map +1 -1
  100. package/models/models/network-interface/network-interface-container-model.d.ts +62 -0
  101. package/models/models/network-interface/network-interface-container-model.d.ts.map +1 -1
  102. package/models/models/network-interface/network-interface-container-registration.d.ts +2 -1
  103. package/models/models/network-interface/network-interface-container-registration.d.ts.map +1 -1
  104. package/models/models/network-interface/network-interface-model.d.ts +77 -0
  105. package/models/models/network-interface/network-interface-model.d.ts.map +1 -1
  106. package/models/models/network-interface/network-interface-registration.d.ts +2 -1
  107. package/models/models/network-interface/network-interface-registration.d.ts.map +1 -1
  108. package/models/models/network-interface/services/network-interface-services.d.ts +54 -0
  109. package/models/models/network-interface/services/network-interface-services.d.ts.map +1 -1
  110. package/models/models/network-interface/types/index.d.ts +21 -0
  111. package/models/models/ota/ota-model.d.ts +82 -3
  112. package/models/models/ota/ota-model.d.ts.map +1 -1
  113. package/models/models/ota/types/index.d.ts +146 -0
  114. package/models/models/region-info/region-info-model.d.ts +7 -3
  115. package/models/models/region-info/region-info-model.d.ts.map +1 -1
  116. package/models/models/region-info/services/region-info-services.d.ts.map +1 -1
  117. package/models/models/region-info/types/index.d.ts +141 -13
  118. package/models/models/region-info/types/index.d.ts.map +1 -1
  119. package/models/models/software-info/software-info-model.d.ts +74 -2
  120. package/models/models/software-info/software-info-model.d.ts.map +1 -1
  121. package/models/models/software-info/types/index.d.ts +48 -16
  122. package/models/models/state-bean/state-bean-model.d.ts +86 -9
  123. package/models/models/state-bean/state-bean-model.d.ts.map +1 -1
  124. package/models/models/state-bean/types/index.d.ts +114 -6
  125. package/models/models/state-prop/state-prop-model.d.ts +78 -1
  126. package/models/models/state-prop/state-prop-model.d.ts.map +1 -1
  127. package/models/models/state-prop/types/index.d.ts +55 -7
  128. package/models/models/storage-device/storage-device-container-model.d.ts +289 -2
  129. package/models/models/storage-device/storage-device-container-model.d.ts.map +1 -1
  130. package/models/models/storage-device/storage-device-model.d.ts +84 -2
  131. package/models/models/storage-device/storage-device-model.d.ts.map +1 -1
  132. package/models/models/storage-device/types/index.d.ts +112 -0
  133. package/models/models/studio-properties/studio-properties-model.d.ts +75 -0
  134. package/models/models/studio-properties/studio-properties-model.d.ts.map +1 -1
  135. package/models/models/studio-properties/types/index.d.ts +29 -0
  136. package/models/models/translation/services/translation-services.d.ts +128 -2
  137. package/models/models/translation/services/translation-services.d.ts.map +1 -1
  138. package/models/models/translation/translation-container-model.d.ts +100 -10
  139. package/models/models/translation/translation-container-model.d.ts.map +1 -1
  140. package/models/models/translation/translation-container-registration.d.ts +2 -1
  141. package/models/models/translation/translation-container-registration.d.ts.map +1 -1
  142. package/models/models/translation/translation-context.d.ts +1 -16
  143. package/models/models/translation/translation-context.d.ts.map +1 -1
  144. package/models/models/translation/translation-model.d.ts +113 -1
  145. package/models/models/translation/translation-model.d.ts.map +1 -1
  146. package/models/models/translation/types/index.d.ts +340 -0
  147. package/models/models/trouble/services/trouble-services.d.ts +3 -3
  148. package/models/models/trouble/services/trouble-services.d.ts.map +1 -1
  149. package/models/models/trouble/trouble-model.d.ts +2 -1
  150. package/models/models/trouble/trouble-model.d.ts.map +1 -1
  151. package/models/models/trouble/types/index.d.ts +22 -93
  152. package/models/models/trouble/utils/is-trouble-aware.d.ts +2 -2
  153. package/models/models/trouble/utils/is-trouble-aware.d.ts.map +1 -1
  154. package/models/models/trouble-container/index.d.ts +4 -3
  155. package/models/models/trouble-container/index.d.ts.map +1 -1
  156. package/models/models/trouble-container/trouble-container-model.d.ts +9 -5
  157. package/models/models/trouble-container/trouble-container-model.d.ts.map +1 -1
  158. package/models/models/trouble-container/types/index.d.ts +2 -15
  159. package/models/utils/client.d.ts +8 -8
  160. package/models/utils/core-registration-manager.d.ts +1 -1
  161. package/models/utils/core-registration-manager.d.ts.map +1 -1
  162. package/models/utils/index.d.ts +0 -2
  163. package/models/utils/index.d.ts.map +1 -1
  164. package/models/utils/service.d.ts +9 -9
  165. package/package.json +2 -2
  166. package/ui/contexts/state-bean/state-bean-provider.d.ts.map +1 -1
  167. package/ui/hooks/state-bean/use-state-bean.d.ts +2 -2
  168. package/ui/hooks/state-bean/use-state-bean.d.ts.map +1 -1
  169. package/ui/hooks/state-bean/with-state-bean.d.ts.map +1 -1
  170. package/ui/hooks/translation-container/use-translation-container.d.ts +4 -33
  171. package/ui/hooks/translation-container/use-translation-container.d.ts.map +1 -1
  172. package/models/models/trouble-container/trouble-container-registration.d.ts +0 -5
  173. package/models/models/trouble-container/trouble-container-registration.d.ts.map +0 -1
  174. package/models/utils/kosmodel-compatible-future-mixin.d.ts +0 -142
  175. package/models/utils/kosmodel-compatible-future-mixin.d.ts.map +0 -1
  176. package/models/utils/kosmodel-interface-companion-mixin.d.ts +0 -83
  177. package/models/utils/kosmodel-interface-companion-mixin.d.ts.map +0 -1
@@ -4,7 +4,192 @@ import { IKosIdentifiable } from '../../../core/core/types';
4
4
  import { IKosDataModel, KosCreationContext } from '../../../core/core/kosModel';
5
5
 
6
6
  export declare const MODEL_TYPE = "log-block-model";
7
+ /**
8
+ * Log Block Model - Individual log data block management within streaming log systems.
9
+ *
10
+ * This model represents a single block of log data within a LogStreamModel, providing efficient
11
+ * memory management and organized access to log lines. Log blocks are the fundamental storage
12
+ * units that enable high-performance log streaming by breaking large log streams into
13
+ * manageable, sequential segments with precise line numbering and timing information.
14
+ *
15
+ * ## Key Features
16
+ * - **Block-based Storage** - Efficient memory usage through segmented log storage
17
+ * - **Line Management** - Precise line numbering with start/end tracking
18
+ * - **Time-based Organization** - Temporal ordering with start and end timestamps
19
+ * - **Dynamic Loading** - On-demand synchronization of log lines from source
20
+ * - **Incremental Updates** - Add new lines without full reload
21
+ * - **Stream Integration** - Seamless integration with LogStreamModel containers
22
+ *
23
+ * ## Architecture Relationship
24
+ * LogBlock works as a component within the broader log streaming architecture:
25
+ * - **LogStreamModel** contains multiple LogBlockModels via LogBlockContainerModel
26
+ * - **LogBlockContainerModel** manages and sorts blocks by block number
27
+ * - **LogBlockModel** stores the actual log lines and metadata for a specific segment
28
+ * - This design enables efficient memory usage and fast access to recent log data
29
+ *
30
+ * ## Common Use Cases
31
+ * - **Memory-efficient Log Storage** - Break large log streams into manageable blocks
32
+ * - **Sequential Log Access** - Navigate through log history by block
33
+ * - **Selective Loading** - Load only needed blocks for performance
34
+ * - **Log Line Management** - Add, retrieve, and manage individual log entries
35
+ * - **Time-based Log Analysis** - Filter and analyze logs by time ranges
36
+ * - **Stream Synchronization** - Keep log blocks synchronized with source streams
37
+ *
38
+ * @interface
39
+ * @example Basic Usage
40
+ * ```typescript
41
+ * // Typically accessed through LogStreamModel, not created directly
42
+ * const logStream = LogStream.instance('app-logs')
43
+ * .options({ name: 'application-logs', nodeId: 'primary' })
44
+ * .build();
45
+ *
46
+ * await logStream.load();
47
+ *
48
+ * // Access blocks within the stream
49
+ * const blocks = logStream.blocks;
50
+ * const currentBlock = logStream.currentBlock;
51
+ *
52
+ * if (currentBlock) {
53
+ * console.log(`Block ${currentBlock.blockNum}`);
54
+ * console.log(`Lines: ${currentBlock.startLineNum}-${currentBlock.endLineNum}`);
55
+ * console.log(`Time range: ${currentBlock.startTime} to ${currentBlock.endTime}`);
56
+ * console.log(`Line count: ${currentBlock.lineCount}`);
57
+ * }
58
+ * ```
59
+ *
60
+ * @example Block Line Management
61
+ * ```typescript
62
+ * // Access through log stream
63
+ * const logStream = LogStream.instance('system-logs').build();
64
+ * const block = logStream.currentBlock;
65
+ *
66
+ * if (block) {
67
+ * // Get current lines
68
+ * console.log(`Block has ${block.lines.length} loaded lines`);
69
+ *
70
+ * // Add new lines (typically done automatically by stream)
71
+ * block.addLines(['New log entry 1', 'New log entry 2']);
72
+ *
73
+ * // Sync with remote source
74
+ * await block.syncLines();
75
+ *
76
+ * // Process lines
77
+ * block.lines.forEach((line, index) => {
78
+ * const globalLineNum = block.startLineNum + index;
79
+ * console.log(`Line ${globalLineNum}: ${line}`);
80
+ * });
81
+ * }
82
+ * ```
83
+ *
84
+ * @example Block Analysis and Filtering
85
+ * ```typescript
86
+ * // Analyze blocks within a stream
87
+ * const logStream = LogStream.instance('error-logs').build();
88
+ * await logStream.load();
89
+ *
90
+ * // Find blocks within a time range
91
+ * const startTime = new Date('2024-01-01T00:00:00Z');
92
+ * const endTime = new Date('2024-01-01T23:59:59Z');
93
+ *
94
+ * const blocksInRange = logStream.blocks.filter(block =>
95
+ * block.startTime >= startTime && block.endTime <= endTime
96
+ * );
97
+ *
98
+ * console.log(`Found ${blocksInRange.length} blocks in date range`);
99
+ *
100
+ * // Process error logs from specific blocks
101
+ * for (const block of blocksInRange) {
102
+ * await block.syncLines(); // Ensure lines are loaded
103
+ *
104
+ * const errorLines = block.lines
105
+ * .map((line, index) => ({ line, lineNum: block.startLineNum + index }))
106
+ * .filter(({ line }) => line.includes('ERROR'));
107
+ *
108
+ * if (errorLines.length > 0) {
109
+ * console.log(`Block ${block.blockNum} has ${errorLines.length} errors`);
110
+ * errorLines.forEach(({ line, lineNum }) => {
111
+ * console.log(`Line ${lineNum}: ${line}`);
112
+ * });
113
+ * }
114
+ * }
115
+ * ```
116
+ *
117
+ * @example Block Container Integration
118
+ * ```typescript
119
+ * // Access blocks through their container
120
+ * const logStream = LogStream.instance('debug-logs').build();
121
+ * const blockContainer = logStream.blocks; // This is a LogBlockContainerModel
122
+ *
123
+ * // Blocks are automatically sorted by block number
124
+ * const sortedBlocks = blockContainer.data;
125
+ * console.log(`Stream has ${sortedBlocks.length} blocks`);
126
+ *
127
+ * // Get specific block by ID
128
+ * const blockId = 'debug-logs-block-5';
129
+ * const specificBlock = blockContainer.getModel(blockId);
130
+ *
131
+ * if (specificBlock) {
132
+ * console.log(`Block ${specificBlock.blockNum} loaded`);
133
+ * await specificBlock.syncLines();
134
+ * }
135
+ *
136
+ * // Add new block to container (typically done automatically)
137
+ * const newBlockOptions: LogBlockOptions = {
138
+ * nodeId: 'primary',
139
+ * stream: 'debug-logs',
140
+ * blockNum: 10,
141
+ * startLineNum: 1000,
142
+ * endLineNum: 1099,
143
+ * startTime: new Date(),
144
+ * endTime: new Date(Date.now() + 60000),
145
+ * lineCount: 100
146
+ * };
147
+ *
148
+ * const newBlock = LogBlock.instance('debug-logs-block-10')
149
+ * .options(newBlockOptions)
150
+ * .build();
151
+ *
152
+ * blockContainer.addModel(newBlock);
153
+ * ```
154
+ *
155
+ * @example Block Update and Synchronization
156
+ * ```typescript
157
+ * const block = logStream.currentBlock;
158
+ *
159
+ * if (block) {
160
+ * // Update block metadata (typically done by stream management)
161
+ * const updatedOptions: LogBlockOptions = {
162
+ * ...block,
163
+ * endLineNum: block.endLineNum + 50,
164
+ * endTime: new Date(),
165
+ * lineCount: block.lineCount + 50
166
+ * };
167
+ *
168
+ * block.updateModel(updatedOptions);
169
+ *
170
+ * // Sync to get new lines
171
+ * await block.syncLines();
172
+ *
173
+ * console.log(`Block now has ${block.lines.length} lines loaded`);
174
+ * console.log(`Updated end time: ${block.endTime}`);
175
+ * }
176
+ * ```
177
+ *
178
+ * @group KOS Model
179
+ * @category Device Logging
180
+ * @useDeclaredType
181
+ *
182
+ * @see {@link LogStreamModel} - Parent stream model that contains log blocks
183
+ * @see {@link LogBlockContainerModel} - Container that manages multiple log blocks
184
+ * @see {@link LogBlockOptions} - Configuration options for log block instances
185
+ * @see {@link LogBlockType} - Type definition for block data exchange
186
+ * @see {@link LogLinesType} - Type definition for line data with block metadata
187
+ */
7
188
  export type LogBlockModel = PublicModelInterface<LogBlockModelImpl>;
189
+ /**
190
+ * @ignore
191
+ * @internal
192
+ */
8
193
  export declare class LogBlockModelImpl implements IKosDataModel, IKosIdentifiable {
9
194
  id: string;
10
195
  private logger;
@@ -1 +1 @@
1
- {"version":3,"file":"log-block-model.d.ts","sourceRoot":"","sources":["../../../../../../../packages/sdk/kos-ui-sdk/src/models/models/log-block/log-block-model.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,aAAa,EAEb,kBAAkB,EACnB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAGhE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,eAAO,MAAM,UAAU,oBAAoB,CAAC;AAE5C,MAAM,MAAM,aAAa,GAAG,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;AAEpE,qBACa,iBAAkB,YAAW,aAAa,EAAE,gBAAgB;IACvE,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,MAAM,CAAmB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,EAAE,IAAI,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,EAAE,CAAC;IAEhB,GAAG,EAAE,MAAM,CAAC;gBAEV,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE,kBAAkB;IAiBvB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAehC,WAAW,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;IAQ3C,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAS5C,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAG5B"}
1
+ {"version":3,"file":"log-block-model.d.ts","sourceRoot":"","sources":["../../../../../../../packages/sdk/kos-ui-sdk/src/models/models/log-block/log-block-model.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,aAAa,EAEb,kBAAkB,EACnB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAGhE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,eAAO,MAAM,UAAU,oBAAoB,CAAC;AAE5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoLG;AACH,MAAM,MAAM,aAAa,GAAG,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;AAEpE;;;GAGG;AACH,qBACa,iBAAkB,YAAW,aAAa,EAAE,gBAAgB;IACvE,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,MAAM,CAAmB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,EAAE,IAAI,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,EAAE,CAAC;IAEhB,GAAG,EAAE,MAAM,CAAC;gBAEV,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE,kBAAkB;IAiBvB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAehC,WAAW,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;IAQ3C,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAS5C,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAG5B"}
@@ -1,38 +1,167 @@
1
1
  // --------------- LogBlock ---------------
2
2
 
3
+ /**
4
+ * Configuration options for LogBlock model instances.
5
+ *
6
+ * These options define the metadata and boundaries for a log block, including
7
+ * line numbering, timing information, and stream identification. Used when
8
+ * creating new log blocks or updating existing block metadata.
9
+ *
10
+ * @example Basic Configuration
11
+ * ```typescript
12
+ * const blockOptions: LogBlockOptions = {
13
+ * nodeId: 'primary',
14
+ * stream: 'application-logs',
15
+ * blockNum: 5,
16
+ * startLineNum: 401,
17
+ * endLineNum: 500,
18
+ * startTime: new Date('2024-01-01T10:00:00Z'),
19
+ * endTime: new Date('2024-01-01T10:05:00Z'),
20
+ * lineCount: 100
21
+ * };
22
+ *
23
+ * const logBlock = LogBlock.instance('app-block-5')
24
+ * .options(blockOptions)
25
+ * .build();
26
+ * ```
27
+ *
28
+ * @group KOS Model
29
+ * @category Device Logging
30
+ */
3
31
  export interface LogBlockOptions {
32
+ /**
33
+ * Node identifier where the log block originates.
34
+ *
35
+ * Specifies which KOS device node contains this log block.
36
+ * Used for routing and organization in multi-node environments.
37
+ */
4
38
  nodeId: string;
39
+
40
+ /**
41
+ * Name of the log stream this block belongs to.
42
+ *
43
+ * Identifies the parent stream that contains this block.
44
+ * Used for organization and cross-referencing with LogStreamModel.
45
+ */
5
46
  stream: string;
47
+
48
+ /**
49
+ * Sequential block number within the stream.
50
+ *
51
+ * Used for ordering blocks chronologically within a stream.
52
+ * Blocks are automatically sorted by this number in containers.
53
+ */
6
54
  blockNum: number;
55
+
56
+ /**
57
+ * Global line number where this block starts.
58
+ *
59
+ * The first line number in this block relative to the entire stream.
60
+ * Used for accurate line numbering across the complete log stream.
61
+ */
7
62
  startLineNum: number;
63
+
64
+ /**
65
+ * Global line number where this block ends.
66
+ *
67
+ * The last line number in this block relative to the entire stream.
68
+ * Used with startLineNum to define the block's line range.
69
+ */
8
70
  endLineNum: number;
71
+
72
+ /**
73
+ * Timestamp when this log block period began.
74
+ *
75
+ * Used for time-based filtering and analysis of log blocks.
76
+ */
9
77
  startTime: Date;
78
+
79
+ /**
80
+ * Timestamp when this log block period ended.
81
+ *
82
+ * Used with startTime to define the temporal range of the block.
83
+ */
10
84
  endTime: Date;
85
+
86
+ /**
87
+ * Total number of log lines in this block.
88
+ *
89
+ * Should equal (endLineNum - startLineNum + 1). Used for
90
+ * validation and progress tracking during block loading.
91
+ */
11
92
  lineCount: number;
12
93
  }
13
94
 
14
95
  // --------------- LogBlockContainer ---------------
96
+
97
+ /**
98
+ * Configuration options for LogBlockContainer model instances.
99
+ *
100
+ * Currently an empty interface but reserved for future container-level
101
+ * configuration options such as block sorting preferences, memory limits,
102
+ * or automatic cleanup policies.
103
+ *
104
+ * @group KOS Model
105
+ * @category Device Logging
106
+ */
107
+ // eslint-disable-next-line @typescript-eslint/no-empty-interface
15
108
  export interface LogBlockContainerOptions {}
16
109
 
110
+ /**
111
+ * Data exchange format for log block information from KOS topics.
112
+ *
113
+ * Used in topic handlers for log block events, representing block metadata
114
+ * as received from the KOS system. Similar to LogBlockOptions but uses
115
+ * timestamp numbers instead of Date objects for serialization efficiency.
116
+ *
117
+ * @group KOS Model
118
+ * @category Device Logging
119
+ */
17
120
  export interface LogBlockType {
121
+ /** Node identifier where the log block originates */
18
122
  nodeId: string;
123
+ /** Name of the log stream this block belongs to */
19
124
  stream: string;
125
+ /** Sequential block number within the stream */
20
126
  blockNum: number;
127
+ /** Global line number where this block starts */
21
128
  startLineNum: number;
129
+ /** Global line number where this block ends */
22
130
  endLineNum: number;
131
+ /** Timestamp when this log block period began (milliseconds since epoch) */
23
132
  startTime: number;
133
+ /** Timestamp when this log block period ended (milliseconds since epoch) */
24
134
  endTime: number;
135
+ /** Total number of log lines in this block */
25
136
  lineCount: number;
26
137
  }
27
138
 
139
+ /**
140
+ * Data exchange format for log lines with block metadata from KOS topics.
141
+ *
142
+ * Used in topic handlers for log line events, containing both the actual
143
+ * log lines and the block metadata. Extends LogBlockType with the lines array.
144
+ *
145
+ * @group KOS Model
146
+ * @category Device Logging
147
+ */
28
148
  export interface LogLinesType {
149
+ /** Node identifier where the log block originates */
29
150
  nodeId: string;
151
+ /** Name of the log stream this block belongs to */
30
152
  stream: string;
153
+ /** Sequential block number within the stream */
31
154
  blockNum: number;
155
+ /** Global line number where this block starts */
32
156
  startLineNum: number;
157
+ /** Global line number where this block ends */
33
158
  endLineNum: number;
159
+ /** Timestamp when this log block period began (milliseconds since epoch) */
34
160
  startTime: number;
161
+ /** Timestamp when this log block period ended (milliseconds since epoch) */
35
162
  endTime: number;
163
+ /** Total number of log lines in this block */
36
164
  lineCount: number;
165
+ /** Array of actual log line strings */
37
166
  lines: string[];
38
167
  }
@@ -1,7 +1,11 @@
1
+ export type { LogStreamContainerModel } from './log-stream-container-model';
1
2
  export { LogStreamContainer } from './log-stream-container-registration';
3
+ export type { LogStreamModel } from './log-stream-model';
2
4
  export { LogStream } from './log-stream-registration';
3
5
  export type * from './types';
4
- export type { LogStreamModel } from './log-stream-model';
5
- export type { LogStreamContainerModel } from './log-stream-container-model';
6
+ /**
7
+ * @group KOS Model
8
+ * @category Device Logging
9
+ */
6
10
  export * as LogStreamServices from './services';
7
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../packages/sdk/kos-ui-sdk/src/models/models/log-stream/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,mBAAmB,SAAS,CAAC;AAC7B,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,YAAY,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,KAAK,iBAAiB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../packages/sdk/kos-ui-sdk/src/models/models/log-stream/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,mBAAmB,SAAS,CAAC;AAC7B;;;GAGG;AACH,OAAO,KAAK,iBAAiB,MAAM,YAAY,CAAC"}
@@ -7,11 +7,67 @@ import { IKosDataModel, KosCreationContext } from '../../../core/core/kosModel';
7
7
  import { IKosModelContainer } from '../../../core/core/kos-container-model';
8
8
 
9
9
  export declare const MODEL_TYPE = "log-stream-container-model";
10
+ /**
11
+ * Log Stream Container Model - Manages multiple log streams with real-time topic-based synchronization.
12
+ *
13
+ * This container model manages multiple LogStreamModel instances and handles real-time log events
14
+ * from the KOS system. It provides centralized management of log streams, automatic stream discovery,
15
+ * and coordinated event handling for efficient log processing across multiple sources.
16
+ *
17
+ * ## Topic-Based Reactivity
18
+ * The container listens to these KOS topics for real-time log management:
19
+ * - **`/kos/logs/subscription/addBlock/*`** - Fired when new log blocks are created
20
+ * - **`/kos/logs/subscription/updateBlock/*`** - Fired when existing log blocks are updated
21
+ * - **`/kos/logs/subscription/removeBlock/*`** - Fired when log blocks are removed
22
+ * - **`/kos/logs/subscription/lines/*`** - Fired when new log lines are added to blocks
23
+ * - **`/kos/logs/streams/add/*`** - Fired when new log streams are discovered
24
+ *
25
+ * ## Key Features
26
+ * - **Multi-stream Management** - Handle multiple log streams simultaneously
27
+ * - **Automatic Stream Discovery** - Automatically add new streams as they become available
28
+ * - **Topic-based Synchronization** - Real-time updates via KOS event system
29
+ * - **Stream Selection** - Track currently selected stream for UI purposes
30
+ * - **Block Management** - Coordinate block updates across all managed streams
31
+ *
32
+ * ## Common Use Cases
33
+ * - **Log Dashboard** - Central management of multiple log sources
34
+ * - **System Monitoring** - Monitor logs from all system components
35
+ * - **Debugging Interface** - Switch between different log streams during troubleshooting
36
+ * - **Log Aggregation** - Collect and manage logs from distributed sources
37
+ *
38
+ * @example Basic Usage
39
+ * ```typescript
40
+ * const logContainer = LogStreamContainer.instance('main-logger')
41
+ * .options({})
42
+ * .build();
43
+ *
44
+ * // Subscribe to and manage multiple streams
45
+ * await logContainer.subscribeToLogStream('application-logs');
46
+ * const appStream = logContainer.getModel('application-logs');
47
+ * logContainer.updateSelectedStream(appStream);
48
+ * ```
49
+ *
50
+ * @group KOS Model
51
+ * @category Device Logging
52
+ * @interface
53
+ * @useDeclaredType
54
+ *
55
+ * @see {@link LogStreamModel} - Individual log stream management
56
+ * @see {@link LogStreamContainerOptions} - Configuration options for the container
57
+ */
10
58
  export type LogStreamContainerModel = PublicModelInterface<LogStreamContainerModelImpl>;
59
+ /**
60
+ * @ignore
61
+ * @internal
62
+ */
11
63
  export declare class LogStreamContainerModelImpl implements IKosIdentifiable, IKosModelHolder<LogStreamModel>, IKosDataModel {
64
+ /** Unique identifier for the container model instance */
12
65
  id: string;
66
+ /** Context logger for debugging log stream operations */
13
67
  private logger;
68
+ /** Currently selected log stream for UI display purposes */
14
69
  selectedStream?: LogStreamModel;
70
+ /** Container for managing LogStream model instances */
15
71
  private _models;
16
72
  constructor(modelId: string, options: LogStreamContainerOptions, context: KosCreationContext);
17
73
  getModel(id: string): LogStreamModel | undefined;
@@ -28,8 +84,14 @@ export declare class LogStreamContainerModelImpl implements IKosIdentifiable, IK
28
84
  handleRemoveBlock(data: LogBlockType, payload: any): void;
29
85
  handleUpdateBlock(data: LogBlockType, payload: any): void;
30
86
  handleLogLine(data: LogLinesType, payload: any): void;
87
+ /**
88
+ * @internal
89
+ */
31
90
  init(): Promise<void>;
32
91
  subscribeToLogStream(stream: string): Promise<void>;
92
+ /**
93
+ * @internal
94
+ */
33
95
  load(): Promise<void>;
34
96
  }
35
97
  //# sourceMappingURL=log-stream-container-model.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"log-stream-container-model.d.ts","sourceRoot":"","sources":["../../../../../../../packages/sdk/kos-ui-sdk/src/models/models/log-stream/log-stream-container-model.ts"],"names":[],"mappings":"AAKA,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,wCAAwC,CAAC;AAChD,OAAO,KAAK,EACV,aAAa,EAEb,kBAAkB,EACnB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EACV,eAAe,EACf,oBAAoB,EACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGzD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAEzD,eAAO,MAAM,UAAU,+BAA+B,CAAC;AAEvD,MAAM,MAAM,uBAAuB,GACjC,oBAAoB,CAAC,2BAA2B,CAAC,CAAC;AAOpD,qBACa,2BACX,YAAW,gBAAgB,EAAE,eAAe,CAAC,cAAc,CAAC,EAAE,aAAa;IAE3E,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,MAAM,CAAmB;IACjC,cAAc,CAAC,EAAE,cAAc,CAAC;IACtB,OAAO,CAAC,OAAO,CAAqC;gBAE5D,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,yBAAyB,EAClC,OAAO,EAAE,kBAAkB;IAW7B,QAAQ,CAAC,EAAE,EAAE,MAAM;IAGnB,IAAI,MAAM,uCAET;IACD,IAAI,IAAI,qBAEP;IAED,WAAW,CAAC,QAAQ,EAAE,yBAAyB,GAAG,IAAI;IAItD,QAAQ,CAAC,KAAK,EAAE,cAAc;IAI9B,WAAW,CAAC,EAAE,EAAE,MAAM;IAKtB,oBAAoB,CAAC,MAAM,CAAC,EAAE,cAAc;IAQ5C,iBAAiB,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE;IAgB1C,cAAc,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,KAAA;IAa1C,iBAAiB,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,KAAA;IAa7C,iBAAiB,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,KAAA;IAa7C,aAAa,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,KAAA;IAQnC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWnD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAqB5B"}
1
+ {"version":3,"file":"log-stream-container-model.d.ts","sourceRoot":"","sources":["../../../../../../../packages/sdk/kos-ui-sdk/src/models/models/log-stream/log-stream-container-model.ts"],"names":[],"mappings":"AAKA,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,wCAAwC,CAAC;AAChD,OAAO,KAAK,EACV,aAAa,EAEb,kBAAkB,EACnB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EACV,eAAe,EACf,oBAAoB,EACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGzD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAEzD,eAAO,MAAM,UAAU,+BAA+B,CAAC;AAEvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,MAAM,MAAM,uBAAuB,GACjC,oBAAoB,CAAC,2BAA2B,CAAC,CAAC;AAQpD;;;GAGG;AACH,qBACa,2BACX,YAAW,gBAAgB,EAAE,eAAe,CAAC,cAAc,CAAC,EAAE,aAAa;IAE3E,yDAAyD;IACzD,EAAE,EAAE,MAAM,CAAC;IACX,yDAAyD;IACzD,OAAO,CAAC,MAAM,CAAmB;IACjC,4DAA4D;IAC5D,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,uDAAuD;IAC7C,OAAO,CAAC,OAAO,CAAqC;gBAE5D,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,yBAAyB,EAClC,OAAO,EAAE,kBAAkB;IAW7B,QAAQ,CAAC,EAAE,EAAE,MAAM;IAGnB,IAAI,MAAM,uCAET;IACD,IAAI,IAAI,qBAEP;IAED,WAAW,CAAC,QAAQ,EAAE,yBAAyB,GAAG,IAAI;IAItD,QAAQ,CAAC,KAAK,EAAE,cAAc;IAI9B,WAAW,CAAC,EAAE,EAAE,MAAM;IAKtB,oBAAoB,CAAC,MAAM,CAAC,EAAE,cAAc;IAQ5C,iBAAiB,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE;IAgB1C,cAAc,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,KAAA;IAa1C,iBAAiB,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,KAAA;IAa7C,iBAAiB,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,KAAA;IAa7C,aAAa,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,KAAA;IAQzC;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWzD;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAqB5B"}
@@ -5,7 +5,56 @@ import { IKosIdentifiable } from '../../../core/core/types';
5
5
  import { IKosDataModel, IKosVisitor, KosCreationContext } from '../../../core/core/kosModel';
6
6
 
7
7
  export declare const MODEL_TYPE = "log-stream-model";
8
+ /**
9
+ * Log Stream Model - Real-time streaming log viewer with efficient block-based management and async iteration.
10
+ *
11
+ * This model provides high-performance log streaming capabilities for monitoring KOS device logs in real-time.
12
+ * It organizes log data into efficient blocks for memory management and provides async iterator support
13
+ * for continuous log consumption. Essential for debugging, monitoring, and troubleshooting KOS applications.
14
+ *
15
+ * ## Key Features
16
+ * - **Real-time Log Streaming** - Live log updates as they are generated on the device
17
+ * - **Block-based Management** - Efficient memory usage through log block organization
18
+ * - **Async Iterator Support** - Stream logs using modern async/await patterns
19
+ * - **Subscription Control** - Subscribe/unsubscribe to specific log streams
20
+ * - **Line Number Tracking** - Maintains accurate line numbering across blocks
21
+ * - **Multi-stream Support** - Handle multiple log streams simultaneously through container model
22
+ *
23
+ * ## Common Use Cases
24
+ * - **Development Debugging** - Monitor application logs during development
25
+ * - **Production Monitoring** - Track system health and errors in deployed applications
26
+ * - **Troubleshooting** - Analyze log patterns to diagnose issues
27
+ * - **Log Analysis** - Process log streams for metrics and insights
28
+ * - **Real-time Dashboards** - Display live log feeds in monitoring interfaces
29
+ * - **Automated Log Processing** - Stream logs to external analysis tools
30
+ *
31
+ * @interface
32
+ * @example Basic Usage
33
+ * ```typescript
34
+ * const logStream = LogStream.instance('application-logs')
35
+ * .options({ name: 'application-logs', nodeId: 'primary' })
36
+ * .build();
37
+ *
38
+ * await logStream.subscribe();
39
+ * const iterator = logStream.start();
40
+ * for await (const logLine of iterator) {
41
+ * console.log(`[LOG] ${logLine}`);
42
+ * }
43
+ * ```
44
+ *
45
+ * @group KOS Model
46
+ * @category Device Logging
47
+ * @useDeclaredType
48
+ *
49
+ * @see {@link LogStreamOptions} - Configuration options for log stream instances
50
+ * @see {@link LogStreamContainerModel} - Container model for managing multiple streams
51
+ * @see {@link LogBlockModel} - Individual log block management within streams
52
+ */
8
53
  export type LogStreamModel = PublicModelInterface<LogStreamModelImpl>;
54
+ /**
55
+ * @ignore
56
+ * @internal
57
+ */
9
58
  export declare class LogStreamModelImpl implements IKosDataModel, IKosIdentifiable {
10
59
  id: string;
11
60
  private logger;
@@ -27,7 +76,13 @@ export declare class LogStreamModelImpl implements IKosDataModel, IKosIdentifiab
27
76
  subscribe(): Promise<void>;
28
77
  unsubscribe(): Promise<void>;
29
78
  reset(): Promise<void>;
79
+ /**
80
+ * @internal
81
+ */
30
82
  init(): Promise<void>;
83
+ /**
84
+ * @internal
85
+ */
31
86
  load(): Promise<void>;
32
87
  private generatorInstance?;
33
88
  private shouldStop;
@@ -1 +1 @@
1
- {"version":3,"file":"log-stream-model.d.ts","sourceRoot":"","sources":["../../../../../../../packages/sdk/kos-ui-sdk/src/models/models/log-stream/log-stream-model.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,aAAa,EACb,WAAW,EAEX,kBAAkB,EACnB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAKL,KAAK,YAAY,EAClB,MAAM,cAAc,CAAC;AAOtB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD,eAAO,MAAM,UAAU,qBAAqB,CAAC;AAE7C,MAAM,MAAM,cAAc,GAAG,oBAAoB,CAAC,kBAAkB,CAAC,CAAC;AAEtE,qBACa,kBAAmB,YAAW,aAAa,EAAE,gBAAgB;IACxE,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,MAAM,CAAmB;IACjC,MAAM,EAAE,MAAM,CAAC;IAEf,OAAO,CAAC,OAAO,CAAyB;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,OAAO,CAAC;gBAEnB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,gBAAgB,EACzB,OAAO,EAAE,kBAAkB;IAa7B,IAAI,YAAY,WAGf;IACD,IAAI,YAAY,qDAIf;IAED,IAAI,SAAS,2CAEZ;IACD,IAAI,MAAM,2CAET;IAED,IAAI,cAAc,WAEjB;IAED,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,aAAa,CAAC;IAI1C,WAAW,CAAC,SAAS,EAAE,YAAY;IAgCnC,QAAQ,CAAC,SAAS,EAAE,YAAY;IAwBhC,WAAW,CAAC,QAAQ,EAAE,MAAM;IAGtB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAI1B,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAK5B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAiBtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAyB3B,OAAO,CAAC,iBAAiB,CAAC,CAAqC;IAC/D,OAAO,CAAC,UAAU,CAAS;IAE3B,KAAK;IAML,IAAI;IAKG,UAAU,IAAI,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC;CAiExD"}
1
+ {"version":3,"file":"log-stream-model.d.ts","sourceRoot":"","sources":["../../../../../../../packages/sdk/kos-ui-sdk/src/models/models/log-stream/log-stream-model.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,aAAa,EACb,WAAW,EAEX,kBAAkB,EACnB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAKL,KAAK,YAAY,EAClB,MAAM,cAAc,CAAC;AAOtB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD,eAAO,MAAM,UAAU,qBAAqB,CAAC;AAE7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,MAAM,MAAM,cAAc,GAAG,oBAAoB,CAAC,kBAAkB,CAAC,CAAC;AACtE;;;GAGG;AACH,qBACa,kBAAmB,YAAW,aAAa,EAAE,gBAAgB;IACxE,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,MAAM,CAAmB;IACjC,MAAM,EAAE,MAAM,CAAC;IAEf,OAAO,CAAC,OAAO,CAAyB;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,OAAO,CAAC;gBAEnB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,gBAAgB,EACzB,OAAO,EAAE,kBAAkB;IAa7B,IAAI,YAAY,WAGf;IACD,IAAI,YAAY,qDAIf;IAED,IAAI,SAAS,2CAEZ;IACD,IAAI,MAAM,2CAET;IAED,IAAI,cAAc,WAEjB;IAED,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,aAAa,CAAC;IAI1C,WAAW,CAAC,SAAS,EAAE,YAAY;IAgCnC,QAAQ,CAAC,SAAS,EAAE,YAAY;IAwBhC,WAAW,CAAC,QAAQ,EAAE,MAAM;IAGtB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAI1B,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAK5B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAiB5B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAyB3B,OAAO,CAAC,iBAAiB,CAAC,CAAqC;IAC/D,OAAO,CAAC,UAAU,CAAS;IAE3B,KAAK;IAML,IAAI;IAKG,UAAU,IAAI,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC;CAgExD"}
@@ -7,7 +7,8 @@ declare const SERVICE_PATH: ApiPath;
7
7
  export type LogStreamContainerClientResponse = ClientResponse<KosApi, typeof SERVICE_PATH, "get">;
8
8
  export type LogStreamContainerResponse = DeepRequired<ElementType<LogStreamContainerClientResponse>>;
9
9
  /**
10
- * @category Service
10
+ * @group KOS Model
11
+ * @category Device Logging
11
12
  * Retrieves the initial list of log-stream-container data.
12
13
  */
13
14
  export declare const getLogStreams: () => Promise<ServiceResponse<LogStreamContainerClientResponse>>;
@@ -1 +1 @@
1
- {"version":3,"file":"log-stream-services.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/sdk/kos-ui-sdk/src/models/models/log-stream/services/log-stream-services.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,eAAe,EACrB,MAAM,kBAAkB,CAAC;AAE1B,OAAY,EAAE,KAAK,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAOpD,eAAO,MAAM,kBAAkB,QAAO,MAAM,GAAG,SAQ9C,CAAC;AAIF,QAAA,MAAM,YAAY,EAAE,OAA+C,CAAC;AACpE,MAAM,MAAM,gCAAgC,GAAG,cAAc,CAC3D,MAAM,EACN,OAAO,YAAY,EACnB,KAAK,CACN,CAAC;AACF,MAAM,MAAM,0BAA0B,GAAG,YAAY,CACnD,WAAW,CAAC,gCAAgC,CAAC,CAC9C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa,QAAa,QACrC,gBAAgB,gCAAgC,CAAC,CAclD,CAAC;AAEF,eAAO,MAAM,oBAAoB,WACvB,MAAM,sBAEb,QAAQ,IAAI,CAcd,CAAC;AAEF,eAAO,MAAM,wBAAwB,WAC3B,MAAM,KACb,QAAQ,IAAI,CASd,CAAC;AAEF,eAAO,MAAM,cAAc,QAAa,QAAQ,IAAI,CAcnD,CAAC;AAEF,QAAA,MAAM,mBAAmB,EAAE,OACoB,CAAC;AAChD,MAAM,MAAM,6BAA6B,GAAG,cAAc,CACxD,MAAM,EACN,OAAO,mBAAmB,EAC1B,KAAK,CACN,CAAC;AAEF,eAAO,MAAM,kBAAkB,WACrB,MAAM,KACb,QAAQ,gBAAgB,6BAA6B,CAAC,CAcxD,CAAC;AAEF,eAAO,MAAM,iBAAiB,WACpB,MAAM,WACL,MAAM,KACd,QAAQ,gBAAgB,YAAY,CAAC,CAevC,CAAC"}
1
+ {"version":3,"file":"log-stream-services.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/sdk/kos-ui-sdk/src/models/models/log-stream/services/log-stream-services.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,eAAe,EACrB,MAAM,kBAAkB,CAAC;AAE1B,OAAY,EAAE,KAAK,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAOpD,eAAO,MAAM,kBAAkB,QAAO,MAAM,GAAG,SAQ9C,CAAC;AAIF,QAAA,MAAM,YAAY,EAAE,OAA+C,CAAC;AACpE,MAAM,MAAM,gCAAgC,GAAG,cAAc,CAC3D,MAAM,EACN,OAAO,YAAY,EACnB,KAAK,CACN,CAAC;AACF,MAAM,MAAM,0BAA0B,GAAG,YAAY,CACnD,WAAW,CAAC,gCAAgC,CAAC,CAC9C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,QAAa,QACrC,gBAAgB,gCAAgC,CAAC,CAclD,CAAC;AAEF,eAAO,MAAM,oBAAoB,WACvB,MAAM,sBAEb,QAAQ,IAAI,CAcd,CAAC;AAEF,eAAO,MAAM,wBAAwB,WAC3B,MAAM,KACb,QAAQ,IAAI,CASd,CAAC;AAEF,eAAO,MAAM,cAAc,QAAa,QAAQ,IAAI,CAcnD,CAAC;AAEF,QAAA,MAAM,mBAAmB,EAAE,OACoB,CAAC;AAChD,MAAM,MAAM,6BAA6B,GAAG,cAAc,CACxD,MAAM,EACN,OAAO,mBAAmB,EAC1B,KAAK,CACN,CAAC;AAEF,eAAO,MAAM,kBAAkB,WACrB,MAAM,KACb,QAAQ,gBAAgB,6BAA6B,CAAC,CAcxD,CAAC;AAEF,eAAO,MAAM,iBAAiB,WACpB,MAAM,WACL,MAAM,KACd,QAAQ,gBAAgB,YAAY,CAAC,CAevC,CAAC"}
@@ -1,9 +1,86 @@
1
1
  // --------------- LogStream ---------------
2
2
 
3
+ /**
4
+ * Configuration options for LogStream model instances.
5
+ *
6
+ * These options specify the log stream identity and source location for connecting
7
+ * to specific log streams on KOS devices.
8
+ *
9
+ * @example Basic Log Stream Configuration
10
+ * ```typescript
11
+ * const options: LogStreamOptions = {
12
+ * name: 'application-logs',
13
+ * nodeId: 'primary'
14
+ * };
15
+ *
16
+ * const logStream = LogStream.instance('app-logger')
17
+ * .options(options)
18
+ * .build();
19
+ * ```
20
+ *
21
+ * @example Multiple Stream Types
22
+ * ```typescript
23
+ * // System logs from primary node
24
+ * const systemLogs = LogStream.instance('system')
25
+ * .options({ name: 'system-logs', nodeId: 'primary' })
26
+ * .build();
27
+ *
28
+ * // Error logs from secondary node
29
+ * const errorLogs = LogStream.instance('errors')
30
+ * .options({ name: 'error-logs', nodeId: 'secondary' })
31
+ * .build();
32
+ *
33
+ * // Debug logs from development node
34
+ * const debugLogs = LogStream.instance('debug')
35
+ * .options({ name: 'debug-logs', nodeId: 'dev-node' })
36
+ * .build();
37
+ * ```
38
+ *
39
+ * @group KOS Model
40
+ * @category Device Logging
41
+ */
3
42
  export interface LogStreamOptions {
43
+ /**
44
+ * Name of the log stream to connect to.
45
+ *
46
+ * This should match the log stream name available on the target device.
47
+ * Common stream names include 'application-logs', 'system-logs', 'error-logs'.
48
+ */
4
49
  name: string;
50
+
51
+ /**
52
+ * Node identifier where the log stream is located.
53
+ *
54
+ * Specifies which KOS device node contains the target log stream.
55
+ * Typically 'primary' for main device logs, but can be any valid node ID.
56
+ *
57
+ * @default 'primary'
58
+ */
5
59
  nodeId: string;
6
60
  }
7
61
 
8
62
  // --------------- LogStreamContainer ---------------
63
+
64
+ /**
65
+ * Configuration options for LogStreamContainer model instances.
66
+ *
67
+ * Currently an empty interface but reserved for future container-level
68
+ * configuration options such as stream filtering, automatic discovery settings,
69
+ * or performance tuning parameters.
70
+ *
71
+ * @example Basic Container Configuration
72
+ * ```typescript
73
+ * const options: LogStreamContainerOptions = {
74
+ * // Future options will be added here
75
+ * };
76
+ *
77
+ * const container = LogStreamContainer.instance('log-manager')
78
+ * .options(options)
79
+ * .build();
80
+ * ```
81
+ *
82
+ * @category Model Configuration
83
+ * @category Data Persistence
84
+ */
85
+ // eslint-disable-next-line @typescript-eslint/no-empty-interface
9
86
  export interface LogStreamContainerOptions {}