@yoooclaw/phone-notifications 1.12.0 → 1.12.2

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 (78) hide show
  1. package/README.md +212 -29
  2. package/dist/bin/ntf.cjs +918 -113
  3. package/dist/bin/ntf.cjs.map +15 -10
  4. package/dist/cli/helpers.d.ts +27 -0
  5. package/dist/cli/helpers.d.ts.map +1 -1
  6. package/dist/cli/image-list.d.ts +3 -0
  7. package/dist/cli/image-list.d.ts.map +1 -0
  8. package/dist/cli/image-path.d.ts +3 -0
  9. package/dist/cli/image-path.d.ts.map +1 -0
  10. package/dist/cli/image-status.d.ts +3 -0
  11. package/dist/cli/image-status.d.ts.map +1 -0
  12. package/dist/cli/image-storage-path.d.ts +3 -0
  13. package/dist/cli/image-storage-path.d.ts.map +1 -0
  14. package/dist/cli/index.d.ts.map +1 -1
  15. package/dist/cli/ntf-query.d.ts +11 -0
  16. package/dist/cli/ntf-query.d.ts.map +1 -1
  17. package/dist/cli/ntf-summary-job.d.ts +3 -0
  18. package/dist/cli/ntf-summary-job.d.ts.map +1 -0
  19. package/dist/cli/ntf-summary.d.ts.map +1 -1
  20. package/dist/cli/ntf-sync.d.ts.map +1 -1
  21. package/dist/env.d.ts +3 -0
  22. package/dist/env.d.ts.map +1 -1
  23. package/dist/image/handler.d.ts +19 -0
  24. package/dist/image/handler.d.ts.map +1 -0
  25. package/dist/image/index.d.ts +3 -0
  26. package/dist/image/index.d.ts.map +1 -0
  27. package/dist/image/store.d.ts +76 -0
  28. package/dist/image/store.d.ts.map +1 -0
  29. package/dist/index.cjs +9089 -7137
  30. package/dist/index.cjs.map +40 -35
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/light-rules/client.d.ts +58 -0
  33. package/dist/light-rules/client.d.ts.map +1 -0
  34. package/dist/light-rules/gateway.d.ts.map +1 -1
  35. package/dist/light-rules/types.d.ts +13 -8
  36. package/dist/light-rules/types.d.ts.map +1 -1
  37. package/dist/notification/storage.d.ts +1 -0
  38. package/dist/notification/storage.d.ts.map +1 -1
  39. package/dist/notification/summary.d.ts +144 -0
  40. package/dist/notification/summary.d.ts.map +1 -0
  41. package/dist/plugin/images.d.ts +16 -0
  42. package/dist/plugin/images.d.ts.map +1 -0
  43. package/dist/plugin/lifecycle.d.ts +2 -0
  44. package/dist/plugin/lifecycle.d.ts.map +1 -1
  45. package/dist/plugin/light-rules-tools.d.ts +2 -2
  46. package/dist/plugin/light-rules-tools.d.ts.map +1 -1
  47. package/dist/plugin/notifications.d.ts +5 -3
  48. package/dist/plugin/notifications.d.ts.map +1 -1
  49. package/dist/plugin/recordings.d.ts.map +1 -1
  50. package/dist/recording/handler.d.ts +1 -0
  51. package/dist/recording/handler.d.ts.map +1 -1
  52. package/dist/recording/index.d.ts +1 -0
  53. package/dist/recording/index.d.ts.map +1 -1
  54. package/dist/recording/result-writer.d.ts +9 -0
  55. package/dist/recording/result-writer.d.ts.map +1 -0
  56. package/dist/recording/storage.d.ts +2 -0
  57. package/dist/recording/storage.d.ts.map +1 -1
  58. package/dist/recording/transcript-document.d.ts +1 -0
  59. package/dist/recording/transcript-document.d.ts.map +1 -1
  60. package/dist/tunnel/frame-slimmer.d.ts +37 -0
  61. package/dist/tunnel/frame-slimmer.d.ts.map +1 -0
  62. package/dist/tunnel/proxy.d.ts.map +1 -1
  63. package/dist/types.d.ts +120 -0
  64. package/dist/types.d.ts.map +1 -1
  65. package/dist/update/checker.d.ts +2 -1
  66. package/dist/update/checker.d.ts.map +1 -1
  67. package/dist/update/index.d.ts.map +1 -1
  68. package/openclaw.plugin.json +13 -1
  69. package/package.json +3 -2
  70. package/skills/notification-monitor/SKILL.md +14 -13
  71. package/skills/notification-query/SKILL.md +101 -7
  72. package/skills/notification-to-memory/SKILL.md +57 -22
  73. package/skills/notification-to-memory/references/step-0-preflight.md +0 -40
  74. package/skills/notification-to-memory/references/step-1-scan-pending.md +0 -137
  75. package/skills/notification-to-memory/references/step-2-process-dates.md +0 -98
  76. package/skills/notification-to-memory/references/step-3-check-cron-status.md +0 -38
  77. package/skills/notification-to-memory/references/step-4-final-reporting.md +0 -57
  78. package/skills/notification-to-memory/scripts/select-memory-prompt.sh +0 -18
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;;;;kBA6D7C,iBAAiB;;AAJjC,wBA4ME"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;;;;kBAsE7C,iBAAiB;;AAJjC,wBAuPE"}
@@ -0,0 +1,58 @@
1
+ import type { LightRuleMeta, LightRuleUpdateParams } from "./types.js";
2
+ export type LightRuleRecord = LightRuleMeta & {
3
+ id: string;
4
+ };
5
+ export interface LightRuleCreateInput {
6
+ ruleText: string;
7
+ }
8
+ export interface LightRuleCreateResult {
9
+ id: string;
10
+ name: string;
11
+ requestId?: string;
12
+ warning?: string;
13
+ }
14
+ export interface LightRuleUpdateResult {
15
+ id?: string;
16
+ name?: string;
17
+ title?: string;
18
+ requestId?: string;
19
+ warning?: string;
20
+ updated: true;
21
+ rule?: LightRuleRecord;
22
+ }
23
+ export interface LightRuleDeleteResult {
24
+ id: string;
25
+ name: string;
26
+ requestId?: string;
27
+ }
28
+ export interface LightRuleService {
29
+ list(): Promise<LightRuleRecord[]>;
30
+ create(params: LightRuleCreateInput): Promise<LightRuleCreateResult>;
31
+ update(identifier: string, patch: LightRuleUpdateParams): Promise<LightRuleUpdateResult>;
32
+ delete(identifier: string): Promise<LightRuleDeleteResult>;
33
+ }
34
+ export declare class LightRuleApiError extends Error {
35
+ readonly code: string;
36
+ readonly status?: number | undefined;
37
+ constructor(code: string, message: string, status?: number | undefined);
38
+ }
39
+ export declare class NotificationIntelligenceLightRuleClient implements LightRuleService {
40
+ private readonly deps;
41
+ constructor(deps?: {
42
+ logger?: {
43
+ info: (message: string) => void;
44
+ warn: (message: string) => void;
45
+ };
46
+ baseUrl?: string;
47
+ });
48
+ list(): Promise<LightRuleRecord[]>;
49
+ create(params: LightRuleCreateInput): Promise<LightRuleCreateResult>;
50
+ update(identifier: string, patch: LightRuleUpdateParams): Promise<LightRuleUpdateResult>;
51
+ private patchResolvedRule;
52
+ delete(identifier: string): Promise<LightRuleDeleteResult>;
53
+ private resolveIdentifier;
54
+ private request;
55
+ private baseUrl;
56
+ private apiKeyHeader;
57
+ }
58
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/light-rules/client.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAEvE,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAE7D,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,IAAI,CAAC;IACd,IAAI,CAAC,EAAE,eAAe,CAAC;CACxB;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IACnC,MAAM,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACrE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACzF,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;CAC5D;AAqBD,qBAAa,iBAAkB,SAAQ,KAAK;aAExB,IAAI,EAAE,MAAM;aAEZ,MAAM,CAAC,EAAE,MAAM;gBAFf,IAAI,EAAE,MAAM,EAC5B,OAAO,EAAE,MAAM,EACC,MAAM,CAAC,EAAE,MAAM,YAAA;CAKlC;AAED,qBAAa,uCAAwC,YAAW,gBAAgB;IAE5E,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,GAAE;QACrB,MAAM,CAAC,EAAE;YAAE,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;YAAC,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;SAAE,CAAC;QAC9E,OAAO,CAAC,EAAE,MAAM,CAAC;KACb;IAGF,IAAI,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAMlC,MAAM,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IA+BpE,MAAM,CACV,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,qBAAqB,GAC3B,OAAO,CAAC,qBAAqB,CAAC;YAgCnB,iBAAiB;IA6BzB,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;YAalD,iBAAiB;YAejB,OAAO;IAkErB,OAAO,CAAC,OAAO;IAQf,OAAO,CAAC,YAAY;CASrB"}
@@ -1 +1 @@
1
- {"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../../src/light-rules/gateway.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAK3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAOtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAgBvD,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,iBAAiB,EACtB,QAAQ,EAAE,iBAAiB,EAC3B,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EACrC,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,WAAW,GAAG,SAAS,KAAK,IAAI,GAC/D,IAAI,CAgON"}
1
+ {"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../../src/light-rules/gateway.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAK3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAqCvD,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,iBAAiB,EACtB,QAAQ,EAAE,iBAAiB,EAC3B,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EACrC,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,WAAW,GAAG,SAAS,KAAK,IAAI,GAC/D,IAAI,CAgON"}
@@ -1,5 +1,7 @@
1
1
  import type { LightSegment } from "../types.js";
2
2
  export interface LightRuleMeta {
3
+ /** 云端规则 ID;旧本地规则没有该字段时由 name 兼容填充 */
4
+ id?: string;
3
5
  /** 内部唯一标识符(用于 tasks 目录名、规则查找和更新/删除) */
4
6
  name: string;
5
7
  /** 人类可读的规则名;应是对 description 的简短总结 */
@@ -17,15 +19,15 @@ export interface LightRuleMeta {
17
19
  updatedAt?: string;
18
20
  }
19
21
  export interface LightRuleCreateParams {
20
- name: string;
21
- title: string;
22
- description: string;
23
- segments: unknown;
24
- repeat_times?: number;
25
- repeat?: boolean;
22
+ /** 用户原始自然语言规则,由 Notification Intelligence Service 编译成可运行规则 */
23
+ ruleText: string;
26
24
  }
27
25
  export interface LightRuleUpdateParams {
28
- name: string;
26
+ id?: string;
27
+ name?: string;
28
+ ruleId?: string;
29
+ ruleName?: string;
30
+ ruleText?: string;
29
31
  title?: string;
30
32
  description?: string;
31
33
  segments?: unknown;
@@ -34,6 +36,9 @@ export interface LightRuleUpdateParams {
34
36
  enabled?: boolean;
35
37
  }
36
38
  export interface LightRuleDeleteParams {
37
- name: string;
39
+ id?: string;
40
+ name?: string;
41
+ ruleId?: string;
42
+ ruleName?: string;
38
43
  }
39
44
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/light-rules/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,MAAM,WAAW,aAAa;IAC5B,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,qCAAqC;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,YAAY,CAAC;IACnB;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;CACd"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/light-rules/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,MAAM,WAAW,aAAa;IAC5B,qCAAqC;IACrC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,qCAAqC;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,YAAY,CAAC;IACnB;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,8DAA8D;IAC9D,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB"}
@@ -57,6 +57,7 @@ export declare class NotificationStorage {
57
57
  private dateWriteChains;
58
58
  private resolveDisplayName;
59
59
  constructor(dir: string, logger: Logger, resolveDisplayName?: ResolveDisplayName);
60
+ getStorageDir(): string;
60
61
  init(): Promise<void>;
61
62
  ingest(items: RawNotification[], ingestId?: string): Promise<NotificationIngestResult>;
62
63
  private writeNotification;
@@ -1 +1 @@
1
- {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/notification/storage.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAInD,UAAU,MAAM;IACd,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC;AAED,MAAM,MAAM,4BAA4B,GAAG,SAAS,GAAG,OAAO,CAAC;AAE/D,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,2DAA2D;AAC3D,MAAM,WAAW,kBAAkB;IACjC,uCAAuC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS;IACT,OAAO,EAAE,MAAM,CAAC;IAChB,mCAAmC;IACnC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,SAAS,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iCAAiC;IACjC,gBAAgB,CAAC,EAAE,4BAA4B,CAAC;IAChD,yCAAyC;IACzC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAMD,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,QAAQ,EAAE,kBAAkB,EAAE,CAAC;CAChC;AAQD,wBAAgB,+BAA+B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAExE;AAmCD,wBAAgB,6BAA6B,CAC3C,GAAG,EAAE,cAAc,EACnB,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GACpC,MAAM,CAqBR;AAED,mDAAmD;AACnD,MAAM,MAAM,kBAAkB,GAAG,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAE1E,qBAAa,mBAAmB;IAW5B,OAAO,CAAC,MAAM;IAVhB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,OAAO,CAAkC;IACjD,OAAO,CAAC,eAAe,CAAkC;IACzD,OAAO,CAAC,eAAe,CAAoC;IAC3D,OAAO,CAAC,kBAAkB,CAAiC;gBAGzD,GAAG,EAAE,MAAM,EACH,MAAM,EAAE,MAAM,EACtB,kBAAkB,CAAC,EAAE,kBAAkB;IAQnC,IAAI;IAOJ,MAAM,CACV,KAAK,EAAE,eAAe,EAAE,EACxB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,wBAAwB,CAAC;YAqCtB,iBAAiB;IA0C/B,OAAO,CAAC,uBAAuB;IAuB/B,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,QAAQ;IAsBhB,OAAO,CAAC,sBAAsB;IAO9B,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,sBAAsB;IAI9B,OAAO,CAAC,gBAAgB;IAyBxB,OAAO,CAAC,yBAAyB;IAWjC,OAAO,CAAC,oBAAoB;IAW5B,OAAO,CAAC,4BAA4B;IAgBpC,OAAO,CAAC,2BAA2B;IAgBnC,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,uBAAuB;YAajB,iBAAiB;IAuBzB,KAAK;CAKZ"}
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/notification/storage.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAInD,UAAU,MAAM;IACd,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC;AAED,MAAM,MAAM,4BAA4B,GAAG,SAAS,GAAG,OAAO,CAAC;AAE/D,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,2DAA2D;AAC3D,MAAM,WAAW,kBAAkB;IACjC,uCAAuC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS;IACT,OAAO,EAAE,MAAM,CAAC;IAChB,mCAAmC;IACnC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,SAAS,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iCAAiC;IACjC,gBAAgB,CAAC,EAAE,4BAA4B,CAAC;IAChD,yCAAyC;IACzC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAMD,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,QAAQ,EAAE,kBAAkB,EAAE,CAAC;CAChC;AAQD,wBAAgB,+BAA+B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAExE;AAmCD,wBAAgB,6BAA6B,CAC3C,GAAG,EAAE,cAAc,EACnB,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GACpC,MAAM,CAqBR;AAED,mDAAmD;AACnD,MAAM,MAAM,kBAAkB,GAAG,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAE1E,qBAAa,mBAAmB;IAW5B,OAAO,CAAC,MAAM;IAVhB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,OAAO,CAAkC;IACjD,OAAO,CAAC,eAAe,CAAkC;IACzD,OAAO,CAAC,eAAe,CAAoC;IAC3D,OAAO,CAAC,kBAAkB,CAAiC;gBAGzD,GAAG,EAAE,MAAM,EACH,MAAM,EAAE,MAAM,EACtB,kBAAkB,CAAC,EAAE,kBAAkB;IAQzC,aAAa,IAAI,MAAM;IAIjB,IAAI;IAOJ,MAAM,CACV,KAAK,EAAE,eAAe,EAAE,EACxB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,wBAAwB,CAAC;YAqCtB,iBAAiB;IA0C/B,OAAO,CAAC,uBAAuB;IAuB/B,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,QAAQ;IAsBhB,OAAO,CAAC,sBAAsB;IAO9B,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,sBAAsB;IAI9B,OAAO,CAAC,gBAAgB;IAyBxB,OAAO,CAAC,yBAAyB;IAWjC,OAAO,CAAC,oBAAoB;IAW5B,OAAO,CAAC,4BAA4B;IAgBpC,OAAO,CAAC,2BAA2B;IAgBnC,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,uBAAuB;YAajB,iBAAiB;IAuBzB,KAAK;CAKZ"}
@@ -0,0 +1,144 @@
1
+ import { type NotificationQueryStats } from "../cli/ntf-query.js";
2
+ export type CountRow<T extends Record<string, unknown>> = T & {
3
+ count: number;
4
+ };
5
+ export declare const NOTIFICATION_SUMMARY_STATUS_EVENT = "notification.summary.status";
6
+ export declare const NOTIFICATION_SUMMARY_RESULT_EVENT = "notification.summary.result";
7
+ export declare const DEFAULT_NOTIFICATION_SUMMARY_LIMIT = 700;
8
+ export declare const MAX_NOTIFICATION_SUMMARY_LIMIT = 3000;
9
+ export type NotificationSummaryPhase = "queued" | "scanning" | "snapshot_created" | "summarizing" | "merging" | "complete" | "failed";
10
+ export type NotificationSummaryJobStatus = "queued" | "running" | "complete" | "failed";
11
+ export interface NotificationSummaryOptions {
12
+ from?: unknown;
13
+ to?: unknown;
14
+ app?: unknown;
15
+ sender?: unknown;
16
+ conversationType?: unknown;
17
+ keyword?: unknown;
18
+ client?: unknown;
19
+ limit?: unknown;
20
+ chunkSize?: unknown;
21
+ sample?: unknown;
22
+ top?: unknown;
23
+ maxContent?: unknown;
24
+ }
25
+ export interface NotificationSummaryProgressEvent {
26
+ jobId?: string;
27
+ phase: NotificationSummaryPhase;
28
+ status: NotificationSummaryJobStatus;
29
+ message: string;
30
+ updatedAt: string;
31
+ totalNotifications?: number;
32
+ totalChunks?: number;
33
+ doneChunks?: number;
34
+ doneNotifications?: number;
35
+ percent?: number;
36
+ range?: {
37
+ newest: string | null;
38
+ oldest: string | null;
39
+ };
40
+ scan?: NotificationQueryStats & {
41
+ elapsedMs: number;
42
+ };
43
+ error?: {
44
+ code: string;
45
+ message: string;
46
+ };
47
+ }
48
+ export type NotificationSummaryStatusEvent = NotificationSummaryProgressEvent & {
49
+ jobId: string;
50
+ };
51
+ export interface NotificationSummaryResultEvent {
52
+ jobId: string;
53
+ status: "complete" | "failed";
54
+ ok: boolean;
55
+ updatedAt: string;
56
+ message: string;
57
+ title?: string;
58
+ markdown?: string;
59
+ total?: number;
60
+ limit?: number;
61
+ cappedLimit?: boolean;
62
+ range?: {
63
+ newest: string | null;
64
+ oldest: string | null;
65
+ };
66
+ progress?: {
67
+ totalChunks: number;
68
+ doneChunks: number;
69
+ totalNotifications: number;
70
+ doneNotifications: number;
71
+ };
72
+ scan?: NotificationQueryStats & {
73
+ elapsedMs: number;
74
+ };
75
+ byApp?: CountRow<{
76
+ app: string;
77
+ }>[];
78
+ bySender?: CountRow<{
79
+ sender: string;
80
+ }>[];
81
+ byConversation?: CountRow<{
82
+ conversationName: string;
83
+ conversationType?: string;
84
+ }>[];
85
+ error?: {
86
+ code: string;
87
+ message: string;
88
+ };
89
+ }
90
+ export interface NotificationSummaryResult {
91
+ ok: true;
92
+ jobId?: string;
93
+ total: number;
94
+ limit: number;
95
+ cappedLimit: boolean;
96
+ chunkSize: number;
97
+ range: {
98
+ newest: string | null;
99
+ oldest: string | null;
100
+ };
101
+ scan: NotificationQueryStats & {
102
+ elapsedMs: number;
103
+ };
104
+ progress: {
105
+ totalChunks: number;
106
+ doneChunks: number;
107
+ totalNotifications: number;
108
+ doneNotifications: number;
109
+ };
110
+ byApp: CountRow<{
111
+ app: string;
112
+ }>[];
113
+ bySender: CountRow<{
114
+ sender: string;
115
+ }>[];
116
+ byConversation: CountRow<{
117
+ conversationName: string;
118
+ conversationType?: string;
119
+ }>[];
120
+ latest: CompactNotification[];
121
+ displayMarkdown: string;
122
+ markdown: string;
123
+ }
124
+ export declare class NotificationSummaryError extends Error {
125
+ readonly code: string;
126
+ constructor(code: string, message: string);
127
+ }
128
+ export interface CompactNotification {
129
+ appName: string;
130
+ appDisplayName?: string;
131
+ title: string;
132
+ content: string;
133
+ timestamp: string;
134
+ senderName?: string;
135
+ conversationType?: string;
136
+ conversationName?: string;
137
+ }
138
+ export declare function runNotificationSummary(params: {
139
+ notificationsDir: string;
140
+ options?: NotificationSummaryOptions;
141
+ jobId?: string;
142
+ onProgress?: (event: NotificationSummaryProgressEvent) => void | Promise<void>;
143
+ }): Promise<NotificationSummaryResult>;
144
+ //# sourceMappingURL=summary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"summary.d.ts","sourceRoot":"","sources":["../../src/notification/summary.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { OpenClawPluginApi } from "openclaw/plugin-sdk";
2
+ import type { Logger } from "../logger.js";
3
+ import { ImageStorage } from "../image/index.js";
4
+ import type { RelayTunnelService } from "../tunnel/service.js";
5
+ import { type GatewayMethodRegistrar } from "./shared.js";
6
+ interface ImageInterfaceDeps {
7
+ api: OpenClawPluginApi;
8
+ logger: Logger;
9
+ getImageStorage: () => ImageStorage | null;
10
+ registerGatewayMethod: GatewayMethodRegistrar;
11
+ maxBytes: number;
12
+ tunnelService?: RelayTunnelService | null;
13
+ }
14
+ export declare function registerImageInterfaces(deps: ImageInterfaceDeps): void;
15
+ export {};
16
+ //# sourceMappingURL=images.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"images.d.ts","sourceRoot":"","sources":["../../src/plugin/images.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EACL,YAAY,EAGb,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,OAAO,EAGL,KAAK,sBAAsB,EAC5B,MAAM,aAAa,CAAC;AAsBrB,UAAU,kBAAkB;IAC1B,GAAG,EAAE,iBAAiB,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,YAAY,GAAG,IAAI,CAAC;IAC3C,qBAAqB,EAAE,sBAAsB,CAAC;IAC9C,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;CAC3C;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,kBAAkB,GAAG,IAAI,CAqHtE"}
@@ -2,6 +2,7 @@ import type { OpenClawPluginApi } from "openclaw/plugin-sdk";
2
2
  import type { Logger } from "../logger.js";
3
3
  import { NotificationStorage } from "../notification/storage.js";
4
4
  import { RecordingStorage } from "../recording/index.js";
5
+ import { ImageStorage } from "../image/index.js";
5
6
  import { type RelayTunnelService } from "../tunnel/service.js";
6
7
  import type { PluginConfig } from "../types.js";
7
8
  interface LightRuleContext {
@@ -14,6 +15,7 @@ interface StorageLifecycleDeps {
14
15
  lightRuleCtx: LightRuleContext;
15
16
  setStorage: (storage: NotificationStorage | null) => void;
16
17
  setRecordingStorage: (storage: RecordingStorage | null) => void;
18
+ setImageStorage: (storage: ImageStorage | null) => void;
17
19
  /**
18
20
  * 在 storage service 完成 start 之后触发,此时 lightRuleCtx 已被回填。
19
21
  * 用于让 LightRuleRegistry 等下游组件在拿到真实 workspaceDir 后重新加载状态。
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../src/plugin/lifecycle.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,EACL,mBAAmB,EAEpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,gBAAgB,EAEjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAKhD,UAAU,gBAAgB;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,oBAAoB;IAC5B,GAAG,EAAE,iBAAiB,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,gBAAgB,CAAC;IAC/B,UAAU,EAAE,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,KAAK,IAAI,CAAC;IAC1D,mBAAmB,EAAE,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,KAAK,IAAI,CAAC;IAChE;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;CAC7B;AAED,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,oBAAoB,GACzB,IAAI,CA0DN;AAuGD,UAAU,eAAe;IACvB,GAAG,EAAE,iBAAiB,CAAC;IACvB,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,eAAe,GACpB,kBAAkB,GAAG,IAAI,CAyD3B"}
1
+ {"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../src/plugin/lifecycle.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,EACL,mBAAmB,EAEpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,gBAAgB,EAEjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,YAAY,EAEb,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAKhD,UAAU,gBAAgB;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,oBAAoB;IAC5B,GAAG,EAAE,iBAAiB,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,gBAAgB,CAAC;IAC/B,UAAU,EAAE,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,KAAK,IAAI,CAAC;IAC1D,mBAAmB,EAAE,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,KAAK,IAAI,CAAC;IAChE,eAAe,EAAE,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,KAAK,IAAI,CAAC;IACxD;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;CAC7B;AAED,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,oBAAoB,GACzB,IAAI,CAuEN;AAuGD,UAAU,eAAe;IACvB,GAAG,EAAE,iBAAiB,CAAC;IACvB,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,eAAe,GACpB,kBAAkB,GAAG,IAAI,CAyD3B"}
@@ -1,5 +1,5 @@
1
1
  import type { OpenClawPluginApi } from "openclaw/plugin-sdk";
2
2
  import type { Logger } from "../logger.js";
3
- import type { LightRuleRegistry } from "../light-rules/registry.js";
4
- export declare function registerLightRulesTools(api: OpenClawPluginApi, registry: LightRuleRegistry, logger: Pick<Logger, "info" | "warn">): void;
3
+ import { type LightRuleService } from "../light-rules/client.js";
4
+ export declare function registerLightRulesTools(api: OpenClawPluginApi, service: LightRuleService, logger: Pick<Logger, "info" | "warn">): void;
5
5
  //# sourceMappingURL=light-rules-tools.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"light-rules-tools.d.ts","sourceRoot":"","sources":["../../src/plugin/light-rules-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAK3C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AA8EpE,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,iBAAiB,EACtB,QAAQ,EAAE,iBAAiB,EAC3B,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GACpC,IAAI,CAiON"}
1
+ {"version":3,"file":"light-rules-tools.d.ts","sourceRoot":"","sources":["../../src/plugin/light-rules-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAI3C,OAAO,EAAqB,KAAK,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AA8LpF,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,iBAAiB,EACtB,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GACpC,IAAI,CAuKN"}
@@ -1,6 +1,7 @@
1
1
  import type { OpenClawPluginApi } from "openclaw/plugin-sdk";
2
2
  import type { Logger } from "../logger.js";
3
- import { NotificationStorage, type StoredNotification } from "../notification/storage.js";
3
+ import { NotificationStorage } from "../notification/storage.js";
4
+ import { type NotificationSummaryResultEvent, type NotificationSummaryStatusEvent } from "../notification/summary.js";
4
5
  import type { RelayTunnelService } from "../tunnel/service.js";
5
6
  import type { RawNotification } from "../types.js";
6
7
  import { type GatewayMethodRegistrar } from "./shared.js";
@@ -8,11 +9,12 @@ interface NotificationInterfaceDeps {
8
9
  api: OpenClawPluginApi;
9
10
  logger: Logger;
10
11
  getStorage: () => NotificationStorage | null;
12
+ summaryNotificationsDir?: string;
11
13
  filterNotifications: (items: RawNotification[]) => RawNotification[];
12
14
  registerGatewayMethod: GatewayMethodRegistrar;
15
+ notifyNotificationSummaryStatus?: (event: NotificationSummaryStatusEvent) => void;
16
+ notifyNotificationSummaryResult?: (event: NotificationSummaryResultEvent) => void;
13
17
  tunnelService?: RelayTunnelService | null;
14
- /** 通知落盘后的钩子,用于触发灯效规则评估。 */
15
- onAfterIngest?: (inserted: StoredNotification[], ingestId: string) => void | Promise<void>;
16
18
  }
17
19
  export declare function registerNotificationInterfaces(deps: NotificationInterfaceDeps): void;
18
20
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"notifications.d.ts","sourceRoot":"","sources":["../../src/plugin/notifications.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAEL,mBAAmB,EACnB,KAAK,kBAAkB,EACxB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAGV,eAAe,EAChB,MAAM,aAAa,CAAC;AACrB,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,aAAa,CAAC;AAyDrB,UAAU,yBAAyB;IACjC,GAAG,EAAE,iBAAiB,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,mBAAmB,GAAG,IAAI,CAAC;IAC7C,mBAAmB,EAAE,CAAC,KAAK,EAAE,eAAe,EAAE,KAAK,eAAe,EAAE,CAAC;IACrE,qBAAqB,EAAE,sBAAsB,CAAC;IAC9C,aAAa,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC1C,2BAA2B;IAC3B,aAAa,CAAC,EAAE,CACd,QAAQ,EAAE,kBAAkB,EAAE,EAC9B,QAAQ,EAAE,MAAM,KACb,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAED,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,yBAAyB,GAC9B,IAAI,CAyJN"}
1
+ {"version":3,"file":"notifications.d.ts","sourceRoot":"","sources":["../../src/plugin/notifications.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAEL,mBAAmB,EACpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAQL,KAAK,8BAA8B,EACnC,KAAK,8BAA8B,EACpC,MAAM,4BAA4B,CAAC;AAEpC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAGV,eAAe,EAChB,MAAM,aAAa,CAAC;AACrB,OAAO,EAGL,KAAK,sBAAsB,EAC5B,MAAM,aAAa,CAAC;AAwDrB,UAAU,yBAAyB;IACjC,GAAG,EAAE,iBAAiB,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,mBAAmB,GAAG,IAAI,CAAC;IAC7C,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,mBAAmB,EAAE,CAAC,KAAK,EAAE,eAAe,EAAE,KAAK,eAAe,EAAE,CAAC;IACrE,qBAAqB,EAAE,sBAAsB,CAAC;IAC9C,+BAA+B,CAAC,EAAE,CAAC,KAAK,EAAE,8BAA8B,KAAK,IAAI,CAAC;IAClF,+BAA+B,CAAC,EAAE,CAAC,KAAK,EAAE,8BAA8B,KAAK,IAAI,CAAC;IAClF,aAAa,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;CAC3C;AAmGD,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,yBAAyB,GAC9B,IAAI,CAgeN"}
@@ -1 +1 @@
1
- {"version":3,"file":"recordings.d.ts","sourceRoot":"","sources":["../../src/plugin/recordings.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EACL,gBAAgB,EAQhB,KAAK,oBAAoB,EAE1B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAa/D,OAAO,EAGL,KAAK,sBAAsB,EAC5B,MAAM,aAAa,CAAC;AAwFrB,UAAU,sBAAsB;IAC9B,GAAG,EAAE,iBAAiB,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,MAAM,gBAAgB,GAAG,IAAI,CAAC;IACnD,qBAAqB,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI,CAAC;IAC7D,qBAAqB,EAAE,sBAAsB,CAAC;IAC9C,2BAA2B,EAAE,MAAM,OAAO,CAAC;IAC3C,aAAa,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;CAC3C;AAED,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,sBAAsB,GAC3B,IAAI,CA0ZN"}
1
+ {"version":3,"file":"recordings.d.ts","sourceRoot":"","sources":["../../src/plugin/recordings.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EACL,gBAAgB,EAShB,KAAK,oBAAoB,EAE1B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAc/D,OAAO,EAGL,KAAK,sBAAsB,EAC5B,MAAM,aAAa,CAAC;AAwFrB,UAAU,sBAAsB;IAC9B,GAAG,EAAE,iBAAiB,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,MAAM,gBAAgB,GAAG,IAAI,CAAC;IACnD,qBAAqB,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI,CAAC;IAC7D,qBAAqB,EAAE,sBAAsB,CAAC;IAC9C,2BAA2B,EAAE,MAAM,OAAO,CAAC;IAC3C,aAAa,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;CAC3C;AAED,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,sBAAsB,GAC3B,IAAI,CA2cN"}
@@ -17,6 +17,7 @@ export interface RecordingStatusEvent {
17
17
  srtFile?: string;
18
18
  transcriptDataFile?: string;
19
19
  transcriptFile?: string;
20
+ summaryFile?: string;
20
21
  transcript?: RecordingTranscriptItem[];
21
22
  summary?: string;
22
23
  title: string;
@@ -1 +1 @@
1
- {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../src/recording/handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,iBAAiB,EACjB,mBAAmB,EACnB,SAAS,EACT,uBAAuB,EACvB,uBAAuB,EACxB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAKhD,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,uBAAuB,CAAC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,uBAAuB,EAAE,CAAC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,oBAAoB;IACnC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI,CAAC;CACtD;AA+GD;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,iBAAiB,EAC3B,OAAO,EAAE,gBAAgB,EACzB,SAAS,EAAE,SAAS,GAAG,SAAS,EAChC,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,mBAAmB,CAAC,CA+D9B;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,gBAAgB,EACzB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,IAAI,CAAC,CAmFf"}
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../src/recording/handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,iBAAiB,EACjB,mBAAmB,EACnB,SAAS,EACT,uBAAuB,EACvB,uBAAuB,EACxB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAKhD,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,uBAAuB,CAAC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,uBAAuB,EAAE,CAAC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,oBAAoB;IACnC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI,CAAC;CACtD;AA0HD;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,iBAAiB,EAC3B,OAAO,EAAE,gBAAgB,EACzB,SAAS,EAAE,SAAS,GAAG,SAAS,EAChC,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,mBAAmB,CAAC,CA+D9B;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,gBAAgB,EACzB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,IAAI,CAAC,CAmFf"}
@@ -5,4 +5,5 @@ export { downloadFile, downloadRecordingFiles, type DownloadResult, type Downloa
5
5
  export { isAsrConfigured, validateAsrConfig, initializeAsr, transcribeAudio, buildTranscriptMarkdown, extractSummary, runTranscriptionWorkflow, type TranscriptionResult, type TranscriptSegment, } from "./asr.js";
6
6
  export { detectEnvironment, selectModelByMemory, isModelDownloaded, downloadModel, findWhisperBinary, transcribeWithWhisperLocal, getWhisperLocalStatus, } from "./whisper-local.js";
7
7
  export { handleRecordingSync, triggerTranscription, type RecordingStatusEvent, type RecordingSyncOptions, } from "./handler.js";
8
+ export { handleRecordingResultWrite, type RecordingResultWriteOptions, } from "./result-writer.js";
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/recording/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,0BAA0B,EAC1B,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,GAC7B,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,kCAAkC,EAClC,2BAA2B,EAC3B,uBAAuB,EACvB,uBAAuB,EACvB,iCAAiC,EACjC,oCAAoC,EACpC,kCAAkC,EAClC,iCAAiC,EACjC,KAAK,kBAAkB,EACvB,KAAK,6BAA6B,EAClC,KAAK,4BAA4B,EACjC,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,GAC9B,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,iBAAiB,EACjB,UAAU,EACV,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,EACf,eAAe,GAChB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,YAAY,EACZ,sBAAsB,EACtB,KAAK,cAAc,EACnB,KAAK,eAAe,GACrB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,uBAAuB,EACvB,cAAc,EACd,wBAAwB,EACxB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,GACvB,MAAM,UAAU,CAAC;AAElB,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,0BAA0B,EAC1B,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,GAC1B,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/recording/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,0BAA0B,EAC1B,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,GAC7B,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,kCAAkC,EAClC,2BAA2B,EAC3B,uBAAuB,EACvB,uBAAuB,EACvB,iCAAiC,EACjC,oCAAoC,EACpC,kCAAkC,EAClC,iCAAiC,EACjC,KAAK,kBAAkB,EACvB,KAAK,6BAA6B,EAClC,KAAK,4BAA4B,EACjC,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,GAC9B,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,iBAAiB,EACjB,UAAU,EACV,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,EACf,eAAe,GAChB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,YAAY,EACZ,sBAAsB,EACtB,KAAK,cAAc,EACnB,KAAK,eAAe,GACrB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,uBAAuB,EACvB,cAAc,EACd,wBAAwB,EACxB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,GACvB,MAAM,UAAU,CAAC;AAElB,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,0BAA0B,EAC1B,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,GAC1B,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,0BAA0B,EAC1B,KAAK,2BAA2B,GACjC,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { Logger } from "../logger.js";
2
+ import type { RecordingResultWriteParams, RecordingResultWriteResult } from "../types.js";
3
+ import type { RecordingStatusEvent } from "./handler.js";
4
+ import { RecordingStorage } from "./storage.js";
5
+ export interface RecordingResultWriteOptions {
6
+ notifyStatus?: (event: RecordingStatusEvent) => void;
7
+ }
8
+ export declare function handleRecordingResultWrite(params: RecordingResultWriteParams, storage: RecordingStorage, logger: Logger, options?: RecordingResultWriteOptions): RecordingResultWriteResult;
9
+ //# sourceMappingURL=result-writer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"result-writer.d.ts","sourceRoot":"","sources":["../../src/recording/result-writer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAKV,0BAA0B,EAC1B,0BAA0B,EAE3B,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAOhD,MAAM,WAAW,2BAA2B;IAC1C,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI,CAAC;CACtD;AAED,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,0BAA0B,EAClC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,2BAAgC,GACxC,0BAA0B,CA2D5B"}
@@ -83,6 +83,8 @@ export declare class RecordingStorage {
83
83
  * 更新录音传输状态(严格状态机校验)
84
84
  */
85
85
  updateStatus(recordingId: string, newStatus: RecordingTransferStatus): RecordingIndexEntry;
86
+ /** 外部结果写入后,直接标记为已转写。 */
87
+ markResultWritten(recordingId: string): RecordingIndexEntry;
86
88
  /**
87
89
  * 记录本地音频文件已下载
88
90
  */
@@ -1 +1 @@
1
- {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/recording/storage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAYH,OAAO,KAAK,EACV,iBAAiB,EACjB,uBAAuB,EACxB,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AA6B3C,8BAA8B;AAC9B,MAAM,WAAW,mBAAmB;IAClC,wCAAwC;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,YAAY;IACZ,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,uCAAuC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc;IACd,MAAM,EAAE,uBAAuB,CAAC;IAChC,iBAAiB;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iBAAiB;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,uBAAuB;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oBAAoB;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,sBAAsB;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AAOD,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AA4DD;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,uBAAuB,EAC5B,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GACpC,MAAM,CA4BR;AAID,qBAAa,gBAAgB;IAWzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAVzB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,KAAK,CAAsC;gBAGjD,GAAG,EAAE,MAAM,EACM,MAAM,EAAE,MAAM;IAUjC,mBAAmB;IACb,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAW3B,eAAe;IACf,WAAW,IAAI,MAAM;IAIrB,qBAAqB;IACrB,oBAAoB,IAAI,MAAM;IAI9B,eAAe;IACf,iBAAiB,IAAI,MAAM;IAI3B,eAAe;IACf,eAAe,IAAI,MAAM;IAMzB;;;;OAIG;IACH,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,GAAG,MAAM;IA+DhE;;OAEG;IACH,YAAY,CACV,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,uBAAuB,GACjC,mBAAmB;IActB;;OAEG;IACH,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAQzD;;OAEG;IACH,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAQvD;;OAEG;IACH,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAYlE;;OAEG;IACH,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAY9D;;OAEG;IACH,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAY3D;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAQnD;;OAEG;IACH,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAQvD;;OAEG;IACH,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAiBpD;;OAEG;IACH,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAmBvD;;OAEG;IACH,sBAAsB,CAAC,WAAW,EAAE,MAAM;IAU1C,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS;IAIrD,OAAO,IAAI,mBAAmB,EAAE;IAMhC,YAAY,CAAC,MAAM,EAAE,uBAAuB,GAAG,mBAAmB,EAAE;IAIpE,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,mBAAmB;IAkB9D;;;;;;OAMG;IACH,MAAM,CACJ,WAAW,EAAE,MAAM,EACnB,IAAI,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,GAC7B,OAAO;IAiDV;;OAEG;IACH,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM;IAKhE;;OAEG;IACH,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IAI7C;;OAEG;IACH,2BAA2B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IAIxD;;;OAGG;IACH,uBAAuB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;IAWrE;;OAEG;IACH,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IAIjD;;OAEG;IACH,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM;IAI9D;;OAEG;IACH,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IAI3C;;OAEG;IACH,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IAItD;;OAEG;IACH,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IAM/C,OAAO,CAAC,SAAS;IAoIjB,OAAO,CAAC,oBAAoB;IAQ5B,OAAO,CAAC,8BAA8B;IAQtC,OAAO,CAAC,SAAS;IAQX,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B"}
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/recording/storage.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ export interface TranscriptDocumentSource {
4
4
  taskId?: string;
5
5
  requestId?: string;
6
6
  status?: string;
7
+ delivery?: string;
7
8
  }
8
9
  export interface TranscriptDocumentSegment {
9
10
  text: string;
@@ -1 +1 @@
1
- {"version":3,"file":"transcript-document.d.ts","sourceRoot":"","sources":["../../src/recording/transcript-document.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kCAAkC,IAAI,CAAC;AAEpD,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,6BAA6B;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,4BAA4B;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,yBAAyB,EAAE,CAAC;CACvC;AAED,MAAM,WAAW,kBAAkB;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,wBAAwB,CAAC;IACjC,UAAU,EAAE,4BAA4B,CAAC;IACzC,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEvE;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,wBAAwB,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,yBAAyB,EAAE,CAAC;IACvC,GAAG,CAAC,EAAE,OAAO,CAAC;CACf,GAAG,kBAAkB,CAuBrB;AAED,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,MAAM,GAAG,OAAO,GACtB,kBAAkB,GAAG,SAAS,CA8BhC;AAED,wBAAgB,iCAAiC,CAC/C,GAAG,EAAE,kBAAkB,GAAG,SAAS,GAClC,MAAM,GAAG,SAAS,CAIpB;AAED,wBAAgB,oCAAoC,CAClD,GAAG,EAAE,kBAAkB,GAAG,SAAS,GAClC,MAAM,GAAG,SAAS,CAGpB;AAED,wBAAgB,kCAAkC,CAChD,GAAG,EAAE,kBAAkB,GAAG,SAAS,GAClC,MAAM,GAAG,SAAS,CAGpB;AAED,wBAAgB,iCAAiC,CAC/C,GAAG,EAAE,kBAAkB,GAAG,SAAS,GAClC,6BAA6B,EAAE,GAAG,SAAS,CAyB7C"}
1
+ {"version":3,"file":"transcript-document.d.ts","sourceRoot":"","sources":["../../src/recording/transcript-document.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kCAAkC,IAAI,CAAC;AAEpD,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,6BAA6B;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,4BAA4B;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,yBAAyB,EAAE,CAAC;CACvC;AAED,MAAM,WAAW,kBAAkB;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,wBAAwB,CAAC;IACjC,UAAU,EAAE,4BAA4B,CAAC;IACzC,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEvE;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,wBAAwB,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,yBAAyB,EAAE,CAAC;IACvC,GAAG,CAAC,EAAE,OAAO,CAAC;CACf,GAAG,kBAAkB,CAwBrB;AAED,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,MAAM,GAAG,OAAO,GACtB,kBAAkB,GAAG,SAAS,CA8BhC;AAED,wBAAgB,iCAAiC,CAC/C,GAAG,EAAE,kBAAkB,GAAG,SAAS,GAClC,MAAM,GAAG,SAAS,CAIpB;AAED,wBAAgB,oCAAoC,CAClD,GAAG,EAAE,kBAAkB,GAAG,SAAS,GAClC,MAAM,GAAG,SAAS,CAGpB;AAED,wBAAgB,kCAAkC,CAChD,GAAG,EAAE,kBAAkB,GAAG,SAAS,GAClC,MAAM,GAAG,SAAS,CAGpB;AAED,wBAAgB,iCAAiC,CAC/C,GAAG,EAAE,kBAAkB,GAAG,SAAS,GAClC,6BAA6B,EAAE,GAAG,SAAS,CAyB7C"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Relay 出站帧瘦身:截断超大的工具输出,避免单帧超过 App 端 WebSocket
3
+ * 单消息上限(iOS URLSessionWebSocketTask 默认 1MiB)导致连接被杀。
4
+ *
5
+ * 已知的放大点(见 2026-05-12 日志,单次命令输出曾产生两帧各 ~226KB):
6
+ * - agent 事件 stream="command_output" 的 data.output 带全量命令输出;
7
+ * - agent 事件 stream="item"(kind="command")的 data.summary 重复同一份全文;
8
+ * - chat.history 响应里 toolResult 消息携带历史工具输出。
9
+ * - sessions.list 响应里 lastMessagePreview/lastMessage 会夹带 memory 任务长文本。
10
+ */
11
+ /** 低于该长度的帧直接透传,不付出 parse/stringify 开销。 */
12
+ export declare const SLIM_TRIGGER_CHARS: number;
13
+ /** 工具输出类文本的保留上限(command_output.output、history 里的 toolResult)。 */
14
+ export declare const AGENT_OUTPUT_CAP: number;
15
+ /** 会话列表仅展示预览,避免 memory 沉淀任务把列表响应撑到数百 KB。 */
16
+ export declare const SESSION_LIST_PREVIEW_CAP = 256;
17
+ /** 列表项若附带 lastMessage 全文,也只保留短摘要;详情由 chat.history 拉取。 */
18
+ export declare const SESSION_LIST_MESSAGE_CAP = 1024;
19
+ /**
20
+ * command 类 item 的 summary 保留上限。全量输出已由同一 toolCallId 的
21
+ * command_output 帧承载(按 AGENT_OUTPUT_CAP 截断),summary 只需短预览,
22
+ * 避免同一份内容以两帧全文重复下发。
23
+ */
24
+ export declare const COMMAND_SUMMARY_CAP: number;
25
+ /** 保留首尾截断中段;命令输出的报错通常在结尾,尾部多留一些。 */
26
+ export declare function truncateText(text: string, cap: number): string;
27
+ /** 列表预览用单行截断,避免把换行省略标记直接展示在会话列表里。 */
28
+ export declare function truncatePreviewText(text: string, cap: number): string;
29
+ /** 就地瘦身已解析的帧,返回是否有修改。 */
30
+ export declare function slimRelayFrame(frame: any): boolean;
31
+ /**
32
+ * 对即将回传 Relay 的帧文本瘦身。小帧与无法解析的帧原样返回。
33
+ */
34
+ export declare function slimRelayFrameText(text: string, logger?: {
35
+ info: (msg: string) => void;
36
+ }): string;
37
+ //# sourceMappingURL=frame-slimmer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frame-slimmer.d.ts","sourceRoot":"","sources":["../../src/tunnel/frame-slimmer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,0CAA0C;AAC1C,eAAO,MAAM,kBAAkB,QAAY,CAAC;AAE5C,iEAAiE;AACjE,eAAO,MAAM,gBAAgB,QAAY,CAAC;AAE1C,4CAA4C;AAC5C,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAE5C,yDAAyD;AACzD,eAAO,MAAM,wBAAwB,OAAO,CAAC;AAE7C;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,QAAW,CAAC;AAa5C,oCAAoC;AACpC,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAU9D;AAED,qCAAqC;AACrC,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAIrE;AA8ID,yBAAyB;AACzB,wBAAgB,cAAc,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAUlD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE;IAAE,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,GACvC,MAAM,CAiBR"}
@@ -1 +1 @@
1
- {"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../src/tunnel/proxy.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAY,YAAY,EAAgB,MAAM,YAAY,CAAC;AAmBvE,eAAO,MAAM,uCAAuC,qCAChB,CAAC;AAcrC,UAAU,YAAY;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB;IACnB,eAAe,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;IACvC,2CAA2C;IAC3C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uCAAuC;IACvC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE;QACN,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;QAC5B,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;QAC5B,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;KAC9B,CAAC;CACH;AAsED;;;GAGG;AACH,qBAAa,WAAW;IA4BV,OAAO,CAAC,QAAQ,CAAC,IAAI;IA3BjC,uCAAuC;IACvC,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,mBAAmB,CAAS;IACpC,2BAA2B;IAC3B,OAAO,CAAC,cAAc,CAAS;IAC/B,kCAAkC;IAClC,OAAO,CAAC,2BAA2B,CAAS;IAC5C,kDAAkD;IAClD,OAAO,CAAC,+BAA+B,CAAS;IAChD,kBAAkB;IAClB,OAAO,CAAC,6BAA6B,CAAK;IAC1C,gCAAgC;IAChC,OAAO,CAAC,gBAAgB,CAA+B;IACvD,2CAA2C;IAC3C,OAAO,CAAC,kBAAkB,CAA4C;IACtE,+DAA+D;IAC/D,OAAO,CAAC,qBAAqB,CAA2C;IACxE,oCAAoC;IACpC,OAAO,CAAC,oBAAoB,CAAsC;IAElE,iCAAiC;IACjC,OAAO,CAAC,cAAc,CAAiB;IAEvC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;gBAEL,IAAI,EAAE,YAAY;IAgB/C,uBAAuB;IACjB,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IA8BrD,2BAA2B;IAC3B,OAAO,IAAI,IAAI;YAgCD,kBAAkB;IAgBhC,OAAO,CAAC,kBAAkB;IAuB1B,2BAA2B;IAC3B,OAAO,CAAC,mBAAmB;IAe3B,+DAA+D;IAC/D,OAAO,CAAC,cAAc;IA+BtB,OAAO,CAAC,mBAAmB;IAmB3B,OAAO,CAAC,uBAAuB;IAS/B,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,mBAAmB;IAW3B,OAAO,CAAC,sBAAsB;IAK9B,OAAO,CAAC,kBAAkB;IA0C1B,OAAO,CAAC,yBAAyB;IASjC,OAAO,CAAC,qBAAqB;IAU7B,OAAO,CAAC,uBAAuB;IAoB/B,OAAO,CAAC,sBAAsB;IA0B9B,OAAO,CAAC,qCAAqC;YAc/B,8BAA8B;IA8E5C,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,0BAA0B;IAQlC,OAAO,CAAC,4BAA4B;IAWpC,OAAO,CAAC,uBAAuB;IAgB/B,OAAO,CAAC,kCAAkC;IAU1C,OAAO,CAAC,8BAA8B;IAoBtC,OAAO,CAAC,wBAAwB;IA2FhC,6CAA6C;IAC7C,OAAO,CAAC,eAAe;IA2OvB,OAAO,CAAC,sBAAsB;CA2D/B"}
1
+ {"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../src/tunnel/proxy.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAY,YAAY,EAAgB,MAAM,YAAY,CAAC;AAoBvE,eAAO,MAAM,uCAAuC,qCAChB,CAAC;AAcrC,UAAU,YAAY;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB;IACnB,eAAe,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;IACvC,2CAA2C;IAC3C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uCAAuC;IACvC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE;QACN,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;QAC5B,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;QAC5B,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;KAC9B,CAAC;CACH;AAsED;;;GAGG;AACH,qBAAa,WAAW;IA4BV,OAAO,CAAC,QAAQ,CAAC,IAAI;IA3BjC,uCAAuC;IACvC,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,mBAAmB,CAAS;IACpC,2BAA2B;IAC3B,OAAO,CAAC,cAAc,CAAS;IAC/B,kCAAkC;IAClC,OAAO,CAAC,2BAA2B,CAAS;IAC5C,kDAAkD;IAClD,OAAO,CAAC,+BAA+B,CAAS;IAChD,kBAAkB;IAClB,OAAO,CAAC,6BAA6B,CAAK;IAC1C,gCAAgC;IAChC,OAAO,CAAC,gBAAgB,CAA+B;IACvD,2CAA2C;IAC3C,OAAO,CAAC,kBAAkB,CAA4C;IACtE,+DAA+D;IAC/D,OAAO,CAAC,qBAAqB,CAA2C;IACxE,oCAAoC;IACpC,OAAO,CAAC,oBAAoB,CAAsC;IAElE,iCAAiC;IACjC,OAAO,CAAC,cAAc,CAAiB;IAEvC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;gBAEL,IAAI,EAAE,YAAY;IAgB/C,uBAAuB;IACjB,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IA8BrD,2BAA2B;IAC3B,OAAO,IAAI,IAAI;YAgCD,kBAAkB;IAgBhC,OAAO,CAAC,kBAAkB;IAuB1B,2BAA2B;IAC3B,OAAO,CAAC,mBAAmB;IAe3B,+DAA+D;IAC/D,OAAO,CAAC,cAAc;IA+BtB,OAAO,CAAC,mBAAmB;IAmB3B,OAAO,CAAC,uBAAuB;IAS/B,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,mBAAmB;IAW3B,OAAO,CAAC,sBAAsB;IAK9B,OAAO,CAAC,kBAAkB;IA0C1B,OAAO,CAAC,yBAAyB;IASjC,OAAO,CAAC,qBAAqB;IAU7B,OAAO,CAAC,uBAAuB;IAoB/B,OAAO,CAAC,sBAAsB;IA0B9B,OAAO,CAAC,qCAAqC;YAc/B,8BAA8B;IA8E5C,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,0BAA0B;IAQlC,OAAO,CAAC,4BAA4B;IAWpC,OAAO,CAAC,uBAAuB;IAgB/B,OAAO,CAAC,kCAAkC;IAU1C,OAAO,CAAC,8BAA8B;IAoBtC,OAAO,CAAC,wBAAwB;IA2FhC,6CAA6C;IAC7C,OAAO,CAAC,eAAe;IA2OvB,OAAO,CAAC,sBAAsB;CA2D/B"}