@g1cloud/entity-modeler-next 5.0.0-beta.31 → 5.0.0-beta.35
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.
- package/dist/agent/resolver.d.ts +61 -0
- package/dist/entity-modeler.js +9230 -9141
- package/dist/entity-modeler.umd.cjs +28 -28
- package/package.json +1 -1
package/dist/agent/resolver.d.ts
CHANGED
|
@@ -183,6 +183,67 @@ export type ResolveError = {
|
|
|
183
183
|
handle: Handle;
|
|
184
184
|
keys: string[];
|
|
185
185
|
}
|
|
186
|
+
/**
|
|
187
|
+
* entity.update patch에 Entity 논리 노드에 실재하지 않는 미지 키 — `attribute-patch-unknown-key`의 형제.
|
|
188
|
+
*
|
|
189
|
+
* ★이 op은 **스키마가 의도적으로 open**이다(dotted-key `jpaAttrs.*`가 필요해 `additionalProperties:false`로
|
|
190
|
+
* 닫지 못한다 — schema.ts §5.2 폐색 주석). 즉 LLM 가이드가 없는 경로이고 **resolver가 유일한 게이트**다.
|
|
191
|
+
* 특히 `attributes`/`indexes`/`operations`(자식 컬렉션)가 통과하면 호스트 인터프리터가 논리 노드에 통째
|
|
192
|
+
* `$set`해 **전 배열 blind-write**가 된다(모든 modelId 재발급 = 인덱스 columnRef·derivedFrom·end.attributeRef
|
|
193
|
+
* 전량 dangling). 자식 변경은 전용 op 소관.
|
|
194
|
+
*/
|
|
195
|
+
| {
|
|
196
|
+
code: 'entity-patch-unknown-key';
|
|
197
|
+
opIndex: number;
|
|
198
|
+
entity: Handle;
|
|
199
|
+
keys: string[];
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* entity.add의 논리명이 모델에 이미 있는 엔티티와 충돌. 통과시키면 **도구가 스스로 `CHK-NAME-3`(error)
|
|
203
|
+
* 상태를 만든다**(CC-5 교훈: 엔진이 검증 error 상태를 생성하지 않는다). 더 나쁜 건 같은 배치의 형제
|
|
204
|
+
* op이다 — pending 가드는 `not-found`일 때만 격상하므로(`entityErr`), 이름이 겹치면 자식 op의 핸들이
|
|
205
|
+
* **기존 엔티티로 조용히 해소돼** 사용자가 의도한 신규 엔티티가 아니라 남의 엔티티에 붙는다.
|
|
206
|
+
* 이름은 사용자·AI가 정해야 할 값이라 도구가 유일화(`Order2`)로 발명하지 않는다([[dont-invent-unknown-values]]).
|
|
207
|
+
*/
|
|
208
|
+
| {
|
|
209
|
+
code: 'entity-name-conflict';
|
|
210
|
+
opIndex: number;
|
|
211
|
+
handle: Handle;
|
|
212
|
+
matches: ModelId[];
|
|
213
|
+
}
|
|
214
|
+
/** association.update patch 미지 키(스키마는 하드 폐색 — REST 직접 호출 대비 심층 방어). */
|
|
215
|
+
| {
|
|
216
|
+
code: 'association-patch-unknown-key';
|
|
217
|
+
opIndex: number;
|
|
218
|
+
handle: AssocHandle;
|
|
219
|
+
keys: string[];
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* associationEnd.update patch 미지 키. entity.update와 같은 이유로 스키마가 open(dotted `jpa.*`)이라
|
|
223
|
+
* resolver가 유일한 게이트다. `entityRef`·`attributeRef`는 구조 참조라 patch로 바꾸면 관계가 끊긴다.
|
|
224
|
+
*/
|
|
225
|
+
| {
|
|
226
|
+
code: 'association-end-patch-unknown-key';
|
|
227
|
+
opIndex: number;
|
|
228
|
+
handle: AssocHandle;
|
|
229
|
+
keys: string[];
|
|
230
|
+
}
|
|
231
|
+
/** index.update patch 미지 키(스키마 하드 폐색 — 심층 방어). `columns`는 전용 에러가 먼저 잡는다. */
|
|
232
|
+
| {
|
|
233
|
+
code: 'index-patch-unknown-key';
|
|
234
|
+
opIndex: number;
|
|
235
|
+
entity: Handle;
|
|
236
|
+
handle: Handle;
|
|
237
|
+
keys: string[];
|
|
238
|
+
}
|
|
239
|
+
/** operation.update patch 미지 키(스키마 하드 폐색 — 심층 방어). */
|
|
240
|
+
| {
|
|
241
|
+
code: 'operation-patch-unknown-key';
|
|
242
|
+
opIndex: number;
|
|
243
|
+
entity: Handle;
|
|
244
|
+
handle: Handle;
|
|
245
|
+
keys: string[];
|
|
246
|
+
}
|
|
186
247
|
/**
|
|
187
248
|
* associationEnd.update patch의 `navigable`(양 end) — end1(from): inverse nav 실체화/철거는
|
|
188
249
|
* RELATION_REF 속성 생성·삭제가 동반되는 GUI 토글 소유(통과 시 "navigable=true ⟺ RELATION_REF 존재"
|