lark-remote 0.4.1 → 0.4.3

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 (86) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/README.en.md +2 -2
  3. package/README.md +2 -2
  4. package/dist/bridge/approval-coordinator.d.ts +2 -0
  5. package/dist/bridge/approval-coordinator.js +16 -7
  6. package/dist/bridge/index.d.ts +22 -0
  7. package/dist/bridge/index.js +138 -56
  8. package/dist/card/approval-render.js +9 -8
  9. package/dist/card/card-budget.js +39 -26
  10. package/dist/card/run-renderer.js +9 -2
  11. package/dist/card/text-truncate.d.ts +9 -10
  12. package/dist/card/text-truncate.js +48 -43
  13. package/dist/cli.js +17 -0
  14. package/dist/config/codex-config.d.ts +3 -0
  15. package/dist/config/codex-config.js +4 -1
  16. package/dist/config/dir.js +6 -6
  17. package/dist/config/index.d.ts +7 -5
  18. package/dist/config/index.js +52 -13
  19. package/dist/config/kimi-config.d.ts +4 -1
  20. package/dist/config/kimi-config.js +5 -2
  21. package/dist/config/pi-config.d.ts +2 -7
  22. package/dist/config/pi-config.js +6 -6
  23. package/dist/config/wizard.js +8 -4
  24. package/dist/connector/index.d.ts +19 -0
  25. package/dist/connector/index.js +134 -23
  26. package/dist/inbound/placeholder.d.ts +3 -2
  27. package/dist/inbound/placeholder.js +17 -7
  28. package/dist/index.js +28 -6
  29. package/dist/instance-lock.d.ts +31 -15
  30. package/dist/instance-lock.js +64 -62
  31. package/dist/platform/agent-stopper.d.ts +29 -7
  32. package/dist/platform/agent-stopper.js +40 -8
  33. package/dist/platform/identity.d.ts +59 -3
  34. package/dist/platform/identity.js +105 -30
  35. package/dist/platform/path.d.ts +0 -7
  36. package/dist/platform/path.js +1 -51
  37. package/dist/platform/shell.d.ts +14 -0
  38. package/dist/platform/shell.js +35 -2
  39. package/dist/platform/sleep-blocker.d.ts +6 -0
  40. package/dist/platform/sleep-blocker.js +31 -5
  41. package/dist/platform/spawn.d.ts +1 -1
  42. package/dist/platform/spawn.js +1 -1
  43. package/dist/platform/terminator-posix.d.ts +1 -29
  44. package/dist/platform/terminator-posix.js +32 -30
  45. package/dist/platform/terminator-win32.js +4 -2
  46. package/dist/platform/terminator.d.ts +2 -2
  47. package/dist/platform/terminator.js +17 -2
  48. package/dist/platform/types.d.ts +3 -0
  49. package/dist/router/card-action-feedback.d.ts +17 -0
  50. package/dist/router/card-action-feedback.js +31 -0
  51. package/dist/router/card-helpers.d.ts +38 -2
  52. package/dist/router/card-helpers.js +79 -2
  53. package/dist/router/config/claude.js +8 -5
  54. package/dist/router/index.d.ts +41 -6
  55. package/dist/router/index.js +254 -84
  56. package/dist/runner/claude/runner.js +1 -1
  57. package/dist/runner/claude/session.d.ts +2 -6
  58. package/dist/runner/claude/session.js +7 -8
  59. package/dist/runner/codex/app-server/protocol-types.d.ts +4 -0
  60. package/dist/runner/codex/app-server/protocol-types.js +4 -0
  61. package/dist/runner/codex/app-server/runner.js +3 -0
  62. package/dist/runner/common/acp/base-acp-runner.js +7 -0
  63. package/dist/runner/common/connection-based-runner.d.ts +18 -0
  64. package/dist/runner/common/connection-based-runner.js +31 -0
  65. package/dist/runner/common/jsonrpc/client.js +6 -1
  66. package/dist/runner/common/jsonrpc/connection-manager.d.ts +20 -0
  67. package/dist/runner/common/jsonrpc/connection-manager.js +27 -1
  68. package/dist/runner/common/jsonrpc/transport.d.ts +29 -1
  69. package/dist/runner/common/jsonrpc/transport.js +79 -10
  70. package/dist/runner/common/spawning-runner.d.ts +49 -19
  71. package/dist/runner/common/spawning-runner.js +94 -54
  72. package/dist/runner/dsh/client.d.ts +1 -3
  73. package/dist/runner/dsh/client.js +0 -4
  74. package/dist/runner/dsh/types.d.ts +0 -36
  75. package/dist/runner/kimi/acp/runner.d.ts +18 -1
  76. package/dist/runner/kimi/acp/runner.js +100 -42
  77. package/dist/runner/kimi/acp/translator.d.ts +0 -1
  78. package/dist/runner/opencode/acp/translator.d.ts +0 -1
  79. package/dist/runner/pi/rpc/protocol-types.d.ts +4 -0
  80. package/dist/runner/pi/rpc/runner.js +3 -0
  81. package/dist/runner/resolve-agent-choices.js +0 -5
  82. package/package.json +2 -2
  83. package/dist/runner/common/process-stopper.d.ts +0 -7
  84. package/dist/runner/common/process-stopper.js +0 -8
  85. package/dist/runner/dsh/fake-dsh-server.d.ts +0 -60
  86. package/dist/runner/dsh/fake-dsh-server.js +0 -156
@@ -8,6 +8,8 @@ interface CommandContext {
8
8
  userId: string;
9
9
  chatId: string;
10
10
  messageId: string;
11
+ /** 本轮(装配窗口)全部入站 messageId,`messageId` 是最后一条。见 BridgeContext 同名字段(§B8)。 */
12
+ turnMessageIds?: string[];
11
13
  }
12
14
  interface CommandResult {
13
15
  text?: string;
@@ -61,9 +63,19 @@ export interface CardActionPayload {
61
63
  agent?: string;
62
64
  /** /resume 列表页大小覆盖。 */
63
65
  pageSize?: number;
66
+ /**
67
+ * /ws 与 /ls 列表的关键词筛选(空/缺省 = 无筛选)。服务端零状态:只随卡片
68
+ * callback value 传递,且仅在非空时注入,旧卡片 payload 形态不变。
69
+ */
70
+ q?: string;
71
+ /**
72
+ * 「清除筛选」按钮标记。按钮 callback 不带 input_value,但显式标记比依赖
73
+ * 「读不到输入值」更稳(部分客户端可能把输入框残值一并回传)。
74
+ */
75
+ clearQuery?: boolean;
64
76
  option?: string;
65
77
  formValue?: Record<string, unknown>;
66
- /** CardKit 2.0 input 组件自带提交图标触发回调时回传的输入值 */
78
+ /** CardKit 2.0 input 组件提交(键盘回车/完成键)时回传的输入值 */
67
79
  inputValue?: string;
68
80
  orderId?: string;
69
81
  /** Approval request ID for approval card actions. */
@@ -287,6 +299,14 @@ export declare class CommandRouter {
287
299
  * Handle ls.page: paginate to a specific offset.
288
300
  */
289
301
  private handleLsPage;
302
+ /**
303
+ * Handle ls.filter: 按搜索框提交的关键词重新渲染当前目录卡。
304
+ *
305
+ * offset 恒重置为 0(新筛选从第 1 页开始)。路径校验与 TOCTOU 兜底照
306
+ * handleLsPage——校验失败只回错误 toast,绝不动卡片(否则用户看到一张空卡)。
307
+ * ls.browse / ls.switch 的 value 里刻意不带 q,换目录即清除筛选(设计文档 §2.3)。
308
+ */
309
+ private handleLsFilter;
290
310
  /**
291
311
  * Handle resume.page: paginate the /resume session list in place.
292
312
  * Mirrors handleLsPage — updates the same card, never sends a new one.
@@ -331,11 +351,12 @@ export declare class CommandRouter {
331
351
  } | null;
332
352
  /**
333
353
  * W2.8 单源:重建 order/ws 列表卡(不投递,card 进 callback 响应体用)。
354
+ * `q` 只服务 ws 卡的关键词筛选;order 卡无此功能,不透传。
334
355
  */
335
356
  private rebuildListCard;
336
357
  /**
337
358
  * W2.8 单源:「重建列表卡 → updateCardInPlace」原地刷新骨架(列表卡删除/
338
- * 翻页/移除/排序动作共用)。返回重建后的卡片;无卡时返回 undefined 且跳过更新。
359
+ * 翻页/移除/排序/筛选动作共用)。返回重建后的卡片;无卡时返回 undefined 且跳过更新。
339
360
  */
340
361
  private refreshListCard;
341
362
  /**
@@ -356,7 +377,7 @@ export declare class CommandRouter {
356
377
  */
357
378
  private handleOrderPage;
358
379
  /**
359
- * Handle order.aliasEdit: 展示别名编辑卡(input + ✓ 提交图标)。
380
+ * Handle order.aliasEdit: 展示别名编辑卡(input,回车/完成键提交)。
360
381
  * 有别名时预填;提交 `order.aliasInput` 处理(含校验与唯一性)。
361
382
  */
362
383
  /**
@@ -373,7 +394,7 @@ export declare class CommandRouter {
373
394
  /** Handle order.aliasRemove: 删除某条指令的别名并原地重渲染列表卡。 */
374
395
  private handleOrderAliasRemove;
375
396
  /**
376
- * Handle order.textEdit: 展示指令文本编辑卡(input + ✓ 提交图标)。
397
+ * Handle order.textEdit: 展示指令文本编辑卡(input,回车/完成键提交)。
377
398
  * 预填当前 text(完整内容,不截断——input 组件有自有滚动条);
378
399
  * 提交 `order.textInput` 处理(trim + 长度校验 + OrderStore.updateText)。
379
400
  * 完全镜像 handleOrderAliasEdit 的 4 段结构(reload → find → 构造 editCard →
@@ -408,6 +429,11 @@ export declare class CommandRouter {
408
429
  * Mirrors handleOrderPage — updates the same card, never sends a new one.
409
430
  */
410
431
  private handleWsPage;
432
+ /**
433
+ * Handle ws.filter: 按搜索框提交的关键词重新渲染列表卡。
434
+ * offset 恒重置为 0(新筛选从第 1 页开始);提交空串 = 清除筛选。
435
+ */
436
+ private handleWsFilter;
411
437
  /**
412
438
  * Handle ws.sort: toggle sort preference and refresh the /ws list card.
413
439
  * Sort preference is memory-only (not persisted); restart resets to 'recent'.
@@ -531,8 +557,10 @@ export declare class CommandRouter {
531
557
  * @param rootDir 浏览起点:卡片「返回」按钮回到这里。省略时默认 = 本次列出的
532
558
  * 目录(`/ls <dir>` 的起点即该目录),因此「返回」不会把用户
533
559
  * 丢回 workspace cwd(用户明确反馈过)。
560
+ * @param q 关键词筛选:只匹配**当前层**条目名(不递归),大小写不敏感。
561
+ * 省略/空 = 无筛选。
534
562
  */
535
- cmdLs(args: string[], ctx: CommandContext, offset?: number, rootDir?: string): CommandResult;
563
+ cmdLs(args: string[], ctx: CommandContext, offset?: number, rootDir?: string, q?: string): CommandResult;
536
564
  /**
537
565
  * `/download <path>`(别名 `/d`):把本地文件直接发送到飞书。
538
566
  *
@@ -547,7 +575,14 @@ export declare class CommandRouter {
547
575
  * 此前直接回 `ls: xxx: Not a directory` 把文件路径当成错误处理。
548
576
  */
549
577
  private buildFileCard;
550
- private cmdWs;
578
+ /**
579
+ * `/ws` 实现(public:测试直接调用,替代 as unknown as,与 cmdLs 同款)。
580
+ *
581
+ * @param offset list 分支的分页起点(条目数)
582
+ * @param q list 分支的关键词筛选:name 或完整 path 命中即保留,大小写
583
+ * 不敏感。省略/空 = 无筛选。
584
+ */
585
+ cmdWs(args: string[], ctx: CommandContext, offset?: number, q?: string): CommandResult;
551
586
  /**
552
587
  * L3: degraded card when a session's export is non-empty but unparseable
553
588
  * (truncated by opencode's pipe cap on huge sessions, or otherwise corrupt).