dsh-connect 0.7.2 → 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.
Files changed (114) hide show
  1. package/README.md +68 -32
  2. package/README.zh.md +67 -31
  3. package/client/client.js +387 -0
  4. package/client/client.js.map +7 -0
  5. package/client/settings-client.mjs +177 -0
  6. package/examples/minimal.config.json +16 -0
  7. package/lib/channels/dingtalk/adapter.d.ts +59 -0
  8. package/lib/channels/dingtalk/adapter.d.ts.map +1 -0
  9. package/lib/channels/dingtalk/adapter.js +123 -0
  10. package/lib/channels/dingtalk/adapter.js.map +1 -0
  11. package/lib/channels/dingtalk/i18n.d.ts +14 -0
  12. package/lib/channels/dingtalk/i18n.d.ts.map +1 -0
  13. package/lib/channels/dingtalk/i18n.js +16 -0
  14. package/lib/channels/dingtalk/i18n.js.map +1 -0
  15. package/lib/channels/dingtalk/index.d.ts +127 -0
  16. package/lib/channels/dingtalk/index.d.ts.map +1 -0
  17. package/lib/channels/dingtalk/index.js +144 -0
  18. package/lib/channels/dingtalk/index.js.map +1 -0
  19. package/lib/channels/dingtalk/message.d.ts +49 -0
  20. package/lib/channels/dingtalk/message.d.ts.map +1 -0
  21. package/lib/channels/dingtalk/message.js +43 -0
  22. package/lib/channels/dingtalk/message.js.map +1 -0
  23. package/lib/channels/dingtalk/stomp.d.ts +36 -0
  24. package/lib/channels/dingtalk/stomp.d.ts.map +1 -0
  25. package/lib/channels/dingtalk/stomp.js +107 -0
  26. package/lib/channels/dingtalk/stomp.js.map +1 -0
  27. package/lib/channels/dingtalk/stream.d.ts +53 -0
  28. package/lib/channels/dingtalk/stream.d.ts.map +1 -0
  29. package/lib/channels/dingtalk/stream.js +199 -0
  30. package/lib/channels/dingtalk/stream.js.map +1 -0
  31. package/lib/channels/dingtalk/webhook.d.ts +84 -0
  32. package/lib/channels/dingtalk/webhook.d.ts.map +1 -0
  33. package/lib/channels/dingtalk/webhook.js +143 -0
  34. package/lib/channels/dingtalk/webhook.js.map +1 -0
  35. package/lib/channels/feishu/adapter.d.ts +139 -0
  36. package/lib/channels/feishu/adapter.d.ts.map +1 -0
  37. package/lib/channels/feishu/adapter.js +677 -0
  38. package/lib/channels/feishu/adapter.js.map +1 -0
  39. package/lib/channels/feishu/i18n.d.ts +28 -0
  40. package/lib/channels/feishu/i18n.d.ts.map +1 -0
  41. package/lib/channels/feishu/i18n.js +40 -0
  42. package/lib/channels/feishu/i18n.js.map +1 -0
  43. package/lib/channels/feishu/index.d.ts +61 -0
  44. package/lib/channels/feishu/index.d.ts.map +1 -0
  45. package/lib/channels/feishu/index.js +77 -0
  46. package/lib/channels/feishu/index.js.map +1 -0
  47. package/lib/channels/feishu/onboard.d.ts +16 -0
  48. package/lib/channels/feishu/onboard.d.ts.map +1 -0
  49. package/lib/channels/feishu/onboard.js +86 -0
  50. package/lib/channels/feishu/onboard.js.map +1 -0
  51. package/lib/channels/telegram/adapter.d.ts +70 -0
  52. package/lib/channels/telegram/adapter.d.ts.map +1 -0
  53. package/lib/channels/telegram/adapter.js +454 -0
  54. package/lib/channels/telegram/adapter.js.map +1 -0
  55. package/lib/channels/telegram/client.d.ts +115 -0
  56. package/lib/channels/telegram/client.d.ts.map +1 -0
  57. package/lib/channels/telegram/client.js +198 -0
  58. package/lib/channels/telegram/client.js.map +1 -0
  59. package/lib/channels/telegram/i18n.d.ts +14 -0
  60. package/lib/channels/telegram/i18n.d.ts.map +1 -0
  61. package/lib/channels/telegram/i18n.js +18 -0
  62. package/lib/channels/telegram/i18n.js.map +1 -0
  63. package/lib/channels/telegram/index.d.ts +46 -0
  64. package/lib/channels/telegram/index.d.ts.map +1 -0
  65. package/lib/channels/telegram/index.js +54 -0
  66. package/lib/channels/telegram/index.js.map +1 -0
  67. package/lib/channels/web/adapter.d.ts +103 -0
  68. package/lib/channels/web/adapter.d.ts.map +1 -0
  69. package/lib/channels/web/adapter.js +161 -0
  70. package/lib/channels/web/adapter.js.map +1 -0
  71. package/lib/channels/web/index.d.ts +47 -0
  72. package/lib/channels/web/index.d.ts.map +1 -0
  73. package/lib/channels/web/index.js +59 -0
  74. package/lib/channels/web/index.js.map +1 -0
  75. package/lib/index.d.ts +68 -11
  76. package/lib/index.d.ts.map +1 -1
  77. package/lib/index.js +141 -8
  78. package/lib/index.js.map +1 -1
  79. package/lib/runner.d.ts +1 -2
  80. package/lib/runner.d.ts.map +1 -1
  81. package/lib/runner.js.map +1 -1
  82. package/lib/service.d.ts +1 -1
  83. package/lib/service.d.ts.map +1 -1
  84. package/lib/service.js +1 -1
  85. package/lib/service.js.map +1 -1
  86. package/lib/settings/channels.d.ts +51 -0
  87. package/lib/settings/channels.d.ts.map +1 -0
  88. package/lib/settings/channels.js +101 -0
  89. package/lib/settings/channels.js.map +1 -0
  90. package/lib/settings/credential-store.d.ts +39 -0
  91. package/lib/settings/credential-store.d.ts.map +1 -0
  92. package/lib/settings/credential-store.js +68 -0
  93. package/lib/settings/credential-store.js.map +1 -0
  94. package/lib/settings/index.d.ts +14 -0
  95. package/lib/settings/index.d.ts.map +1 -0
  96. package/lib/settings/index.js +14 -0
  97. package/lib/settings/index.js.map +1 -0
  98. package/lib/settings/rpc-client.d.ts +36 -0
  99. package/lib/settings/rpc-client.d.ts.map +1 -0
  100. package/lib/settings/rpc-client.js +45 -0
  101. package/lib/settings/rpc-client.js.map +1 -0
  102. package/lib/settings/settings-model.d.ts +107 -0
  103. package/lib/settings/settings-model.d.ts.map +1 -0
  104. package/lib/settings/settings-model.js +110 -0
  105. package/lib/settings/settings-model.js.map +1 -0
  106. package/lib/settings/settings-rpc.d.ts +62 -0
  107. package/lib/settings/settings-rpc.d.ts.map +1 -0
  108. package/lib/settings/settings-rpc.js +90 -0
  109. package/lib/settings/settings-rpc.js.map +1 -0
  110. package/lib/settings/settings-service.d.ts +27 -0
  111. package/lib/settings/settings-service.d.ts.map +1 -0
  112. package/lib/settings/settings-service.js +103 -0
  113. package/lib/settings/settings-service.js.map +1 -0
  114. package/package.json +48 -6
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/channels/feishu/adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Feishu-adapter user-facing strings. The `language` config picks `zh` or
3
+ * `en`; the Feishu adapter itself only produces a handful of messages (image
4
+ * download errors, menu expiry, completion cards), so a small table suffices.
5
+ * @module dsh-connect/channels/feishu/i18n
6
+ */
7
+ import type { Language } from "../../i18n.js";
8
+ export interface FeishuMessages {
9
+ tempDirFailed(error: string): string;
10
+ imageDownloadLog(fileKey: string, detail: string): string;
11
+ fileDownloadLog(fileKey: string, detail: string): string;
12
+ errorDetail(detail: string): string;
13
+ imageDownloadError(failed: number, detail: string): string;
14
+ fileDownloadError(failed: number, detail: string): string;
15
+ menuExpired: string;
16
+ menuExpiredHint: string;
17
+ /** Shown when the user taps a button on a card whose interaction is no longer pending. */
18
+ actionStale: string;
19
+ doneHeader: string;
20
+ onboardingEnter: string;
21
+ onboardingIncomplete: string;
22
+ onboardingSuccess(appId: string): string;
23
+ onboardingFailed(code: string): string;
24
+ onboardingLink(url: string): string;
25
+ onboardingLinkExpiry(minutes: number): string;
26
+ }
27
+ export declare function feishuMessages(lang: Language): FeishuMessages;
28
+ //# sourceMappingURL=i18n.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../../src/channels/feishu/i18n.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,MAAM,WAAW,cAAc;IAC7B,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACrC,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1D,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACzD,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACpC,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3D,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1D,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,0FAA0F;IAC1F,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACzC,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACvC,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;IACpC,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;CAC/C;AA4CD,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,GAAG,cAAc,CAE7D"}
@@ -0,0 +1,40 @@
1
+ const zh = {
2
+ tempDirFailed: (error) => `无法创建临时目录:${error}`,
3
+ imageDownloadLog: (fileKey, detail) => `connect-feishu: 图片下载失败 (${fileKey}): ${detail}`,
4
+ fileDownloadLog: (fileKey, detail) => `connect-feishu: 文件下载失败 (${fileKey}): ${detail}`,
5
+ errorDetail: (detail) => `(错误详情:${detail})`,
6
+ imageDownloadError: (failed, detail) => `有 ${failed} 张图片下载失败,请按上面的错误详情确认飞书应用权限(下载用户消息图片需要 im:message 系列权限)并重新发版${detail}`,
7
+ fileDownloadError: (failed, detail) => `有 ${failed} 个文件下载失败,请按上面的错误详情确认飞书应用权限(下载用户消息文件需要 im:message 系列权限)并重新发版${detail}`,
8
+ menuExpired: "菜单已过期",
9
+ menuExpiredHint: "请重新打开菜单。",
10
+ actionStale: "⚠️ 此操作已失效(可能已被处理或已过期)。",
11
+ doneHeader: "✅ 完成",
12
+ onboardingEnter: "connect-feishu: 未配置 appId/appSecret,进入一键接入模式(扫码或点击链接自动创建飞书应用)。",
13
+ onboardingIncomplete: "connect-feishu: 一键接入未完成,可重启重试,或手动配置 appId/appSecret。",
14
+ onboardingSuccess: (appId) => `connect-feishu: 一键接入成功(${appId}),正在连接…`,
15
+ onboardingFailed: (code) => `[connect-feishu] 一键接入失败:${code}`,
16
+ onboardingLink: (url) => `[connect-feishu] 未配置飞书凭据,进入一键接入。请用飞书扫码或点击链接完成:${url}`,
17
+ onboardingLinkExpiry: (minutes) => `[connect-feishu] 链接约 ${minutes} 分钟内有效,仅限一人使用。`,
18
+ };
19
+ const en = {
20
+ tempDirFailed: (error) => `Cannot create temp directory: ${error}`,
21
+ imageDownloadLog: (fileKey, detail) => `connect-feishu: image download failed (${fileKey}): ${detail}`,
22
+ fileDownloadLog: (fileKey, detail) => `connect-feishu: file download failed (${fileKey}): ${detail}`,
23
+ errorDetail: (detail) => ` (error detail: ${detail})`,
24
+ imageDownloadError: (failed, detail) => `Failed to download ${failed} image(s). Check the Feishu app permissions per the error detail above (downloading user-message images requires the im:message family) and release a new version${detail}`,
25
+ fileDownloadError: (failed, detail) => `Failed to download ${failed} file(s). Check the Feishu app permissions per the error detail above (downloading user-message files requires the im:message family) and release a new version${detail}`,
26
+ menuExpired: "Menu expired",
27
+ menuExpiredHint: "Please reopen the menu.",
28
+ actionStale: "⚠️ This action is no longer active (already handled or expired).",
29
+ doneHeader: "✅ Done",
30
+ onboardingEnter: "connect-feishu: no appId/appSecret configured — entering one-click onboarding (scan or open the link to auto-create the Feishu app).",
31
+ onboardingIncomplete: "connect-feishu: onboarding not completed — restart to retry, or configure appId/appSecret manually.",
32
+ onboardingSuccess: (appId) => `connect-feishu: onboarding succeeded (${appId}), connecting…`,
33
+ onboardingFailed: (code) => `[connect-feishu] onboarding failed: ${code}`,
34
+ onboardingLink: (url) => `[connect-feishu] no Feishu credentials configured — entering one-click onboarding. Scan with Feishu or open the link to complete: ${url}`,
35
+ onboardingLinkExpiry: (minutes) => `[connect-feishu] the link is valid for about ${minutes} minutes and usable by one person.`,
36
+ };
37
+ export function feishuMessages(lang) {
38
+ return lang === "en" ? en : zh;
39
+ }
40
+ //# sourceMappingURL=i18n.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../../src/channels/feishu/i18n.ts"],"names":[],"mappings":"AA4BA,MAAM,EAAE,GAAmB;IACzB,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,KAAK,EAAE;IAC7C,gBAAgB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,2BAA2B,OAAO,MAAM,MAAM,EAAE;IACvF,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,2BAA2B,OAAO,MAAM,MAAM,EAAE;IACtF,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS,MAAM,GAAG;IAC3C,kBAAkB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CACrC,KAAK,MAAM,8DAA8D,MAAM,EAAE;IACnF,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CACpC,KAAK,MAAM,8DAA8D,MAAM,EAAE;IACnF,WAAW,EAAE,OAAO;IACpB,eAAe,EAAE,UAAU;IAC3B,WAAW,EAAE,wBAAwB;IACrC,UAAU,EAAE,MAAM;IAClB,eAAe,EAAE,gEAAgE;IACjF,oBAAoB,EAAE,sDAAsD;IAC5E,iBAAiB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,0BAA0B,KAAK,SAAS;IACtE,gBAAgB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,2BAA2B,IAAI,EAAE;IAC7D,cAAc,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,iDAAiD,GAAG,EAAE;IAC/E,oBAAoB,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,wBAAwB,OAAO,gBAAgB;CACnF,CAAC;AAEF,MAAM,EAAE,GAAmB;IACzB,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,iCAAiC,KAAK,EAAE;IAClE,gBAAgB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,0CAA0C,OAAO,MAAM,MAAM,EAAE;IACtG,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,yCAAyC,OAAO,MAAM,MAAM,EAAE;IACpG,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,mBAAmB,MAAM,GAAG;IACrD,kBAAkB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CACrC,sBAAsB,MAAM,oKAAoK,MAAM,EAAE;IAC1M,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CACpC,sBAAsB,MAAM,kKAAkK,MAAM,EAAE;IACxM,WAAW,EAAE,cAAc;IAC3B,eAAe,EAAE,yBAAyB;IAC1C,WAAW,EAAE,kEAAkE;IAC/E,UAAU,EAAE,QAAQ;IACpB,eAAe,EAAE,sIAAsI;IACvJ,oBAAoB,EAAE,qGAAqG;IAC3H,iBAAiB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,yCAAyC,KAAK,gBAAgB;IAC5F,gBAAgB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,uCAAuC,IAAI,EAAE;IACzE,cAAc,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,qIAAqI,GAAG,EAAE;IACnK,oBAAoB,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,gDAAgD,OAAO,oCAAoC;CAC/H,CAAC;AAEF,MAAM,UAAU,cAAc,CAAC,IAAc;IAC3C,OAAO,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACjC,CAAC"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Feishu/Lark channel adapter: long-connection (WebSocket) event intake via the
3
+ * official SDK's high-level `createLarkChannel`, normalized message routing into
4
+ * `dsh-connect`, and streaming replies back to Feishu.
5
+ * @module dsh-connect/feishu
6
+ */
7
+ import type { Context } from "@deepseek-ai/cordis";
8
+ import z from "@deepseek-ai/schemastery";
9
+ import { type FeishuConfig } from "./adapter.js";
10
+ export { FeishuAdapter } from "./adapter.js";
11
+ export type { FeishuConfig } from "./adapter.js";
12
+ export { padLabels, buildButtonGrid, buildSelectMenu, buildChoiceElements, sanitizeFileName, extractErrorDetail, encodeChatKey, decodeChatKey, classifyFeishuFile } from "./adapter.js";
13
+ export { loadCredentials, onboardFeishu, saveCredentials } from "./onboard.js";
14
+ export type { FeishuCredentials } from "./onboard.js";
15
+ /** Plugin config; secrets may come from config, the FEISHU_* environment, or one-click onboarding. */
16
+ export declare const Config: z<Schemastery.ObjectS<{
17
+ appId: z<string, string>;
18
+ appSecret: z<string, string>;
19
+ transport: z<"websocket" | "webhook", "websocket" | "webhook">;
20
+ verificationToken: z<string, string>;
21
+ encryptKey: z<string, string>;
22
+ webhookPort: z<number, number>;
23
+ webhookPath: z<string, string>;
24
+ requireMention: z<boolean, boolean>;
25
+ dmMode: z<"disabled" | "open" | "allowlist" | "pair", "disabled" | "open" | "allowlist" | "pair">;
26
+ threadIsolation: z<boolean, boolean>;
27
+ language: z<"zh" | "en", "zh" | "en">;
28
+ }>, Schemastery.ObjectT<{
29
+ appId: z<string, string>;
30
+ appSecret: z<string, string>;
31
+ transport: z<"websocket" | "webhook", "websocket" | "webhook">;
32
+ verificationToken: z<string, string>;
33
+ encryptKey: z<string, string>;
34
+ webhookPort: z<number, number>;
35
+ webhookPath: z<string, string>;
36
+ requireMention: z<boolean, boolean>;
37
+ dmMode: z<"disabled" | "open" | "allowlist" | "pair", "disabled" | "open" | "allowlist" | "pair">;
38
+ threadIsolation: z<boolean, boolean>;
39
+ language: z<"zh" | "en", "zh" | "en">;
40
+ }>>;
41
+ interface ConnectLike {
42
+ registerAdapter(adapter: unknown): void;
43
+ /** Allowlist gate usable by adapters before they download message resources. */
44
+ isChatAllowed?(channel: string, chatKey: string, senderKey: string): boolean;
45
+ }
46
+ /**
47
+ * Register and start the Feishu adapter. `connect` is the already-constructed
48
+ * `ConnectService` instance (passed from the merged entry, not resolved via
49
+ * `ctx.get` — that returns undefined during the same plugin's `apply`). When no
50
+ * credentials are configured, the plugin enters one-click onboarding (scan a QR /
51
+ * open a link) and connects with the credentials the flow returns.
52
+ */
53
+ export declare function register(connect: ConnectLike, config: (FeishuConfig | null) | undefined, ctx: Context): void;
54
+ /**
55
+ * Compatibility shell for the old split-plugin registration path (when `connect`
56
+ * is an already-active, separate plugin). The merged entry calls `register`
57
+ * directly instead, because `ctx.get("connect")` returns undefined inside this
58
+ * plugin's own `apply`.
59
+ */
60
+ export declare function apply(ctx: Context, config?: FeishuConfig | null): void;
61
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/channels/feishu/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,CAAC,MAAM,0BAA0B,CAAC;AACzC,OAAO,EAAiB,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAIhE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,eAAe,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,aAAa,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACxL,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/E,YAAY,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEtD,sGAAsG;AACtG,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;GAYjB,CAAC;AAEH,UAAU,WAAW;IACnB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxC,gFAAgF;IAChF,aAAa,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;CAC9E;AAgBD;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,GAAE,YAAY,GAAG,IAAI,aAAK,EAAE,GAAG,EAAE,OAAO,GAAG,IAAI,CAuBnG;AAED;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,GAAE,YAAY,GAAG,IAAS,GAAG,IAAI,CAM1E"}
@@ -0,0 +1,77 @@
1
+ import z from "@deepseek-ai/schemastery";
2
+ import { FeishuAdapter } from "./adapter.js";
3
+ import { loadCredentials, onboardFeishu, saveCredentials } from "./onboard.js";
4
+ import { feishuMessages } from "./i18n.js";
5
+ export { FeishuAdapter } from "./adapter.js";
6
+ export { padLabels, buildButtonGrid, buildSelectMenu, buildChoiceElements, sanitizeFileName, extractErrorDetail, encodeChatKey, decodeChatKey, classifyFeishuFile } from "./adapter.js";
7
+ export { loadCredentials, onboardFeishu, saveCredentials } from "./onboard.js";
8
+ /** Plugin config; secrets may come from config, the FEISHU_* environment, or one-click onboarding. */
9
+ export const Config = z.object({
10
+ appId: z.string().role("secret"),
11
+ appSecret: z.string().role("secret"),
12
+ transport: z.union([z.const("websocket"), z.const("webhook")]),
13
+ verificationToken: z.string().role("secret"),
14
+ encryptKey: z.string().role("secret"),
15
+ webhookPort: z.number().min(1).max(65535),
16
+ webhookPath: z.string(),
17
+ requireMention: z.boolean(),
18
+ dmMode: z.union([z.const("open"), z.const("allowlist"), z.const("pair"), z.const("disabled")]),
19
+ threadIsolation: z.boolean(),
20
+ language: z.union([z.const("zh"), z.const("en")]),
21
+ });
22
+ function start(connect, config, logger) {
23
+ try {
24
+ // Bind the service method: FeishuAdapter invokes it as `this.isChatAllowed(...)`,
25
+ // so a bare reference would lose the ConnectService `this` (and crash on this.config).
26
+ const adapter = new FeishuAdapter(config, logger, connect.isChatAllowed?.bind(connect));
27
+ connect.registerAdapter(adapter);
28
+ void adapter.start().catch((error) => {
29
+ logger?.warn?.(`connect-feishu: start failed: ${String(error)}`);
30
+ });
31
+ }
32
+ catch (error) {
33
+ logger?.warn?.(`connect-feishu: adapter init failed: ${String(error)}`);
34
+ }
35
+ }
36
+ /**
37
+ * Register and start the Feishu adapter. `connect` is the already-constructed
38
+ * `ConnectService` instance (passed from the merged entry, not resolved via
39
+ * `ctx.get` — that returns undefined during the same plugin's `apply`). When no
40
+ * credentials are configured, the plugin enters one-click onboarding (scan a QR /
41
+ * open a link) and connects with the credentials the flow returns.
42
+ */
43
+ export function register(connect, config = {}, ctx) {
44
+ // The DSH loader passes `null` for entries without an explicit config.
45
+ config = config ?? {};
46
+ const stored = loadCredentials();
47
+ const appId = config.appId ?? process.env.FEISHU_APP_ID ?? stored?.appId;
48
+ const appSecret = config.appSecret ?? process.env.FEISHU_APP_SECRET ?? stored?.appSecret;
49
+ if (appId !== undefined && appSecret !== undefined) {
50
+ start(connect, { ...config, appId, appSecret }, ctx.logger);
51
+ return;
52
+ }
53
+ ctx.logger?.warn?.(feishuMessages(config.language ?? "zh").onboardingEnter);
54
+ void onboardFeishu(ctx.logger, config.language ?? "zh").then((credentials) => {
55
+ if (credentials === null) {
56
+ ctx.logger?.warn?.(feishuMessages(config.language ?? "zh").onboardingIncomplete);
57
+ return;
58
+ }
59
+ saveCredentials(credentials);
60
+ ctx.logger?.warn?.(feishuMessages(config.language ?? "zh").onboardingSuccess(credentials.appId));
61
+ start(connect, { ...config, appId: credentials.appId, appSecret: credentials.appSecret }, ctx.logger);
62
+ });
63
+ }
64
+ /**
65
+ * Compatibility shell for the old split-plugin registration path (when `connect`
66
+ * is an already-active, separate plugin). The merged entry calls `register`
67
+ * directly instead, because `ctx.get("connect")` returns undefined inside this
68
+ * plugin's own `apply`.
69
+ */
70
+ export function apply(ctx, config = {}) {
71
+ const connect = ctx.get("connect");
72
+ if (connect === undefined) {
73
+ throw new Error("connect-feishu: the dsh-connect service is not present; load it before this adapter");
74
+ }
75
+ register(connect, config, ctx);
76
+ }
77
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/channels/feishu/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { Language } from "../../i18n.js";
2
+ export interface FeishuCredentials {
3
+ appId: string;
4
+ appSecret: string;
5
+ }
6
+ export declare function loadCredentials(): FeishuCredentials | null;
7
+ export declare function saveCredentials(credentials: FeishuCredentials): void;
8
+ /**
9
+ * Run the one-click onboarding flow. Resolves with the created app credentials,
10
+ * or `null` when the user aborts / the flow fails. The returned link (also
11
+ * printable) is valid for ~10 minutes and usable by exactly one person.
12
+ */
13
+ export declare function onboardFeishu(logger?: {
14
+ warn?: (...args: unknown[]) => void;
15
+ }, language?: Language): Promise<FeishuCredentials | null>;
16
+ //# sourceMappingURL=onboard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onboard.d.ts","sourceRoot":"","sources":["../../../src/channels/feishu/onboard.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAG9C,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAOD,wBAAgB,eAAe,IAAI,iBAAiB,GAAG,IAAI,CAU1D;AAED,wBAAgB,eAAe,CAAC,WAAW,EAAE,iBAAiB,GAAG,IAAI,CAepE;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CACjC,MAAM,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;CAAE,EAChD,QAAQ,GAAE,QAAe,GACxB,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAgCnC"}
@@ -0,0 +1,86 @@
1
+ /**
2
+ * One-click Feishu onboarding: when no credentials are configured, use the
3
+ * official `registerApp` (OAuth 2.0 Device Authorization Grant) to let the
4
+ * user scan a QR / open a link, create the bot app with the right
5
+ * permissions/events, and receive the App ID + Secret back — no manual
6
+ * developer-console work. Credentials are persisted for later startups.
7
+ * @module dsh-connect/channels/feishu/onboard
8
+ */
9
+ import { chmodSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
10
+ import { dirname, join } from "node:path";
11
+ import { registerApp } from "@larksuiteoapi/node-sdk";
12
+ import { feishuMessages } from "./i18n.js";
13
+ function credentialFile() {
14
+ const home = process.env.DSH_HOME ?? join(process.env.USERPROFILE ?? process.cwd(), ".dsh");
15
+ return join(home, ".dsh-connect", "feishu-credentials.json");
16
+ }
17
+ export function loadCredentials() {
18
+ try {
19
+ const parsed = JSON.parse(readFileSync(credentialFile(), "utf8"));
20
+ if (typeof parsed.appId === "string" && parsed.appId !== "" && typeof parsed.appSecret === "string" && parsed.appSecret !== "") {
21
+ return { appId: parsed.appId, appSecret: parsed.appSecret };
22
+ }
23
+ }
24
+ catch {
25
+ // Not present yet.
26
+ }
27
+ return null;
28
+ }
29
+ export function saveCredentials(credentials) {
30
+ try {
31
+ const file = credentialFile();
32
+ mkdirSync(dirname(file), { recursive: true });
33
+ writeFileSync(file, JSON.stringify(credentials, null, 2), "utf8");
34
+ // Secrets on disk must not be world-readable: owner-only rw on POSIX
35
+ // (a no-op on Windows, where ACLs apply instead).
36
+ try {
37
+ chmodSync(file, 0o600);
38
+ }
39
+ catch {
40
+ // Platform without chmod support — best effort.
41
+ }
42
+ }
43
+ catch {
44
+ // Best-effort persistence; the running instance still works in memory.
45
+ }
46
+ }
47
+ /**
48
+ * Run the one-click onboarding flow. Resolves with the created app credentials,
49
+ * or `null` when the user aborts / the flow fails. The returned link (also
50
+ * printable) is valid for ~10 minutes and usable by exactly one person.
51
+ */
52
+ export async function onboardFeishu(logger, language = "zh") {
53
+ const t = feishuMessages(language);
54
+ try {
55
+ const result = await registerApp({
56
+ appPreset: {
57
+ name: "DSH 助手",
58
+ desc: "DeepSeek Harness 接入助手",
59
+ },
60
+ addons: {
61
+ scopes: {
62
+ tenant: [
63
+ "im:message",
64
+ "im:message:send_as_bot",
65
+ "im:message.p2p_msg:readonly",
66
+ "im:message.group_at_msg:readonly",
67
+ "im:message.history:readonly",
68
+ ],
69
+ },
70
+ events: { items: { tenant: ["im.message.receive_v1"] } },
71
+ callbacks: { items: ["card.action.trigger"] },
72
+ },
73
+ onQRCodeReady(info) {
74
+ logger?.warn?.(t.onboardingLink(info.url));
75
+ logger?.warn?.(t.onboardingLinkExpiry(Math.floor(info.expireIn / 60)));
76
+ },
77
+ });
78
+ return { appId: result.client_id, appSecret: result.client_secret };
79
+ }
80
+ catch (error) {
81
+ const code = error?.code ?? (error instanceof Error ? error.message : String(error));
82
+ logger?.warn?.(t.onboardingFailed(code));
83
+ return null;
84
+ }
85
+ }
86
+ //# sourceMappingURL=onboard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onboard.js","sourceRoot":"","sources":["../../../src/channels/feishu/onboard.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * Telegram channel adapter: Bot API long-polling intake, message
3
+ * normalization into `dsh-connect`'s `InboundMessage`, and replies via
4
+ * sendMessage / editMessageText with HTML parse mode. Interactive choice
5
+ * prompts render as inline-keyboard buttons handled through callback queries.
6
+ *
7
+ * @module dsh-connect/channels/telegram/adapter
8
+ */
9
+ import type { ChannelAdapter, ChoiceOption, ChoicePrompt, ChoiceResult, InboundMessage, OutboundTarget, SummaryCard } from "../../types.js";
10
+ import type { Language } from "../../i18n.js";
11
+ import { type TelegramMessage } from "./client.js";
12
+ export interface TelegramConfig {
13
+ botToken?: string;
14
+ language?: Language;
15
+ /** Group messages require the bot to be @-mentioned in the text (default true). */
16
+ requireMention?: boolean;
17
+ /** Polling timeout (seconds). */
18
+ pollingTimeoutSeconds?: number;
19
+ /** HTTP base URL override (local Bot API server). */
20
+ baseUrl?: string;
21
+ }
22
+ /** Encode chatId + messageId into the opaque message id the core passes around. */
23
+ export declare function encodeMessageRef(chatId: string, messageId: number): string;
24
+ /** Split an opaque message ref back into chatId + messageId. */
25
+ export declare function decodeMessageRef(ref: string): {
26
+ chatId: string;
27
+ messageId: number;
28
+ };
29
+ /** Escape text for Telegram HTML parse mode (only `& < >` need escaping). */
30
+ export declare function escapeHtml(text: string): string;
31
+ /** Convert plain markdown (bold/italic/inline code/code blocks/headings/links) to Telegram HTML. */
32
+ export declare function markdownToTelegramHtml(markdown: string): string;
33
+ /** Build the inline-keyboard reply_markup for a choice prompt. */
34
+ export declare function buildInlineKeyboard(options: readonly ChoiceOption[], columnsPerRow: number): unknown;
35
+ export declare class TelegramAdapter implements ChannelAdapter {
36
+ private readonly logger?;
37
+ readonly id = "telegram";
38
+ private readonly client;
39
+ private readonly t;
40
+ private readonly requireMention;
41
+ private readonly pendingChoices;
42
+ private handler?;
43
+ private pollPromise?;
44
+ private stopped;
45
+ /** The bot's own user id (from getMe) — used for precise mention/reply checks. */
46
+ private botId?;
47
+ /** The bot's username (from getMe) — used to verify @-mentions. */
48
+ private botUsername?;
49
+ constructor(config: TelegramConfig, logger?: {
50
+ warn?: (...args: unknown[]) => void;
51
+ } | undefined);
52
+ onInbound(handler: (msg: InboundMessage) => void | Promise<void>): void;
53
+ start(): Promise<void>;
54
+ stop(): Promise<void>;
55
+ private handleUpdate;
56
+ private handleCallbackQuery;
57
+ /** Normalize a Telegram message into dsh-connect's InboundMessage; returns undefined when ignored. */
58
+ private normalizeMessage;
59
+ sendText(target: OutboundTarget, text: string): Promise<void>;
60
+ sendCard(target: OutboundTarget, card: SummaryCard): Promise<void>;
61
+ sendFile(target: OutboundTarget, filePath: string, options?: {
62
+ filename?: string;
63
+ }): Promise<void>;
64
+ streamText(target: OutboundTarget, chunks: AsyncIterable<string>): Promise<void>;
65
+ promptChoice(target: OutboundTarget, prompt: ChoicePrompt, updateMessageId?: string): Promise<ChoiceResult>;
66
+ closeMenu(messageId: string, summary: string): Promise<void>;
67
+ }
68
+ /** True when the message mentions this bot: a reply to it, or an @-mention of its username. */
69
+ export declare function isBotMentioned(message: TelegramMessage, text: string, botUsername?: string, botId?: number): boolean;
70
+ //# sourceMappingURL=adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/channels/telegram/adapter.ts"],"names":[],"mappings":"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"}