@dsh-enhanced/lark-channel 0.1.17 → 0.1.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/README.md CHANGED
@@ -24,6 +24,7 @@ revision 投递一条内容无关的状态更新;两种路径的重试、fence
24
24
 
25
25
  - DeepSeek Harness:`>=0.1.0-rc.8 <0.2.0` 基线语义(通过 `assistant-delivery`)。
26
26
  - `@dsh-enhanced/assistant-delivery`:`>0.1.7 <0.2.0`;本包的 supervised setup 使用当前发布切片的私有 capability。
27
+ - `@deepseek-ai/dsh-host-apiproxy`:可选。它存在时由 Delivery 消费其 rc.8 `events.mux()`,把 active owner binding 的 `ask_user_question` 转给飞书;它仍是唯一的 `userQuestions` provider。没有 `apiProxy` 的非 Web profile 可正常启动,只是不具备这条跨渠道问题桥接。
27
28
  - `@dsh-enhanced/credentials-keychain`:handle 模式为 `>=0.1.0 <0.2.0`;env fallback 不要求其激活。
28
29
  - 普通个人助理场景同时安装 `@dsh-enhanced/preference-learning`。向导会只为完成 owner 对话产生有界偏好证据及读取 active snapshot 的两项能力;它们不依赖广义 Agent 工具开关,也不要求 Health/Heartbeat/Recovery。
29
30
  - 分级自治成长激活器要求有效 profile 同时启用 `@dsh-enhanced/personal-assistant`、`@dsh-enhanced/assistant-automations`、`@dsh-enhanced/assistant-heartbeat`、`@dsh-enhanced/assistant-evaluation`、`@dsh-enhanced/preference-learning`、`@dsh-enhanced/assistant-evolution`、`@dsh-enhanced/assistant-growth-experiments`、`@dsh-enhanced/assistant-health` 与 `@dsh-enhanced/assistant-recovery`。Policy、Memory 与 Wiki 由 personal-assistant 这一 profile row 提供。Recovery 仍是无模型 Host runbook;独立的 `supervised-growth-analyst` 每天最多一次,只能 review/propose adoption,preview 强制 paused,active 前逐项证明定义和私有 scratch,且只有审批路由、没有普通结果投递。workflow lane 使用 Delivery 私有、可撤销的 content-free trace sink,以及独立预算、owner-bound approval、prefix-bounded dynamic Automation identity 和 exact binding delivery;Lark 文本、卡片或回调本身不能制造 trace 或 learned workflow。默认不授予 learned workflow 任意工具。旧 `supervised-growth` Heartbeat 只在升级时被安全暂停。
@@ -78,11 +79,20 @@ config:
78
79
  progressDetails: direct
79
80
  statusReactions: true
80
81
  imageDownloadTimeoutMs: 30000
82
+ userQuestionTtlMs: 86400000
81
83
  ```
82
84
 
83
85
  `credentialHandle` 应由 `@dsh-enhanced/credentials-keychain` 提供,并只允许 consumer `dsh-enhanced-lark-channel`、purpose `connect`。兼容部署可改用 `appSecretEnv`,两者只能选一个;配置不接受 `appSecret` 等明文字段。
84
86
 
85
- 飞书应用至少需要机器人身份读取、单聊/群内 @ 消息接收、机器人发消息、`im.message.receive_v1`;`Get`/`DONE` 需要 `im:message.reactions:write_only`,图片需要 `im:resource`,审批和选择卡片需要 `card.action.trigger`。事件与回调使用 WebSocket 长连接,不需要公网 callback URL。
87
+ `userQuestionTtlMs` 默认 24 小时,范围为 1 分钟至 7 天;它限制当前进程内等待飞书回答的时长。过期、取消、Host 已在其他端结算或 adapter 注销都会撤销这次即时等待,不会把后到消息变成新的问题回答;短暂 WebSocket 重连不会主动丢弃仍有效的卡片。
88
+
89
+ 飞书应用至少需要机器人身份读取、单聊/群内 @ 消息接收、机器人发消息、`im.message.receive_v1`;`Get`/`DONE` 需要 `im:message.reactions:write_only`,图片需要 `im:resource`,审批、模型选择和用户问题卡片需要 `card.action.trigger`。事件与回调使用 WebSocket 长连接,不需要公网 callback URL。
90
+
91
+ ## `ask_user_question` 交互
92
+
93
+ 有 `apiProxy` 时,Delivery 把仍属于 exact active owner binding 的 pending question 送到原飞书会话。Web 与飞书都是同一 ApiProxy 请求的回答端,先被接受的回答获胜;若已由 Web 或其他飞书事件结算,旧卡只会显示终态,不会再启动一个 turn。
94
+
95
+ 飞书使用不可转发的 CardKit 2.0 卡片呈现选项。推荐项只显示“推荐”标识,不会自动选择;多选必须点击“提交已选答案”;无选项或需要输入其他答案时会明确要求回复对应问题卡片。未引用卡片的新文字始终作为普通消息处理,即使原会话只有这一条 pending question 也不会被当成答案吞掉。按钮和卡片回调使用签名 capability,且回调或自由文本都必须匹配 exact owner、account/tenant/chat、原会话路由、当前 binding version/generation 与请求 fence。群聊中的普通文字命令仍遵循 @ 机器人门槛,不想输入答案时可直接点击卡片“取消”。问题会发送到原 binding 会话而非强制转为私聊,因此在群聊中问题正文、详情和选项对群成员可见;不要把秘密、凭据或只应由私聊接收的内容放进问题。
86
96
 
87
97
  ## 常用命令
88
98
 
@@ -126,6 +136,7 @@ dsh-lark-setup --profile web --refresh-agent-policy --allow-agent-tools
126
136
 
127
137
  - `--allow-agent-tools` 是高权限显式开关:为本地 `foreground` 与精确 owner Delivery 主体建立 capability/工具可达性;不授权 `background`,也不绕过显式 deny、紧急停止、身份、预算及插件业务硬门。
128
138
  - `ask` 和 `auto` 中需要人工确认的工具调用只向 active owner 私聊发送一次性审批卡;`full` 关闭逐次审批并放开 sandbox,应保持 owner 与应用可用范围最小。
139
+ - `ask_user_question` 的卡片是另一条即时交互路径:本包有向原飞书会话发送/原位更新 CardKit 2.0 卡片、并接收 `card.action.trigger` callback 的网络权限。选项仅以签名 callback capability 提交;自由文本只接受 exact owner 对原卡的明确回复。它不把卡片点击或匹配回复写成普通 Inbox/新 turn,且问题内容会在原会话显示,群聊并不保密。
129
140
  - 行为学习审批卡会把签名覆盖的 scope、情境、guidance、版本、证据和回滚原因逐字段以纯文本展示;提案内容不会作为 Markdown 或卡片组件解释。点击后卡片只确认 Policy 决策已写入持久账本,明确不把“批准”误报成“变更已生效”。
130
141
  - 网络仅访问所选飞书/Lark OpenAPI、token 与 WebSocket endpoint;图片读取使用固定消息资源端点,不接受消息或模型提供的 URL,并关闭重定向。
131
142
  - App Secret 不写 Delivery 数据库、工具参数、health、route、日志或异常;Linux protected-file 没有额外静态加密,同 UID、root 和可读备份仍能取得内容。
package/lib/adapter.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { AdapterSendResult, AdapterInboundImageReadResult, DeliveryAdapter, DeliveryAdapterContext, DeliveryProgressIntent, DeliveryPresentation, DeliveryToolApprovalOutcome, DeliveryToolApprovalRequest, ModelPickerIntent, ModelPickerState, ModelRouteRef, ModelSelectionResult, ModelSelectionSettlementInput, ModelSelectionTerminalResult, OutboundIntent, InboundImageReadInput } from '@dsh-enhanced/assistant-delivery';
1
+ import type { AdapterSendResult, AdapterInboundImageReadResult, DeliveryAdapter, DeliveryAdapterContext, DeliveryProgressIntent, DeliveryPresentation, DeliveryToolApprovalOutcome, DeliveryToolApprovalRequest, DeliveryUserQuestionOutcome, DeliveryUserQuestionRequest, ModelPickerIntent, ModelPickerState, ModelRouteRef, ModelSelectionResult, ModelSelectionSettlementInput, ModelSelectionTerminalResult, OutboundIntent, InboundImageReadInput } from '@dsh-enhanced/assistant-delivery';
2
2
  import { type LarkChannelHealth, type LarkInboundConfig, type LarkTransport } from './types.js';
3
3
  export interface LarkApprovalSettlementInput {
4
4
  operationId: string;
@@ -22,6 +22,7 @@ export interface LarkAdapterOptions {
22
22
  showProgress?: boolean;
23
23
  progressDetails?: 'off' | 'direct';
24
24
  statusReactions?: boolean;
25
+ userQuestionTtlMs?: number;
25
26
  approvalSecret?: string;
26
27
  settleApproval?(input: LarkApprovalSettlementInput): unknown | Promise<unknown>;
27
28
  recoverApprovalSettlement?(input: LarkApprovalSettlementInput): unknown | undefined | Promise<unknown | undefined>;
@@ -96,8 +97,11 @@ export declare class LarkDeliveryAdapter implements DeliveryAdapter {
96
97
  private readonly loadModelPicker;
97
98
  private readonly advanceModelPicker;
98
99
  private readonly statusReactions;
100
+ private readonly userQuestionTtlMs;
99
101
  private readonly progressPresenter;
100
102
  private readonly pendingToolApprovals;
103
+ private readonly pendingUserQuestions;
104
+ private readonly userQuestionAnswerEvents;
101
105
  private readonly toolApprovalTombstones;
102
106
  private readonly modelSelectionUpdates;
103
107
  private state;
@@ -108,10 +112,24 @@ export declare class LarkDeliveryAdapter implements DeliveryAdapter {
108
112
  health(): LarkChannelHealth;
109
113
  progress(intent: Readonly<DeliveryProgressIntent>): Promise<void>;
110
114
  requestToolApproval(input: Readonly<DeliveryToolApprovalRequest>, signal: AbortSignal): Promise<DeliveryToolApprovalOutcome>;
115
+ requestUserQuestion(input: Readonly<DeliveryUserQuestionRequest>, signal: AbortSignal): Promise<DeliveryUserQuestionOutcome>;
111
116
  readInboundImage(input: Readonly<InboundImageReadInput>, signal: AbortSignal): Promise<AdapterInboundImageReadResult>;
112
117
  send(intent: Readonly<OutboundIntent>, signal: AbortSignal): Promise<AdapterSendResult>;
113
118
  updatePresentation(providerMessageId: string, presentation: Readonly<DeliveryPresentation>, signal: AbortSignal): Promise<void>;
114
119
  private matchesTarget;
120
+ private userQuestionCard;
121
+ private userQuestionAnswerSummary;
122
+ private userQuestionSendOptions;
123
+ private refreshUserQuestionCard;
124
+ private userQuestionResult;
125
+ private updateUserQuestionResult;
126
+ private settleUserQuestion;
127
+ private armUserQuestionExpiry;
128
+ private cancelPendingUserQuestions;
129
+ private recordUserQuestionAnswer;
130
+ private rememberUserQuestionAnswerEvent;
131
+ private clearUserQuestionAnswerEvents;
132
+ private tryAnswerUserQuestion;
115
133
  private armToolApprovalTombstone;
116
134
  private deleteToolApprovalTombstone;
117
135
  private settleToolApproval;
@@ -123,6 +141,7 @@ export declare class LarkDeliveryAdapter implements DeliveryAdapter {
123
141
  private handleCardAction;
124
142
  private handlePermissionPickerAction;
125
143
  private handleToolApprovalAction;
144
+ private handleUserQuestionAction;
126
145
  private handleModelPickerAction;
127
146
  }
128
147
  //# sourceMappingURL=adapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}