@tienne/gestalt 0.91.0 → 0.93.0

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 (45) hide show
  1. package/README.md +2 -0
  2. package/dist/package.json +1 -1
  3. package/dist/plugin/skills/architecture/SKILL.md +23 -5
  4. package/dist/schemas/architecture-ir.schema.json +54 -1
  5. package/dist/src/architecture/flow-layout.d.ts +16 -1
  6. package/dist/src/architecture/flow-layout.d.ts.map +1 -1
  7. package/dist/src/architecture/flow-layout.js +108 -28
  8. package/dist/src/architecture/flow-layout.js.map +1 -1
  9. package/dist/src/architecture/html-client.d.ts +5 -0
  10. package/dist/src/architecture/html-client.d.ts.map +1 -1
  11. package/dist/src/architecture/html-client.js +217 -15
  12. package/dist/src/architecture/html-client.js.map +1 -1
  13. package/dist/src/architecture/html-renderer.d.ts.map +1 -1
  14. package/dist/src/architecture/html-renderer.js +279 -25
  15. package/dist/src/architecture/html-renderer.js.map +1 -1
  16. package/dist/src/architecture/html-theme.d.ts +7 -0
  17. package/dist/src/architecture/html-theme.d.ts.map +1 -1
  18. package/dist/src/architecture/html-theme.js +96 -0
  19. package/dist/src/architecture/html-theme.js.map +1 -1
  20. package/dist/src/architecture/ir-schema.d.ts +124 -27
  21. package/dist/src/architecture/ir-schema.d.ts.map +1 -1
  22. package/dist/src/architecture/ir-schema.js +24 -2
  23. package/dist/src/architecture/ir-schema.js.map +1 -1
  24. package/dist/src/architecture/merge.d.ts.map +1 -1
  25. package/dist/src/architecture/merge.js +9 -0
  26. package/dist/src/architecture/merge.js.map +1 -1
  27. package/dist/src/architecture/sequence-views.d.ts +155 -0
  28. package/dist/src/architecture/sequence-views.d.ts.map +1 -0
  29. package/dist/src/architecture/sequence-views.js +407 -0
  30. package/dist/src/architecture/sequence-views.js.map +1 -0
  31. package/dist/src/architecture/types.d.ts +23 -1
  32. package/dist/src/architecture/types.d.ts.map +1 -1
  33. package/dist/src/architecture/types.js +2 -0
  34. package/dist/src/architecture/types.js.map +1 -1
  35. package/dist/src/architecture/validator.d.ts +2 -1
  36. package/dist/src/architecture/validator.d.ts.map +1 -1
  37. package/dist/src/architecture/validator.js +119 -0
  38. package/dist/src/architecture/validator.js.map +1 -1
  39. package/dist/src/mcp/schemas.d.ts +6 -6
  40. package/package.json +1 -1
  41. package/plugin/.codex-plugin/plugin.json +1 -1
  42. package/plugin/.mcp.json +1 -1
  43. package/plugin/mcp.json +1 -1
  44. package/plugin/skills/architecture/SKILL.md +23 -5
  45. package/schemas/architecture-ir.schema.json +54 -1
@@ -0,0 +1,407 @@
1
+ import { textUnits } from './layout.js';
2
+ /**
3
+ * 맨 위 참여자가 지금 구간에서 아직 안 만난 대상을 부르는 자리에서 새 구간을 연다.
4
+ * 자기 호출, 응답, 이미 만난 대상 호출은 지금 구간에 붙는다. 묶음 한가운데에서는 자르지 않는다.
5
+ * 구간 이름은 그 구간을 연 메시지가 부른 대상의 이름이다
6
+ */
7
+ export function autoSequencePhases(messages, root, nameOf) {
8
+ const out = [];
9
+ messages.forEach((m, i) => {
10
+ const cur = out[out.length - 1];
11
+ const prev = i > 0 ? messages[i - 1] : undefined;
12
+ const opens = !cur ||
13
+ (m.from === root &&
14
+ m.to !== root &&
15
+ !m.reply &&
16
+ !cur.seen.has(m.to) &&
17
+ !(m.block !== undefined && m.block === prev?.block));
18
+ if (opens)
19
+ out.push({ label: nameOf(m.to), messageIds: [], seen: new Set() });
20
+ const ph = out[out.length - 1];
21
+ ph.messageIds.push(m.id);
22
+ ph.seen.add(m.from);
23
+ ph.seen.add(m.to);
24
+ });
25
+ return out.map(({ label, messageIds }) => ({ label, messageIds }));
26
+ }
27
+ /**
28
+ * IR의 phases를 그린 메시지에 맞춰 푼다. 근거가 없어 안 그린 메시지는 빼고 빈 구간은 버린다.
29
+ * phases가 없거나 그린 메시지를 다 덮지 못하면 자동으로 자른다. order는 순서도 머리 순서이고 맨 앞이 자동 분할의 기준이다
30
+ */
31
+ export function resolveSequencePhases(projection, drawn, order, nameOf) {
32
+ const messages = projection.messages.filter((m) => drawn.has(m.id));
33
+ const byId = new Map(messages.map((m) => [m.id, m]));
34
+ const participantsOf = (ids) => {
35
+ const used = new Set(ids.flatMap((id) => [byId.get(id).from, byId.get(id).to]));
36
+ return order.filter((id) => used.has(id));
37
+ };
38
+ if (projection.phases !== undefined) {
39
+ const index = new Map(projection.messages.map((m, i) => [m.id, i]));
40
+ const phases = [];
41
+ for (const ph of projection.phases) {
42
+ const from = index.get(ph.from);
43
+ const to = index.get(ph.to);
44
+ if (from === undefined || to === undefined)
45
+ continue;
46
+ const ids = projection.messages
47
+ .slice(from, to + 1)
48
+ .map((m) => m.id)
49
+ .filter((id) => byId.has(id));
50
+ if (ids.length === 0)
51
+ continue;
52
+ phases.push({
53
+ id: ph.id,
54
+ label: ph.label,
55
+ auto: false,
56
+ messageIds: ids,
57
+ participants: participantsOf(ids),
58
+ });
59
+ }
60
+ const covered = phases.flatMap((ph) => ph.messageIds);
61
+ if (covered.length === messages.length && covered.every((id, i) => id === messages[i].id)) {
62
+ return phases;
63
+ }
64
+ }
65
+ return autoSequencePhases(messages, order[0], nameOf).map((ph, i) => ({
66
+ id: `auto-${i + 1}`,
67
+ label: ph.label,
68
+ auto: true,
69
+ messageIds: ph.messageIds,
70
+ participants: participantsOf(ph.messageIds),
71
+ }));
72
+ }
73
+ /**
74
+ * 맨 위 참여자에서 몇 번 건너 불리는지. 가장 짧은 경로로 세고 응답과 자기 호출은 세지 않는다.
75
+ * 맨 위에서 못 닿는 참여자는 0이다
76
+ */
77
+ export function sequenceCallDepths(messages, root) {
78
+ const out = new Map();
79
+ const next = new Map();
80
+ for (const m of messages) {
81
+ for (const id of [m.from, m.to])
82
+ if (!next.has(id))
83
+ next.set(id, []);
84
+ if (m.reply || m.from === m.to)
85
+ continue;
86
+ next.get(m.from).push(m.to);
87
+ }
88
+ if (root !== undefined && next.has(root)) {
89
+ out.set(root, 0);
90
+ const queue = [root];
91
+ for (let i = 0; i < queue.length; i++) {
92
+ const at = queue[i];
93
+ for (const to of next.get(at)) {
94
+ if (out.has(to))
95
+ continue;
96
+ out.set(to, out.get(at) + 1);
97
+ queue.push(to);
98
+ }
99
+ }
100
+ }
101
+ for (const id of next.keys())
102
+ if (!out.has(id))
103
+ out.set(id, 0);
104
+ return out;
105
+ }
106
+ const WALK_TOP = 22;
107
+ const WALK_PAD = 24;
108
+ const WALK_COL_GAP = 48;
109
+ const WALK_ROW_GAP = 16;
110
+ const WALK_BAND_GAP = 34;
111
+ const WALK_BAND_LABEL = 8;
112
+ const WALK_LOOP = 44;
113
+ /**
114
+ * 따라가기 지도 좌표. 열은 호출 깊이이고 띠는 그 참여자가 처음 나온 구간이다.
115
+ * 열 폭은 그 열에서 가장 넓은 카드 폭을 따른다. 좌표는 (0, 0)에서 시작한다.
116
+ * 단계 번호는 numberOf로 순서도 번호를 그대로 받는다. 단계 목록과 같은 번호여야 목록을 눌러 그 단계로 간다
117
+ * 양끝이 지도에 없는 메시지는 단계에서 빠지는데, 그러면 번호가 끊겨 클라이언트가 그 뒤 단계로 못 간다.
118
+ * 렌더러는 그린 메시지에서 참여자를 뽑아 넘기므로 빠지는 메시지가 없다
119
+ */
120
+ export function computeWalkLayout(phases, messages, depths, sizeOf, edgeById, numberOf) {
121
+ const placed = new Map();
122
+ const bandCols = [];
123
+ const bandPhase = [];
124
+ for (const ph of phases) {
125
+ const cols = new Map();
126
+ for (const id of ph.participants) {
127
+ if (placed.has(id))
128
+ continue;
129
+ const col = depths.get(id) ?? 0;
130
+ if (!cols.has(col))
131
+ cols.set(col, []);
132
+ const list = cols.get(col);
133
+ placed.set(id, { col, band: bandCols.length, row: list.length });
134
+ list.push(id);
135
+ }
136
+ if (cols.size === 0)
137
+ continue;
138
+ bandCols.push(cols);
139
+ bandPhase.push(ph);
140
+ }
141
+ const usedCols = [...new Set([...placed.values()].map((p) => p.col))].sort((a, b) => a - b);
142
+ const colWidth = new Map(usedCols.map((c) => [c, 0]));
143
+ for (const [id, p] of placed) {
144
+ colWidth.set(p.col, Math.max(colWidth.get(p.col), sizeOf(id).width));
145
+ }
146
+ const colX = new Map();
147
+ let x = WALK_PAD;
148
+ for (const c of usedCols) {
149
+ colX.set(c, x);
150
+ x += colWidth.get(c) + WALK_COL_GAP;
151
+ }
152
+ const boxes = new Map();
153
+ const bands = [];
154
+ let y = WALK_TOP;
155
+ bandCols.forEach((cols, band) => {
156
+ let h = 0;
157
+ for (const [col, list] of [...cols.entries()].sort((a, b) => a[0] - b[0])) {
158
+ let at = y;
159
+ for (const id of list) {
160
+ const s = sizeOf(id);
161
+ boxes.set(id, {
162
+ id,
163
+ x: round2(colX.get(col)),
164
+ y: round2(at),
165
+ width: s.width,
166
+ height: s.height,
167
+ });
168
+ at += s.height + WALK_ROW_GAP;
169
+ }
170
+ h = Math.max(h, at - WALK_ROW_GAP - y);
171
+ }
172
+ const ph = bandPhase[band];
173
+ bands.push({ phaseId: ph.id, label: ph.label, x: WALK_PAD, y: round2(y - WALK_BAND_LABEL) });
174
+ y += h + WALK_BAND_GAP;
175
+ });
176
+ const pathOf = (a, b) => walkPath(boxes.get(a), boxes.get(b));
177
+ const edges = [];
178
+ const seenEdges = new Set();
179
+ for (const m of messages) {
180
+ if (m.edge === undefined || seenEdges.has(m.edge))
181
+ continue;
182
+ const e = edgeById.get(m.edge);
183
+ if (!e || !boxes.has(e.from) || !boxes.has(e.to))
184
+ continue;
185
+ seenEdges.add(m.edge);
186
+ edges.push({ id: m.edge, d: pathOf(e.from, e.to) });
187
+ }
188
+ const phaseOf = new Map(phases.flatMap((ph) => ph.messageIds.map((id) => [id, ph.id])));
189
+ const steps = messages
190
+ .filter((m) => boxes.has(m.from) && boxes.has(m.to))
191
+ .map((m) => ({
192
+ messageId: m.id,
193
+ n: numberOf(m.id),
194
+ phaseId: phaseOf.get(m.id) ?? '',
195
+ from: m.from,
196
+ to: m.to,
197
+ d: pathOf(m.from, m.to),
198
+ self: m.from === m.to,
199
+ }));
200
+ const right = Math.max(WALK_PAD, ...[...boxes.values()].map((b) => b.x + b.width));
201
+ return {
202
+ width: round2(right + WALK_LOOP),
203
+ height: round2(bandCols.length > 0 ? y - WALK_BAND_GAP + WALK_PAD : WALK_TOP + WALK_PAD),
204
+ bands,
205
+ nodes: [...boxes.values()],
206
+ edges,
207
+ steps,
208
+ };
209
+ }
210
+ /** 두 카드를 잇는 선. 자기 호출은 오른쪽 위 고리, 같은 열은 오른쪽으로 불룩한 곡선, 나머지는 마주 보는 변을 잇는다 */
211
+ export function walkPath(a, b) {
212
+ const p = (x, y) => `${round2(x)} ${round2(y)}`;
213
+ if (a.id === b.id) {
214
+ const r = a.x + a.width;
215
+ const mid = a.y + a.height / 2;
216
+ return `M${p(r - 30, a.y)}C${p(r - 30, a.y - 34)} ${p(r + 40, mid)} ${p(r, mid)}`;
217
+ }
218
+ const y1 = a.y + a.height / 2;
219
+ const y2 = b.y + b.height / 2;
220
+ if (a.x === b.x) {
221
+ const ra = a.x + a.width;
222
+ const rb = b.x + b.width;
223
+ return `M${p(ra, y1)}C${p(ra + 40, y1)} ${p(rb + 40, y2)} ${p(rb, y2)}`;
224
+ }
225
+ const forward = a.x < b.x;
226
+ const x1 = forward ? a.x + a.width : a.x;
227
+ const x2 = forward ? b.x : b.x + b.width;
228
+ const mx = (x1 + x2) / 2;
229
+ return `M${p(x1, y1)}C${p(mx, y1)} ${p(mx, y2)} ${p(x2, y2)}`;
230
+ }
231
+ /** 단계별 카드 머리의 둘째 줄 */
232
+ export function phaseMetaText(phase) {
233
+ return `메시지 ${phase.messageIds.length}개, 참여자 ${phase.participants.length}명`;
234
+ }
235
+ const MINI_COL = 136;
236
+ const MINI_HEAD = 40;
237
+ const MINI_FIRST = 14;
238
+ const MINI_ROW = 26;
239
+ const MINI_BLOCK_HEAD = 18;
240
+ const MINI_BRANCH = 14;
241
+ const MINI_BLOCK_TAIL = 6;
242
+ const MINI_BOTTOM = 10;
243
+ const MINI_SELF_LABEL = 120;
244
+ const MINI_LABEL_UNIT = 6;
245
+ const CARD_PAD_X = 14;
246
+ const CARD_HEAD = 58;
247
+ const CARD_PAD_BOTTOM = 12;
248
+ const CARD_TITLE_UNIT = 8;
249
+ const CARD_META_UNIT = 6.5;
250
+ const CARD_TITLE_MAX = 360;
251
+ const BOARD_ARROW = 36;
252
+ const BOARD_ROW_GAP = 28;
253
+ /** 카드 한 장 안의 작은 순서도. 그 구간에 나오는 참여자만 열로 세운다 */
254
+ function miniSequence(phase, messageById, blockById, numberOf) {
255
+ const col = new Map(phase.participants.map((id, i) => [id, i]));
256
+ const cx = (id) => col.get(id) * MINI_COL + MINI_COL / 2;
257
+ const messages = phase.messageIds.map((id) => messageById.get(id));
258
+ let width = phase.participants.length * MINI_COL;
259
+ for (const m of messages) {
260
+ if (m.from === m.to)
261
+ width = Math.max(width, cx(m.from) + 24 + MINI_SELF_LABEL);
262
+ }
263
+ const out = [];
264
+ const blocks = [];
265
+ let y = MINI_HEAD + MINI_FIRST;
266
+ let open;
267
+ let openBranch;
268
+ const close = () => {
269
+ if (!open)
270
+ return;
271
+ y += MINI_BLOCK_TAIL;
272
+ open.height = round2(y - open.y);
273
+ blocks.push(open);
274
+ open = undefined;
275
+ y += 4;
276
+ };
277
+ for (const m of messages) {
278
+ if (open && open.id !== m.block)
279
+ close();
280
+ const b = m.block !== undefined ? blockById.get(m.block) : undefined;
281
+ if (!open && b) {
282
+ open = { id: b.id, kind: b.kind, label: b.label, x: 4, y, width: 0, height: 0, branches: [] };
283
+ openBranch = m.branch;
284
+ y += MINI_BLOCK_HEAD;
285
+ }
286
+ else if (open && m.branch !== openBranch) {
287
+ y += MINI_BRANCH / 2;
288
+ open.branches.push({ y: round2(y), label: m.branch ?? '' });
289
+ y += MINI_BRANCH / 2;
290
+ openBranch = m.branch;
291
+ }
292
+ y += MINI_ROW / 2;
293
+ const self = m.from === m.to;
294
+ const x1 = cx(m.from);
295
+ const x2 = cx(m.to);
296
+ const n = numberOf(m.id);
297
+ const room = self ? MINI_SELF_LABEL : Math.abs(x2 - x1) - 12;
298
+ out.push({
299
+ id: m.id,
300
+ n,
301
+ y: round2(y),
302
+ x1,
303
+ x2,
304
+ self,
305
+ labelUnits: Math.max(0, Math.floor(room / MINI_LABEL_UNIT) - textUnits(`${n}. `)),
306
+ });
307
+ y += MINI_ROW / 2;
308
+ }
309
+ close();
310
+ const height = round2(y + MINI_BOTTOM);
311
+ return {
312
+ x: CARD_PAD_X,
313
+ y: CARD_HEAD,
314
+ width: round2(width),
315
+ height,
316
+ heads: phase.participants.map((id, i) => ({
317
+ id,
318
+ x: i * MINI_COL + 6,
319
+ y: 4,
320
+ width: MINI_COL - 12,
321
+ height: MINI_HEAD - 8,
322
+ cx: cx(id),
323
+ })),
324
+ lifeline: { y1: MINI_HEAD, y2: height },
325
+ messages: out,
326
+ blocks: blocks.map((b) => ({ ...b, width: round2(width - 8) })),
327
+ };
328
+ }
329
+ /**
330
+ * 단계별 카드 보드. 카드를 왼쪽에서 오른쪽으로 놓고 rowMax를 넘으면 다음 줄로 내린다.
331
+ * 가장 넓은 카드가 rowMax보다 넓으면 그 폭이 줄 폭이다. 줄을 넘긴 카드 앞에도 화살표를 둔다
332
+ */
333
+ export function computePhaseBoard(phases, projection, numberOf, rowMax = 1280) {
334
+ const messageById = new Map(projection.messages.map((m) => [m.id, m]));
335
+ const blockById = new Map((projection.blocks ?? []).map((b) => [b.id, b]));
336
+ const sized = phases.map((ph, i) => {
337
+ const svg = miniSequence(ph, messageById, blockById, numberOf);
338
+ const title = Math.min(CARD_TITLE_MAX, textUnits(`${i + 1}. ${ph.label}`) * CARD_TITLE_UNIT);
339
+ const meta = textUnits(phaseMetaText(ph)) * CARD_META_UNIT;
340
+ return {
341
+ ph,
342
+ svg,
343
+ width: round2(CARD_PAD_X * 2 + Math.max(svg.width, title, meta)),
344
+ height: round2(CARD_HEAD + svg.height + CARD_PAD_BOTTOM),
345
+ };
346
+ });
347
+ const limit = Math.max(rowMax, ...sized.map((s) => s.width));
348
+ const rows = [];
349
+ let used = 0;
350
+ for (const s of sized) {
351
+ const row = rows[rows.length - 1];
352
+ if (row && used + BOARD_ARROW + s.width <= limit) {
353
+ row.push(s);
354
+ used += BOARD_ARROW + s.width;
355
+ }
356
+ else {
357
+ rows.push([s]);
358
+ used = (rows.length > 1 ? BOARD_ARROW : 0) + s.width;
359
+ }
360
+ }
361
+ const cards = [];
362
+ const arrows = [];
363
+ let y = 0;
364
+ let right = 0;
365
+ rows.forEach((row, r) => {
366
+ const h = Math.max(...row.map((s) => s.height));
367
+ let x = 0;
368
+ row.forEach((s, i) => {
369
+ if (r > 0 || i > 0) {
370
+ arrows.push({ x: round2(x + BOARD_ARROW / 2), y: round2(y + h / 2) });
371
+ x += BOARD_ARROW;
372
+ }
373
+ cards.push({
374
+ phaseId: s.ph.id,
375
+ index: cards.length + 1,
376
+ x: round2(x),
377
+ y: round2(y),
378
+ width: s.width,
379
+ height: s.height,
380
+ svg: s.svg,
381
+ });
382
+ x += s.width;
383
+ });
384
+ right = Math.max(right, x);
385
+ y += h + (r < rows.length - 1 ? BOARD_ROW_GAP : 0);
386
+ });
387
+ return { width: round2(right), height: round2(y), cards, arrows };
388
+ }
389
+ /** 글자 폭이 units를 넘으면 잘라 말줄임표를 붙인다. 폭은 textUnits로 잰다 */
390
+ export function clipText(text, units) {
391
+ if (textUnits(text) <= units)
392
+ return text;
393
+ let out = '';
394
+ let used = 0;
395
+ for (const ch of text) {
396
+ const w = textUnits(ch);
397
+ if (used + w > units - 1)
398
+ break;
399
+ out += ch;
400
+ used += w;
401
+ }
402
+ return `${out}…`;
403
+ }
404
+ function round2(v) {
405
+ return Math.round(v * 100) / 100;
406
+ }
407
+ //# sourceMappingURL=sequence-views.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sequence-views.js","sourceRoot":"","sources":["../../../src/architecture/sequence-views.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,8 @@ export declare const PLATFORMS: readonly ["web", "android", "ios"];
19
19
  export declare const FLOW_ACTOR_KINDS: readonly ["person", "system", "agent"];
20
20
  /** main은 정상 흐름, side는 취소나 노쇼처럼 옆으로 빠지는 흐름이다 */
21
21
  export declare const FLOW_PATHS: readonly ["main", "side"];
22
+ /** step은 화면이나 일 하나, decision은 조건으로 길이 갈리는 자리다. decision은 마름모로 그린다 */
23
+ export declare const FLOW_STEP_KINDS: readonly ["step", "decision"];
22
24
  /**
23
25
  * 단계 refs가 가리킬 수 있는 kind. 사용자가 실제로 만나는 화면과 그 화면이 부르는 API까지만 잇는다.
24
26
  * 하네스에서는 사용자가 부르는 스킬과 스킬이 띄우는 에이전트가 화면 자리다. MCP 도구는 endpoint로 들어온다
@@ -45,6 +47,7 @@ export type ContextSourceVia = (typeof CONTEXT_SOURCE_VIAS)[number];
45
47
  export type Platform = (typeof PLATFORMS)[number];
46
48
  export type FlowActorKind = (typeof FLOW_ACTOR_KINDS)[number];
47
49
  export type FlowPath = (typeof FLOW_PATHS)[number];
50
+ export type FlowStepKind = (typeof FLOW_STEP_KINDS)[number];
48
51
  export type EndpointProtocol = (typeof ENDPOINT_PROTOCOLS)[number];
49
52
  /**
50
53
  * 카드 칩과 아이콘, 색을 고르는 종류. MCP 도구는 IR에서는 endpoint라 매칭과 드릴다운을 그대로 타고
@@ -271,6 +274,8 @@ export interface FlowStep {
271
274
  /** 이 단계를 하는 행위자 id. 같은 흐름의 actors에 있어야 한다 */
272
275
  actor: string;
273
276
  label: string;
277
+ /** 비우면 step. decision은 갈림길이라 terminal을 달 수 없다 */
278
+ kind?: FlowStepKind;
274
279
  description?: string;
275
280
  /** 이 단계가 끝난 뒤의 업무 상태. 코드 enum 값을 그대로 적는다 */
276
281
  state?: string;
@@ -286,7 +291,11 @@ export interface FlowTransition {
286
291
  from: string;
287
292
  to: string;
288
293
  path: FlowPath;
289
- /** 넘어가는 조건. 선 위에 짧게 보인다 */
294
+ /** 사용자가 누른 것. 버튼 이름처럼 이 전이를 일으키는 동작이고 선 위 글자의 주인이다 */
295
+ trigger?: string;
296
+ /** 이 길로 가는 조건. 갈림길에서 나가는 선에 단다 */
297
+ condition?: string;
298
+ /** 예전 칸. trigger와 condition이 둘 다 없을 때만 선에 찍는다. 하나라도 있으면 서랍의 메모로 간다 */
290
299
  label?: string;
291
300
  /** 이 전이를 일으키는 행위자 id. 되돌리기처럼 여러 행위자가 할 수 있는 전이에 단다. 선 글자 옆에 이름이 붙는다 */
292
301
  actors?: string[];
@@ -361,6 +370,19 @@ export interface ArchitectureProjection {
361
370
  blocks?: ProjectionBlock[];
362
371
  /** compare가 견주는 두 묶음. 전과 후, 제품 둘처럼 왼쪽과 오른쪽에 선다 */
363
372
  sides?: ProjectionSide[];
373
+ /** sequence를 나누는 구간. 비우면 렌더할 때 맨 위 참여자가 새 대상을 부르는 자리에서 자른다 */
374
+ phases?: ProjectionPhase[];
375
+ }
376
+ /**
377
+ * sequence를 나누는 구간 하나. from과 to는 이 그림의 메시지 id이고 둘 다 구간에 든다.
378
+ * 배열 순서가 메시지 순서와 같고 구간끼리 겹치거나 비는 메시지가 없어야 한다
379
+ */
380
+ export interface ProjectionPhase {
381
+ id: string;
382
+ /** 사람이 읽는 단계 이름 */
383
+ label: string;
384
+ from: string;
385
+ to: string;
364
386
  }
365
387
  /** compare 묶음 하나. nodes는 지도의 노드 id다. 두 묶음에 다 있는 노드는 가운데 열에 선다 */
366
388
  export interface ProjectionSide {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/architecture/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/architecture/types.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,8 @@ export const PLATFORMS = ['web', 'android', 'ios'];
25
25
  export const FLOW_ACTOR_KINDS = ['person', 'system', 'agent'];
26
26
  /** main은 정상 흐름, side는 취소나 노쇼처럼 옆으로 빠지는 흐름이다 */
27
27
  export const FLOW_PATHS = ['main', 'side'];
28
+ /** step은 화면이나 일 하나, decision은 조건으로 길이 갈리는 자리다. decision은 마름모로 그린다 */
29
+ export const FLOW_STEP_KINDS = ['step', 'decision'];
28
30
  /**
29
31
  * 단계 refs가 가리킬 수 있는 kind. 사용자가 실제로 만나는 화면과 그 화면이 부르는 API까지만 잇는다.
30
32
  * 하네스에서는 사용자가 부르는 스킬과 스킬이 띄우는 에이전트가 화면 자리다. MCP 도구는 endpoint로 들어온다
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/architecture/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/architecture/types.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { type ArchitectureIr, type Evidence, type LineStyle, type NodeKind, type UnresolvedQuestion } from './types.js';
2
- export type ArchitectureValidationErrorCode = 'SOLID_EDGE_WITHOUT_EVIDENCE' | 'CODE_EVIDENCE_NOT_FOUND' | 'PRIVATE_EXCERPT_PRESENT' | 'DANGLING_EDGE' | 'PARENT_NOT_FOUND' | 'PARENT_CYCLE' | 'INVALID_PARENT_KIND' | 'LIVE_COMMAND_NOT_READ_ONLY' | 'ACCOUNT_NOT_FOUND' | 'INVALID_ACCOUNT_KIND' | 'CLOUD_ID_IN_ID' | 'GROUP_MEMBER_NOT_FOUND' | 'DUPLICATE_GROUP_ID' | 'SERVES_SERVICE_WITH_APPS' | 'INVALID_LOADS_ENDS' | 'INVALID_HARNESS_EDGE_ENDS' | 'INVALID_CALL_ACTIONS' | 'UNKNOWN_MCP_ACTION' | 'MD_CODE_EVIDENCE' | 'FLOW_SERVICE_NOT_FOUND' | 'DUPLICATE_FLOW_ID' | 'FLOW_ACTOR_NOT_FOUND' | 'FLOW_STEP_NOT_FOUND' | 'FLOW_REF_NOT_FOUND' | 'INVALID_FLOW_REF_KIND' | 'SOLID_TRANSITION_WITHOUT_EVIDENCE' | 'DUPLICATE_STAGE_ID' | 'STAGE_NODE_NOT_FOUND' | 'STAGE_NODE_TWICE' | 'UNKNOWN_PACK' | 'KIND_NOT_IN_PACKS' | 'CODE_EVIDENCE_IN_DOC_REPO' | 'DUPLICATE_PROJECTION_ID' | 'DUPLICATE_MESSAGE_ID' | 'PROJECTION_NODE_NOT_FOUND' | 'PROJECTION_EDGE_NOT_FOUND' | 'PROJECTION_EDGE_MISMATCH' | 'PROJECTION_BLOCK_NOT_FOUND' | 'PROJECTION_BLOCK_SPLIT' | 'SOLID_MESSAGE_WITHOUT_EVIDENCE' | 'PROJECTION_EMPTY' | 'PROJECTION_SHAPE_FIELD' | 'INVALID_DESCRIBES_FROM' | 'SOLID_DESCRIBES';
2
+ export type ArchitectureValidationErrorCode = 'SOLID_EDGE_WITHOUT_EVIDENCE' | 'CODE_EVIDENCE_NOT_FOUND' | 'PRIVATE_EXCERPT_PRESENT' | 'DANGLING_EDGE' | 'PARENT_NOT_FOUND' | 'PARENT_CYCLE' | 'INVALID_PARENT_KIND' | 'LIVE_COMMAND_NOT_READ_ONLY' | 'ACCOUNT_NOT_FOUND' | 'INVALID_ACCOUNT_KIND' | 'CLOUD_ID_IN_ID' | 'GROUP_MEMBER_NOT_FOUND' | 'DUPLICATE_GROUP_ID' | 'SERVES_SERVICE_WITH_APPS' | 'INVALID_LOADS_ENDS' | 'INVALID_HARNESS_EDGE_ENDS' | 'INVALID_CALL_ACTIONS' | 'UNKNOWN_MCP_ACTION' | 'MD_CODE_EVIDENCE' | 'FLOW_SERVICE_NOT_FOUND' | 'DUPLICATE_FLOW_ID' | 'FLOW_ACTOR_NOT_FOUND' | 'FLOW_STEP_NOT_FOUND' | 'FLOW_REF_NOT_FOUND' | 'INVALID_FLOW_REF_KIND' | 'SOLID_TRANSITION_WITHOUT_EVIDENCE' | 'DUPLICATE_STAGE_ID' | 'STAGE_NODE_NOT_FOUND' | 'STAGE_NODE_TWICE' | 'UNKNOWN_PACK' | 'KIND_NOT_IN_PACKS' | 'CODE_EVIDENCE_IN_DOC_REPO' | 'DUPLICATE_PROJECTION_ID' | 'DUPLICATE_MESSAGE_ID' | 'PROJECTION_NODE_NOT_FOUND' | 'PROJECTION_EDGE_NOT_FOUND' | 'PROJECTION_EDGE_MISMATCH' | 'PROJECTION_BLOCK_NOT_FOUND' | 'PROJECTION_BLOCK_SPLIT' | 'SOLID_MESSAGE_WITHOUT_EVIDENCE' | 'PROJECTION_EMPTY' | 'PROJECTION_SHAPE_FIELD' | 'DUPLICATE_PHASE_ID' | 'PROJECTION_PHASE_MESSAGE_NOT_FOUND' | 'PROJECTION_PHASE_REVERSED' | 'PROJECTION_PHASE_OVERLAP' | 'PROJECTION_PHASE_GAP' | 'INVALID_DESCRIBES_FROM' | 'SOLID_DESCRIBES';
3
3
  export interface ArchitectureValidationError {
4
4
  code: ArchitectureValidationErrorCode;
5
5
  message: string;
@@ -10,6 +10,7 @@ export interface ArchitectureValidationError {
10
10
  transitionId?: string;
11
11
  projectionId?: string;
12
12
  messageId?: string;
13
+ phaseId?: string;
13
14
  evidenceIndex?: number;
14
15
  }
15
16
  /** 렌더를 막지 않는 알림. 저장하지 않고 validate와 render 응답에만 싣는다 */
@@ -1 +1 @@
1
- {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../src/architecture/validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../src/architecture/validator.ts"],"names":[],"mappings":"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"}