@underdogai/mesh-app-sdk 0.8.0 → 0.9.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 +146 -0
- package/dist/action.d.ts +9 -2
- package/dist/action.d.ts.map +1 -1
- package/dist/action.js.map +1 -1
- package/dist/builders.d.ts +43 -8
- package/dist/builders.d.ts.map +1 -1
- package/dist/builders.js +44 -3
- package/dist/builders.js.map +1 -1
- package/dist/runtime.d.ts +10 -1
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +1 -0
- package/dist/runtime.js.map +1 -1
- package/package.json +2 -2
- package/src/action.ts +7 -2
- package/src/builders.ts +67 -5
- package/src/runtime.ts +18 -1
package/README.md
CHANGED
|
@@ -53,6 +53,152 @@ await serve(app, { homeserver: "https://your-homeserver", accessToken: process.e
|
|
|
53
53
|
| `ctx.invoke(actionId, values)` | 다른 앱의 기능을 이름으로 호출 |
|
|
54
54
|
| `handlers: { [actionId]: handler }` | 내 기능이 불리면 실행 (내 것이 아니면 조용히 무시) |
|
|
55
55
|
|
|
56
|
+
## 고르는 자리 — 후보가 카드 밖에 있을 때 (0.9.0)
|
|
57
|
+
|
|
58
|
+
"검색하기" 버튼 · 체크박스 18개 · "사람 더 보기 · 13명" 은 서로 다른 기능이 아니라 **후보가 카드 밖에 있을 때** 손으로 만든 우회 UI 다. `select` 에 공급원 축을 선언하면 셋이 한 컨트롤이 된다.
|
|
59
|
+
|
|
60
|
+
```ts
|
|
61
|
+
// 방 멤버가 곧 후보 — 아바타·이름·MXID 행, 값은 MXID 배열
|
|
62
|
+
card.select("to", [], {
|
|
63
|
+
label: "받을 사람",
|
|
64
|
+
source: { kind: "room", exclude_self: true },
|
|
65
|
+
multi: true, min: 1, style: "chips",
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
// 서버에 묻는 후보 — 타이핑이 멎으면 클라가 action_type: "query" 로 묻는다
|
|
69
|
+
card.select("issue", recentIssues, { // 정적 사본 = 답이 오기 전과 옛 클라의 화면
|
|
70
|
+
label: "이슈",
|
|
71
|
+
source: { kind: "query", action_id: "issue.search", min_chars: 2 },
|
|
72
|
+
});
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
질의를 받는 핸들러는 **부작용 없이 후보만** 돌려준다:
|
|
76
|
+
|
|
77
|
+
```ts
|
|
78
|
+
handlers: {
|
|
79
|
+
"issue.search": async (ctx) => {
|
|
80
|
+
if (ctx.action_type === "query") {
|
|
81
|
+
const hits = await api.searchIssues(String(ctx.values.q ?? ""));
|
|
82
|
+
ctx.result({ kind: "options", name: String(ctx.values.name), options: hits.map((i) => ({
|
|
83
|
+
value: i.key, label: i.title, hint: i.key,
|
|
84
|
+
})) });
|
|
85
|
+
return; // 🔴 여기서 아무것도 만들지 않는다
|
|
86
|
+
}
|
|
87
|
+
await api.assign(ctx.values.issue); // 같은 액션의 진짜 제출
|
|
88
|
+
},
|
|
89
|
+
},
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
🔴 **`options` 사본은 `source` 가 있어도 계약이다.** 이 키를 모르는 클라이언트는 `source` 를 벗기고 `options` 만 그린다 — 비워 보내면 그쪽 화면에는 고를 것이 없는 select 가 선다. 방 멤버처럼 서버가 채울 수 없는 후보라면 **카드 `fallback` 이 그 사실을 말해야 한다**(빌더가 경고를 남긴다).
|
|
93
|
+
|
|
94
|
+
## mesh-bot 마이그레이션 — 우회 UI 4개를 걷어내기
|
|
95
|
+
|
|
96
|
+
지금 봇들이 손으로 조립한 우회 UI 넷은 서로 다른 기능이 없어서가 아니라 **계약에 축이 없어서** 생겼다.
|
|
97
|
+
축이 생겼으니 넷 다 지운다. 필요한 단계는 이렇게 갈린다:
|
|
98
|
+
|
|
99
|
+
| 필요한 것 | SDK |
|
|
100
|
+
|---|---|
|
|
101
|
+
| 제약 선언(`required`·`min`/`max`·`pattern`…) + `ctx.result` | `0.7.0` |
|
|
102
|
+
| 참조 값 `ref` + `card.activity` | `0.8.0` |
|
|
103
|
+
| `select` 의 `source`/`style`/`searchable` + `priority`·`long`·`summary` | `0.9.0` |
|
|
104
|
+
|
|
105
|
+
🔴 **`0.9.0` 은 빌더 API 가 한 군데 바뀐다 — `card.actions(...)` 가 블록 하나가 아니라 `Block[]` 을 돌려준다.**
|
|
106
|
+
액션 줄 안의 ⋯ 는 옛 클라가 **actions 블록을 통째로 떨구게** 만들어서, 같은 ⋯ 를 최상위 사본으로 병기해야
|
|
107
|
+
하기 때문이다(`card.activity` 와 같은 규약). 호출부는 펼쳐 준다:
|
|
108
|
+
|
|
109
|
+
```diff
|
|
110
|
+
- blocks: [card.fields(items), card.actions([...])]
|
|
111
|
+
+ blocks: [card.fields(items), ...card.actions([...])]
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
### ① "처리하지 못했어요" 오류 카드 → `ctx.result`
|
|
115
|
+
|
|
116
|
+
```jsonc
|
|
117
|
+
// before — 방 전원의 타임라인에 실패 카드가 쌓인다
|
|
118
|
+
{ "card_id": "report-err-1", "title": "보고를 처리하지 못했어요",
|
|
119
|
+
"context": { "state": "submitted" },
|
|
120
|
+
"blocks": [{ "type": "text", "text": "기한을 선택해 주세요." }] }
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
```ts
|
|
124
|
+
// after — 누른 사람의 그 필드 아래로. 타임라인엔 아무것도 안 쌓인다
|
|
125
|
+
// ① 누르기 전에 보여 준다. ⚠️ `card.input` 헬퍼는 아직 제약 키를 안 받으므로 블록을 직접 적는다
|
|
126
|
+
// ("today" 는 카드를 **보는 날** 기준으로 렌더러가 푼다 — 카드는 며칠 뒤에도 눌린다)
|
|
127
|
+
const due: Block = { type: "input", name: "due", input: "date", label: "기한",
|
|
128
|
+
required: true, min: "today", error: "기한은 오늘 이후로 선택해 주세요" };
|
|
129
|
+
|
|
130
|
+
// ② 서버 판정은 새 카드가 아니라 그 컨트롤로
|
|
131
|
+
ctx.result({ kind: "reject", errors: { due: "오늘 이후여야 해요" } });
|
|
132
|
+
ctx.result({ kind: "denied", reason: "현재 수신자만 처리할 수 있어요" });
|
|
133
|
+
ctx.result({ kind: "ok", message: "확인 처리됨" });
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
권한 거절도 같은 채널이다. 버튼에 `visible_for: [수신자]` + `disabled_reason` 을 달면 **누르기 전에** 안다.
|
|
137
|
+
|
|
138
|
+
### ② 입력창 + "검색하기" 버튼 → `select` 의 `source: { kind: "query" }`
|
|
139
|
+
|
|
140
|
+
```jsonc
|
|
141
|
+
// before — 세 블록이 한 컨트롤을 흉내 낸다. 타이핑해도 안 줄고 버튼을 눌러야 온다
|
|
142
|
+
"blocks": [
|
|
143
|
+
{ "type": "input", "name": "q", "label": "받을 사람 찾기", "placeholder": "이름이나 이메일" },
|
|
144
|
+
{ "type": "actions", "elements": [{ "type": "button", "action_id": "search", "text": "검색하기" }] },
|
|
145
|
+
{ "type": "checkbox", "name": "p1", "label": "KANG MINJI" }
|
|
146
|
+
]
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
```jsonc
|
|
150
|
+
// after — 한 컨트롤. 타이핑이 곧 필터이고, 왕복은 source:query 일 때만 돈다
|
|
151
|
+
{ "type": "select", "name": "issue", "label": "이슈",
|
|
152
|
+
"source": { "kind": "query", "action_id": "issue.search", "min_chars": 2 },
|
|
153
|
+
"options": [ { "value": "T-01", "label": "테스트-01" } ] } // 🔴 사본은 계약이다
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
핸들러는 `ctx.action_type === "query"` 일 때 **부작용 없이** `ctx.result({ kind: "options", … })` 로만 답한다
|
|
157
|
+
(위 "고르는 자리" 절의 예제).
|
|
158
|
+
|
|
159
|
+
### ③ 체크박스 18개 + "사람 더 보기 · 13명" → `source: { kind: "room" }` + `multi` + `style: "chips"`
|
|
160
|
+
|
|
161
|
+
```jsonc
|
|
162
|
+
// before — 값이 표시명 문자열이라 동명이인·개명에 깨지고, 나도 후보고, 얼굴이 없다
|
|
163
|
+
"blocks": [
|
|
164
|
+
{ "type": "checkbox", "name": "to_1", "label": "KANG MINJI" },
|
|
165
|
+
{ "type": "checkbox", "name": "to_2", "label": "goya@bluepinlabs.com" },
|
|
166
|
+
{ "type": "collapsible", "title": "사람 더 보기 · 13명", "blocks": [ /* … */ ] }
|
|
167
|
+
]
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
```ts
|
|
171
|
+
// after — 값은 MXID 배열. 아바타·이름·MXID 는 방 상태가 나르고, 넘치는 후보는 상자 안에서 스크롤한다
|
|
172
|
+
card.select("to", [], {
|
|
173
|
+
label: "받을 사람",
|
|
174
|
+
source: { kind: "room", exclude_self: true },
|
|
175
|
+
multi: true, min: 1, style: "chips",
|
|
176
|
+
});
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
⚠️ 방 멤버는 서버가 미리 채울 수 없어 `options` 사본이 비게 된다(빌더가 경고한다) — 그 경우 카드
|
|
180
|
+
`fallback` 이 "옛 클라에서는 고를 수 없다"는 사실을 말해야 한다.
|
|
181
|
+
|
|
182
|
+
### ④ `collapsible` 안의 처리 이력 마크다운 → `card.activity(items)`
|
|
183
|
+
|
|
184
|
+
```jsonc
|
|
185
|
+
// before — 접힌 상태에서 정보가 0이고, 펼쳐도 사람·시각에 구조가 없다
|
|
186
|
+
{ "type": "collapsible", "title": "처리 이력", "blocks": [
|
|
187
|
+
{ "type": "text", "text": "- 18:10 현호손 보고 올림\n- 18:12 heetae 에게 전달" } ] }
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
```ts
|
|
191
|
+
// after — 주어가 참조라 아바타·이름으로 서고, maxVisible 을 넘는 나머지는 렌더러가 접는다
|
|
192
|
+
...card.activity([ // 🔴 items 는 최신순(맨 앞이 가장 최근)
|
|
193
|
+
{ who: { user: "@heetae:theunderdog.ai" }, what: "1차 리마인드", at: "2026-09-20T18:15+09:00" },
|
|
194
|
+
{ who: { user: "@hyunho:theunderdog.ai" }, what: "전달", at: "2026-09-20T18:12+09:00",
|
|
195
|
+
to: { user: "@heetae:theunderdog.ai" } },
|
|
196
|
+
], { label: "처리 이력", maxVisible: 3 })
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
`card.activity` 는 옛 클라용 `collapsible` 사본을 **자동으로 병기**한다(그래서 여기도 `Block[]` 이라 펼친다).
|
|
200
|
+
새 렌더러는 `legacy_for: "activity"` 표식을 보고 사본을 안 그린다 — 클라 배포가 퍼지면 `{ legacy: false }`.
|
|
201
|
+
|
|
56
202
|
## 실행 방식
|
|
57
203
|
|
|
58
204
|
```js
|
package/dist/action.d.ts
CHANGED
|
@@ -8,11 +8,18 @@
|
|
|
8
8
|
*/
|
|
9
9
|
import { z } from "zod";
|
|
10
10
|
import type { Block, ButtonStyle } from "@underdogai/mesh-event-schemas";
|
|
11
|
-
/**
|
|
11
|
+
/**
|
|
12
|
+
* UiCardContent 의 actions 블록 element 타입을 스키마에서 직접 파생(닫힌 집합과 100% 일치 보장).
|
|
13
|
+
*
|
|
14
|
+
* ⚠️ 0.9.0 에서 줄의 원소가 셋이 됐다(button · linkButton · overflow). `.button()` 이 돌려주는 것은
|
|
15
|
+
* 그중 **버튼 하나**라 여기서 좁힌다 — 안 좁히면 반환 타입이 유니온이 되어 호출자가 매번 narrow 해야 한다.
|
|
16
|
+
*/
|
|
12
17
|
type ActionsBlock = Extract<Block, {
|
|
13
18
|
type: "actions";
|
|
14
19
|
}>;
|
|
15
|
-
export type ButtonElement = ActionsBlock["elements"][number]
|
|
20
|
+
export type ButtonElement = Extract<ActionsBlock["elements"][number], {
|
|
21
|
+
type: "button";
|
|
22
|
+
}>;
|
|
16
23
|
export interface ActionButtonOpts {
|
|
17
24
|
style?: ButtonStyle;
|
|
18
25
|
/** true → 기본 확인 다이얼로그, 객체 → 커스텀 확인 문구. UI 게이트일 뿐(권한은 서버). */
|
package/dist/action.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../src/action.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAEzE
|
|
1
|
+
{"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../src/action.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAEzE;;;;;GAKG;AACH,KAAK,YAAY,GAAG,OAAO,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC,CAAC;AACxD,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,EAAE;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC,CAAC;AAE1F,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,6DAA6D;IAC7D,OAAO,CAAC,EAAE,OAAO,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACpD,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,4DAA4D;IAC5D,QAAQ,EAAE,MAAM,CAAC;IACjB,sFAAsF;IACtF,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;CACtD;AAED,MAAM,WAAW,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU;IAC9D,2DAA2D;IAC3D,EAAE,EAAE,MAAM,CAAC;IACX,8DAA8D;IAC9D,KAAK,EAAE,MAAM,CAAC;IACd,uDAAuD;IACvD,WAAW,EAAE,OAAO,CAAC;IACrB,8DAA8D;IAC9D,MAAM,EAAE,CAAC,CAAC;IACV;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,uEAAuE;IACvE,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,wEAAwE;IACxE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,gBAAgB,GAAG,aAAa,CAAC;CAC9D;AAED,6DAA6D;AAC7D,wBAAgB,YAAY,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,EAAE,GAAG,EAAE;IACvE,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,CAAC,CAAC;IACX,oEAAoE;IACpE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,6DAA6D;IAC7D,IAAI,CAAC,EAAE,cAAc,CAAC;CACvB,GAAG,SAAS,CAAC,CAAC,CAAC,CAuBf"}
|
package/dist/action.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action.js","sourceRoot":"","sources":["../src/action.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"action.js","sourceRoot":"","sources":["../src/action.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAuDxB,6DAA6D;AAC7D,MAAM,UAAU,YAAY,CAAwC,GASnE;IACC,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAiB,CAAC;IAC1E,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,KAAK;QACrC,MAAM;QACN,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1C,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,MAAM,CAAC,IAAI,EAAE,IAAI;YACf,MAAM,OAAO,GACX,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,IAAI,SAAS,CAAC;YAC/F,MAAM,EAAE,GAAG;gBACT,IAAI,EAAE,QAAiB;gBACvB,SAAS,EAAE,GAAG,CAAC,EAAE;gBACjB,IAAI;gBACJ,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7C,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/B,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC9C,CAAC;YACF,OAAO,EAAmB,CAAC;QAC7B,CAAC;KACF,CAAC;AACJ,CAAC"}
|
package/dist/builders.d.ts
CHANGED
|
@@ -4,8 +4,7 @@
|
|
|
4
4
|
* 핵심: 새 블록을 만들지 않는다(코어 어휘만 조합). 그래서 결과가 "데이터"로 남고 — App Service 가
|
|
5
5
|
* 그대로 와이어에 실어 보내면 클라가 가진 렌더러로 그린다(클라 무변경 = "AS만 추가해도 UI 등록").
|
|
6
6
|
*/
|
|
7
|
-
import { type ActivityBlock, type Block, type PanelSpec, type SurfaceSection, type Tone, type UiCardContent } from "@underdogai/mesh-event-schemas";
|
|
8
|
-
import type { ButtonElement } from "./action.js";
|
|
7
|
+
import { type ActivityBlock, type Block, type ActionElement, type PanelSpec, type SelectBlock, type SelectOption, type SelectSource, type SurfaceSection, type Tone, type UiCardContent } from "@underdogai/mesh-event-schemas";
|
|
9
8
|
export interface CardOpts {
|
|
10
9
|
title?: string;
|
|
11
10
|
fallback?: string;
|
|
@@ -24,7 +23,21 @@ export declare const card: {
|
|
|
24
23
|
type: "fields";
|
|
25
24
|
}>["items"]): Block;
|
|
26
25
|
text(text: string): Block;
|
|
27
|
-
|
|
26
|
+
/**
|
|
27
|
+
* 액션 줄 — 버튼·링크버튼·⋯ 메뉴를 한 줄에 둔다. **블록 하나가 아니라 배열을 돌려준다**(0.9.0).
|
|
28
|
+
*
|
|
29
|
+
* 🔴 **왜 배열인가**: 줄 안의 `overflow` 는 **새 클라에만** 보인다 — `actions.elements` 는 닫힌
|
|
30
|
+
* 유니온이라 옛 클라의 `dropUnknownBlocks` 가 그 원소 하나 때문에 **actions 블록을 통째로 떨군다**
|
|
31
|
+
* (버튼이 전부 사라진다). 그래서 전환기 동안 같은 ⋯ 를 **최상위 블록 사본**으로 같이 낸다 —
|
|
32
|
+
* 옛 클라는 사본만, 새 클라는 줄 안의 것만 그린다(`legacyOverflowIndices` 가 사본을 건너뛴다).
|
|
33
|
+
* `card.activity` + `collapsible.legacy_for` 와 같은 규약이다.
|
|
34
|
+
*
|
|
35
|
+
* ⚠️ ⋯ 가 없는 줄은 배열 길이가 **1** 이다 — 사본을 낼 것이 없다(옛 클라도 그대로 읽는다).
|
|
36
|
+
* 클라 배포가 충분히 퍼지면 `{ legacy: false }` 로 끄고, 그다음 기본값을 바꾼다(이 시리즈 밖).
|
|
37
|
+
*/
|
|
38
|
+
actions(elements: ActionElement[], opts?: {
|
|
39
|
+
legacy?: boolean;
|
|
40
|
+
}): Block[];
|
|
28
41
|
/** 상태 배지(톤 강조 칩). */
|
|
29
42
|
badge(text: string, tone?: Tone): Block;
|
|
30
43
|
/** 표(열 이름 + 행 문자열 배열). */
|
|
@@ -74,15 +87,37 @@ export declare const card: {
|
|
|
74
87
|
value?: number;
|
|
75
88
|
unit?: string;
|
|
76
89
|
}): Block;
|
|
77
|
-
/**
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
90
|
+
/**
|
|
91
|
+
* **선택** (0.9.0 부터 세 축) — 공급원(`source`) × 개수(`multi`) × 표현(`style`·`searchable`).
|
|
92
|
+
*
|
|
93
|
+
* 컨트롤은 **작성자가 안 고른다**: 후보 수·`multi`·`source` 를 보고 렌더러가 네이티브 셀렉트 /
|
|
94
|
+
* 펼친 목록 / 콤보박스(검색·칩·아바타 행)를 정한다. 여기서 말하는 건 사실뿐이다.
|
|
95
|
+
*
|
|
96
|
+
* ```ts
|
|
97
|
+
* card.select("to", [], { label: "받을 사람", source: { kind: "room", exclude_self: true },
|
|
98
|
+
* multi: true, min: 1, style: "chips" })
|
|
99
|
+
* card.select("issue", recent, { source: { kind: "query", action_id: "issue.search" } })
|
|
100
|
+
* ```
|
|
101
|
+
*
|
|
102
|
+
* 🔴 **`options` 는 `source` 가 있어도 계약이다** — 이 키를 모르는 옛 클라는 `source` 를 벗기고
|
|
103
|
+
* `options` 만 그린다. 비워 보내면 그 클라에서 **고를 것이 없는 select** 가 선다. 방 멤버처럼
|
|
104
|
+
* 서버가 채울 수 없는 후보라면 빈 배열이 불가피하니, 그때는 **카드 `fallback` 이 그 사실을 말해야
|
|
105
|
+
* 한다**(예: "이 클라이언트에서는 사람 선택을 지원하지 않아요 — 앱을 업데이트해 주세요").
|
|
106
|
+
* 그 자리를 빠뜨리면 아래 경고가 뜬다 — 경고는 빌드를 막지 않지만 로그에 남는다.
|
|
107
|
+
*/
|
|
108
|
+
select(name: string, options: SelectOption[], opts?: {
|
|
82
109
|
label?: string;
|
|
83
110
|
placeholder?: string;
|
|
84
111
|
value?: string;
|
|
85
112
|
multi?: boolean;
|
|
113
|
+
source?: SelectSource;
|
|
114
|
+
style?: SelectBlock["style"];
|
|
115
|
+
searchable?: boolean;
|
|
116
|
+
required?: boolean;
|
|
117
|
+
/** `multi` 전용 — 고를 **개수**의 하한/상한. */
|
|
118
|
+
min?: number;
|
|
119
|
+
max?: number;
|
|
120
|
+
error?: string;
|
|
86
121
|
}): Block;
|
|
87
122
|
/** 라디오 그룹(옵션이 펼쳐져 보이는 단일 선택). */
|
|
88
123
|
radio(name: string, options: {
|
package/dist/builders.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builders.d.ts","sourceRoot":"","sources":["../src/builders.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,KAAK,EACV,KAAK,SAAS,EACd,KAAK,
|
|
1
|
+
{"version":3,"file":"builders.d.ts","sourceRoot":"","sources":["../src/builders.ts"],"names":[],"mappings":"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"}
|
package/dist/builders.js
CHANGED
|
@@ -28,8 +28,25 @@ export const card = {
|
|
|
28
28
|
text(text) {
|
|
29
29
|
return { type: "text", text };
|
|
30
30
|
},
|
|
31
|
-
|
|
32
|
-
|
|
31
|
+
/**
|
|
32
|
+
* 액션 줄 — 버튼·링크버튼·⋯ 메뉴를 한 줄에 둔다. **블록 하나가 아니라 배열을 돌려준다**(0.9.0).
|
|
33
|
+
*
|
|
34
|
+
* 🔴 **왜 배열인가**: 줄 안의 `overflow` 는 **새 클라에만** 보인다 — `actions.elements` 는 닫힌
|
|
35
|
+
* 유니온이라 옛 클라의 `dropUnknownBlocks` 가 그 원소 하나 때문에 **actions 블록을 통째로 떨군다**
|
|
36
|
+
* (버튼이 전부 사라진다). 그래서 전환기 동안 같은 ⋯ 를 **최상위 블록 사본**으로 같이 낸다 —
|
|
37
|
+
* 옛 클라는 사본만, 새 클라는 줄 안의 것만 그린다(`legacyOverflowIndices` 가 사본을 건너뛴다).
|
|
38
|
+
* `card.activity` + `collapsible.legacy_for` 와 같은 규약이다.
|
|
39
|
+
*
|
|
40
|
+
* ⚠️ ⋯ 가 없는 줄은 배열 길이가 **1** 이다 — 사본을 낼 것이 없다(옛 클라도 그대로 읽는다).
|
|
41
|
+
* 클라 배포가 충분히 퍼지면 `{ legacy: false }` 로 끄고, 그다음 기본값을 바꾼다(이 시리즈 밖).
|
|
42
|
+
*/
|
|
43
|
+
actions(elements, opts = {}) {
|
|
44
|
+
const row = { type: "actions", elements };
|
|
45
|
+
if (opts.legacy === false)
|
|
46
|
+
return [row];
|
|
47
|
+
// 사본은 **같은 객체**다 — `action_id` 집합이 같아야 새 렌더러가 사본으로 알아본다.
|
|
48
|
+
const menus = elements.filter((el) => el.type === "overflow");
|
|
49
|
+
return menus.length ? [row, ...menus] : [row];
|
|
33
50
|
},
|
|
34
51
|
// --- 표시 블록 헬퍼(B1 — 스키마엔 있는데 헬퍼가 없던 갭) ---
|
|
35
52
|
/** 상태 배지(톤 강조 칩). */
|
|
@@ -67,8 +84,32 @@ export const card = {
|
|
|
67
84
|
slider(name, opts = {}) {
|
|
68
85
|
return { type: "slider", name, ...opts };
|
|
69
86
|
},
|
|
70
|
-
/**
|
|
87
|
+
/**
|
|
88
|
+
* **선택** (0.9.0 부터 세 축) — 공급원(`source`) × 개수(`multi`) × 표현(`style`·`searchable`).
|
|
89
|
+
*
|
|
90
|
+
* 컨트롤은 **작성자가 안 고른다**: 후보 수·`multi`·`source` 를 보고 렌더러가 네이티브 셀렉트 /
|
|
91
|
+
* 펼친 목록 / 콤보박스(검색·칩·아바타 행)를 정한다. 여기서 말하는 건 사실뿐이다.
|
|
92
|
+
*
|
|
93
|
+
* ```ts
|
|
94
|
+
* card.select("to", [], { label: "받을 사람", source: { kind: "room", exclude_self: true },
|
|
95
|
+
* multi: true, min: 1, style: "chips" })
|
|
96
|
+
* card.select("issue", recent, { source: { kind: "query", action_id: "issue.search" } })
|
|
97
|
+
* ```
|
|
98
|
+
*
|
|
99
|
+
* 🔴 **`options` 는 `source` 가 있어도 계약이다** — 이 키를 모르는 옛 클라는 `source` 를 벗기고
|
|
100
|
+
* `options` 만 그린다. 비워 보내면 그 클라에서 **고를 것이 없는 select** 가 선다. 방 멤버처럼
|
|
101
|
+
* 서버가 채울 수 없는 후보라면 빈 배열이 불가피하니, 그때는 **카드 `fallback` 이 그 사실을 말해야
|
|
102
|
+
* 한다**(예: "이 클라이언트에서는 사람 선택을 지원하지 않아요 — 앱을 업데이트해 주세요").
|
|
103
|
+
* 그 자리를 빠뜨리면 아래 경고가 뜬다 — 경고는 빌드를 막지 않지만 로그에 남는다.
|
|
104
|
+
*/
|
|
71
105
|
select(name, options, opts = {}) {
|
|
106
|
+
if (opts.source && options.length === 0) {
|
|
107
|
+
// SDK 는 런타임 환경을 가정하지 않는다(lib 에 console 없음) — `runtime.ts` 의 기본 로그와 같은 자세.
|
|
108
|
+
const g = globalThis;
|
|
109
|
+
g.console?.warn(`[app-sdk] card.select("${name}") — source: "${opts.source.kind}" 인데 options 사본이 비어 있습니다. ` +
|
|
110
|
+
"이 키를 모르는 클라이언트에는 고를 것이 없는 select 가 섭니다. " +
|
|
111
|
+
"정적 사본을 채우거나, 카드 fallback 에 그 사실을 적어 주세요(card.build 의 opts.fallback).");
|
|
112
|
+
}
|
|
72
113
|
return { type: "select", name, options, ...opts };
|
|
73
114
|
},
|
|
74
115
|
/** 라디오 그룹(옵션이 펼쳐져 보이는 단일 선택). */
|
package/dist/builders.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builders.js","sourceRoot":"","sources":["../src/builders.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EACL,kBAAkB,
|
|
1
|
+
{"version":3,"file":"builders.js","sourceRoot":"","sources":["../src/builders.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime.d.ts
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* 핸들러는 부작용을 직접 실행하지 않고 "효과(Effect)"를 선언한다 → 실 AS 는 matrix client 로 적용,
|
|
9
9
|
* 증명 스크립트는 효과 배열을 검사한다(같은 SDK 코드를 양쪽에서 검증 = 테스트성).
|
|
10
10
|
*/
|
|
11
|
-
import { type UiActionClient, type UiActionResultContent, type UiCardContent } from "@underdogai/mesh-event-schemas";
|
|
11
|
+
import { type UiActionClient, type UiActionContent, type UiActionResultContent, type UiCardContent } from "@underdogai/mesh-event-schemas";
|
|
12
12
|
import type { App } from "./app.js";
|
|
13
13
|
/**
|
|
14
14
|
* 발행 형태 — 같은 사실을 어떤 Matrix 형태로 보낼지(킥오프 §2.3).
|
|
@@ -97,6 +97,15 @@ export interface ActionCtx {
|
|
|
97
97
|
cardId?: string;
|
|
98
98
|
/** 폼 입력(원본). 핸들러는 action.values.parse(ctx.values) 로 타입 확보. */
|
|
99
99
|
values: Record<string, unknown>;
|
|
100
|
+
/**
|
|
101
|
+
* 이 호출이 **무엇이었나** (0.9.0). 대개 안 봐도 된다 — 단 하나, `"query"` 는 다르다:
|
|
102
|
+
* 사람이 누른 게 아니라 `select` 의 `source: { kind: "query" }` 가 **타이핑 중에** 보낸 요청이라,
|
|
103
|
+
* 핸들러는 부작용 없이 `ctx.result({ kind: "options", … })` 로만 답해야 한다.
|
|
104
|
+
*
|
|
105
|
+
* 🔴 **자기 신고다** — 권위는 여전히 `sender` 와 액션 정의(`scope`·`destructive`)다. 이 값으로
|
|
106
|
+
* 권한을 가르지 말고, "무엇을 만들지"만 가른다. 옛 클라는 안 싣거나 `"button"` 을 싣는다.
|
|
107
|
+
*/
|
|
108
|
+
action_type?: UiActionContent["action_type"];
|
|
100
109
|
/** 작성 클라이언트 환경(있으면, G6) — 클라의 자기 신고라 표시·진단용이지 권위 아님(권위는 sender). */
|
|
101
110
|
client?: UiActionClient;
|
|
102
111
|
/** 편집 대상 원본 카드 event_id(있으면). */
|
package/dist/runtime.d.ts.map
CHANGED
|
@@ -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
|
@@ -65,6 +65,7 @@ export async function dispatchAction(input) {
|
|
|
65
65
|
entity: input.entity ?? {},
|
|
66
66
|
cardId: action.card_id,
|
|
67
67
|
values: action.values ?? {},
|
|
68
|
+
...(action.action_type ? { action_type: action.action_type } : {}),
|
|
68
69
|
client: action.client,
|
|
69
70
|
cardEventId: input.cardEventId,
|
|
70
71
|
// backend 는 이 액션이 선언한 tools 화이트리스트로 감싼다(confused-deputy 방어, fail-closed).
|
package/dist/runtime.js.map
CHANGED
|
@@ -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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@underdogai/mesh-app-sdk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.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.
|
|
24
|
+
"@underdogai/mesh-event-schemas": "0.9.0"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
27
|
"typescript": "^5.6.3"
|
package/src/action.ts
CHANGED
|
@@ -9,9 +9,14 @@
|
|
|
9
9
|
import { z } from "zod";
|
|
10
10
|
import type { Block, ButtonStyle } from "@underdogai/mesh-event-schemas";
|
|
11
11
|
|
|
12
|
-
/**
|
|
12
|
+
/**
|
|
13
|
+
* UiCardContent 의 actions 블록 element 타입을 스키마에서 직접 파생(닫힌 집합과 100% 일치 보장).
|
|
14
|
+
*
|
|
15
|
+
* ⚠️ 0.9.0 에서 줄의 원소가 셋이 됐다(button · linkButton · overflow). `.button()` 이 돌려주는 것은
|
|
16
|
+
* 그중 **버튼 하나**라 여기서 좁힌다 — 안 좁히면 반환 타입이 유니온이 되어 호출자가 매번 narrow 해야 한다.
|
|
17
|
+
*/
|
|
13
18
|
type ActionsBlock = Extract<Block, { type: "actions" }>;
|
|
14
|
-
export type ButtonElement = ActionsBlock["elements"][number]
|
|
19
|
+
export type ButtonElement = Extract<ActionsBlock["elements"][number], { type: "button" }>;
|
|
15
20
|
|
|
16
21
|
export interface ActionButtonOpts {
|
|
17
22
|
style?: ButtonStyle;
|
package/src/builders.ts
CHANGED
|
@@ -8,12 +8,15 @@ import {
|
|
|
8
8
|
buildUiCardContent,
|
|
9
9
|
type ActivityBlock,
|
|
10
10
|
type Block,
|
|
11
|
+
type ActionElement,
|
|
11
12
|
type PanelSpec,
|
|
13
|
+
type SelectBlock,
|
|
14
|
+
type SelectOption,
|
|
15
|
+
type SelectSource,
|
|
12
16
|
type SurfaceSection,
|
|
13
17
|
type Tone,
|
|
14
18
|
type UiCardContent,
|
|
15
19
|
} from "@underdogai/mesh-event-schemas";
|
|
16
|
-
import type { ButtonElement } from "./action.js";
|
|
17
20
|
|
|
18
21
|
export interface CardOpts {
|
|
19
22
|
title?: string;
|
|
@@ -45,8 +48,24 @@ export const card = {
|
|
|
45
48
|
text(text: string): Block {
|
|
46
49
|
return { type: "text", text };
|
|
47
50
|
},
|
|
48
|
-
|
|
49
|
-
|
|
51
|
+
/**
|
|
52
|
+
* 액션 줄 — 버튼·링크버튼·⋯ 메뉴를 한 줄에 둔다. **블록 하나가 아니라 배열을 돌려준다**(0.9.0).
|
|
53
|
+
*
|
|
54
|
+
* 🔴 **왜 배열인가**: 줄 안의 `overflow` 는 **새 클라에만** 보인다 — `actions.elements` 는 닫힌
|
|
55
|
+
* 유니온이라 옛 클라의 `dropUnknownBlocks` 가 그 원소 하나 때문에 **actions 블록을 통째로 떨군다**
|
|
56
|
+
* (버튼이 전부 사라진다). 그래서 전환기 동안 같은 ⋯ 를 **최상위 블록 사본**으로 같이 낸다 —
|
|
57
|
+
* 옛 클라는 사본만, 새 클라는 줄 안의 것만 그린다(`legacyOverflowIndices` 가 사본을 건너뛴다).
|
|
58
|
+
* `card.activity` + `collapsible.legacy_for` 와 같은 규약이다.
|
|
59
|
+
*
|
|
60
|
+
* ⚠️ ⋯ 가 없는 줄은 배열 길이가 **1** 이다 — 사본을 낼 것이 없다(옛 클라도 그대로 읽는다).
|
|
61
|
+
* 클라 배포가 충분히 퍼지면 `{ legacy: false }` 로 끄고, 그다음 기본값을 바꾼다(이 시리즈 밖).
|
|
62
|
+
*/
|
|
63
|
+
actions(elements: ActionElement[], opts: { legacy?: boolean } = {}): Block[] {
|
|
64
|
+
const row: Block = { type: "actions", elements };
|
|
65
|
+
if (opts.legacy === false) return [row];
|
|
66
|
+
// 사본은 **같은 객체**다 — `action_id` 집합이 같아야 새 렌더러가 사본으로 알아본다.
|
|
67
|
+
const menus = elements.filter((el): el is Extract<ActionElement, { type: "overflow" }> => el.type === "overflow");
|
|
68
|
+
return menus.length ? [row, ...menus] : [row];
|
|
50
69
|
},
|
|
51
70
|
// --- 표시 블록 헬퍼(B1 — 스키마엔 있는데 헬퍼가 없던 갭) ---
|
|
52
71
|
/** 상태 배지(톤 강조 칩). */
|
|
@@ -102,8 +121,51 @@ export const card = {
|
|
|
102
121
|
): Block {
|
|
103
122
|
return { type: "slider", name, ...opts };
|
|
104
123
|
},
|
|
105
|
-
/**
|
|
106
|
-
|
|
124
|
+
/**
|
|
125
|
+
* **선택** (0.9.0 부터 세 축) — 공급원(`source`) × 개수(`multi`) × 표현(`style`·`searchable`).
|
|
126
|
+
*
|
|
127
|
+
* 컨트롤은 **작성자가 안 고른다**: 후보 수·`multi`·`source` 를 보고 렌더러가 네이티브 셀렉트 /
|
|
128
|
+
* 펼친 목록 / 콤보박스(검색·칩·아바타 행)를 정한다. 여기서 말하는 건 사실뿐이다.
|
|
129
|
+
*
|
|
130
|
+
* ```ts
|
|
131
|
+
* card.select("to", [], { label: "받을 사람", source: { kind: "room", exclude_self: true },
|
|
132
|
+
* multi: true, min: 1, style: "chips" })
|
|
133
|
+
* card.select("issue", recent, { source: { kind: "query", action_id: "issue.search" } })
|
|
134
|
+
* ```
|
|
135
|
+
*
|
|
136
|
+
* 🔴 **`options` 는 `source` 가 있어도 계약이다** — 이 키를 모르는 옛 클라는 `source` 를 벗기고
|
|
137
|
+
* `options` 만 그린다. 비워 보내면 그 클라에서 **고를 것이 없는 select** 가 선다. 방 멤버처럼
|
|
138
|
+
* 서버가 채울 수 없는 후보라면 빈 배열이 불가피하니, 그때는 **카드 `fallback` 이 그 사실을 말해야
|
|
139
|
+
* 한다**(예: "이 클라이언트에서는 사람 선택을 지원하지 않아요 — 앱을 업데이트해 주세요").
|
|
140
|
+
* 그 자리를 빠뜨리면 아래 경고가 뜬다 — 경고는 빌드를 막지 않지만 로그에 남는다.
|
|
141
|
+
*/
|
|
142
|
+
select(
|
|
143
|
+
name: string,
|
|
144
|
+
options: SelectOption[],
|
|
145
|
+
opts: {
|
|
146
|
+
label?: string;
|
|
147
|
+
placeholder?: string;
|
|
148
|
+
value?: string;
|
|
149
|
+
multi?: boolean;
|
|
150
|
+
source?: SelectSource;
|
|
151
|
+
style?: SelectBlock["style"];
|
|
152
|
+
searchable?: boolean;
|
|
153
|
+
required?: boolean;
|
|
154
|
+
/** `multi` 전용 — 고를 **개수**의 하한/상한. */
|
|
155
|
+
min?: number;
|
|
156
|
+
max?: number;
|
|
157
|
+
error?: string;
|
|
158
|
+
} = {},
|
|
159
|
+
): Block {
|
|
160
|
+
if (opts.source && options.length === 0) {
|
|
161
|
+
// SDK 는 런타임 환경을 가정하지 않는다(lib 에 console 없음) — `runtime.ts` 의 기본 로그와 같은 자세.
|
|
162
|
+
const g = globalThis as { console?: { warn(m: string): void } };
|
|
163
|
+
g.console?.warn(
|
|
164
|
+
`[app-sdk] card.select("${name}") — source: "${opts.source.kind}" 인데 options 사본이 비어 있습니다. ` +
|
|
165
|
+
"이 키를 모르는 클라이언트에는 고를 것이 없는 select 가 섭니다. " +
|
|
166
|
+
"정적 사본을 채우거나, 카드 fallback 에 그 사실을 적어 주세요(card.build 의 opts.fallback).",
|
|
167
|
+
);
|
|
168
|
+
}
|
|
107
169
|
return { type: "select", name, options, ...opts };
|
|
108
170
|
},
|
|
109
171
|
/** 라디오 그룹(옵션이 펼쳐져 보이는 단일 선택). */
|
package/src/runtime.ts
CHANGED
|
@@ -19,6 +19,7 @@ import {
|
|
|
19
19
|
classifySender,
|
|
20
20
|
validateEvent,
|
|
21
21
|
type UiActionClient,
|
|
22
|
+
type UiActionContent,
|
|
22
23
|
type UiActionResultContent,
|
|
23
24
|
type UiCardContent,
|
|
24
25
|
type WorkflowStateContent,
|
|
@@ -99,6 +100,15 @@ export interface ActionCtx {
|
|
|
99
100
|
cardId?: string;
|
|
100
101
|
/** 폼 입력(원본). 핸들러는 action.values.parse(ctx.values) 로 타입 확보. */
|
|
101
102
|
values: Record<string, unknown>;
|
|
103
|
+
/**
|
|
104
|
+
* 이 호출이 **무엇이었나** (0.9.0). 대개 안 봐도 된다 — 단 하나, `"query"` 는 다르다:
|
|
105
|
+
* 사람이 누른 게 아니라 `select` 의 `source: { kind: "query" }` 가 **타이핑 중에** 보낸 요청이라,
|
|
106
|
+
* 핸들러는 부작용 없이 `ctx.result({ kind: "options", … })` 로만 답해야 한다.
|
|
107
|
+
*
|
|
108
|
+
* 🔴 **자기 신고다** — 권위는 여전히 `sender` 와 액션 정의(`scope`·`destructive`)다. 이 값으로
|
|
109
|
+
* 권한을 가르지 말고, "무엇을 만들지"만 가른다. 옛 클라는 안 싣거나 `"button"` 을 싣는다.
|
|
110
|
+
*/
|
|
111
|
+
action_type?: UiActionContent["action_type"];
|
|
102
112
|
/** 작성 클라이언트 환경(있으면, G6) — 클라의 자기 신고라 표시·진단용이지 권위 아님(권위는 sender). */
|
|
103
113
|
client?: UiActionClient;
|
|
104
114
|
/** 편집 대상 원본 카드 event_id(있으면). */
|
|
@@ -222,7 +232,13 @@ export async function dispatchAction(input: DispatchInput): Promise<DispatchResu
|
|
|
222
232
|
if (!v.ok) {
|
|
223
233
|
return { status: "ignored", reason: v.reason, effects: rejectEffects(input, v.issues) };
|
|
224
234
|
}
|
|
225
|
-
const action = v.data as {
|
|
235
|
+
const action = v.data as {
|
|
236
|
+
card_id: string;
|
|
237
|
+
action_id: string;
|
|
238
|
+
values?: Record<string, unknown>;
|
|
239
|
+
client?: UiActionClient;
|
|
240
|
+
action_type?: UiActionContent["action_type"];
|
|
241
|
+
};
|
|
226
242
|
|
|
227
243
|
// 3) 앱이 아는 액션인가.
|
|
228
244
|
const def = input.app.actions.get(action.action_id);
|
|
@@ -267,6 +283,7 @@ export async function dispatchAction(input: DispatchInput): Promise<DispatchResu
|
|
|
267
283
|
entity: input.entity ?? {},
|
|
268
284
|
cardId: action.card_id,
|
|
269
285
|
values: action.values ?? {},
|
|
286
|
+
...(action.action_type ? { action_type: action.action_type } : {}),
|
|
270
287
|
client: action.client,
|
|
271
288
|
cardEventId: input.cardEventId,
|
|
272
289
|
// backend 는 이 액션이 선언한 tools 화이트리스트로 감싼다(confused-deputy 방어, fail-closed).
|