@underdogai/mesh-app-sdk 0.4.0 → 0.8.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/app.d.ts +7 -1
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +9 -4
- package/dist/app.js.map +1 -1
- package/dist/builders.d.ts +37 -1
- package/dist/builders.d.ts.map +1 -1
- package/dist/builders.js +63 -0
- package/dist/builders.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/runtime.d.ts +67 -5
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +130 -10
- package/dist/runtime.js.map +1 -1
- package/dist/serve.d.ts.map +1 -1
- package/dist/serve.js +17 -5
- package/dist/serve.js.map +1 -1
- package/package.json +2 -2
- package/src/app.ts +10 -5
- package/src/builders.ts +70 -0
- package/src/index.ts +2 -1
- package/src/runtime.ts +193 -12
- package/src/serve.ts +16 -5
package/dist/runtime.js
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* 핸들러는 부작용을 직접 실행하지 않고 "효과(Effect)"를 선언한다 → 실 AS 는 matrix client 로 적용,
|
|
9
9
|
* 증명 스크립트는 효과 배열을 검사한다(같은 SDK 코드를 양쪽에서 검증 = 테스트성).
|
|
10
10
|
*/
|
|
11
|
-
import { EventType, NS, buildUiActionContent, buildUiMessageContent, buildUiMessageEdit, canPublish, classifySender, validateEvent, } from "@underdogai/mesh-event-schemas";
|
|
11
|
+
import { EventType, NS, buildUiActionContent, buildUiActionResult, buildUiMessageContent, buildUiMessageEdit, canPublish, classifySender, validateEvent, } from "@underdogai/mesh-event-schemas";
|
|
12
12
|
/** 액션 한 건을 라우팅한다. 게이트는 호스트가 주입(보안 권위는 서버). 효과는 호스트가 적용. */
|
|
13
13
|
export async function dispatchAction(input) {
|
|
14
14
|
// 1) 발행 자격(SEC-3) — ui.action 은 human/agent 만(브리지 위조 거부). 서명된 sender 분류로 강제.
|
|
@@ -16,9 +16,13 @@ export async function dispatchAction(input) {
|
|
|
16
16
|
return { status: "ignored", reason: "publish_forbidden", effects: [] };
|
|
17
17
|
}
|
|
18
18
|
// 2) 레지스트리 검증 — 스키마 불일치/알 수 없는 타입이면 무시.
|
|
19
|
+
// 🔴 status 는 그대로 "ignored" 다(핸들러는 안 돈다). 달라진 건 **말해 준다**는 것뿐이다:
|
|
20
|
+
// 스키마 불일치는 거의 항상 사용자가 채운 값의 문제라, 누른 사람의 그 필드 아래에 문장이 가야 한다.
|
|
21
|
+
// 안 그러면 지금처럼 버튼을 눌러도 화면에 아무 일도 일어나지 않는다.
|
|
19
22
|
const v = validateEvent(EventType.UiAction, input.actionContent);
|
|
20
|
-
if (!v.ok)
|
|
21
|
-
return { status: "ignored", reason: v.reason, effects:
|
|
23
|
+
if (!v.ok) {
|
|
24
|
+
return { status: "ignored", reason: v.reason, effects: rejectEffects(input, v.issues) };
|
|
25
|
+
}
|
|
22
26
|
const action = v.data;
|
|
23
27
|
// 3) 앱이 아는 액션인가.
|
|
24
28
|
const def = input.app.actions.get(action.action_id);
|
|
@@ -34,7 +38,22 @@ export async function dispatchAction(input) {
|
|
|
34
38
|
capability: input.capability,
|
|
35
39
|
});
|
|
36
40
|
if (!decision.allowed) {
|
|
37
|
-
|
|
41
|
+
// 🔴 거절도 **말해 준다**. 지금까지는 status 만 denied 로 돌아가고 화면엔 아무 일도 없거나,
|
|
42
|
+
// 앱이 "수신자만 처리할 수 있어요" 카드를 방 전원에게 쌓았다. 이유는 이미 손에 있다(게이트가 준다).
|
|
43
|
+
const effects = input.autoResult === false
|
|
44
|
+
? []
|
|
45
|
+
: [
|
|
46
|
+
{
|
|
47
|
+
kind: "result",
|
|
48
|
+
result: {
|
|
49
|
+
card_id: action.card_id,
|
|
50
|
+
action_id: action.action_id,
|
|
51
|
+
kind: "denied",
|
|
52
|
+
reason: decision.reason,
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
];
|
|
56
|
+
return { status: "denied", actionId: action.action_id, reason: decision.reason, effects };
|
|
38
57
|
}
|
|
39
58
|
// 5) 핸들러 실행 — 효과 수집(부작용은 호스트가 적용).
|
|
40
59
|
const handler = input.app.handlers.get(action.action_id);
|
|
@@ -46,6 +65,7 @@ export async function dispatchAction(input) {
|
|
|
46
65
|
entity: input.entity ?? {},
|
|
47
66
|
cardId: action.card_id,
|
|
48
67
|
values: action.values ?? {},
|
|
68
|
+
client: action.client,
|
|
49
69
|
cardEventId: input.cardEventId,
|
|
50
70
|
// backend 는 이 액션이 선언한 tools 화이트리스트로 감싼다(confused-deputy 방어, fail-closed).
|
|
51
71
|
backend: guardBackend(def, input.backend),
|
|
@@ -58,11 +78,60 @@ export async function dispatchAction(input) {
|
|
|
58
78
|
delegate: (d) => effects.push({ kind: "delegate", intent: d.intent, payload: d.payload }),
|
|
59
79
|
emit: publish.emit,
|
|
60
80
|
invoke: publish.invoke,
|
|
81
|
+
result: (r) => effects.push({
|
|
82
|
+
kind: "result",
|
|
83
|
+
result: { card_id: action.card_id, action_id: action.action_id, ...r },
|
|
84
|
+
}),
|
|
61
85
|
};
|
|
62
86
|
await handler(ctx);
|
|
63
87
|
}
|
|
64
88
|
return { status: "ran", actionId: action.action_id, effects };
|
|
65
89
|
}
|
|
90
|
+
/**
|
|
91
|
+
* 스키마 불일치를 **필드별 문장**으로 바꾼다(0.7.0). zod issue 의 경로가 필드 이름을 들고 있다 —
|
|
92
|
+
* 폼 값은 `values.<name>` 아래 살므로 그 한 겹을 벗긴다(`values.due: …` → `due`).
|
|
93
|
+
*
|
|
94
|
+
* 🔴 **best-effort 다.** content 자체가 스키마를 통과하지 못한 상태라 `card_id`/`action_id` 조차
|
|
95
|
+
* 믿을 수 없다 — 둘 다 문자열로 읽히지 않으면 회신을 **포기한다**(잘못된 카드에 오류를 붙이는 것보다
|
|
96
|
+
* 아무 말도 안 하는 쪽이 낫다). 경로가 `values` 아래가 아니면(예: `action_type`) 필드로 못 붙이므로
|
|
97
|
+
* `kind: "reject"` 대신 한 줄짜리 `denied` 로 떨어뜨린다 — 사람이 고칠 수 있는 게 없는 오류라서다.
|
|
98
|
+
*/
|
|
99
|
+
function rejectEffects(input, issues) {
|
|
100
|
+
if (input.autoResult === false)
|
|
101
|
+
return [];
|
|
102
|
+
const c = input.actionContent;
|
|
103
|
+
const cardId = typeof c?.card_id === "string" ? c.card_id : undefined;
|
|
104
|
+
const actionId = typeof c?.action_id === "string" ? c.action_id : undefined;
|
|
105
|
+
if (!cardId || !actionId)
|
|
106
|
+
return [];
|
|
107
|
+
const errors = {};
|
|
108
|
+
const rest = [];
|
|
109
|
+
for (const issue of issues ?? []) {
|
|
110
|
+
const at = issue.indexOf(": ");
|
|
111
|
+
const path = at >= 0 ? issue.slice(0, at) : "";
|
|
112
|
+
const message = at >= 0 ? issue.slice(at + 2) : issue;
|
|
113
|
+
const segments = path.split(".").filter(Boolean);
|
|
114
|
+
// `values.<name>` → 그 필드. `values` 안쪽으로 더 깊어도(배열 인덱스 등) 첫 이름이 필드다.
|
|
115
|
+
if (segments[0] === "values" && segments[1])
|
|
116
|
+
errors[segments[1]] ??= message;
|
|
117
|
+
else
|
|
118
|
+
rest.push(issue);
|
|
119
|
+
}
|
|
120
|
+
if (Object.keys(errors).length) {
|
|
121
|
+
return [{ kind: "result", result: { card_id: cardId, action_id: actionId, kind: "reject", errors } }];
|
|
122
|
+
}
|
|
123
|
+
return [
|
|
124
|
+
{
|
|
125
|
+
kind: "result",
|
|
126
|
+
result: {
|
|
127
|
+
card_id: cardId,
|
|
128
|
+
action_id: actionId,
|
|
129
|
+
kind: "denied",
|
|
130
|
+
reason: rest[0] ?? "schema_mismatch",
|
|
131
|
+
},
|
|
132
|
+
},
|
|
133
|
+
];
|
|
134
|
+
}
|
|
66
135
|
// ---------------------------------------------------------------------------
|
|
67
136
|
// 발행 헬퍼(emit/invoke) — ActionCtx/EventCtx 가 공유하는 효과 수집기
|
|
68
137
|
// ---------------------------------------------------------------------------
|
|
@@ -110,12 +179,12 @@ function makePublishHelpers(app, effects) {
|
|
|
110
179
|
...(form === "state" ? { stateKey: opts?.stateKey ?? "" } : {}),
|
|
111
180
|
});
|
|
112
181
|
},
|
|
113
|
-
invoke(actionId, values) {
|
|
182
|
+
invoke(actionId, values, opts) {
|
|
114
183
|
// 주소(<app>. 접두사) 없는 id 는 라우팅될 수 없다 — assertActionNamespace 가 보장하는 형태를 요구한다.
|
|
115
184
|
if (!actionId.includes(".")) {
|
|
116
185
|
throw new Error(`[app-sdk] invoke: action_id '${actionId}' 는 '<app>.<action>' 형태여야 합니다(접두사 = 라우팅 주소).`);
|
|
117
186
|
}
|
|
118
|
-
effects.push({ kind: "invoke", actionId, values: values ?? {} });
|
|
187
|
+
effects.push({ kind: "invoke", actionId, values: values ?? {}, ...(opts?.label ? { label: opts.label } : {}) });
|
|
119
188
|
},
|
|
120
189
|
};
|
|
121
190
|
}
|
|
@@ -198,17 +267,39 @@ export async function dispatchEvent(input) {
|
|
|
198
267
|
await handler(ctx);
|
|
199
268
|
return { status: "ran", effects };
|
|
200
269
|
}
|
|
270
|
+
/**
|
|
271
|
+
* 권한 거부(403 / M_FORBIDDEN) 판정 — 전송 클라이언트는 **호스트가 주입**하므로 오류 모양이 하나가 아니다
|
|
272
|
+
* (serve() 의 MatrixApiError 는 `.status`, matrix-bot-sdk 는 `body.errcode`). 어느 쪽도 못 읽으면 메시지
|
|
273
|
+
* 문자열로 떨어진다. 오판해도 손해는 "조치 문구가 안 붙는다" 뿐이라 관대하게 본다.
|
|
274
|
+
*/
|
|
275
|
+
function isForbidden(err) {
|
|
276
|
+
const e = err;
|
|
277
|
+
if (e?.status === 403 || e?.statusCode === 403)
|
|
278
|
+
return true;
|
|
279
|
+
if (e?.errcode === "M_FORBIDDEN" || e?.body?.errcode === "M_FORBIDDEN")
|
|
280
|
+
return true;
|
|
281
|
+
return /\b403\b|M_FORBIDDEN/.test(err instanceof Error ? err.message : String(err));
|
|
282
|
+
}
|
|
201
283
|
/**
|
|
202
284
|
* 핸들러가 선언한 효과를 Matrix 로 적용한다 — 호스트 무관(AS 에이전트·봇 계정·증명 스크립트가 같은 코드 사용).
|
|
203
|
-
* 배열 순서대로 적용한다. edit/send/emit/invoke 전송 실패는 throw(호스트가 회복 정책 소유)
|
|
204
|
-
*
|
|
285
|
+
* 배열 순서대로 적용한다. edit/send/emit/invoke 전송 실패는 throw(호스트가 회복 정책 소유).
|
|
286
|
+
*
|
|
287
|
+
* `workflow` 만 예외로 **로그 후 계속**한다. 이건 관대함이 아니라 순서의 문제다: workflow 는 보통 카드
|
|
288
|
+
* 편집 **뒤에** 오는 부기(bookkeeping)라, 여기서 throw 하면 이미 사용자 화면에 반영된 작업의 나머지 효과가
|
|
289
|
+
* 취소된다 — 진짜 일(머지·승인)은 이미 끝났는데 후속 효과만 잃는 게 더 나쁘다.
|
|
290
|
+
*
|
|
291
|
+
* 대신 **조용하지는 않게** 한다: 403(봇 PL 부족)은 가장 흔한 원인이자 유일하게 사람이 고칠 수 있는
|
|
292
|
+
* 원인이라, 로그가 원인과 **조치 두 갈래**를 같이 적는다(로그만 보고 판단할 수 있게).
|
|
205
293
|
*/
|
|
206
294
|
export async function applyEffects(input) {
|
|
207
295
|
// SDK 는 런타임 환경을 가정하지 않는다(lib 에 console 없음) — 기본 로그는 globalThis.console 이 있을 때만.
|
|
208
296
|
const g = globalThis;
|
|
209
297
|
const warn = input.warn ?? ((m) => g.console?.warn(m));
|
|
210
298
|
const error = input.error ?? ((m) => g.console?.error(m));
|
|
211
|
-
|
|
299
|
+
// 같은 액션의 판정은 하나뿐이다 — 핸들러가 result 를 여러 번 내면 **마지막 것만** 보낸다
|
|
300
|
+
// (클라 인덱스도 같은 규칙으로 최신 하나만 그린다. 여러 장을 보내면 화면에서 서로를 덮어 깜빡인다).
|
|
301
|
+
const lastResult = input.effects.reduce((at, e, i) => (e.kind === "result" ? i : at), -1);
|
|
302
|
+
for (const [i, e] of input.effects.entries()) {
|
|
212
303
|
switch (e.kind) {
|
|
213
304
|
case "edit": {
|
|
214
305
|
// 편집 대상 카드가 있으면 m.replace, 없으면(참조 유실) 새 카드로 graceful.
|
|
@@ -235,7 +326,15 @@ export async function applyEffects(input) {
|
|
|
235
326
|
await input.client.sendStateEvent(input.roomId, EventType.WorkflowState, input.entity.id, content);
|
|
236
327
|
}
|
|
237
328
|
catch (err) {
|
|
238
|
-
|
|
329
|
+
// 403 은 거의 항상 "봇 PL 0 < 방 state_default 50". 원인만 찍으면 로그를 읽는 사람이 다시 추적해야 하니
|
|
330
|
+
// 조치를 같이 적는다 — 그리고 **끄는 쪽도 조치다**: 방이 엔티티 하나가 아니면(레포·팀 채널 등) 방 상태에
|
|
331
|
+
// 남길 이유가 없고, state_key 가 엔티티마다 쌓여 방 상태가 무한히 자란다.
|
|
332
|
+
const hint = isForbidden(err)
|
|
333
|
+
? " — 봇에 방 상태 쓰기 권한이 없습니다(보통 봇 PL 0 < state_default 50)." +
|
|
334
|
+
` 남길 값이면 방 ${input.roomId} 의 m.room.power_levels 에 events["${EventType.WorkflowState}"] 를 낮추거나 봇 PL 을 올리고,` +
|
|
335
|
+
" 아니라면 핸들러의 ctx.workflow(...) 를 지우는 쪽이 맞습니다(방=엔티티가 아닌 방에선 후자)."
|
|
336
|
+
: "";
|
|
337
|
+
error(`[app-sdk] workflow.state 게시 실패 (${input.entity.id}, ${e.status}): ${err instanceof Error ? err.message : String(err)}${hint}`);
|
|
239
338
|
}
|
|
240
339
|
break;
|
|
241
340
|
}
|
|
@@ -268,12 +367,33 @@ export async function applyEffects(input) {
|
|
|
268
367
|
const content = buildUiActionContent({
|
|
269
368
|
card_id: `invoke:${input.app.app}`,
|
|
270
369
|
action_id: e.actionId,
|
|
370
|
+
label: e.label,
|
|
271
371
|
action_type: "submit",
|
|
272
372
|
values: e.values,
|
|
273
373
|
});
|
|
274
374
|
await input.client.sendEvent(input.roomId, EventType.UiAction, content);
|
|
275
375
|
break;
|
|
276
376
|
}
|
|
377
|
+
case "result": {
|
|
378
|
+
if (i !== lastResult)
|
|
379
|
+
break; // 마지막 판정만 나간다(위 주석).
|
|
380
|
+
if (!input.actor) {
|
|
381
|
+
// 보낼 곳을 모르면 그냥 건너뛴다 — throw 하면 이미 화면에 반영된 카드 편집까지 취소된다.
|
|
382
|
+
warn(`[app-sdk] result 효과 생략 — 수신자(actor) 미해석 (action_id=${e.result.action_id}, kind=${e.result.kind}).` +
|
|
383
|
+
" 호스트가 applyEffects 에 actor(액션 발신자)를 넘겨야 합니다.");
|
|
384
|
+
break;
|
|
385
|
+
}
|
|
386
|
+
const content = buildUiActionResult({
|
|
387
|
+
...e.result,
|
|
388
|
+
to: input.actor,
|
|
389
|
+
...(input.cardEventId ? { card_event_id: input.cardEventId } : {}),
|
|
390
|
+
...(input.actionEventId
|
|
391
|
+
? { "m.relates_to": { rel_type: "m.reference", event_id: input.actionEventId } }
|
|
392
|
+
: {}),
|
|
393
|
+
});
|
|
394
|
+
await input.client.sendEvent(input.roomId, EventType.UiActionResult, content);
|
|
395
|
+
break;
|
|
396
|
+
}
|
|
277
397
|
}
|
|
278
398
|
}
|
|
279
399
|
}
|
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/dist/serve.d.ts.map
CHANGED
|
@@ -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
|
@@ -379,16 +379,28 @@ export async function serve(app, opts) {
|
|
|
379
379
|
.catch(() => null),
|
|
380
380
|
config: opts.config,
|
|
381
381
|
});
|
|
382
|
+
// `actor`/`actionEventId` — `result` 효과(0.7.0)가 "누구에게, 어느 액션의 답으로" 가는지.
|
|
383
|
+
// 안 넘기면 결과 회신이 조용히 생략된다(applyEffects 가 경고만 하고 건너뛴다).
|
|
384
|
+
const effectInput = {
|
|
385
|
+
client, app, roomId, cardEventId, entity,
|
|
386
|
+
sender: ev.sender, actor: ev.sender, actionEventId: ev.event_id,
|
|
387
|
+
onDelegate: opts.onDelegate,
|
|
388
|
+
};
|
|
382
389
|
// 자기 것이 아니면(unknown_action 등 ignored) 아무것도 발행하지 않는다 — 외부 앱 공존의 반쪽(§1.5의 역).
|
|
383
390
|
if (res.status === "ran" && res.effects.length) {
|
|
384
|
-
await applyEffects({
|
|
385
|
-
client, app, roomId, cardEventId, entity,
|
|
386
|
-
sender: ev.sender, effects: res.effects, onDelegate: opts.onDelegate,
|
|
387
|
-
});
|
|
391
|
+
await applyEffects({ ...effectInput, effects: res.effects });
|
|
388
392
|
log(`[app-sdk] 액션 실행 (${res.actionId}, effects=${res.effects.length})`);
|
|
389
393
|
}
|
|
390
394
|
else if (res.status === "denied") {
|
|
391
|
-
|
|
395
|
+
// 🔴 거부도 **누른 사람에게는 말해 준다**(0.7.0) — dispatchAction 이 붙인 `result` 효과만 적용한다.
|
|
396
|
+
// 방에 거부 *카드*를 쌓을지는 여전히 앱 정책이다(기본은 안 쌓는다). 그 경계가 이 채널의 요점이다.
|
|
397
|
+
await applyEffects({ ...effectInput, effects: res.effects.filter((e) => e.kind === "result") });
|
|
398
|
+
log(`[app-sdk] 액션 거부 (${res.actionId}): ${res.reason}`);
|
|
399
|
+
}
|
|
400
|
+
else if (res.effects.some((e) => e.kind === "result")) {
|
|
401
|
+
// 값 검증 실패(schema_mismatch) — 핸들러는 안 돌았지만 사용자는 왜 아무 일도 안 일어났는지 알아야 한다.
|
|
402
|
+
await applyEffects({ ...effectInput, effects: res.effects.filter((e) => e.kind === "result") });
|
|
403
|
+
log(`[app-sdk] 액션 무시 (${res.reason}) — 결과 회신만 보냈다`);
|
|
392
404
|
}
|
|
393
405
|
return;
|
|
394
406
|
}
|
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.
|
|
3
|
+
"version": "0.8.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.8.0"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
27
|
"typescript": "^5.6.3"
|
package/src/app.ts
CHANGED
|
@@ -323,11 +323,16 @@ export function attachHandlers(app: App, handlers: Record<string, ActionHandler>
|
|
|
323
323
|
*
|
|
324
324
|
* 코어 변경 0: enabledPlugins 의 원소를 plain plugin → withActions(plugin, …) 로 바꾸면 그 도메인의 버튼이 살아난다.
|
|
325
325
|
* 도메인 앱이므로 core=false(방의 room.binding 에 바인딩됐을 때만 동작) — 보안 게이트는 그대로 서버.
|
|
326
|
-
*
|
|
326
|
+
*
|
|
327
|
+
* **서피스는 선택이다**(`opts.surface`). 기본은 여전히 발행 없음(레거시는 AppPack = 클라 번들 평면으로
|
|
328
|
+
* 렌더한다) 이지만, 실 방에 셸 어휘를 심어야 하는 앱은 여기에 `buildAppSurface(...)` 산출물을 준다 —
|
|
329
|
+
* 그러면 호스트(serve/publishSurface)가 `org.corp.app.surface` 상태이벤트로 방에 올린다.
|
|
330
|
+
* 🔴 AppPack 과 **다른 물건**이다: 팩은 클라 빌드에 박혀 갤러리·데모를 그리고, 서피스는 와이어를 타고
|
|
331
|
+
* 실 방으로 간다. 한 앱이 둘 다 가질 수 있고(forgejo 가 그렇다) 내용이 달라도 된다.
|
|
327
332
|
*/
|
|
328
333
|
export function withActions(
|
|
329
334
|
plugin: Plugin,
|
|
330
|
-
opts: { actions: AppAction[]; handlers: Record<string, ActionHandler
|
|
335
|
+
opts: { actions: AppAction[]; handlers: Record<string, ActionHandler>; surface?: AppSurfaceContent },
|
|
331
336
|
): App {
|
|
332
337
|
const app = (plugin as Partial<App>).app ?? plugin.id;
|
|
333
338
|
const actions = new Map<string, AppAction>();
|
|
@@ -346,10 +351,10 @@ export function withActions(
|
|
|
346
351
|
handlers,
|
|
347
352
|
events: {},
|
|
348
353
|
on: new Map(),
|
|
349
|
-
// 레거시 플러그인은 App.messageForEvent(이벤트→카드) 대신 자기 toCard/템플릿으로
|
|
350
|
-
// 서피스는 AppPack(클라 평면)으로 등록한다 → App 의 데이터 평면 두 메서드는 비활성(null).
|
|
354
|
+
// 레거시 플러그인은 App.messageForEvent(이벤트→카드) 대신 자기 toCard/템플릿으로 렌더한다.
|
|
351
355
|
messageForEvent: () => null,
|
|
352
|
-
|
|
356
|
+
// 서피스는 준 경우에만. 안 주면 종전대로 발행 없음(AppPack 클라 평면으로만 렌더).
|
|
357
|
+
surfaceState: () => opts.surface ?? null,
|
|
353
358
|
};
|
|
354
359
|
}
|
|
355
360
|
|
package/src/builders.ts
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import {
|
|
8
8
|
buildUiCardContent,
|
|
9
|
+
type ActivityBlock,
|
|
9
10
|
type Block,
|
|
10
11
|
type PanelSpec,
|
|
11
12
|
type SurfaceSection,
|
|
@@ -113,12 +114,81 @@ export const card = {
|
|
|
113
114
|
checkbox(name: string, label: string, opts: { checked?: boolean } = {}): Block {
|
|
114
115
|
return { type: "checkbox", name, label, ...opts };
|
|
115
116
|
},
|
|
117
|
+
/**
|
|
118
|
+
* 위치 입력 — 버튼 한 번으로 OS 권한 수락 + 현재 위치를 받아 폼에 수집한다.
|
|
119
|
+
*
|
|
120
|
+
* 값은 `LocationValue`(`{ uri: "geo:37.5665,126.978;u=35", accuracy_m?, captured_at? }`) —
|
|
121
|
+
* 좌표가 **문자열 geo URI** 인 이유는 Matrix canonical JSON 이 부동소수를 허용하지 않기 때문이다
|
|
122
|
+
* (`m.location`/MSC3488 과 같은 형식). 핸들러는 `LocationValueSchema.parse(ctx.values.<name>)`
|
|
123
|
+
* 또는 `parseGeoUri(v.uri)` 로 위도·경도를 얻는다.
|
|
124
|
+
*
|
|
125
|
+
* `purpose` 는 **OS 권한창보다 먼저** 카드에 보이는 한 줄이다 — 시스템 권한 문구는 앱 전체에
|
|
126
|
+
* 하나뿐이라, "이 카드가 왜 위치를 묻는가"는 여기서만 말할 수 있다(그리고 그게 심사가 보는 것이다).
|
|
127
|
+
* 아직 위치를 못 쓰는 셸/브라우저에서는 클라가 버튼을 비활성 + 이유로 degrade 한다.
|
|
128
|
+
*/
|
|
129
|
+
location(
|
|
130
|
+
name: string,
|
|
131
|
+
opts: { label?: string; purpose?: string; required?: boolean; precise?: boolean; buttonText?: string } = {},
|
|
132
|
+
): Block {
|
|
133
|
+
return { type: "location", name, ...opts };
|
|
134
|
+
},
|
|
116
135
|
/** 토글 스위치(불리언 수집, on/off 어포던스). */
|
|
117
136
|
toggle(name: string, label: string, opts: { checked?: boolean; onText?: string; offText?: string } = {}): Block {
|
|
118
137
|
return { type: "toggle", name, label, ...opts };
|
|
119
138
|
},
|
|
139
|
+
/**
|
|
140
|
+
* 처리 이력(0.8.0) — 주어가 참조인 시간순 목록. **블록 하나가 아니라 배열을 돌려준다.**
|
|
141
|
+
*
|
|
142
|
+
* 🔴 **왜 배열인가**: `activity` 는 새 *블록 타입*이라 옛 클라의 `dropUnknownBlocks` 에서 **통째로
|
|
143
|
+
* 떨어진다**(키 추가와 달리 평문 사본이 곁에 설 자리가 없다). 그래서 전환기 동안 같은 내용을
|
|
144
|
+
* `collapsible`+`text` 사본으로 **같이** 낸다 — 옛 클라는 사본만, 새 클라는 원본만 그린다
|
|
145
|
+
* (새 렌더러가 `legacy_for: "activity"` 를 보고 사본을 건너뛴다).
|
|
146
|
+
*
|
|
147
|
+
* 클라 배포가 충분히 퍼지면 `{ legacy: false }` 로 끄고, 그다음 기본값을 바꾼다(이 시리즈 밖).
|
|
148
|
+
*
|
|
149
|
+
* @param items **최신순**(맨 앞이 가장 최근).
|
|
150
|
+
*/
|
|
151
|
+
activity(
|
|
152
|
+
items: ActivityBlock["items"],
|
|
153
|
+
opts: { label?: string; maxVisible?: number; legacy?: boolean } = {},
|
|
154
|
+
): Block[] {
|
|
155
|
+
const block: Block = {
|
|
156
|
+
type: "activity",
|
|
157
|
+
items,
|
|
158
|
+
...(opts.label ? { label: opts.label } : {}),
|
|
159
|
+
...(opts.maxVisible ? { maxVisible: opts.maxVisible } : {}),
|
|
160
|
+
};
|
|
161
|
+
if (opts.legacy === false) return [block];
|
|
162
|
+
return [block, legacyActivityCopy(items, opts.label)];
|
|
163
|
+
},
|
|
120
164
|
};
|
|
121
165
|
|
|
166
|
+
/**
|
|
167
|
+
* 옛 클라용 `activity` 사본 — 접기 안의 평문 여러 줄("누가 · 무엇 · 언제").
|
|
168
|
+
*
|
|
169
|
+
* 마크다운을 켜지 않는다: `what` 은 인라인 마크다운이 허용되지만, 여기서 켜면 옛 클라가 굵게·링크를
|
|
170
|
+
* 그리면서 줄 구조를 잃는다. 사본의 목적은 **정보가 사라지지 않는 것**이지 예쁘게 보이는 게 아니다.
|
|
171
|
+
*/
|
|
172
|
+
function legacyActivityCopy(items: ActivityBlock["items"], label?: string): Block {
|
|
173
|
+
const lines = items.map((it) => {
|
|
174
|
+
const who = refText(it.who);
|
|
175
|
+
const to = it.to ? ` → ${refText(it.to)}` : "";
|
|
176
|
+
return `${who} · ${it.what}${to} · ${it.at}`;
|
|
177
|
+
});
|
|
178
|
+
return {
|
|
179
|
+
type: "collapsible",
|
|
180
|
+
title: label ?? "Activity",
|
|
181
|
+
legacy_for: "activity",
|
|
182
|
+
blocks: [{ type: "text", text: lines.join("\n") }],
|
|
183
|
+
};
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
/** 참조를 사본용 문자열로 — 사람은 MXID, 엔티티는 `type · id`(해석기가 없는 쪽이 읽는 글이다). */
|
|
187
|
+
function refText(v: ActivityBlock["items"][number]["who"]): string {
|
|
188
|
+
if (typeof v === "string") return v;
|
|
189
|
+
return "user" in v ? v.user : `${v.entity.type} · ${v.entity.id}`;
|
|
190
|
+
}
|
|
191
|
+
|
|
122
192
|
/** 우측 셸 패널(PanelSpec) 빌더 — 닫힌 SurfaceBody 조합. value 문자열의 {{entity.path}} 는 클라가 바인딩. */
|
|
123
193
|
export const panel = {
|
|
124
194
|
sections(sections: SurfaceSection[]): PanelSpec {
|
package/src/index.ts
CHANGED
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
* 함께 선언한다. App = Plugin 상위집합 → enabledPlugins 한 줄로 클라/AS/브리지가 같은 스키마를 등록한다.
|
|
6
6
|
* 보안(권한 게이트)은 호스트가 주입(의존성 역전) — SDK 는 scope/destructive 를 데이터로만 공급한다.
|
|
7
7
|
*
|
|
8
|
-
*
|
|
8
|
+
* 구조·레이어 규범: docs/architecture.md · 이벤트 계약: docs/event-model.md ·
|
|
9
|
+
* 새 통합을 붙이는 절차: docs/adding-an-integration.md · npm 게시: docs/publishing-sdk.md.
|
|
9
10
|
*/
|
|
10
11
|
export * from "./action.js";
|
|
11
12
|
export * from "./builders.js";
|