@g1cloud/entity-modeler-next 5.0.0-beta.6 → 5.0.0-beta.7

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.
@@ -84,6 +84,38 @@ export type ResolveError = {
84
84
  handle: Handle;
85
85
  matches: ModelId[];
86
86
  }
87
+ /**
88
+ * attribute/operation.reorder가 같은 배치에서 동일 엔티티의 멤버십 변경(add/remove)과 공존(D4).
89
+ * reorder value는 *현재 model*(add 미반영·remove 반영)로 조립되므로 host의 전체배열 $set이 신규 요소를
90
+ * drop하거나 삭제 예정 요소를 되살린다 → 멤버십 먼저 확정 후 별도 배치로 reorder(playbook 순서 규율).
91
+ */
92
+ | {
93
+ code: 'reorder-conflicting-batch';
94
+ opIndex: number;
95
+ entity: Handle;
96
+ }
97
+ /** reorder order 목록의 핸들이 엔티티 내 속성/메서드와 0개 매칭(D7 — 부분 재배치 안 함, 전체 거부). */
98
+ | {
99
+ code: 'reorder-handle-not-found';
100
+ opIndex: number;
101
+ entity: Handle;
102
+ handle: Handle;
103
+ }
104
+ /** reorder order 목록의 핸들이 복수 매칭(모호). */
105
+ | {
106
+ code: 'reorder-handle-ambiguous';
107
+ opIndex: number;
108
+ entity: Handle;
109
+ handle: Handle;
110
+ matches: ModelId[];
111
+ }
112
+ /** reorder order 목록에 같은 요소가 두 번(중복 핸들) — 배열 재배치 모호. */
113
+ | {
114
+ code: 'reorder-handle-duplicate';
115
+ opIndex: number;
116
+ entity: Handle;
117
+ handle: Handle;
118
+ }
87
119
  /**
88
120
  * index.update patch에 `columns` 키 — columnRef(dbAttr modelId)는 사람 핸들로 표현 불가라 패스스루 시
89
121
  * 깨진 인덱스가 된다. 컬럼 변경은 index.remove + index.add(컬럼 핸들 해소 구현)로 유도(거부 권고안).
@@ -231,6 +231,10 @@ export type SymbolicOp = {
231
231
  kind: 'attribute.remove';
232
232
  entity: Handle;
233
233
  attribute: Handle;
234
+ } | {
235
+ kind: 'attribute.reorder';
236
+ entity: Handle;
237
+ order: Handle[];
234
238
  } | {
235
239
  kind: 'association.add';
236
240
  spec: AssocSpec;
@@ -272,6 +276,10 @@ export type SymbolicOp = {
272
276
  kind: 'operation.remove';
273
277
  entity: Handle;
274
278
  operation: Handle;
279
+ } | {
280
+ kind: 'operation.reorder';
281
+ entity: Handle;
282
+ operations: Handle[];
275
283
  } | {
276
284
  kind: 'group.add';
277
285
  spec: GroupSpec;
@@ -280,5 +288,5 @@ export type SymbolicOp = {
280
288
  * v1이 다루는 심볼릭 op 종류의 닫힌 집합(단일 출처). resolver·JSON Schema(`schema.ts`)가 공유한다.
281
289
  * 아래 컴파일타임 단언이 이 튜플과 `SymbolicOp['kind']`의 일치를 강제 — 한쪽만 늘리면 타입 에러.
282
290
  */
283
- export declare const SYMBOLIC_OP_KINDS: readonly ["entity.add", "entity.update", "entity.remove", "attribute.add", "attribute.update", "attribute.remove", "association.add", "association.remove", "association.update", "associationEnd.update", "index.add", "index.update", "index.remove", "operation.add", "operation.update", "operation.remove", "group.add"];
291
+ export declare const SYMBOLIC_OP_KINDS: readonly ["entity.add", "entity.update", "entity.remove", "attribute.add", "attribute.update", "attribute.remove", "association.add", "association.remove", "association.update", "associationEnd.update", "index.add", "index.update", "index.remove", "operation.add", "operation.update", "operation.remove", "attribute.reorder", "operation.reorder", "group.add"];
284
292
  export type SymbolicOpKind = (typeof SYMBOLIC_OP_KINDS)[number];