@infosel-sdk/markets 1.2.3 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (212) hide show
  1. package/CHANGELOG.md +281 -3
  2. package/README.md +111 -423
  3. package/package.json +1 -1
  4. package/src/__tests__/__mocks__/apis/markets-api.mock.d.ts +0 -73
  5. package/src/__tests__/__mocks__/apis/markets-api.mock.js +3 -45
  6. package/src/__tests__/__mocks__/apis/markets-api.mock.js.map +1 -1
  7. package/src/__tests__/utils/mock-datasource.js +0 -16
  8. package/src/__tests__/utils/mock-datasource.js.map +1 -1
  9. package/src/__tests__/utils/mock-factories.d.ts +0 -104
  10. package/src/__tests__/utils/mock-factories.js +6 -24
  11. package/src/__tests__/utils/mock-factories.js.map +1 -1
  12. package/src/__tests__/utils/mock-repository.d.ts +0 -12
  13. package/src/__tests__/utils/mock-repository.js +2 -46
  14. package/src/__tests__/utils/mock-repository.js.map +1 -1
  15. package/src/__tests__/utils/test-helpers.d.ts +0 -2
  16. package/src/__tests__/utils/test-helpers.js +0 -6
  17. package/src/__tests__/utils/test-helpers.js.map +1 -1
  18. package/src/data/datasources/markets_datasource_impl.d.ts +6 -49
  19. package/src/data/datasources/markets_datasource_impl.js +11 -661
  20. package/src/data/datasources/markets_datasource_impl.js.map +1 -1
  21. package/src/data/di/infosel_markets_component.d.ts +4 -51
  22. package/src/data/di/infosel_markets_component.js +11 -115
  23. package/src/data/di/infosel_markets_component.js.map +1 -1
  24. package/src/data/di/infosel_markets_module.d.ts +1 -4
  25. package/src/data/di/infosel_markets_module.js +1 -7
  26. package/src/data/di/infosel_markets_module.js.map +1 -1
  27. package/src/data/mappers/markets_mapper.d.ts +1 -41
  28. package/src/data/mappers/markets_mapper.js +17 -114
  29. package/src/data/mappers/markets_mapper.js.map +1 -1
  30. package/src/data/models/instrument_fields_model.d.ts +17 -0
  31. package/src/data/repositories/markets_repository_impl.d.ts +4 -42
  32. package/src/data/repositories/markets_repository_impl.js +0 -48
  33. package/src/data/repositories/markets_repository_impl.js.map +1 -1
  34. package/src/domain/datasources/markets_datasource.d.ts +4 -41
  35. package/src/domain/di/markets_component.d.ts +18 -35
  36. package/src/domain/di/markets_module.d.ts +1 -2
  37. package/src/domain/entities/get_last_request.d.ts +4 -0
  38. package/src/{data/models/user_model.js → domain/entities/get_last_request.js} +1 -1
  39. package/src/domain/entities/get_last_request.js.map +1 -0
  40. package/src/domain/entities/index.d.ts +0 -18
  41. package/src/domain/entities/index.js +0 -18
  42. package/src/domain/entities/index.js.map +1 -1
  43. package/src/domain/entities/instrument_fields.d.ts +17 -0
  44. package/src/domain/repositories/markets_repository.d.ts +4 -37
  45. package/src/domain/use_cases/get_instrument_fields_use_case.d.ts +3 -2
  46. package/src/domain/use_cases/get_instrument_fields_use_case.js.map +1 -1
  47. package/src/domain/use_cases/get_instrument_multiple_fields_use_case.d.ts +2 -1
  48. package/src/domain/use_cases/get_instrument_multiple_fields_use_case.js.map +1 -1
  49. package/src/index.d.ts +1 -4
  50. package/src/index.js +0 -2
  51. package/src/index.js.map +1 -1
  52. package/src/data/models/delete_workspace_response_model.d.ts +0 -5
  53. package/src/data/models/delete_workspace_response_model.js +0 -3
  54. package/src/data/models/delete_workspace_response_model.js.map +0 -1
  55. package/src/data/models/get_user_workspaces_response_model.d.ts +0 -13
  56. package/src/data/models/get_user_workspaces_response_model.js +0 -3
  57. package/src/data/models/get_user_workspaces_response_model.js.map +0 -1
  58. package/src/data/models/project_model.d.ts +0 -12
  59. package/src/data/models/project_model.js +0 -3
  60. package/src/data/models/project_model.js.map +0 -1
  61. package/src/data/models/project_widgets_response_model.d.ts +0 -8
  62. package/src/data/models/project_widgets_response_model.js +0 -3
  63. package/src/data/models/project_widgets_response_model.js.map +0 -1
  64. package/src/data/models/user_model.d.ts +0 -7
  65. package/src/data/models/user_model.js.map +0 -1
  66. package/src/data/models/widget_chart_configuration_model.d.ts +0 -4
  67. package/src/data/models/widget_chart_configuration_model.js +0 -3
  68. package/src/data/models/widget_chart_configuration_model.js.map +0 -1
  69. package/src/data/models/widget_dynamic_table_configuration.d.ts +0 -12
  70. package/src/data/models/widget_dynamic_table_configuration.js +0 -3
  71. package/src/data/models/widget_dynamic_table_configuration.js.map +0 -1
  72. package/src/data/models/widget_layout_model.d.ts +0 -6
  73. package/src/data/models/widget_layout_model.js +0 -3
  74. package/src/data/models/widget_layout_model.js.map +0 -1
  75. package/src/data/models/widget_model.d.ts +0 -19
  76. package/src/data/models/widget_model.js +0 -3
  77. package/src/data/models/widget_model.js.map +0 -1
  78. package/src/data/models/widget_size_model.d.ts +0 -9
  79. package/src/data/models/widget_size_model.js +0 -3
  80. package/src/data/models/widget_size_model.js.map +0 -1
  81. package/src/data/models/widget_table_column_format_model.d.ts +0 -6
  82. package/src/data/models/widget_table_column_format_model.js +0 -3
  83. package/src/data/models/widget_table_column_format_model.js.map +0 -1
  84. package/src/data/models/widget_table_column_model.d.ts +0 -8
  85. package/src/data/models/widget_table_column_model.js +0 -3
  86. package/src/data/models/widget_table_column_model.js.map +0 -1
  87. package/src/data/models/widget_ticker_configuration.d.ts +0 -7
  88. package/src/data/models/widget_ticker_configuration.js +0 -3
  89. package/src/data/models/widget_ticker_configuration.js.map +0 -1
  90. package/src/data/models/workspace_model.d.ts +0 -6
  91. package/src/data/models/workspace_model.js +0 -3
  92. package/src/data/models/workspace_model.js.map +0 -1
  93. package/src/domain/entities/chart_configuration.d.ts +0 -5
  94. package/src/domain/entities/chart_configuration.js +0 -3
  95. package/src/domain/entities/chart_configuration.js.map +0 -1
  96. package/src/domain/entities/create_instrument_request.d.ts +0 -5
  97. package/src/domain/entities/create_instrument_request.js +0 -3
  98. package/src/domain/entities/create_instrument_request.js.map +0 -1
  99. package/src/domain/entities/create_widget_request.d.ts +0 -30
  100. package/src/domain/entities/create_widget_request.js +0 -3
  101. package/src/domain/entities/create_widget_request.js.map +0 -1
  102. package/src/domain/entities/create_workspace_request.d.ts +0 -5
  103. package/src/domain/entities/create_workspace_request.js +0 -3
  104. package/src/domain/entities/create_workspace_request.js.map +0 -1
  105. package/src/domain/entities/delete_workspace_request.d.ts +0 -3
  106. package/src/domain/entities/delete_workspace_request.js +0 -3
  107. package/src/domain/entities/delete_workspace_request.js.map +0 -1
  108. package/src/domain/entities/duplicate_widget_request.d.ts +0 -5
  109. package/src/domain/entities/duplicate_widget_request.js +0 -3
  110. package/src/domain/entities/duplicate_widget_request.js.map +0 -1
  111. package/src/domain/entities/get_instruments_request.d.ts +0 -12
  112. package/src/domain/entities/get_instruments_request.js +0 -3
  113. package/src/domain/entities/get_instruments_request.js.map +0 -1
  114. package/src/domain/entities/get_project_widgets_request.d.ts +0 -12
  115. package/src/domain/entities/get_project_widgets_request.js +0 -3
  116. package/src/domain/entities/get_project_widgets_request.js.map +0 -1
  117. package/src/domain/entities/get_user_workspaces_request.d.ts +0 -4
  118. package/src/domain/entities/get_user_workspaces_request.js +0 -3
  119. package/src/domain/entities/get_user_workspaces_request.js.map +0 -1
  120. package/src/domain/entities/get_workspace_request.d.ts +0 -3
  121. package/src/domain/entities/get_workspace_request.js +0 -3
  122. package/src/domain/entities/get_workspace_request.js.map +0 -1
  123. package/src/domain/entities/get_workspaces_by_user_request.d.ts +0 -12
  124. package/src/domain/entities/get_workspaces_by_user_request.js +0 -3
  125. package/src/domain/entities/get_workspaces_by_user_request.js.map +0 -1
  126. package/src/domain/entities/get_workspaces_request.d.ts +0 -12
  127. package/src/domain/entities/get_workspaces_request.js +0 -3
  128. package/src/domain/entities/get_workspaces_request.js.map +0 -1
  129. package/src/domain/entities/instruments_response.d.ts +0 -6
  130. package/src/domain/entities/instruments_response.js +0 -3
  131. package/src/domain/entities/instruments_response.js.map +0 -1
  132. package/src/domain/entities/news_configuration.d.ts +0 -8
  133. package/src/domain/entities/news_configuration.js +0 -3
  134. package/src/domain/entities/news_configuration.js.map +0 -1
  135. package/src/domain/entities/project_widgets_container.d.ts +0 -12
  136. package/src/domain/entities/project_widgets_container.js +0 -3
  137. package/src/domain/entities/project_widgets_container.js.map +0 -1
  138. package/src/domain/entities/update_widget_chart_request.d.ts +0 -4
  139. package/src/domain/entities/update_widget_chart_request.js +0 -3
  140. package/src/domain/entities/update_widget_chart_request.js.map +0 -1
  141. package/src/domain/entities/update_widget_instruments_reques.d.ts +0 -11
  142. package/src/domain/entities/update_widget_instruments_reques.js +0 -3
  143. package/src/domain/entities/update_widget_instruments_reques.js.map +0 -1
  144. package/src/domain/entities/update_workspace_request.d.ts +0 -5
  145. package/src/domain/entities/update_workspace_request.js +0 -3
  146. package/src/domain/entities/update_workspace_request.js.map +0 -1
  147. package/src/domain/entities/user_workspaces.d.ts +0 -8
  148. package/src/domain/entities/user_workspaces.js +0 -3
  149. package/src/domain/entities/user_workspaces.js.map +0 -1
  150. package/src/domain/entities/widget.d.ts +0 -66
  151. package/src/domain/entities/widget.js +0 -3
  152. package/src/domain/entities/widget.js.map +0 -1
  153. package/src/domain/entities/widget_size_config.d.ts +0 -13
  154. package/src/domain/entities/widget_size_config.js +0 -3
  155. package/src/domain/entities/widget_size_config.js.map +0 -1
  156. package/src/domain/entities/workspace.d.ts +0 -5
  157. package/src/domain/entities/workspace.js +0 -3
  158. package/src/domain/entities/workspace.js.map +0 -1
  159. package/src/domain/entities/workspace_widgets.d.ts +0 -6
  160. package/src/domain/entities/workspace_widgets.js +0 -3
  161. package/src/domain/entities/workspace_widgets.js.map +0 -1
  162. package/src/domain/entities/workspaces_container.d.ts +0 -18
  163. package/src/domain/entities/workspaces_container.js +0 -3
  164. package/src/domain/entities/workspaces_container.js.map +0 -1
  165. package/src/domain/use_cases/create_instrument_use_case.d.ts +0 -9
  166. package/src/domain/use_cases/create_instrument_use_case.js +0 -22
  167. package/src/domain/use_cases/create_instrument_use_case.js.map +0 -1
  168. package/src/domain/use_cases/create_widget_use_case.d.ts +0 -9
  169. package/src/domain/use_cases/create_widget_use_case.js +0 -22
  170. package/src/domain/use_cases/create_widget_use_case.js.map +0 -1
  171. package/src/domain/use_cases/create_workspace_use_case.d.ts +0 -9
  172. package/src/domain/use_cases/create_workspace_use_case.js +0 -22
  173. package/src/domain/use_cases/create_workspace_use_case.js.map +0 -1
  174. package/src/domain/use_cases/delete_instrument_use_case.d.ts +0 -7
  175. package/src/domain/use_cases/delete_instrument_use_case.js +0 -19
  176. package/src/domain/use_cases/delete_instrument_use_case.js.map +0 -1
  177. package/src/domain/use_cases/delete_widget_use_case.d.ts +0 -7
  178. package/src/domain/use_cases/delete_widget_use_case.js +0 -19
  179. package/src/domain/use_cases/delete_widget_use_case.js.map +0 -1
  180. package/src/domain/use_cases/delete_workspace_use_case.d.ts +0 -8
  181. package/src/domain/use_cases/delete_workspace_use_case.js +0 -22
  182. package/src/domain/use_cases/delete_workspace_use_case.js.map +0 -1
  183. package/src/domain/use_cases/duplicate_widget_use_case.d.ts +0 -8
  184. package/src/domain/use_cases/duplicate_widget_use_case.js +0 -15
  185. package/src/domain/use_cases/duplicate_widget_use_case.js.map +0 -1
  186. package/src/domain/use_cases/get_instruments_use_case.d.ts +0 -9
  187. package/src/domain/use_cases/get_instruments_use_case.js +0 -16
  188. package/src/domain/use_cases/get_instruments_use_case.js.map +0 -1
  189. package/src/domain/use_cases/get_project_widgets_use_case.d.ts +0 -9
  190. package/src/domain/use_cases/get_project_widgets_use_case.js +0 -19
  191. package/src/domain/use_cases/get_project_widgets_use_case.js.map +0 -1
  192. package/src/domain/use_cases/get_user_workspace_use_case.d.ts +0 -9
  193. package/src/domain/use_cases/get_user_workspace_use_case.js +0 -22
  194. package/src/domain/use_cases/get_user_workspace_use_case.js.map +0 -1
  195. package/src/domain/use_cases/get_workspace_use_case.d.ts +0 -9
  196. package/src/domain/use_cases/get_workspace_use_case.js +0 -19
  197. package/src/domain/use_cases/get_workspace_use_case.js.map +0 -1
  198. package/src/domain/use_cases/get_workspaces_by_user_use_case.d.ts +0 -9
  199. package/src/domain/use_cases/get_workspaces_by_user_use_case.js +0 -19
  200. package/src/domain/use_cases/get_workspaces_by_user_use_case.js.map +0 -1
  201. package/src/domain/use_cases/get_workspaces_use_case.d.ts +0 -9
  202. package/src/domain/use_cases/get_workspaces_use_case.js +0 -19
  203. package/src/domain/use_cases/get_workspaces_use_case.js.map +0 -1
  204. package/src/domain/use_cases/update_widget_chart_use_case.d.ts +0 -7
  205. package/src/domain/use_cases/update_widget_chart_use_case.js +0 -15
  206. package/src/domain/use_cases/update_widget_chart_use_case.js.map +0 -1
  207. package/src/domain/use_cases/update_widget_instruments_use_case.d.ts +0 -9
  208. package/src/domain/use_cases/update_widget_instruments_use_case.js +0 -22
  209. package/src/domain/use_cases/update_widget_instruments_use_case.js.map +0 -1
  210. package/src/domain/use_cases/update_workspace_use_case.d.ts +0 -8
  211. package/src/domain/use_cases/update_workspace_use_case.js +0 -15
  212. package/src/domain/use_cases/update_workspace_use_case.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -5,7 +5,285 @@ Todos los cambios notables en este proyecto serán documentados en este archivo.
5
5
  El formato está basado en [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  y este proyecto adhiere al [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
- ## [1.2.3] - latest - 2024-01-07
8
+ ## [2.0.0] - 2025-01-06
9
+
10
+ ### Removed
11
+
12
+ - 🗑️ **Migración de funcionalidades a @infosel-sdk/widgets**: Todas las funcionalidades relacionadas con widgets, workspaces e instruments han sido migradas al nuevo paquete @infosel-sdk/widgets para mejorar la separación de responsabilidades y mantenibilidad del código.
13
+
14
+ #### Casos de Uso Eliminados (19 casos de uso)
15
+
16
+ - 🎨 **createWidget**: Eliminado - Migrado a @infosel-sdk/widgets
17
+ - 🔄 **duplicateWidget**: Eliminado - Migrado a @infosel-sdk/widgets
18
+ - 🔧 **updateWidgetInstruments**: Eliminado - Migrado a @infosel-sdk/widgets
19
+ - 📊 **updateWidgetChart**: Eliminado - Migrado a @infosel-sdk/widgets
20
+ - 🗑️ **deleteWidget**: Eliminado - Migrado a @infosel-sdk/widgets
21
+ - 🏢 **createWorkspace**: Eliminado - Migrado a @infosel-sdk/widgets
22
+ - 🔄 **duplicateWorkspace**: Eliminado - Migrado a @infosel-sdk/widgets
23
+ - 🔧 **updateWorkspace**: Eliminado - Migrado a @infosel-sdk/widgets
24
+ - 🗑️ **deleteWorkspace**: Eliminado - Migrado a @infosel-sdk/widgets
25
+ - 📋 **getWorkspace**: Eliminado - Migrado a @infosel-sdk/widgets
26
+ - 📚 **getWorkspaces**: Eliminado - Migrado a @infosel-sdk/widgets
27
+ - 👤 **getWorkspacesByUser**: Eliminado - Migrado a @infosel-sdk/widgets
28
+ - 🏗️ **getWorkspacesByProjectId**: Eliminado - Migrado a @infosel-sdk/widgets
29
+ - 👥 **getUserWorkspaces**: Eliminado - Migrado a @infosel-sdk/widgets
30
+ - 👤 **getUserWidgets**: Eliminado - Migrado a @infosel-sdk/widgets
31
+ - 📦 **getProjectWidgets**: Eliminado - Migrado a @infosel-sdk/widgets
32
+ - ➕ **createInstrument**: Eliminado - Migrado a @infosel-sdk/widgets
33
+ - 🗑️ **deleteInstrument**: Eliminado - Migrado a @infosel-sdk/widgets
34
+ - 📊 **getInstruments**: Eliminado - Migrado a @infosel-sdk/widgets
35
+
36
+ #### Métodos de Repository Eliminados
37
+
38
+ - **MarketsRepository**: Removidos 18 métodos relacionados con widgets, workspaces e instruments:
39
+ - `createWidget()`, `duplicateWidget()`, `updateWidgetInstruments()`, `updateWidgetChart()`, `deleteWidget()`
40
+ - `createWorkspace()`, `updateWorkspace()`, `deleteWorkspace()`, `duplicateWorkspace()`
41
+ - `getWorkspace()`, `getWorkspaces()`, `getWorkspacesByUser()`, `getWorkspacesByProjectId()`, `getUserWorkspaces()`
42
+ - `getUserWidgets()`, `getProjectWidgets()`
43
+ - `createInstrument()`, `deleteInstrument()`, `getInstruments()`
44
+
45
+ #### Métodos de Datasource Eliminados
46
+
47
+ - **MarketsDatasource**: Removidos 18 métodos correspondientes a los del repository. Todas las implementaciones GraphQL relacionadas con widgets han sido eliminadas de `MarketsDatasourceImpl`.
48
+
49
+ #### Métodos de Mapper Eliminados
50
+
51
+ - **MarketsMapper**: Removidos 7 métodos de mapeo relacionados con widgets y workspaces:
52
+
53
+ - `mapWorkspaces()`: Mapeo de arrays de workspaces
54
+ - `mapWidgets()`: Mapeo de arrays de widgets
55
+ - `mapWidget()`: Mapeo individual de widgets con todas sus configuraciones
56
+ - `mapWidgetsContainer()`: Mapeo de contenedores de widgets organizados por workspace
57
+ - `mapInstrumentsContainer()`: Mapeo de contenedores de instrumentos organizados por widget
58
+ - `mapInstruments()`: Mapeo de arrays de instrumentos
59
+ - `mapTableColumns()`: Mapeo de columnas de tablas de widgets
60
+
61
+ - **Métodos mantenidos en MarketsMapper**: Solo se mantienen `parseInstrumentFields()` y `mapInstrumentFields()` que son específicos para funcionalidades de markets.
62
+
63
+ #### Entidades Eliminadas (24 entidades)
64
+
65
+ - **Widgets**: `widget.ts`, `create_widget_request.ts`, `duplicate_widget_request.ts`, `update_widget_chart_request.ts`, `update_widget_instruments_reques.ts`
66
+ - **Workspaces**: `workspace.ts`, `create_workspace_request.ts`, `update_workspace_request.ts`, `duplicate_workspace_request.ts`, `delete_workspace_request.ts`, `get_workspace_request.ts`, `get_workspaces_request.ts`, `get_workspaces_by_user_request.ts`, `get_user_workspaces_request.ts`
67
+ - **Instruments**: `instrument.ts`, `create_instrument_request.ts`, `get_instruments_request.ts`
68
+ - **Containers y Responses**: `workspaces_container.ts`, `project_widgets_container.ts`, `instruments_response.ts`, `user_widgets.ts`, `user_workspaces.ts`, `workspace_widgets.ts`
69
+ - **Configuraciones**: `widget_layout_config.ts`, `news_configuration.ts`, `chart_configuration.ts`
70
+
71
+ #### Configuración Eliminada
72
+
73
+ - ⚙️ **widgetsUrl removido de InfoselMarketsModule**: El módulo ya no requiere ni acepta `widgetsUrl` en su configuración. Solo mantiene `marketsUrl` y `securitiesUrl` para operaciones HTTP.
74
+
75
+ - 🔌 **GraphQlClient removido de MarketsDatasourceImpl**: `MarketsDatasourceImpl` ya no requiere `GraphQlClient` ya que todas las operaciones de widgets que usaban GraphQL han sido migradas. Ahora solo utiliza `HttpClient` para operaciones REST.
76
+
77
+ - 📦 **WidgetModel removido de exports**: El modelo `WidgetModel` ya no se exporta desde el paquete markets.
78
+
79
+ #### Tests Eliminados
80
+
81
+ - 🧪 **Tests de casos de uso**: Eliminados 19 archivos de test correspondientes a los casos de uso migrados
82
+ - 🧪 **Tests de mapper**: Eliminados tests de `mapWorkspaces`, `mapWidgets`, `mapWidget`, `mapWidgetsContainer`, `mapInstrumentsContainer`, `mapInstruments`, `mapTableColumns`
83
+ - 🧪 **Tests de datasource**: Eliminados tests de todos los métodos GraphQL relacionados con widgets, workspaces e instruments
84
+ - 🧪 **Tests de repository**: Eliminados tests de métodos relacionados con widgets, workspaces e instruments
85
+ - 🧪 **Mocks actualizados**: Removidos métodos mock relacionados con funcionalidades migradas
86
+
87
+ ### Changed
88
+
89
+ - 🔄 **Separación de responsabilidades**: Markets ahora se enfoca exclusivamente en funcionalidades de búsqueda y detalles de instrumentos financieros. El paquete ha sido simplificado para mantener solo:
90
+
91
+ - Búsqueda de instrumentos (`searchInstruments`)
92
+ - Obtención de campos de instrumentos (`getInstrumentFields`, `getInstrumentMultipleFields`)
93
+ - Detalles financieros de instrumentos (`getInstrumentDetailProfile`, `getInstrumentDetailFinancialReasons`, `getInstrumentDetailFinancialAnnual`, `getInstrumentDetailFinancialQuartely`, `getInstrumentReportFinancialReasons`)
94
+ - Datos de gráficos (`getChartData`)
95
+
96
+ - ⚙️ **Configuración simplificada**: `InfoselMarketsModule` ahora solo requiere `marketsUrl` y `securitiesUrl` (eliminado `widgetsUrl`). La configuración es más simple y enfocada en operaciones HTTP REST.
97
+
98
+ - 🏗️ **Arquitectura simplificada**: `MarketsDatasourceImpl` ahora solo utiliza `HttpClient` (eliminada dependencia de `GraphQlClient`). Todas las operaciones son peticiones HTTP REST a endpoints de markets y securities.
99
+
100
+ - 📦 **Exports simplificados**: El archivo `index.ts` ya no exporta entidades, modelos o tipos relacionados con widgets. Solo exporta funcionalidades de markets.
101
+
102
+ - 🧪 **Tests actualizados**: Todos los tests restantes han sido actualizados para reflejar la nueva estructura. Tests de `getInstrumentFields` y `searchInstruments` corregidos para usar `createMockMarketsRepository` en lugar de `createMockInstrumentRepository`.
103
+
104
+ ### Technical Details
105
+
106
+ - **HTTP Client exclusivo**: Todas las operaciones ahora utilizan `HttpClient` para peticiones REST. No hay dependencia de GraphQL en el paquete markets.
107
+
108
+ - **Endpoints mantenidos**:
109
+
110
+ - GET `/instruments/last` - Para obtener campos de instrumentos
111
+ - GET `/instruments` - Para búsqueda de instrumentos
112
+ - GET `/instruments/detail/profile` - Para perfil de instrumentos
113
+ - GET `/instruments/detail/financial/reasons` - Para razones financieras
114
+ - GET `/instruments/detail/financial/annual` - Para datos financieros anuales
115
+ - GET `/instruments/detail/financial/quarterly` - Para datos financieros trimestrales
116
+ - GET `/instruments/report/financial/reasons` - Para reportes financieros
117
+
118
+ - **Arquitectura Clean mantenida**: Separación clara entre capas de dominio y datos. Dependency Inversion preservado.
119
+
120
+ - **Type Safety**: TypeScript completo mantenido. Todas las interfaces y tipos actualizados para reflejar la nueva estructura.
121
+
122
+ ### Breaking Changes
123
+
124
+ - ⚠️ **Funcionalidades de widgets removidas**: Si estás usando funcionalidades de widgets, workspaces o instruments desde @infosel-sdk/markets v1.x, deberás migrar a @infosel-sdk/widgets v1.0.0. Los métodos relacionados han sido completamente removidos y no están disponibles en esta versión.
125
+
126
+ - ⚠️ **Configuración de módulo**: `InfoselMarketsModule` ya no acepta `widgetsUrl` en su constructor. Si estás pasando `widgetsUrl` en la configuración, deberás removerlo.
127
+
128
+ - ⚠️ **Exports removidos**: Las siguientes entidades ya no están disponibles en el paquete:
129
+
130
+ - `Widget`, `Workspace`, `Instrument` (entidades principales)
131
+ - Todas las request entities de widgets/workspaces/instruments
132
+ - Todas las response entities de widgets/workspaces/instruments
133
+ - `WidgetModel`, `WorkspaceModel`, `InstrumentModel`
134
+ - `WorkspacesContainer`, `ProjectWidgetsContainer`, `InstrumentsResponse`
135
+
136
+ - ⚠️ **MarketsMapper simplificado**: El mapper ahora solo expone `parseInstrumentFields()` y `mapInstrumentFields()`. Todos los métodos relacionados con widgets han sido removidos.
137
+
138
+ ### Migration Guide
139
+
140
+ - 📚 **Migración a @infosel-sdk/widgets**: Para usar funcionalidades de widgets, workspaces o instruments, instala y usa el nuevo paquete:
141
+
142
+ ```typescript
143
+ // Antes (v1.x)
144
+ import InfoselMarkets from '@infosel-sdk/markets';
145
+ const marketsSDK = InfoselMarkets.init({ sdkManager });
146
+ await marketsSDK.createWidget({ ... });
147
+
148
+ // Después (v2.0.0)
149
+ import InfoselWidgets from '@infosel-sdk/widgets';
150
+ const widgetsSDK = InfoselWidgets.init({ sdkManager });
151
+ await widgetsSDK.createWidget({ ... });
152
+ ```
153
+
154
+ - 🔄 **Configuración actualizada**: Remover `widgetsUrl` de la configuración de `InfoselMarketsModule`:
155
+
156
+ ```typescript
157
+ // Antes (v1.x)
158
+ const marketsModule = new InfoselMarketsModule({
159
+ marketsUrl: '...',
160
+ securitiesUrl: '...',
161
+ widgetsUrl: '...', // ❌ Ya no es necesario
162
+ });
163
+
164
+ // Después (v2.0.0)
165
+ const marketsModule = new InfoselMarketsModule({
166
+ marketsUrl: '...',
167
+ securitiesUrl: '...',
168
+ });
169
+ ```
170
+
171
+ - 📦 **Imports actualizados**: Si estás importando entidades de widgets desde markets, actualiza los imports:
172
+
173
+ ```typescript
174
+ // Antes (v1.x)
175
+ import { Widget, Workspace } from '@infosel-sdk/markets';
176
+
177
+ // Después (v2.0.0)
178
+ import { Widget, Workspace } from '@infosel-sdk/widgets';
179
+ ```
180
+
181
+ ### Developer Experience
182
+
183
+ - ✅ **Tests validados**: Todos los tests de markets pasan correctamente (14 test suites, 103 tests). La funcionalidad restante está completamente validada.
184
+
185
+ - 📖 **Documentación actualizada**: README actualizado para reflejar solo las funcionalidades de markets (búsqueda y detalles de instrumentos).
186
+
187
+ - 🔍 **TypeScript**: Tipado completo mantenido. Errores de compilación resueltos para reflejar la nueva estructura.
188
+
189
+ ### Compatibility
190
+
191
+ - ✅ **@infosel-sdk/core**: Compatible con versión ^0.0.5 o superior
192
+ - ✅ **Funcionalidades de markets**: Todas las funcionalidades de búsqueda y detalles de instrumentos mantienen la misma API
193
+ - ⚠️ **Funcionalidades de widgets**: Requieren migración a @infosel-sdk/widgets v1.0.0
194
+
195
+ ## [1.2.6] - 2025-11-27
196
+
197
+ ### Added
198
+
199
+ - 🆕 Agregar nuevos campos en last
200
+ - `tipoRendimiento`,
201
+ - `tipoIndice`,
202
+ - 🆕 **Nueva entidad GetLastRequest**: Entidad de dominio para solicitudes de datos de instrumentos
203
+ - `instrumentKey: string` - Clave única del instrumento (requerido)
204
+ - `useCache?: boolean` - Indica si se debe usar caché en la petición (opcional)
205
+ - 🔍 **Nuevo método getInstrumentMultipleFields**: Funcionalidad para obtener múltiples campos de instrumentos en una sola petición
206
+ - Implementado en `MarketsDatasource.getInstrumentMultipleFields()` con petición GET a `/instruments/last`
207
+ - Implementado en `MarketsRepository.getInstrumentMultipleFields()` para acceso desde la capa de repositorio
208
+ - Nuevo use case `GetInstrumentMultipleFieldsUseCase` para encapsular la lógica de negocio
209
+ - Retorna `Promise<InstrumentFields[]>` - Array de objetos InstrumentFields con todos los instrumentos encontrados
210
+ - Soporta parámetros `instrumentKey` y `useCache` opcionales mediante `GetLastRequest`
211
+
212
+ ### Changed
213
+
214
+ - 🔄 **Actualización de getInstrumentFields**: Ahora utiliza la entidad `GetLastRequest` en lugar de un string simple
215
+ - `MarketsDatasource.getInstrumentFields()` ahora acepta `GetLastRequest` como parámetro
216
+ - Soporte para parámetro opcional `useCache` en la petición
217
+ - Mantiene compatibilidad con la misma lógica de mapeo y validación
218
+
219
+ ### Technical Details
220
+
221
+ - **Endpoint utilizado**: GET `/instruments/last` con parámetros query `instrumentKey` y `useCache`
222
+ - **Mapeo de datos**: Utiliza `MarketsMapper.mapInstrumentFields()` para convertir modelos a entidades de dominio
223
+ - **Filtrado de parámetros**: Elimina automáticamente parámetros `undefined` antes de enviar la petición HTTP
224
+
225
+ ## [1.2.5] - 2025-11-11
226
+
227
+ ### Added
228
+
229
+ - 🆕 Agregar nuevos campos en last
230
+ - `estado`
231
+ - `sector`
232
+ - `tendencia`
233
+ - `muestra`,
234
+ - `tipoRendimiento`,
235
+ - `tipoIndice`,
236
+ - 🆕 **Campo descripcionMercado en InstrumentFields**: El modelo, entidad de dominio y mapper ahora exponen la descripción del mercado asociada al instrumento.
237
+ - 🧪 **Cobertura de pruebas actualizada**: Fixtures y expectativas se actualizaron para validar el nuevo campo en datasources, mappers y casos de uso.
238
+
239
+ ### Changed
240
+
241
+ - ⚙️ **Mapeo de InstrumentFields**: El mapper asigna valores por defecto seguros para `descripcionMercado`, garantizando compatibilidad con datos incompletos.
242
+
243
+ ## [1.2.4] - 2025-10-08
244
+
245
+ ### Added
246
+
247
+ - 📐 **Nueva entidad WidgetLayoutConfig**: Configuración específica para layout y comportamiento de widgets
248
+ - `x: number` - Posición horizontal del widget en el grid
249
+ - `y: number` - Posición vertical del widget en el grid
250
+ - `draggable: boolean` - Indica si el widget puede ser arrastrado
251
+ - `resizable: boolean` - Indica si el widget puede ser redimensionado
252
+ - 🎨 **Nueva propiedad layout en CreateWidgetRequest**: Permite especificar configuración de posicionamiento y comportamiento
253
+ - Propiedad `layout?: WidgetLayoutConfig` disponible en todos los tipos de widgets
254
+ - Soporta configuración independiente de tamaño y posicionamiento
255
+ - 🆔 **Soporte completo de ID en WidgetSize**: Retorno del identificador único del tamaño del widget
256
+ - Campo `id: string` agregado a la interfaz `WidgetSize`
257
+ - Permite rastrear y actualizar configuraciones de tamaño de widgets existentes
258
+
259
+ ### Changed
260
+
261
+ - 🔄 **Refactorización de configuración de widgets**: Separación de conceptos de tamaño y layout
262
+ - Renombrado: `size` → `sizes` en `CreateWidgetRequest` para mejor claridad semántica
263
+ - `WidgetSizeConfig` ahora incluye propiedades de posicionamiento `x` y `y`
264
+ - `WidgetLayoutConfig` maneja específicamente comportamiento interactivo (draggable, resizable)
265
+ - 🏗️ **Actualización en MarketsDatasourceImpl**: Soporte para nuevas propiedades
266
+ - Implementación de procesamiento de `sizes` en lugar de `size` en creación de widgets
267
+ - Agregado manejo de `layout` en creación de widgets (línea 282-285)
268
+ - Queries GraphQL actualizadas para incluir información de `layout` en todos los endpoints
269
+ - 📦 **Actualización de MarketsMapper**: Mapeo completo de propiedades de layout y size
270
+ - Mapeo de `layout` con valores por defecto para x, y, draggable, resizable
271
+ - Mapeo de `size` incluyendo el campo `id` para identificación única
272
+ - Validación y valores por defecto para todos los campos de configuración
273
+ - 🔧 **Actualización de WidgetDynamicTableConfiguration**: Sincronización de modelos de datos
274
+ - Interfaz `WidgetDynamicTableConfiguration` alineada con modelo de datos
275
+ - Soporte completo para todas las propiedades de configuración de tablas dinámicas
276
+ - 📦 **Exportaciones actualizadas**: Nuevas entidades disponibles en el SDK
277
+ - Exportación de `WidgetLayoutConfig` desde archivos de entidades
278
+ - Exportación de `WidgetSizeConfigCreate` para creación de widgets
279
+
280
+ ### Technical Details
281
+
282
+ - **Queries GraphQL actualizados**: Todos los queries de widgets ahora incluyen el bloque `layout` con x, y, draggable, resizable
283
+ - **Compatibilidad de tipos**: Separación clara entre `WidgetLayout` (lectura) y `WidgetLayoutConfig` (escritura)
284
+ - **Valores por defecto**: Implementados en el mapper para garantizar objetos completos incluso con datos parciales
285
+
286
+ ## [1.2.3] - 07-10-2025
9
287
 
10
288
  ### Added
11
289
 
@@ -49,7 +327,7 @@ y este proyecto adhiere al [Semantic Versioning](https://semver.org/spec/v2.0.0.
49
327
  - 🔧 **Configuración E2E**: Soporte nativo para refreshToken opcional en tests
50
328
  - 📋 **Validación**: Utilidades `expectToken` para validar diferentes tipos de tokens
51
329
 
52
- ## [1.2.1] - 2024-01-05
330
+ ## [1.2.1]
53
331
 
54
332
  ### Fixed
55
333
 
@@ -80,7 +358,7 @@ y este proyecto adhiere al [Semantic Versioning](https://semver.org/spec/v2.0.0.
80
358
 
81
359
  - Correcciones pendientes de lanzamiento
82
360
 
83
- ## [1.1.0] - 2024-01-15
361
+ ## [1.1.0]
84
362
 
85
363
  ### Added
86
364