* feat: add OneTalk quote reply support * chore(task): archive 09-17-onetalk-quote-reply-protocol * chore: record journal * docs: format OneTalk DOM card collection plan * chore: release 0.8.29 * chore: release 0.8.30
56 KiB
Journal - ybf (Part 1)
AI development session journal Started: 2026-08-25
Session 1: 补充中文项目开发规范
Date: 2026-08-25
Task: 补充中文项目开发规范
Branch: main
Summary
基于当前空仓库状态,将 Chrome 扩展、服务端 backend/frontend 的 Trellis 规范模板改为中文基线;补充包边界、TypeScript 工具链、质量检查、类型安全以及数据库、错误和日志能力的当前边界。通过占位扫描、断链检查、task validate、git diff --check,并运行 pnpm typecheck/build/test(子包脚本当前按 --if-present 跳过)。
Git Commits
| Hash | Message |
|---|---|
181fb2f |
(see git log) |
Status
[OK] Completed
Session 2: 重构 Chrome 扩展代码架构
Date: 2026-08-26
Task: 重构 Chrome 扩展代码架构
Branch: main
Summary
按项目级规范重构 chrome-extension:新增通用 fail 原语和 OneTalk main-page 共享模型,统一文件头职责注释、main-last 函数顺序与入口边界;扩展测试、类型检查和构建通过,根级格式检查仍受既有 apps/server/package.json 问题影响。
Git Commits
| Hash | Message |
|---|---|
7ea8419 |
(see git log) |
Status
[OK] Completed
Session 3: Implement OneTalk isolated page bridge
Date: 2026-08-26
Task: Implement OneTalk isolated page bridge
Branch: main
Summary
Implemented the versioned OneTalk MAIN↔ISOLATED page bridge, injectable observer sink, standalone content-script builds, Manifest wiring, tests, and runtime-sync spec updates. Verified format, typecheck, tests, and build.
Git Commits
| Hash | Message |
|---|---|
c3bd4b5 |
(see git log) |
Status
[OK] Completed
Session 4: OneTalk Service Worker 运行时
Date: 2026-08-26
Task: OneTalk Service Worker 运行时
Branch: main
Summary
实现 OneTalk MV3 Service Worker 运行时:完成页面 Port 注册、tabId+frameId 精确路由、观察消息回调、请求 correlation 清理、Vite/Manifest 接入与测试验证;归档任务。
Git Commits
| Hash | Message |
|---|---|
b8bb274 |
(see git log) |
Status
[OK] Completed
Session 5: 搭建服务端 Fastify 基础设施
Session 4: 搭建服务端 Fastify 基础设施
Date: 2026-08-26
Task: 搭建服务端 Fastify 基础设施
Package: server
Branch: server
Summary
完成 Fastify 应用工厂、WebSocket 生命周期模块、Drizzle + postgres.js 数据库连接边界、配置校验与测试,并同步服务端规范。
Main Changes
- 新增 apps/server/src 配置、应用、健康检查、WebSocket 和数据库模块
- 补充服务端 build/typecheck/test 脚本与 Node 内置测试
- 同步 .trellis/spec/server/backend 基础设施契约
Git Commits
| Hash | Message |
|---|---|
1eb93f8 |
(see git log) |
Testing
- [OK] pnpm format:check
- [OK] pnpm typecheck
- [OK] pnpm build
- [OK] pnpm test
Status
[OK] Completed
Next Steps
- 后续任务补充 PostgreSQL schema/migration 与真实数据库集成验证
- 在可绑定本地端口的 CI 环境补充真实 WebSocket 客户端握手测试
Session 6: 打通 OneTalk 消息链路并持久化到 IndexedDB
Date: 2026-08-26
Task: 打通 OneTalk 消息链路并持久化到 IndexedDB
Branch: main
Summary
Service Worker 接收 MAIN 观察消息,经 runtime 先写入 trade-message-center/onetalk_messages IndexedDB,再通知回调;复合业务键幂等,补充失败顺序与存储测试,更新 OneTalk runtime spec。
Session 6: Enable server ORM migrations
Date: 2026-08-26
Task: Enable server ORM migrations
Branch: server2
Summary
Added Drizzle Kit configuration, schema/migration directories, an independent postgres-js migration runner, migration scripts, tests, documentation, and verified formatting, typecheck, build, tests, db:check, db:generate, plus temporary PostgreSQL idempotency.
Git Commits
| Hash | Message |
|---|---|
bee268e |
(see git log) |
c064a04 |
(see git log) |
Status
[OK] Completed
Session 8: OneTalk WebSocket 契约与 Mock 授权
Date: 2026-08-26
Task: OneTalk WebSocket 契约与 Mock 授权
Branch: main
Summary
完成共享 OneTalk WebSocket 版本化契约、运行时 decoder、Mock 授权适配和服务端握手处理;补充插件入口、跨包测试与服务端规范。通过 pnpm format:check、typecheck、build 和 test。
Git Commits
| Hash | Message |
|---|---|
48d3cd1 |
(see git log) |
Status
[OK] Completed
Session 9: 完成 TradeBright 消息入库与会话锚点
Date: 2026-08-27
Task: 完成 TradeBright 消息入库与会话锚点
Branch: main
Summary
完成 OneTalk contract 对齐、消息/异常/技术会话与共享锚点领域服务、Drizzle 事务 repository、WebSocket registry 与 publish-after-commit;补齐 contract、domain、WebSocket 和可选真实 PostgreSQL 测试,并更新 server code-spec。workspace typecheck/build/test、db:check、格式检查通过;真实 PostgreSQL 用例因未设置 TEST_DATABASE_URL 显式跳过。
Git Commits
| Hash | Message |
|---|---|
58b5109 |
(see git log) |
Status
[OK] Completed
Session 10: 实现 OneTalk 全量增量实时同步引擎
Date: 2026-08-27
Task: 实现 OneTalk 全量增量实时同步引擎
Branch: feat/extension-onetalk-sync-engine
Summary
完成 Bright WebSocket 插件客户端、IndexedDB v2 durable checkpoint/candidate/anomaly 账本、全量与锚点增量分页、实时观察串行 drain、ACK 驱动完成状态、断线/Service Worker 重启恢复及页面桥接;更新运行规范与研究证据。扩展 57 tests、根 workspace typecheck/build/test 全部通过。
Session 11: Bright 历史实时接口与 HTML 联调页
Date: 2026-08-27
Task: Bright 历史实时接口与 HTML 联调页
Branch: sever6
Summary
完成 Bright 授权会话/历史读取、独立 keyset cursor、Mind WebSocket 插件状态与同步状态、提交后实时消息发布,以及原生 HTML harness;补齐 HTTP/WS/契约测试、规范和本地 HTTP/WS smoke。
Git Commits
| Hash | Message |
|---|---|
8f12aac |
(see git log) |
2c21a0b |
(see git log) |
Status
[OK] Completed
Session 11: 开发环境授权默认放行
Date: 2026-08-27
Task: 开发环境授权默认放行
Branch: sever6
Summary
为 server 增加仅 NODE_ENV=development 触发的默认授权 bypass,保留显式授权 reader 优先与其它环境 fail-closed;补齐 HTTP/WS、环境解析和独立 WebSocket 安装回归测试,更新后端规范并归档 task。格式、类型、构建、全量测试和 db:check 均通过;PostgreSQL 集成测试因未设置 TEST_DATABASE_URL 明确跳过。
Git Commits
| Hash | Message |
|---|---|
a2ae309 |
(see git log) |
Status
[OK] Completed
Session 12: 实现 OneTalk Popup binding 配置
Date: 2026-08-27
Task: 实现 OneTalk Popup binding 配置
Branch: main
Summary
完成 Popup Bright 配置与 storage 生命周期、OneTalk plugin/Mind 合同和 fail-closed 授权、服务端 binding 持久化迁移、扩展 Service Worker 动态重配置与同步保护;通过契约/扩展/服务端测试、format、typecheck、build、db-check,归档任务。
Git Commits
| Hash | Message |
|---|---|
886da32 |
(see git log) |
Status
[OK] Completed
Session 13: 拆分项目级架构代码规范
Date: 2026-08-27
Task: 拆分项目级架构代码规范
Branch: test2
Summary
将项目级 architecture.md 拆分为稳定入口与五份主题规范,保留原有契约并完成链接、格式和范围审计。
Git Commits
| Hash | Message |
|---|---|
058b9a1 |
(see git log) |
Status
[OK] Completed
Session 14: 完成 OneTalk 鉴权同步与移除 login_user_id
Date: 2026-08-28
Task: 完成 OneTalk 鉴权同步与移除 login_user_id
Branch: test2
Summary
完成 OneTalk 鉴权同步链路、Bright/WebSocket 连接诊断、同步状态门控与数据库迁移;移除服务链路中的 login_user_id 字段,补充扩展端、共享契约和服务端测试。已归档任务 08-28-remove-login-user-id。
Git Commits
| Hash | Message |
|---|---|
3bcb29e |
(see git log) |
Status
[OK] Completed
Session 15: OneTalk 运行时错误可读性修复
Date: 2026-08-28
Task: OneTalk 运行时错误可读性修复
Branch: fix/onetalk-sync
Summary
完成 OneTalk Service Worker 开发错误诊断:保留原始 unknown identity,开发模式输出安全的 name/message/stack/cause projection,覆盖 credential/认证头/JSON key 脱敏与 hostile accessor;生产保持稳定 code。Vite development 关闭压缩并启用 source map,production 默认构建不变。通过目标测试 22/22、扩展全量 102/102、根级 typecheck/build/test、format:check、diff check;服务端 TEST_DATABASE_URL 未设置导致 1 个既有 PostgreSQL integration test 跳过。未执行真实 Chrome DevTools smoke test。
Git Commits
| Hash | Message |
|---|---|
881adbb |
(see git log) |
Status
[OK] Completed
Session 16: 归档 OneTalk 鉴权同步任务
Date: 2026-08-28
Task: 归档 OneTalk 鉴权同步任务
Branch: main
Summary
归档 08-27-onetalk-authenticated-sync-not-started。同步 bootstrap、anchor snapshot 门控、设备标识与授权解耦、full/incremental/live 队列、错误码和诊断已由工作提交完成;目标测试与根级检查结果已记录,真实 Chrome/OneTalk smoke 未执行。
Git Commits
| Hash | Message |
|---|---|
3bcb29e |
(see git log) |
Status
[OK] Completed
Session 17: Implement Popup config realtime status
Date: 2026-08-28
Task: Implement Popup config realtime status
Branch: main
Summary
完成 Popup 配置布局与实时连接状态:Binding 移入身份区,开发构建显示 Bright 详情,Service Worker 广播脱敏状态事件,Popup 实时订阅;补充广播去重、无接收者/同步异常处理和针对性测试,完成格式、类型、构建、全仓测试验证。PostgreSQL 集成测试因未设置 TEST_DATABASE_URL 跳过,未执行真实 Chrome smoke。
Git Commits
| Hash | Message |
|---|---|
4c17330 |
(see git log) |
Status
[OK] Completed
Session 18: OneTalk SDK-only 发送旁路观测回归修复
Date: 2026-08-29
Task: OneTalk SDK-only 发送旁路观测回归修复
Branch: yyy
Summary
完成 SDK-only 单次发送与 WebSocket sent 旁路关联;修复候选 ID 时间窗误 gating、observer 缺失直发 fallback 和 ext 输入边界;补齐路由/观测回归测试与发送 SOP。Extension 133、contract 16、server 57 通过,缺 TEST_DATABASE_URL 的 PostgreSQL 集成测试和真实浏览器 smoke 明确跳过。
Git Commits
| Hash | Message |
|---|---|
91d9a26 |
(see git log) |
Status
[OK] Completed
Session 19: 收紧 OneTalk 发送观测时间窗口
Date: 2026-08-29
Task: 收紧 OneTalk 发送观测时间窗口
Branch: yyy
Summary
将无候选 ID 的 OneTalk 发送观测窗口从 30 秒收紧为 5 秒,并禁止确认发送调用之前的旧消息;新增回归测试。扩展全量 134 项、typecheck、format 和 diff check 通过。提交 a0651e0;归档 08-29 SDK 观测子 task 及其 send.confirmation 回归父 task。真实浏览器 smoke 未执行。
Git Commits
| Hash | Message |
|---|---|
a0651e0 |
(see git log) |
Status
[OK] Completed
Session 20: 归档 OneTalk 发件三态闭环
Date: 2026-08-29
Task: 归档 OneTalk 发件三态闭环
Branch: feat/08-26-onetalk-outbound-send-three-state
Summary
完成并归档 08-26-onetalk-outbound-send-three-state:保留 confirmed_sent、rejected_before_send、delivery_unknown 三态边界,确认事实复用普通消息入库并遵守 commit 后回包/发布规则。工作树在归档前干净;本次收尾未重新执行测试,真实浏览器 smoke 未在本轮验证。后续 OneTalk 发送观测回归属于已单独归档的子任务。
Git Commits
| Hash | Message |
|---|---|
0a7e62f |
(see git log) |
cd0dabc |
(see git log) |
Status
[OK] Completed
Session 21: 归档 Mind HTTP 授权联调与切换任务
Date: 2026-08-31
Task: 归档 Mind HTTP 授权联调与切换任务
Branch: feat/08-26-onetalk-bright-message-pipeline
Summary
完成并归档 Mind HTTP 授权联调与不可回退切换子任务:固化 binding/session mock 与 Bright adapter、服务端 Session scope、Cookie/Origin/WS 分路径鉴权、设备接管与 pause/resume epoch、旧协议拒绝及发送竞态保护,并补充 contract/server/harness 回归。归档前工作树干净;本地质量门与竞态回归已有记录通过,真实 Mind endpoint/页面/TLS/三级域浏览器 smoke 及 PostgreSQL integration 仍属外部验证边界。父任务 08-26-onetalk-bright-message-pipeline 已 8/8 done 但仍 planning,未归档。
Git Commits
| Hash | Message |
|---|---|
95da6ea |
(see git log) |
421e5ed |
(see git log) |
327265a |
(see git log) |
5d30995 |
(see git log) |
Status
[OK] Completed
Session 22: 归档 OneTalk 到 TradeBright 消息链路父任务
Date: 2026-08-31
Task: 归档 OneTalk 到 TradeBright 消息链路父任务
Branch: feat/08-26-onetalk-bright-message-pipeline
Summary
完成并归档父任务 08-26-onetalk-bright-message-pipeline:协议与 Mock 授权、Bright 消息入库与会话锚点、扩展 full/incremental/live 耐久同步、历史与实时 harness、发件三态、Mind HTTP 授权与不可回退切换等子任务均已完成。归档前工作树干净;本地 contract/extension/server 质量记录已通过,真实 Mind endpoint/页面/TLS/Chromium smoke 与 PostgreSQL integration 仍属未验证的外部边界。当前无其他 active task。
Git Commits
| Hash | Message |
|---|---|
48d3cd1 |
(see git log) |
58b5109 |
(see git log) |
8f12aac |
(see git log) |
ec42041 |
(see git log) |
886da32 |
(see git log) |
3bcb29e |
(see git log) |
95da6ea |
(see git log) |
421e5ed |
(see git log) |
327265a |
(see git log) |
5d30995 |
(see git log) |
Status
[OK] Completed
Session 23: 统一 workspace package 版本来源
Date: 2026-09-01
Task: 统一 workspace package 版本来源
Branch: dev-global-package-version
Summary
完成全局 package 版本接管:根 package.json version 作为唯一来源,新增版本校验/同步/漂移门禁与 TMC_PACKAGE_VERSION 注入;扩展 manifest 改为模板生成,build/watch 由 orchestrator 单次复制静态资源并生成 dist manifest;release CI 使用 quality job 根版本输出命名 archive 与 OSS 路径;补充测试、规范和 finding ledger。通过 CI=true pnpm format:check、typecheck、test、显式 URL build、watch 初始产物 smoke 与独立 checker review。
Session 23: 完成 OneTalk 客户资料同步
Date: 2026-08-31
Task: 完成 OneTalk 客户资料同步
Branch: feat/08-31-onetalk-customer-profile-fetch
Summary
完成 OneTalk 页面资料白名单采集、独立 IDB ledger、Bright 投递与 Mind HTTP ACK 链路;修复身份切换、重复 hello、旧账号路由、空批次和文档契约问题。
Main Changes
- 新增 contact.profile observed/ack 契约与严格解码
- 接入页面 observer、service worker durable ledger/coordinator、Bright 与 Mind 投递
- 补齐跨层 Trellis specs、PRD、设计文档和 finding ledger
Session 26: 修复 OneTalk 旁路新消息方向反转
Date: 2026-09-01
Task: 修复 OneTalk 旁路新消息方向反转
Branch: 09-01-onetalk-live-message-direction
Summary
完成 OneTalk MAIN observer 方向归一化:通过登录账号唯一匹配原始 participant,移除 pair 尾项猜测;补充 realtime/history/fail-closed 回归,更新 runtime-sync 规范。根级 format/typecheck/test/build 通过;真实 OneTalk Chromium smoke 因连接器不可用保持 external_unverified。
Git Commits
| Hash | Message |
|---|---|
e1aba48 |
(see git log) |
d0e8ae4 |
(see git log) |
Testing
- [OK] PNPM_CONFIG_OFFLINE=true pnpm run format:check
- [OK] PNPM_CONFIG_OFFLINE=true pnpm run typecheck
- [OK] PNPM_CONFIG_OFFLINE=true pnpm run test(85 server tests passed;TEST_DATABASE_URL integration skipped)
- [OK] PNPM_CONFIG_OFFLINE=true pnpm run build
Status
[OK] Completed
Next Steps
- 真实 Chromium 页面生命周期、生产 WebSocket/TLS 与 Mind/数据库集成仍需部署环境验收
Session 25: OneTalk 客户头像 URL 采集与同步
Date: 2026-09-01
Task: OneTalk 客户头像 URL 采集与同步
Branch: feat/08-31-onetalk-customer-profile-fetch
Summary
完成 OneTalk 客户头像 URL 采集与同步,补充开发上传日志及 Mind HTTP mock 的 contact profile 接收记录;收尾时工作树干净。
Git Commits
| Hash | Message |
|---|---|
204e32a |
(see git log) |
89d8240 |
(see git log) |
8bdd9ec |
(see git log) |
9d5666f |
(see git log) |
eb371d6 |
(see git log) |
Status
[OK] Completed
Session 27: OneTalk 历史 SDK 会话分页与群聊适配
Date: 2026-09-03
Task: OneTalk 历史 SDK 会话分页与群聊适配
Branch: main
Summary
完成真实 OneTalk 历史 SDK envelope、分页与嵌套单聊归一化,群聊显式跳过并保持 bootstrap 可观测;补充定向回归覆盖。扩展 typecheck、format:check、build、targeted tests 与 git diff --check 已通过;真实 Chromium/OneTalk smoke 未验证。
Git Commits
| Hash | Message |
|---|---|
a0c524a |
(see git log) |
Status
[OK] Completed
Session 28: 完成 Bright 会话客户资料持久化
Date: 2026-09-03
Task: 完成 Bright 会话客户资料持久化
Branch: main
Summary
Bright 会话客户资料持久化实现已合并;工作树干净,父任务及 09-03 的资料 WS 持久化、会话读取接口两个子任务均已归档。
Git Commits
| Hash | Message |
|---|---|
38432d1 |
(see git log) |
132a376 |
(see git log) |
Status
[OK] Completed
Session 29: 修复 OneTalk 扁平历史消息漏投递
Date: 2026-09-04
Task: 修复 OneTalk 扁平历史消息漏投递
Branch: fix/onetalk-history-message-loss
Summary
完成 OneTalk no-read 历史 body.list 扁平消息观察:保留 MAIN-only 原始项,经统一 history adapter、canonical messageId、页面 bridge 与现有 composite-key 去重管线发布;兼容 wrapper、全局入口和 routed sync,补齐回归测试并更新历史同步 spec。Chromium 9223 smoke 按用户决定跳过。
Git Commits
| Hash | Message |
|---|---|
bed5670 |
fix(onetalk): observe flat history messages |
Status
[OK] Completed
Session 30: 完成 OneTalk 消息批处理入库
Date: 2026-09-07
Task: 完成 OneTalk 消息批处理入库
Branch: main
Summary
完成并归档 OneTalk 消息批处理入库任务;实现历史数组上传、服务端按 500ms/100 条收集与批事务处理,保留逐消息 ACK、幂等与单条 message.created 语义。任务工作提交为 337aa91,并由 c6cee3a 合并到 main。
Git Commits
| Hash | Message |
|---|---|
337aa91 |
feat(onetalk): batch historical message observations |
c6cee3a |
Merge pull request #20 from sinanyuntu/09-07-onetalk-message-batching |
Status
[OK] Completed
Session 31: 完成 OneTalk 图片与附件消息同步
Date: 2026-09-07
Task: 完成 OneTalk 图片与附件消息同步
Branch: main
Summary
完成并归档 OneTalk 图片与附件消息同步任务;共享 content v1/protocol v3 合同、插件媒体解析与安全桥接、IndexedDB v6 清理、Server JSONB/migration、Mind history/event parity 与 harness 支持已合入 main,并补充扁平历史媒体解码修复。
Git Commits
| Hash | Message |
|---|---|
f6d5d76 |
feat(onetalk): sync media messages and attachments |
67b3db7 |
Merge pull request #12 from sinanyuntu/09-02-onetalk-media-message-sync |
c44bf85 |
Support OneTalk flat history media decoding |
Status
[OK] Completed
Session 32: 完成 Popup 内部错误展示
Date: 2026-09-07
Task: 完成 Popup 内部错误展示
Branch: main
Summary
完成并归档 Popup 内部错误展示任务;建立闭集错误码契约,贯通 Bright ws.error、Service Worker runtime_error 与状态快照,并在 Popup 展示稳定错误码、最近错误语义和可恢复引导,保持连接与同步生命周期不变。
Git Commits
| Hash | Message |
|---|---|
0bf97d6 |
feat(chrome-extension): surface popup configuration errors |
fa95ca3 |
Merge pull request #22 from sinanyuntu/09-07-popup-internal-error-presentation |
Status
[OK] Completed
Session 33: 完成 Center 摘要内部网络入口
Date: 2026-09-07
Task: 完成 Center 摘要内部网络入口
Branch: main
Summary
完成并归档 Center 摘要内部网络入口任务;移除摘要专用 Bearer/回调授权,新增同 Docker 内部网络的 7777 摘要入口,保留公共 Mind/Cookie 授权边界,并同步运行时、部署网络和回滚契约。
Git Commits
| Hash | Message |
|---|---|
6e8eca9 |
fix(server): authorize background OneTalk summary reads |
05d9bb1 |
Merge pull request #21 from sinanyuntu/codex/onetalk-summary-read-authorization |
Status
[OK] Completed
Session 34: 收尾 OneTalk 历史消息漏抓定位与修复
Date: 2026-09-07
Task: 收尾 OneTalk 历史消息漏抓定位与修复
Branch: main
Summary
归档 OneTalk 历史消息漏抓任务;已完成逐消息脱敏诊断、真实 flat DTO 身份与内容归一化、ID .PNM 别名收敛、系统消息分类、历史响应单入口、实时分类和会话时间投影相关实现。任务 PRD 中 AC16–AC18 仍未勾选,保留为未完成验证项。
Git Commits
| Hash | Message |
|---|---|
ac696e7 |
Fix OneTalk history message identity and classification |
c44bf85 |
Support OneTalk flat history media decoding |
33182db |
Project OneTalk conversation activity timestamps |
8e16158 |
Isolate invalid conversation timestamps during history sync |
211f410 |
fix(onetalk): classify live messages without absent history type |
Status
[OK] Completed
Session 35: 归档 OneTalk 结构化卡片消息规划
Date: 2026-09-07
Task: 归档 OneTalk 结构化卡片消息规划
Branch: main
Summary
按要求归档 OneTalk 结构化卡片消息任务。该任务仅完成规划与 PRD(提交 82c60f7),没有进入实现阶段,也没有代码、测试或协议/数据库变更。
Git Commits
| Hash | Message |
|---|---|
82c60f7 |
docs(task): plan OneTalk card message sync |
Status
[OK] Completed
Session 36: OneTalk 会话发现先于历史同步
Date: 2026-09-08
Task: OneTalk 会话发现先于历史同步
Branch: 09-07-onetalk-conversation-discovery-before-history-sync
Summary
完成 OneTalk 会话发现边界修复:保留无历史身份的 flat direct 会话用于发现,过滤 flat group,并让缺少历史身份的会话以明确错误退出;新增回归覆盖。定向会话历史测试 32/32 通过,扩展类型检查和提交格式钩子通过;整套扩展测试仍有 2 个既有 onetalk-sync-engine 用例失败,未在本次范围内修复。已提交 0bdc4ba 并归档任务。
Git Commits
| Hash | Message |
|---|---|
0bdc4ba |
fix(onetalk): handle direct discovery without history identity |
Status
[OK] Completed
Session 37: 完成 OneTalk WebSocket registry 重构并创建 PR
Date: 2026-09-08
Task: 完成 OneTalk WebSocket registry 重构并创建 PR
Branch: Refactor_code
Summary
完成 OneTalk WebSocket registry 的行为保持型拆分,加入 characterization tests;server 131 项测试、typecheck、build、format check 和 diff check 均通过。分支 Refactor_code 已创建 GitHub PR #24,随后归档任务。
Git Commits
| Hash | Message |
|---|---|
c6ffd51 |
refactor(onetalk): split websocket registry responsibilities |
Status
[OK] Completed
Session 38: OneTalk contract business boundary refactor
Date: 2026-09-08
Task: OneTalk contract business boundary refactor
Branch: task/09-08-onetalk-contract-business-boundaries
Summary
按业务能力拆分 OneTalk 合同 owner,迁移严格 decoder payload 校验,删除 model.ts,保持包根导出与 wire 语义兼容。contract 测试/typecheck、server 完整测试/typecheck、格式门禁通过;extension typecheck 通过,但既有 rediscovery 测试仍有 2 个失败,未改动其源码。
Git Commits
| Hash | Message |
|---|---|
a45bc3d |
refactor(onetalk-contract): split protocol contracts by business boundary |
Status
[OK] Completed
Session 39: 被动 OneTalk 买家事实投递
Date: 2026-09-09
Task: 被动 OneTalk 买家事实投递
Branch: 09-08-onetalk-buyer-tags-features
Summary
将 buyer tags/features 改为仅观察当前客户卡的精确 DOM class;移除主动 collection command,保留独立 ledger、ACK、server persistence 与 Mind read;完成全量测试、构建与 PostgreSQL integration。
Session 40: Characterize OneTalk WS frame flows
Date: 2026-09-09
Task: Characterize OneTalk WS frame flows
Branch: 09-09-onetalk-ws-flow-refactor-1
Summary
Added an executable contract-complete OneTalk WebSocket client-frame characterization matrix and fail-closed regression coverage; independently checked source and dist server tests, then documented the matrix regression convention.
Git Commits
| Hash | Message |
|---|---|
5595a84 |
feat(onetalk): observe buyer facts passively |
463dce9 |
test(onetalk): characterize websocket frame flows |
Status
[OK] Completed
Session 41: Finish main-page action status tooltip
Date: 2026-09-09
Task: Finish main-page action status tooltip
Branch: 09-09-main-page-action-status-tooltip
Summary
Archived 09-09-main-page-action-status-tooltip after verifying the worktree was clean; implementation and checks are included in 59e960e.
Git Commits
| Hash | Message |
|---|---|
59e960e |
feat(onetalk): add main-page action status tooltip |
Status
[OK] Completed
Session 42: Extract OneTalk WS protocol kernel and router
Date: 2026-09-09
Task: Extract OneTalk WS protocol kernel and router
Branch: 09-09-onetalk-ws-protocol-router
Summary
Extracted the fixed WebSocket protocol kernel and static authenticated router, preserved session guard ordering, added regressions, and documented the server contract.
Git Commits
| Hash | Message |
|---|---|
b45322c |
refactor(onetalk): extract ws protocol kernel and router |
Status
[OK] Completed
Session 43: Extract OneTalk WebSocket sync flows
Date: 2026-09-09
Task: Extract OneTalk WebSocket sync flows
Branch: 09-09-onetalk-ws-protocol-router
Summary
Extracted discovery, observation, and completion synchronization flows into a per-connection OneTalk WebSocket Flow; preserved ACK, publish, flush, error, and lifecycle semantics. Server tests, typecheck, build, and format checks passed; archived the completed Trellis task.
Git Commits
| Hash | Message |
|---|---|
56b4809 |
refactor(onetalk): extract websocket sync flows |
Status
[OK] Completed
Session 44: Route OneTalk Service Worker frames
Date: 2026-09-09
Task: Route OneTalk Service Worker frames
Branch: 09-09-onetalk-ws-protocol-router
Summary
将 Bright 收缩为 transport,增加静态 frame router 与业务 Flow,按 transport/routing/flows 归类文件,并以完整 root 质量门禁验证。
Git Commits
| Hash | Message |
|---|---|
7c77470 |
refactor(onetalk): route service worker frames |
fe8e9f5 |
docs(trellis): define onetalk frame routing |
Status
[OK] Completed
Session 45: Extract OneTalk send and profile WebSocket flows
Date: 2026-09-10
Task: Extract OneTalk send and profile WebSocket flows
Branch: 09-09-onetalk-ws-protocol-router
Summary
Extracted server send/profile WebSocket flows, preserved pending-send and profile state ownership, tightened confirmed send.result to the shared center-message projection, and verified source/dist server tests, build, typecheck, format, and diff checks.
Git Commits
| Hash | Message |
|---|---|
5862d3b |
refactor(onetalk): extract send and profile websocket flows |
7890dfe |
docs(trellis): define onetalk send and profile flow boundaries |
Status
[OK] Completed
Session 46: Verify OneTalk WS flow refactor
Date: 2026-09-10
Task: Verify OneTalk WS flow refactor
Branch: 09-09-onetalk-ws-protocol-router
Summary
完成 OneTalk WebSocket Flow 重构最终验收:contract、server、extension focused/full tests 及根质量门通过;v5 协议、router/Flow/state owner 审阅通过;缺少隔离浏览器测试环境的握手、anchor、history ACK、Mind 与 send 证据明确为 runtime-unverified,未触发同步或发送。
Git Commits
| Hash | Message |
|---|---|
faa7888 |
docs(onetalk): record ws flow verification |
6645415 |
chore(task): record ws flow verification plan |
Status
[OK] Completed
Session 47: Close OneTalk WS flow refactor
Date: 2026-09-10
Task: Close OneTalk WS flow refactor
Branch: 09-09-onetalk-ws-protocol-router
Summary
完成 OneTalk WebSocket Flow 重构父级集成收口:六个子任务均已归档,父级验收逐项映射至归档证据;shared contract v5、路由和状态所有权结论经独立复核接受。浏览器握手、history ACK、Mind 与发送闭环因隔离测试环境缺失继续标记 runtime-unverified,未执行外部写入。
Git Commits
| Hash | Message |
|---|---|
68ac450 |
docs(onetalk): record ws refactor integration |
Status
[OK] Completed
Session 48: Split OneTalk WebSocket endpoint roles
Date: 2026-09-10
Task: Split OneTalk WebSocket endpoint roles
Branch: 09-09-onetalk-ws-protocol-router
Summary
Split shared WebSocket runtime into Plugin and Mind endpoints; preserved protocol and strengthened authorization-close regressions.
Git Commits
| Hash | Message |
|---|---|
34f399b |
refactor(onetalk): split websocket endpoint roles |
Status
[OK] Completed
Session 49: Organize Mind and Plugin WebSocket code
Date: 2026-09-10
Task: Organize Mind and Plugin WebSocket code
Branch: 09-09-onetalk-ws-protocol-router
Summary
Moved Mind-only and Plugin-only WebSocket implementations to canonical endpoint directories, retained the shared registry/store/coordinator ownership boundary, updated the service structure spec, and verified focused WebSocket tests, typecheck, build, formatting, and independent review.
Git Commits
| Hash | Message |
|---|---|
f0b9a23 |
refactor(onetalk): organize websocket endpoint code |
Status
[OK] Completed
Session 50: OneTalk 会话同步进度提示
Date: 2026-09-10
Task: OneTalk 会话同步进度提示
Branch: main
Summary
实现 OneTalk bootstrap 会话列表与历史同步进度 tooltip;隔离 UI 通知异常,支持恢复 marker 终态预结算,并完成独立验收。
Git Commits
| Hash | Message |
|---|---|
5d77223 |
feat(onetalk): show bootstrap history sync progress |
Status
[OK] Completed
Session 51: 收尾 OneTalk Center v5 单聊接口与 WS 契约改造
Date: 2026-09-10
Task: 收尾 OneTalk Center v5 单聊接口与 WS 契约改造
Branch: 09-09-onetalk-ws-protocol-router
Summary
完成并归档 09-09-center-direct-api-ws-contract:落地 v5 公共契约、OneTalk discovery producer、Center server 单聊 HTTP/WS 与 last_contact_time_ms/message_preview、Mind harness 及按 transport 的 profile 投影。实现提交已在任务分支合并;任务记录中的 S1 广泛验收延期、S3 check skipped,以及真实 DB/HTTP/WS/浏览器运行验证仍保持未验证边界。
Git Commits
| Hash | Message |
|---|---|
046fef3 |
feat: establish OneTalk v5 public contract |
1fc2bf5 |
feat: adapt OneTalk discovery producer to v5 |
b3886d7 |
feat: adapt Mind harness to OneTalk v5 |
bdc7837 |
feat: implement OneTalk Center v5 server contract |
8336b79 |
feat: project OneTalk customer profiles per transport |
Status
[OK] Completed
Session 52: 拆分 OneTalk HTTP 路由模块
Date: 2026-09-10
Task: 拆分 OneTalk HTTP 路由模块
Branch: 09-10-split-onetalk-summary
Summary
将 public 读取与 internal summary 路由迁移至 http/onetalk,保持共享 history reply flow、授权、CORS 和 cutover fence 不变;完成全量本地验证与独立验收。
Git Commits
| Hash | Message |
|---|---|
d1d6d68 |
refactor(onetalk): split read HTTP routes |
Status
[OK] Completed
Session 53: OneTalk 断线状态条
Date: 2026-09-10
Task: OneTalk 断线状态条
Branch: 09-10-extension-tooltip-coverage
Summary
实现 Bright offline 到 OneTalk 页面顶部状态条的账号隔离投影;补齐严格 bridge、重复 hello 重放、定向测试、规格与构建验证。
Git Commits
| Hash | Message |
|---|---|
d7eb0ca |
feat: show OneTalk disconnect status in page tooltip |
Status
[OK] Completed
Session 54: 完成 Mind OneTalk 图片与附件发送
Date: 2026-09-11
Task: 完成 Mind OneTalk 图片与附件发送
Branch: main
Summary
归档 09-10-mind-onetalk-image-send 与 09-10-mind-onetalk-file-send;实现提交已在 main,工作区保持干净。保留 09-11-oss-file-upload-harness 为进行中任务。
Git Commits
| Hash | Message |
|---|---|
9430aaf |
feat: support OneTalk image sending |
8654576 |
feat: support OneTalk file sending |
Status
[OK] Completed
Session 55: 完成 OSS 文件上传与联调页
Date: 2026-09-11
Task: 完成 OSS 文件上传与联调页
Branch: 09-10-extension-tooltip-coverage
Summary
完成 Bright server 代理 OSS 上传与 Mind OneTalk 联调页文件入口,凭据保持在服务端;补齐上传契约、稳定失败边界与确定性测试,归档 09-11-oss-file-upload-harness。真实 OSS 外部 smoke 未在本次收尾中重新执行。
Git Commits
| Hash | Message |
|---|---|
6bb8677 |
feat: add OSS harness file upload |
Status
[OK] Completed
Session 56: 收尾买家联系资料与事实认证任务
Date: 2026-09-11
Task: 收尾买家联系资料与事实认证任务
Branch: main
Summary
归档 09-10-buyer-profile-contact-fields 与 09-11-buyer-facts-auth-optional-fields;对应工作提交为 9d2a975、e05ce9e,保留仍处于 planning 的 09-11-unify-onetalk-is-record。
Git Commits
| Hash | Message |
|---|---|
9d2a975 |
feat: 采集买家联系资料字段 |
e05ce9e |
feat: 修复买家事实认证与可选字段 |
Status
[OK] Completed
Session 57: 统一 OneTalk isRecord 语义并完成收尾
Date: 2026-09-11
Task: 统一 OneTalk isRecord 语义并完成收尾
Branch: 09-11-unify-onetalk-is-record
Summary
统一 OneTalk isRecord 记录守卫及其规范归属,完成验证并归档任务 09-11-unify-onetalk-is-record。
Session 58: 移除 OneTalk 图片宽高链路
Date: 2026-09-11
Task: 移除 OneTalk 图片宽高链路
Branch: 09-11-remove-image-dimensions
Summary
完成 OneTalk 图片宽高链路 v6 收敛:更新 shared contract、扩展解码与发送确认、server 读取与 JSONB migration、Mind harness、测试和当前文档;提交 282194e,随后归档任务。
Git Commits
| Hash | Message |
|---|---|
93ffdfa |
refactor: unify OneTalk record guards |
82ac3cb |
docs: define OneTalk record guard ownership |
282194e |
feat: 移除 OneTalk 图片宽高链路 |
Status
[OK] Completed
Session 59: 隔离发送观测 pending
Date: 2026-09-11
Task: 隔离发送观测 pending
Branch: send-observation-pending
Summary
修复 OneTalk live observation 误结算无关图片和附件 pending;补充唯一与多重匹配回归,并更新发送 SOP。
Session 60: 移除 pending-send 终态历史
Date: 2026-09-11
Task: 移除 pending-send 终态历史
Branch: fix/remove-terminal-send-history
Summary
移除 pending-send 协调器的 terminalSends 终态历史,使其只保留 in-flight attempt;保留同 ID in-flight 去重、会话串行化、timeout/断线结算和迟到 confirmation no-op。更新服务端状态所有权规范,并通过 server 源码与编译产物全量测试、typecheck、build、格式和 diff 检查。
Git Commits
| Hash | Message |
|---|---|
1a899a9 |
fix: isolate pending send observations |
63d9e5b |
fix: remove pending send terminal history |
Status
[OK] Completed
Session 61: 收敛 OneTalk WebSocket 路由分发
Date: 2026-09-12
Task: 收敛 OneTalk WebSocket 路由分发
Branch: 09-11-websocket-routing-single-source-of-truth
Summary
将认证 WebSocket 路由元数据收敛为唯一事实来源,并让 Plugin/Mind 生产分发与扩展 Service Worker 路由复用声明式表;聚焦 WebSocket 与路由测试通过。完整类型、构建和全测仍受既有 business-card 夹具、缺失 migration 和构建哈希测试阻碍。
Git Commits
| Hash | Message |
|---|---|
bd9cc6a |
refactor: centralize WebSocket route dispatch |
Status
[OK] Completed
Session 62: 规范化 OneTalk 合约包位置
Date: 2026-09-12
Task: 规范化 OneTalk 合约包位置
Branch: 09-12-normalize-onetalk-contract-package
Summary
将共享 onetalk-contract 从 apps 迁至 packages;同步 workspace、构建、锁文件、版本镜像、文档和任务路径,并完成独立验证。
Git Commits
| Hash | Message |
|---|---|
4d46b5b |
refactor(onetalk-contract): move shared contract to packages |
Status
[OK] Completed
Session 63: OneTalk 结构化消息信息采集分类
Date: 2026-09-12
Task: OneTalk 结构化消息信息采集分类
Branch: main
Summary
完成并合并 OneTalk 历史 SDK 结构化业务卡采集:以完整联合条件识别名片、询盘和订单;名片落库严格保持 marker,读取时才按账号和会话组合独立客户资料;订单仅传递白名单摘要并为异常保留可观测结果。任务经 PR #42/#43 合入 main,后续结构化事实等价性修复也已在 main。当前工作树干净;收尾复验中合同运行时测试 36/36 通过、迁移 check 通过,跨包测试和 typecheck 因本地 node_modules 仍指向已迁移的旧 apps/onetalk-contract 路径且缺少 @types/node 未能重跑。
Session 64: Harden Mind send liveness
Date: 2026-09-12
Task: Harden Mind send liveness
Branch: 09-12-mind-send-liveness
Summary
Fail-closed plugin lease admission plus Harness heartbeat and HTTP deadline terminal states; static and existing server tests passed, browser fault paths remain runtime-unverified.
Git Commits
| Hash | Message |
|---|---|
f92f00d |
feat: normalize OneTalk business card content |
31400fc |
fix: keep OneTalk business cards as markers |
86447cc |
docs: clarify OneTalk business card profile projection |
440df49 |
fix(onetalk): harden mind send liveness |
cc2ee8f |
docs(trellis): record mind send liveness contracts |
Status
[OK] Completed
Session 64: OneTalk 采集与命令流程边界整理
Date: 2026-09-12
Task: OneTalk 采集与命令流程边界整理
Package: chrome-extension
Branch: 09-12-onetalk-flow-boundaries
Summary
拆分页面采集和命令入口,发送从历史处理独立,保留共享观察及状态 owner;独立最终检查 accepted。
Main Changes
- 新增 collection installer/publisher 与 commands dispatcher/send,更新运行时规范。
Git Commits
| Hash | Message |
|---|---|
15efc84 |
refactor(onetalk): separate collection and command flows |
Testing
- [OK] 扩展全量 366/366、流程边界 6/6、类型与全量格式检查通过。
- [OK] 实际 MAIN IIFE 产物冒烟通过;媒体类型收窄编译前后 JavaScript 完全一致;真实 Chromium/OneTalk/Bright 联调按计划未验证。
Status
[OK] Completed
Session 65: OneTalk profile active sync
Date: 2026-09-13
Task: OneTalk profile active sync
Branch: 09-12-onetalk-profile-active-sync
Summary
收敛首次认证与活跃会话的 OneTalk profile 同步:durable hash 去重、50 条分包、精确 collect 命令与异步 lifecycle fence;377 个扩展测试、typecheck、build 通过,Chromium/Bright 实机 smoke deferred。
Git Commits
| Hash | Message |
|---|---|
f93255e |
feat(onetalk): sync active contact profiles |
Status
[OK] Completed
Session 66: 集中 OneTalk 非观测 DOM 交互
Date: 2026-09-14
Task: 集中 OneTalk 非观测 DOM 交互
Branch: 09-14-centralize-dom-interactions
Summary
将 OneTalk 非观测 DOM 查询、控件和点击订阅集中到 main-page/dom,新增 Testing Library/jsdom 测试,并通过全量扩展测试、类型检查和构建验证。
Git Commits
| Hash | Message |
|---|---|
66d03fd |
feat: centralize OneTalk DOM interactions |
Status
[OK] Completed
Session 67: 收集 OneTalk 商品消息
Date: 2026-09-14
Task: 收集 OneTalk 商品消息
Branch: 09-14-collect-product-messages
Summary
新增严格 product 内容合同、MAIN-world 商品 URL 脱敏归一化、JSONB kind 迁移与读取回归。
Session 68: Mind conversation history rebuild endpoint
Date: 2026-09-14
Task: Mind conversation history rebuild endpoint
Branch: 09-12-mind-rebuild-conversation-history
Summary
完成 Mind 单会话历史重建 HTTP/WS 契约、Bright scoped reset、插件定向清理与 full-sync generation fence;已通过任务检查并归档任务。
Git Commits
| Hash | Message |
|---|---|
4042c34 |
feat: collect OneTalk product messages |
7012bf9 |
feat: update message synchronization flow |
54af59c |
feat: expand message center capabilities |
Status
[OK] Completed
Session 70: Warn unbound OneTalk accounts
Date: 2026-09-14
Task: Warn unbound OneTalk accounts
Branch: 09-14-onetalk-unbound-tooltip-warning
Summary
Added a minimal account-scoped binding-status projection from the Service Worker through the v4 page bridge to the existing action-status tooltip. The red unbound row is independent from connection/history rows, exact-shape validated, and documented; code-level checks passed without Chrome testing.
Session 71: Implement Mind workspace authorization
Date: 2026-09-14
Task: Implement Mind workspace authorization
Branch: dev
Summary
Enforced unique workspace context across Mind authorization HTTP and WebSocket flows, added regression coverage for rebinding fences, and documented the contract.
Git Commits
| Hash | Message |
|---|---|
c9417f4 |
feat: enforce Mind workspace authorization |
b28ccb0 |
feat: update message synchronization flow |
Status
[OK] Completed
Session 72: 完成 React 卡片监测
Date: 2026-09-15
Task: 完成 React 卡片监测
Branch: 09-14-react-card-monitor
Summary
完成 09-14-react-card-monitor 的 React 卡片监测跨层实现与测试,并归档任务;会话记录关联工作提交 b28ccb0。
Git Commits
| Hash | Message |
|---|---|
b92c25a |
feat: warn unbound OneTalk accounts |
Status
[OK] Completed
Session 73: Index OneTalk durable ledger queries
Date: 2026-09-15
Task: Index OneTalk durable ledger queries
Branch: 09-14-onetalk-indexeddb-query-indexes
Summary
升级 OneTalk IndexedDB 至 v9,增加账号、会话和状态索引,消除同步账本全表读取,并以迁移、ACK 与范围查询回归测试锁定行为。
Git Commits
| Hash | Message |
|---|---|
c4623ee |
feat: index OneTalk sync ledger queries |
Status
[OK] Completed
Session 74: 统一 OneTalk buyer facts IndexedDB
Date: 2026-09-15
Task: 统一 OneTalk buyer facts IndexedDB
Package: chrome-extension
Branch: dev-fix
Summary
将 buyer facts 接入统一 v10 IndexedDB schema,删除错误开发库并保留 v8/v9 升级回归。
Main Changes
- buyer ledger 复用主数据库名称、版本与唯一升级入口
- v9→v10 新增 buyer store 并保留既有 stores、records 与 indexes
- 已从当前扩展 Worker 精确删除错误独立 IndexedDB
Git Commits
| Hash | Message |
|---|---|
cd888ac |
fix: unify OneTalk buyer facts IndexedDB |
Testing
- [OK] buyer、v8→v9、v9→v10 定向回归 3/3 通过
- [OK] 全量扩展测试 402/403 通过;剩余 rendered-card 清理失败为既有基线
- [OK] typecheck/build 仍被 HEAD 既有 storage.ts readAll 未定义阻断
Status
[OK] Completed
Next Steps
- 修复既有 readAll 类型错误后重建并加载扩展,完成 v10 浏览器写入 smoke
Session 75: 统一 OneTalk 二次卡片 Mind 类型
Date: 2026-09-15
Task: 统一 OneTalk 二次卡片 Mind 类型
Branch: 09-15-unify-onetalk-card-mind-types
Summary
完成 OneTalk 二次卡片的 Mind 公开投影统一:保留基础 kind、增加严格可选补全字段、复用 HTTP 与 WebSocket 投影并补齐回归测试。contract/server/extension 完整测试、类型检查和构建通过;全仓格式检查仍受未改动的 observation-pipeline Oxfmt 基线问题影响。
Git Commits
| Hash | Message |
|---|---|
905e9fb |
fix: unify OneTalk rendered card Mind content types |
Status
[OK] Completed
Session 76: 统一 OneTalk 二次卡片 Mind 类型收尾
Date: 2026-09-16
Task: 统一 OneTalk 二次卡片 Mind 类型收尾
Branch: dev
Summary
目标任务已合入 dev 并归档;OneTalk contract 与 server 源码及构建产物测试通过(46/46、196/196),两包类型检查与 git diff --check 通过。全局格式检查仍提示另一个进行中任务的 observation-pipeline.ts。
Git Commits
| Hash | Message |
|---|---|
905e9fb |
fix: unify OneTalk rendered card Mind content types |
Status
[OK] Completed
Session 77: 收尾 OneTalk React 卡片观察
Date: 2026-09-17
Task: 收尾 OneTalk React 卡片观察
Branch: main
Summary
完成并归档 09-15-onetalk-rendered-card-readers;关联 React 卡片 reader、rendered-card ledger 独立提交及其验证。保留仍在进行中的 09-16 OneTalk DOM 二次卡片采集任务。
Git Commits
| Hash | Message |
|---|---|
c19e709 |
fix: add scoped rendered-card ledger readers |
971f84b |
fix: commit rendered-card supplements independently |
Status
[OK] Completed
Session 78: 收尾 OneTalk DOM 二次卡片采集
Date: 2026-09-17
Task: 收尾 OneTalk DOM 二次卡片采集
Branch: main
Summary
完成并归档 09-16-onetalk-dom-secondary-card-collection;关联 DOM-only 二次卡片采集、共享身份解析、独立补全链路与相关验证。当前无剩余活跃任务。
Git Commits
| Hash | Message |
|---|---|
e31ba30 |
feat: add React commit collection for rendered cards |
Status
[OK] Completed
Session 79: Chrome callback 配置响应兼容
Date: 2026-09-17
Task: Chrome callback 配置响应兼容
Branch: tree2
Summary
将 OneTalk Popup 配置消息的 Service Worker listener 改为 callback 加 return true,保留原有配置语义并完成测试、类型检查、构建和独立验收;旧版 Chrome 实机验证待隔离环境执行。
Session 80: OneTalk 引用回复跨端协议
Date: 2026-09-17
Task: OneTalk 引用回复跨端协议
Branch: feat/onetalk-quote-reply-protocol
Summary
完成 OneTalk 文本引用回复的 v9 协议、MAIN-world raw 引用索引、插件发送链路、联调页入口与 Mind 对接文档;契约、服务端、插件测试及类型构建通过。
Git Commits
| Hash | Message |
|---|---|
64e6a59 |
fix: support callback configuration responses |
c09de50 |
feat: add OneTalk quote reply support |
Status
[OK] Completed