@g1cloud/bpmn-modeler-next 5.0.0-alpha.7 → 5.0.0-alpha.70

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/core/ir.d.ts CHANGED
@@ -6,13 +6,32 @@
6
6
  * 타입은 표준 BPMN 1:1 — AI 전용 타입 신설 금지(불변식 4).
7
7
  */
8
8
  /**
9
- * MVP 플로우 노드 타입 — 실운영 문서 실측 분포 기준(CLAUDE.md §A-1).
10
- * boundaryEvent · subProcess · intermediate 이벤트는 실파일 0건으로 후순위 강등
11
- * (스파이크 04·05 배치 실증이 있어 수요 발생 시 저비용 승격).
9
+ * **IR 이 표현하는 플로우 노드 타입** — `describeProcess` 가 노드로 내는 전량(read 집합).
10
+ *
11
+ * 🔴 `subProcess`·`boundaryEvent` 는 2026-09-21 승격됐다(B-87 ⓐ). 종전 강등 근거였던
12
+ * 「실파일 0건」은 **반품(고객측) 한 문서** 기준이었고, 코퍼스 26종 실측에서 무효화됐다
13
+ * (`subProcess` 22 · `boundaryEvent` 1 보유). 승격 전에는 그 타입이 든 문서에서 describe 가
14
+ * 끝점까지 지워 에이전트가 문서 절반을 못 봤다(실측 = `現行POS` 에서 메시지플로우 22건 소실).
15
+ *
16
+ * ⚠ **이 집합은 `ADDABLE_FLOW_NODE_TYPES` 의 상위집합이다** — 읽을 수 있다고 만들 수 있는 것이
17
+ * 아니다. 승격은 **불투명**이다: subProcess 를 노드로 내되 내부는 열지 않는다(내부 요소는
18
+ * `inside-container` 로 알린다). intermediate 계열(ⓑ)은 배치 실증이 없어 다음 단계다.
19
+ */
20
+ export declare const IR_FLOW_NODE_TYPES: readonly ["startEvent", "endEvent", "userTask", "serviceTask", "task", "sendTask", "receiveTask", "exclusiveGateway", "parallelGateway", "subProcess", "boundaryEvent"];
21
+ /**
22
+ * **op 가 새로 만들거나 타입 전환할 수 있는 집합**(write 집합) — 배치 하강이 실증된 것만.
23
+ *
24
+ * 🔴 read 와 갈라 둔 이유: 두 집합을 한 상수로 쓰면 승격이 `node.add`·`node.update` 어휘까지
25
+ * 함께 열어 **하강이 준비되지 않은 타입을 에이전트가 보낼 수 있게 된다**. `subProcess` 는 내부
26
+ * 좌표계를, `boundaryEvent` 는 `attachedToRef` 좌표 종속을 요구해 배치 축이 새로 생기는데
27
+ * (B-87 미측정 축 ①), 그 축은 이번 승격 범위 밖이다. 스키마 enum 이 1차 방어이고
28
+ * validator 의 `node-type-unsupported` 가 2차 방어다(Defense in Depth).
12
29
  */
13
- export declare const MVP_FLOW_NODE_TYPES: readonly ["startEvent", "endEvent", "userTask", "serviceTask", "task", "sendTask", "receiveTask", "exclusiveGateway", "parallelGateway"];
14
- export type IrFlowNodeType = (typeof MVP_FLOW_NODE_TYPES)[number];
15
- export declare function isMvpFlowNodeType(type: string): type is IrFlowNodeType;
30
+ export declare const ADDABLE_FLOW_NODE_TYPES: readonly ["startEvent", "endEvent", "userTask", "serviceTask", "task", "sendTask", "receiveTask", "exclusiveGateway", "parallelGateway"];
31
+ export type IrFlowNodeType = (typeof IR_FLOW_NODE_TYPES)[number];
32
+ export type AddableFlowNodeType = (typeof ADDABLE_FLOW_NODE_TYPES)[number];
33
+ export declare function isIrFlowNodeType(type: string): type is IrFlowNodeType;
34
+ export declare function isAddableFlowNodeType(type: string): type is AddableFlowNodeType;
16
35
  export interface IrLane {
17
36
  id: string;
18
37
  name?: string;
@@ -36,6 +55,13 @@ export interface IrNode {
36
55
  participant?: string;
37
56
  /** 소속 레인 (A-3) */
38
57
  lane?: string;
58
+ /**
59
+ * `boundaryEvent` 의 부착 대상 (B-87 ⓐ). **eventDefinition 과 다른 축이다** — 어떤 이벤트인지는
60
+ * 열지 않았지만(코퍼스 실측 1건) 부착 대상은 구조적 필수다: BPMN 에서 `attachedToRef` 없는
61
+ * boundaryEvent 는 무효이고, 이것이 없으면 에이전트에게 떠 있는 노드로 읽혀 탈출 흐름의 의미를
62
+ * 잃는다(실측 = `出荷_BNKR` 의 error 경계 이벤트가 subProcess 에 붙어 탈출 간선을 낸다).
63
+ */
64
+ attachedTo?: string;
39
65
  }
40
66
  /**
41
67
  * 조건은 게이트웨이가 아닌 플로우에 붙인다.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@g1cloud/bpmn-modeler-next",
3
3
  "private": false,
4
- "version": "5.0.0-alpha.7",
4
+ "version": "5.0.0-alpha.70",
5
5
  "description": "Vue 3 BPMN document authoring editor (bpmn-js based) with AI agent authoring",
6
6
  "type": "module",
7
7
  "files": [
@@ -54,6 +54,7 @@
54
54
  "test": "vitest run",
55
55
  "test:watch": "vitest",
56
56
  "typecheck": "vue-tsc --noEmit",
57
+ "docs:size": "node scripts/check-docs-size.mjs",
57
58
  "check": "pnpm run test && pnpm run build"
58
59
  }
59
60
  }