@simplysm/sd-claude 14.0.89 → 14.0.91

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 (79) hide show
  1. package/claude/references/sd-simplysm14/README.md +16 -17
  2. package/claude/references/sd-simplysm14/apis/angular/README.md +52 -30
  3. package/claude/references/sd-simplysm14/apis/angular/controls.md +200 -38
  4. package/claude/references/sd-simplysm14/apis/angular/crud.md +41 -53
  5. package/claude/references/sd-simplysm14/apis/angular/directives.md +66 -22
  6. package/claude/references/sd-simplysm14/apis/angular/features.md +127 -40
  7. package/claude/references/sd-simplysm14/apis/angular/infra.md +60 -43
  8. package/claude/references/sd-simplysm14/apis/angular/layout.md +56 -20
  9. package/claude/references/sd-simplysm14/apis/angular/overlay.md +74 -74
  10. package/claude/references/sd-simplysm14/apis/angular/routing-appstructure.md +50 -40
  11. package/claude/references/sd-simplysm14/apis/angular/selection-managers.md +55 -15
  12. package/claude/references/sd-simplysm14/apis/angular/shared-data.md +59 -42
  13. package/claude/references/sd-simplysm14/apis/angular/sheet.md +77 -62
  14. package/claude/references/sd-simplysm14/apis/capacitor-plugin-auto-update/README.md +8 -7
  15. package/claude/references/sd-simplysm14/apis/capacitor-plugin-file-system/README.md +71 -43
  16. package/claude/references/sd-simplysm14/apis/capacitor-plugin-intent/README.md +22 -14
  17. package/claude/references/sd-simplysm14/apis/capacitor-plugin-usb-storage/README.md +19 -19
  18. package/claude/references/sd-simplysm14/apis/core-browser/README.md +17 -17
  19. package/claude/references/sd-simplysm14/apis/core-browser/dom-element.md +28 -28
  20. package/claude/references/sd-simplysm14/apis/core-browser/indexed-db.md +37 -37
  21. package/claude/references/sd-simplysm14/apis/core-common/README.md +87 -219
  22. package/claude/references/sd-simplysm14/apis/core-common/array-ext.md +54 -98
  23. package/claude/references/sd-simplysm14/apis/core-common/async-runtime.md +57 -99
  24. package/claude/references/sd-simplysm14/apis/core-common/datetime.md +60 -103
  25. package/claude/references/sd-simplysm14/apis/core-common/errors.md +42 -47
  26. package/claude/references/sd-simplysm14/apis/core-common/obj.md +42 -88
  27. package/claude/references/sd-simplysm14/apis/core-common/serialization.md +55 -0
  28. package/claude/references/sd-simplysm14/apis/core-node/README.md +6 -7
  29. package/claude/references/sd-simplysm14/apis/core-node/consola.md +17 -12
  30. package/claude/references/sd-simplysm14/apis/core-node/cpx.md +14 -13
  31. package/claude/references/sd-simplysm14/apis/core-node/fs-watcher.md +9 -8
  32. package/claude/references/sd-simplysm14/apis/core-node/fsx.md +14 -13
  33. package/claude/references/sd-simplysm14/apis/core-node/pathx.md +4 -8
  34. package/claude/references/sd-simplysm14/apis/core-node/worker.md +14 -12
  35. package/claude/references/sd-simplysm14/apis/excel/README.md +22 -22
  36. package/claude/references/sd-simplysm14/apis/excel/cell.md +37 -29
  37. package/claude/references/sd-simplysm14/apis/excel/conditional-format.md +29 -15
  38. package/claude/references/sd-simplysm14/apis/excel/style.md +33 -27
  39. package/claude/references/sd-simplysm14/apis/excel/utils.md +29 -19
  40. package/claude/references/sd-simplysm14/apis/excel/workbook-worksheet.md +78 -55
  41. package/claude/references/sd-simplysm14/apis/excel/wrapper.md +42 -45
  42. package/claude/references/sd-simplysm14/apis/orm-common/README.md +6 -8
  43. package/claude/references/sd-simplysm14/apis/orm-common/db-context.md +118 -67
  44. package/claude/references/sd-simplysm14/apis/orm-common/expr.md +83 -86
  45. package/claude/references/sd-simplysm14/apis/orm-common/queryable.md +102 -93
  46. package/claude/references/sd-simplysm14/apis/orm-common/schema.md +138 -81
  47. package/claude/references/sd-simplysm14/apis/orm-common/types.md +49 -44
  48. package/claude/references/sd-simplysm14/apis/orm-node/README.md +42 -42
  49. package/claude/references/sd-simplysm14/apis/orm-node/db-conn.md +44 -33
  50. package/claude/references/sd-simplysm14/apis/sd-cli/README.md +11 -10
  51. package/claude/references/sd-simplysm14/apis/service-client/README.md +56 -52
  52. package/claude/references/sd-simplysm14/apis/service-client/orm.md +33 -28
  53. package/claude/references/sd-simplysm14/apis/service-client/transport.md +23 -21
  54. package/claude/references/sd-simplysm14/apis/service-common/README.md +83 -48
  55. package/claude/references/sd-simplysm14/apis/service-common/app-structure.md +126 -34
  56. package/claude/references/sd-simplysm14/apis/service-common/protocol.md +109 -54
  57. package/claude/references/sd-simplysm14/apis/service-server/README.md +69 -81
  58. package/claude/references/sd-simplysm14/apis/service-server/service-authoring.md +46 -43
  59. package/claude/references/sd-simplysm14/apis/service-server/transport-internals.md +63 -37
  60. package/claude/references/sd-simplysm14/apis/service-server/v1-legacy.md +40 -30
  61. package/claude/references/sd-simplysm14/apis/storage/README.md +17 -17
  62. package/claude/references/sd-simplysm14/manuals/client-app-structure.md +135 -140
  63. package/claude/references/sd-simplysm14/manuals/client-orm.md +1 -1
  64. package/claude/references/sd-simplysm14/manuals/client-service.md +19 -7
  65. package/claude/references/sd-simplysm14/manuals/client-shared-data.md +2 -2
  66. package/claude/references/sd-simplysm14/manuals/client-system-log.md +16 -4
  67. package/claude/references/sd-simplysm14/manuals/data-log.md +0 -1
  68. package/claude/references/sd-simplysm14/manuals/orm.md +16 -0
  69. package/claude/rules/sd-design-rules.md +10 -0
  70. package/claude/skills/sd-demo/SKILL.md +0 -6
  71. package/claude/skills/sd-docs/SKILL.md +60 -0
  72. package/claude/{workflows/sd-docs.rules.md → skills/sd-docs/references/subagent-prompt.md} +118 -103
  73. package/claude/skills/sd-impl/SKILL.md +7 -4
  74. package/claude/skills/sd-spec/SKILL.md +842 -15
  75. package/claude/skills/sd-spec/references/example-spec.md +26 -36
  76. package/package.json +1 -1
  77. package/claude/references/sd-simplysm14/apis/core-common/json-transfer.md +0 -53
  78. package/claude/skills/sd-spec/references/spec-authoring.md +0 -519
  79. package/claude/workflows/sd-docs.js +0 -84
@@ -93,14 +93,14 @@ flowchart LR
93
93
 
94
94
  ## 4. 화면
95
95
 
96
- | § | 분류 | 화면 | 유형 | 장치 |
97
- | --- | -------- | ------------------ | -------- | ---- |
98
- | 4.1 | 기준정보 | 품목 관리 | 마스터 | PC |
99
- | 4.2 | 기준정보 | 품목 등록·편집 | 마스터 | PC |
100
- | 4.3 | 기준정보 | Location 관리 | 마스터 | PC |
101
- | 4.4 | 기준정보 | Location 등록·편집 | 마스터 | PC |
102
- | 4.5 | 입고 | 입고 스캔 | 트랜잭션 | PDA |
103
- | 4.6 | 재고 | 재고 확인 | 조회 | PC |
96
+ | § | 분류 | 화면 | 유형 | 장치 |
97
+ | --- | -------- | ------------- | -------- | ---- |
98
+ | 4.1 | 기준정보 | 품목 관리 | 마스터 | PC |
99
+ | 4.2 | 기준정보 | Location 관리 | 마스터 | PC |
100
+ | 4.3 | 입고 | 입고 스캔 | 트랜잭션 | PDA |
101
+ | 4.4 | 재고 | 재고 확인 | 조회 | PC |
102
+
103
+ 전용 모달(품목 등록·편집·Location 등록·편집)은 각각 호출 화면(품목 관리·Location 관리) 한 곳에서만 쓰이므로 별도 §4.x 분리하지 않고 부모 §4.x 안에 포함 (sub-section). 자세한 배치 규칙은 spec-authoring.md "모달 처리" 참조.
104
104
 
105
105
  ### 4.1 품목 관리 (PC) [확정: 2026-04-01, 구현: 2026-04-05]
106
106
 
@@ -145,8 +145,8 @@ Actor: 창고 관리자
145
145
  #### 동작
146
146
 
147
147
  - `[조회]` 클릭: 검색 필터 조건으로 목록을 갱신
148
- - `[등록]` 클릭: [화면.품목 등록·편집] 을 빈 폼 상태로 모달 띄움
149
- - ID 버튼 클릭: [화면.품목 등록·편집] 을 해당 행 데이터로 채워 모달 띄움
148
+ - `[등록]` 클릭: 품목 등록·편집 을 빈 폼 상태로 모달 띄움
149
+ - ID 버튼 클릭: 품목 등록·편집 을 해당 행 데이터로 채워 모달 띄움
150
150
  - `[선택 삭제]` 클릭: 선택된 행들의 활성 여부를 false 로 전환 (이후 해당 품목 입출고 불가)
151
151
  - `[선택 복구]` 클릭: 선택된 행들의 활성 여부를 true 로 전환
152
152
  - `[엑셀 업로드]` 클릭: 엑셀 파일 선택 후, 코드를 키로 일괄 등록·수정
@@ -166,16 +166,11 @@ Actor: 창고 관리자
166
166
  | `화주코드` + `SEQ` | [모델.품목.코드] | `<화주코드>-<SEQ>` 형식으로 합성 |
167
167
  | `품목명` | [모델.품목.명칭] | 1:1 |
168
168
 
169
- ### 4.2 품목 등록·편집 (PC) [확정: 2026-04-01, 구현: 2026-04-05]
169
+ #### 품목 등록·편집 (모달)
170
170
 
171
- Actor: 창고 관리자
172
- 관련 섹션: [프로세스.입고]
173
-
174
- 기능 개요:
171
+ 품목 신규 등록 또는 기존 품목 편집 (호출하는 쪽에서 빈 폼/기존 데이터로 모달 띄움).
175
172
 
176
- - 품목 신규 등록 또는 기존 품목 편집 (호출하는 쪽에서 빈 폼/기존 데이터로 모달 띄움)
177
-
178
- #### 와이어프레임
173
+ ##### 와이어프레임
179
174
 
180
175
  ```
181
176
  ┌──────────────────────────────────────┐
@@ -187,7 +182,7 @@ Actor: 창고 관리자
187
182
  └──────────────────────────────────────┘
188
183
  ```
189
184
 
190
- #### 항목
185
+ ##### 항목
191
186
 
192
187
  **입력 폼**
193
188
 
@@ -196,12 +191,12 @@ Actor: 창고 관리자
196
191
  | 코드 | 텍스트 입력 | O | [모델.품목.코드] | |
197
192
  | 명칭 | 텍스트 입력 | O | [모델.품목.명칭] | |
198
193
 
199
- #### 동작
194
+ ##### 동작
200
195
 
201
196
  - `[저장]` 클릭: 활성 품목 내에서 코드·명칭 유일성을 검증한 뒤 저장하고 모달 닫음
202
197
  - `[취소]` 클릭: 변경 사항을 폐기하고 모달 닫음
203
198
 
204
- ### 4.3 Location 관리 (PC) [확정: 2026-04-01]
199
+ ### 4.2 Location 관리 (PC) [확정: 2026-04-01]
205
200
 
206
201
  Actor: 창고 관리자
207
202
  관련 섹션: [프로세스.입고]
@@ -243,8 +238,8 @@ Actor: 창고 관리자
243
238
  #### 동작
244
239
 
245
240
  - `[조회]` 클릭: 검색 필터 조건으로 목록을 갱신
246
- - `[등록]` 클릭: [화면.Location 등록·편집] 을 빈 폼 상태로 모달 띄움
247
- - ID 버튼 클릭: [화면.Location 등록·편집] 을 해당 행 데이터로 채워 모달 띄움
241
+ - `[등록]` 클릭: Location 등록·편집 을 빈 폼 상태로 모달 띄움
242
+ - ID 버튼 클릭: Location 등록·편집 을 해당 행 데이터로 채워 모달 띄움
248
243
  - `[선택 삭제]` 클릭: 선택된 행들의 활성 여부를 false 로 전환
249
244
  - `[선택 복구]` 클릭: 선택된 행들의 활성 여부를 true 로 전환
250
245
  - `[엑셀 업로드]` 클릭: 엑셀 파일 선택 후, 코드를 키로 일괄 등록·수정
@@ -264,16 +259,11 @@ Actor: 창고 관리자
264
259
 
265
260
  - 비활성 행: 전체 텍스트에 취소선 + 회색 처리
266
261
 
267
- ### 4.4 Location 등록·편집 (PC) [확정: 2026-04-01]
262
+ #### Location 등록·편집 (모달)
268
263
 
269
- Actor: 창고 관리자
270
- 관련 섹션: [프로세스.입고]
271
-
272
- 기능 개요:
264
+ Location 신규 등록 또는 기존 Location 편집 (호출하는 쪽에서 빈 폼/기존 데이터로 모달 띄움).
273
265
 
274
- - Location 신규 등록 또는 기존 Location 편집 (호출하는 쪽에서 빈 폼/기존 데이터로 모달 띄움)
275
-
276
- #### 와이어프레임
266
+ ##### 와이어프레임
277
267
 
278
268
  ```
279
269
  ┌──────────────────────────────────────┐
@@ -285,7 +275,7 @@ Actor: 창고 관리자
285
275
  └──────────────────────────────────────┘
286
276
  ```
287
277
 
288
- #### 항목
278
+ ##### 항목
289
279
 
290
280
  **입력 폼**
291
281
 
@@ -293,12 +283,12 @@ Actor: 창고 관리자
293
283
  | ---- | ----------- | ---- | -------------------- | ----------------------- |
294
284
  | 코드 | 텍스트 입력 | O | [모델.Location.코드] | 영문 대문자/숫자/하이픈 |
295
285
 
296
- #### 동작
286
+ ##### 동작
297
287
 
298
288
  - `[저장]` 클릭: 활성 Location 내에서 코드 유일성을 검증한 뒤 저장하고 모달 닫음
299
289
  - `[취소]` 클릭: 변경 사항을 폐기하고 모달 닫음
300
290
 
301
- ### 4.5 입고 스캔 (PDA) [확정: 2026-04-01]
291
+ ### 4.3 입고 스캔 (PDA) [확정: 2026-04-01]
302
292
 
303
293
  Actor: 창고 작업자
304
294
  관련 섹션: [프로세스.입고], [외부 인터페이스.ERP 입고 통보]
@@ -338,7 +328,7 @@ Actor: 창고 작업자
338
328
  3. [모델.재고] 레코드 생성
339
329
  4. [외부 인터페이스.ERP 입고 통보] 호출
340
330
 
341
- ### 4.6 재고 확인 (PC) [확정: 2026-04-01]
331
+ ### 4.4 재고 확인 (PC) [확정: 2026-04-01]
342
332
 
343
333
  Actor: 창고 관리자
344
334
  관련 섹션: [프로세스.입고], [기타.과거 재고 조회], [자동 처리.재고 스냅샷]
@@ -602,4 +592,4 @@ Actor: 창고 관리자
602
592
  - 영향: 업무 프로세스 출고(2.2번 섹션) OPEN 상태 유지
603
593
 
604
594
  - 2026-04-05: 품목 마스터 sd-impl 완료 (구현 마커 부착)
605
- - 근거: 시연 검증 통과 — 화면 품목 관리(4.1번 섹션), 품목 등록·편집(4.2번 섹션)
595
+ - 근거: 시연 검증 통과 — 화면 품목 관리(4.1번 섹션, 품목 등록·편집 모달 영역 포함)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@simplysm/sd-claude",
3
- "version": "14.0.89",
3
+ "version": "14.0.91",
4
4
  "description": "심플리즘 패키지 - Claude Code 셋업",
5
5
  "author": "심플리즘",
6
6
  "license": "Apache-2.0",
@@ -1,53 +0,0 @@
1
- # @simplysm/core-common — JSON / Worker 직렬화 (json / transfer)
2
-
3
- 커스텀 타입을 보존하며 직렬화/역직렬화할 때 함께 읽히는 묶음. `json`(문자열 ↔ 객체)과 `transfer`(Web Worker 메시지 ↔ 객체). 두 모듈 모두 `Date`/`DateTime`/`DateOnly`/`Time`/`Uuid`/`Set`/`Map`/`Error`/`Uint8Array` 를 `{ __type__, data }` 태그 객체로 변환해 왕복 보존한다. (XML 직렬화 `xml` 네임스페이스는 README 의 "xml" 인라인 섹션 참조.)
4
-
5
- ## json
6
-
7
- `import { json } from "@simplysm/core-common"`.
8
-
9
- ```typescript
10
- json.stringify(obj: unknown, options?: {
11
- space?: string | number;
12
- replacer?: (key: string | undefined, value: unknown) => unknown;
13
- redactBytes?: boolean;
14
- }): string;
15
- json.parse<TResult = unknown>(json: string): TResult;
16
- ```
17
-
18
- - `stringify(obj, options)` — 커스텀 타입을 태그 객체로 변환 후 `JSON.stringify`. 전역 프로토타입을 건드리지 않아 Worker 환경에서 안전.
19
- - `space` — 들여쓰기(숫자=공백 수, 문자열=들여쓰기 문자).
20
- - `replacer(key, value)` — 기본 타입 변환 **전에** 호출되는 커스텀 변환 훅.
21
- - `redactBytes: true` — `Uint8Array` 내용을 `"__hidden__"` 으로 대체(로깅용). 이 결과는 `parse` 로 복원 불가(복원 시도 시 `SdError`).
22
- - 순환 참조가 있으면 `TypeError`. `toJSON` 메서드가 있는 객체는 그 결과를 사용(Date/DateTime 등 커스텀 타입은 사전 변환 처리됨).
23
- - `parse(json)` — 태그 객체를 원래 타입으로 복원. 복원 후 **모든 JSON null 을 undefined 로 변환**(simplysm null-free 규칙, `obj.nullToUndefined` 사용). 파싱 실패 시 `SdError`로 감싸 throw — `env("DEV")` 가 truthy 면 전체 JSON 문자열을, 아니면 길이만 메시지에 포함.
24
-
25
- 주의: 사용자 데이터에 우연히 `{ __type__: "Date"|..., data: ... }` 형태가 있으면 의도치 않게 타입으로 복원될 수 있음.
26
-
27
- ```typescript
28
- const s = json.stringify({ at: new DateTime(), id: Uuid.generate() }, { space: 2 });
29
- const o = json.parse<{ at: DateTime; id: Uuid }>(s); // 타입 복원, null→undefined
30
- ```
31
-
32
- ## transfer
33
-
34
- `import { transfer } from "@simplysm/core-common"`. `structuredClone` 이 다루지 못하는 커스텀 타입을 Worker 로 보내기 위한 인코딩/디코딩.
35
-
36
- ```typescript
37
- transfer.encode(obj: unknown): { result: unknown; transferList: ArrayBuffer[] };
38
- transfer.decode(obj: unknown): unknown;
39
- ```
40
-
41
- - `encode(obj)` — 커스텀 타입을 태그 객체로 변환한 `result` 와, zero-copy 전송 대상 `transferList`(Uint8Array 의 ArrayBuffer)를 반환. `postMessage(result, transferList)` 에 그대로 전달.
42
- - `Uint8Array` 는 태그하지 않고 그대로 두되 그 buffer 를 `transferList` 에 추가(`SharedArrayBuffer` 는 제외 — 이미 공유 메모리).
43
- - `Error` 는 `name`/`message`/`stack` 과 존재 시 `code`/`detail`/`cause` 까지 재귀 인코딩.
44
- - 순환 참조 시 경로 정보를 담아 `TypeError` throw. 같은 객체가 여러 번 참조되면 캐싱된 인코딩 재사용.
45
- - `decode(obj)` — Worker 에서 받은 데이터의 태그 객체를 원래 타입으로 복원(`Date`/`DateTime`/`DateOnly`/`Time`/`Uuid`/`RegExp`/`Error`, Array/Map/Set/객체 재귀). `Uint8Array` 는 그대로 통과.
46
-
47
- ```typescript
48
- // 송신
49
- const { result, transferList } = transfer.encode(data);
50
- worker.postMessage(result, transferList);
51
- // 수신
52
- const decoded = transfer.decode(event.data);
53
- ```