@simplysm/sd-claude 14.0.53 → 14.0.55

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 (328) hide show
  1. package/claude/references/sd-simplysm-v14/angular/README.md +164 -291
  2. package/claude/references/sd-simplysm-v14/angular/_api-index.md +250 -0
  3. package/claude/references/sd-simplysm-v14/angular/bootstrap/provide-sd-angular.md +2 -0
  4. package/claude/references/sd-simplysm-v14/angular/bootstrap/sd-angular-config-provider.md +2 -0
  5. package/claude/references/sd-simplysm-v14/angular/directives/sd-command-directive.md +2 -0
  6. package/claude/references/sd-simplysm-v14/angular/directives/sd-events.md +2 -0
  7. package/claude/references/sd-simplysm-v14/angular/directives/sd-intersection-directive.md +2 -0
  8. package/claude/references/sd-simplysm-v14/angular/directives/sd-invalid.md +2 -0
  9. package/claude/references/sd-simplysm-v14/angular/directives/sd-resize-directive.md +2 -0
  10. package/claude/references/sd-simplysm-v14/angular/directives/sd-ripple.md +2 -0
  11. package/claude/references/sd-simplysm-v14/angular/directives/sd-router-link.md +2 -0
  12. package/claude/references/sd-simplysm-v14/angular/directives/sd-show-effect.md +2 -0
  13. package/claude/references/sd-simplysm-v14/angular/directives/sd-typed-template.md +2 -0
  14. package/claude/references/sd-simplysm-v14/angular/features/sd-address-search-modal.md +2 -0
  15. package/claude/references/sd-simplysm-v14/angular/features/sd-permission-table.md +2 -0
  16. package/claude/references/sd-simplysm-v14/angular/features/sd-shared-data-components.md +2 -0
  17. package/claude/references/sd-simplysm-v14/angular/features/sd-tiptap-editor.md +2 -0
  18. package/claude/references/sd-simplysm-v14/angular/pipes/format-pipe.md +2 -0
  19. package/claude/references/sd-simplysm-v14/angular/plugins/sd-global-error-handler.md +2 -0
  20. package/claude/references/sd-simplysm-v14/angular/plugins/sd-option-event-plugin.md +2 -0
  21. package/claude/references/sd-simplysm-v14/angular/provider-types/sd-menu.md +2 -0
  22. package/claude/references/sd-simplysm-v14/angular/provider-types/sd-modal-content-def.md +9 -9
  23. package/claude/references/sd-simplysm-v14/angular/provider-types/sd-toast-content-def.md +2 -0
  24. package/claude/references/sd-simplysm-v14/angular/provider-types/shared-data-base.md +2 -0
  25. package/claude/references/sd-simplysm-v14/angular/providers/sd-activated-modal-provider.md +2 -0
  26. package/claude/references/sd-simplysm-v14/angular/providers/sd-app-structure-provider.md +2 -0
  27. package/claude/references/sd-simplysm-v14/angular/providers/sd-busy-provider.md +2 -0
  28. package/claude/references/sd-simplysm-v14/angular/providers/sd-file-dialog-provider.md +2 -0
  29. package/claude/references/sd-simplysm-v14/angular/providers/sd-local-storage-provider.md +2 -0
  30. package/claude/references/sd-simplysm-v14/angular/providers/sd-modal-provider.md +2 -0
  31. package/claude/references/sd-simplysm-v14/angular/providers/sd-navigate-window-provider.md +2 -0
  32. package/claude/references/sd-simplysm-v14/angular/providers/sd-print-provider.md +2 -0
  33. package/claude/references/sd-simplysm-v14/angular/providers/sd-service-client-factory-provider.md +2 -0
  34. package/claude/references/sd-simplysm-v14/angular/providers/sd-shared-data-provider.md +2 -0
  35. package/claude/references/sd-simplysm-v14/angular/providers/sd-system-config-provider.md +2 -0
  36. package/claude/references/sd-simplysm-v14/angular/providers/sd-system-log-provider.md +2 -0
  37. package/claude/references/sd-simplysm-v14/angular/providers/sd-theme-provider.md +2 -0
  38. package/claude/references/sd-simplysm-v14/angular/providers/sd-toast-provider.md +2 -0
  39. package/claude/references/sd-simplysm-v14/angular/styling/classes.md +2 -0
  40. package/claude/references/sd-simplysm-v14/angular/styling/mixins.md +2 -0
  41. package/claude/references/sd-simplysm-v14/angular/styling/themes.md +2 -0
  42. package/claude/references/sd-simplysm-v14/angular/styling/variables.md +2 -0
  43. package/claude/references/sd-simplysm-v14/angular/type-utilities/directive-input-signals.md +2 -0
  44. package/claude/references/sd-simplysm-v14/angular/ui-data/sd-base-container.md +141 -0
  45. package/claude/references/sd-simplysm-v14/angular/ui-data/sd-crud-detail.md +273 -0
  46. package/claude/references/sd-simplysm-v14/angular/ui-data/sd-crud-list.md +623 -0
  47. package/claude/references/sd-simplysm-v14/angular/ui-data/sd-list.md +2 -0
  48. package/claude/references/sd-simplysm-v14/angular/ui-data/sd-sheet.md +34 -39
  49. package/claude/references/sd-simplysm-v14/angular/ui-form/sd-additional-button.md +2 -0
  50. package/claude/references/sd-simplysm-v14/angular/ui-form/sd-anchor.md +2 -7
  51. package/claude/references/sd-simplysm-v14/angular/ui-form/sd-button.md +2 -11
  52. package/claude/references/sd-simplysm-v14/angular/ui-form/sd-checkbox-group.md +2 -0
  53. package/claude/references/sd-simplysm-v14/angular/ui-form/sd-checkbox.md +2 -4
  54. package/claude/references/sd-simplysm-v14/angular/ui-form/sd-date-range-picker.md +2 -0
  55. package/claude/references/sd-simplysm-v14/angular/ui-form/sd-form.md +2 -7
  56. package/claude/references/sd-simplysm-v14/angular/ui-form/sd-modal-select-button.md +7 -7
  57. package/claude/references/sd-simplysm-v14/angular/ui-form/sd-numpad.md +2 -0
  58. package/claude/references/sd-simplysm-v14/angular/ui-form/sd-range.md +2 -0
  59. package/claude/references/sd-simplysm-v14/angular/ui-form/sd-select.md +2 -0
  60. package/claude/references/sd-simplysm-v14/angular/ui-form/sd-shared-data-select.md +2 -4
  61. package/claude/references/sd-simplysm-v14/angular/ui-form/sd-state-preset.md +2 -0
  62. package/claude/references/sd-simplysm-v14/angular/ui-form/sd-switch.md +2 -0
  63. package/claude/references/sd-simplysm-v14/angular/ui-form/sd-textarea.md +2 -0
  64. package/claude/references/sd-simplysm-v14/angular/ui-form/sd-textfield.md +2 -8
  65. package/claude/references/sd-simplysm-v14/angular/ui-layout/sd-dock-container.md +2 -7
  66. package/claude/references/sd-simplysm-v14/angular/ui-layout/sd-dock.md +2 -6
  67. package/claude/references/sd-simplysm-v14/angular/ui-layout/sd-gap.md +2 -0
  68. package/claude/references/sd-simplysm-v14/angular/ui-layout/sd-kanban-board.md +2 -0
  69. package/claude/references/sd-simplysm-v14/angular/ui-layout/sd-kanban-lane.md +2 -0
  70. package/claude/references/sd-simplysm-v14/angular/ui-layout/sd-kanban.md +2 -0
  71. package/claude/references/sd-simplysm-v14/angular/ui-navigation/sd-collapse.md +2 -0
  72. package/claude/references/sd-simplysm-v14/angular/ui-navigation/sd-pagination.md +2 -0
  73. package/claude/references/sd-simplysm-v14/angular/ui-navigation/sd-sidebar-container.md +2 -0
  74. package/claude/references/sd-simplysm-v14/angular/ui-navigation/sd-sidebar-menu.md +2 -0
  75. package/claude/references/sd-simplysm-v14/angular/ui-navigation/sd-sidebar-user.md +2 -0
  76. package/claude/references/sd-simplysm-v14/angular/ui-navigation/sd-tab.md +2 -0
  77. package/claude/references/sd-simplysm-v14/angular/ui-navigation/sd-topbar-container.md +2 -9
  78. package/claude/references/sd-simplysm-v14/angular/ui-navigation/sd-topbar-menu.md +2 -0
  79. package/claude/references/sd-simplysm-v14/angular/ui-navigation/sd-topbar-user.md +2 -0
  80. package/claude/references/sd-simplysm-v14/angular/ui-navigation/sd-topbar.md +2 -7
  81. package/claude/references/sd-simplysm-v14/angular/ui-overlay/sd-busy-container.md +2 -5
  82. package/claude/references/sd-simplysm-v14/angular/ui-overlay/sd-confirm-modal.md +2 -0
  83. package/claude/references/sd-simplysm-v14/angular/ui-overlay/sd-dropdown.md +2 -0
  84. package/claude/references/sd-simplysm-v14/angular/ui-overlay/sd-modal.md +2 -0
  85. package/claude/references/sd-simplysm-v14/angular/ui-overlay/sd-prompt-modal.md +2 -0
  86. package/claude/references/sd-simplysm-v14/angular/ui-overlay/sd-toast.md +2 -0
  87. package/claude/references/sd-simplysm-v14/angular/ui-visual/sd-barcode.md +2 -0
  88. package/claude/references/sd-simplysm-v14/angular/ui-visual/sd-calendar.md +2 -0
  89. package/claude/references/sd-simplysm-v14/angular/ui-visual/sd-echarts.md +2 -0
  90. package/claude/references/sd-simplysm-v14/angular/ui-visual/sd-label.md +2 -0
  91. package/claude/references/sd-simplysm-v14/angular/ui-visual/sd-note.md +2 -0
  92. package/claude/references/sd-simplysm-v14/angular/ui-visual/sd-progress.md +2 -0
  93. package/claude/references/sd-simplysm-v14/angular/utils/inject-routing-signals.md +3 -16
  94. package/claude/references/sd-simplysm-v14/angular/utils/inject-sd-system-config-resource.md +2 -0
  95. package/claude/references/sd-simplysm-v14/angular/utils/mark.md +2 -5
  96. package/claude/references/sd-simplysm-v14/angular/utils/selection-managers.md +3 -1
  97. package/claude/references/sd-simplysm-v14/angular/utils/set-safe-style.md +2 -0
  98. package/claude/references/sd-simplysm-v14/angular/utils/setup-functions.md +2 -4
  99. package/claude/references/sd-simplysm-v14/capacitor-plugin-auto-update/README.md +16 -18
  100. package/claude/references/sd-simplysm-v14/capacitor-plugin-auto-update/_api-index.md +18 -0
  101. package/claude/references/sd-simplysm-v14/capacitor-plugin-auto-update/apk-installer/apk-installer.md +1 -1
  102. package/claude/references/sd-simplysm-v14/capacitor-plugin-auto-update/auto-update/auto-update.md +1 -1
  103. package/claude/references/sd-simplysm-v14/capacitor-plugin-file-system/README.md +24 -45
  104. package/claude/references/sd-simplysm-v14/core-browser/README.md +22 -29
  105. package/claude/references/sd-simplysm-v14/core-browser/_api-index.md +37 -0
  106. package/claude/references/sd-simplysm-v14/core-browser/extensions/copy-paste.md +1 -1
  107. package/claude/references/sd-simplysm-v14/core-browser/extensions/element-prototype-extensions.md +2 -0
  108. package/claude/references/sd-simplysm-v14/core-browser/extensions/get-bounds.md +1 -1
  109. package/claude/references/sd-simplysm-v14/core-browser/utils/download-blob.md +1 -1
  110. package/claude/references/sd-simplysm-v14/core-browser/utils/fetch-url-bytes.md +1 -1
  111. package/claude/references/sd-simplysm-v14/core-browser/utils/indexed-db-store.md +1 -1
  112. package/claude/references/sd-simplysm-v14/core-browser/utils/indexed-db-virtual-fs.md +1 -1
  113. package/claude/references/sd-simplysm-v14/core-browser/utils/open-file-dialog.md +1 -1
  114. package/claude/references/sd-simplysm-v14/core-common/README.md +71 -153
  115. package/claude/references/sd-simplysm-v14/core-common/_api-index.md +70 -0
  116. package/claude/references/sd-simplysm-v14/core-common/errors/argument-error.md +3 -1
  117. package/claude/references/sd-simplysm-v14/core-common/errors/not-implemented-error.md +3 -1
  118. package/claude/references/sd-simplysm-v14/core-common/errors/sd-error.md +3 -1
  119. package/claude/references/sd-simplysm-v14/core-common/errors/timeout-error.md +3 -1
  120. package/claude/references/sd-simplysm-v14/core-common/extensions/array.md +2 -0
  121. package/claude/references/sd-simplysm-v14/core-common/extensions/map.md +2 -0
  122. package/claude/references/sd-simplysm-v14/core-common/extensions/set.md +2 -0
  123. package/claude/references/sd-simplysm-v14/core-common/features/debounce-queue.md +3 -1
  124. package/claude/references/sd-simplysm-v14/core-common/features/event-emitter.md +3 -1
  125. package/claude/references/sd-simplysm-v14/core-common/features/serial-queue.md +3 -1
  126. package/claude/references/sd-simplysm-v14/core-common/type-utils/common-types.md +2 -0
  127. package/claude/references/sd-simplysm-v14/core-common/type-utils/env.md +3 -1
  128. package/claude/references/sd-simplysm-v14/core-common/types/date-only.md +3 -1
  129. package/claude/references/sd-simplysm-v14/core-common/types/date-time.md +9 -1
  130. package/claude/references/sd-simplysm-v14/core-common/types/lazy-gc-map.md +3 -1
  131. package/claude/references/sd-simplysm-v14/core-common/types/time.md +3 -1
  132. package/claude/references/sd-simplysm-v14/core-common/types/uuid.md +3 -1
  133. package/claude/references/sd-simplysm-v14/core-common/utils/bytes.md +3 -1
  134. package/claude/references/sd-simplysm-v14/core-common/utils/dt.md +3 -1
  135. package/claude/references/sd-simplysm-v14/core-common/utils/err.md +3 -1
  136. package/claude/references/sd-simplysm-v14/core-common/utils/json.md +3 -1
  137. package/claude/references/sd-simplysm-v14/core-common/utils/num.md +3 -1
  138. package/claude/references/sd-simplysm-v14/core-common/utils/obj.md +3 -1
  139. package/claude/references/sd-simplysm-v14/core-common/utils/path.md +3 -1
  140. package/claude/references/sd-simplysm-v14/core-common/utils/primitive.md +3 -1
  141. package/claude/references/sd-simplysm-v14/core-common/utils/str.md +3 -1
  142. package/claude/references/sd-simplysm-v14/core-common/utils/template-strings.md +2 -0
  143. package/claude/references/sd-simplysm-v14/core-common/utils/transfer.md +3 -1
  144. package/claude/references/sd-simplysm-v14/core-common/utils/wait.md +3 -1
  145. package/claude/references/sd-simplysm-v14/core-common/utils/xml.md +3 -1
  146. package/claude/references/sd-simplysm-v14/core-common/utils/zip-archive.md +3 -1
  147. package/claude/references/sd-simplysm-v14/core-node/README.md +25 -35
  148. package/claude/references/sd-simplysm-v14/core-node/_api-index.md +34 -0
  149. package/claude/references/sd-simplysm-v14/core-node/features/fs-watcher.md +3 -1
  150. package/claude/references/sd-simplysm-v14/core-node/logging/create-file-reporter.md +3 -1
  151. package/claude/references/sd-simplysm-v14/core-node/logging/pretty-reporter.md +3 -1
  152. package/claude/references/sd-simplysm-v14/core-node/logging/setup-consola.md +3 -1
  153. package/claude/references/sd-simplysm-v14/core-node/utils/cpx.md +3 -1
  154. package/claude/references/sd-simplysm-v14/core-node/utils/fsx.md +3 -1
  155. package/claude/references/sd-simplysm-v14/core-node/utils/pathx.md +3 -1
  156. package/claude/references/sd-simplysm-v14/core-node/worker/create-worker.md +3 -1
  157. package/claude/references/sd-simplysm-v14/core-node/worker/worker.md +3 -1
  158. package/claude/references/sd-simplysm-v14/excel/README.md +35 -49
  159. package/claude/references/sd-simplysm-v14/excel/_api-index.md +40 -0
  160. package/claude/references/sd-simplysm-v14/excel/core-classes/excel-cell.md +3 -1
  161. package/claude/references/sd-simplysm-v14/excel/core-classes/excel-col.md +3 -1
  162. package/claude/references/sd-simplysm-v14/excel/core-classes/excel-row.md +3 -1
  163. package/claude/references/sd-simplysm-v14/excel/core-classes/excel-workbook.md +6 -3
  164. package/claude/references/sd-simplysm-v14/excel/core-classes/excel-worksheet.md +3 -1
  165. package/claude/references/sd-simplysm-v14/excel/types/excel-address-point.md +3 -1
  166. package/claude/references/sd-simplysm-v14/excel/types/excel-style-options.md +3 -1
  167. package/claude/references/sd-simplysm-v14/excel/types/excel-value-type.md +3 -1
  168. package/claude/references/sd-simplysm-v14/excel/utilities/excel-utils.md +3 -1
  169. package/claude/references/sd-simplysm-v14/excel/wrapper/excel-wrapper.md +3 -1
  170. package/claude/references/sd-simplysm-v14/orm-common/README.md +66 -71
  171. package/claude/references/sd-simplysm-v14/orm-common/_api-index.md +59 -0
  172. package/claude/references/sd-simplysm-v14/orm-common/core/db-context.md +3 -1
  173. package/claude/references/sd-simplysm-v14/orm-common/core/db-transaction-error.md +3 -1
  174. package/claude/references/sd-simplysm-v14/orm-common/expression/expr-unit.md +3 -1
  175. package/claude/references/sd-simplysm-v14/orm-common/expression/expr.md +3 -1
  176. package/claude/references/sd-simplysm-v14/orm-common/models/migration.md +3 -1
  177. package/claude/references/sd-simplysm-v14/orm-common/query-builder/create-query-builder.md +3 -1
  178. package/claude/references/sd-simplysm-v14/orm-common/queryable-executable/executable.md +3 -1
  179. package/claude/references/sd-simplysm-v14/orm-common/queryable-executable/parse-search-query.md +3 -1
  180. package/claude/references/sd-simplysm-v14/orm-common/queryable-executable/queryable.md +3 -1
  181. package/claude/references/sd-simplysm-v14/orm-common/schema-builders/column-builder.md +3 -1
  182. package/claude/references/sd-simplysm-v14/orm-common/schema-builders/foreign-key-builder.md +3 -1
  183. package/claude/references/sd-simplysm-v14/orm-common/schema-builders/index-builder.md +3 -1
  184. package/claude/references/sd-simplysm-v14/orm-common/schema-builders/procedure.md +3 -1
  185. package/claude/references/sd-simplysm-v14/orm-common/schema-builders/table.md +3 -1
  186. package/claude/references/sd-simplysm-v14/orm-common/schema-builders/view.md +3 -1
  187. package/claude/references/sd-simplysm-v14/orm-common/types/data-type.md +3 -1
  188. package/claude/references/sd-simplysm-v14/orm-common/types/dialect.md +3 -1
  189. package/claude/references/sd-simplysm-v14/orm-common/types/expr.md +3 -1
  190. package/claude/references/sd-simplysm-v14/orm-common/types/parse-query-result.md +3 -1
  191. package/claude/references/sd-simplysm-v14/orm-common/types/query-def.md +3 -1
  192. package/claude/references/sd-simplysm-v14/orm-node/README.md +27 -28
  193. package/claude/references/sd-simplysm-v14/orm-node/_api-index.md +29 -0
  194. package/claude/references/sd-simplysm-v14/orm-node/connections/mssql-db-conn.md +2 -0
  195. package/claude/references/sd-simplysm-v14/orm-node/connections/mysql-db-conn.md +2 -0
  196. package/claude/references/sd-simplysm-v14/orm-node/connections/postgresql-db-conn.md +2 -0
  197. package/claude/references/sd-simplysm-v14/orm-node/core/create-db-conn.md +2 -0
  198. package/claude/references/sd-simplysm-v14/orm-node/core/create-orm.md +2 -0
  199. package/claude/references/sd-simplysm-v14/orm-node/core/node-db-context-executor.md +2 -0
  200. package/claude/references/sd-simplysm-v14/orm-node/types/db-conn-config.md +2 -0
  201. package/claude/references/sd-simplysm-v14/orm-node/types/db-conn-constants.md +2 -0
  202. package/claude/references/sd-simplysm-v14/orm-node/types/db-conn.md +2 -0
  203. package/claude/references/sd-simplysm-v14/orm-node/types/get-dialect-from-config.md +2 -0
  204. package/claude/references/sd-simplysm-v14/sd-claude/README.md +26 -65
  205. package/claude/references/sd-simplysm-v14/sd-claude/_api-index.md +39 -0
  206. package/claude/references/sd-simplysm-v14/sd-claude/assets.md +2 -0
  207. package/claude/references/sd-simplysm-v14/sd-claude/cli.md +3 -1
  208. package/claude/references/sd-simplysm-v14/sd-claude/hooks.md +11 -7
  209. package/claude/references/sd-simplysm-v14/sd-claude/scripts.md +2 -0
  210. package/claude/references/sd-simplysm-v14/sd-cli/README.md +48 -119
  211. package/claude/references/sd-simplysm-v14/sd-cli/_api-index.md +49 -0
  212. package/claude/references/sd-simplysm-v14/sd-cli/angular-vite-plugin/sd-angular-plugin.md +3 -1
  213. package/claude/references/sd-simplysm-v14/sd-cli/config/build-target.md +3 -1
  214. package/claude/references/sd-simplysm-v14/sd-cli/config/npm-config.md +3 -1
  215. package/claude/references/sd-simplysm-v14/sd-cli/config/sd-browser-support-config.md +3 -1
  216. package/claude/references/sd-simplysm-v14/sd-cli/config/sd-build-package-config.md +4 -2
  217. package/claude/references/sd-simplysm-v14/sd-cli/config/sd-capacitor-config.md +3 -1
  218. package/claude/references/sd-simplysm-v14/sd-cli/config/sd-client-package-config.md +4 -2
  219. package/claude/references/sd-simplysm-v14/sd-cli/config/sd-config.md +4 -2
  220. package/claude/references/sd-simplysm-v14/sd-cli/config/sd-electron-config.md +3 -1
  221. package/claude/references/sd-simplysm-v14/sd-cli/config/sd-package-config.md +3 -1
  222. package/claude/references/sd-simplysm-v14/sd-cli/config/sd-post-publish-script-config.md +3 -1
  223. package/claude/references/sd-simplysm-v14/sd-cli/config/sd-publish-config.md +3 -1
  224. package/claude/references/sd-simplysm-v14/sd-cli/config/sd-pwa-config.md +3 -1
  225. package/claude/references/sd-simplysm-v14/sd-cli/config/sd-scripts-package-config.md +4 -2
  226. package/claude/references/sd-simplysm-v14/sd-cli/config/sd-server-package-config.md +4 -2
  227. package/claude/references/sd-simplysm-v14/sd-cli/config/sd-watch-hook-config.md +3 -1
  228. package/claude/references/sd-simplysm-v14/sd-cli/ts-compiler/sd-ts-compiler.md +3 -1
  229. package/claude/references/sd-simplysm-v14/service-client/README.md +33 -42
  230. package/claude/references/sd-simplysm-v14/service-client/_api-index.md +58 -0
  231. package/claude/references/sd-simplysm-v14/service-client/features/event-client.md +1 -1
  232. package/claude/references/sd-simplysm-v14/service-client/features/file-client.md +1 -1
  233. package/claude/references/sd-simplysm-v14/service-client/features/orm-client-connector.md +1 -1
  234. package/claude/references/sd-simplysm-v14/service-client/features/orm-client-db-context-executor.md +1 -1
  235. package/claude/references/sd-simplysm-v14/service-client/main/service-client.md +1 -1
  236. package/claude/references/sd-simplysm-v14/service-client/protocol/client-protocol-wrapper.md +1 -1
  237. package/claude/references/sd-simplysm-v14/service-client/transport/service-transport.md +1 -1
  238. package/claude/references/sd-simplysm-v14/service-client/transport/socket-provider.md +1 -1
  239. package/claude/references/sd-simplysm-v14/service-client/types/blob-input.md +2 -2
  240. package/claude/references/sd-simplysm-v14/service-client/types/browser-worker.md +2 -2
  241. package/claude/references/sd-simplysm-v14/service-client/types/file-collection.md +2 -2
  242. package/claude/references/sd-simplysm-v14/service-client/types/service-connection-options.md +2 -2
  243. package/claude/references/sd-simplysm-v14/service-client/types/service-progress.md +2 -2
  244. package/claude/references/sd-simplysm-v14/service-common/README.md +34 -127
  245. package/claude/references/sd-simplysm-v14/service-common/_api-index.md +51 -0
  246. package/claude/references/sd-simplysm-v14/service-common/app-structure/app-structure-item.md +3 -1
  247. package/claude/references/sd-simplysm-v14/service-common/app-structure/get-flat-permissions.md +7 -1
  248. package/claude/references/sd-simplysm-v14/service-common/app-structure/is-usable-modules-chain.md +3 -1
  249. package/claude/references/sd-simplysm-v14/service-common/app-structure/is-usable-modules.md +3 -1
  250. package/claude/references/sd-simplysm-v14/service-common/events/define-event.md +7 -1
  251. package/claude/references/sd-simplysm-v14/service-common/protocol/create-service-protocol.md +8 -1
  252. package/claude/references/sd-simplysm-v14/service-common/protocol/protocol-config.md +3 -1
  253. package/claude/references/sd-simplysm-v14/service-common/protocol/service-add-event-listener-message.md +3 -1
  254. package/claude/references/sd-simplysm-v14/service-common/protocol/service-auth-message.md +3 -1
  255. package/claude/references/sd-simplysm-v14/service-common/protocol/service-emit-event-message.md +3 -1
  256. package/claude/references/sd-simplysm-v14/service-common/protocol/service-error-message.md +3 -1
  257. package/claude/references/sd-simplysm-v14/service-common/protocol/service-event-message.md +3 -1
  258. package/claude/references/sd-simplysm-v14/service-common/protocol/service-get-event-listener-infos-message.md +3 -1
  259. package/claude/references/sd-simplysm-v14/service-common/protocol/service-message.md +3 -1
  260. package/claude/references/sd-simplysm-v14/service-common/protocol/service-progress-message.md +3 -1
  261. package/claude/references/sd-simplysm-v14/service-common/protocol/service-remove-event-listener-message.md +3 -1
  262. package/claude/references/sd-simplysm-v14/service-common/protocol/service-request-message.md +3 -1
  263. package/claude/references/sd-simplysm-v14/service-common/protocol/service-response-message.md +3 -1
  264. package/claude/references/sd-simplysm-v14/service-common/service-types/app-structure-service.md +3 -1
  265. package/claude/references/sd-simplysm-v14/service-common/service-types/auto-update-service.md +3 -1
  266. package/claude/references/sd-simplysm-v14/service-common/service-types/orm-service.md +3 -1
  267. package/claude/references/sd-simplysm-v14/service-common/types/service-upload-result.md +3 -1
  268. package/claude/references/sd-simplysm-v14/service-server/README.md +50 -135
  269. package/claude/references/sd-simplysm-v14/service-server/_api-index.md +87 -0
  270. package/claude/references/sd-simplysm-v14/service-server/auth/auth-token-payload.md +3 -1
  271. package/claude/references/sd-simplysm-v14/service-server/auth/sign-jwt.md +3 -1
  272. package/claude/references/sd-simplysm-v14/service-server/auth/verify-jwt.md +3 -1
  273. package/claude/references/sd-simplysm-v14/service-server/core/auth.md +3 -1
  274. package/claude/references/sd-simplysm-v14/service-server/core/define-service.md +3 -1
  275. package/claude/references/sd-simplysm-v14/service-server/core/execute-service-method.md +3 -1
  276. package/claude/references/sd-simplysm-v14/service-server/core/service-context.md +3 -1
  277. package/claude/references/sd-simplysm-v14/service-server/legacy/handle-v1-connection.md +3 -1
  278. package/claude/references/sd-simplysm-v14/service-server/main/create-service-server.md +3 -1
  279. package/claude/references/sd-simplysm-v14/service-server/main/service-server.md +3 -1
  280. package/claude/references/sd-simplysm-v14/service-server/protocol/server-protocol-wrapper.md +3 -1
  281. package/claude/references/sd-simplysm-v14/service-server/services/app-structure-service.md +3 -1
  282. package/claude/references/sd-simplysm-v14/service-server/services/auto-update-service.md +3 -1
  283. package/claude/references/sd-simplysm-v14/service-server/services/orm-service.md +3 -1
  284. package/claude/references/sd-simplysm-v14/service-server/transport-http/handle-http-request.md +3 -1
  285. package/claude/references/sd-simplysm-v14/service-server/transport-http/handle-static-file.md +3 -1
  286. package/claude/references/sd-simplysm-v14/service-server/transport-http/handle-upload.md +3 -1
  287. package/claude/references/sd-simplysm-v14/service-server/transport-socket/service-socket.md +3 -1
  288. package/claude/references/sd-simplysm-v14/service-server/transport-socket/websocket-handler.md +3 -1
  289. package/claude/references/sd-simplysm-v14/service-server/types/service-server-options.md +3 -1
  290. package/claude/references/sd-simplysm-v14/service-server/utils/get-config.md +3 -1
  291. package/claude/references/sd-simplysm-v14/storage/README.md +17 -80
  292. package/claude/references/sd-simplysm-v14/storage/_api-index.md +26 -0
  293. package/claude/references/sd-simplysm-v14/storage/clients/ftp-storage-client.md +3 -1
  294. package/claude/references/sd-simplysm-v14/storage/clients/sftp-storage-client.md +3 -1
  295. package/claude/references/sd-simplysm-v14/storage/factory/storage-factory.md +1 -1
  296. package/claude/references/sd-simplysm-v14/storage/types/file-info.md +3 -1
  297. package/claude/references/sd-simplysm-v14/storage/types/storage-client.md +2 -0
  298. package/claude/references/sd-simplysm-v14/storage/types/storage-conn-config.md +3 -1
  299. package/claude/rules/sd-claude-rules.md +1 -1
  300. package/claude/skills/sd-dev/SKILL.md +62 -8
  301. package/claude/skills/sd-dev/subagent-preamble.md +22 -0
  302. package/package.json +1 -1
  303. package/claude/references/sd-simplysm-v14/angular/recipes/_common-rules.md +0 -336
  304. package/claude/references/sd-simplysm-v14/angular/recipes/crud-detail/extension-a-edit-save.md +0 -191
  305. package/claude/references/sd-simplysm-v14/angular/recipes/crud-detail/extension-b-delete-restore.md +0 -103
  306. package/claude/references/sd-simplysm-v14/angular/recipes/crud-detail/extension-c-modal-view.md +0 -198
  307. package/claude/references/sd-simplysm-v14/angular/recipes/crud-detail/extension-d-control-view.md +0 -109
  308. package/claude/references/sd-simplysm-v14/angular/recipes/crud-detail/extension-e-auxiliary.md +0 -87
  309. package/claude/references/sd-simplysm-v14/angular/recipes/crud-detail/extension-f-complex-detail.md +0 -202
  310. package/claude/references/sd-simplysm-v14/angular/recipes/crud-detail.md +0 -280
  311. package/claude/references/sd-simplysm-v14/angular/recipes/crud-list/extension-a-inline-edit.md +0 -386
  312. package/claude/references/sd-simplysm-v14/angular/recipes/crud-list/extension-b-selection.md +0 -215
  313. package/claude/references/sd-simplysm-v14/angular/recipes/crud-list/extension-c-inline-delete.md +0 -64
  314. package/claude/references/sd-simplysm-v14/angular/recipes/crud-list/extension-d-select-modal.md +0 -193
  315. package/claude/references/sd-simplysm-v14/angular/recipes/crud-list/extension-e-readonly-modal.md +0 -140
  316. package/claude/references/sd-simplysm-v14/angular/recipes/crud-list/extension-f-modal-edit.md +0 -123
  317. package/claude/references/sd-simplysm-v14/angular/recipes/crud-list/extension-g-excel.md +0 -145
  318. package/claude/references/sd-simplysm-v14/angular/recipes/crud-list.md +0 -377
  319. package/claude/references/sd-simplysm-v14/angular/recipes/data-select-button.md +0 -368
  320. package/claude/references/sd-simplysm-v14/angular/recipes/page-modal-container.md +0 -238
  321. package/claude/references/sd-simplysm-v14/excel/types/excel-xml-content-type-data.md +0 -23
  322. package/claude/references/sd-simplysm-v14/excel/types/excel-xml-drawing-data.md +0 -29
  323. package/claude/references/sd-simplysm-v14/excel/types/excel-xml-relationship-data.md +0 -39
  324. package/claude/references/sd-simplysm-v14/excel/types/excel-xml-shared-string-data.md +0 -42
  325. package/claude/references/sd-simplysm-v14/excel/types/excel-xml-style-data.md +0 -97
  326. package/claude/references/sd-simplysm-v14/excel/types/excel-xml-workbook-data.md +0 -22
  327. package/claude/references/sd-simplysm-v14/excel/types/excel-xml-worksheet-data.md +0 -68
  328. package/claude/references/sd-simplysm-v14/excel/types/excel-xml.md +0 -15
@@ -1,6 +1,6 @@
1
1
  # `EventClient`
2
2
 
3
- 서버 이벤트 구독/발행 관리 인터페이스. 재연결 자동 재구독된다. 팩토리 함수 `createEventClient`로 생성한다.
3
+ > **읽어야 하는 상황**: 서버에서 발행하는 실시간 이벤트를 구독하거나 다른 클라이언트에 이벤트를 발행할 때. 일반적으로 `ServiceClient.getEvent()`를 통해 간접 사용하며, 직접 생성은 커스텀 전송 계층 구현 시에만 필요하다.
4
4
 
5
5
  ## When to use
6
6
 
@@ -1,6 +1,6 @@
1
1
  # `FileClient`
2
2
 
3
- 파일 업로드(POST `/upload`)/다운로드(GET) 인터페이스. 팩토리 함수 `createFileClient`로 생성한다.
3
+ > **읽어야 하는 상황**: 서버에 파일을 업로드하거나 서버에서 파일을 다운로드할 때. 일반적으로 `ServiceClient.uploadFile()`/`downloadFileBuffer()`를 통해 간접 사용하며, 직접 생성은 인증 없이 다운로드만 수행하거나 커스텀 URL 구성이 필요할 때에만 사용한다.
4
4
 
5
5
  ## When to use
6
6
 
@@ -1,6 +1,6 @@
1
1
  # `OrmClientConnector`
2
2
 
3
- `DbContext` 트랜잭션 연결을 원격 서버에서 실행하는 헬퍼 인터페이스. 팩토리 함수 `createOrmClientConnector`로 생성한다.
3
+ > **읽어야 하는 상황**: 클라이언트에서 `DbContext`를 통해 원격 DB 트랜잭션을 실행할 때. 서버 직접 DB 접근은 `@simplysm/orm-node` 참조. executor를 수동 제어할 때는 [`OrmClientDbContextExecutor`](./orm-client-db-context-executor.md) 참조.
4
4
 
5
5
  ## When to use
6
6
 
@@ -1,6 +1,6 @@
1
1
  # `OrmClientDbContextExecutor`
2
2
 
3
- `DbContextExecutor` 인터페이스 구현체. `DbContext`의 쿼리 실행을 서버 `OrmService`에 원격 호출한다.
3
+ > **읽어야 하는 상황**: `DbContext`에 주입할 원격 executor가 필요할 때 (커스텀 연결 로직 구현 시). 일반적으로 [`OrmClientConnector`](./orm-client-connector.md)를 통해 간접 사용한다.
4
4
 
5
5
  ## When to use
6
6
 
@@ -1,6 +1,6 @@
1
1
  # `ServiceClient`
2
2
 
3
- WebSocket 기반 서비스 클라이언트의 최상위 파사드 클래스. 내부적으로 `SocketProvider`, `ClientProtocolWrapper`, `ServiceTransport`, `EventClient`, `FileClient`를 조합한다.
3
+ > **읽어야 하는 상황**: 서버에 WebSocket으로 연결하여 RPC 호출, 이벤트 구독, 파일 전송, ORM 원격 실행을 수행할 때. 이벤트 구독만 필요하면 [`EventClient`](../features/event-client.md), ORM 원격 실행만 필요하면 [`OrmClientConnector`](../features/orm-client-connector.md) 참조.
4
4
 
5
5
  ## When to use
6
6
 
@@ -1,6 +1,6 @@
1
1
  # `ClientProtocolWrapper`
2
2
 
3
- 메시지 인코딩/디코딩 인터페이스. 데이터 크기가 30KB 이상이면 Web Worker 처리를 오프로드한다. 팩토리 함수 `createClientProtocolWrapper`로 생성한다.
3
+ > **읽어야 하는 상황**: 메시지 인코딩/디코딩을 직접 제어하거나 Worker 오프로드 동작을 커스터마이징할 때. 일반적으로 `ServiceClient`가 내부적으로 생성·관리한다.
4
4
 
5
5
  ## When to use
6
6
 
@@ -1,6 +1,6 @@
1
1
  # `ServiceTransport`
2
2
 
3
- 요청-응답 매핑, progress 중계, 서버 이벤트 디스패치를 담당하는 인터페이스. 팩토리 함수 `createServiceTransport`로 생성한다.
3
+ > **읽어야 하는 상황**: 요청-응답 매핑과 progress 중계를 직접 제어하는 커스텀 계층을 구현할 때. 일반적으로 `ServiceClient`가 내부적으로 생성·관리한다.
4
4
 
5
5
  ## When to use
6
6
 
@@ -1,6 +1,6 @@
1
1
  # `SocketProvider`
2
2
 
3
- WebSocket 연결, 재연결, 하트비트를 관리하는 인터페이스. 팩토리 함수 `createSocketProvider`로 생성한다.
3
+ > **읽어야 하는 상황**: WebSocket 연결/재연결/하트비트를 직접 제어하는 커스텀 전송 계층을 구현할 때. 일반적으로 `ServiceClient`가 내부적으로 생성·관리한다.
4
4
 
5
5
  ## When to use
6
6
 
@@ -1,6 +1,6 @@
1
- # BlobInput
1
+ # `BlobInput`
2
2
 
3
- Blob constructor가 허용하는 데이터 타입. DOM `BlobPart`를 대체하여 Node.js / 브라우저 양쪽에서 typecheck가 통과하도록 한다.
3
+ > **읽어야 하는 상황**: 파일 업로드 시 데이터 타입(`Blob`, `Uint8Array`, `ArrayBuffer`, `string`)을 지정할 때. `FileClient.upload()`의 `{ name, data }` 객체에서 `data` 필드 타입으로 사용된다.
4
4
 
5
5
  ```typescript
6
6
  export type BlobInput = Blob | Uint8Array<ArrayBuffer> | ArrayBuffer | string;
@@ -1,6 +1,6 @@
1
- # BrowserWorker
1
+ # `BrowserWorker`
2
2
 
3
- Web Worker 최소 인터페이스. DOM lib 없이도 타입체크가 통과하도록 하는 추상 타입이다.
3
+ > **읽어야 하는 상황**: Worker 인터페이스의 cross-env 타입 호환이 필요할 때. `ClientProtocolWrapper`가 내부적으로 사용하며, 직접 사용은 드물다.
4
4
 
5
5
  ```typescript
6
6
  export interface BrowserWorker {
@@ -1,6 +1,6 @@
1
- # FileCollection
1
+ # `FileCollection`
2
2
 
3
- File 컬렉션 인터페이스. DOM `FileList`를 대체하며 브라우저 `FileList`와 구조적으로 호환된다.
3
+ > **읽어야 하는 상황**: DOM `FileList` 호환 타입이 필요할 때. `FileClient.upload()` `ServiceClient.uploadFile()`의 `files` 파라미터에서 사용된다.
4
4
 
5
5
  ```typescript
6
6
  export interface FileCollection {
@@ -1,6 +1,6 @@
1
- # ServiceConnectionOptions
1
+ # `ServiceConnectionOptions`
2
2
 
3
- 서비스 서버에 연결할 사용하는 옵션 인터페이스.
3
+ > **읽어야 하는 상황**: `ServiceClient` 생성자에 전달할 연결 옵션(호스트, 포트, SSL, 재연결 횟수)을 구성할 때.
4
4
 
5
5
  ```typescript
6
6
  export interface ServiceConnectionOptions {
@@ -1,6 +1,6 @@
1
- # ServiceProgress
1
+ # `ServiceProgress`
2
2
 
3
- 요청/응답/서버 단계별 progress 콜백을 담는 컨테이너 인터페이스.
3
+ > **읽어야 하는 상황**: 요청/응답/서버 처리 진행률을 모니터링할 때. `ServiceClient.send()`의 `progress` 파라미터로 전달한다.
4
4
 
5
5
  ```typescript
6
6
  export interface ServiceProgress {
@@ -18,144 +18,51 @@ import type { ServiceMethods } from "@simplysm/service-server";
18
18
  npm install @simplysm/service-common
19
19
  ```
20
20
 
21
- ## 하려는 작업 → 먼저 읽을 파일
22
-
23
- | 작업 | 먼저 읽을 파일 |
24
- |------|----------------|
25
- | WebSocket 메시지 인코딩/디코딩 | [create-service-protocol.md](./protocol/create-service-protocol.md) |
26
- | 프로토콜 상수 확인 (크기 제한, 청킹 등) | [protocol-config.md](./protocol/protocol-config.md) |
27
- | 타입 안전 이벤트 정의 | [define-event.md](./events/define-event.md) |
28
- | 메뉴 트리·권한 구조 정의 | [app-structure-item.md](./app-structure/app-structure-item.md) |
29
- | 모듈 기반 권한 필터링 | [get-flat-permissions.md](./app-structure/get-flat-permissions.md) |
30
- | ORM 서비스 타입 계약 확인 | [orm-service.md](./service-types/orm-service.md) |
31
- | 메시지 타입 구조 파악 | [service-message.md](./protocol/service-message.md) |
32
-
33
- ## API Overview
34
-
35
- ### Protocol
36
-
37
- | Entry | Kind | 언제 쓰나 |
38
- |-------|------|-----------|
39
- | [`PROTOCOL_CONFIG`](./protocol/protocol-config.md) | const | 프로토콜 크기 제한·청킹 임계값 등 설정 상수를 참조할 때 |
40
- | [`ServiceMessage`](./protocol/service-message.md) | type | 양방향 메시지의 전체 유니언과 방향별 하위 유니언을 참조할 때 |
41
- | [`ServiceProgressMessage`](./protocol/service-progress-message.md) | interface | 청크 수신 진행 상태를 처리할 때 |
42
- | [`ServiceErrorMessage`](./protocol/service-error-message.md) | interface | 서버 에러 응답을 처리할 때 |
43
- | [`ServiceAuthMessage`](./protocol/service-auth-message.md) | interface | 클라이언트 인증 토큰을 전송할 때 |
44
- | [`ServiceRequestMessage`](./protocol/service-request-message.md) | interface | 서비스 메서드를 호출할 때 |
45
- | [`ServiceResponseMessage`](./protocol/service-response-message.md) | interface | 서비스 메서드 응답을 처리할 때 |
46
- | [`ServiceAddEventListenerMessage`](./protocol/service-add-event-listener-message.md) | interface | 이벤트 리스너를 등록할 때 |
47
- | [`ServiceRemoveEventListenerMessage`](./protocol/service-remove-event-listener-message.md) | interface | 이벤트 리스너를 제거할 때 |
48
- | [`ServiceGetEventListenerInfosMessage`](./protocol/service-get-event-listener-infos-message.md) | interface | 등록된 이벤트 리스너 정보를 조회할 때 |
49
- | [`ServiceEmitEventMessage`](./protocol/service-emit-event-message.md) | interface | 클라이언트에서 이벤트를 발생시킬 때 |
50
- | [`ServiceEventMessage`](./protocol/service-event-message.md) | interface | 서버에서 수신된 이벤트 알림을 처리할 때 |
51
- | [`createServiceProtocol`](./protocol/create-service-protocol.md) | function | WebSocket 메시지를 인코딩/디코딩할 때 (자동 청킹·재조립 포함) |
52
-
53
- ### Service Types
54
-
55
- | Entry | Kind | 언제 쓰나 |
56
- |-------|------|-----------|
57
- | [`OrmService`](./service-types/orm-service.md) | interface | DB 연결·트랜잭션·쿼리 실행의 서버-클라이언트 타입 계약을 정의할 때 |
58
- | [`AutoUpdateService`](./service-types/auto-update-service.md) | interface | 클라이언트 자동 업데이트 버전 조회 타입 계약을 정의할 때 |
59
- | [`AppStructureService`](./service-types/app-structure-service.md) | interface | 앱 구조 항목을 서버에서 조회하는 타입 계약을 정의할 때 |
60
-
61
- ### Types
62
-
63
- | Entry | Kind | 언제 쓰나 |
64
- |-------|------|-----------|
65
- | [`ServiceUploadResult`](./types/service-upload-result.md) | interface | 파일 업로드 결과를 타입으로 사용할 때 |
66
-
67
- ### App Structure
68
-
69
- | Entry | Kind | 언제 쓰나 |
70
- |-------|------|-----------|
71
- | [`AppStructureItem`](./app-structure/app-structure-item.md) | type | 앱 메뉴 트리·권한 구조를 정의할 때 |
72
- | [`isUsableModules`](./app-structure/is-usable-modules.md) | function | 단일 항목의 모듈 접근 가능 여부를 판단할 때 |
73
- | [`isUsableModulesChain`](./app-structure/is-usable-modules-chain.md) | function | 트리 경로 전체의 모듈 접근 가능 여부를 판단할 때 |
74
- | [`getFlatPermissions`](./app-structure/get-flat-permissions.md) | function | 앱 구조 트리를 플래트닝하여 권한 목록을 얻을 때 |
75
-
76
- ### Events
77
-
78
- | Entry | Kind | 언제 쓰나 |
79
- |-------|------|-----------|
80
- | [`defineEvent`](./events/define-event.md) | function | 서버-클라이언트 간 타입 안전 이벤트를 정의할 때 |
81
-
82
- ## Usage Examples
83
-
84
- ### 프로토콜 인코딩/디코딩
21
+ ## 하려는 작업 → 읽을 파일
85
22
 
86
- ```typescript
87
- import { createServiceProtocol } from "@simplysm/service-common";
88
-
89
- const protocol = createServiceProtocol();
90
-
91
- // 메시지 인코딩 (3MB 초과 시 자동 청킹)
92
- const { chunks, totalSize } = protocol.encode(uuid, {
93
- name: "OrmService.connect",
94
- body: [{ configName: "default" }],
95
- });
96
-
97
- // 메시지 디코딩 (청크 자동 재조립)
98
- for (const chunk of chunks) {
99
- const result = protocol.decode(chunk);
100
- if (result.type === "complete") {
101
- // result.message: 재조립된 메시지
102
- }
103
- }
104
-
105
- // 사용 후 반드시 해제
106
- protocol.dispose();
107
- ```
23
+ ### 통신 프로토콜
108
24
 
109
- ### 타입 안전 이벤트 정의
25
+ | 하려는 작업 | 읽을 파일 |
26
+ |-------------|-----------|
27
+ | WebSocket 메시지를 인코딩/디코딩 (자동 청킹·재조립 포함) | [create-service-protocol.md](./protocol/create-service-protocol.md) |
28
+ | 프로토콜 크기 제한·청킹 임계값 등 설정 상수를 참조 | [protocol-config.md](./protocol/protocol-config.md) |
29
+ | 메시지 타입 구조(유니언, 방향별 분류)를 파악 | [service-message.md](./protocol/service-message.md) |
110
30
 
111
- ```typescript
112
- import { defineEvent } from "@simplysm/service-common";
31
+ ### 이벤트
113
32
 
114
- // 서버에서 이벤트 정의 + 타입 export
115
- export const OrderUpdated = defineEvent<{ orderId: number }, { status: string }>("OrderUpdated");
33
+ | 하려는 작업 | 읽을 파일 |
34
+ |-------------|-----------|
35
+ | 서버-클라이언트 간 타입 안전 이벤트를 정의 | [define-event.md](./events/define-event.md) |
116
36
 
117
- // 서버에서 이벤트 발생 (제네릭 타입 파라미터 + 문자열 이름 패턴)
118
- await server.emitEvent<typeof OrderUpdated>("OrderUpdated", (info) => info.orderId === 123, { status: "shipped" });
37
+ ### 구조·권한
119
38
 
120
- // 클라이언트에서 구독 (import type으로 타입만 가져옴)
121
- import type { OrderUpdated } from "@server-package";
122
- await client.addListener<typeof OrderUpdated>("OrderUpdated", { orderId: 123 }, async (data) => {
123
- // data.status는 string으로 타입 추론됨
124
- });
125
- ```
39
+ | 하려는 작업 | 읽을 파일 |
40
+ |-------------|-----------|
41
+ | 메뉴 트리·권한 구조를 정의 | [app-structure-item.md](./app-structure/app-structure-item.md) |
42
+ | 구조 트리를 플래트닝하여 권한 목록을 산출 | [get-flat-permissions.md](./app-structure/get-flat-permissions.md) |
43
+ | 단일 항목의 모듈 접근 가능 여부를 판단 | [is-usable-modules.md](./app-structure/is-usable-modules.md) |
44
+ | 트리 경로 전체의 모듈 접근 가능 여부를 판단 | [is-usable-modules-chain.md](./app-structure/is-usable-modules-chain.md) |
126
45
 
127
- ### 구조 권한 플래트닝
46
+ ### 서비스 타입 계약
128
47
 
129
- ```typescript
130
- import { getFlatPermissions, isUsableModules } from "@simplysm/service-common";
131
- import type { AppStructureItem } from "@simplysm/service-common";
132
-
133
- const items: AppStructureItem<string>[] = [
134
- {
135
- code: "admin",
136
- title: "관리",
137
- children: [
138
- { code: "user", title: "사용자", perms: ["use", "edit"] },
139
- ],
140
- },
141
- {
142
- code: "report",
143
- title: "리포트",
144
- modules: ["moduleA"],
145
- perms: ["use"],
146
- },
147
- ];
148
-
149
- // 활성 모듈 기준으로 권한 플래트닝
150
- const perms = getFlatPermissions(items, ["moduleA"]);
151
- // [{ codeChain: ["admin", "user", "use"], ... }, { codeChain: ["admin", "user", "edit"], ... }, ...]
152
-
153
- // 개별 모듈 접근 가능 여부 확인
154
- const canAccess = isUsableModules(["moduleA", "moduleB"], undefined, ["moduleA"]); // true (OR 조건)
155
- ```
48
+ | 하려는 작업 | 읽을 파일 |
49
+ |-------------|-----------|
50
+ | DB 연결·트랜잭션·쿼리 실행의 서버-클라이언트 타입 계약을 확인 | [orm-service.md](./service-types/orm-service.md) |
51
+ | 클라이언트 자동 업데이트 버전 조회 타입 계약을 확인 | [auto-update-service.md](./service-types/auto-update-service.md) |
52
+ | 구조 항목을 서버에서 조회하는 타입 계약을 확인 | [app-structure-service.md](./service-types/app-structure-service.md) |
53
+
54
+ ### 공통 타입
55
+
56
+ | 하려는 작업 | 읽을 파일 |
57
+ |-------------|-----------|
58
+ | 파일 업로드 결과 타입을 사용 | [service-upload-result.md](./types/service-upload-result.md) |
156
59
 
157
60
  ## 이 패키지를 쓰지 말아야 할 때
158
61
 
159
62
  - 서버 로직 구현 (서비스 메서드 등록, WebSocket 핸들링) → `@simplysm/service-server`
160
63
  - 클라이언트에서 서버 호출 (RPC, 이벤트 구독) → `@simplysm/service-client`
161
64
  - v14 소비앱에서 타입만 필요할 때 → 서버 패키지에서 직접 `import type`
65
+
66
+ ---
67
+
68
+ > API 이름으로 검색: [_api-index.md](./_api-index.md)
@@ -0,0 +1,51 @@
1
+ # API Index — @simplysm/service-common
2
+
3
+ > API 이름을 알고 있을 때 해당 문서를 찾는 인덱스.
4
+ > 작업 기반으로 찾으려면 [README.md](./README.md) 참조.
5
+
6
+ ## Protocol
7
+
8
+ | API | Kind | 문서 | 언제 쓰나 |
9
+ |-----|------|------|-----------|
10
+ | `createServiceProtocol` | function | [create-service-protocol.md](./protocol/create-service-protocol.md) | WebSocket 메시지를 인코딩/디코딩할 때 |
11
+ | `PROTOCOL_CONFIG` | const | [protocol-config.md](./protocol/protocol-config.md) | 프로토콜 크기 제한·청킹 임계값 등 설정 상수를 참조할 때 |
12
+ | `ServiceMessage` | type | [service-message.md](./protocol/service-message.md) | 양방향 메시지의 전체 유니언과 방향별 하위 유니언을 참조할 때 |
13
+ | `ServiceProgressMessage` | interface | [service-progress-message.md](./protocol/service-progress-message.md) | 청크 수신 진행 상태를 처리할 때 |
14
+ | `ServiceErrorMessage` | interface | [service-error-message.md](./protocol/service-error-message.md) | 서버 에러 응답을 처리할 때 |
15
+ | `ServiceAuthMessage` | interface | [service-auth-message.md](./protocol/service-auth-message.md) | 클라이언트 인증 토큰을 전송할 때 |
16
+ | `ServiceRequestMessage` | interface | [service-request-message.md](./protocol/service-request-message.md) | 서비스 메서드를 호출할 때 |
17
+ | `ServiceResponseMessage` | interface | [service-response-message.md](./protocol/service-response-message.md) | 서비스 메서드 응답을 처리할 때 |
18
+ | `ServiceAddEventListenerMessage` | interface | [service-add-event-listener-message.md](./protocol/service-add-event-listener-message.md) | 이벤트 리스너를 등록할 때 |
19
+ | `ServiceRemoveEventListenerMessage` | interface | [service-remove-event-listener-message.md](./protocol/service-remove-event-listener-message.md) | 이벤트 리스너를 제거할 때 |
20
+ | `ServiceGetEventListenerInfosMessage` | interface | [service-get-event-listener-infos-message.md](./protocol/service-get-event-listener-infos-message.md) | 등록된 이벤트 리스너 정보를 조회할 때 |
21
+ | `ServiceEmitEventMessage` | interface | [service-emit-event-message.md](./protocol/service-emit-event-message.md) | 클라이언트에서 이벤트를 발생시킬 때 |
22
+ | `ServiceEventMessage` | interface | [service-event-message.md](./protocol/service-event-message.md) | 서버에서 수신된 이벤트 알림을 처리할 때 |
23
+
24
+ ## Events
25
+
26
+ | API | Kind | 문서 | 언제 쓰나 |
27
+ |-----|------|------|-----------|
28
+ | `defineEvent` | function | [define-event.md](./events/define-event.md) | 서버-클라이언트 간 타입 안전 이벤트를 정의할 때 |
29
+
30
+ ## App Structure
31
+
32
+ | API | Kind | 문서 | 언제 쓰나 |
33
+ |-----|------|------|-----------|
34
+ | `AppStructureItem` | type | [app-structure-item.md](./app-structure/app-structure-item.md) | 앱 메뉴 트리·권한 구조를 정의할 때 |
35
+ | `getFlatPermissions` | function | [get-flat-permissions.md](./app-structure/get-flat-permissions.md) | 앱 구조 트리를 플래트닝하여 권한 목록을 얻을 때 |
36
+ | `isUsableModules` | function | [is-usable-modules.md](./app-structure/is-usable-modules.md) | 단일 항목의 모듈 접근 가능 여부를 판단할 때 |
37
+ | `isUsableModulesChain` | function | [is-usable-modules-chain.md](./app-structure/is-usable-modules-chain.md) | 트리 경로 전체의 모듈 접근 가능 여부를 판단할 때 |
38
+
39
+ ## Service Types
40
+
41
+ | API | Kind | 문서 | 언제 쓰나 |
42
+ |-----|------|------|-----------|
43
+ | `OrmService` | interface | [orm-service.md](./service-types/orm-service.md) | DB 연결·트랜잭션·쿼리 실행의 서버-클라이언트 타입 계약을 확인할 때 |
44
+ | `AutoUpdateService` | interface | [auto-update-service.md](./service-types/auto-update-service.md) | 클라이언트 자동 업데이트 버전 조회 타입 계약을 확인할 때 |
45
+ | `AppStructureService` | interface | [app-structure-service.md](./service-types/app-structure-service.md) | 앱 구조 항목을 서버에서 조회하는 타입 계약을 확인할 때 |
46
+
47
+ ## Types
48
+
49
+ | API | Kind | 문서 | 언제 쓰나 |
50
+ |-----|------|------|-----------|
51
+ | `ServiceUploadResult` | interface | [service-upload-result.md](./types/service-upload-result.md) | 파일 업로드 결과를 타입으로 사용할 때 |
@@ -1,4 +1,6 @@
1
- # AppStructureItem
1
+ # `AppStructureItem`
2
+
3
+ > **읽어야 하는 상황**: 앱 메뉴 트리와 권한 구조를 정의할 때. 권한 플래트닝은 [`getFlatPermissions`](./get-flat-permissions.md), 모듈 접근 판단은 [`isUsableModules`](./is-usable-modules.md) 참조.
2
4
 
3
5
  앱 구조 항목 유니언 타입. `children` 필드 유무로 그룹(`AppStructureGroupItem`)과 리프(`AppStructureLeafItem`)를 구분한다.
4
6
 
@@ -1,4 +1,10 @@
1
- # getFlatPermissions
1
+ # `getFlatPermissions`
2
+
3
+ > **읽어야 하는 상황**: 앱 구조 트리를 플래트닝하여 사용자별 권한 목록을 산출할 때. 트리 구조 정의는 [`AppStructureItem`](./app-structure-item.md) 참조.
4
+
5
+ ## When to use
6
+
7
+ - 재귀 메뉴 트리에서 모듈 조건을 필터링하며 모든 권한을 플랫 배열로 추출할 때
2
8
 
3
9
  앱 구조 트리를 BFS로 순회하며 모듈 조건을 필터링하여 [`FlatPermission`](./app-structure-item.md)`[]`으로 플래트닝한다.
4
10
 
@@ -1,4 +1,6 @@
1
- # isUsableModulesChain
1
+ # `isUsableModulesChain`
2
+
3
+ > **읽어야 하는 상황**: 트리 경로의 각 레벨에서 모듈 조건을 모두 만족하는지 판단할 때. 개별 항목 판단은 [`isUsableModules`](./is-usable-modules.md) 참조.
2
4
 
3
5
  모듈 체인 전체의 접근 가능 여부를 판단한다. 트리의 각 레벨에서 모듈 조건을 모두 만족해야 한다.
4
6
 
@@ -1,4 +1,6 @@
1
- # isUsableModules
1
+ # `isUsableModules`
2
+
3
+ > **읽어야 하는 상황**: 단일 앱 구조 항목이 사용자의 모듈 목록으로 접근 가능한지 판단할 때. 트리 경로 전체의 판단은 [`isUsableModulesChain`](./is-usable-modules-chain.md) 참조.
2
4
 
3
5
  단일 항목의 모듈 접근 가능 여부를 판단한다.
4
6
 
@@ -1,4 +1,10 @@
1
- # defineEvent
1
+ # `defineEvent`
2
+
3
+ > **읽어야 하는 상황**: 서버-클라이언트 간 타입 안전 이벤트를 정의할 때. 이벤트 구독·발생 API는 `@simplysm/service-server`와 `@simplysm/service-client`에서 제공한다.
4
+
5
+ ## When to use
6
+
7
+ - 서버에서 이벤트를 정의하고, 클라이언트에서 `import type`으로 타입 안전하게 구독할 때
2
8
 
3
9
  타입 안전한 서비스 이벤트를 정의하는 팩토리 함수.
4
10
 
@@ -1,4 +1,11 @@
1
- # createServiceProtocol
1
+ # `createServiceProtocol`
2
+
3
+ > **읽어야 하는 상황**: WebSocket 메시지를 바이너리로 인코딩/디코딩하고, 대용량 메시지의 자동 청킹·재조립이 필요할 때. 프로토콜 설정 상수만 참조하려면 [`PROTOCOL_CONFIG`](./protocol-config.md) 참조.
4
+
5
+ ## When to use
6
+
7
+ - 서비스 클라이언트·서버 간 WebSocket 통신에서 메시지를 바이너리 프레임으로 변환할 때
8
+ - 3MB 초과 메시지를 300KB 청크로 자동 분할·재조립이 필요할 때
2
9
 
3
10
  ServiceProtocol 인스턴스를 생성하는 팩토리 함수.
4
11
 
@@ -1,4 +1,6 @@
1
- # PROTOCOL_CONFIG
1
+ # `PROTOCOL_CONFIG`
2
+
3
+ > **읽어야 하는 상황**: 프로토콜의 크기 제한, 청킹 임계값, GC 주기 등 설정 상수를 참조할 때. 인코딩/디코딩 API는 [`createServiceProtocol`](./create-service-protocol.md) 참조.
2
4
 
3
5
  서비스 프로토콜 설정 상수.
4
6
 
@@ -1,4 +1,6 @@
1
- # ServiceAddEventListenerMessage
1
+ # `ServiceAddEventListenerMessage`
2
+
3
+ > **읽어야 하는 상황**: 이벤트 리스너를 등록하는 메시지 구조를 파악할 때.
2
4
 
3
5
  클라이언트가 보내는 이벤트 리스너 추가 메시지.
4
6
 
@@ -1,4 +1,6 @@
1
- # ServiceAuthMessage
1
+ # `ServiceAuthMessage`
2
+
3
+ > **읽어야 하는 상황**: 클라이언트 인증 토큰을 전송할 때.
2
4
 
3
5
  클라이언트가 보내는 인증 메시지.
4
6
 
@@ -1,4 +1,6 @@
1
- # ServiceEmitEventMessage
1
+ # `ServiceEmitEventMessage`
2
+
3
+ > **읽어야 하는 상황**: 클라이언트에서 이벤트를 발생시키는 메시지 구조를 파악할 때.
2
4
 
3
5
  클라이언트가 보내는 이벤트 발생 메시지.
4
6
 
@@ -1,4 +1,6 @@
1
- # ServiceErrorMessage
1
+ # `ServiceErrorMessage`
2
+
3
+ > **읽어야 하는 상황**: 서버 에러 응답을 처리할 때.
2
4
 
3
5
  서버가 보내는 에러 알림 메시지.
4
6
 
@@ -1,4 +1,6 @@
1
- # ServiceEventMessage
1
+ # `ServiceEventMessage`
2
+
3
+ > **읽어야 하는 상황**: 서버에서 수신된 이벤트 알림을 처리할 때.
2
4
 
3
5
  서버가 보내는 이벤트 알림 메시지.
4
6
 
@@ -1,4 +1,6 @@
1
- # ServiceGetEventListenerInfosMessage
1
+ # `ServiceGetEventListenerInfosMessage`
2
+
3
+ > **읽어야 하는 상황**: 등록된 이벤트 리스너 정보를 조회하는 메시지 구조를 파악할 때.
2
4
 
3
5
  클라이언트가 보내는 이벤트 리스너 정보 목록 요청 메시지.
4
6
 
@@ -1,4 +1,6 @@
1
- # ServiceMessage
1
+ # `ServiceMessage`
2
+
3
+ > **읽어야 하는 상황**: 양방향 메시지의 전체 유니언 또는 방향별 하위 유니언(`ServiceClientMessage`, `ServiceServerMessage`)의 구조를 파악할 때.
2
4
 
3
5
  모든 서비스 메시지의 유니언 타입. 클라이언트·서버 양방향 메시지를 모두 포함한다.
4
6
 
@@ -1,4 +1,6 @@
1
- # ServiceProgressMessage
1
+ # `ServiceProgressMessage`
2
+
3
+ > **읽어야 하는 상황**: 청크 수신 진행 상태를 처리할 때.
2
4
 
3
5
  서버가 보내는 청크 수신 진행 상태 알림 메시지.
4
6
 
@@ -1,4 +1,6 @@
1
- # ServiceRemoveEventListenerMessage
1
+ # `ServiceRemoveEventListenerMessage`
2
+
3
+ > **읽어야 하는 상황**: 이벤트 리스너를 제거하는 메시지 구조를 파악할 때.
2
4
 
3
5
  클라이언트가 보내는 이벤트 리스너 제거 메시지.
4
6
 
@@ -1,4 +1,6 @@
1
- # ServiceRequestMessage
1
+ # `ServiceRequestMessage`
2
+
3
+ > **읽어야 하는 상황**: 서비스 메서드를 호출하는 요청 메시지 구조를 파악할 때.
2
4
 
3
5
  클라이언트가 보내는 서비스 메서드 요청 메시지.
4
6
 
@@ -1,4 +1,6 @@
1
- # ServiceResponseMessage
1
+ # `ServiceResponseMessage`
2
+
3
+ > **읽어야 하는 상황**: 서비스 메서드 응답을 처리할 때.
2
4
 
3
5
  서버가 보내는 서비스 메서드 응답 메시지.
4
6
 
@@ -1,4 +1,6 @@
1
- # AppStructureService
1
+ # `AppStructureService`
2
+
3
+ > **읽어야 하는 상황**: 앱 구조 항목을 서버에서 조회하는 타입 계약을 확인할 때. 앱 구조 타입 정의는 [`AppStructureItem`](../app-structure/app-structure-item.md) 참조.
2
4
 
3
5
  서버에 등록된 앱 구조 항목을 클라이언트명 기준 맵으로 조회하는 서비스 인터페이스.
4
6
 
@@ -1,4 +1,6 @@
1
- # AutoUpdateService
1
+ # `AutoUpdateService`
2
+
3
+ > **읽어야 하는 상황**: 클라이언트 자동 업데이트 버전 조회의 서버-클라이언트 타입 계약을 확인할 때.
2
4
 
3
5
  클라이언트 애플리케이션의 최신 버전 정보를 조회하는 서비스 인터페이스.
4
6
 
@@ -1,4 +1,6 @@
1
- # OrmService
1
+ # `OrmService`
2
+
3
+ > **읽어야 하는 상황**: DB 연결·트랜잭션·쿼리 실행의 서버-클라이언트 타입 계약을 확인할 때. 서버 측 구현은 `@simplysm/service-server`, 클라이언트 측 호출은 `@simplysm/service-client` 참조.
2
4
 
3
5
  데이터베이스 연결, 트랜잭션 관리, 쿼리 실행을 제공하는 서비스 인터페이스. MySQL, MSSQL, PostgreSQL을 지원한다. 이 패키지에는 구현체가 없으며, 서버(`service-server`)와 클라이언트(`service-client`)가 공유하는 타입 계약이다.
4
6
 
@@ -1,4 +1,6 @@
1
- # ServiceUploadResult
1
+ # `ServiceUploadResult`
2
+
3
+ > **읽어야 하는 상황**: 파일 업로드 결과 타입을 사용할 때.
2
4
 
3
5
  파일 업로드 결과. 서버에 업로드된 파일의 정보를 포함한다.
4
6