@underdogai/mesh-event-schemas 0.1.0 → 0.3.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/dist/apppacks.d.ts +1466 -246
- package/dist/apppacks.d.ts.map +1 -1
- package/dist/blocks.d.ts +130 -28
- package/dist/blocks.d.ts.map +1 -1
- package/dist/blocks.js +27 -2
- package/dist/blocks.js.map +1 -1
- package/dist/events.d.ts +268 -50
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js +92 -0
- package/dist/events.js.map +1 -1
- package/dist/namespace.d.ts +16 -0
- package/dist/namespace.d.ts.map +1 -1
- package/dist/namespace.js +16 -0
- package/dist/namespace.js.map +1 -1
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +22 -1
- package/dist/registry.js.map +1 -1
- package/dist/surfaces.d.ts +44585 -10003
- package/dist/surfaces.d.ts.map +1 -1
- package/dist/surfaces.js +198 -5
- package/dist/surfaces.js.map +1 -1
- package/package.json +2 -2
- package/src/blocks.ts +27 -2
- package/src/events.ts +116 -0
- package/src/namespace.ts +16 -0
- package/src/registry.ts +24 -0
- package/src/surfaces.ts +223 -5
- package/src/templates.ts +1 -1
package/dist/surfaces.js
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* 데이터 바인딩: 문자열 안의 `{{entity.path}}` 를 resolveBindings 로 룸 엔티티 스냅샷에서 채운다.
|
|
10
10
|
*/
|
|
11
11
|
import { z } from "zod";
|
|
12
|
-
import { ToneSchema } from "./blocks.js";
|
|
12
|
+
import { CheckboxBlockSchema, InputBlockSchema, RadioBlockSchema, SelectBlockSchema, SliderBlockSchema, ToggleBlockSchema, ToneSchema, } from "./blocks.js";
|
|
13
13
|
import { AgentPlanContentSchema, AgentStepStatusSchema, SCHEMA_VERSION, UiCardContentSchema, } from "./events.js";
|
|
14
14
|
/** 키-값 묶음 (리드 정보 등). value 는 `{{entity.path}}` 바인딩 가능. */
|
|
15
15
|
export const SurfaceFieldsSchema = z.object({
|
|
@@ -332,7 +332,25 @@ export const ModalConfirmSchema = z.object({
|
|
|
332
332
|
action_id: z.string(),
|
|
333
333
|
tone: ToneSchema.optional(),
|
|
334
334
|
});
|
|
335
|
-
/**
|
|
335
|
+
/**
|
|
336
|
+
* 모달 폼 블록 — 카드 블록 어휘의 **입력 서브셋**만 허용한 닫힌 유니온(D1). 버튼/액션 블록은 넣지
|
|
337
|
+
* 않는다 — 모달의 실행 어포던스는 confirm 하나다(파괴적 액션 확인 게이트라는 정체성 유지).
|
|
338
|
+
* 렌더러(ModalRenderer)가 name 별 값을 수집해 confirm 발행 시 values 로 동봉한다.
|
|
339
|
+
*/
|
|
340
|
+
export const ModalFormBlockSchema = z.discriminatedUnion("type", [
|
|
341
|
+
InputBlockSchema,
|
|
342
|
+
SelectBlockSchema,
|
|
343
|
+
RadioBlockSchema,
|
|
344
|
+
CheckboxBlockSchema,
|
|
345
|
+
ToggleBlockSchema,
|
|
346
|
+
SliderBlockSchema,
|
|
347
|
+
]);
|
|
348
|
+
/** 모달 폼 스텝(G3) — 제목 + 폼 블록 묶음. 카드 마법사(UiCardContent.steps)의 모달 짝. */
|
|
349
|
+
export const ModalStepSchema = z.object({
|
|
350
|
+
title: z.string().optional(),
|
|
351
|
+
blocks: ModalFormBlockSchema.array(),
|
|
352
|
+
});
|
|
353
|
+
/** 모달/시트 스펙 — 제목 + 설명 + 톤 + (선택) 폼 블록 + 확인/취소. title/description 은 `{{entity.path}}` 바인딩 가능. */
|
|
336
354
|
export const ModalSpecSchema = z.object({
|
|
337
355
|
/** 이 모달의 안정적 id — 같은 id 의 셸 액션이 이 모달을 연다. */
|
|
338
356
|
id: z.string(),
|
|
@@ -341,6 +359,20 @@ export const ModalSpecSchema = z.object({
|
|
|
341
359
|
title: z.string(),
|
|
342
360
|
description: z.string().optional(),
|
|
343
361
|
tone: ToneSchema.optional(),
|
|
362
|
+
/**
|
|
363
|
+
* 폼 블록(선택, D1) — 확인 전에 사람이 채우는 입력들. confirm 발행 시 수집값이 values 로 동봉된다.
|
|
364
|
+
* 이 필드를 모르는 옛 클라는 zod strip 으로 조용히 떨궈 확인문구만 렌더한다(graceful degrade).
|
|
365
|
+
* 미래 블록 종류는 dropUnknownSurfaceSections 가 블록 단위로 걸러낸다(서피스 붕괴 방지).
|
|
366
|
+
*/
|
|
367
|
+
blocks: ModalFormBlockSchema.array().optional(),
|
|
368
|
+
/**
|
|
369
|
+
* 스텝 폼(G3) — 있으면 렌더러가 마법사(이전/다음)로 그리고, 마지막 스텝에서만 confirm 을 활성한다.
|
|
370
|
+
* 이때 blocks 는 무시된다(전방호환 트릭: 발행 측 buildAppSurface 가 blocks 에 **평탄화 사본**을 자동
|
|
371
|
+
* 동봉하므로, steps 를 모르는 옛 클라는 strip 후 평면 폼(blocks)으로 렌더 — 기능 축소일 뿐 파손 없음).
|
|
372
|
+
*/
|
|
373
|
+
steps: ModalStepSchema.array().optional(),
|
|
374
|
+
/** 자동 확인(리뷰) 스텝(G3) — steps 가 있을 때 마지막에 수집값 요약(라벨→값) 스텝을 붙인다. 기본 true. */
|
|
375
|
+
review: z.boolean().optional(),
|
|
344
376
|
/** 확인 버튼(있으면) — 누르면 confirm.action_id 를 발행하고 닫는다. */
|
|
345
377
|
confirm: ModalConfirmSchema.optional(),
|
|
346
378
|
/** 취소/닫기 라벨(기본 "Cancel"). */
|
|
@@ -371,6 +403,97 @@ export const ObjectMapSpecSchema = z.object({
|
|
|
371
403
|
nodes: ObjectMapNodeSchema.array(),
|
|
372
404
|
edges: ObjectMapEdgeSchema.array(),
|
|
373
405
|
});
|
|
406
|
+
// --- 우측 셸 패널 기여 (ShellPanelTabContribution) — PANEL-SDK-1 ---
|
|
407
|
+
// SDK 앱이 우측 패널에 Files 와 동급의 **독립 탭**을 선언형으로 기여한다. 기존 PanelTabSchema 는
|
|
408
|
+
// PanelSpec *내부의 서브탭*이라 이름을 겹치지 않는다(티켓 §3.1). 배치(panel_tabs)와 콘텐츠(kind)를
|
|
409
|
+
// 분리한다: 파일 관리는 콘텐츠 종류 중 하나(assetBrowser)일 뿐, 탭 배치 API 가 아니다(잠금 결정 1).
|
|
410
|
+
// 호스트가 실제 탭 id 를 `app:<app>:<tab.id>` 로 네임스페이스해 코어 id(panel/files/preview:*)와
|
|
411
|
+
// 충돌할 수 없게 한다(client-web core/panelContributions.ts).
|
|
412
|
+
/** 앱당 panel_tabs 상한 — 스키마(max)와 인바운드 degrade(초과분 자르기)가 같은 값을 본다. */
|
|
413
|
+
export const MAX_PANEL_TAB_CONTRIBUTIONS = 8;
|
|
414
|
+
/** 앱당 preview_providers 상한 — 위와 같은 쌍. */
|
|
415
|
+
export const MAX_PREVIEW_PROVIDERS = 32;
|
|
416
|
+
/** 필수 파일 슬롯 — "이 종류의 파일이 최소 몇 개 있어야 한다"(레퍼런스/기획설계 등). */
|
|
417
|
+
export const AssetBrowserSlotSchema = z.object({
|
|
418
|
+
id: z.string().min(1),
|
|
419
|
+
label: z.string().min(1),
|
|
420
|
+
/** 허용 형식 — ".pdf"(확장자) 또는 "image/*"(MIME) 문자열. 업로드 input accept 와 같은 어휘. */
|
|
421
|
+
accept: z.string().array().optional(),
|
|
422
|
+
/** 충족으로 판정할 최소 개수(기본 1). */
|
|
423
|
+
min: z.number().int().min(0).optional(),
|
|
424
|
+
});
|
|
425
|
+
/**
|
|
426
|
+
* 파일 브라우저 스펙 — 폴더/현재 버전/버전 이력을 **앱 네임스페이스 이벤트**로 연결한다(티켓 §6).
|
|
427
|
+
* mxc(바이트 주소)와 앱 도메인 메타데이터(asset/folder/version)를 분리한다(잠금 결정 7).
|
|
428
|
+
* 렌더러(AssetBrowserPanel)는 Phase D — 스키마/계약을 먼저 고정한다.
|
|
429
|
+
*/
|
|
430
|
+
export const AssetBrowserSpecSchema = z.object({
|
|
431
|
+
title: z.string().optional(),
|
|
432
|
+
/** 데이터 이벤트 타입 — folder/current 는 state, version 은 timeline(append-only). */
|
|
433
|
+
events: z.object({
|
|
434
|
+
folder: z.string().min(1),
|
|
435
|
+
current: z.string().min(1),
|
|
436
|
+
version: z.string().min(1),
|
|
437
|
+
}),
|
|
438
|
+
/** 조작 액션 id(org.corp.ui.action 왕복) — 없으면 읽기 전용 브라우저. */
|
|
439
|
+
actions: z
|
|
440
|
+
.object({
|
|
441
|
+
upload: z.string().optional(),
|
|
442
|
+
createFolder: z.string().optional(),
|
|
443
|
+
rename: z.string().optional(),
|
|
444
|
+
})
|
|
445
|
+
.optional(),
|
|
446
|
+
requiredSlots: AssetBrowserSlotSchema.array().optional(),
|
|
447
|
+
});
|
|
448
|
+
/**
|
|
449
|
+
* 기여 탭의 콘텐츠 — 닫힌 판별 유니온(잠금 결정 3: React/임의 CSS 주입 없음).
|
|
450
|
+
* - surface: 기존 닫힌 SurfaceBody 조합(PanelSpec)을 그대로 렌더(SurfaceRenderer 재사용).
|
|
451
|
+
* - assetBrowser: 파일 관리 명세(위). 미래 kind 는 dropUnknownSurfaceSections 가 탭 단위로 거른다.
|
|
452
|
+
*/
|
|
453
|
+
export const ShellPanelContentSchema = z.discriminatedUnion("kind", [
|
|
454
|
+
z.object({ kind: z.literal("surface"), panel: PanelSpecSchema }),
|
|
455
|
+
AssetBrowserSpecSchema.extend({ kind: z.literal("assetBrowser") }),
|
|
456
|
+
]);
|
|
457
|
+
/** 우측 셸 패널 기여 탭 하나 — id 는 앱 내부 고유(호스트가 `app:<app>:` 접두사로 네임스페이스). */
|
|
458
|
+
export const ShellPanelTabContributionSchema = z.object({
|
|
459
|
+
id: z.string().min(1),
|
|
460
|
+
label: z.string().min(1),
|
|
461
|
+
/** 호스트 아이콘 집합(components/icons) 이름 — 미지 값은 중립 폴백(빈 원). */
|
|
462
|
+
icon: z.string().optional(),
|
|
463
|
+
/**
|
|
464
|
+
* lazy(기본) — 활성일 때만 마운트. keep-alive — **한 번 열린 뒤**에는 전환해도 살려 둔다
|
|
465
|
+
* (WorkspaceShell 의 기존 규칙 보존: 열지도 않은 탭을 미리 마운트하지 않는다).
|
|
466
|
+
*/
|
|
467
|
+
lifecycle: z.enum(["lazy", "keep-alive"]).optional(),
|
|
468
|
+
content: ShellPanelContentSchema,
|
|
469
|
+
});
|
|
470
|
+
// --- 동적 미리보기 제공자 (PreviewProviderSpec) — PANEL-SDK-1 ---
|
|
471
|
+
// 앱이 코어가 모르는 확장자/MIME 을 **호스트 내장 안전 렌더러**에 매핑한다(잠금 결정 4: 매칭과
|
|
472
|
+
// 렌더링 분리 — 임의 실행 코드는 0.4 의 별도 샌드박스 경로만). 매칭 규칙은 순수 함수
|
|
473
|
+
// resolvePreviewProvider(client-web core/previewRegistry.ts)가 고정한다: 코어 아는 형식 우선,
|
|
474
|
+
// 앱 간은 room.apps 순서, provider 안에서는 extension/MIME OR.
|
|
475
|
+
/** 호스트 내장 안전 renderer id — Phase C 에서 renderer registry 의 키가 된다. */
|
|
476
|
+
export const NativePreviewRendererIdSchema = z.enum([
|
|
477
|
+
"image",
|
|
478
|
+
"video",
|
|
479
|
+
"audio",
|
|
480
|
+
"pdf",
|
|
481
|
+
"text",
|
|
482
|
+
"markdown",
|
|
483
|
+
"html-sandbox",
|
|
484
|
+
]);
|
|
485
|
+
/** 미리보기 제공자 하나 — 확장자/MIME 매칭 → 내장 renderer. */
|
|
486
|
+
export const PreviewProviderSpecSchema = z.object({
|
|
487
|
+
id: z.string().min(1),
|
|
488
|
+
match: z.object({
|
|
489
|
+
/** 점 포함 확장자(".dxf") 권장 — 클라가 소문자·점 포함으로 정규화해 매칭한다. */
|
|
490
|
+
extensions: z.string().array().optional(),
|
|
491
|
+
/** exact("text/plain") 또는 wildcard("image/*"). */
|
|
492
|
+
mimeTypes: z.string().array().optional(),
|
|
493
|
+
}),
|
|
494
|
+
/** 렌더러 — 0.3 은 native 만(닫힌 enum). widget/converter 는 0.4 별도 보안 경로(티켓 §5.4). */
|
|
495
|
+
renderer: z.object({ kind: z.literal("native"), id: NativePreviewRendererIdSchema }),
|
|
496
|
+
});
|
|
374
497
|
// --- 앱 서피스 와이어 이벤트 (org.corp.app.surface) — "서피스를 데이터로" ---
|
|
375
498
|
// 클라에 팩을 컴파일해 넣는 대신(registerAppPack=클라 평면), 앱(App Service)이 셸 서피스(패널/헤더)를
|
|
376
499
|
// 상태 이벤트로 룸에 실어 보낸다 → "Matrix App Service 만 추가해도" 회사별 UI 가 등록·렌더된다.
|
|
@@ -388,8 +511,13 @@ export const AppSurfaceContentSchema = z.object({
|
|
|
388
511
|
display_name: z.string().optional(),
|
|
389
512
|
/** 이 서피스가 다루는 엔티티 타입(표시/진단용). */
|
|
390
513
|
entity_type: z.string().optional(),
|
|
391
|
-
/**
|
|
392
|
-
|
|
514
|
+
/**
|
|
515
|
+
* 우측 컨텍스트 패널(닫힌 SurfaceBody 조합) — PANEL-SDK-1 부터 **선택**. panel_tabs 만 기여하는
|
|
516
|
+
* 앱은 panel 없이도 유효한 서피스다. 이 필드를 모르는 구 클라에서는 "신규 탭만 가진 앱이 안 보임"
|
|
517
|
+
* 으로 축소될 뿐 기존 서피스는 그대로 동작한다(하위호환 UI 가 필요한 앱은 0.3 동안 sidebar 병행).
|
|
518
|
+
* {{entity.path}} 바인딩은 클라가 resolveBindings 로 해석.
|
|
519
|
+
*/
|
|
520
|
+
panel: PanelSpecSchema.optional(),
|
|
393
521
|
/**
|
|
394
522
|
* 메인 영역 서피스(닫힌 SurfaceBody 조합) — 선택. 우측 panel 의 짝으로, 룸 본문(타임라인 대신)에
|
|
395
523
|
* 탭으로 그릴 중앙 콘텐츠를 데이터로 기술한다. 없으면 이 앱은 사이드바 탭만 제공한다.
|
|
@@ -413,6 +541,13 @@ export const AppSurfaceContentSchema = z.object({
|
|
|
413
541
|
objectMap: ObjectMapSpecSchema.optional(),
|
|
414
542
|
/** 선언형 모달/시트(확인 다이얼로그) — 선택(AppPack.modals 동일). 같은 id 의 셸 액션이 연다. */
|
|
415
543
|
modals: ModalSpecSchema.array().optional(),
|
|
544
|
+
/**
|
|
545
|
+
* 우측 셸 패널 기여 탭(PANEL-SDK-1) — Files 옆에 서는 독립 탭 목록. 순서 = 선언 순서.
|
|
546
|
+
* 이 필드를 모르는 옛 클라는 zod strip 으로 조용히 무시한다(기존 M3 필드와 같은 자세).
|
|
547
|
+
*/
|
|
548
|
+
panel_tabs: ShellPanelTabContributionSchema.array().max(MAX_PANEL_TAB_CONTRIBUTIONS).optional(),
|
|
549
|
+
/** 동적 미리보기 제공자(PANEL-SDK-1) — 미지 확장자/MIME → 내장 renderer 매핑. 순서 = 선언 순서. */
|
|
550
|
+
preview_providers: PreviewProviderSpecSchema.array().max(MAX_PREVIEW_PROVIDERS).optional(),
|
|
416
551
|
/**
|
|
417
552
|
* 회사별 브랜드 토큰 오버라이드(--cob-color-* → 값). 클라가 룩(디자인 토큰)을 소유하되,
|
|
418
553
|
* 테넌트는 토큰만 갈아끼워 자기 브랜드를 입힌다(임의 CSS 아님 = 닫힌 토큰 키). 클라가 inline CSS 변수로 적용.
|
|
@@ -421,7 +556,11 @@ export const AppSurfaceContentSchema = z.object({
|
|
|
421
556
|
});
|
|
422
557
|
/** AppSurface content 빌더 — v 주입 + 스키마 검증(앱은 이걸 상태 이벤트로 룸에 게시). 항상 현재 SCHEMA_VERSION(strict). */
|
|
423
558
|
export function buildAppSurface(input) {
|
|
424
|
-
|
|
559
|
+
// 스텝 모달(G3) 전방호환 — steps 선언 시 blocks 에 **평탄화 사본**을 자동 동봉한다(작성자가 blocks 를
|
|
560
|
+
// 직접 줬으면 존중). 신 클라는 steps 를 그리며 blocks 를 무시하고, steps 를 모르는 옛 클라는 zod strip
|
|
561
|
+
// 후 평면 폼(blocks)으로 렌더한다 — 기능 축소일 뿐 파손 없음.
|
|
562
|
+
const modals = input.modals?.map((m) => m.steps?.length && !m.blocks?.length ? { ...m, blocks: m.steps.flatMap((s) => s.blocks) } : m);
|
|
563
|
+
return AppSurfaceContentSchema.parse({ ...input, ...(modals ? { modals } : {}), v: SCHEMA_VERSION });
|
|
425
564
|
}
|
|
426
565
|
/**
|
|
427
566
|
* 인바운드 app.surface content 에서 모르는/깨진 섹션을 떨어낸다(전방호환 graceful degrade) — strict 파싱 전 호출.
|
|
@@ -442,10 +581,64 @@ export function dropUnknownSurfaceSections(raw) {
|
|
|
442
581
|
return panel;
|
|
443
582
|
return { ...p, sections: p.sections.filter((s) => SurfaceSectionSchema.safeParse(s).success) };
|
|
444
583
|
};
|
|
584
|
+
// 모달 폼 블록(D1)도 같은 자세 — blocks 는 닫힌 유니온이라 미래 블록 하나가 modals 배열 전체
|
|
585
|
+
// (나아가 서피스 전체)를 붕괴시킨다 → 블록 단위로 걸러 아는 블록 + 확인문구는 그린다.
|
|
586
|
+
// 스텝 폼(G3)의 steps[].blocks 도 동일 — 스텝 안 미래 블록 하나가 모달을 붕괴시키지 않게 거른다.
|
|
587
|
+
const keepModalBlocks = (modals) => {
|
|
588
|
+
if (!Array.isArray(modals))
|
|
589
|
+
return modals;
|
|
590
|
+
const keepBlocks = (blocks) => Array.isArray(blocks) ? blocks.filter((b) => ModalFormBlockSchema.safeParse(b).success) : blocks;
|
|
591
|
+
return modals.map((m) => {
|
|
592
|
+
if (!m || typeof m !== "object")
|
|
593
|
+
return m;
|
|
594
|
+
const mm = m;
|
|
595
|
+
const out = { ...mm };
|
|
596
|
+
if (Array.isArray(mm.blocks))
|
|
597
|
+
out.blocks = keepBlocks(mm.blocks);
|
|
598
|
+
if (Array.isArray(mm.steps)) {
|
|
599
|
+
out.steps = mm.steps.map((s) => {
|
|
600
|
+
if (!s || typeof s !== "object")
|
|
601
|
+
return s;
|
|
602
|
+
const ss = s;
|
|
603
|
+
return Array.isArray(ss.blocks) ? { ...ss, blocks: keepBlocks(ss.blocks) } : s;
|
|
604
|
+
});
|
|
605
|
+
}
|
|
606
|
+
return out;
|
|
607
|
+
});
|
|
608
|
+
};
|
|
609
|
+
// SDK 기여 탭(PANEL-SDK-1)도 같은 자세 — ① kind:"surface" 탭의 내부 panel 은 섹션 단위로 거르고,
|
|
610
|
+
// ② 그래도 미지(미래 kind)거나 깨진 contribution 은 **그 탭만** 드롭한다(탭 하나 때문에 배열
|
|
611
|
+
// 전체 → 서피스 전체가 붕괴하지 않게). ③ 미래 스키마가 상한을 올려 보내도 옛 클라의 max 검증이
|
|
612
|
+
// 전체를 죽이지 않도록 상한으로 자른다(발신 빌더는 strict 라 정상 경로에선 안 걸린다).
|
|
613
|
+
const keepPanelTabs = (tabs) => {
|
|
614
|
+
if (!Array.isArray(tabs))
|
|
615
|
+
return tabs;
|
|
616
|
+
return tabs
|
|
617
|
+
.map((t) => {
|
|
618
|
+
if (!t || typeof t !== "object")
|
|
619
|
+
return t;
|
|
620
|
+
const tt = t;
|
|
621
|
+
const content = tt.content;
|
|
622
|
+
if (content && typeof content === "object" && content.kind === "surface") {
|
|
623
|
+
const cc = content;
|
|
624
|
+
return { ...tt, content: { ...cc, panel: keepSections(cc.panel) } };
|
|
625
|
+
}
|
|
626
|
+
return t;
|
|
627
|
+
})
|
|
628
|
+
.filter((t) => ShellPanelTabContributionSchema.safeParse(t).success)
|
|
629
|
+
.slice(0, MAX_PANEL_TAB_CONTRIBUTIONS);
|
|
630
|
+
};
|
|
631
|
+
// 미리보기 제공자 — 미래 renderer kind("widget", 0.4)가 섞여 와도 provider 단위로만 거른다.
|
|
632
|
+
const keepPreviewProviders = (providers) => Array.isArray(providers)
|
|
633
|
+
? providers.filter((p) => PreviewProviderSpecSchema.safeParse(p).success).slice(0, MAX_PREVIEW_PROVIDERS)
|
|
634
|
+
: providers;
|
|
445
635
|
return {
|
|
446
636
|
...c,
|
|
447
637
|
...(c.panel !== undefined ? { panel: keepSections(c.panel) } : {}),
|
|
448
638
|
...(c.main !== undefined ? { main: keepSections(c.main) } : {}),
|
|
639
|
+
...(c.modals !== undefined ? { modals: keepModalBlocks(c.modals) } : {}),
|
|
640
|
+
...(c.panel_tabs !== undefined ? { panel_tabs: keepPanelTabs(c.panel_tabs) } : {}),
|
|
641
|
+
...(c.preview_providers !== undefined ? { preview_providers: keepPreviewProviders(c.preview_providers) } : {}),
|
|
449
642
|
};
|
|
450
643
|
}
|
|
451
644
|
// --- 데이터 바인딩 ---
|
package/dist/surfaces.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"surfaces.js","sourceRoot":"","sources":["../src/surfaces.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"surfaces.js","sourceRoot":"","sources":["../src/surfaces.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@underdogai/mesh-event-schemas",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "@underdogai/mesh-app-sdk 가 쓰는 이벤트·UI 블록 스키마(zod) — 카드/서피스 와이어 포맷의 단일 진실 공급원.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"repository": {
|
|
39
39
|
"type": "git",
|
|
40
40
|
"url": "https://forgejo.taildff74c.ts.net:3000/Underdog/ChatOps.git",
|
|
41
|
-
"directory": "packages/event-schemas"
|
|
41
|
+
"directory": "packages/contract/event-schemas"
|
|
42
42
|
},
|
|
43
43
|
"engines": {
|
|
44
44
|
"node": ">=20"
|
package/src/blocks.ts
CHANGED
|
@@ -54,6 +54,18 @@ export const FieldsBlockSchema = z.object({
|
|
|
54
54
|
value: z.string(),
|
|
55
55
|
/** true면 2열 그리드에 좁게 배치 */
|
|
56
56
|
short: z.boolean().optional(),
|
|
57
|
+
/**
|
|
58
|
+
* 값을 색이 다른 조각으로 나눠 그린다 — git diff 의 `+214 −37` 처럼 한 필드 안에서 조각마다
|
|
59
|
+
* 톤이 달라야 할 때. 있으면 렌더러가 value 대신 이걸 그리고, `value` 는 평문 사본으로 남는다
|
|
60
|
+
* (구버전 렌더러·fallback 경로가 계속 읽는다 — 그래서 여기 텍스트를 이어붙인 것과 같아야 한다).
|
|
61
|
+
*
|
|
62
|
+
* 조각은 gap 으로 벌어진 한 줄이다. 문장을 쪼개는 용도가 아니라 값 옆에 값을 붙이는 용도다.
|
|
63
|
+
* 색만으로 구분하지 않도록 부호·단위를 각 조각 text 에 남길 것 — 톤은 보조 신호다.
|
|
64
|
+
*/
|
|
65
|
+
parts: z
|
|
66
|
+
.object({ text: z.string(), tone: ToneSchema.optional() })
|
|
67
|
+
.array()
|
|
68
|
+
.optional(),
|
|
57
69
|
})
|
|
58
70
|
.array(),
|
|
59
71
|
});
|
|
@@ -91,12 +103,25 @@ export const TableBlockSchema = z.object({
|
|
|
91
103
|
export const InputBlockSchema = z.object({
|
|
92
104
|
type: z.literal("input"),
|
|
93
105
|
name: z.string().min(1),
|
|
94
|
-
/**
|
|
95
|
-
|
|
106
|
+
/**
|
|
107
|
+
* date=날짜, datetime=날짜+시각(네이티브 datetime-local), time=시각만 — 모두 네이티브 피커로 렌더.
|
|
108
|
+
* url/email 은 텍스트 계열(네이티브 검증/모바일 키보드 힌트). file 은 첨부 업로드 —
|
|
109
|
+
* 클라가 mxc:// 로 올린 뒤 값이 `{ mxc, name, size, mime }` 객체로 수집된다(다른 타입은 string).
|
|
110
|
+
* 표시 전용 `file` **블록**(FileBlockSchema)과는 별개다 — 이쪽은 입력(수집)이다.
|
|
111
|
+
*/
|
|
112
|
+
input: z.enum(["text", "textarea", "number", "date", "datetime", "time", "url", "email", "file"]).optional(),
|
|
96
113
|
label: z.string().optional(),
|
|
97
114
|
placeholder: z.string().optional(),
|
|
98
115
|
required: z.boolean().optional(),
|
|
99
116
|
value: z.string().optional(),
|
|
117
|
+
/** input:"file" 전용 — 허용 MIME/확장자(HTML accept 문법, 예: "image/*,.pdf"). 다른 타입에선 무시. */
|
|
118
|
+
accept: z.string().optional(),
|
|
119
|
+
/**
|
|
120
|
+
* input:"file" 전용(G1) — true 면 여러 파일을 누적 선택하고 값이 `{ mxc, … }[]` **배열**로 수집된다
|
|
121
|
+
* (단일이면 기존대로 객체 — 하위호환). 다른 타입에선 무시. 이 키를 모르는 옛 클라는 strip 후
|
|
122
|
+
* 단일 업로드로 동작한다(기능 축소일 뿐 파손 없음).
|
|
123
|
+
*/
|
|
124
|
+
multiple: z.boolean().optional(),
|
|
100
125
|
});
|
|
101
126
|
|
|
102
127
|
/** 토글(스위치) — checkbox 와 같은 불리언을 수집하되 on/off 스위치 어포던스로 렌더. */
|
package/src/events.ts
CHANGED
|
@@ -142,6 +142,32 @@ export const AgentCapabilityContentSchema = z.object({
|
|
|
142
142
|
});
|
|
143
143
|
export type AgentCapabilityContent = z.infer<typeof AgentCapabilityContentSchema>;
|
|
144
144
|
|
|
145
|
+
// --------------------------------------------------------------------------
|
|
146
|
+
// org.corp.<app>.acl (상태 이벤트, state_key = "" — per-액션 ACL, C1)
|
|
147
|
+
// --------------------------------------------------------------------------
|
|
148
|
+
// 선언은 데이터(방 상태), 판정은 서버 게이트(evaluateAction) — 원칙 1. 방 운영자가 이 상태를 써서
|
|
149
|
+
// "이 방에서 이 액션은 이 사람들만"을 선언하면, 호스트 게이트가 dispatch 시점에 읽어 sender 를 대조한다.
|
|
150
|
+
// 쓰기 자체는 Matrix PL(state_default)로 보호된다. 항목이 없는 action_id 는 제한 없음(기본 허용 —
|
|
151
|
+
// scope/PL 게이트는 그대로 적용). 클라의 버튼 숨김/비활성은 UX 힌트일 뿐이다.
|
|
152
|
+
|
|
153
|
+
/** 한 액션의 ACL — allow: 허용 MXID 목록(빈 배열 = 아무도 못 부름, fail-closed 명시). */
|
|
154
|
+
export const AppActionAclSchema = z.object({
|
|
155
|
+
allow: z.string().array(),
|
|
156
|
+
});
|
|
157
|
+
export type AppActionAcl = z.infer<typeof AppActionAclSchema>;
|
|
158
|
+
|
|
159
|
+
export const AppAclContentSchema = z.object({
|
|
160
|
+
v: VersionSchema,
|
|
161
|
+
/** action_id → ACL. 없는 액션은 제한 없음. */
|
|
162
|
+
actions: z.record(z.string(), AppActionAclSchema),
|
|
163
|
+
});
|
|
164
|
+
export type AppAclContent = z.infer<typeof AppAclContentSchema>;
|
|
165
|
+
|
|
166
|
+
/** 앱의 ACL 상태 이벤트 타입 — `org.corp.<app>.acl`(앱 네임스페이스 소유 규칙과 동일). */
|
|
167
|
+
export function appAclEventType(app: string): string {
|
|
168
|
+
return `org.corp.${app}.acl`;
|
|
169
|
+
}
|
|
170
|
+
|
|
145
171
|
// --------------------------------------------------------------------------
|
|
146
172
|
// org.corp.workflow.state (상태 이벤트, last-writer-wins)
|
|
147
173
|
// --------------------------------------------------------------------------
|
|
@@ -216,6 +242,96 @@ export function buildRoomApps(
|
|
|
216
242
|
return RoomAppsContentSchema.parse({ ...roomApps, v: SCHEMA_VERSION });
|
|
217
243
|
}
|
|
218
244
|
|
|
245
|
+
// --------------------------------------------------------------------------
|
|
246
|
+
// org.corp.note.* (상태 이벤트 — 채널 노트 = 다같이 보고 다같이 고치는 블록 문서)
|
|
247
|
+
// --------------------------------------------------------------------------
|
|
248
|
+
// 채널마다 노트 **여러 개**. 문서는 **블록 단위로 쪼개진 상태 이벤트**로 저장한다(namespace.ts NoteBlock 주석):
|
|
249
|
+
// org.corp.note.block state_key = <노트 id>.<블록 id> ← 동기화 단위. 삭제 = 빈 content
|
|
250
|
+
// org.corp.note.meta state_key = 노트 id ← 제목 + 목록 정렬 키. 삭제 = 빈 content
|
|
251
|
+
// org.corp.note.editing state_key = 편집 세션 ← "누가 어느 블록을 만지는 중" 표시(강제 잠금 아님)
|
|
252
|
+
//
|
|
253
|
+
// 노트 id 가 **state_key 안에** 사는 이유와 옛 문서(채널당 1개 시절, 구분자 없는 state_key)를 어떻게
|
|
254
|
+
// 이어받는지는 client-web 의 noteModel.ts `DEFAULT_NOTE_ID` 주석에 있다 — 판정은 거기 한 곳뿐이다.
|
|
255
|
+
//
|
|
256
|
+
// 순서는 배열이 아니라 블록마다 가진 **분수 인덱스 문자열**(`order`)이 정한다. 문자열 오름차순이 곧 표시
|
|
257
|
+
// 순서라, 사이에 끼워 넣어도 이웃 블록을 다시 쓰지 않는다(= 삽입이 남의 편집을 밟지 않는다).
|
|
258
|
+
// 누가/언제 고쳤는지는 상태 이벤트의 sender/origin_server_ts 가 이미 갖고 있어 content 에 복제하지 않는다.
|
|
259
|
+
|
|
260
|
+
/** 노트 블록의 닫힌 종류 집합 — 모르는 종류는 수신측이 문단으로 관용 처리한다. */
|
|
261
|
+
export const NOTE_BLOCK_TYPES = [
|
|
262
|
+
"paragraph",
|
|
263
|
+
"heading",
|
|
264
|
+
"bullet",
|
|
265
|
+
"numbered",
|
|
266
|
+
"todo",
|
|
267
|
+
"quote",
|
|
268
|
+
"code",
|
|
269
|
+
"divider",
|
|
270
|
+
] as const;
|
|
271
|
+
export type NoteBlockType = (typeof NOTE_BLOCK_TYPES)[number];
|
|
272
|
+
|
|
273
|
+
export const NoteBlockContentSchema = z.object({
|
|
274
|
+
v: VersionSchema,
|
|
275
|
+
type: z.enum(NOTE_BLOCK_TYPES),
|
|
276
|
+
/** 본문 — 인라인 마크다운(**굵게**·`코드`·[링크]). divider 는 빈 문자열. 상한은 이벤트 크기 방어. */
|
|
277
|
+
text: z.string().max(8000).default(""),
|
|
278
|
+
/** 정렬 키(분수 인덱스). 문자열 오름차순 = 표시 순서. */
|
|
279
|
+
order: z.string().min(1).max(200),
|
|
280
|
+
/** 제목 단계 — type="heading" 일 때만 의미(그 외엔 무시). */
|
|
281
|
+
level: z.union([z.literal(1), z.literal(2), z.literal(3)]).optional(),
|
|
282
|
+
/** 체크 여부 — type="todo" 일 때만 의미. */
|
|
283
|
+
checked: z.boolean().optional(),
|
|
284
|
+
});
|
|
285
|
+
export type NoteBlockContent = z.infer<typeof NoteBlockContentSchema>;
|
|
286
|
+
|
|
287
|
+
/** 노트 블록 content 를 만든다 (org.corp.note.block, state_key = 블록 id). */
|
|
288
|
+
export function buildNoteBlock(
|
|
289
|
+
block: Omit<NoteBlockContent, "v" | "text"> & { v?: typeof SCHEMA_VERSION; text?: string },
|
|
290
|
+
): NoteBlockContent {
|
|
291
|
+
return NoteBlockContentSchema.parse({ ...block, v: SCHEMA_VERSION });
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
export const NoteMetaContentSchema = z.object({
|
|
295
|
+
v: VersionSchema,
|
|
296
|
+
/** 노트 제목. 비어 있으면 클라이언트가 기본 이름으로 대체한다. */
|
|
297
|
+
title: z.string().max(200).default(""),
|
|
298
|
+
/**
|
|
299
|
+
* 노트 **목록**의 정렬 키(분수 인덱스) — 블록의 `order` 와 같은 방식·같은 이유다.
|
|
300
|
+
* 옛 노트엔 없다(그때는 채널당 하나였다) → 없으면 수신측이 노트 id 를 대신 쓴다.
|
|
301
|
+
*/
|
|
302
|
+
order: z.string().min(1).max(200).optional(),
|
|
303
|
+
});
|
|
304
|
+
export type NoteMetaContent = z.infer<typeof NoteMetaContentSchema>;
|
|
305
|
+
|
|
306
|
+
/** 노트 메타 content 를 만든다 (org.corp.note.meta, state_key = 노트 id — 기본 노트는 ""). */
|
|
307
|
+
export function buildNoteMeta(
|
|
308
|
+
meta: Omit<NoteMetaContent, "v" | "title"> & { v?: typeof SCHEMA_VERSION; title?: string },
|
|
309
|
+
): NoteMetaContent {
|
|
310
|
+
return NoteMetaContentSchema.parse({ ...meta, v: SCHEMA_VERSION });
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
export const NoteEditingContentSchema = z.object({
|
|
314
|
+
v: VersionSchema,
|
|
315
|
+
/** 지금 만지는 중인 블록 id. 편집을 멈추면 빈 content 로 지운다. */
|
|
316
|
+
block_id: z.string().min(1),
|
|
317
|
+
/**
|
|
318
|
+
* 발신 시각(ms, 발신자 시계). 수신측이 `Date.now() - ts > TTL` 로 스테일을 버린다.
|
|
319
|
+
*
|
|
320
|
+
* origin_server_ts 가 아니라 content 에 두는 이유가 둘: ① 편집이 길어질 때 보내는 갱신이
|
|
321
|
+
* **직전과 같은 content 면 서버가 무시할 수 있어** 표시가 조용히 굳는다 — ts 가 매번 달라 그걸 막는다.
|
|
322
|
+
* ② 수신측은 자기 시계(Date.now())로 비교하는데 서버 시계와 섞으면 기준이 두 개가 된다.
|
|
323
|
+
*/
|
|
324
|
+
ts: z.number().int().nonnegative(),
|
|
325
|
+
});
|
|
326
|
+
export type NoteEditingContent = z.infer<typeof NoteEditingContentSchema>;
|
|
327
|
+
|
|
328
|
+
/** 편집중 표시 content 를 만든다 (org.corp.note.editing, state_key = 편집자 MXID). */
|
|
329
|
+
export function buildNoteEditing(
|
|
330
|
+
editing: Omit<NoteEditingContent, "v"> & { v?: typeof SCHEMA_VERSION },
|
|
331
|
+
): NoteEditingContent {
|
|
332
|
+
return NoteEditingContentSchema.parse({ ...editing, v: SCHEMA_VERSION });
|
|
333
|
+
}
|
|
334
|
+
|
|
219
335
|
// --------------------------------------------------------------------------
|
|
220
336
|
// org.corp.entity.snapshot (상태 이벤트, state_key = "" — 엔티티 표시 필드 투영)
|
|
221
337
|
// --------------------------------------------------------------------------
|
package/src/namespace.ts
CHANGED
|
@@ -48,6 +48,22 @@ export const EventType = {
|
|
|
48
48
|
SpaceApps: `${NS}.space.apps`,
|
|
49
49
|
/** 상태 이벤트: 룸(채널)이 직접 선언한 App Service(앱) 키 목록 — space.apps 의 per-room 짝, 탭으로 노출 (state_key = "") */
|
|
50
50
|
RoomApps: `${NS}.room.apps`,
|
|
51
|
+
/**
|
|
52
|
+
* 상태 이벤트: 채널 노트(공동 편집 문서)의 **블록 하나** (state_key = 블록 id).
|
|
53
|
+
*
|
|
54
|
+
* 문서 전체가 아니라 블록마다 이벤트를 쪼갠 이유: Matrix 상태 해석은 (type, state_key) 별로 독립이라
|
|
55
|
+
* **서로 다른 블록을 동시에 고쳐도 충돌하지 않는다**. 한 이벤트에 블록 배열을 담으면 읽고-고쳐-쓰기가
|
|
56
|
+
* 되어 동시 편집이 서로를 지운다(lost update). 같은 블록을 동시에 고친 경우만 last-writer-wins.
|
|
57
|
+
* 블록 삭제 = 빈 content(Matrix 의 상태 해제 관용).
|
|
58
|
+
*/
|
|
59
|
+
NoteBlock: `${NS}.note.block`,
|
|
60
|
+
/** 상태 이벤트: 채널 노트의 메타(제목) (state_key = "") */
|
|
61
|
+
NoteMeta: `${NS}.note.meta`,
|
|
62
|
+
/**
|
|
63
|
+
* 상태 이벤트: "지금 이 사람이 이 블록을 편집 중" 표시 (state_key = 편집자 MXID).
|
|
64
|
+
* 강제 잠금이 아니라 **표시용**이고, 유효기간은 수신측이 `ts` 로 판정한다(스테일 자동 소멸).
|
|
65
|
+
*/
|
|
66
|
+
NoteEditing: `${NS}.note.editing`,
|
|
51
67
|
} as const;
|
|
52
68
|
|
|
53
69
|
/** ERP 인바운드 이벤트 타입 접두사. 실제 타입은 `org.corp.erp.<entity>.<verb>` 로 만든다. */
|
package/src/registry.ts
CHANGED
|
@@ -17,6 +17,9 @@ import {
|
|
|
17
17
|
CommandContentSchema,
|
|
18
18
|
EntitySnapshotContentSchema,
|
|
19
19
|
ErpEventContentSchema,
|
|
20
|
+
NoteBlockContentSchema,
|
|
21
|
+
NoteEditingContentSchema,
|
|
22
|
+
NoteMetaContentSchema,
|
|
20
23
|
RoomAppsContentSchema,
|
|
21
24
|
RoomBindingContentSchema,
|
|
22
25
|
TaskCreateContentSchema,
|
|
@@ -162,6 +165,27 @@ export const EVENT_REGISTRY: RegistryEntry[] = [
|
|
|
162
165
|
publishableBy: ["human", "agent"],
|
|
163
166
|
description: "작업항목 갱신 (상태/배정/진행) — 사람/에이전트가 발행, create 를 m.reference",
|
|
164
167
|
},
|
|
168
|
+
{
|
|
169
|
+
type: EventType.NoteBlock,
|
|
170
|
+
kind: "state",
|
|
171
|
+
schema: NoteBlockContentSchema,
|
|
172
|
+
publishableBy: ["human", "agent"],
|
|
173
|
+
description: "채널 노트의 블록 하나 (state_key = 블록 id) — 블록 단위 동시 편집의 동기화 단위",
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
type: EventType.NoteMeta,
|
|
177
|
+
kind: "state",
|
|
178
|
+
schema: NoteMetaContentSchema,
|
|
179
|
+
publishableBy: ["human", "agent"],
|
|
180
|
+
description: "채널 노트의 메타(제목) (state_key = \"\")",
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
type: EventType.NoteEditing,
|
|
184
|
+
kind: "state",
|
|
185
|
+
schema: NoteEditingContentSchema,
|
|
186
|
+
publishableBy: ["human", "agent"],
|
|
187
|
+
description: "노트 편집중 표시 (state_key = 편집자 MXID) — 표시용, 수신측 TTL 로 소멸",
|
|
188
|
+
},
|
|
165
189
|
{
|
|
166
190
|
type: EventType.A2aRequest,
|
|
167
191
|
kind: "message",
|