@open-feishu-card/adapter 0.3.17 → 0.3.19

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/index.cjs CHANGED
@@ -423,7 +423,7 @@ function parseInline(text) {
423
423
  if (attrs.show_name != null) property.showName = attrs.show_name !== "false";
424
424
  if (attrs.show_avatar != null) property.showAvatar = attrs.show_avatar !== "false";
425
425
  if (attrs.size) property.size = attrs.size;
426
- if (attrs.style === "capsule") property.pillShaped = true;
426
+ if (attrs.style) property.style = attrs.style;
427
427
  out.push({ tag: "person_v1", property });
428
428
  i += m[0].length;
429
429
  continue;
@@ -751,7 +751,7 @@ function convertHeader(header, colors) {
751
751
  continue;
752
752
  }
753
753
  if (k === "text_tag_list" && Array.isArray(v)) {
754
- property.text_tag_list = v.map((item) => convertNode(item, colors));
754
+ property.textTagList = v.map((item) => convertNode(item, colors));
755
755
  continue;
756
756
  }
757
757
  property[renameKey(k)] = coerceValue(k, v, colors);
@@ -780,10 +780,6 @@ function convertEl(el, colors) {
780
780
  const tag = String(el.tag);
781
781
  if (tag === "person") {
782
782
  const property = buildProperty(el, "person_v1", colors);
783
- if (property.style === "capsule") {
784
- property.pillShaped = true;
785
- delete property.style;
786
- }
787
783
  return withRawElementId(el, { tag: "person_v1", property });
788
784
  }
789
785
  if (tag === "avatar") {
@@ -967,7 +963,7 @@ function buildProperty(el, tag, colors) {
967
963
  if (k === "button_area" && isRecord2(v)) {
968
964
  const area = { ...v };
969
965
  if (Array.isArray(v.buttons)) area.buttons = v.buttons.map((b) => convertNode(b, colors));
970
- property.button_area = area;
966
+ property.buttonArea = area;
971
967
  continue;
972
968
  }
973
969
  property[renameKey(k)] = coerceValue(k, v, colors);
@@ -1017,14 +1013,15 @@ function behaviorsToActions(behaviors) {
1017
1013
  for (const b of behaviors) {
1018
1014
  if (!isRecord2(b)) continue;
1019
1015
  const type = typeof b.type === "string" ? b.type : "open_url";
1020
- if (type === "callback") {
1021
- out.push({ type: "callback", action: { value: isRecord2(b.value) ? b.value : {} } });
1016
+ if (type === "callback" || type === "action_request") {
1017
+ const value = isRecord2(b.value) || typeof b.value === "string" ? b.value : {};
1018
+ out.push({ type: "action_request", action: { value } });
1022
1019
  continue;
1023
1020
  }
1024
1021
  const action = { url: normalizeUrl(b.default_url) };
1025
- if (typeof b.pc_url === "string" && b.pc_url) action.pcURL = b.pc_url;
1026
- if (typeof b.ios_url === "string" && b.ios_url) action.iosURL = b.ios_url;
1027
- if (typeof b.android_url === "string" && b.android_url) action.androidURL = b.android_url;
1022
+ if (typeof b.pc_url === "string" && b.pc_url) action.pc_url = b.pc_url;
1023
+ if (typeof b.ios_url === "string" && b.ios_url) action.ios_url = b.ios_url;
1024
+ if (typeof b.android_url === "string" && b.android_url) action.android_url = b.android_url;
1028
1025
  out.push({ type, action });
1029
1026
  }
1030
1027
  return out;
@@ -1032,10 +1029,10 @@ function behaviorsToActions(behaviors) {
1032
1029
  function multiUrlToOpenUrlAction(multi) {
1033
1030
  const url = typeof multi.url === "string" ? multi.url : typeof multi.default_url === "string" ? multi.default_url : "";
1034
1031
  const action = { url };
1035
- if (typeof multi.pc_url === "string" && multi.pc_url) action.pcURL = multi.pc_url;
1036
- if (typeof multi.ios_url === "string" && multi.ios_url) action.iosURL = multi.ios_url;
1032
+ if (typeof multi.pc_url === "string" && multi.pc_url) action.pc_url = multi.pc_url;
1033
+ if (typeof multi.ios_url === "string" && multi.ios_url) action.ios_url = multi.ios_url;
1037
1034
  if (typeof multi.android_url === "string" && multi.android_url) {
1038
- action.androidURL = multi.android_url;
1035
+ action.android_url = multi.android_url;
1039
1036
  }
1040
1037
  return { type: "open_url", action };
1041
1038
  }
@@ -1347,7 +1344,7 @@ function isRawCardEnvelope(value) {
1347
1344
  const v = value;
1348
1345
  return typeof v.json_card === "string" && typeof v.card_schema === "number";
1349
1346
  }
1350
- function rawCardToDsl(envelope) {
1347
+ function rawCardToDsl(envelope, options) {
1351
1348
  if (!isRawCardEnvelope(envelope)) return envelope;
1352
1349
  const env = envelope;
1353
1350
  let inner;
@@ -1358,7 +1355,8 @@ function rawCardToDsl(envelope) {
1358
1355
  }
1359
1356
  const ctx = makeCtx({
1360
1357
  images: env.json_attachment?.images ?? {},
1361
- atUsers: env.json_attachment?.at_users ?? {}
1358
+ atUsers: env.json_attachment?.at_users ?? {},
1359
+ onWarn: options?.onWarn
1362
1360
  });
1363
1361
  return convertRoot(inner, ctx);
1364
1362
  }
@@ -1366,7 +1364,8 @@ function makeCtx(partial) {
1366
1364
  return {
1367
1365
  images: partial?.images ?? {},
1368
1366
  atUsers: partial?.atUsers ?? {},
1369
- colors: createColorRegistry()
1367
+ colors: createColorRegistry(),
1368
+ onWarn: partial?.onWarn
1370
1369
  };
1371
1370
  }
1372
1371
  var RAW_ONLY_FIELDS = /* @__PURE__ */ new Set([
@@ -1790,6 +1789,67 @@ function openUrlFieldsToMultiUrl(fields) {
1790
1789
  if (fields.android_url) multi.android_url = fields.android_url;
1791
1790
  return multi;
1792
1791
  }
1792
+ var RAW_CALLBACK_TYPES = /* @__PURE__ */ new Set(["callback", "action_request"]);
1793
+ function callbackValueFromRaw(inner, ownerTag, warn) {
1794
+ const v = inner.value;
1795
+ if (isRecord3(v)) return v;
1796
+ if (typeof v === "string" && v.length > 0) return v;
1797
+ const hadObjectValue = inner.isValueObjectType === true;
1798
+ const hasActionId = typeof inner.actionID === "string" && inner.actionID.length > 0;
1799
+ if (hadObjectValue) {
1800
+ warn?.({
1801
+ code: "callback_payload_cleared",
1802
+ ownerTag,
1803
+ message: `\u670D\u52A1\u7AEF\u628A\u56DE\u8C03\u5BF9\u8C61\u8F7D\u8377\u6362\u6210\u4E86 actionID \u5F15\u7528${hasActionId ? ` (${String(inner.actionID)})` : ""}\uFF0C\u6295\u5F71\u51FA\u7684 behaviors.value \u662F\u7A7A\u5BF9\u8C61\uFF0C\u70B9\u51FB\u56DE\u8C03\u62FF\u4E0D\u5230\u539F\u59CB\u53C2\u6570\u3002\u4FDD\u4F4F\u53C2\u6570\u9700\u53D1\u9001\u4FA7\u7559\u5B58\u539F\u59CB DSL\u3002`
1804
+ });
1805
+ return {};
1806
+ }
1807
+ if (hasActionId) {
1808
+ warn?.({
1809
+ code: "callback_payload_cleared",
1810
+ ownerTag,
1811
+ message: `\u670D\u52A1\u7AEF\u628A\u56DE\u8C03\u8F7D\u8377\u6362\u6210\u4E86 actionID \u5F15\u7528 (${String(inner.actionID)})\uFF0C\u539F\u503C\u5DF2\u4E0D\u53EF\u89C1\uFF1B\u6295\u5F71\u51FA\u7684 behaviors.value \u4FDD\u7559\u7A7A\u5B57\u7B26\u4E32\uFF0C\u70B9\u51FB\u56DE\u8C03\u62FF\u4E0D\u5230\u539F\u59CB\u53C2\u6570\u3002`
1812
+ });
1813
+ return "";
1814
+ }
1815
+ if (v === void 0) {
1816
+ warn?.({
1817
+ code: "callback_payload_cleared",
1818
+ ownerTag,
1819
+ message: "\u56DE\u8C03 action \u6CA1\u6709 value\uFF08\u670D\u52A1\u7AEF\u56DE\u8BFB\u5F62\u6001\uFF09\uFF0C\u6295\u5F71\u4E3A behaviors.value: {}\uFF1B\u70B9\u51FB\u56DE\u8C03\u62FF\u4E0D\u5230\u539F\u59CB\u53C2\u6570\uFF0C\u9700\u53D1\u9001\u4FA7\u7559\u5B58\u539F\u59CB DSL\u3002"
1820
+ });
1821
+ return {};
1822
+ }
1823
+ return "";
1824
+ }
1825
+ function actionEntryToBehavior(entry, ownerTag, ctx, onWarn = ctx.onWarn) {
1826
+ if (!isRecord3(entry)) return void 0;
1827
+ const inner = isRecord3(entry.action) ? entry.action : {};
1828
+ const type = typeof entry.type === "string" ? entry.type : void 0;
1829
+ if (type === "open_url") {
1830
+ const fields = projectOpenUrlFields(inner);
1831
+ return fields ? { type: "open_url", ...fields } : void 0;
1832
+ }
1833
+ if (type && RAW_CALLBACK_TYPES.has(type)) {
1834
+ return {
1835
+ type: "callback",
1836
+ value: callbackValueFromRaw(inner, ownerTag, onWarn ?? void 0)
1837
+ };
1838
+ }
1839
+ const kept = {};
1840
+ for (const [k, v] of Object.entries(entry)) {
1841
+ if (k === "type" || k === "action") continue;
1842
+ kept[snake(k)] = convertGeneric(v, ctx);
1843
+ }
1844
+ if (type) kept.type = type;
1845
+ if (Object.keys(inner).length > 0) kept.action = convertGeneric(inner, ctx);
1846
+ onWarn?.({
1847
+ code: "unknown_action_type",
1848
+ ownerTag,
1849
+ message: `\u672A\u8BC6\u522B\u7684 action type: ${type ?? "(\u65E0 type)"}\uFF1B\u5DF2\u6309\u539F\u6837\u4FDD\u7559\u8FDB behaviors\uFF0C\u53D1\u5F80\u98DE\u4E66\u524D\u8BF7\u6E05\u6D17\u3002`
1850
+ });
1851
+ return kept;
1852
+ }
1793
1853
  function convertProperty(property, ownerTag, ctx) {
1794
1854
  const out = {};
1795
1855
  const siblings = {
@@ -1927,19 +1987,7 @@ function convertField(rawKey, rawValue, ownerTag, ctx, siblings = {}) {
1927
1987
  }
1928
1988
  if (ownerTag === "button" && key === "action_type") return DROP;
1929
1989
  if (ownerTag === "button" && key === "actions" && Array.isArray(rawValue)) {
1930
- const behaviors = [];
1931
- for (const a of rawValue) {
1932
- if (!isRecord3(a)) continue;
1933
- const inner = isRecord3(a.action) ? a.action : {};
1934
- const t = typeof a.type === "string" ? a.type : void 0;
1935
- if (t === "callback") {
1936
- behaviors.push({ type: "callback", value: isRecord3(inner.value) ? inner.value : {} });
1937
- continue;
1938
- }
1939
- if (t !== "open_url") continue;
1940
- const fields = projectOpenUrlFields(inner);
1941
- if (fields) behaviors.push({ type: "open_url", ...fields });
1942
- }
1990
+ const behaviors = rawValue.map((a) => actionEntryToBehavior(a, ownerTag, ctx)).filter((b) => b !== void 0);
1943
1991
  if (behaviors.length === 0) return DROP;
1944
1992
  if (siblings.buttonActionType === "link" && behaviors.length === 1 && behaviors[0]?.type === "open_url") {
1945
1993
  const only = behaviors[0];
@@ -1949,29 +1997,23 @@ function convertField(rawKey, rawValue, ownerTag, ctx, siblings = {}) {
1949
1997
  return ["behaviors", behaviors];
1950
1998
  }
1951
1999
  if (ownerTag === "interactive_container" && key === "actions" && Array.isArray(rawValue)) {
1952
- const behaviors = rawValue.map((a) => {
1953
- if (!isRecord3(a)) return void 0;
1954
- const inner = isRecord3(a.action) ? a.action : {};
1955
- const t = typeof a.type === "string" ? a.type : void 0;
1956
- if (t === "open_url") {
1957
- const fields = projectOpenUrlFields(inner);
1958
- return fields ? { type: "open_url", ...fields } : void 0;
1959
- }
1960
- if (t === "callback") {
1961
- return { type: "callback", value: inner.value ?? {} };
1962
- }
1963
- return void 0;
1964
- }).filter((b) => b !== void 0);
2000
+ const behaviors = rawValue.map((a) => actionEntryToBehavior(a, ownerTag, ctx)).filter((b) => b !== void 0);
1965
2001
  if (behaviors.length === 0) return DROP;
1966
2002
  return ["behaviors", behaviors];
1967
2003
  }
1968
2004
  if ((ownerTag === "column_set" || ownerTag === "column") && key === "actions" && Array.isArray(rawValue)) {
1969
- for (const a of rawValue) {
1970
- if (!isRecord3(a)) continue;
1971
- if (a.type !== "open_url") continue;
1972
- const inner = isRecord3(a.action) ? a.action : {};
1973
- const fields = projectOpenUrlFields(inner);
1974
- if (!fields) continue;
2005
+ const behaviors = rawValue.map((a) => actionEntryToBehavior(a, ownerTag, ctx, null)).filter((b) => b !== void 0);
2006
+ const openUrl = behaviors.find((b) => b.type === "open_url");
2007
+ const unrepresentable = behaviors.filter((b) => b.type !== "open_url");
2008
+ if (unrepresentable.length > 0) {
2009
+ ctx.onWarn?.({
2010
+ code: "unrepresentable_action",
2011
+ ownerTag,
2012
+ message: `${ownerTag} \u7684 actions \u542B ${unrepresentable.map((b) => String(b.type)).join(" / ")}\uFF0C\u516C\u5F00 DSL \u7684 ColumnAction \u53EA\u6709 multi_url\uFF0C\u65E0\u6CD5\u6295\u5F71\uFF1B\u8BE5 action \u4E0D\u4F1A\u51FA\u73B0\u5728 DSL \u91CC\u3002`
2013
+ });
2014
+ }
2015
+ if (openUrl) {
2016
+ const { type: _t, ...fields } = openUrl;
1975
2017
  return ["action", { multi_url: openUrlFieldsToMultiUrl(fields) }];
1976
2018
  }
1977
2019
  return DROP;
@@ -2453,11 +2495,11 @@ function pixelOf(side) {
2453
2495
  function snake(key) {
2454
2496
  return key.replace(/ID$/g, "_id").replace(/URL$/g, "_url").replace(/([A-Z]+)([A-Z][a-z])/g, "$1_$2").replace(/([a-z\d])([A-Z])/g, "$1_$2").toLowerCase();
2455
2497
  }
2456
- function rawToDsl(raw) {
2457
- if (isRawCardEnvelope(raw)) return rawCardToDsl(raw);
2498
+ function rawToDsl(raw, options) {
2499
+ if (isRawCardEnvelope(raw)) return rawCardToDsl(raw, options);
2458
2500
  if (typeof raw === "string") {
2459
2501
  try {
2460
- return rawToDsl(JSON.parse(raw));
2502
+ return rawToDsl(JSON.parse(raw), options);
2461
2503
  } catch {
2462
2504
  return raw;
2463
2505
  }
@@ -2475,19 +2517,20 @@ function rawToDsl(raw) {
2475
2517
  const attachment = isRecord3(raw.json_attachment) ? raw.json_attachment : {};
2476
2518
  const ctx = makeCtx({
2477
2519
  images: isRecord3(attachment.images) ? attachment.images : {},
2478
- atUsers: isRecord3(attachment.at_users) ? attachment.at_users : {}
2520
+ atUsers: isRecord3(attachment.at_users) ? attachment.at_users : {},
2521
+ onWarn: options?.onWarn
2479
2522
  });
2480
2523
  return convertRoot(inner, ctx);
2481
2524
  }
2482
2525
  if (isRecord3(raw.card)) {
2483
2526
  const card = raw.card;
2484
2527
  if (typeof card.json_card === "string" || isRecord3(card.json_card)) {
2485
- return rawToDsl(card);
2528
+ return rawToDsl(card, options);
2486
2529
  }
2487
- return convertRoot(card, makeCtx());
2530
+ return convertRoot(card, makeCtx({ onWarn: options?.onWarn }));
2488
2531
  }
2489
2532
  if ("body" in raw || "header" in raw || "schema" in raw) {
2490
- return convertRoot(raw, makeCtx());
2533
+ return convertRoot(raw, makeCtx({ onWarn: options?.onWarn }));
2491
2534
  }
2492
2535
  return raw;
2493
2536
  }
package/dist/index.d.ts CHANGED
@@ -8,6 +8,7 @@
8
8
  */
9
9
  export { dslToRaw } from './dsl-to-raw.js';
10
10
  export { rawToDsl, rawCardToDsl, isRawCardEnvelope, degradeUnknown, } from './raw-to-dsl.js';
11
+ export type { RawToDslOptions, RawToDslWarning } from './raw-to-dsl.js';
11
12
  export { normalizeStoredCardColors, createColorRegistry, registerColorEntry } from './normalize-stored-colors.js';
12
13
  export type { CustomColorEntry } from './normalize-stored-colors.js';
13
14
  export { readThemeColorLight, readThemeColorDark, resolveCustomBackgroundLight, resolveCustomBorderLight, resolveTextStyleColor, resolveTextStyleCustomColorPair, themePairToColorEntry, isCustomHexColor, } from './custom-colors.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,iBAAiB,EACjB,cAAc,GACf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClH,YAAY,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,4BAA4B,EAC5B,wBAAwB,EACxB,qBAAqB,EACrB,+BAA+B,EAC/B,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,iBAAiB,EACjB,cAAc,GACf,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClH,YAAY,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,4BAA4B,EAC5B,wBAAwB,EACxB,qBAAqB,EACrB,+BAA+B,EAC/B,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -421,7 +421,7 @@ function parseInline(text) {
421
421
  if (attrs.show_name != null) property.showName = attrs.show_name !== "false";
422
422
  if (attrs.show_avatar != null) property.showAvatar = attrs.show_avatar !== "false";
423
423
  if (attrs.size) property.size = attrs.size;
424
- if (attrs.style === "capsule") property.pillShaped = true;
424
+ if (attrs.style) property.style = attrs.style;
425
425
  out.push({ tag: "person_v1", property });
426
426
  i += m[0].length;
427
427
  continue;
@@ -749,7 +749,7 @@ function convertHeader(header, colors) {
749
749
  continue;
750
750
  }
751
751
  if (k === "text_tag_list" && Array.isArray(v)) {
752
- property.text_tag_list = v.map((item) => convertNode(item, colors));
752
+ property.textTagList = v.map((item) => convertNode(item, colors));
753
753
  continue;
754
754
  }
755
755
  property[renameKey(k)] = coerceValue(k, v, colors);
@@ -778,10 +778,6 @@ function convertEl(el, colors) {
778
778
  const tag = String(el.tag);
779
779
  if (tag === "person") {
780
780
  const property = buildProperty(el, "person_v1", colors);
781
- if (property.style === "capsule") {
782
- property.pillShaped = true;
783
- delete property.style;
784
- }
785
781
  return withRawElementId(el, { tag: "person_v1", property });
786
782
  }
787
783
  if (tag === "avatar") {
@@ -965,7 +961,7 @@ function buildProperty(el, tag, colors) {
965
961
  if (k === "button_area" && isRecord2(v)) {
966
962
  const area = { ...v };
967
963
  if (Array.isArray(v.buttons)) area.buttons = v.buttons.map((b) => convertNode(b, colors));
968
- property.button_area = area;
964
+ property.buttonArea = area;
969
965
  continue;
970
966
  }
971
967
  property[renameKey(k)] = coerceValue(k, v, colors);
@@ -1015,14 +1011,15 @@ function behaviorsToActions(behaviors) {
1015
1011
  for (const b of behaviors) {
1016
1012
  if (!isRecord2(b)) continue;
1017
1013
  const type = typeof b.type === "string" ? b.type : "open_url";
1018
- if (type === "callback") {
1019
- out.push({ type: "callback", action: { value: isRecord2(b.value) ? b.value : {} } });
1014
+ if (type === "callback" || type === "action_request") {
1015
+ const value = isRecord2(b.value) || typeof b.value === "string" ? b.value : {};
1016
+ out.push({ type: "action_request", action: { value } });
1020
1017
  continue;
1021
1018
  }
1022
1019
  const action = { url: normalizeUrl(b.default_url) };
1023
- if (typeof b.pc_url === "string" && b.pc_url) action.pcURL = b.pc_url;
1024
- if (typeof b.ios_url === "string" && b.ios_url) action.iosURL = b.ios_url;
1025
- if (typeof b.android_url === "string" && b.android_url) action.androidURL = b.android_url;
1020
+ if (typeof b.pc_url === "string" && b.pc_url) action.pc_url = b.pc_url;
1021
+ if (typeof b.ios_url === "string" && b.ios_url) action.ios_url = b.ios_url;
1022
+ if (typeof b.android_url === "string" && b.android_url) action.android_url = b.android_url;
1026
1023
  out.push({ type, action });
1027
1024
  }
1028
1025
  return out;
@@ -1030,10 +1027,10 @@ function behaviorsToActions(behaviors) {
1030
1027
  function multiUrlToOpenUrlAction(multi) {
1031
1028
  const url = typeof multi.url === "string" ? multi.url : typeof multi.default_url === "string" ? multi.default_url : "";
1032
1029
  const action = { url };
1033
- if (typeof multi.pc_url === "string" && multi.pc_url) action.pcURL = multi.pc_url;
1034
- if (typeof multi.ios_url === "string" && multi.ios_url) action.iosURL = multi.ios_url;
1030
+ if (typeof multi.pc_url === "string" && multi.pc_url) action.pc_url = multi.pc_url;
1031
+ if (typeof multi.ios_url === "string" && multi.ios_url) action.ios_url = multi.ios_url;
1035
1032
  if (typeof multi.android_url === "string" && multi.android_url) {
1036
- action.androidURL = multi.android_url;
1033
+ action.android_url = multi.android_url;
1037
1034
  }
1038
1035
  return { type: "open_url", action };
1039
1036
  }
@@ -1345,7 +1342,7 @@ function isRawCardEnvelope(value) {
1345
1342
  const v = value;
1346
1343
  return typeof v.json_card === "string" && typeof v.card_schema === "number";
1347
1344
  }
1348
- function rawCardToDsl(envelope) {
1345
+ function rawCardToDsl(envelope, options) {
1349
1346
  if (!isRawCardEnvelope(envelope)) return envelope;
1350
1347
  const env = envelope;
1351
1348
  let inner;
@@ -1356,7 +1353,8 @@ function rawCardToDsl(envelope) {
1356
1353
  }
1357
1354
  const ctx = makeCtx({
1358
1355
  images: env.json_attachment?.images ?? {},
1359
- atUsers: env.json_attachment?.at_users ?? {}
1356
+ atUsers: env.json_attachment?.at_users ?? {},
1357
+ onWarn: options?.onWarn
1360
1358
  });
1361
1359
  return convertRoot(inner, ctx);
1362
1360
  }
@@ -1364,7 +1362,8 @@ function makeCtx(partial) {
1364
1362
  return {
1365
1363
  images: partial?.images ?? {},
1366
1364
  atUsers: partial?.atUsers ?? {},
1367
- colors: createColorRegistry()
1365
+ colors: createColorRegistry(),
1366
+ onWarn: partial?.onWarn
1368
1367
  };
1369
1368
  }
1370
1369
  var RAW_ONLY_FIELDS = /* @__PURE__ */ new Set([
@@ -1788,6 +1787,67 @@ function openUrlFieldsToMultiUrl(fields) {
1788
1787
  if (fields.android_url) multi.android_url = fields.android_url;
1789
1788
  return multi;
1790
1789
  }
1790
+ var RAW_CALLBACK_TYPES = /* @__PURE__ */ new Set(["callback", "action_request"]);
1791
+ function callbackValueFromRaw(inner, ownerTag, warn) {
1792
+ const v = inner.value;
1793
+ if (isRecord3(v)) return v;
1794
+ if (typeof v === "string" && v.length > 0) return v;
1795
+ const hadObjectValue = inner.isValueObjectType === true;
1796
+ const hasActionId = typeof inner.actionID === "string" && inner.actionID.length > 0;
1797
+ if (hadObjectValue) {
1798
+ warn?.({
1799
+ code: "callback_payload_cleared",
1800
+ ownerTag,
1801
+ message: `\u670D\u52A1\u7AEF\u628A\u56DE\u8C03\u5BF9\u8C61\u8F7D\u8377\u6362\u6210\u4E86 actionID \u5F15\u7528${hasActionId ? ` (${String(inner.actionID)})` : ""}\uFF0C\u6295\u5F71\u51FA\u7684 behaviors.value \u662F\u7A7A\u5BF9\u8C61\uFF0C\u70B9\u51FB\u56DE\u8C03\u62FF\u4E0D\u5230\u539F\u59CB\u53C2\u6570\u3002\u4FDD\u4F4F\u53C2\u6570\u9700\u53D1\u9001\u4FA7\u7559\u5B58\u539F\u59CB DSL\u3002`
1802
+ });
1803
+ return {};
1804
+ }
1805
+ if (hasActionId) {
1806
+ warn?.({
1807
+ code: "callback_payload_cleared",
1808
+ ownerTag,
1809
+ message: `\u670D\u52A1\u7AEF\u628A\u56DE\u8C03\u8F7D\u8377\u6362\u6210\u4E86 actionID \u5F15\u7528 (${String(inner.actionID)})\uFF0C\u539F\u503C\u5DF2\u4E0D\u53EF\u89C1\uFF1B\u6295\u5F71\u51FA\u7684 behaviors.value \u4FDD\u7559\u7A7A\u5B57\u7B26\u4E32\uFF0C\u70B9\u51FB\u56DE\u8C03\u62FF\u4E0D\u5230\u539F\u59CB\u53C2\u6570\u3002`
1810
+ });
1811
+ return "";
1812
+ }
1813
+ if (v === void 0) {
1814
+ warn?.({
1815
+ code: "callback_payload_cleared",
1816
+ ownerTag,
1817
+ message: "\u56DE\u8C03 action \u6CA1\u6709 value\uFF08\u670D\u52A1\u7AEF\u56DE\u8BFB\u5F62\u6001\uFF09\uFF0C\u6295\u5F71\u4E3A behaviors.value: {}\uFF1B\u70B9\u51FB\u56DE\u8C03\u62FF\u4E0D\u5230\u539F\u59CB\u53C2\u6570\uFF0C\u9700\u53D1\u9001\u4FA7\u7559\u5B58\u539F\u59CB DSL\u3002"
1818
+ });
1819
+ return {};
1820
+ }
1821
+ return "";
1822
+ }
1823
+ function actionEntryToBehavior(entry, ownerTag, ctx, onWarn = ctx.onWarn) {
1824
+ if (!isRecord3(entry)) return void 0;
1825
+ const inner = isRecord3(entry.action) ? entry.action : {};
1826
+ const type = typeof entry.type === "string" ? entry.type : void 0;
1827
+ if (type === "open_url") {
1828
+ const fields = projectOpenUrlFields(inner);
1829
+ return fields ? { type: "open_url", ...fields } : void 0;
1830
+ }
1831
+ if (type && RAW_CALLBACK_TYPES.has(type)) {
1832
+ return {
1833
+ type: "callback",
1834
+ value: callbackValueFromRaw(inner, ownerTag, onWarn ?? void 0)
1835
+ };
1836
+ }
1837
+ const kept = {};
1838
+ for (const [k, v] of Object.entries(entry)) {
1839
+ if (k === "type" || k === "action") continue;
1840
+ kept[snake(k)] = convertGeneric(v, ctx);
1841
+ }
1842
+ if (type) kept.type = type;
1843
+ if (Object.keys(inner).length > 0) kept.action = convertGeneric(inner, ctx);
1844
+ onWarn?.({
1845
+ code: "unknown_action_type",
1846
+ ownerTag,
1847
+ message: `\u672A\u8BC6\u522B\u7684 action type: ${type ?? "(\u65E0 type)"}\uFF1B\u5DF2\u6309\u539F\u6837\u4FDD\u7559\u8FDB behaviors\uFF0C\u53D1\u5F80\u98DE\u4E66\u524D\u8BF7\u6E05\u6D17\u3002`
1848
+ });
1849
+ return kept;
1850
+ }
1791
1851
  function convertProperty(property, ownerTag, ctx) {
1792
1852
  const out = {};
1793
1853
  const siblings = {
@@ -1925,19 +1985,7 @@ function convertField(rawKey, rawValue, ownerTag, ctx, siblings = {}) {
1925
1985
  }
1926
1986
  if (ownerTag === "button" && key === "action_type") return DROP;
1927
1987
  if (ownerTag === "button" && key === "actions" && Array.isArray(rawValue)) {
1928
- const behaviors = [];
1929
- for (const a of rawValue) {
1930
- if (!isRecord3(a)) continue;
1931
- const inner = isRecord3(a.action) ? a.action : {};
1932
- const t = typeof a.type === "string" ? a.type : void 0;
1933
- if (t === "callback") {
1934
- behaviors.push({ type: "callback", value: isRecord3(inner.value) ? inner.value : {} });
1935
- continue;
1936
- }
1937
- if (t !== "open_url") continue;
1938
- const fields = projectOpenUrlFields(inner);
1939
- if (fields) behaviors.push({ type: "open_url", ...fields });
1940
- }
1988
+ const behaviors = rawValue.map((a) => actionEntryToBehavior(a, ownerTag, ctx)).filter((b) => b !== void 0);
1941
1989
  if (behaviors.length === 0) return DROP;
1942
1990
  if (siblings.buttonActionType === "link" && behaviors.length === 1 && behaviors[0]?.type === "open_url") {
1943
1991
  const only = behaviors[0];
@@ -1947,29 +1995,23 @@ function convertField(rawKey, rawValue, ownerTag, ctx, siblings = {}) {
1947
1995
  return ["behaviors", behaviors];
1948
1996
  }
1949
1997
  if (ownerTag === "interactive_container" && key === "actions" && Array.isArray(rawValue)) {
1950
- const behaviors = rawValue.map((a) => {
1951
- if (!isRecord3(a)) return void 0;
1952
- const inner = isRecord3(a.action) ? a.action : {};
1953
- const t = typeof a.type === "string" ? a.type : void 0;
1954
- if (t === "open_url") {
1955
- const fields = projectOpenUrlFields(inner);
1956
- return fields ? { type: "open_url", ...fields } : void 0;
1957
- }
1958
- if (t === "callback") {
1959
- return { type: "callback", value: inner.value ?? {} };
1960
- }
1961
- return void 0;
1962
- }).filter((b) => b !== void 0);
1998
+ const behaviors = rawValue.map((a) => actionEntryToBehavior(a, ownerTag, ctx)).filter((b) => b !== void 0);
1963
1999
  if (behaviors.length === 0) return DROP;
1964
2000
  return ["behaviors", behaviors];
1965
2001
  }
1966
2002
  if ((ownerTag === "column_set" || ownerTag === "column") && key === "actions" && Array.isArray(rawValue)) {
1967
- for (const a of rawValue) {
1968
- if (!isRecord3(a)) continue;
1969
- if (a.type !== "open_url") continue;
1970
- const inner = isRecord3(a.action) ? a.action : {};
1971
- const fields = projectOpenUrlFields(inner);
1972
- if (!fields) continue;
2003
+ const behaviors = rawValue.map((a) => actionEntryToBehavior(a, ownerTag, ctx, null)).filter((b) => b !== void 0);
2004
+ const openUrl = behaviors.find((b) => b.type === "open_url");
2005
+ const unrepresentable = behaviors.filter((b) => b.type !== "open_url");
2006
+ if (unrepresentable.length > 0) {
2007
+ ctx.onWarn?.({
2008
+ code: "unrepresentable_action",
2009
+ ownerTag,
2010
+ message: `${ownerTag} \u7684 actions \u542B ${unrepresentable.map((b) => String(b.type)).join(" / ")}\uFF0C\u516C\u5F00 DSL \u7684 ColumnAction \u53EA\u6709 multi_url\uFF0C\u65E0\u6CD5\u6295\u5F71\uFF1B\u8BE5 action \u4E0D\u4F1A\u51FA\u73B0\u5728 DSL \u91CC\u3002`
2011
+ });
2012
+ }
2013
+ if (openUrl) {
2014
+ const { type: _t, ...fields } = openUrl;
1973
2015
  return ["action", { multi_url: openUrlFieldsToMultiUrl(fields) }];
1974
2016
  }
1975
2017
  return DROP;
@@ -2451,11 +2493,11 @@ function pixelOf(side) {
2451
2493
  function snake(key) {
2452
2494
  return key.replace(/ID$/g, "_id").replace(/URL$/g, "_url").replace(/([A-Z]+)([A-Z][a-z])/g, "$1_$2").replace(/([a-z\d])([A-Z])/g, "$1_$2").toLowerCase();
2453
2495
  }
2454
- function rawToDsl(raw) {
2455
- if (isRawCardEnvelope(raw)) return rawCardToDsl(raw);
2496
+ function rawToDsl(raw, options) {
2497
+ if (isRawCardEnvelope(raw)) return rawCardToDsl(raw, options);
2456
2498
  if (typeof raw === "string") {
2457
2499
  try {
2458
- return rawToDsl(JSON.parse(raw));
2500
+ return rawToDsl(JSON.parse(raw), options);
2459
2501
  } catch {
2460
2502
  return raw;
2461
2503
  }
@@ -2473,19 +2515,20 @@ function rawToDsl(raw) {
2473
2515
  const attachment = isRecord3(raw.json_attachment) ? raw.json_attachment : {};
2474
2516
  const ctx = makeCtx({
2475
2517
  images: isRecord3(attachment.images) ? attachment.images : {},
2476
- atUsers: isRecord3(attachment.at_users) ? attachment.at_users : {}
2518
+ atUsers: isRecord3(attachment.at_users) ? attachment.at_users : {},
2519
+ onWarn: options?.onWarn
2477
2520
  });
2478
2521
  return convertRoot(inner, ctx);
2479
2522
  }
2480
2523
  if (isRecord3(raw.card)) {
2481
2524
  const card = raw.card;
2482
2525
  if (typeof card.json_card === "string" || isRecord3(card.json_card)) {
2483
- return rawToDsl(card);
2526
+ return rawToDsl(card, options);
2484
2527
  }
2485
- return convertRoot(card, makeCtx());
2528
+ return convertRoot(card, makeCtx({ onWarn: options?.onWarn }));
2486
2529
  }
2487
2530
  if ("body" in raw || "header" in raw || "schema" in raw) {
2488
- return convertRoot(raw, makeCtx());
2531
+ return convertRoot(raw, makeCtx({ onWarn: options?.onWarn }));
2489
2532
  }
2490
2533
  return raw;
2491
2534
  }
@@ -1 +1 @@
1
- {"version":3,"file":"md-parse.d.ts","sourceRoot":"","sources":["../src/md-parse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;wBAWwB,CAOxB,OAAO,KAAK,EAAE,WAAW,EAAa,MAAM,YAAY,CAAC;AA+BzD;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,EAAE,CA8IvD;AAgFD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,WAAW,EAAE,CAqG/E"}
1
+ {"version":3,"file":"md-parse.d.ts","sourceRoot":"","sources":["../src/md-parse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;wBAWwB,CAOxB,OAAO,KAAK,EAAE,WAAW,EAAa,MAAM,YAAY,CAAC;AA+BzD;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,EAAE,CAgJvD;AAgFD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,WAAW,EAAE,CAqG/E"}
@@ -45,14 +45,31 @@
45
45
  * downstream sees an unknown field rather than silently losing data.
46
46
  */
47
47
  export declare function isRawCardEnvelope(value: unknown): boolean;
48
- export declare function rawCardToDsl(envelope: unknown): unknown;
48
+ export declare function rawCardToDsl(envelope: unknown, options?: RawToDslOptions): unknown;
49
+ /** rawToDsl 的诊断级别。默认静默:只有传了 onWarn 才会回调。 */
50
+ export interface RawToDslWarning {
51
+ /**
52
+ * unknown_action_type: action.type 不认识(已原样保留进 behaviors)
53
+ * callback_payload_cleared: 服务端把回调载荷换成了 actionID / 清空
54
+ * unrepresentable_action: 该宿主(column_set / column)的公开 schema 没有可放 action 的字段
55
+ */
56
+ code: "unknown_action_type" | "callback_payload_cleared" | "unrepresentable_action";
57
+ /** 可读诊断,中文 */
58
+ message: string;
59
+ /** 持有 actions 的元素 tag:button / interactive_container / column_set / column */
60
+ ownerTag?: string;
61
+ }
62
+ /** 诊断通道;不传则完全不打扰调用方。 */
63
+ export interface RawToDslOptions {
64
+ onWarn?: (warning: RawToDslWarning) => void;
65
+ }
49
66
  /**
50
67
  * Flexible entry used by this monorepo:
51
68
  * - raw envelope (`json_card` + `card_schema`) → same as `rawCardToDsl`
52
69
  * - already-parsed `{ json_card: object, json_attachment? }`
53
70
  * - `{ card: ... }` / bare card (e.g. output of `dslToRaw`) → `convertRoot`
54
71
  */
55
- export declare function rawToDsl(raw: unknown): unknown;
72
+ export declare function rawToDsl(raw: unknown, options?: RawToDslOptions): unknown;
56
73
  /**
57
74
  * Optional helper: wrap a private/unknown element as
58
75
  * `{ tag: 'unknown', raw_tag, fallback }`.
@@ -1 +1 @@
1
- {"version":3,"file":"raw-to-dsl.d.ts","sourceRoot":"","sources":["../src/raw-to-dsl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAwBH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAIzD;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAcvD;AA2vDD;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CA8C9C;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAGnF"}
1
+ {"version":3,"file":"raw-to-dsl.d.ts","sourceRoot":"","sources":["../src/raw-to-dsl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAwBH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAIzD;AAED,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,OAAO,EACjB,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAeT;AAED,4CAA4C;AAC5C,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,IAAI,EAAE,qBAAqB,GAAG,0BAA0B,GAAG,wBAAwB,CAAC;IACpF,cAAc;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAwB;AACxB,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,IAAI,CAAC;CAC7C;AA+2DD;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CA+CzE;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAGnF"}
package/dist/types.d.ts CHANGED
@@ -140,7 +140,7 @@ export interface ElementProperty {
140
140
  showAvatar?: boolean;
141
141
  /** 展示姓名(person_v1 默认 true;person_list 按真值) */
142
142
  showName?: boolean;
143
- /** 胶囊样式(DSL style:"capsule" 会转成此字段) */
143
+ /** 编辑器私有胶囊标记(已废弃:胶囊外形现由 style 字符串枚举 Normal/Capsule 直接驱动;保留仅作 raw→DSL 兼容丢弃) */
144
144
  pillShaped?: boolean;
145
145
  multiURL?: LinkURL;
146
146
  color?: NamedColor | string;
@@ -159,7 +159,7 @@ export interface ElementProperty {
159
159
  emoji_type?: string;
160
160
  /** 图标名,形如 "warning_outlined",拼成 class="ud-icon_<token>" */
161
161
  token?: string;
162
- style?: {
162
+ style?: string | {
163
163
  color?: string;
164
164
  size?: string;
165
165
  [key: string]: unknown;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@open-feishu-card/adapter",
3
- "version": "0.3.17",
3
+ "version": "0.3.19",
4
4
  "description": "公开 DSL 与飞书内部 RAW JSON 的双向适配器;raw→DSL 对齐 feishu-raw-card-to-dsl",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
@@ -22,7 +22,7 @@
22
22
  "tsx": "^4.19.3",
23
23
  "typescript": "^7.0.2",
24
24
  "vitest": "^2.1.9",
25
- "@open-feishu-card/schema": "0.1.6"
25
+ "@open-feishu-card/schema": "0.1.9"
26
26
  },
27
27
  "license": "MIT",
28
28
  "publishConfig": {