@jungjaehoon/mama-os 0.61.1 → 0.62.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (145) hide show
  1. package/CHANGELOG.md +77 -0
  2. package/README.md +1 -1
  3. package/dist/api/drive-actions.d.ts +12 -0
  4. package/dist/api/drive-actions.d.ts.map +1 -0
  5. package/dist/api/drive-actions.js +322 -0
  6. package/dist/api/drive-actions.js.map +1 -0
  7. package/dist/api/report-source-actions.d.ts.map +1 -1
  8. package/dist/api/report-source-actions.js +15 -7
  9. package/dist/api/report-source-actions.js.map +1 -1
  10. package/dist/api/security-events.d.ts +26 -0
  11. package/dist/api/security-events.d.ts.map +1 -1
  12. package/dist/api/security-events.js +107 -24
  13. package/dist/api/security-events.js.map +1 -1
  14. package/dist/api/source-actions.d.ts.map +1 -1
  15. package/dist/api/source-actions.js +7 -7
  16. package/dist/api/source-actions.js.map +1 -1
  17. package/dist/api/stored-source-reader.d.ts.map +1 -1
  18. package/dist/api/stored-source-reader.js +3 -0
  19. package/dist/api/stored-source-reader.js.map +1 -1
  20. package/dist/api/trello-actions.d.ts +15 -0
  21. package/dist/api/trello-actions.d.ts.map +1 -0
  22. package/dist/api/trello-actions.js +130 -0
  23. package/dist/api/trello-actions.js.map +1 -0
  24. package/dist/api/work-actions.d.ts +1 -0
  25. package/dist/api/work-actions.d.ts.map +1 -1
  26. package/dist/api/work-actions.js +20 -11
  27. package/dist/api/work-actions.js.map +1 -1
  28. package/dist/backfill/format.d.ts +105 -0
  29. package/dist/backfill/format.d.ts.map +1 -0
  30. package/dist/backfill/format.js +314 -0
  31. package/dist/backfill/format.js.map +1 -0
  32. package/dist/backfill/push.d.ts +63 -0
  33. package/dist/backfill/push.d.ts.map +1 -0
  34. package/dist/backfill/push.js +221 -0
  35. package/dist/backfill/push.js.map +1 -0
  36. package/dist/cli/commands/backfill.d.ts +12 -0
  37. package/dist/cli/commands/backfill.d.ts.map +1 -0
  38. package/dist/cli/commands/backfill.js +67 -0
  39. package/dist/cli/commands/backfill.js.map +1 -0
  40. package/dist/cli/commands/daemon.d.ts +2 -1
  41. package/dist/cli/commands/daemon.d.ts.map +1 -1
  42. package/dist/cli/commands/daemon.js +55 -14
  43. package/dist/cli/commands/daemon.js.map +1 -1
  44. package/dist/cli/commands/init.d.ts.map +1 -1
  45. package/dist/cli/commands/init.js +4 -2
  46. package/dist/cli/commands/init.js.map +1 -1
  47. package/dist/cli/index.js +18 -1
  48. package/dist/cli/index.js.map +1 -1
  49. package/dist/cli/runtime/claude-caller-config.d.ts +6 -1
  50. package/dist/cli/runtime/claude-caller-config.d.ts.map +1 -1
  51. package/dist/cli/runtime/claude-caller-config.js +3 -1
  52. package/dist/cli/runtime/claude-caller-config.js.map +1 -1
  53. package/dist/connectors/framework/gws-utils.d.ts +6 -3
  54. package/dist/connectors/framework/gws-utils.d.ts.map +1 -1
  55. package/dist/connectors/framework/gws-utils.js +35 -6
  56. package/dist/connectors/framework/gws-utils.js.map +1 -1
  57. package/dist/connectors/index.d.ts +0 -1
  58. package/dist/connectors/index.d.ts.map +1 -1
  59. package/dist/connectors/index.js +1 -5
  60. package/dist/connectors/index.js.map +1 -1
  61. package/dist/connectors/slack/index.d.ts +2 -0
  62. package/dist/connectors/slack/index.d.ts.map +1 -1
  63. package/dist/connectors/slack/index.js +83 -39
  64. package/dist/connectors/slack/index.js.map +1 -1
  65. package/dist/connectors/trello/action-line.d.ts +13 -0
  66. package/dist/connectors/trello/action-line.d.ts.map +1 -0
  67. package/dist/connectors/trello/action-line.js +118 -0
  68. package/dist/connectors/trello/action-line.js.map +1 -0
  69. package/dist/connectors/trello/actions.d.ts +27 -0
  70. package/dist/connectors/trello/actions.d.ts.map +1 -0
  71. package/dist/connectors/trello/actions.js +35 -0
  72. package/dist/connectors/trello/actions.js.map +1 -0
  73. package/dist/connectors/trello/api.d.ts +23 -0
  74. package/dist/connectors/trello/api.d.ts.map +1 -0
  75. package/dist/connectors/trello/api.js +102 -0
  76. package/dist/connectors/trello/api.js.map +1 -0
  77. package/dist/connectors/trello/index.d.ts +63 -31
  78. package/dist/connectors/trello/index.d.ts.map +1 -1
  79. package/dist/connectors/trello/index.js +165 -246
  80. package/dist/connectors/trello/index.js.map +1 -1
  81. package/dist/gateways/discord.d.ts +4 -0
  82. package/dist/gateways/discord.d.ts.map +1 -1
  83. package/dist/gateways/discord.js +7 -3
  84. package/dist/gateways/discord.js.map +1 -1
  85. package/dist/gateways/slack.d.ts +4 -0
  86. package/dist/gateways/slack.d.ts.map +1 -1
  87. package/dist/gateways/slack.js +7 -3
  88. package/dist/gateways/slack.js.map +1 -1
  89. package/dist/gateways/telegram-message-ledger.d.ts +5 -0
  90. package/dist/gateways/telegram-message-ledger.d.ts.map +1 -1
  91. package/dist/gateways/telegram-message-ledger.js +8 -1
  92. package/dist/gateways/telegram-message-ledger.js.map +1 -1
  93. package/dist/gateways/telegram.d.ts +4 -0
  94. package/dist/gateways/telegram.d.ts.map +1 -1
  95. package/dist/gateways/telegram.js +7 -5
  96. package/dist/gateways/telegram.js.map +1 -1
  97. package/dist/replay/replay-source-catalog.d.ts.map +1 -1
  98. package/dist/replay/replay-source-catalog.js +5 -45
  99. package/dist/replay/replay-source-catalog.js.map +1 -1
  100. package/dist/replay/trello-import.d.ts +1 -8
  101. package/dist/replay/trello-import.d.ts.map +1 -1
  102. package/dist/replay/trello-import.js +16 -103
  103. package/dist/replay/trello-import.js.map +1 -1
  104. package/dist/runtime/action-surface.d.ts +4 -1
  105. package/dist/runtime/action-surface.d.ts.map +1 -1
  106. package/dist/runtime/action-surface.js +27 -1
  107. package/dist/runtime/action-surface.js.map +1 -1
  108. package/dist/runtime/config.d.ts +5 -0
  109. package/dist/runtime/config.d.ts.map +1 -1
  110. package/dist/runtime/config.js +10 -1
  111. package/dist/runtime/config.js.map +1 -1
  112. package/dist/runtime/connectors.d.ts +0 -1
  113. package/dist/runtime/connectors.d.ts.map +1 -1
  114. package/dist/runtime/connectors.js +0 -1
  115. package/dist/runtime/connectors.js.map +1 -1
  116. package/dist/runtime/egress-proxy.d.ts +15 -0
  117. package/dist/runtime/egress-proxy.d.ts.map +1 -0
  118. package/dist/runtime/egress-proxy.js +176 -0
  119. package/dist/runtime/egress-proxy.js.map +1 -0
  120. package/dist/runtime/native-session.d.ts +7 -0
  121. package/dist/runtime/native-session.d.ts.map +1 -1
  122. package/dist/runtime/native-session.js +8 -1
  123. package/dist/runtime/native-session.js.map +1 -1
  124. package/dist/runtime/outbound-attempts.d.ts +18 -0
  125. package/dist/runtime/outbound-attempts.d.ts.map +1 -0
  126. package/dist/runtime/outbound-attempts.js +98 -0
  127. package/dist/runtime/outbound-attempts.js.map +1 -0
  128. package/dist/runtime/owner-runtime.d.ts +9 -0
  129. package/dist/runtime/owner-runtime.d.ts.map +1 -1
  130. package/dist/runtime/owner-runtime.js +8 -0
  131. package/dist/runtime/owner-runtime.js.map +1 -1
  132. package/dist/runtime/owner-system-prompt.d.ts.map +1 -1
  133. package/dist/runtime/owner-system-prompt.js +6 -1
  134. package/dist/runtime/owner-system-prompt.js.map +1 -1
  135. package/dist/runtime/record-orders.d.ts.map +1 -1
  136. package/dist/runtime/record-orders.js +33 -13
  137. package/dist/runtime/record-orders.js.map +1 -1
  138. package/dist/runtime/stimulus-delivery.d.ts +15 -0
  139. package/dist/runtime/stimulus-delivery.d.ts.map +1 -1
  140. package/dist/runtime/stimulus-delivery.js +29 -2
  141. package/dist/runtime/stimulus-delivery.js.map +1 -1
  142. package/package.json +2 -2
  143. package/public/viewer/log-viewer.html +7 -3
  144. package/public/viewer/operator/operator.css +1 -1
  145. package/public/viewer/operator/operator.js +5428 -5685
@@ -1,8 +1,11 @@
1
+ export interface GwsCallOptions {
2
+ maxBuffer?: number;
3
+ /** Defaults to 60 s; a download names its own. */
4
+ timeoutMs?: number;
5
+ }
1
6
  export declare function parseGwsOutput(raw: string): unknown;
2
7
  /** Run non-JSON gws commands with argv and without blocking the daemon. */
3
8
  export declare function execGwsTextAsync(args: string[]): Promise<string>;
4
9
  /** Keep upstream page tokens in argv, never in a shell command; do not block the daemon. */
5
- export declare function execGwsAsync(args: string[], options?: {
6
- maxBuffer?: number;
7
- }): Promise<unknown>;
10
+ export declare function execGwsAsync(args: string[], options?: GwsCallOptions): Promise<unknown>;
8
11
  //# sourceMappingURL=gws-utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"gws-utils.d.ts","sourceRoot":"","sources":["../../../src/connectors/framework/gws-utils.ts"],"names":[],"mappings":"AAsBA,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAWnD;AAED,2EAA2E;AAC3E,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAEhE;AAED,4FAA4F;AAC5F,wBAAsB,YAAY,CAChC,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/B,OAAO,CAAC,OAAO,CAAC,CAGlB"}
1
+ {"version":3,"file":"gws-utils.d.ts","sourceRoot":"","sources":["../../../src/connectors/framework/gws-utils.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAqDD,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAQnD;AAED,2EAA2E;AAC3E,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAEhE;AAED,4FAA4F;AAC5F,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAG7F"}
@@ -4,11 +4,41 @@ exports.parseGwsOutput = parseGwsOutput;
4
4
  exports.execGwsTextAsync = execGwsTextAsync;
5
5
  exports.execGwsAsync = execGwsAsync;
6
6
  const node_child_process_1 = require("node:child_process");
7
+ /** Where the JSON gws prints starts: the first line opening an object or an array. */
8
+ function jsonLines(raw) {
9
+ const lines = raw.split('\n');
10
+ const start = lines.findIndex((line) => line.trimStart().startsWith('{') || line.trimStart().startsWith('['));
11
+ return start === -1 ? null : lines.slice(start).join('\n');
12
+ }
13
+ /** gws prints the API's error as JSON on stdout and exits non-zero; that error names the cause. */
14
+ function stdoutError(stdout, exit) {
15
+ const json = jsonLines(stdout);
16
+ if (json === null)
17
+ return null;
18
+ let parsed;
19
+ try {
20
+ parsed = JSON.parse(json);
21
+ }
22
+ catch {
23
+ // Not the API's error JSON: the exit error is the report.
24
+ return null;
25
+ }
26
+ return parsed.error === undefined
27
+ ? null
28
+ : new Error(`gws CLI returned an error: ${JSON.stringify(parsed.error)}`, { cause: exit });
29
+ }
7
30
  async function execGwsStdoutAsync(args, options) {
31
+ const timeout = options?.timeoutMs ?? 60_000;
8
32
  return new Promise((resolve, reject) => {
9
- (0, node_child_process_1.execFile)('gws', args, { encoding: 'utf8', maxBuffer: options?.maxBuffer, timeout: 60_000 }, (error, value) => {
33
+ (0, node_child_process_1.execFile)('gws', args, { encoding: 'utf8', maxBuffer: options?.maxBuffer, timeout }, (error, value) => {
34
+ if (error?.killed) {
35
+ reject(new Error(`gws ${args.slice(0, 3).join(' ')} timed out after ${timeout} ms`, {
36
+ cause: error,
37
+ }));
38
+ return;
39
+ }
10
40
  if (error) {
11
- reject(error);
41
+ reject(stdoutError(value, error) ?? error);
12
42
  return;
13
43
  }
14
44
  resolve(value);
@@ -16,11 +46,10 @@ async function execGwsStdoutAsync(args, options) {
16
46
  });
17
47
  }
18
48
  function parseGwsOutput(raw) {
19
- const lines = raw.split('\n');
20
- const jsonStart = lines.findIndex((line) => line.trimStart().startsWith('{') || line.trimStart().startsWith('['));
21
- if (jsonStart === -1)
49
+ const json = jsonLines(raw);
50
+ if (json === null)
22
51
  throw new Error('No JSON found in gws CLI output');
23
- const result = JSON.parse(lines.slice(jsonStart).join('\n'));
52
+ const result = JSON.parse(json);
24
53
  if (result && typeof result === 'object' && 'error' in result) {
25
54
  throw new Error(`gws CLI returned an error: ${JSON.stringify(result.error)}`);
26
55
  }
@@ -1 +1 @@
1
- {"version":3,"file":"gws-utils.js","sourceRoot":"","sources":["../../../src/connectors/framework/gws-utils.ts"],"names":[],"mappings":";;AAsBA,wCAWC;AAGD,4CAEC;AAGD,oCAMC;AA/CD,2DAA8C;AAE9C,KAAK,UAAU,kBAAkB,CAC/B,IAAc,EACd,OAAgC;IAEhC,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC7C,IAAA,6BAAQ,EACN,KAAK,EACL,IAAI,EACJ,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,EACpE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YACf,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,CAAC,KAAK,CAAC,CAAC;gBACd,OAAO;YACT,CAAC;YACD,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,cAAc,CAAC,GAAW;IACxC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9B,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAC/B,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAC/E,CAAC;IACF,IAAI,SAAS,KAAK,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACzE,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACtE,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;QAC9D,MAAM,IAAI,KAAK,CAAC,8BAA8B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAChF,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,2EAA2E;AAC3E,SAAgB,gBAAgB,CAAC,IAAc;IAC7C,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC;AAED,4FAA4F;AACrF,KAAK,UAAU,YAAY,CAChC,IAAc,EACd,OAAgC;IAEhC,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACvD,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"gws-utils.js","sourceRoot":"","sources":["../../../src/connectors/framework/gws-utils.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,6 @@ export * from './framework/index.js';
4
4
  export declare const LOADABLE_CONNECTORS: readonly ["chatwork", "slack", "trello", "kagemusha", "calendar", "ical", "gmail", "drive", "sheets", "notion", "obsidian", "discord", "telegram", "imessage", "claude-code"];
5
5
  export type LoadableConnector = (typeof LOADABLE_CONNECTORS)[number];
6
6
  export interface ConnectorLoadPaths {
7
- trelloStatePath?: string;
8
7
  kagemushaDbPath?: string;
9
8
  connectorStatePath?: string;
10
9
  imessageDbPath?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/connectors/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,cAAc,sBAAsB,CAAC;AAErC,eAAO,MAAM,mBAAmB,+KAgBtB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAErE,MAAM,WAAW,kBAAkB;IACjC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC5B;AA+ED;;;;GAIG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,eAAe,EACxB,KAAK,CAAC,EAAE,kBAAkB,GACzB,OAAO,CAAC,UAAU,CAAC,CAYrB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/connectors/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,cAAc,sBAAsB,CAAC;AAErC,eAAO,MAAM,mBAAmB,+KAgBtB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAErE,MAAM,WAAW,kBAAkB;IACjC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC5B;AA4ED;;;;GAIG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,eAAe,EACxB,KAAK,CAAC,EAAE,kBAAkB,GACzB,OAAO,CAAC,UAAU,CAAC,CAYrB"}
@@ -74,11 +74,7 @@ const loaders = {
74
74
  },
75
75
  imessage: async (config, paths) => new (await import('./imessage/index.js')).IMessageConnector(config, paths?.imessageDbPath),
76
76
  'claude-code': async (config, paths) => new (await import('./claude-code/index.js')).ClaudeCodeConnector(config, paths?.claudeCodeProjectsPath),
77
- trello: async (config, paths) => {
78
- if (paths?.trelloStatePath === undefined)
79
- throw new Error('Trello state file path is required');
80
- return new (await import('./trello/index.js')).TrelloConnector(config, paths.trelloStatePath);
81
- },
77
+ trello: async (config) => new (await import('./trello/index.js')).TrelloConnector(config),
82
78
  kagemusha: async (config, paths) => {
83
79
  if (paths?.kagemushaDbPath === undefined)
84
80
  throw new Error('Kagemusha source database path is required');
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/connectors/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/connectors/index.ts"],"names":[],"mappings":"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"}
@@ -32,6 +32,8 @@ export declare class SlackConnector implements IConnector {
32
32
  authenticate(): Promise<boolean>;
33
33
  private resolveUserName;
34
34
  poll(since: Date): Promise<NormalizedItem[]>;
35
+ /** One person's message after `since`, from history or a thread; null for anything else. */
36
+ private messageItem;
35
37
  listAttachments(request: AttachmentListRequest): Promise<AttachmentDescriptor[]>;
36
38
  downloadAttachment(request: AttachmentDownloadRequest): Promise<{
37
39
  descriptor: AttachmentDescriptor;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/connectors/slack/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,eAAe,EACf,UAAU,EACV,cAAc,EACf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,yBAAyB,EAC/B,MAAM,6BAA6B,CAAC;AAkBrC,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,SAAS,CAAC;IAC7C,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;CACtB;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAI1D;AAeD,qBAAa,cAAe,YAAW,UAAU;IAC/C,QAAQ,CAAC,IAAI,WAAW;IACxB,QAAQ,CAAC,IAAI,EAAG,KAAK,CAAU;IAE/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAwB;IACvD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA6C;IAC3E,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAe;IACpC,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA6B;IACvD,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,SAAS,CAAqB;gBAE1B,MAAM,EAAE,eAAe,EAAE,OAAO,GAAE,qBAA0B;IAOlE,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBrB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAMxB,WAAW,IAAI,OAAO,CAAC,eAAe,CAAC;IAS7C,mBAAmB,IAAI,eAAe,EAAE;IAUlC,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC;YAUxB,eAAe;IAevB,IAAI,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAgF5C,eAAe,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAWhF,kBAAkB,CACtB,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC;QAAE,UAAU,EAAE,oBAAoB,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;YAiChD,cAAc;YAuBd,aAAa;CAyC5B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/connectors/slack/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,KAAK,EACV,eAAe,EAEf,eAAe,EACf,eAAe,EACf,UAAU,EACV,cAAc,EACf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,yBAAyB,EAC/B,MAAM,6BAA6B,CAAC;AAqCrC,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,SAAS,CAAC;IAC7C,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;CACtB;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAI1D;AAeD,qBAAa,cAAe,YAAW,UAAU;IAC/C,QAAQ,CAAC,IAAI,WAAW;IACxB,QAAQ,CAAC,IAAI,EAAG,KAAK,CAAU;IAE/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAwB;IACvD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA6C;IAC3E,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAe;IACpC,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA6B;IACvD,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,SAAS,CAAqB;gBAE1B,MAAM,EAAE,eAAe,EAAE,OAAO,GAAE,qBAA0B;IAOlE,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBrB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAMxB,WAAW,IAAI,OAAO,CAAC,eAAe,CAAC;IAS7C,mBAAmB,IAAI,eAAe,EAAE;IAUlC,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC;YAUxB,eAAe;IAevB,IAAI,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAuElD,4FAA4F;YAC9E,WAAW;IAmDnB,eAAe,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAWhF,kBAAkB,CACtB,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC;QAAE,UAAU,EAAE,oBAAoB,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;YAiChD,cAAc;YAuBd,aAAa;CAyC5B"}
@@ -7,6 +7,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.SlackConnector = void 0;
8
8
  exports.extractSlackFileIds = extractSlackFileIds;
9
9
  const attachment_io_js_1 = require("../framework/attachment-io.js");
10
+ /**
11
+ * How far back a poll looks for threads that received a new reply. A reply posted only in the
12
+ * thread is not a channel message, so it is found through its parent. Measured on live channels:
13
+ * the longest-running thread over 90 days stayed active for 24 days. A reply to an older thread is
14
+ * not read.
15
+ */
16
+ const THREAD_LOOKBACK_MS = 30 * 24 * 60 * 60 * 1000;
10
17
  function extractSlackFileIds(text) {
11
18
  const ids = new Set();
12
19
  for (const match of text.matchAll(/\(slack_file:([A-Za-z0-9_-]+)\)/g))
@@ -115,61 +122,57 @@ class SlackConnector {
115
122
  const items = [];
116
123
  let hadError = false;
117
124
  const oldest = (since.getTime() / 1000).toFixed(6);
125
+ // History is read back THREAD_LOOKBACK_MS so a thread started before `since` still shows its
126
+ // newest reply time; only messages after `since` become items.
127
+ const historyOldest = ((since.getTime() - THREAD_LOOKBACK_MS) / 1000).toFixed(6);
118
128
  for (const [channelId, channelConfig] of Object.entries(this.config.channels)) {
119
129
  if (channelConfig.role === 'ignore')
120
130
  continue;
121
131
  try {
132
+ const activeThreads = [];
122
133
  let cursor;
123
134
  do {
124
135
  const result = await this.client.conversations.history({
125
136
  channel: channelId,
126
- oldest,
137
+ oldest: historyOldest,
127
138
  limit: 200,
128
139
  ...(cursor === undefined ? {} : { cursor }),
129
140
  });
130
141
  for (const message of result.messages ?? []) {
131
- const messageFiles = Array.isArray(message.files)
132
- ? (message.files ?? [])
133
- : [];
134
- if (message.bot_id ||
135
- message.subtype === 'bot_message' ||
136
- !message.user ||
137
- (!message.text && messageFiles.length === 0)) {
138
- continue;
142
+ if (typeof message.ts === 'string' &&
143
+ (message.reply_count ?? 0) > 0 &&
144
+ Number(message.latest_reply) * 1000 > since.getTime()) {
145
+ activeThreads.push(message.ts);
139
146
  }
140
- const timestamp = new Date(Number(message.ts) * 1000);
141
- if (!Number.isFinite(timestamp.getTime()) || timestamp.getTime() <= since.getTime())
142
- continue;
143
- items.push({
144
- source: 'slack',
145
- sourceId: `${channelId}:${message.ts}`,
146
- channel: channelConfig.name ?? channelId,
147
- author: await this.resolveUserName(message.user),
148
- content: message.text ?? '',
149
- timestamp,
150
- type: 'message',
151
- metadata: {
152
- channelId,
153
- ts: message.ts,
154
- ...(message.thread_ts === undefined ? {} : { threadTs: message.thread_ts }),
155
- ...(messageFiles.length === 0
156
- ? {}
157
- : {
158
- slackFileIds: messageFiles
159
- .map((file) => file.id)
160
- .filter((id) => typeof id === 'string' && id.trim() !== ''),
161
- slackFiles: messageFiles
162
- .filter((file) => typeof file.id === 'string' && file.id.trim() !== '')
163
- .map((file) => ({
164
- fileId: file.id,
165
- ...(file.name ? { name: file.name } : {}),
166
- })),
167
- }),
168
- },
169
- });
147
+ const item = await this.messageItem(channelId, channelConfig, message, since);
148
+ if (item)
149
+ items.push(item);
170
150
  }
171
151
  cursor = result.response_metadata?.next_cursor || undefined;
172
152
  } while (cursor !== undefined);
153
+ for (const threadTs of activeThreads) {
154
+ let replyCursor;
155
+ do {
156
+ const result = await this.client.conversations.replies({
157
+ channel: channelId,
158
+ ts: threadTs,
159
+ oldest,
160
+ limit: 200,
161
+ ...(replyCursor === undefined ? {} : { cursor: replyCursor }),
162
+ });
163
+ // The SDK's reply type omits `subtype`, which the API sends (e.g. thread_broadcast).
164
+ for (const reply of (result.messages ?? [])) {
165
+ // The thread's first message is the parent, read from history. A reply also sent to
166
+ // the channel (thread_broadcast) is a channel message and comes from history too.
167
+ if (reply.ts === threadTs || reply.subtype === 'thread_broadcast')
168
+ continue;
169
+ const item = await this.messageItem(channelId, channelConfig, reply, since);
170
+ if (item)
171
+ items.push(item);
172
+ }
173
+ replyCursor = result.response_metadata?.next_cursor || undefined;
174
+ } while (replyCursor !== undefined);
175
+ }
173
176
  }
174
177
  catch (error) {
175
178
  hadError = true;
@@ -184,6 +187,47 @@ class SlackConnector {
184
187
  this.lastError = undefined;
185
188
  return items;
186
189
  }
190
+ /** One person's message after `since`, from history or a thread; null for anything else. */
191
+ async messageItem(channelId, channelConfig, message, since) {
192
+ const messageFiles = Array.isArray(message.files) ? message.files : [];
193
+ if (message.bot_id ||
194
+ message.subtype === 'bot_message' ||
195
+ !message.user ||
196
+ (!message.text && messageFiles.length === 0)) {
197
+ return null;
198
+ }
199
+ const timestamp = new Date(Number(message.ts) * 1000);
200
+ if (!Number.isFinite(timestamp.getTime()) || timestamp.getTime() <= since.getTime()) {
201
+ return null;
202
+ }
203
+ return {
204
+ source: 'slack',
205
+ sourceId: `${channelId}:${message.ts}`,
206
+ channel: channelConfig.name ?? channelId,
207
+ author: await this.resolveUserName(message.user),
208
+ content: message.text ?? '',
209
+ timestamp,
210
+ type: 'message',
211
+ metadata: {
212
+ channelId,
213
+ ts: message.ts,
214
+ ...(message.thread_ts === undefined ? {} : { threadTs: message.thread_ts }),
215
+ ...(messageFiles.length === 0
216
+ ? {}
217
+ : {
218
+ slackFileIds: messageFiles
219
+ .map((file) => file.id)
220
+ .filter((id) => typeof id === 'string' && id.trim() !== ''),
221
+ slackFiles: messageFiles
222
+ .filter((file) => typeof file.id === 'string' && file.id.trim() !== '')
223
+ .map((file) => ({
224
+ fileId: file.id,
225
+ ...(file.name ? { name: file.name } : {}),
226
+ })),
227
+ }),
228
+ },
229
+ };
230
+ }
187
231
  async listAttachments(request) {
188
232
  const ids = [
189
233
  ...new Set((request.fileIds ?? []).map((fileId) => fileId.trim()).filter(Boolean)),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/connectors/slack/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/connectors/slack/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AA2DH,kDAIC;AA9CD,oEAAkF;AAkBlF;;;;;GAKG;AACH,MAAM,kBAAkB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAkBpD,SAAgB,mBAAmB,CAAC,IAAY;IAC9C,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,kCAAkC,CAAC;QAAE,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;IAC1F,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC;AAClB,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc;IACzC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,IAAA,kCAAe,EAAC,KAAK,EAAE,wBAAwB,CAAC,CAAC,CAAC;IACzE,IACE,MAAM,CAAC,QAAQ,KAAK,iBAAiB;QACrC,MAAM,CAAC,IAAI,KAAK,EAAE;QAClB,MAAM,CAAC,QAAQ,KAAK,EAAE;QACtB,MAAM,CAAC,QAAQ,KAAK,EAAE,EACtB,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;IACnF,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC;AAED,MAAa,cAAc;IAChB,IAAI,GAAG,OAAO,CAAC;IACf,IAAI,GAAG,KAAc,CAAC;IAEd,MAAM,CAAkB;IACxB,cAAc,CAAwB;IACtC,aAAa,CAA6C;IAC1D,IAAI,CAAe;IAC5B,MAAM,GAAqB,IAAI,CAAC;IAChC,KAAK,GAAkB,IAAI,CAAC;IACnB,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC/C,YAAY,GAAgB,IAAI,CAAC;IACjC,aAAa,GAAG,CAAC,CAAC;IAClB,SAAS,CAAqB;IAEtC,YAAY,MAAuB,EAAE,UAAiC,EAAE;QACtE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;QACrC,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,iBAAiB,CAAC,CAAC;QAC3E,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC1E,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACtC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC;YAClC,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACrC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACxC,OAAO;QACT,CAAC;QACD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;QACrD,IAAI,CAAC,MAAM,GAAG,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,WAAW;QACf,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,MAAM,KAAK,IAAI,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;YAC7D,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,KAAK,EAAE,IAAI,CAAC,SAAS;SACtB,CAAC;IACJ,CAAC;IAED,mBAAmB;QACjB,OAAO;YACL;gBACE,IAAI,EAAE,OAAO;gBACb,SAAS,EAAE,iBAAiB;gBAC5B,WAAW,EAAE,sDAAsD;aACpE;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,MAAM;gBAAE,OAAO,KAAK,CAAC;YAC/B,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,MAAc;QAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,MAAM,CAAC;QACxC,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,MAAM,CAAC;QAChC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;YAC9D,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,SAAS,IAAI,MAAM,CAAC,IAAI,EAAE,IAAI,IAAI,MAAM,CAAC;YACnE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACjC,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACnC,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAW;QACpB,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAEpE,MAAM,KAAK,GAAqB,EAAE,CAAC;QACnC,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACnD,6FAA6F;QAC7F,+DAA+D;QAC/D,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,kBAAkB,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAEjF,KAAK,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9E,IAAI,aAAa,CAAC,IAAI,KAAK,QAAQ;gBAAE,SAAS;YAC9C,IAAI,CAAC;gBACH,MAAM,aAAa,GAAa,EAAE,CAAC;gBACnC,IAAI,MAA0B,CAAC;gBAC/B,GAAG,CAAC;oBACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC;wBACrD,OAAO,EAAE,SAAS;wBAClB,MAAM,EAAE,aAAa;wBACrB,KAAK,EAAE,GAAG;wBACV,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;qBAC5C,CAAC,CAAC;oBACH,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;wBAC5C,IACE,OAAO,OAAO,CAAC,EAAE,KAAK,QAAQ;4BAC9B,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,CAAC;4BAC9B,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC,OAAO,EAAE,EACrD,CAAC;4BACD,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;wBACjC,CAAC;wBACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;wBAC9E,IAAI,IAAI;4BAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC7B,CAAC;oBACD,MAAM,GAAG,MAAM,CAAC,iBAAiB,EAAE,WAAW,IAAI,SAAS,CAAC;gBAC9D,CAAC,QAAQ,MAAM,KAAK,SAAS,EAAE;gBAE/B,KAAK,MAAM,QAAQ,IAAI,aAAa,EAAE,CAAC;oBACrC,IAAI,WAA+B,CAAC;oBACpC,GAAG,CAAC;wBACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC;4BACrD,OAAO,EAAE,SAAS;4BAClB,EAAE,EAAE,QAAQ;4BACZ,MAAM;4BACN,KAAK,EAAE,GAAG;4BACV,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;yBAC9D,CAAC,CAAC;wBACH,qFAAqF;wBACrF,KAAK,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAmB,EAAE,CAAC;4BAC9D,oFAAoF;4BACpF,kFAAkF;4BAClF,IAAI,KAAK,CAAC,EAAE,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,KAAK,kBAAkB;gCAAE,SAAS;4BAC5E,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;4BAC5E,IAAI,IAAI;gCAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAC7B,CAAC;wBACD,WAAW,GAAG,MAAM,CAAC,iBAAiB,EAAE,WAAW,IAAI,SAAS,CAAC;oBACnE,CAAC,QAAQ,WAAW,KAAK,SAAS,EAAE;gBACtC,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,QAAQ,GAAG,IAAI,CAAC;gBAChB,IAAI,CAAC,SAAS,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC;QAED,IAAI,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QACvF,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;QAClF,IAAI,CAAC,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC;QAC/B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC;QAClC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,4FAA4F;IACpF,KAAK,CAAC,WAAW,CACvB,SAAiB,EACjB,aAA4B,EAC5B,OAAqB,EACrB,KAAW;QAEX,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAE,OAAO,CAAC,KAA4B,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/F,IACE,OAAO,CAAC,MAAM;YACd,OAAO,CAAC,OAAO,KAAK,aAAa;YACjC,CAAC,OAAO,CAAC,IAAI;YACb,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC,EAC5C,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;QACtD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,IAAI,SAAS,CAAC,OAAO,EAAE,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YACpF,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO;YACL,MAAM,EAAE,OAAO;YACf,QAAQ,EAAE,GAAG,SAAS,IAAI,OAAO,CAAC,EAAE,EAAE;YACtC,OAAO,EAAE,aAAa,CAAC,IAAI,IAAI,SAAS;YACxC,MAAM,EAAE,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC;YAChD,OAAO,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE;YAC3B,SAAS;YACT,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE;gBACR,SAAS;gBACT,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;gBAC3E,GAAG,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC;oBAC3B,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC;wBACE,YAAY,EAAE,YAAY;6BACvB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;6BACtB,MAAM,CAAC,CAAC,EAAE,EAAgB,EAAE,CAAC,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;wBAC3E,UAAU,EAAE,YAAY;6BACrB,MAAM,CACL,CAAC,IAAI,EAA6C,EAAE,CAClD,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,IAAI,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,CACvD;6BACA,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;4BACd,MAAM,EAAE,IAAI,CAAC,EAAE;4BACf,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;yBAC1C,CAAC,CAAC;qBACN,CAAC;aACP;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,OAA8B;QAClD,MAAM,GAAG,GAAG;YACV,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;SACnF,CAAC;QACF,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAChC,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,IAAI,kBAAkB,CAAC;QAC3D,OAAO,OAAO,CAAC,GAAG,CAChB,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAClF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,OAAkC;QAElC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,cAAc,CAC1C,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,MAAM,EACd,kBAAkB,CACnB,CAAC;QACF,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC;QAC/B,IAAI,CAAC,WAAW;YAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC1D,MAAM,WAAW,GAAG,mBAAmB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC9D,IAAI,QAAkB,CAAC;QACvB,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;gBACtC,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,WAAW,EAAE,EAAE;gBACnD,2EAA2E;gBAC3E,QAAQ,EAAE,QAAQ;aACnB,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,kEAAkE;YAClE,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YACrD,MAAM,IAAI,KAAK,CACb,QAAQ,CAAC,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG;gBAC7C,CAAC,CAAC,+CAA+C;gBACjD,CAAC,CAAC,oCAAoC,QAAQ,CAAC,MAAM,EAAE,CAC1D,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,IAAA,mCAAgB,EAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QAClE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IAC9B,CAAC;IAEO,KAAK,CAAC,cAAc,CAC1B,MAAc,EACd,MAAc,EACd,SAA4C;QAE5C,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpE,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACjD,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrE,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC;QACvE,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9D,MAAM,IAAI,KAAK,CAAC,cAAc,MAAM,wCAAwC,MAAM,EAAE,CAAC,CAAC;QACxF,CAAC;QACD,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,UAAU,EAAE,IAAI,CAAC,OAAO,GAAG,KAAK;YAChC,SAAS;SACV,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,MAAc;QACxC,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpE,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAI7D,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CACb,+BAA+B,MAAM,KAAK,MAAM,CAAC,KAAK,IAAI,kBAAkB,EAAE,CAC/E,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACzB,MAAM,EAAE,GAAG,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5D,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrC,IACE,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE;YAChB,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE;YAClB,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC;YAC3B,IAAI,GAAG,CAAC;YACR,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC;YAC9B,OAAO,GAAG,CAAC,EACX,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,oDAAoD,MAAM,EAAE,CAAC,CAAC;QAChF,CAAC;QACD,OAAO;YACL,EAAE;YACF,IAAI;YACJ,IAAI;YACJ,OAAO;YACP,GAAG,CAAC,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClF,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAC9B,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,EAAE;gBAC/E,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;gBAC5B,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,EAAE;gBAC3E,CAAC,CAAC,EAAE,CAAC;SACR,CAAC;IACJ,CAAC;CACF;AAnUD,wCAmUC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * One readable line for a Trello board action, in the poller's shape:
3
+ * "card | list (from: previous list) | who". Imported history is stored as this line so search,
4
+ * source.recent and source.read show what happened; the whole action stays in the item metadata.
5
+ */
6
+ export interface TrelloActionLike {
7
+ type: string;
8
+ data: Record<string, unknown>;
9
+ memberCreator?: Record<string, unknown>;
10
+ }
11
+ /** Without labels a label change reads "labels changed": stored lines depend on the action alone. */
12
+ export declare function trelloActionLine(action: TrelloActionLike, labels?: ReadonlyMap<string, string>): string;
13
+ //# sourceMappingURL=action-line.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action-line.d.ts","sourceRoot":"","sources":["../../../src/connectors/trello/action-line.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACzC;AAuGD,qGAAqG;AACrG,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,gBAAgB,EACxB,MAAM,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GACnC,MAAM,CAOR"}
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+ /**
3
+ * One readable line for a Trello board action, in the poller's shape:
4
+ * "card | list (from: previous list) | who". Imported history is stored as this line so search,
5
+ * source.recent and source.read show what happened; the whole action stays in the item metadata.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.trelloActionLine = trelloActionLine;
9
+ function record(value) {
10
+ return value && typeof value === 'object' && !Array.isArray(value)
11
+ ? value
12
+ : undefined;
13
+ }
14
+ function text(value) {
15
+ return typeof value === 'string' && value.trim() !== '' ? value : undefined;
16
+ }
17
+ function name(value) {
18
+ return text(record(value)?.name);
19
+ }
20
+ function labelNames(ids, labels) {
21
+ const names = Array.isArray(ids)
22
+ ? ids.filter((id) => typeof id === 'string').map((id) => labels.get(id) ?? id)
23
+ : [];
24
+ return names.length > 0 ? names.join(', ') : 'none';
25
+ }
26
+ function cardChange(data, labels) {
27
+ const card = record(data.card) ?? {};
28
+ const old = record(data.old) ?? {};
29
+ const before = name(data.listBefore);
30
+ const after = name(data.listAfter);
31
+ const parts = [];
32
+ if (after !== undefined)
33
+ parts.push(`${after} (from: ${before ?? 'another list'})`);
34
+ else if ('idList' in old)
35
+ parts.push('moved to another list');
36
+ for (const key of Object.keys(old)) {
37
+ if (key === 'idList' || key === 'pos')
38
+ continue;
39
+ if (key === 'closed')
40
+ parts.push(card.closed === true ? 'archived' : 'restored');
41
+ else if (key === 'name')
42
+ parts.push(`renamed from "${String(old.name)}"`);
43
+ else if (key === 'desc')
44
+ parts.push('description edited');
45
+ else if (key === 'due')
46
+ parts.push(`due ${String(old.due ?? 'none')} -> ${String(card.due ?? 'none')}`);
47
+ else if (key === 'dueComplete')
48
+ parts.push(card.dueComplete === true ? 'due done' : 'due reopened');
49
+ else if (key === 'idLabels')
50
+ parts.push(labels === undefined
51
+ ? 'labels changed'
52
+ : `labels ${labelNames(old.idLabels, labels)} -> ${labelNames(card.idLabels, labels)}`);
53
+ else
54
+ parts.push(`${key} changed`);
55
+ }
56
+ if (parts.length === 0 && 'pos' in old)
57
+ parts.push(`reordered in ${name(data.list) ?? 'its list'}`);
58
+ return parts.length > 0 ? parts.join('; ') : 'updated';
59
+ }
60
+ function listChange(data) {
61
+ const old = record(data.old) ?? {};
62
+ if ('name' in old)
63
+ return `list renamed from "${String(old.name)}"`;
64
+ if ('closed' in old)
65
+ return record(data.list)?.closed === true ? 'list archived' : 'list restored';
66
+ if ('pos' in old)
67
+ return 'list reordered';
68
+ return 'list updated';
69
+ }
70
+ function describe(action, labels) {
71
+ const data = action.data;
72
+ switch (action.type) {
73
+ case 'updateCard':
74
+ return cardChange(data, labels);
75
+ case 'createCard':
76
+ return `created in ${name(data.list) ?? 'a list'}`;
77
+ case 'copyCard':
78
+ return `copied into ${name(data.list) ?? 'a list'} from "${name(data.cardSource) ?? 'a card'}"`;
79
+ case 'commentCard':
80
+ case 'copyCommentCard':
81
+ return `comment: ${(text(data.text) ?? '').replace(/\s*\n\s*/g, ' / ')}`;
82
+ case 'addAttachmentToCard':
83
+ return `attached ${name(data.attachment) ?? 'a file'}`;
84
+ case 'deleteAttachmentFromCard':
85
+ return `removed attachment ${name(data.attachment) ?? ''}`.trim();
86
+ case 'addMemberToCard':
87
+ return `member added: ${name(data.member) ?? 'unknown'}`;
88
+ case 'removeMemberFromCard':
89
+ return `member removed: ${name(data.member) ?? 'unknown'}`;
90
+ case 'addLabelToCard':
91
+ return `label added: ${name(data.label) ?? 'unnamed'}`;
92
+ case 'removeLabelFromCard':
93
+ return `label removed: ${name(data.label) ?? 'unnamed'}`;
94
+ case 'updateCheckItemStateOnCard':
95
+ return `checklist ${name(data.checkItem) ?? 'item'}: ${String(record(data.checkItem)?.state ?? 'changed')}`;
96
+ case 'moveCardToBoard':
97
+ return `moved here from another board into ${name(data.list) ?? 'a list'}`;
98
+ case 'moveCardFromBoard':
99
+ return 'moved to another board';
100
+ case 'deleteCard':
101
+ return 'deleted';
102
+ case 'createList':
103
+ return 'list created';
104
+ case 'updateList':
105
+ return listChange(data);
106
+ default:
107
+ return action.type;
108
+ }
109
+ }
110
+ /** Without labels a label change reads "labels changed": stored lines depend on the action alone. */
111
+ function trelloActionLine(action, labels) {
112
+ const data = action.data;
113
+ const subject = name(data.card) ?? name(data.list) ?? name(data.board) ?? text(action.type) ?? 'trello';
114
+ const member = record(action.memberCreator);
115
+ const actor = text(member?.fullName) ?? text(member?.username);
116
+ return [subject, describe(action, labels), ...(actor === undefined ? [] : [actor])].join(' | ');
117
+ }
118
+ //# sourceMappingURL=action-line.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action-line.js","sourceRoot":"","sources":["../../../src/connectors/trello/action-line.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * The one stored shape of a Trello board action. The history import and the poller both store
3
+ * this item, so an action imported and later polled (the poll windows overlap on purpose) is the
4
+ * same row. The item depends only on the action and the board's configured name. Each action is
5
+ * its own entity, as an imported chat message is: Trello edits a comment in place on the same
6
+ * action, and the raw store records a re-listed action that changed as its next revision (an
7
+ * entity keyed by the card would make it an immutable version and refuse the change, stopping
8
+ * every later poll). The card stays in metadata.cardId.
9
+ */
10
+ import type { NormalizedItem } from '../framework/types.js';
11
+ export interface TrelloAction {
12
+ id: string;
13
+ type: string;
14
+ date: string;
15
+ data: Record<string, unknown>;
16
+ idMemberCreator?: string;
17
+ memberCreator?: Record<string, unknown>;
18
+ }
19
+ export interface TrelloBoardChannel {
20
+ /** The connectors.json channel key, which channel grants and the index use. */
21
+ key: string;
22
+ boardId: string;
23
+ /** The configured board name; the scheduler adds the same value as channelName. */
24
+ name?: string;
25
+ }
26
+ export declare function trelloActionItem(board: TrelloBoardChannel, action: TrelloAction): NormalizedItem;
27
+ //# sourceMappingURL=actions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../../src/connectors/trello/actions.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAG5D,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,kBAAkB;IACjC,+EAA+E;IAC/E,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,mFAAmF;IACnF,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAQD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,kBAAkB,EAAE,MAAM,EAAE,YAAY,GAAG,cAAc,CAwBhG"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.trelloActionItem = trelloActionItem;
4
+ const action_line_js_1 = require("./action-line.js");
5
+ function record(value) {
6
+ return value && typeof value === 'object' && !Array.isArray(value)
7
+ ? value
8
+ : undefined;
9
+ }
10
+ function trelloActionItem(board, action) {
11
+ const card = record(action.data.card);
12
+ const list = record(action.data.list);
13
+ const cardId = typeof card?.id === 'string' ? card.id : board.boardId;
14
+ return {
15
+ source: 'trello',
16
+ sourceId: action.id,
17
+ sourceEntityId: action.id,
18
+ channel: board.key,
19
+ author: 'trello',
20
+ content: (0, action_line_js_1.trelloActionLine)(action),
21
+ timestamp: new Date(Date.parse(action.date)),
22
+ type: 'kanban_card',
23
+ metadata: {
24
+ actionType: action.type,
25
+ boardId: board.boardId,
26
+ cardId,
27
+ ...(board.name === undefined ? {} : { channelName: board.name }),
28
+ ...(list === undefined ? {} : { list }),
29
+ ...(action.idMemberCreator === undefined ? {} : { idMemberCreator: action.idMemberCreator }),
30
+ ...(action.memberCreator === undefined ? {} : { memberCreator: action.memberCreator }),
31
+ data: action.data,
32
+ },
33
+ };
34
+ }
35
+ //# sourceMappingURL=actions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actions.js","sourceRoot":"","sources":["../../../src/connectors/trello/actions.ts"],"names":[],"mappings":";;AAmCA,4CAwBC;AAjDD,qDAAoD;AAmBpD,SAAS,MAAM,CAAC,KAAc;IAC5B,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAChE,CAAC,CAAE,KAAiC;QACpC,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,SAAgB,gBAAgB,CAAC,KAAyB,EAAE,MAAoB;IAC9E,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,OAAO,IAAI,EAAE,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;IACtE,OAAO;QACL,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,MAAM,CAAC,EAAE;QACnB,cAAc,EAAE,MAAM,CAAC,EAAE;QACzB,OAAO,EAAE,KAAK,CAAC,GAAG;QAClB,MAAM,EAAE,QAAQ;QAChB,OAAO,EAAE,IAAA,iCAAgB,EAAC,MAAM,CAAC;QACjC,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,EAAE,aAAa;QACnB,QAAQ,EAAE;YACR,UAAU,EAAE,MAAM,CAAC,IAAI;YACvB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,MAAM;YACN,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;YAChE,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;YACvC,GAAG,CAAC,MAAM,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC;YAC5F,GAAG,CAAC,MAAM,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC;YACtF,IAAI,EAAE,MAAM,CAAC,IAAI;SAClB;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Trello REST reads shared by the poller, the history import and trello.read. A failed request
3
+ * is the caller's error: no retry and no cached answer.
4
+ */
5
+ import type { TrelloAction } from './actions.js';
6
+ export interface TrelloCredentials {
7
+ apiKey: string;
8
+ token: string;
9
+ }
10
+ export declare class TrelloApi {
11
+ private readonly credentials;
12
+ private readonly fetchImpl;
13
+ constructor(credentials: TrelloCredentials, fetchImpl?: typeof fetch);
14
+ get<T>(path: string, params?: Record<string, string>): Promise<T>;
15
+ /** A board's actions with fromMs <= date < untilMs (open-ended without untilMs), oldest first. */
16
+ boardActions(boardId: string, window: {
17
+ fromMs: number;
18
+ untilMs?: number;
19
+ }): Promise<TrelloAction[]>;
20
+ /** The board's labels by id, for naming label changes in live reads. */
21
+ boardLabels(boardId: string): Promise<Map<string, string>>;
22
+ }
23
+ //# sourceMappingURL=api.d.ts.map