@underdogai/mesh-event-schemas 0.1.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.
- package/LICENSE +21 -0
- package/README.md +62 -0
- package/dist/apppacks.d.ts +15652 -0
- package/dist/apppacks.d.ts.map +1 -0
- package/dist/apppacks.js +71 -0
- package/dist/apppacks.js.map +1 -0
- package/dist/blocks.d.ts +2320 -0
- package/dist/blocks.d.ts.map +1 -0
- package/dist/blocks.js +472 -0
- package/dist/blocks.js.map +1 -0
- package/dist/capabilities.d.ts +35 -0
- package/dist/capabilities.d.ts.map +1 -0
- package/dist/capabilities.js +37 -0
- package/dist/capabilities.js.map +1 -0
- package/dist/events.d.ts +4557 -0
- package/dist/events.d.ts.map +1 -0
- package/dist/events.js +571 -0
- package/dist/events.js.map +1 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +16 -0
- package/dist/index.js.map +1 -0
- package/dist/namespace.d.ts +56 -0
- package/dist/namespace.d.ts.map +1 -0
- package/dist/namespace.js +60 -0
- package/dist/namespace.js.map +1 -0
- package/dist/plugins.d.ts +131 -0
- package/dist/plugins.d.ts.map +1 -0
- package/dist/plugins.js +66 -0
- package/dist/plugins.js.map +1 -0
- package/dist/registry.d.ts +67 -0
- package/dist/registry.d.ts.map +1 -0
- package/dist/registry.js +212 -0
- package/dist/registry.js.map +1 -0
- package/dist/surfaces.d.ts +54323 -0
- package/dist/surfaces.d.ts.map +1 -0
- package/dist/surfaces.js +523 -0
- package/dist/surfaces.js.map +1 -0
- package/dist/templates.d.ts +390 -0
- package/dist/templates.d.ts.map +1 -0
- package/dist/templates.js +493 -0
- package/dist/templates.js.map +1 -0
- package/package.json +50 -0
- package/src/apppacks.ts +90 -0
- package/src/blocks.ts +544 -0
- package/src/capabilities.ts +58 -0
- package/src/events.ts +758 -0
- package/src/index.ts +15 -0
- package/src/namespace.ts +64 -0
- package/src/plugins.ts +118 -0
- package/src/registry.ts +261 -0
- package/src/surfaces.ts +610 -0
- package/src/templates.ts +736 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAe,KAAK,IAAI,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAE3D,eAAO,MAAM,cAAc,EAAG,CAAU,CAAC;AA6BzC,eAAO,MAAM,eAAe,0DAAwD,CAAC;AACrF,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD,eAAO,MAAM,mBAAmB;;IAE9B,mDAAmD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAInD;;;OAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAKH,6CAA6C;;;IAG7C,oCAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IASpC,uCAAuC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
|
package/dist/events.js
ADDED
|
@@ -0,0 +1,571 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* org.corp.* 커스텀 이벤트 content 스키마 + 빌더.
|
|
3
|
+
*
|
|
4
|
+
* 모든 content는 버전 필드 `v`를 가진다(스키마 진화 대비). 와이어로 나가는/들어오는
|
|
5
|
+
* 모든 형태의 단일 진실 공급원이며, appservice·bridge·client가 공통으로 import 한다.
|
|
6
|
+
*/
|
|
7
|
+
import { z } from "zod";
|
|
8
|
+
import { BlockSchema } from "./blocks.js";
|
|
9
|
+
import { EventType, UI_CONTENT_KEY } from "./namespace.js";
|
|
10
|
+
export const SCHEMA_VERSION = 1;
|
|
11
|
+
// 버전은 strict v1 유지(스모크가 "잘못된 버전 거부"를 검증하는 의도적 설계). 임의-정수 버전 관용은
|
|
12
|
+
// 빌더 타입 15곳 카스케이드 + 버전 협상 전략(M4-1/PLAN-2)과 함께 v2 실제 도입 시 신중히 (백로그).
|
|
13
|
+
const VersionSchema = z.literal(SCHEMA_VERSION).default(SCHEMA_VERSION);
|
|
14
|
+
/**
|
|
15
|
+
* 인바운드 카드 content 에서 모르는/깨진 블록만 떨어낸다(전방호환 graceful degrade) — strict 스키마 검증 전에 호출.
|
|
16
|
+
* discriminatedUnion 은 한 원소만 실패해도 array 전체가 실패 → extractUiCard 가 null → 카드가 평문으로 붕괴.
|
|
17
|
+
* 그래서 *렌더 경로(extractUiCard)에 한해* 각 블록을 개별 safeParse 해 통과한 것만 남긴다(모르는 타입/구조오류
|
|
18
|
+
* 블록은 드롭, 나머지는 정상 렌더). 빌더(buildUiCardContent)는 strict 그대로 — 보낼 때 잘못된 블록은 즉시 거부.
|
|
19
|
+
*/
|
|
20
|
+
function dropUnknownBlocks(raw) {
|
|
21
|
+
if (!raw || typeof raw !== "object")
|
|
22
|
+
return raw;
|
|
23
|
+
const c = raw;
|
|
24
|
+
const keep = (arr) => (Array.isArray(arr) ? arr.filter((b) => BlockSchema.safeParse(b).success) : arr);
|
|
25
|
+
const out = { ...c, blocks: keep(c.blocks) };
|
|
26
|
+
if (Array.isArray(c.steps)) {
|
|
27
|
+
out.steps = c.steps.map((s) => s && typeof s === "object" ? { ...s, blocks: keep(s.blocks) } : s);
|
|
28
|
+
}
|
|
29
|
+
return out;
|
|
30
|
+
}
|
|
31
|
+
// --------------------------------------------------------------------------
|
|
32
|
+
// org.corp.ui.card (에이전트 → 사용자, 메시지 이벤트)
|
|
33
|
+
// --------------------------------------------------------------------------
|
|
34
|
+
export const CardStateSchema = z.enum(["open", "submitted", "cancelled", "expired"]);
|
|
35
|
+
export const UiCardContentSchema = z.object({
|
|
36
|
+
v: VersionSchema,
|
|
37
|
+
/** 이 카드 인스턴스의 안정적 ID. 액션 회신·편집이 이 값으로 카드를 가리킨다. */
|
|
38
|
+
card_id: z.string().min(1),
|
|
39
|
+
title: z.string().optional(),
|
|
40
|
+
blocks: BlockSchema.array().default([]),
|
|
41
|
+
/**
|
|
42
|
+
* 멀티스텝(마법사) 폼. 설정하면 클라이언트가 단계 네비게이션(이전/다음)을 그리고,
|
|
43
|
+
* 모든 단계의 입력을 한 번에 모아 최종 제출한다. blocks 와 함께 쓰면 blocks 가 먼저 렌더된다.
|
|
44
|
+
*/
|
|
45
|
+
steps: z
|
|
46
|
+
.object({ title: z.string().optional(), blocks: BlockSchema.array() })
|
|
47
|
+
.array()
|
|
48
|
+
.optional(),
|
|
49
|
+
/** 지원하지 않는 클라이언트를 위한 평문 degrade 텍스트 (필수). */
|
|
50
|
+
fallback: z.string(),
|
|
51
|
+
state: CardStateSchema.optional(),
|
|
52
|
+
/** 카드가 응답하는 원본 이벤트(예: 사용자 명령) id */
|
|
53
|
+
request_event_id: z.string().optional(),
|
|
54
|
+
context: z
|
|
55
|
+
.object({
|
|
56
|
+
agent: z.string().optional(),
|
|
57
|
+
entity: z.object({ type: z.string(), id: z.string() }).optional(),
|
|
58
|
+
})
|
|
59
|
+
.catchall(z.unknown())
|
|
60
|
+
.optional(),
|
|
61
|
+
/** epoch ms. 지나면 클라이언트가 입력을 비활성화한다. */
|
|
62
|
+
expires_at: z.number().int().optional(),
|
|
63
|
+
});
|
|
64
|
+
// --------------------------------------------------------------------------
|
|
65
|
+
// org.corp.ui.action (사용자 → 에이전트, 메시지 이벤트)
|
|
66
|
+
// --------------------------------------------------------------------------
|
|
67
|
+
export const UiActionContentSchema = z.object({
|
|
68
|
+
v: VersionSchema,
|
|
69
|
+
card_id: z.string().min(1),
|
|
70
|
+
/** 어떤 컨트롤이 트리거했는지 (버튼의 action_id 등) */
|
|
71
|
+
action_id: z.string().min(1),
|
|
72
|
+
action_type: z.enum(["button", "submit", "select", "cancel"]),
|
|
73
|
+
/** 폼 입력 수집 결과 (input/select/checkbox name → value) */
|
|
74
|
+
values: z.record(z.string(), z.unknown()).optional(),
|
|
75
|
+
/** 어떤 버튼의 value였는지 (선택) */
|
|
76
|
+
value: z.string().optional(),
|
|
77
|
+
"m.relates_to": z
|
|
78
|
+
.object({
|
|
79
|
+
rel_type: z.literal("m.reference"),
|
|
80
|
+
event_id: z.string(),
|
|
81
|
+
})
|
|
82
|
+
.optional(),
|
|
83
|
+
});
|
|
84
|
+
// --------------------------------------------------------------------------
|
|
85
|
+
// org.corp.command (구조화된 명령, 선택적)
|
|
86
|
+
// --------------------------------------------------------------------------
|
|
87
|
+
export const CommandContentSchema = z.object({
|
|
88
|
+
v: VersionSchema,
|
|
89
|
+
/** 의도 식별자 (예: "invoice.approve") */
|
|
90
|
+
intent: z.string().min(1),
|
|
91
|
+
args: z.record(z.string(), z.unknown()).optional(),
|
|
92
|
+
/** 원문 텍스트 (자연어 명령을 함께 보존) */
|
|
93
|
+
text: z.string().optional(),
|
|
94
|
+
});
|
|
95
|
+
// --------------------------------------------------------------------------
|
|
96
|
+
// org.corp.erp.<entity>.<verb> (브리지 → 방, 인바운드)
|
|
97
|
+
// --------------------------------------------------------------------------
|
|
98
|
+
export const ErpEventContentSchema = z.object({
|
|
99
|
+
v: VersionSchema,
|
|
100
|
+
entity: z.string(),
|
|
101
|
+
entity_id: z.string(),
|
|
102
|
+
verb: z.string(),
|
|
103
|
+
status: z.string().optional(),
|
|
104
|
+
source: z.string(),
|
|
105
|
+
/** ERP 원본으로 가는 딥링크 — 권위 데이터는 복제하지 않고 참조만 한다(원장 원칙). */
|
|
106
|
+
link: z.string().optional(),
|
|
107
|
+
occurred_at: z.number().int(),
|
|
108
|
+
/** 표시에 필요한 최소 필드만. 권위 데이터의 복제가 아니라 스냅샷. */
|
|
109
|
+
fields: z.record(z.string(), z.unknown()).optional(),
|
|
110
|
+
});
|
|
111
|
+
// --------------------------------------------------------------------------
|
|
112
|
+
// org.corp.agent.capability (상태 이벤트, state_key = 에이전트 MXID)
|
|
113
|
+
// --------------------------------------------------------------------------
|
|
114
|
+
export const AgentCapabilityContentSchema = z.object({
|
|
115
|
+
v: VersionSchema,
|
|
116
|
+
display_name: z.string().optional(),
|
|
117
|
+
mcp_servers: z.string().array(),
|
|
118
|
+
/** "invoice:read", "invoice:approve" 같은 역량 스코프 */
|
|
119
|
+
scopes: z.string().array(),
|
|
120
|
+
/** 이 에이전트가 행사할 수 있는 최대 power level */
|
|
121
|
+
max_power_level: z.number().int(),
|
|
122
|
+
});
|
|
123
|
+
// --------------------------------------------------------------------------
|
|
124
|
+
// org.corp.workflow.state (상태 이벤트, last-writer-wins)
|
|
125
|
+
// --------------------------------------------------------------------------
|
|
126
|
+
export const WorkflowStateContentSchema = z.object({
|
|
127
|
+
v: VersionSchema,
|
|
128
|
+
status: z.string(),
|
|
129
|
+
entity: z.object({ type: z.string(), id: z.string() }).optional(),
|
|
130
|
+
updated_by: z.string().optional(),
|
|
131
|
+
updated_at: z.number().int().optional(),
|
|
132
|
+
data: z.record(z.string(), z.unknown()).optional(),
|
|
133
|
+
});
|
|
134
|
+
// --------------------------------------------------------------------------
|
|
135
|
+
// org.corp.room.binding (상태 이벤트, state_key = "" — 룸이 자기 도메인을 선언)
|
|
136
|
+
// --------------------------------------------------------------------------
|
|
137
|
+
// 룸이 자기 도메인(app/엔티티)을 선언한다 → 클라이언트가 getAppPack(app) 으로 어느 팩을
|
|
138
|
+
// 렌더할지 고른다. 룸당 1개(state_key = "", last-writer-wins). 권위 데이터는 (entity_type,
|
|
139
|
+
// entity_id) 키로 MCP/브리지에서 재조회하고, 여기에는 식별자만 둔다(원장 원칙).
|
|
140
|
+
export const RoomBindingContentSchema = z.object({
|
|
141
|
+
v: VersionSchema,
|
|
142
|
+
/** 렌더할 App Pack 의 도메인 키 (AppPack.app / PluginManifest.app 과 일치). */
|
|
143
|
+
app: z.string().min(1),
|
|
144
|
+
/** 이 룸이 다루는 엔티티 타입 (예: "lead", "repo"). */
|
|
145
|
+
entity_type: z.string().min(1),
|
|
146
|
+
/** 엔티티 인스턴스 ID (권위 데이터 조회 키 — 값 자체는 복제하지 않는다). */
|
|
147
|
+
entity_id: z.string().min(1),
|
|
148
|
+
});
|
|
149
|
+
// --------------------------------------------------------------------------
|
|
150
|
+
// org.corp.space.apps (상태 이벤트, state_key = "" — Space 가 추가한 App Service 목록)
|
|
151
|
+
// --------------------------------------------------------------------------
|
|
152
|
+
// Space(컨테이너)를 "App Service 추가·관리 단위"로 둔다. 자식 채널은 room.binding 으로 개별 앱을
|
|
153
|
+
// 고를 때 이 목록 안에서만 고르게(거버넌스) 할 수 있다. 값은 AppPack 도메인 키 배열(room.binding.app 과 일치).
|
|
154
|
+
export const SpaceAppsContentSchema = z.object({
|
|
155
|
+
v: VersionSchema,
|
|
156
|
+
/** 이 Space 가 제공하는 App Pack 도메인 키들. */
|
|
157
|
+
apps: z.array(z.string().min(1)),
|
|
158
|
+
});
|
|
159
|
+
/** Space 앱 목록 content 를 만든다(org.corp.space.apps, state_key=""). */
|
|
160
|
+
export function buildSpaceApps(spaceApps) {
|
|
161
|
+
return SpaceAppsContentSchema.parse({ ...spaceApps, v: SCHEMA_VERSION });
|
|
162
|
+
}
|
|
163
|
+
// --------------------------------------------------------------------------
|
|
164
|
+
// org.corp.room.apps (상태 이벤트, state_key = "" — 룸이 직접 선언한 App Service 목록)
|
|
165
|
+
// --------------------------------------------------------------------------
|
|
166
|
+
// space.apps 의 per-room 짝: Space 가 아니라 룸(채널)이 자기 앱 키 목록을 직접 선언한다. 클라는 이걸로
|
|
167
|
+
// 룸 안에서 어떤 앱들을 "탭"으로 노출할지 정한다(거버넌스 = 부모 Space space.apps 의 부분집합). 값은
|
|
168
|
+
// AppPack 도메인 키 배열(room.binding.app / app.surface.app 과 일치). 엔티티는 v1 에선 룸 단위로 공유한다
|
|
169
|
+
// (entity.snapshot 단일) — 탭마다 다른 엔티티는 후속.
|
|
170
|
+
export const RoomAppsContentSchema = z.object({
|
|
171
|
+
v: VersionSchema,
|
|
172
|
+
/** 이 룸이 탭으로 노출하는 App Pack 도메인 키들(표시 순서). */
|
|
173
|
+
apps: z.array(z.string().min(1)),
|
|
174
|
+
});
|
|
175
|
+
/** 룸 앱 목록 content 를 만든다(org.corp.room.apps, state_key=""). */
|
|
176
|
+
export function buildRoomApps(roomApps) {
|
|
177
|
+
return RoomAppsContentSchema.parse({ ...roomApps, v: SCHEMA_VERSION });
|
|
178
|
+
}
|
|
179
|
+
// --------------------------------------------------------------------------
|
|
180
|
+
// org.corp.entity.snapshot (상태 이벤트, state_key = "" — 엔티티 표시 필드 투영)
|
|
181
|
+
// --------------------------------------------------------------------------
|
|
182
|
+
// room.binding 은 식별자만 담는다(원장 원칙). 팩 서피스가 쓰는 {{repo}}/{{owner}} 같은 표시 필드는
|
|
183
|
+
// 권위 데이터가 아니라 "표시 투영"이므로 별도 상태 이벤트로 둔다 — 브리지/에이전트가 LWW 로 유지하고,
|
|
184
|
+
// 클라이언트가 resolveBindings 의 엔티티 스냅샷 소스로 읽는다. 도메인 무관 프리미티브(room.binding/workflow.state 류).
|
|
185
|
+
export const EntitySnapshotContentSchema = z.object({
|
|
186
|
+
v: VersionSchema,
|
|
187
|
+
/** 이 스냅샷이 다루는 엔티티 타입 (room.binding.entity_type 과 일치). */
|
|
188
|
+
entity_type: z.string().min(1),
|
|
189
|
+
/** 엔티티 인스턴스 ID (room.binding.entity_id 과 일치). */
|
|
190
|
+
entity_id: z.string().min(1),
|
|
191
|
+
/** {{path}} 바인딩으로 해석되는 표시 필드(평면 문자열 맵). 권위 데이터 아님 — 표시 투영. */
|
|
192
|
+
fields: z.record(z.string(), z.string()),
|
|
193
|
+
});
|
|
194
|
+
/** 엔티티 표시 스냅샷 content 를 만든다(org.corp.entity.snapshot, state_key=""). */
|
|
195
|
+
export function buildEntitySnapshot(snapshot) {
|
|
196
|
+
return EntitySnapshotContentSchema.parse({ ...snapshot, v: SCHEMA_VERSION });
|
|
197
|
+
}
|
|
198
|
+
// --------------------------------------------------------------------------
|
|
199
|
+
// org.corp.approval.request / .decision (HITL 다단계 승인, 메시지 이벤트)
|
|
200
|
+
// --------------------------------------------------------------------------
|
|
201
|
+
// 위험한 행동을 사람(또는 에이전트 승인자)이 명시적으로 승인/반려한다. request 가 한 번,
|
|
202
|
+
// decision 이 승인자 수만큼 회신되어 min_approvals 도달 시 통과한다. 권위 데이터는 (entity)
|
|
203
|
+
// 키로 MCP/브리지에서 재조회하고, fields 는 표시용 스냅샷만 둔다(원장 원칙).
|
|
204
|
+
// 권한은 항상 서버(canPublish + appservice PL+scope 재검증) — 카드 UI 는 UX 게이트일 뿐.
|
|
205
|
+
export const ApprovalRequestContentSchema = z.object({
|
|
206
|
+
v: VersionSchema,
|
|
207
|
+
/** 이 승인 라이프사이클의 안정적 ID. decision 이 이 값으로 요청을 가리킨다. */
|
|
208
|
+
request_id: z.string().min(1),
|
|
209
|
+
/** 승인 대상 엔티티(예: invoice INV-1042). 권위 데이터 재조회 키 — 값은 복제하지 않는다. */
|
|
210
|
+
entity: z.object({ type: z.string(), id: z.string() }).optional(),
|
|
211
|
+
/** 표시용 요약 필드(금액·기한 등) — 권위 데이터 복제가 아니라 스냅샷. */
|
|
212
|
+
fields: z.record(z.string(), z.unknown()),
|
|
213
|
+
/** 순차 승인자(MXID 또는 표시명) 목록 — 순서대로 결재한다. */
|
|
214
|
+
approvers: z.string().array().min(1),
|
|
215
|
+
/** 통과에 필요한 최소 승인 수(미지정 시 approvers 전원). */
|
|
216
|
+
min_approvals: z.number().int().positive().optional(),
|
|
217
|
+
});
|
|
218
|
+
export const ApprovalDecisionContentSchema = z.object({
|
|
219
|
+
v: VersionSchema,
|
|
220
|
+
/** 어떤 승인 요청에 대한 결정인지 (ApprovalRequest.request_id). */
|
|
221
|
+
request_id: z.string().min(1),
|
|
222
|
+
/** 결정한 승인자(MXID 또는 표시명). */
|
|
223
|
+
approver: z.string().min(1),
|
|
224
|
+
decision: z.enum(["approve", "reject"]),
|
|
225
|
+
note: z.string().optional(),
|
|
226
|
+
/** 원본 승인 요청 이벤트를 참조(m.reference). */
|
|
227
|
+
"m.relates_to": z
|
|
228
|
+
.object({ rel_type: z.literal("m.reference"), event_id: z.string() })
|
|
229
|
+
.optional(),
|
|
230
|
+
});
|
|
231
|
+
// --------------------------------------------------------------------------
|
|
232
|
+
// org.corp.agent.plan / .step (에이전트 런 타임라인 텔레메트리, 메시지 이벤트)
|
|
233
|
+
// --------------------------------------------------------------------------
|
|
234
|
+
// 도메인 무관 C층 프리미티브: "에이전트가 어떤 계획으로 어디까지 진행했나"를 1급으로 흘린다.
|
|
235
|
+
// plan 이 한 번(단계 목록 = 런의 골격), step 이 진행될 때마다 회신되어 plan 을 m.reference 한다.
|
|
236
|
+
// 스트리밍 갱신은 buildUiMessageEdit(m.replace)와 동형 — plan 을 m.replace 로 통째 갱신하거나
|
|
237
|
+
// step 이벤트를 누적해 클라가 합성한다(실제 와이어링은 P2-5). 여기는 데이터 토대만 둔다.
|
|
238
|
+
// 권한은 항상 서버(canPublish + appservice 재검증) — 에이전트만 발행한다.
|
|
239
|
+
/** 에이전트 런 단계의 상태. queued(대기) → active(진행) → done(완료) / error(실패). */
|
|
240
|
+
export const AgentStepStatusSchema = z.enum(["queued", "active", "done", "error"]);
|
|
241
|
+
/** plan 안의 한 단계 — 안정적 id(step 이벤트가 이 값으로 단계를 가리킨다) + 라벨 + 상태. */
|
|
242
|
+
export const AgentPlanStepSchema = z.object({
|
|
243
|
+
/** 단계의 안정적 ID — AgentStep.step_id 가 이 값을 가리킨다. */
|
|
244
|
+
id: z.string().min(1),
|
|
245
|
+
label: z.string(),
|
|
246
|
+
/** 미지정 시 queued(아직 시작 안 함). */
|
|
247
|
+
status: AgentStepStatusSchema.default("queued"),
|
|
248
|
+
note: z.string().optional(),
|
|
249
|
+
});
|
|
250
|
+
export const AgentPlanContentSchema = z.object({
|
|
251
|
+
v: VersionSchema,
|
|
252
|
+
/** 이 에이전트 런의 안정적 ID. step 이 이 값으로 런을 가리킨다. */
|
|
253
|
+
run_id: z.string().min(1),
|
|
254
|
+
title: z.string().optional(),
|
|
255
|
+
/** 실행 에이전트(MXID 또는 표시명). */
|
|
256
|
+
agent: z.string().optional(),
|
|
257
|
+
/** 런의 단계 골격(최소 1개). */
|
|
258
|
+
steps: AgentPlanStepSchema.array().min(1),
|
|
259
|
+
/** 전체 공정률 0~100(생략 시 클라가 done/total 로 산출). */
|
|
260
|
+
progress: z.number().int().min(0).max(100).optional(),
|
|
261
|
+
});
|
|
262
|
+
export const AgentStepContentSchema = z.object({
|
|
263
|
+
v: VersionSchema,
|
|
264
|
+
/** 어떤 런에 대한 단계 갱신인지 (AgentPlan.run_id). */
|
|
265
|
+
run_id: z.string().min(1),
|
|
266
|
+
/** 어떤 단계인지 (AgentPlanStep.id). */
|
|
267
|
+
step_id: z.string().min(1),
|
|
268
|
+
status: AgentStepStatusSchema,
|
|
269
|
+
note: z.string().optional(),
|
|
270
|
+
/** 이 단계의 부분 공정률 0~100(예: active 단계의 진행). */
|
|
271
|
+
progress: z.number().int().min(0).max(100).optional(),
|
|
272
|
+
/** 원본 plan 이벤트를 참조(m.reference). */
|
|
273
|
+
"m.relates_to": z
|
|
274
|
+
.object({ rel_type: z.literal("m.reference"), event_id: z.string() })
|
|
275
|
+
.optional(),
|
|
276
|
+
});
|
|
277
|
+
// --------------------------------------------------------------------------
|
|
278
|
+
// org.corp.task.create / .update (작업항목 라이프사이클, 메시지 이벤트)
|
|
279
|
+
// --------------------------------------------------------------------------
|
|
280
|
+
// 도메인 무관 C층 프리미티브: 사람↔에이전트가 공유하는 "작업항목". create 가 한 번(작업의 정본),
|
|
281
|
+
// update 가 상태/배정/진행을 바꿀 때마다 회신되어 create 를 m.reference 한다(approval.request/.decision,
|
|
282
|
+
// agent.plan/.step 과 동형). update 는 패치형 — 바뀐 필드만 담는 타입드 옵션 필드(AgentStep 과 동형,
|
|
283
|
+
// field/value-unknown 대신 타입 안전). 진척 카드의 공정률은 update 값을 손으로 박는 게 아니라
|
|
284
|
+
// summarizeTasks 가 이벤트 스트림에서 파생한다(데이터 우선 — done_when "진척도 실데이터").
|
|
285
|
+
// 권위 데이터는 entity 키로 MCP/브리지 재조회하고 값은 복제하지 않는다(원장 원칙). 권한은 항상 서버.
|
|
286
|
+
/** 작업항목의 라이프사이클 상태. todo → in_progress → done. blocked(막힘)·cancelled(취소)는 분기. */
|
|
287
|
+
export const TaskStatusSchema = z.enum(["todo", "in_progress", "blocked", "done", "cancelled"]);
|
|
288
|
+
export const TaskCreateContentSchema = z.object({
|
|
289
|
+
v: VersionSchema,
|
|
290
|
+
/** 이 작업의 안정적 ID. update 가 이 값으로 작업을 가리킨다. */
|
|
291
|
+
task_id: z.string().min(1),
|
|
292
|
+
title: z.string(),
|
|
293
|
+
/** 생성 시 상태(미지정 시 todo — 아직 시작 안 함). */
|
|
294
|
+
status: TaskStatusSchema.default("todo"),
|
|
295
|
+
/** 담당자(MXID/표시명) 목록 — "배정"은 update.assignees 로 교체한다(상태가 아니라 필드). */
|
|
296
|
+
assignees: z.string().array().optional(),
|
|
297
|
+
/** 이 작업이 다루는 엔티티(권위 데이터 재조회 키 — 값은 복제하지 않는다). */
|
|
298
|
+
entity: z.object({ type: z.string(), id: z.string() }).optional(),
|
|
299
|
+
});
|
|
300
|
+
export const TaskUpdateContentSchema = z.object({
|
|
301
|
+
v: VersionSchema,
|
|
302
|
+
/** 어떤 작업을 갱신하는지 (TaskCreate.task_id). */
|
|
303
|
+
task_id: z.string().min(1),
|
|
304
|
+
/** 새 상태(바뀌었을 때만). */
|
|
305
|
+
status: TaskStatusSchema.optional(),
|
|
306
|
+
/** 재배정(담당자 집합 교체). */
|
|
307
|
+
assignees: z.string().array().optional(),
|
|
308
|
+
/** 이 작업 한 건의 부분 공정률 0~100(장기 작업의 스트리밍 진행). 카드 전체 %는 summarizeTasks 가 파생. */
|
|
309
|
+
progress: z.number().int().min(0).max(100).optional(),
|
|
310
|
+
/** 전이 사유/메모. */
|
|
311
|
+
note: z.string().optional(),
|
|
312
|
+
/** 원본 create 이벤트를 참조(m.reference). */
|
|
313
|
+
"m.relates_to": z
|
|
314
|
+
.object({ rel_type: z.literal("m.reference"), event_id: z.string() })
|
|
315
|
+
.optional(),
|
|
316
|
+
});
|
|
317
|
+
/**
|
|
318
|
+
* task.create + task.update 이벤트 스트림에서 진척 요약을 파생한다(데이터 우선).
|
|
319
|
+
* create 로 작업 집합을 세우고, update 를 주어진(타임라인) 순서대로 폴드해 최신값이 이기게 한다
|
|
320
|
+
* — 갤러리 applyStep 병합(에이전트 단계)을 작업 단위로 일반화. multiApproval(approved/required)·
|
|
321
|
+
* checklist(done/total) 의 0/N 산출과 동형. cancelled 는 분모에서 빼 진행 바를 끌어내리지 않는다.
|
|
322
|
+
* 코어(events.ts)에 두어 P2-4(라이브 m.replace 재파생)·P2-5(텔레메트리)가 템플릿 잠금 없이 재사용한다.
|
|
323
|
+
*/
|
|
324
|
+
export function summarizeTasks(creates, updates) {
|
|
325
|
+
const byId = new Map();
|
|
326
|
+
for (const c of creates) {
|
|
327
|
+
// 같은 task_id 중복 create 는 첫 create 가 정본(멱등) — 이후는 무시.
|
|
328
|
+
if (byId.has(c.task_id))
|
|
329
|
+
continue;
|
|
330
|
+
byId.set(c.task_id, {
|
|
331
|
+
task_id: c.task_id,
|
|
332
|
+
title: c.title,
|
|
333
|
+
status: c.status,
|
|
334
|
+
assignees: c.assignees,
|
|
335
|
+
});
|
|
336
|
+
}
|
|
337
|
+
for (const u of updates) {
|
|
338
|
+
const t = byId.get(u.task_id);
|
|
339
|
+
if (!t)
|
|
340
|
+
continue; // create 없는 update 는 무시(방어)
|
|
341
|
+
if (u.status !== undefined)
|
|
342
|
+
t.status = u.status;
|
|
343
|
+
if (u.assignees !== undefined)
|
|
344
|
+
t.assignees = u.assignees;
|
|
345
|
+
if (u.progress !== undefined)
|
|
346
|
+
t.progress = u.progress;
|
|
347
|
+
if (u.note !== undefined)
|
|
348
|
+
t.note = u.note;
|
|
349
|
+
}
|
|
350
|
+
const tasks = [...byId.values()];
|
|
351
|
+
const byStatus = {
|
|
352
|
+
todo: 0,
|
|
353
|
+
in_progress: 0,
|
|
354
|
+
blocked: 0,
|
|
355
|
+
done: 0,
|
|
356
|
+
cancelled: 0,
|
|
357
|
+
};
|
|
358
|
+
for (const t of tasks)
|
|
359
|
+
byStatus[t.status]++;
|
|
360
|
+
const total = tasks.length;
|
|
361
|
+
const cancelled = byStatus.cancelled;
|
|
362
|
+
const done = byStatus.done;
|
|
363
|
+
const active = total - done - cancelled;
|
|
364
|
+
const countable = total - cancelled;
|
|
365
|
+
const percent = countable > 0 ? Math.round((done / countable) * 100) : 0;
|
|
366
|
+
return { total, done, active, cancelled, percent, byStatus, tasks };
|
|
367
|
+
}
|
|
368
|
+
// --------------------------------------------------------------------------
|
|
369
|
+
// org.corp.a2a.request / .result (에이전트 ↔ 에이전트 협업, 메시지 이벤트)
|
|
370
|
+
// --------------------------------------------------------------------------
|
|
371
|
+
// RFC §D4: A2A = 에이전트 ↔ 에이전트. 한 에이전트가 다른 에이전트에게 작업을 위임하고
|
|
372
|
+
// 결과를 회수한다. (UI 카드/액션과 별개의 채널 — 사람용 UI가 아니라 에이전트 간 프로토콜)
|
|
373
|
+
export const A2aRequestContentSchema = z.object({
|
|
374
|
+
v: VersionSchema,
|
|
375
|
+
request_id: z.string().min(1),
|
|
376
|
+
from_agent: z.string(),
|
|
377
|
+
to_agent: z.string(),
|
|
378
|
+
/** 위임 의도. 예: "invoice.second_approval" */
|
|
379
|
+
intent: z.string().min(1),
|
|
380
|
+
payload: z.record(z.string(), z.unknown()).optional(),
|
|
381
|
+
reason: z.string().optional(),
|
|
382
|
+
});
|
|
383
|
+
export const A2aResultContentSchema = z.object({
|
|
384
|
+
v: VersionSchema,
|
|
385
|
+
request_id: z.string().min(1),
|
|
386
|
+
from_agent: z.string(),
|
|
387
|
+
to_agent: z.string(),
|
|
388
|
+
status: z.enum(["approved", "rejected", "completed", "error"]),
|
|
389
|
+
result: z.record(z.string(), z.unknown()).optional(),
|
|
390
|
+
note: z.string().optional(),
|
|
391
|
+
"m.relates_to": z
|
|
392
|
+
.object({ rel_type: z.literal("m.reference"), event_id: z.string() })
|
|
393
|
+
.optional(),
|
|
394
|
+
});
|
|
395
|
+
// --------------------------------------------------------------------------
|
|
396
|
+
// 빌더 헬퍼
|
|
397
|
+
// --------------------------------------------------------------------------
|
|
398
|
+
/** 전용 이벤트 타입(org.corp.ui.card)으로 보낼 content를 만든다. */
|
|
399
|
+
export function buildUiCardContent(card) {
|
|
400
|
+
return UiCardContentSchema.parse({ ...card, v: SCHEMA_VERSION });
|
|
401
|
+
}
|
|
402
|
+
/**
|
|
403
|
+
* m.room.message 안에 UI 카드를 끼워 보낼 content를 만든다 (권장 기본 경로).
|
|
404
|
+
* Element/Cinny 등 미지원 클라는 fallback 텍스트를 보고, 우리 클라는 카드를 렌더한다.
|
|
405
|
+
*/
|
|
406
|
+
export function buildUiMessageContent(card) {
|
|
407
|
+
const content = buildUiCardContent(card);
|
|
408
|
+
return {
|
|
409
|
+
msgtype: "m.text",
|
|
410
|
+
body: content.fallback,
|
|
411
|
+
[UI_CONTENT_KEY]: content,
|
|
412
|
+
};
|
|
413
|
+
}
|
|
414
|
+
/**
|
|
415
|
+
* 기존 UI 카드를 m.replace 로 편집하는 m.room.message content를 만든다.
|
|
416
|
+
* 진행률 갱신(progress 블록 스트리밍)이나 상태 전이(state: submitted 등)에 쓴다.
|
|
417
|
+
* 미지원 클라는 m.new_content.body(평문)를 보고, 우리 클라는 m.new_content[UI_CONTENT_KEY]를 렌더한다.
|
|
418
|
+
*/
|
|
419
|
+
export function buildUiMessageEdit(originalEventId, card) {
|
|
420
|
+
const newContent = buildUiMessageContent(card);
|
|
421
|
+
return {
|
|
422
|
+
// 최상위는 편집 전 클라이언트용 fallback (관례상 "* " 접두사)
|
|
423
|
+
msgtype: "m.text",
|
|
424
|
+
body: `* ${newContent.body}`,
|
|
425
|
+
[UI_CONTENT_KEY]: newContent[UI_CONTENT_KEY],
|
|
426
|
+
"m.relates_to": { rel_type: "m.replace", event_id: originalEventId },
|
|
427
|
+
"m.new_content": newContent,
|
|
428
|
+
};
|
|
429
|
+
}
|
|
430
|
+
/**
|
|
431
|
+
* 기존 카드에 부분 갱신을 적용한 **새** 카드를 만든다(원본 불변). 첫 progress/steps 블록만 대상으로 하고,
|
|
432
|
+
* 결과는 buildUiCardContent 로 재검증한다(범위 밖 값은 거부). 라이브 스트리밍 진행의 표준 갱신 단위.
|
|
433
|
+
*/
|
|
434
|
+
export function applyCardPatch(card, patch) {
|
|
435
|
+
let progressPatched = false;
|
|
436
|
+
let stepsPatched = false;
|
|
437
|
+
const blocks = card.blocks.map((b) => {
|
|
438
|
+
if (b.type === "progress" && patch.progress !== undefined && !progressPatched) {
|
|
439
|
+
progressPatched = true;
|
|
440
|
+
const pp = typeof patch.progress === "number" ? { value: patch.progress } : patch.progress;
|
|
441
|
+
return {
|
|
442
|
+
type: "progress",
|
|
443
|
+
// 와이어 canonical JSON 은 소수 금지 → 분수 퍼센트(예 100/3)가 들어와도 반올림해 int 로 보낸다(400 방지).
|
|
444
|
+
value: pp.value !== undefined ? Math.round(pp.value) : b.value,
|
|
445
|
+
label: pp.label !== undefined ? pp.label : b.label,
|
|
446
|
+
tone: pp.tone !== undefined ? pp.tone : b.tone,
|
|
447
|
+
};
|
|
448
|
+
}
|
|
449
|
+
if (b.type === "steps" && patch.steps?.length && !stepsPatched) {
|
|
450
|
+
stepsPatched = true;
|
|
451
|
+
const items = b.items.map((it, i) => {
|
|
452
|
+
const e = patch.steps?.find((s) => s.index === i);
|
|
453
|
+
if (!e)
|
|
454
|
+
return it;
|
|
455
|
+
return {
|
|
456
|
+
label: it.label,
|
|
457
|
+
status: e.status !== undefined ? e.status : it.status,
|
|
458
|
+
note: e.note !== undefined ? e.note : it.note,
|
|
459
|
+
};
|
|
460
|
+
});
|
|
461
|
+
return { type: "steps", items };
|
|
462
|
+
}
|
|
463
|
+
return b;
|
|
464
|
+
});
|
|
465
|
+
return buildUiCardContent({
|
|
466
|
+
...card,
|
|
467
|
+
blocks,
|
|
468
|
+
...(patch.state !== undefined ? { state: patch.state } : {}),
|
|
469
|
+
...(patch.title !== undefined ? { title: patch.title } : {}),
|
|
470
|
+
...(patch.fallback !== undefined ? { fallback: patch.fallback } : {}),
|
|
471
|
+
});
|
|
472
|
+
}
|
|
473
|
+
/**
|
|
474
|
+
* 라이브 카드 갱신 m.replace 메시지를 만든다 = applyCardPatch + buildUiMessageEdit.
|
|
475
|
+
* 에이전트가 "진행 60%·2번 단계 done" 처럼 부분 갱신만 넘기면 편집 이벤트가 완성된다.
|
|
476
|
+
*/
|
|
477
|
+
export function buildCardEdit(originalEventId, card, patch) {
|
|
478
|
+
return buildUiMessageEdit(originalEventId, applyCardPatch(card, patch));
|
|
479
|
+
}
|
|
480
|
+
/** 룸↔도메인 바인딩 상태 이벤트 content를 만든다 (state_key = "" 로 발행). */
|
|
481
|
+
export function buildRoomBinding(binding) {
|
|
482
|
+
return RoomBindingContentSchema.parse({ ...binding, v: SCHEMA_VERSION });
|
|
483
|
+
}
|
|
484
|
+
/** 다단계 승인 요청 content를 만든다 (org.corp.approval.request). */
|
|
485
|
+
export function buildApprovalRequest(req) {
|
|
486
|
+
return ApprovalRequestContentSchema.parse({ ...req, v: SCHEMA_VERSION });
|
|
487
|
+
}
|
|
488
|
+
/** 승인 결정(승인/반려) content를 만든다 (org.corp.approval.decision, 요청을 m.reference). */
|
|
489
|
+
export function buildApprovalDecision(dec) {
|
|
490
|
+
return ApprovalDecisionContentSchema.parse({ ...dec, v: SCHEMA_VERSION });
|
|
491
|
+
}
|
|
492
|
+
/**
|
|
493
|
+
* approval.request + 그 request_id 의 decision 스트림에서 진행 상태를 파생한다(데이터 우선,
|
|
494
|
+
* summarizeTasks 동형). 트리아지 표면(모바일 홈 '승인 대기' 카드 등)이 "내가 결재할 것"을
|
|
495
|
+
* 골라내는 판정 — 표시용이며, 권한/유효성의 권위는 항상 서버(canPublish + appservice 재검증).
|
|
496
|
+
* decisions 는 다른 request_id 가 섞여 있어도 되고(여기서 거른다), 같은 승인자의 중복 결정은
|
|
497
|
+
* 첫 결정이 이긴다(결정 번복은 스코프 밖 — 스키마에 철회 이벤트가 없다).
|
|
498
|
+
*/
|
|
499
|
+
export function approvalProgress(self, request, decisions) {
|
|
500
|
+
const required = request.min_approvals ?? request.approvers.length;
|
|
501
|
+
const seen = new Set();
|
|
502
|
+
let approvals = 0;
|
|
503
|
+
let rejected = false;
|
|
504
|
+
let selfDecided = false;
|
|
505
|
+
for (const d of decisions) {
|
|
506
|
+
if (d.request_id !== request.request_id)
|
|
507
|
+
continue;
|
|
508
|
+
if (seen.has(d.approver))
|
|
509
|
+
continue; // 같은 승인자 재결정 무시(첫 결정 유지).
|
|
510
|
+
seen.add(d.approver);
|
|
511
|
+
if (d.decision === "approve")
|
|
512
|
+
approvals += 1;
|
|
513
|
+
else
|
|
514
|
+
rejected = true;
|
|
515
|
+
if (d.approver === self)
|
|
516
|
+
selfDecided = true;
|
|
517
|
+
}
|
|
518
|
+
const resolved = rejected || approvals >= required;
|
|
519
|
+
return {
|
|
520
|
+
required,
|
|
521
|
+
approvals,
|
|
522
|
+
resolved,
|
|
523
|
+
pendingForSelf: !resolved && !selfDecided && request.approvers.includes(self),
|
|
524
|
+
};
|
|
525
|
+
}
|
|
526
|
+
/** 에이전트 런 계획 content를 만든다 (org.corp.agent.plan — 런의 단계 골격). */
|
|
527
|
+
export function buildAgentPlan(plan) {
|
|
528
|
+
return AgentPlanContentSchema.parse({ ...plan, v: SCHEMA_VERSION });
|
|
529
|
+
}
|
|
530
|
+
/** 에이전트 런 단계 갱신 content를 만든다 (org.corp.agent.step, 런/단계를 가리킨다). */
|
|
531
|
+
export function buildAgentStep(step) {
|
|
532
|
+
return AgentStepContentSchema.parse({ ...step, v: SCHEMA_VERSION });
|
|
533
|
+
}
|
|
534
|
+
/**
|
|
535
|
+
* 기존 agent.plan 이벤트를 m.replace 로 편집하는 content를 만든다 — 런이 진행되며 단계 상태/공정률을 갱신한다.
|
|
536
|
+
* 전용 이벤트 타입(org.corp.agent.plan)도 buildUiMessageEdit 와 같은 m.replace+m.new_content 형태로 흘려,
|
|
537
|
+
* 편집 인지 클라는 m.new_content 의 새 plan 을, 미인지 클라는 top-level content(=새 plan)를 본다.
|
|
538
|
+
*/
|
|
539
|
+
export function buildAgentPlanEdit(originalEventId, plan) {
|
|
540
|
+
const content = buildAgentPlan(plan);
|
|
541
|
+
return {
|
|
542
|
+
...content,
|
|
543
|
+
"m.relates_to": { rel_type: "m.replace", event_id: originalEventId },
|
|
544
|
+
"m.new_content": content,
|
|
545
|
+
};
|
|
546
|
+
}
|
|
547
|
+
/** 작업항목 생성 content를 만든다 (org.corp.task.create — 작업 라이프사이클의 루트).
|
|
548
|
+
* status 는 스키마 기본값(todo)이 있어 입력에서 생략 가능하다. */
|
|
549
|
+
export function buildTaskCreate(task) {
|
|
550
|
+
return TaskCreateContentSchema.parse({ ...task, v: SCHEMA_VERSION });
|
|
551
|
+
}
|
|
552
|
+
/** 작업항목 갱신 content를 만든다 (org.corp.task.update, 바뀐 필드만 — create 를 m.reference). */
|
|
553
|
+
export function buildTaskUpdate(update) {
|
|
554
|
+
return TaskUpdateContentSchema.parse({ ...update, v: SCHEMA_VERSION });
|
|
555
|
+
}
|
|
556
|
+
/** UI 액션 회신 content를 만든다. */
|
|
557
|
+
export function buildUiActionContent(action) {
|
|
558
|
+
return UiActionContentSchema.parse({ ...action, v: SCHEMA_VERSION });
|
|
559
|
+
}
|
|
560
|
+
/** m.room.message content 또는 임의 객체에서 끼워진 UI 카드를 추출한다(있으면). */
|
|
561
|
+
export function extractUiCard(content) {
|
|
562
|
+
if (content && typeof content === "object" && UI_CONTENT_KEY in content) {
|
|
563
|
+
// 인바운드(렌더) 경로 — 모르는/깨진 블록만 떨어내고 strict 검증(전방호환: 카드 전체 붕괴 방지).
|
|
564
|
+
const raw = dropUnknownBlocks(content[UI_CONTENT_KEY]);
|
|
565
|
+
const parsed = UiCardContentSchema.safeParse(raw);
|
|
566
|
+
return parsed.success ? parsed.data : null;
|
|
567
|
+
}
|
|
568
|
+
return null;
|
|
569
|
+
}
|
|
570
|
+
export { EventType, UI_CONTENT_KEY };
|
|
571
|
+
//# sourceMappingURL=events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
|