@underdogai/mesh-app-sdk 0.2.0 → 0.4.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/README.md CHANGED
@@ -62,6 +62,15 @@ await serve(app, { homeserver, accessToken }); // 봇 상시 실행 (
62
62
 
63
63
  되돌릴 수 없는 액션(`destructive: true`)은 기본적으로 **누른 사람의 권한 등급 50 이상**을 요구한다. 자체 정책은 `serve(app, { gate })` 로 대체할 수 있고, 초대 수락 범위는 `acceptInvite` 로 좁힐 수 있다.
64
64
 
65
+ 앱이 컴포저를 선언하면 봇이 참여한 **모든 방**의 입력창 어휘가 바뀐다. 일부 방에서만 쓰려면 `shouldPublishSurface` 로 좁힌다 — 거절한 방에 이미 올라가 있던 서피스는 함께 **회수**된다.
66
+
67
+ ```ts
68
+ await serve(app, {
69
+ homeserver, accessToken,
70
+ shouldPublishSurface: ({ roomId }) => roomId === CONTRACT_ROOM_ID,
71
+ });
72
+ ```
73
+
65
74
  ## 문서
66
75
 
67
76
  전체 가이드 — 설치부터 화면 지도, 권한 모델, 보안 수칙까지: **https://chatops.theunderdog.ai/sdk-guide**
package/dist/app.d.ts CHANGED
@@ -15,11 +15,22 @@ import type { z } from "zod";
15
15
  import { buildUiMessageContent, type AgentDockSpec, type AppSurfaceContent, type CanvasSpec, type CommandPaletteSpec, type ComposerSpec, type HeaderSpec, type ModalSpec, type ObjectMapSpec, type PanelSpec, type Plugin, type Publisher, type UiCardContent } from "@underdogai/mesh-event-schemas";
16
16
  import type { AppAction } from "./action.js";
17
17
  import type { ActionHandler, EventHandler } from "./runtime.js";
18
+ import type { PreviewProviderSpec, ShellPanelTabContribution } from "@underdogai/mesh-event-schemas";
18
19
  export interface AppEventDef<S extends z.ZodTypeAny = z.ZodTypeAny> {
20
+ /**
21
+ * 메시지(타임라인)인가 상태(state, LWW 현재값)인가 — 기본 "message"(기존 동작 보존).
22
+ * assetBrowser 의 folder/current 처럼 "현재 값 하나"인 사실은 "state" 로 정직하게 선언한다
23
+ * (레지스트리 등록 kind 가 이 값을 따른다). `ctx.emit(..., {form:"state"})`/`ctx.state.get()` 과 짝.
24
+ */
25
+ kind?: "message" | "state";
19
26
  /** 이 도메인 이벤트 content 스키마(레지스트리에 등록 → validateEvent/canPublish 가 인식). */
20
27
  schema: S;
21
- /** 이 이벤트가 들어오면 어떤 카드(기존 블록 조합)로 그릴지 — 이벤트 ↔ UI 결합. */
22
- view: (content: z.infer<S>) => UiCardContent;
28
+ /**
29
+ * 이 이벤트가 들어오면 어떤 카드(기존 블록 조합) 그릴지 — 이벤트 ↔ UI 결합. **선택**:
30
+ * state 이벤트(폴더/현재 버전 등)는 카드화 대상이 아니라 view 없이 선언할 수 있다.
31
+ * view 없는 타입은 messageForEvent()=null 이고 emit(form:"message")가 정의 오류로 throw 된다.
32
+ */
33
+ view?: (content: z.infer<S>) => UiCardContent;
23
34
  publishableBy?: Publisher[];
24
35
  }
25
36
  export interface AppDef {
@@ -52,6 +63,14 @@ export interface AppDef {
52
63
  handlers?: Record<string, ActionHandler>;
53
64
  /** 우측 셸 패널(데이터). surfaceState 로 상태 이벤트화. */
54
65
  sidebar?: PanelSpec;
66
+ /**
67
+ * 우측 셸 패널 **독립 탭** 기여(PANEL-SDK-1) — Files 옆에 서는 탭 목록(wire: panel_tabs).
68
+ * sidebar(Context 안 내용)와 다른 자리다: 이건 셸 탭 배치 계약이고, 콘텐츠는 닫힌 kind
69
+ * (surface | assetBrowser)다. 호스트가 탭 id 를 `app:<app>:` 으로 네임스페이스한다.
70
+ */
71
+ panelTabs?: ShellPanelTabContribution[];
72
+ /** 동적 미리보기 제공자(PANEL-SDK-1) — 미지 확장자/MIME → 내장 renderer 매핑(wire: preview_providers). */
73
+ previewProviders?: PreviewProviderSpec[];
55
74
  /** 메인 영역 서피스(데이터, 선택) — 룸 본문에 탭으로 그릴 중앙 콘텐츠. sidebar 와 함께 발행된다. */
56
75
  main?: PanelSpec;
57
76
  /** 룸 헤더(데이터, 선택). */
package/dist/app.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
package/dist/app.js CHANGED
@@ -33,7 +33,8 @@ export function defineApp(def) {
33
33
  // register 는 멱등 가드 뒤라 1회만 호출되므로, false 는 *진짜 충돌*(다른 앱이 같은 타입/접두사 섀도잉)이다 → throw.
34
34
  const ok = registerEventEntry({
35
35
  type,
36
- kind: "message",
36
+ // 선언된 kind 그대로 등록(기본 "message") — state 사실(폴더/현재 버전)이 message 로 거짓 등록되지 않게.
37
+ kind: ev.kind ?? "message",
37
38
  schema: ev.schema,
38
39
  publishableBy: ev.publishableBy ?? ["bridge", "agent"],
39
40
  description: `${def.app} 앱 도메인 이벤트`,
@@ -59,7 +60,8 @@ export function defineApp(def) {
59
60
  on,
60
61
  messageForEvent(type, content) {
61
62
  const ev = events[type];
62
- if (!ev)
63
+ // view 없는 선언(state 등)은 카드화 대상이 아니다 — null(발신 측 emit 은 정의 시점에 이미 막는다).
64
+ if (!ev?.view)
63
65
  return null;
64
66
  const parsed = ev.schema.safeParse(content);
65
67
  if (!parsed.success)
@@ -67,9 +69,21 @@ export function defineApp(def) {
67
69
  return buildUiMessageContent(ev.view(parsed.data));
68
70
  },
69
71
  surfaceState() {
70
- // panel(=sidebar) 필수 와이어 필드라 sidebar 없으면 서피스를 발행하지 않는다.
71
- // main sidebar 함께만 실어 보낸다(메인 영역 콘텐츠). main 있는 앱은 v1 미지원.
72
- if (!def.sidebar)
72
+ // PANEL-SDK-1: panel(=sidebar) optional 되어 "셸에 실을 것이 하나라도 있으면" 발행한다.
73
+ // panelTabs-only 앱(sidebar 없음)도 유효한 서피스를 낸다. 아무 면도 없으면 기존대로 null.
74
+ const hasSurface = !!(def.sidebar ||
75
+ def.main ||
76
+ def.panelTabs?.length ||
77
+ def.previewProviders?.length ||
78
+ def.header ||
79
+ def.canvas ||
80
+ def.dock ||
81
+ def.composer ||
82
+ def.commandPalette ||
83
+ def.objectMap ||
84
+ def.modals?.length ||
85
+ def.theme);
86
+ if (!hasSurface)
73
87
  return null;
74
88
  return buildAppSurface({
75
89
  app: def.app,
@@ -84,6 +98,9 @@ export function defineApp(def) {
84
98
  commandPalette: def.commandPalette,
85
99
  objectMap: def.objectMap,
86
100
  modals: def.modals,
101
+ // wire 는 snake_case — 스펙 내부 필드(requiredSlots/mimeTypes)는 스키마 그대로(camelCase, CanvasSpec.cardTabs 관례).
102
+ panel_tabs: def.panelTabs,
103
+ preview_providers: def.previewProviders,
87
104
  theme: def.theme,
88
105
  });
89
106
  },
package/dist/app.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
@@ -16,11 +16,13 @@ export interface CardOpts {
16
16
  export declare const card: {
17
17
  /** 닫힌 블록 트리로 카드를 구성(반환 즉시 zod 검증된 UiCardContent). */
18
18
  build(card_id: string, blocks: Block[], opts?: CardOpts): UiCardContent;
19
- fields(items: {
20
- label: string;
21
- value: string;
22
- short?: boolean;
23
- }[]): Block;
19
+ /**
20
+ * parts 를 주면 한 값 안에서 조각마다 색이 달라진다(git diff 의 `+214 −37`). value 는 평문 사본으로
21
+ * 남겨 둘 것 — 색-only 를 피하려면 부호·단위를 각 조각 text 에 남긴다.
22
+ */
23
+ fields(items: Extract<Block, {
24
+ type: "fields";
25
+ }>["items"]): Block;
24
26
  text(text: string): Block;
25
27
  actions(elements: ButtonElement[]): Block;
26
28
  /** 상태 배지(톤 강조 칩). */
@@ -1 +1 @@
1
- {"version":3,"file":"builders.d.ts","sourceRoot":"","sources":["../src/builders.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builders.d.ts","sourceRoot":"","sources":["../src/builders.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAEL,KAAK,KAAK,EACV,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,IAAI,EACT,KAAK,aAAa,EACnB,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,WAAW,QAAQ;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;CACpC;AAED,sDAAsD;AACtD,eAAO,MAAM,IAAI;IACf,qDAAqD;mBACtC,MAAM,UAAU,KAAK,EAAE,SAAQ,QAAQ,GAAQ,aAAa;IAU3E;;;OAGG;kBACW,OAAO,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,QAAQ,CAAA;KAAE,CAAC,CAAC,OAAO,CAAC,GAAG,KAAK;eAGtD,MAAM,GAAG,KAAK;sBAGP,aAAa,EAAE,GAAG,KAAK;IAIzC,qBAAqB;gBACT,MAAM,SAAS,IAAI,GAAG,KAAK;IAGvC,0BAA0B;mBACX,MAAM,EAAE,QAAQ,MAAM,EAAE,EAAE,GAAG,KAAK;IAGjD,qCAAqC;kBACvB,MAAM,SAAS,MAAM,SAAQ;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,IAAI,CAAA;KAAE,GAAQ,KAAK;IAGxG,4CAA4C;iBAC/B;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,KAAK;IAGtG,mEAAmE;mBAExD,WAAW,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,QACzC;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,IAAI,CAAA;KAAE,EAAE,SAChD;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GACtD,KAAK;IAMR;;;;OAIG;gBAEK,MAAM,SACN;QACJ,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,CAAC;QACjG,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,GACA,KAAK;IAGR,0EAA0E;iBAElE,MAAM,SACN;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GACjG,KAAK;IAGR,sBAAsB;iBACT,MAAM,WAAW;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,SAAQ;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,GAAQ,KAAK;IAG9J,iCAAiC;gBACrB,MAAM,WAAW;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,SAAQ;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAQ,KAAK;IAGtH,oBAAoB;mBACL,MAAM,SAAS,MAAM,SAAQ;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,GAAQ,KAAK;IAG9E,mCAAmC;iBACtB,MAAM,SAAS,MAAM,SAAQ;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAQ,KAAK;CAGhH,CAAC;AAEF,uFAAuF;AACvF,eAAO,MAAM,KAAK;uBACG,cAAc,EAAE,GAAG,SAAS;eAGpC,MAAM,SAAS,MAAM,SAAS;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,cAAc;aAGnF,MAAM,SAAS,MAAM,SAAS;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,cAAc;aAGxF,MAAM,SAAS,MAAM,WAAW,MAAM,YAAY,MAAM,EAAE,GAAG,cAAc;aAG3E,MAAM,SAAS,MAAM,YAAY,aAAa,GAAG,cAAc;CAGzE,CAAC"}
package/dist/builders.js CHANGED
@@ -18,6 +18,10 @@ export const card = {
18
18
  blocks,
19
19
  });
20
20
  },
21
+ /**
22
+ * parts 를 주면 한 값 안에서 조각마다 색이 달라진다(git diff 의 `+214 −37`). value 는 평문 사본으로
23
+ * 남겨 둘 것 — 색-only 를 피하려면 부호·단위를 각 조각 text 에 남긴다.
24
+ */
21
25
  fields(items) {
22
26
  return { type: "fields", items };
23
27
  },
@@ -1 +1 @@
1
- {"version":3,"file":"builders.js","sourceRoot":"","sources":["../src/builders.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builders.js","sourceRoot":"","sources":["../src/builders.ts"],"names":[],"mappings":"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"}
package/dist/host.d.ts CHANGED
@@ -25,6 +25,18 @@ export interface PublishSurfaceInput {
25
25
  * sidebar 없는 앱은 발행할 것이 없다(no_surface).
26
26
  */
27
27
  export declare function publishSurface(input: PublishSurfaceInput): Promise<PublishSurfaceResult>;
28
+ export type RetractSurfaceResult = "retracted" | "absent" | "unknown";
29
+ /**
30
+ * 방에 올라가 있는 앱 서피스를 **회수**한다 — publishSurface 의 짝.
31
+ *
32
+ * Matrix 상태 이벤트는 지울 수 없으므로 빈 content 로 덮는다. 클라이언트는 서피스 content 를
33
+ * 스키마로 검증해 통과한 것만 렌더하므로(빈 객체는 불통과) 결과적으로 그 방에서 사라진다.
34
+ *
35
+ * 이미 없으면 아무것도 쓰지 않는다("absent") — 부팅마다 불러도 안전한 멱등 연산이어야 한다.
36
+ * 현재 상태를 읽을 수 없는 클라이언트면 판단 근거가 없으므로 건드리지 않는다("unknown") —
37
+ * 남의 상태를 덮는 쪽보다 그냥 두는 쪽이 안전하다(fail-safe).
38
+ */
39
+ export declare function retractSurface(input: PublishSurfaceInput): Promise<RetractSurfaceResult>;
28
40
  /**
29
41
  * 초대 활성화 시퀀스 — 참여 → 서피스 1회 발행. "봇을 초대하면 활성화된다, 사용자가 따로 설정할 게 없다"(§2.4)
30
42
  * 의 앱-제너릭 절반. 호스트는 자기 정책(capability 게시·멀티앱 키잉 등)을 이 앞뒤에 끼운다.
@@ -1 +1 @@
1
- {"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAErD;;;GAGG;AACH,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IACxD,iBAAiB;IACjB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3C,yEAAyE;IACzE,iBAAiB,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC3F;AAED,MAAM,MAAM,oBAAoB,GAAG,WAAW,GAAG,WAAW,GAAG,YAAY,CAAC;AAE5E,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,gBAAgB,GAAG,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAC5F,GAAG,EAAE,GAAG,CAAC;IACT,MAAM,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAiB9F;AAmBD;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,KAAK,EAAE;IAC5C,MAAM,EAAE,gBAAgB,CAAC;IACzB,GAAG,EAAE,GAAG,CAAC;IACT,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAGhC"}
1
+ {"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAErD;;;GAGG;AACH,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IACxD,iBAAiB;IACjB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3C,yEAAyE;IACzE,iBAAiB,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC3F;AAED,MAAM,MAAM,oBAAoB,GAAG,WAAW,GAAG,WAAW,GAAG,YAAY,CAAC;AAE5E,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,gBAAgB,GAAG,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAC5F,GAAG,EAAE,GAAG,CAAC;IACT,MAAM,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAiB9F;AAED,MAAM,MAAM,oBAAoB,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEtE;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAY9F;AAmBD;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,KAAK,EAAE;IAC5C,MAAM,EAAE,gBAAgB,CAAC;IACzB,GAAG,EAAE,GAAG,CAAC;IACT,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAGhC"}
package/dist/host.js CHANGED
@@ -33,6 +33,32 @@ export async function publishSurface(input) {
33
33
  await input.client.sendStateEvent(input.roomId, EventType.AppSurface, stateKey, surface);
34
34
  return "published";
35
35
  }
36
+ /**
37
+ * 방에 올라가 있는 앱 서피스를 **회수**한다 — publishSurface 의 짝.
38
+ *
39
+ * Matrix 상태 이벤트는 지울 수 없으므로 빈 content 로 덮는다. 클라이언트는 서피스 content 를
40
+ * 스키마로 검증해 통과한 것만 렌더하므로(빈 객체는 불통과) 결과적으로 그 방에서 사라진다.
41
+ *
42
+ * 이미 없으면 아무것도 쓰지 않는다("absent") — 부팅마다 불러도 안전한 멱등 연산이어야 한다.
43
+ * 현재 상태를 읽을 수 없는 클라이언트면 판단 근거가 없으므로 건드리지 않는다("unknown") —
44
+ * 남의 상태를 덮는 쪽보다 그냥 두는 쪽이 안전하다(fail-safe).
45
+ */
46
+ export async function retractSurface(input) {
47
+ const stateKey = input.stateKey ?? "";
48
+ if (!input.client.getRoomStateEvent)
49
+ return "unknown";
50
+ let existing;
51
+ try {
52
+ existing = await input.client.getRoomStateEvent(input.roomId, EventType.AppSurface, stateKey);
53
+ }
54
+ catch {
55
+ return "absent"; // 상태 없음(M_NOT_FOUND) — 회수할 것이 없다.
56
+ }
57
+ if (!existing || typeof existing !== "object" || Object.keys(existing).length === 0)
58
+ return "absent";
59
+ await input.client.sendStateEvent(input.roomId, EventType.AppSurface, stateKey, {});
60
+ return "retracted";
61
+ }
36
62
  /** 키 순서 무관 비교용 canonical 직렬화(재귀 키 정렬) — Matrix canonical JSON 과 같은 정렬 기준(코드 유닛). */
37
63
  function canonicalStringify(v) {
38
64
  return JSON.stringify(sortKeysDeep(v));
package/dist/host.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"host.js","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAyB3D;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,KAA0B;IAC7D,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;IACzC,IAAI,CAAC,OAAO;QAAE,OAAO,YAAY,CAAC;IAClC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC;IACtC,IAAI,KAAK,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YACpG,kDAAkD;YAClD,uEAAuE;YACvE,wEAAwE;YACxE,IAAI,QAAQ,IAAI,kBAAkB,CAAC,QAAQ,CAAC,KAAK,kBAAkB,CAAC,OAAO,CAAC;gBAAE,OAAO,WAAW,CAAC;QACnG,CAAC;QAAC,MAAM,CAAC;YACP,gEAAgE;QAClE,CAAC;IACH,CAAC;IACD,MAAM,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IACzF,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,oFAAoF;AACpF,SAAS,kBAAkB,CAAC,CAAU;IACpC,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,YAAY,CAAC,CAAU;IAC9B,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACjD,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,CAA4B,CAAC;aACzC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAChD,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAC7C,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,KAKtC;IACC,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1C,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC"}
1
+ {"version":3,"file":"host.js","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
package/dist/runtime.js CHANGED
@@ -92,6 +92,11 @@ function makePublishHelpers(app, effects) {
92
92
  .join("; ")}`);
93
93
  }
94
94
  out = parsed.data;
95
+ // view 없는 선언(state 등, AppEventDef.view optional — PANEL-SDK-1)은 카드를 그릴 수 없다 —
96
+ // applyEffects 에서 조용히 생략되기 전에 emit 시점에 fail-fast.
97
+ if (form === "message" && !declared.view) {
98
+ throw new Error(`[app-sdk] 앱 '${app.app}': emit('${type}', { form: "message" }) 는 view 가 선언된 타입만 가능합니다(view 없는 선언은 state/event 형태로).`);
99
+ }
95
100
  }
96
101
  else if (form === "message") {
97
102
  // message 형태는 카드를 그릴 view 가 필요하다 — 선언 없는 타입이면 그릴 방법이 없으니 즉시 알린다.
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
package/dist/serve.d.ts CHANGED
@@ -87,8 +87,51 @@ export interface ServeOptions extends BotClientOptions {
87
87
  roomId: string;
88
88
  inviter?: string;
89
89
  }) => boolean | Promise<boolean>;
90
+ /**
91
+ * 서피스 발행 판정(선택) — 미주입이면 **참여한 모든 방에 발행**(기존 동작). 앱의 서피스(컴포저·패널 등)를
92
+ * 일부 방에서만 쓰고 싶을 때 좁힌다. acceptInvite 의 짝: 저쪽이 "어느 방에 들어갈까"라면 이쪽은
93
+ * "어느 방에서 이 앱의 어휘를 보여줄까"다.
94
+ *
95
+ * false 를 돌려주면 발행하지 않을 뿐 아니라, 그 방에 이미 올라가 있던 서피스를 **회수**한다
96
+ * (정책을 좁힌 뒤 배포하면 옛 서피스가 남아 있으므로). 콜백 오류는 fail-closed(거절)로 다룬다 —
97
+ * 판정을 모르는 채 방 어휘를 바꾸는 것보다 안 내는 쪽이 안전하다.
98
+ */
99
+ shouldPublishSurface?: (surface: {
100
+ roomId: string;
101
+ }) => boolean | Promise<boolean>;
90
102
  /** 핸들러 read-then-decide 백엔드(선택) — dispatchAction 의 ctx.backend 로 전달. */
91
103
  backend?: ActionBackend;
104
+ /**
105
+ * **방·발신자마다 다른** 백엔드(선택) — 주입하면 `backend` 대신 이쪽이 쓰인다.
106
+ *
107
+ * 왜 필요한가: 봇이 방 하나만 볼 때는 `backend` 하나로 충분하지만, 실제 배치는 둘을 더 요구한다.
108
+ * - **대상이 방마다 다르다** — 레포당 방 하나인 SCM 브리지에서는 방이 곧 대상 레포다.
109
+ * - **행위자가 클릭마다 다르다** — 외부 시스템에 "누가 했는지" 남기려면(Forgejo `Sudo` 등)
110
+ * 호스트가 발신자별로 자격을 갈아끼워야 한다.
111
+ *
112
+ * 🔑 **둘 다 핸들러 인자로 올리면 안 된다.** 대상을 인자로 받으면 카드/이벤트가 대상을 자칭하게 되고
113
+ * (위조 가능), 행위자를 인자로 받으면 앱 코드의 버그 하나가 **사칭**이 된다. `sender` 는 홈서버가
114
+ * 귀속한 값이므로 여기서 호스트에 직접 넘겨, 앱은 "누구로 행세할지"에 손대지 못하게 한다.
115
+ */
116
+ backendFor?: (input: {
117
+ roomId: string;
118
+ sender: string;
119
+ }) => ActionBackend | undefined;
120
+ /**
121
+ * 카드 엔티티 해석(선택) — 주입하면 기본 `entityFromCardId` 폴백 대신 쓰인다.
122
+ *
123
+ * 기본 폴백은 `"<소문자type>-<id>"` 앵커드 패턴만 안다. **자기만의 card_id 규칙을 쓰는 앱**
124
+ * (예: `forgejo-pr-<레포슬러그>-<번호>`)에서는 그 폴백이 엉뚱한 id 를 만든다 — 위 예에서
125
+ * `id` 가 `"pr-<레포슬러그>-<번호>"` 가 되어 핸들러가 대상을 못 찍는다. card_id 형식의 **소유자가
126
+ * 직접 파싱**하는 것이 옳으므로 여기로 열어 둔다(네트워크 조회 없이 동기).
127
+ */
128
+ resolveEntity?: (input: {
129
+ roomId: string;
130
+ cardId: string;
131
+ }) => {
132
+ type?: string;
133
+ id?: string;
134
+ };
92
135
  /** 앱 정책 설정(선택) — ctx.config 로 전달. */
93
136
  config?: Record<string, unknown>;
94
137
  /** delegate 효과 콜백(선택) — 미주입이면 경고 후 무시(applyEffects 규칙). */
@@ -1 +1 @@
1
- {"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../src/serve.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../src/serve.ts"],"names":[],"mappings":"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"}
package/dist/serve.js CHANGED
@@ -24,7 +24,7 @@
24
24
  */
25
25
  import { EventType, loadPlugins } from "@underdogai/mesh-event-schemas";
26
26
  import { applyEffects, dispatchAction, dispatchEvent, } from "./runtime.js";
27
- import { publishSurface } from "./host.js";
27
+ import { publishSurface, retractSurface, } from "./host.js";
28
28
  function resolveFetch(injected) {
29
29
  const f = injected ?? globalThis.fetch;
30
30
  if (!f)
@@ -233,7 +233,32 @@ export async function serve(app, opts) {
233
233
  // 서피스 발행 실패도 재시도 대상 — 대표 사례: 봇 PL 부족(방 기본 state PL 50 vs 봇 0)으로 403.
234
234
  // 방 관리자가 나중에 PL 을 주면 다음 sync 루프에서 자동으로 뜬다("초대하면 활성화" §2.4 를 지연 권한 부여까지 확장).
235
235
  const pendingSurfaces = new Set();
236
+ /** 이 방에 앱 서피스를 낼지 판정한다 — 미주입이면 전부 허용(기존 동작). 오류는 거절로 다룬다. */
237
+ const surfaceAllowed = async (roomId) => {
238
+ if (!opts.shouldPublishSurface)
239
+ return true;
240
+ try {
241
+ return await opts.shouldPublishSurface({ roomId });
242
+ }
243
+ catch (err) {
244
+ warn(`[app-sdk] shouldPublishSurface 판정 오류 — 거절로 처리 (${roomId}): ${msg(err)}`);
245
+ return false;
246
+ }
247
+ };
236
248
  const ensureSurface = async (roomId) => {
249
+ if (!(await surfaceAllowed(roomId))) {
250
+ pendingSurfaces.delete(roomId);
251
+ try {
252
+ const r = await retractSurface({ client, app, roomId, stateKey });
253
+ if (r === "retracted")
254
+ log(`[app-sdk] 서피스 회수 ← ${roomId} — shouldPublishSurface 정책`);
255
+ }
256
+ catch (err) {
257
+ warn(`[app-sdk] 서피스 회수 실패 — 다음 sync 때 재시도 (${roomId}): ${msg(err)}`);
258
+ pendingSurfaces.add(roomId);
259
+ }
260
+ return;
261
+ }
237
262
  try {
238
263
  const r = await publishSurface({ client, app, roomId, stateKey });
239
264
  pendingSurfaces.delete(roomId);
@@ -332,7 +357,9 @@ export async function serve(app, opts) {
332
357
  powerLevels = undefined;
333
358
  }
334
359
  }
335
- const entity = entityFromCardId(typeof content.card_id === "string" ? content.card_id : "");
360
+ const cardId = typeof content.card_id === "string" ? content.card_id : "";
361
+ // 엔티티/백엔드는 앱이 원하면 호스트가 방 단위로 정한다(둘 다 미주입이면 기존 동작 그대로).
362
+ const entity = opts.resolveEntity ? opts.resolveEntity({ roomId, cardId }) : entityFromCardId(cardId);
336
363
  const res = await dispatchAction({
337
364
  app,
338
365
  actionContent: content,
@@ -341,7 +368,15 @@ export async function serve(app, opts) {
341
368
  cardEventId,
342
369
  entity,
343
370
  gate,
344
- backend: opts.backend,
371
+ backend: opts.backendFor ? opts.backendFor({ roomId, sender: ev.sender }) : opts.backend,
372
+ // 앱 KV 스토리지 읽기(B3, PANEL-SDK-1 Phase D) — appservice-agent 경로와 같은 주입.
373
+ // 이게 없으면 독립 serve() 봇의 핸들러에서 ctx.state 가 undefined 라, assetBrowser 의
374
+ // 폴더/현재 버전 갱신(read-then-decide)이 AS 경로에서만 동작하는 반쪽이 된다.
375
+ // 가드(자기 네임스페이스 + 선언 스키마)는 SDK guardState 가 감는다. 404 등은 null(없음).
376
+ stateReader: (type, stateKey) => client
377
+ .getRoomStateEvent(roomId, type, stateKey)
378
+ .then((c) => (c && typeof c === "object" ? c : null))
379
+ .catch(() => null),
345
380
  config: opts.config,
346
381
  });
347
382
  // 자기 것이 아니면(unknown_action 등 ignored) 아무것도 발행하지 않는다 — 외부 앱 공존의 반쪽(§1.5의 역).
package/dist/serve.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"serve.js","sourceRoot":"","sources":["../src/serve.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serve.js","sourceRoot":"","sources":["../src/serve.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@underdogai/mesh-app-sdk",
3
- "version": "0.2.0",
3
+ "version": "0.4.0",
4
4
  "description": "Matrix 채팅에 붙는 앱을 선언형으로 만드는 SDK — 카드·서피스·액션·구독을 한 곳에서 정의하고, 봇 토큰 하나로 실행한다(App Service 불필요).",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -21,7 +21,7 @@
21
21
  },
22
22
  "dependencies": {
23
23
  "zod": "^3.23.8",
24
- "@underdogai/mesh-event-schemas": "0.2.0"
24
+ "@underdogai/mesh-event-schemas": "0.3.0"
25
25
  },
26
26
  "devDependencies": {
27
27
  "typescript": "^5.6.3"
package/src/app.ts CHANGED
@@ -34,12 +34,23 @@ import {
34
34
  } from "@underdogai/mesh-event-schemas";
35
35
  import type { AppAction } from "./action.js";
36
36
  import type { ActionHandler, EventHandler } from "./runtime.js";
37
+ import type { PreviewProviderSpec, ShellPanelTabContribution } from "@underdogai/mesh-event-schemas";
37
38
 
38
39
  export interface AppEventDef<S extends z.ZodTypeAny = z.ZodTypeAny> {
40
+ /**
41
+ * 메시지(타임라인)인가 상태(state, LWW 현재값)인가 — 기본 "message"(기존 동작 보존).
42
+ * assetBrowser 의 folder/current 처럼 "현재 값 하나"인 사실은 "state" 로 정직하게 선언한다
43
+ * (레지스트리 등록 kind 가 이 값을 따른다). `ctx.emit(..., {form:"state"})`/`ctx.state.get()` 과 짝.
44
+ */
45
+ kind?: "message" | "state";
39
46
  /** 이 도메인 이벤트 content 스키마(레지스트리에 등록 → validateEvent/canPublish 가 인식). */
40
47
  schema: S;
41
- /** 이 이벤트가 들어오면 어떤 카드(기존 블록 조합)로 그릴지 — 이벤트 ↔ UI 결합. */
42
- view: (content: z.infer<S>) => UiCardContent;
48
+ /**
49
+ * 이 이벤트가 들어오면 어떤 카드(기존 블록 조합) 그릴지 — 이벤트 ↔ UI 결합. **선택**:
50
+ * state 이벤트(폴더/현재 버전 등)는 카드화 대상이 아니라 view 없이 선언할 수 있다.
51
+ * view 없는 타입은 messageForEvent()=null 이고 emit(form:"message")가 정의 오류로 throw 된다.
52
+ */
53
+ view?: (content: z.infer<S>) => UiCardContent;
43
54
  publishableBy?: Publisher[];
44
55
  }
45
56
 
@@ -73,6 +84,14 @@ export interface AppDef {
73
84
  handlers?: Record<string, ActionHandler>;
74
85
  /** 우측 셸 패널(데이터). surfaceState 로 상태 이벤트화. */
75
86
  sidebar?: PanelSpec;
87
+ /**
88
+ * 우측 셸 패널 **독립 탭** 기여(PANEL-SDK-1) — Files 옆에 서는 탭 목록(wire: panel_tabs).
89
+ * sidebar(Context 안 내용)와 다른 자리다: 이건 셸 탭 배치 계약이고, 콘텐츠는 닫힌 kind
90
+ * (surface | assetBrowser)다. 호스트가 탭 id 를 `app:<app>:` 으로 네임스페이스한다.
91
+ */
92
+ panelTabs?: ShellPanelTabContribution[];
93
+ /** 동적 미리보기 제공자(PANEL-SDK-1) — 미지 확장자/MIME → 내장 renderer 매핑(wire: preview_providers). */
94
+ previewProviders?: PreviewProviderSpec[];
76
95
  /** 메인 영역 서피스(데이터, 선택) — 룸 본문에 탭으로 그릴 중앙 콘텐츠. sidebar 와 함께 발행된다. */
77
96
  main?: PanelSpec;
78
97
  /** 룸 헤더(데이터, 선택). */
@@ -152,7 +171,8 @@ export function defineApp(def: AppDef): App {
152
171
  // register 는 멱등 가드 뒤라 1회만 호출되므로, false 는 *진짜 충돌*(다른 앱이 같은 타입/접두사 섀도잉)이다 → throw.
153
172
  const ok = registerEventEntry({
154
173
  type,
155
- kind: "message",
174
+ // 선언된 kind 그대로 등록(기본 "message") — state 사실(폴더/현재 버전)이 message 로 거짓 등록되지 않게.
175
+ kind: ev.kind ?? "message",
156
176
  schema: ev.schema,
157
177
  publishableBy: ev.publishableBy ?? ["bridge", "agent"],
158
178
  description: `${def.app} 앱 도메인 이벤트`,
@@ -181,15 +201,30 @@ export function defineApp(def: AppDef): App {
181
201
  on,
182
202
  messageForEvent(type, content) {
183
203
  const ev = events[type];
184
- if (!ev) return null;
204
+ // view 없는 선언(state 등) 카드화 대상이 아니다 — null(발신 측 emit 은 정의 시점에 이미 막는다).
205
+ if (!ev?.view) return null;
185
206
  const parsed = ev.schema.safeParse(content);
186
207
  if (!parsed.success) return null;
187
208
  return buildUiMessageContent(ev.view(parsed.data));
188
209
  },
189
210
  surfaceState() {
190
- // panel(=sidebar) 필수 와이어 필드라 sidebar 없으면 서피스를 발행하지 않는다.
191
- // main sidebar 함께만 실어 보낸다(메인 영역 콘텐츠). main 있는 앱은 v1 미지원.
192
- if (!def.sidebar) return null;
211
+ // PANEL-SDK-1: panel(=sidebar) optional 되어 "셸에 실을 것이 하나라도 있으면" 발행한다.
212
+ // panelTabs-only 앱(sidebar 없음)도 유효한 서피스를 낸다. 아무 면도 없으면 기존대로 null.
213
+ const hasSurface = !!(
214
+ def.sidebar ||
215
+ def.main ||
216
+ def.panelTabs?.length ||
217
+ def.previewProviders?.length ||
218
+ def.header ||
219
+ def.canvas ||
220
+ def.dock ||
221
+ def.composer ||
222
+ def.commandPalette ||
223
+ def.objectMap ||
224
+ def.modals?.length ||
225
+ def.theme
226
+ );
227
+ if (!hasSurface) return null;
193
228
  return buildAppSurface({
194
229
  app: def.app,
195
230
  display_name: def.displayName,
@@ -203,6 +238,9 @@ export function defineApp(def: AppDef): App {
203
238
  commandPalette: def.commandPalette,
204
239
  objectMap: def.objectMap,
205
240
  modals: def.modals,
241
+ // wire 는 snake_case — 스펙 내부 필드(requiredSlots/mimeTypes)는 스키마 그대로(camelCase, CanvasSpec.cardTabs 관례).
242
+ panel_tabs: def.panelTabs,
243
+ preview_providers: def.previewProviders,
206
244
  theme: def.theme,
207
245
  });
208
246
  },
package/src/builders.ts CHANGED
@@ -34,7 +34,11 @@ export const card = {
34
34
  blocks,
35
35
  });
36
36
  },
37
- fields(items: { label: string; value: string; short?: boolean }[]): Block {
37
+ /**
38
+ * parts 를 주면 한 값 안에서 조각마다 색이 달라진다(git diff 의 `+214 −37`). value 는 평문 사본으로
39
+ * 남겨 둘 것 — 색-only 를 피하려면 부호·단위를 각 조각 text 에 남긴다.
40
+ */
41
+ fields(items: Extract<Block, { type: "fields" }>["items"]): Block {
38
42
  return { type: "fields", items };
39
43
  },
40
44
  text(text: string): Block {
package/src/host.ts CHANGED
@@ -55,6 +55,32 @@ export async function publishSurface(input: PublishSurfaceInput): Promise<Publis
55
55
  return "published";
56
56
  }
57
57
 
58
+ export type RetractSurfaceResult = "retracted" | "absent" | "unknown";
59
+
60
+ /**
61
+ * 방에 올라가 있는 앱 서피스를 **회수**한다 — publishSurface 의 짝.
62
+ *
63
+ * Matrix 상태 이벤트는 지울 수 없으므로 빈 content 로 덮는다. 클라이언트는 서피스 content 를
64
+ * 스키마로 검증해 통과한 것만 렌더하므로(빈 객체는 불통과) 결과적으로 그 방에서 사라진다.
65
+ *
66
+ * 이미 없으면 아무것도 쓰지 않는다("absent") — 부팅마다 불러도 안전한 멱등 연산이어야 한다.
67
+ * 현재 상태를 읽을 수 없는 클라이언트면 판단 근거가 없으므로 건드리지 않는다("unknown") —
68
+ * 남의 상태를 덮는 쪽보다 그냥 두는 쪽이 안전하다(fail-safe).
69
+ */
70
+ export async function retractSurface(input: PublishSurfaceInput): Promise<RetractSurfaceResult> {
71
+ const stateKey = input.stateKey ?? "";
72
+ if (!input.client.getRoomStateEvent) return "unknown";
73
+ let existing: unknown;
74
+ try {
75
+ existing = await input.client.getRoomStateEvent(input.roomId, EventType.AppSurface, stateKey);
76
+ } catch {
77
+ return "absent"; // 상태 없음(M_NOT_FOUND) — 회수할 것이 없다.
78
+ }
79
+ if (!existing || typeof existing !== "object" || Object.keys(existing).length === 0) return "absent";
80
+ await input.client.sendStateEvent(input.roomId, EventType.AppSurface, stateKey, {});
81
+ return "retracted";
82
+ }
83
+
58
84
  /** 키 순서 무관 비교용 canonical 직렬화(재귀 키 정렬) — Matrix canonical JSON 과 같은 정렬 기준(코드 유닛). */
59
85
  function canonicalStringify(v: unknown): string {
60
86
  return JSON.stringify(sortKeysDeep(v));
package/src/runtime.ts CHANGED
@@ -255,6 +255,13 @@ function makePublishHelpers(
255
255
  );
256
256
  }
257
257
  out = parsed.data as Record<string, unknown>;
258
+ // view 없는 선언(state 등, AppEventDef.view optional — PANEL-SDK-1)은 카드를 그릴 수 없다 —
259
+ // applyEffects 에서 조용히 생략되기 전에 emit 시점에 fail-fast.
260
+ if (form === "message" && !declared.view) {
261
+ throw new Error(
262
+ `[app-sdk] 앱 '${app.app}': emit('${type}', { form: "message" }) 는 view 가 선언된 타입만 가능합니다(view 없는 선언은 state/event 형태로).`,
263
+ );
264
+ }
258
265
  } else if (form === "message") {
259
266
  // message 형태는 카드를 그릴 view 가 필요하다 — 선언 없는 타입이면 그릴 방법이 없으니 즉시 알린다.
260
267
  throw new Error(
package/src/serve.ts CHANGED
@@ -32,7 +32,12 @@ import {
32
32
  type ApplyEffectsInput,
33
33
  type GateFn,
34
34
  } from "./runtime.js";
35
- import { publishSurface, type MatrixHostClient, type PublishSurfaceResult } from "./host.js";
35
+ import {
36
+ publishSurface,
37
+ retractSurface,
38
+ type MatrixHostClient,
39
+ type PublishSurfaceResult,
40
+ } from "./host.js";
36
41
 
37
42
  // ---------------------------------------------------------------------------
38
43
  // 최소 fetch 계약 — SDK 는 런타임 환경을 가정하지 않는다(lib=ES2022). Node 20+/브라우저의 내장 fetch 가
@@ -234,8 +239,40 @@ export interface ServeOptions extends BotClientOptions {
234
239
  * roomId/초대자(inviter)를 보고 결정한다. false 를 돌려주면 join 하지 않고 조용히 넘긴다(로그만).
235
240
  */
236
241
  acceptInvite?: (invite: { roomId: string; inviter?: string }) => boolean | Promise<boolean>;
242
+ /**
243
+ * 서피스 발행 판정(선택) — 미주입이면 **참여한 모든 방에 발행**(기존 동작). 앱의 서피스(컴포저·패널 등)를
244
+ * 일부 방에서만 쓰고 싶을 때 좁힌다. acceptInvite 의 짝: 저쪽이 "어느 방에 들어갈까"라면 이쪽은
245
+ * "어느 방에서 이 앱의 어휘를 보여줄까"다.
246
+ *
247
+ * false 를 돌려주면 발행하지 않을 뿐 아니라, 그 방에 이미 올라가 있던 서피스를 **회수**한다
248
+ * (정책을 좁힌 뒤 배포하면 옛 서피스가 남아 있으므로). 콜백 오류는 fail-closed(거절)로 다룬다 —
249
+ * 판정을 모르는 채 방 어휘를 바꾸는 것보다 안 내는 쪽이 안전하다.
250
+ */
251
+ shouldPublishSurface?: (surface: { roomId: string }) => boolean | Promise<boolean>;
237
252
  /** 핸들러 read-then-decide 백엔드(선택) — dispatchAction 의 ctx.backend 로 전달. */
238
253
  backend?: ActionBackend;
254
+ /**
255
+ * **방·발신자마다 다른** 백엔드(선택) — 주입하면 `backend` 대신 이쪽이 쓰인다.
256
+ *
257
+ * 왜 필요한가: 봇이 방 하나만 볼 때는 `backend` 하나로 충분하지만, 실제 배치는 둘을 더 요구한다.
258
+ * - **대상이 방마다 다르다** — 레포당 방 하나인 SCM 브리지에서는 방이 곧 대상 레포다.
259
+ * - **행위자가 클릭마다 다르다** — 외부 시스템에 "누가 했는지" 남기려면(Forgejo `Sudo` 등)
260
+ * 호스트가 발신자별로 자격을 갈아끼워야 한다.
261
+ *
262
+ * 🔑 **둘 다 핸들러 인자로 올리면 안 된다.** 대상을 인자로 받으면 카드/이벤트가 대상을 자칭하게 되고
263
+ * (위조 가능), 행위자를 인자로 받으면 앱 코드의 버그 하나가 **사칭**이 된다. `sender` 는 홈서버가
264
+ * 귀속한 값이므로 여기서 호스트에 직접 넘겨, 앱은 "누구로 행세할지"에 손대지 못하게 한다.
265
+ */
266
+ backendFor?: (input: { roomId: string; sender: string }) => ActionBackend | undefined;
267
+ /**
268
+ * 카드 엔티티 해석(선택) — 주입하면 기본 `entityFromCardId` 폴백 대신 쓰인다.
269
+ *
270
+ * 기본 폴백은 `"<소문자type>-<id>"` 앵커드 패턴만 안다. **자기만의 card_id 규칙을 쓰는 앱**
271
+ * (예: `forgejo-pr-<레포슬러그>-<번호>`)에서는 그 폴백이 엉뚱한 id 를 만든다 — 위 예에서
272
+ * `id` 가 `"pr-<레포슬러그>-<번호>"` 가 되어 핸들러가 대상을 못 찍는다. card_id 형식의 **소유자가
273
+ * 직접 파싱**하는 것이 옳으므로 여기로 열어 둔다(네트워크 조회 없이 동기).
274
+ */
275
+ resolveEntity?: (input: { roomId: string; cardId: string }) => { type?: string; id?: string };
239
276
  /** 앱 정책 설정(선택) — ctx.config 로 전달. */
240
277
  config?: Record<string, unknown>;
241
278
  /** delegate 효과 콜백(선택) — 미주입이면 경고 후 무시(applyEffects 규칙). */
@@ -350,7 +387,29 @@ export async function serve(app: App, opts: ServeOptions): Promise<void> {
350
387
  // 방 관리자가 나중에 PL 을 주면 다음 sync 루프에서 자동으로 뜬다("초대하면 활성화" §2.4 를 지연 권한 부여까지 확장).
351
388
  const pendingSurfaces = new Set<string>();
352
389
 
390
+ /** 이 방에 앱 서피스를 낼지 판정한다 — 미주입이면 전부 허용(기존 동작). 오류는 거절로 다룬다. */
391
+ const surfaceAllowed = async (roomId: string): Promise<boolean> => {
392
+ if (!opts.shouldPublishSurface) return true;
393
+ try {
394
+ return await opts.shouldPublishSurface({ roomId });
395
+ } catch (err) {
396
+ warn(`[app-sdk] shouldPublishSurface 판정 오류 — 거절로 처리 (${roomId}): ${msg(err)}`);
397
+ return false;
398
+ }
399
+ };
400
+
353
401
  const ensureSurface = async (roomId: string): Promise<void> => {
402
+ if (!(await surfaceAllowed(roomId))) {
403
+ pendingSurfaces.delete(roomId);
404
+ try {
405
+ const r = await retractSurface({ client, app, roomId, stateKey });
406
+ if (r === "retracted") log(`[app-sdk] 서피스 회수 ← ${roomId} — shouldPublishSurface 정책`);
407
+ } catch (err) {
408
+ warn(`[app-sdk] 서피스 회수 실패 — 다음 sync 때 재시도 (${roomId}): ${msg(err)}`);
409
+ pendingSurfaces.add(roomId);
410
+ }
411
+ return;
412
+ }
354
413
  try {
355
414
  const r = await publishSurface({ client, app, roomId, stateKey });
356
415
  pendingSurfaces.delete(roomId);
@@ -441,7 +500,9 @@ export async function serve(app: App, opts: ServeOptions): Promise<void> {
441
500
  powerLevels = undefined;
442
501
  }
443
502
  }
444
- const entity = entityFromCardId(typeof content.card_id === "string" ? content.card_id : "");
503
+ const cardId = typeof content.card_id === "string" ? content.card_id : "";
504
+ // 엔티티/백엔드는 앱이 원하면 호스트가 방 단위로 정한다(둘 다 미주입이면 기존 동작 그대로).
505
+ const entity = opts.resolveEntity ? opts.resolveEntity({ roomId, cardId }) : entityFromCardId(cardId);
445
506
  const res = await dispatchAction({
446
507
  app,
447
508
  actionContent: content,
@@ -450,7 +511,16 @@ export async function serve(app: App, opts: ServeOptions): Promise<void> {
450
511
  cardEventId,
451
512
  entity,
452
513
  gate,
453
- backend: opts.backend,
514
+ backend: opts.backendFor ? opts.backendFor({ roomId, sender: ev.sender }) : opts.backend,
515
+ // 앱 KV 스토리지 읽기(B3, PANEL-SDK-1 Phase D) — appservice-agent 경로와 같은 주입.
516
+ // 이게 없으면 독립 serve() 봇의 핸들러에서 ctx.state 가 undefined 라, assetBrowser 의
517
+ // 폴더/현재 버전 갱신(read-then-decide)이 AS 경로에서만 동작하는 반쪽이 된다.
518
+ // 가드(자기 네임스페이스 + 선언 스키마)는 SDK guardState 가 감는다. 404 등은 null(없음).
519
+ stateReader: (type, stateKey) =>
520
+ client
521
+ .getRoomStateEvent(roomId, type, stateKey)
522
+ .then((c) => (c && typeof c === "object" ? (c as Record<string, unknown>) : null))
523
+ .catch(() => null),
454
524
  config: opts.config,
455
525
  });
456
526
  // 자기 것이 아니면(unknown_action 등 ignored) 아무것도 발행하지 않는다 — 외부 앱 공존의 반쪽(§1.5의 역).