@overlordai/server 1.0.113 → 1.0.114

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 (187) hide show
  1. package/database/migrations/003-chat-bindings-project-key-index.sql +1 -0
  2. package/database/migrations/004-drop-agent-command.sql +2 -0
  3. package/dist/adapters/command-parser.utils.d.ts +45 -0
  4. package/dist/adapters/command-parser.utils.d.ts.map +1 -0
  5. package/dist/adapters/command-parser.utils.js +144 -0
  6. package/dist/adapters/command-parser.utils.js.map +1 -0
  7. package/dist/adapters/help-text.d.ts +2 -0
  8. package/dist/adapters/help-text.d.ts.map +1 -0
  9. package/dist/adapters/help-text.js +24 -0
  10. package/dist/adapters/help-text.js.map +1 -0
  11. package/dist/adapters/lark/lark-message.parser.d.ts +2 -35
  12. package/dist/adapters/lark/lark-message.parser.d.ts.map +1 -1
  13. package/dist/adapters/lark/lark-message.parser.js +12 -162
  14. package/dist/adapters/lark/lark-message.parser.js.map +1 -1
  15. package/dist/adapters/lark/lark.adapter.d.ts +12 -0
  16. package/dist/adapters/lark/lark.adapter.d.ts.map +1 -1
  17. package/dist/adapters/lark/lark.adapter.js +83 -22
  18. package/dist/adapters/lark/lark.adapter.js.map +1 -1
  19. package/dist/adapters/slack/slack-message.parser.d.ts +2 -11
  20. package/dist/adapters/slack/slack-message.parser.d.ts.map +1 -1
  21. package/dist/adapters/slack/slack-message.parser.js +12 -135
  22. package/dist/adapters/slack/slack-message.parser.js.map +1 -1
  23. package/dist/adapters/slack/slack.adapter.d.ts +4 -0
  24. package/dist/adapters/slack/slack.adapter.d.ts.map +1 -1
  25. package/dist/adapters/slack/slack.adapter.js +78 -25
  26. package/dist/adapters/slack/slack.adapter.js.map +1 -1
  27. package/dist/adapters/slack/slack.controller.d.ts.map +1 -1
  28. package/dist/adapters/slack/slack.controller.js +0 -2
  29. package/dist/adapters/slack/slack.controller.js.map +1 -1
  30. package/dist/common/project-validation.d.ts +1 -1
  31. package/dist/common/project-validation.d.ts.map +1 -1
  32. package/dist/common/project-validation.js +1 -9
  33. package/dist/common/project-validation.js.map +1 -1
  34. package/dist/database/repositories/bot.repository.d.ts +4 -0
  35. package/dist/database/repositories/bot.repository.d.ts.map +1 -1
  36. package/dist/database/repositories/bot.repository.js +15 -0
  37. package/dist/database/repositories/bot.repository.js.map +1 -1
  38. package/dist/database/repositories/project.repository.d.ts.map +1 -1
  39. package/dist/database/repositories/project.repository.js +0 -2
  40. package/dist/database/repositories/project.repository.js.map +1 -1
  41. package/dist/database/repositories/task.repository.d.ts +1 -1
  42. package/dist/database/repositories/task.repository.d.ts.map +1 -1
  43. package/dist/database/repositories/task.repository.js +4 -1
  44. package/dist/database/repositories/task.repository.js.map +1 -1
  45. package/dist/dispatcher/cleanup.service.d.ts +5 -0
  46. package/dist/dispatcher/cleanup.service.d.ts.map +1 -1
  47. package/dist/dispatcher/cleanup.service.js +19 -0
  48. package/dist/dispatcher/cleanup.service.js.map +1 -1
  49. package/dist/dispatcher/dispatcher.service.d.ts.map +1 -1
  50. package/dist/dispatcher/dispatcher.service.js +34 -13
  51. package/dist/dispatcher/dispatcher.service.js.map +1 -1
  52. package/dist/dispatcher/dispatcher.types.d.ts +1 -0
  53. package/dist/dispatcher/dispatcher.types.d.ts.map +1 -1
  54. package/dist/dispatcher/scheduler.service.d.ts.map +1 -1
  55. package/dist/dispatcher/scheduler.service.js +13 -2
  56. package/dist/dispatcher/scheduler.service.js.map +1 -1
  57. package/dist/dispatcher/task-creation.service.d.ts.map +1 -1
  58. package/dist/dispatcher/task-creation.service.js +16 -1
  59. package/dist/dispatcher/task-creation.service.js.map +1 -1
  60. package/dist/dispatcher/task-lifecycle.service.d.ts +2 -2
  61. package/dist/dispatcher/task-lifecycle.service.d.ts.map +1 -1
  62. package/dist/dispatcher/task-lifecycle.service.js +16 -8
  63. package/dist/dispatcher/task-lifecycle.service.js.map +1 -1
  64. package/dist/events/event-types.d.ts +1 -0
  65. package/dist/events/event-types.d.ts.map +1 -1
  66. package/dist/notifier/notification-consumer.d.ts +18 -1
  67. package/dist/notifier/notification-consumer.d.ts.map +1 -1
  68. package/dist/notifier/notification-consumer.js +91 -4
  69. package/dist/notifier/notification-consumer.js.map +1 -1
  70. package/dist/notifier/template.service.d.ts +2 -0
  71. package/dist/notifier/template.service.d.ts.map +1 -1
  72. package/dist/notifier/template.service.js +20 -0
  73. package/dist/notifier/template.service.js.map +1 -1
  74. package/dist/web/dashboard.controller.d.ts +1 -1
  75. package/dist/web/dashboard.controller.d.ts.map +1 -1
  76. package/dist/web/dashboard.controller.js +12 -4
  77. package/dist/web/dashboard.controller.js.map +1 -1
  78. package/dist/web/dashboard.service.d.ts +18 -0
  79. package/dist/web/dashboard.service.d.ts.map +1 -1
  80. package/dist/web/dashboard.service.js +78 -8
  81. package/dist/web/dashboard.service.js.map +1 -1
  82. package/dist/web/frame-handlers/progress.handler.d.ts +3 -1
  83. package/dist/web/frame-handlers/progress.handler.d.ts.map +1 -1
  84. package/dist/web/frame-handlers/progress.handler.js +22 -3
  85. package/dist/web/frame-handlers/progress.handler.js.map +1 -1
  86. package/dist/web/project.controller.d.ts +0 -2
  87. package/dist/web/project.controller.d.ts.map +1 -1
  88. package/dist/web/task.controller.d.ts +3 -1
  89. package/dist/web/task.controller.d.ts.map +1 -1
  90. package/dist/web/task.controller.js +7 -5
  91. package/dist/web/task.controller.js.map +1 -1
  92. package/dist/web/web-event.service.d.ts.map +1 -1
  93. package/dist/web/web-event.service.js +1 -0
  94. package/dist/web/web-event.service.js.map +1 -1
  95. package/dist/web/worker-channel.gateway.d.ts.map +1 -1
  96. package/dist/web/worker-channel.gateway.js +1 -1
  97. package/dist/web/worker-channel.gateway.js.map +1 -1
  98. package/package.json +4 -4
  99. package/public/assets/{AccessTokensPage-D_A93EkP.js → AccessTokensPage-B2zkZtaB.js} +1 -1
  100. package/public/assets/{AdminPage-DnmoRibU.js → AdminPage-B-n-9yUY.js} +1 -1
  101. package/public/assets/{ApiReferencePage-8Fvke3MS.js → ApiReferencePage-Dcik4fBN.js} +1 -1
  102. package/public/assets/{ArchitecturePage-Co5G-15M.js → ArchitecturePage-CDgB6NL0.js} +1 -1
  103. package/public/assets/{AuditLogPage-DoaVh4un.js → AuditLogPage-CmxGpu8q.js} +1 -1
  104. package/public/assets/{BindPlatformPage-C2bIjAbT.js → BindPlatformPage-D-7wxMjF.js} +1 -1
  105. package/public/assets/{BotIntegrationPage-BgK7NXyQ.js → BotIntegrationPage-DoD5KbmU.js} +1 -1
  106. package/public/assets/BotManage-DSe8d-gZ.js +6 -0
  107. package/public/assets/{BotSetupPage-BhNhgobr.js → BotSetupPage-BkNF3ug4.js} +1 -1
  108. package/public/assets/{ChangelogPage-CazGvq6Y.js → ChangelogPage-BUAm5LN6.js} +1 -1
  109. package/public/assets/{CliReferencePage-tonM0XBs.js → CliReferencePage-B6-2m7YU.js} +1 -1
  110. package/public/assets/{DeploymentPage-DwifcnIe.js → DeploymentPage-cW2JDGd0.js} +1 -1
  111. package/public/assets/{DevWorkflowPage-DJddffhm.js → DevWorkflowPage-BbNK1Bmy.js} +1 -1
  112. package/public/assets/{DeveloperManage-DwaEFuLo.js → DeveloperManage-BVkSw-WE.js} +2 -2
  113. package/public/assets/{DeveloperSetupPage-DA4BHPuG.js → DeveloperSetupPage-Cf8ehfWm.js} +1 -1
  114. package/public/assets/{DocsIndexPage-C-FZbN8Z.js → DocsIndexPage-BEMGBIkx.js} +1 -1
  115. package/public/assets/{DocsLayout-HdiVoWKl.js → DocsLayout-BLcuuadd.js} +1 -1
  116. package/public/assets/{DocsPrimitives-DU41lKXb.js → DocsPrimitives-BEIQH4P7.js} +1 -1
  117. package/public/assets/EditProjectPage-RsYg77Bf.js +2 -0
  118. package/public/assets/{EmptyState-i9jXL5NQ.js → EmptyState-D8UwaoPs.js} +1 -1
  119. package/public/assets/{EnvVariablesPage-DofRDtyz.js → EnvVariablesPage-krKQsNzw.js} +1 -1
  120. package/public/assets/HomePage-vhKQtyLw.js +1 -0
  121. package/public/assets/{InfoRow-kU23cpPE.js → InfoRow-BbQYGWPd.js} +1 -1
  122. package/public/assets/{InstallationPage-JxXYftV0.js → InstallationPage-blIErVXZ.js} +1 -1
  123. package/public/assets/{LandingPage-7--4I0lt.js → LandingPage-CL2eVc3w.js} +1 -1
  124. package/public/assets/{LocalDevelopmentPage-B0C1C5Rs.js → LocalDevelopmentPage-CNfZtynN.js} +1 -1
  125. package/public/assets/{LoginPage-2Io9O_Q7.js → LoginPage-C_jpU4-N.js} +1 -1
  126. package/public/assets/{MetricBar-BSwVCFMX.js → MetricBar-CCL5kOaE.js} +1 -1
  127. package/public/assets/{NotFoundPage-DbO52kqL.js → NotFoundPage-DiQ3T_pE.js} +1 -1
  128. package/public/assets/{OnboardingGuide-BeP-StZq.js → OnboardingGuide-xVUtEvVm.js} +1 -1
  129. package/public/assets/{PermissionsPage-BMM-SA8k.js → PermissionsPage-CE5Yc52w.js} +1 -1
  130. package/public/assets/{PipelineConfigPage-6KxS3scE.js → PipelineConfigPage-BG_LWoNZ.js} +1 -1
  131. package/public/assets/{PipelineEditorPage-CpW1dBVH.js → PipelineEditorPage-BR9ozDOr.js} +1 -1
  132. package/public/assets/{ProfilePage-BaDJoNI7.js → ProfilePage-kUKBviJg.js} +1 -1
  133. package/public/assets/{ProjectDetailPage-QjUSwxfS.js → ProjectDetailPage-VE0081wk.js} +3 -3
  134. package/public/assets/ProjectListPage-DZoCY4RY.js +6 -0
  135. package/public/assets/{PtyTerminal-CEkY7dvk.js → PtyTerminal-DY7uY9Y-.js} +1 -1
  136. package/public/assets/{QuickAuth-9InsfbSA.js → QuickAuth-DbURb8Mn.js} +1 -1
  137. package/public/assets/{RemoveMemberConfirmDialog-Do5LW-9Q.js → RemoveMemberConfirmDialog-WvwPPSjT.js} +1 -1
  138. package/public/assets/{Select-8IQBiBBw.js → Select-B_UE_NDL.js} +1 -1
  139. package/public/assets/{SettingsPage-DRWkl-_N.js → SettingsPage-DpJ00PdY.js} +1 -1
  140. package/public/assets/{Skeleton-B3ZvE5gP.js → Skeleton-CqLLWdXS.js} +1 -1
  141. package/public/assets/{SkillPage-BhiRgb-S.js → SkillPage-D5a41yA5.js} +1 -1
  142. package/public/assets/TaskDetailPage-Dt3Hj-nd.js +21 -0
  143. package/public/assets/TaskListPage-CbmW-VAl.js +1 -0
  144. package/public/assets/{TaskStatusBadge-B6mxAWy2.js → TaskStatusBadge-DzeMf5Ey.js} +1 -1
  145. package/public/assets/TerminalHomePage-D7aNN02N.js +11 -0
  146. package/public/assets/{TokenManage-CenYPcRv.js → TokenManage-BCVRHkhz.js} +1 -1
  147. package/public/assets/Tooltip-BWRiD768.js +1 -0
  148. package/public/assets/{TotpSetupPage-DQyx573Y.js → TotpSetupPage-D4T0gS9_.js} +1 -1
  149. package/public/assets/WorkerDetailPage-D9ZTWwot.js +1 -0
  150. package/public/assets/{WorkerListPage-_bt8SJDK.js → WorkerListPage-4qQGHwbV.js} +2 -2
  151. package/public/assets/{WorkerOperationsPage-CDat2rGV.js → WorkerOperationsPage-DKPUYRDJ.js} +1 -1
  152. package/public/assets/{WorkerSetupGuidePage-CN7fSwA-.js → WorkerSetupGuidePage-B4B-DkyO.js} +1 -1
  153. package/public/assets/{WorkerSetupPage--spDks6s.js → WorkerSetupPage-frqVW4Ll.js} +1 -1
  154. package/public/assets/{arrow-left-CQ-bmyEx.js → arrow-left-DEORM5c1.js} +1 -1
  155. package/public/assets/{arrow-right-BOWA0FvU.js → arrow-right-B0qrrCV_.js} +1 -1
  156. package/public/assets/{bot-BpTfNKBP.js → bot-B_Wtzq9W.js} +1 -1
  157. package/public/assets/{chevron-right-D-xhzuZQ.js → chevron-right-CURI3LO_.js} +1 -1
  158. package/public/assets/{copy-DXSXnWX4.js → copy-4UTzTyXv.js} +1 -1
  159. package/public/assets/{download-FbsyL-QU.js → download-Dq5jLFci.js} +1 -1
  160. package/public/assets/{external-link-CPRFmfE1.js → external-link-Cj283ZgT.js} +1 -1
  161. package/public/assets/index-BiItJ2NI.css +1 -0
  162. package/public/assets/{index-D205WYza.js → index-C5MJg1oC.js} +48 -48
  163. package/public/assets/{key-Diuh2Udi.js → key-BKBK0Uc2.js} +1 -1
  164. package/public/assets/{loader-circle-CsopNBbX.js → loader-circle-B71q4Dz7.js} +1 -1
  165. package/public/assets/{pencil-n52F1Vop.js → pencil-DG3Q-41a.js} +1 -1
  166. package/public/assets/{plus-BHkYD1iG.js → plus-CQjC8fgx.js} +1 -1
  167. package/public/assets/{rotate-ccw-Bl22woOU.js → rotate-ccw-CQh0kfDP.js} +1 -1
  168. package/public/assets/{scroll-text-DbVWAYzk.js → scroll-text-DF3DMVZk.js} +1 -1
  169. package/public/assets/{settings-0li6vYCf.js → settings-C_K0CJNU.js} +1 -1
  170. package/public/assets/{status-colors-C6o-wKJJ.js → status-colors-BnNRsWp0.js} +1 -1
  171. package/public/assets/{task-constants-a8NftfbJ.js → task-constants-D_2_U6qL.js} +1 -1
  172. package/public/assets/{trash-2-LoxvLZVm.js → trash-2-DsQUbmfY.js} +1 -1
  173. package/public/assets/{useFetch-DIPC8gCD.js → useFetch-C8LjfJUm.js} +1 -1
  174. package/public/assets/{users-BgBBs7IT.js → users-BWaNs7Vz.js} +1 -1
  175. package/public/assets/{wifi-CF0XZj9i.js → wifi-0ZLwtMKj.js} +1 -1
  176. package/public/assets/{workflow-DBOppGKP.js → workflow-B0yaOIwg.js} +1 -1
  177. package/public/index.html +2 -2
  178. package/public/sw.js +1 -1
  179. package/public/assets/BotManage-BlWUAERC.js +0 -6
  180. package/public/assets/EditProjectPage-0HfKfeFS.js +0 -2
  181. package/public/assets/HomePage-Ct5rkEIu.js +0 -1
  182. package/public/assets/ProjectListPage-Bs0GPEJb.js +0 -6
  183. package/public/assets/TaskDetailPage-vwqcnwqe.js +0 -21
  184. package/public/assets/TaskListPage-DRiTh03Z.js +0 -1
  185. package/public/assets/TerminalHomePage-sK-nSIOn.js +0 -11
  186. package/public/assets/WorkerDetailPage-BV7YTrMb.js +0 -1
  187. package/public/assets/index-DrlMKbMb.css +0 -1
@@ -0,0 +1 @@
1
+ CREATE INDEX IF NOT EXISTS idx_chat_bindings_project_key ON chat_bindings(project_key);
@@ -0,0 +1,2 @@
1
+ -- Remove the agent_command column (custom agent type has been removed)
2
+ ALTER TABLE projects DROP COLUMN agent_command;
@@ -0,0 +1,45 @@
1
+ import { CommandType } from '@overlordai/protocol';
2
+ /**
3
+ * Parsed command extracted from an @bot message.
4
+ */
5
+ export interface ParsedCommand {
6
+ type: CommandType | 'help';
7
+ args: {
8
+ description?: string;
9
+ project?: string;
10
+ worker?: string;
11
+ taskId?: number;
12
+ taskType?: string;
13
+ query?: string;
14
+ };
15
+ }
16
+ /**
17
+ * Tokenize input text, respecting single and double-quoted strings.
18
+ * Quotes are stripped from the resulting tokens.
19
+ */
20
+ export declare function tokenize(text: string): string[];
21
+ /**
22
+ * Extract a task ID from tokens. Recognises `#42` or bare `42`.
23
+ */
24
+ export declare function extractTaskId(tokens: string[]): number | undefined;
25
+ /**
26
+ * Parse a command that accepts an optional task ID.
27
+ */
28
+ export declare function parseWithOptionalTaskId(type: CommandType, tokens: string[]): ParsedCommand;
29
+ /**
30
+ * Parse a command that requires a task ID; returns help if missing.
31
+ */
32
+ export declare function parseWithRequiredTaskId(type: CommandType, tokens: string[]): ParsedCommand;
33
+ /**
34
+ * Parse a "develop" command with description, --project, and --on flags.
35
+ */
36
+ export declare function parseDevelop(tokens: string[]): ParsedCommand;
37
+ /**
38
+ * Parse a "list" command with optional --project flag.
39
+ */
40
+ export declare function parseList(tokens: string[]): ParsedCommand;
41
+ /**
42
+ * Parse a "search" command — all tokens joined as the query.
43
+ */
44
+ export declare function parseSearch(tokens: string[]): ParsedCommand;
45
+ //# sourceMappingURL=command-parser.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-parser.utils.d.ts","sourceRoot":"","sources":["../../src/adapters/command-parser.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,WAAW,GAAG,MAAM,CAAC;IAC3B,IAAI,EAAE;QACJ,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAe/C;AAKD;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS,CAQlE;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,MAAM,EAAE,GACf,aAAa,CAMf;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,MAAM,EAAE,GACf,aAAa,CAMf;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,aAAa,CAmD5D;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,aAAa,CAmBzD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,aAAa,CAM3D"}
@@ -0,0 +1,144 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.tokenize = tokenize;
4
+ exports.extractTaskId = extractTaskId;
5
+ exports.parseWithOptionalTaskId = parseWithOptionalTaskId;
6
+ exports.parseWithRequiredTaskId = parseWithRequiredTaskId;
7
+ exports.parseDevelop = parseDevelop;
8
+ exports.parseList = parseList;
9
+ exports.parseSearch = parseSearch;
10
+ const protocol_1 = require("@overlordai/protocol");
11
+ /**
12
+ * Tokenize input text, respecting single and double-quoted strings.
13
+ * Quotes are stripped from the resulting tokens.
14
+ */
15
+ function tokenize(text) {
16
+ const tokens = [];
17
+ // /g regex — must be created fresh each call to avoid stale lastIndex
18
+ const regex = /(?:"([^"]*)")|(?:'([^']*)')|(\S+)/g;
19
+ let match;
20
+ while ((match = regex.exec(text)) !== null) {
21
+ // match[1] = double-quoted content, match[2] = single-quoted, match[3] = unquoted
22
+ const value = match[1] ?? match[2] ?? match[3];
23
+ if (value !== undefined) {
24
+ tokens.push(value);
25
+ }
26
+ }
27
+ return tokens;
28
+ }
29
+ /** Module-level regex for extracting task IDs (no /g flag, safe to reuse). */
30
+ const TASK_ID_RE = /^#?(\d+)$/;
31
+ /**
32
+ * Extract a task ID from tokens. Recognises `#42` or bare `42`.
33
+ */
34
+ function extractTaskId(tokens) {
35
+ for (const token of tokens) {
36
+ const match = TASK_ID_RE.exec(token);
37
+ if (match) {
38
+ return parseInt(match[1], 10);
39
+ }
40
+ }
41
+ return undefined;
42
+ }
43
+ /**
44
+ * Parse a command that accepts an optional task ID.
45
+ */
46
+ function parseWithOptionalTaskId(type, tokens) {
47
+ const taskId = extractTaskId(tokens);
48
+ return {
49
+ type,
50
+ args: taskId !== undefined ? { taskId } : {},
51
+ };
52
+ }
53
+ /**
54
+ * Parse a command that requires a task ID; returns help if missing.
55
+ */
56
+ function parseWithRequiredTaskId(type, tokens) {
57
+ const taskId = extractTaskId(tokens);
58
+ if (taskId === undefined) {
59
+ return { type: 'help', args: {} };
60
+ }
61
+ return { type, args: { taskId } };
62
+ }
63
+ /**
64
+ * Parse a "develop" command with description, --project, and --on flags.
65
+ */
66
+ function parseDevelop(tokens) {
67
+ let description;
68
+ let project;
69
+ let worker;
70
+ let i = 0;
71
+ while (i < tokens.length) {
72
+ const token = tokens[i];
73
+ if (token === '--project' || token === '-p') {
74
+ i++;
75
+ if (i < tokens.length)
76
+ project = tokens[i];
77
+ i++;
78
+ continue;
79
+ }
80
+ if (token === '--on') {
81
+ i++;
82
+ if (i < tokens.length)
83
+ worker = tokens[i];
84
+ i++;
85
+ continue;
86
+ }
87
+ // First non-flag token is the description
88
+ if (description === undefined) {
89
+ description = token;
90
+ }
91
+ i++;
92
+ }
93
+ if (!description) {
94
+ return { type: 'help', args: {} };
95
+ }
96
+ let taskType;
97
+ const typeMatch = description.match(/^(feat|fix|refactor|docs|chore):\s*/i);
98
+ if (typeMatch) {
99
+ taskType = typeMatch[1].toLowerCase();
100
+ description = description.slice(typeMatch[0].length).trim();
101
+ }
102
+ return {
103
+ type: protocol_1.CommandType.DEVELOP,
104
+ args: {
105
+ description: description.trim(),
106
+ ...(project ? { project } : {}),
107
+ ...(worker ? { worker } : {}),
108
+ ...(taskType ? { taskType } : {}),
109
+ },
110
+ };
111
+ }
112
+ /**
113
+ * Parse a "list" command with optional --project flag.
114
+ */
115
+ function parseList(tokens) {
116
+ let project;
117
+ let i = 0;
118
+ while (i < tokens.length) {
119
+ const token = tokens[i];
120
+ if (token === '--project' || token === '-p') {
121
+ i++;
122
+ if (i < tokens.length)
123
+ project = tokens[i];
124
+ i++;
125
+ continue;
126
+ }
127
+ i++;
128
+ }
129
+ return {
130
+ type: protocol_1.CommandType.LIST,
131
+ args: project ? { project } : {},
132
+ };
133
+ }
134
+ /**
135
+ * Parse a "search" command — all tokens joined as the query.
136
+ */
137
+ function parseSearch(tokens) {
138
+ const query = tokens.join(' ').trim();
139
+ if (!query) {
140
+ return { type: 'help', args: {} };
141
+ }
142
+ return { type: protocol_1.CommandType.SEARCH, args: { query } };
143
+ }
144
+ //# sourceMappingURL=command-parser.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-parser.utils.js","sourceRoot":"","sources":["../../src/adapters/command-parser.utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function buildHelpText(platform: string): string;
2
+ //# sourceMappingURL=help-text.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"help-text.d.ts","sourceRoot":"","sources":["../../src/adapters/help-text.ts"],"names":[],"mappings":"AAAA,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAmBtD"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildHelpText = buildHelpText;
4
+ function buildHelpText(platform) {
5
+ return [
6
+ 'Available commands:',
7
+ ' develop "description" [--project key] [--on worker]',
8
+ ' progress [#taskId]',
9
+ ' cancel #taskId',
10
+ ' retry #taskId',
11
+ ' list [--project key]',
12
+ ' workspace #taskId',
13
+ ' logs #taskId',
14
+ ' confirm #taskId',
15
+ ' projects — list your projects',
16
+ ' status — show cluster status',
17
+ ' show #taskId — show task details',
18
+ ' workers — list all workers',
19
+ ' search <query> — search tasks, workers, projects',
20
+ ` bind — link your ${platform} account to Overlord`,
21
+ ' info — show chat and user info for this channel',
22
+ ].join('\n');
23
+ }
24
+ //# sourceMappingURL=help-text.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"help-text.js","sourceRoot":"","sources":["../../src/adapters/help-text.ts"],"names":[],"mappings":";;AAAA,sCAmBC;AAnBD,SAAgB,aAAa,CAAC,QAAgB;IAC5C,OAAO;QACL,qBAAqB;QACrB,uDAAuD;QACvD,sBAAsB;QACtB,kBAAkB;QAClB,iBAAiB;QACjB,wBAAwB;QACxB,qBAAqB;QACrB,gBAAgB;QAChB,mBAAmB;QACnB,iCAAiC;QACjC,gCAAgC;QAChC,oCAAoC;QACpC,8BAA8B;QAC9B,oDAAoD;QACpD,sBAAsB,QAAQ,sBAAsB;QACpD,mDAAmD;KACpD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
@@ -1,20 +1,5 @@
1
- import { CommandType } from '@overlordai/protocol';
2
- /**
3
- * Parsed command extracted from a Lark @bot message.
4
- */
5
- export interface ParsedCommand {
6
- type: CommandType | 'help';
7
- args: {
8
- description?: string;
9
- project?: string;
10
- worker?: string;
11
- taskId?: number;
12
- taskType?: string;
13
- query?: string;
14
- option?: string;
15
- inputText?: string;
16
- };
17
- }
1
+ export type { ParsedCommand } from '../command-parser.utils';
2
+ import type { ParsedCommand } from '../command-parser.utils';
18
3
  /**
19
4
  * Parses Lark @bot message text into structured commands.
20
5
  *
@@ -32,8 +17,6 @@ export interface ParsedCommand {
32
17
  * @bot show #42
33
18
  * @bot workers
34
19
  * @bot search keyword
35
- * @bot choose #42 optionA
36
- * @bot input #42 "some text"
37
20
  */
38
21
  export declare class LarkMessageParser {
39
22
  /**
@@ -42,21 +25,5 @@ export declare class LarkMessageParser {
42
25
  * @returns Parsed command, or a help command if unrecognised.
43
26
  */
44
27
  parse(text: string): ParsedCommand;
45
- private parseDevelop;
46
- private parseWithOptionalTaskId;
47
- private parseWithRequiredTaskId;
48
- private parseList;
49
- private parseSearch;
50
- private parseChoose;
51
- private parseInput;
52
- /**
53
- * Extract a task ID from tokens. Recognises `#42` or bare `42`.
54
- */
55
- private extractTaskId;
56
- /**
57
- * Tokenize input text, respecting single and double-quoted strings.
58
- * Quotes are stripped from the resulting tokens.
59
- */
60
- private tokenize;
61
28
  }
62
29
  //# sourceMappingURL=lark-message.parser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lark-message.parser.d.ts","sourceRoot":"","sources":["../../../src/adapters/lark/lark-message.parser.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,WAAW,GAAG,MAAM,CAAC;IAC3B,IAAI,EAAE;QACJ,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBACa,iBAAiB;IAC5B;;;;OAIG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa;IAgFlC,OAAO,CAAC,YAAY;IAuDpB,OAAO,CAAC,uBAAuB;IAW/B,OAAO,CAAC,uBAAuB;IAW/B,OAAO,CAAC,SAAS;IAqBjB,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,UAAU;IAkBlB;;OAEG;IACH,OAAO,CAAC,aAAa;IAUrB;;;OAGG;IACH,OAAO,CAAC,QAAQ;CAejB"}
1
+ {"version":3,"file":"lark-message.parser.d.ts","sourceRoot":"","sources":["../../../src/adapters/lark/lark-message.parser.ts"],"names":[],"mappings":"AAWA,YAAY,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D;;;;;;;;;;;;;;;;;GAiBG;AACH,qBACa,iBAAiB;IAC5B;;;;OAIG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa;CAsEnC"}
@@ -9,6 +9,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.LarkMessageParser = void 0;
10
10
  const common_1 = require("@nestjs/common");
11
11
  const protocol_1 = require("@overlordai/protocol");
12
+ const command_parser_utils_1 = require("../command-parser.utils");
12
13
  /**
13
14
  * Parses Lark @bot message text into structured commands.
14
15
  *
@@ -26,8 +27,6 @@ const protocol_1 = require("@overlordai/protocol");
26
27
  * @bot show #42
27
28
  * @bot workers
28
29
  * @bot search keyword
29
- * @bot choose #42 optionA
30
- * @bot input #42 "some text"
31
30
  */
32
31
  let LarkMessageParser = class LarkMessageParser {
33
32
  /**
@@ -41,7 +40,7 @@ let LarkMessageParser = class LarkMessageParser {
41
40
  return { type: 'help', args: {} };
42
41
  }
43
42
  // Split into tokens, but respect quoted strings
44
- const tokens = this.tokenize(trimmed);
43
+ const tokens = (0, command_parser_utils_1.tokenize)(trimmed);
45
44
  if (tokens.length === 0) {
46
45
  return { type: 'help', args: {} };
47
46
  }
@@ -49,39 +48,35 @@ let LarkMessageParser = class LarkMessageParser {
49
48
  switch (commandName) {
50
49
  case 'develop':
51
50
  case 'dev':
52
- return this.parseDevelop(tokens.slice(1));
51
+ return (0, command_parser_utils_1.parseDevelop)(tokens.slice(1));
53
52
  case 'progress':
54
- return this.parseWithOptionalTaskId(protocol_1.CommandType.PROGRESS, tokens.slice(1));
53
+ return (0, command_parser_utils_1.parseWithOptionalTaskId)(protocol_1.CommandType.PROGRESS, tokens.slice(1));
55
54
  case 'cancel':
56
- return this.parseWithRequiredTaskId(protocol_1.CommandType.CANCEL, tokens.slice(1));
55
+ return (0, command_parser_utils_1.parseWithRequiredTaskId)(protocol_1.CommandType.CANCEL, tokens.slice(1));
57
56
  case 'retry':
58
- return this.parseWithRequiredTaskId(protocol_1.CommandType.RETRY, tokens.slice(1));
57
+ return (0, command_parser_utils_1.parseWithRequiredTaskId)(protocol_1.CommandType.RETRY, tokens.slice(1));
59
58
  case 'list':
60
59
  case 'ls':
61
- return this.parseList(tokens.slice(1));
60
+ return (0, command_parser_utils_1.parseList)(tokens.slice(1));
62
61
  case 'workspace':
63
62
  case 'ws':
64
- return this.parseWithRequiredTaskId(protocol_1.CommandType.WORKSPACE, tokens.slice(1));
63
+ return (0, command_parser_utils_1.parseWithRequiredTaskId)(protocol_1.CommandType.WORKSPACE, tokens.slice(1));
65
64
  case 'logs':
66
65
  case 'log':
67
- return this.parseWithRequiredTaskId(protocol_1.CommandType.LOGS, tokens.slice(1));
66
+ return (0, command_parser_utils_1.parseWithRequiredTaskId)(protocol_1.CommandType.LOGS, tokens.slice(1));
68
67
  case 'confirm':
69
- return this.parseWithRequiredTaskId(protocol_1.CommandType.CONFIRM, tokens.slice(1));
68
+ return (0, command_parser_utils_1.parseWithRequiredTaskId)(protocol_1.CommandType.CONFIRM, tokens.slice(1));
70
69
  case 'projects':
71
70
  case 'proj':
72
71
  return { type: protocol_1.CommandType.PROJECTS, args: {} };
73
72
  case 'status':
74
73
  return { type: protocol_1.CommandType.STATUS, args: {} };
75
74
  case 'show':
76
- return this.parseWithRequiredTaskId(protocol_1.CommandType.SHOW, tokens.slice(1));
75
+ return (0, command_parser_utils_1.parseWithRequiredTaskId)(protocol_1.CommandType.SHOW, tokens.slice(1));
77
76
  case 'workers':
78
77
  return { type: protocol_1.CommandType.WORKERS, args: {} };
79
78
  case 'search':
80
- return this.parseSearch(tokens.slice(1));
81
- case 'choose':
82
- return this.parseChoose(tokens.slice(1));
83
- case 'input':
84
- return this.parseInput(tokens.slice(1));
79
+ return (0, command_parser_utils_1.parseSearch)(tokens.slice(1));
85
80
  case 'bind':
86
81
  return { type: protocol_1.CommandType.BIND, args: {} };
87
82
  case 'info':
@@ -90,151 +85,6 @@ let LarkMessageParser = class LarkMessageParser {
90
85
  return { type: 'help', args: {} };
91
86
  }
92
87
  }
93
- // ---------------------------------------------------------------------------
94
- // Sub-parsers
95
- // ---------------------------------------------------------------------------
96
- parseDevelop(tokens) {
97
- let description;
98
- let project;
99
- let worker;
100
- let i = 0;
101
- while (i < tokens.length) {
102
- const token = tokens[i];
103
- if (token === '--project' || token === '-p') {
104
- i++;
105
- if (i < tokens.length)
106
- project = tokens[i];
107
- i++;
108
- continue;
109
- }
110
- if (token === '--on') {
111
- i++;
112
- if (i < tokens.length)
113
- worker = tokens[i];
114
- i++;
115
- continue;
116
- }
117
- // First non-flag token is the description
118
- if (description === undefined) {
119
- description = token;
120
- }
121
- i++;
122
- }
123
- if (!description) {
124
- return { type: 'help', args: {} };
125
- }
126
- let taskType;
127
- if (description) {
128
- const typeMatch = description.match(/^(feat|fix|refactor|docs|chore):\s*/i);
129
- if (typeMatch) {
130
- taskType = typeMatch[1].toLowerCase();
131
- description = description.slice(typeMatch[0].length).trim();
132
- }
133
- }
134
- return {
135
- type: protocol_1.CommandType.DEVELOP,
136
- args: {
137
- description: description.trim(),
138
- ...(project ? { project } : {}),
139
- ...(worker ? { worker } : {}),
140
- ...(taskType ? { taskType } : {}),
141
- },
142
- };
143
- }
144
- parseWithOptionalTaskId(type, tokens) {
145
- const taskId = this.extractTaskId(tokens);
146
- return {
147
- type,
148
- args: taskId !== undefined ? { taskId } : {},
149
- };
150
- }
151
- parseWithRequiredTaskId(type, tokens) {
152
- const taskId = this.extractTaskId(tokens);
153
- if (taskId === undefined) {
154
- return { type: 'help', args: {} };
155
- }
156
- return { type, args: { taskId } };
157
- }
158
- parseList(tokens) {
159
- let project;
160
- let i = 0;
161
- while (i < tokens.length) {
162
- const token = tokens[i];
163
- if (token === '--project' || token === '-p') {
164
- i++;
165
- if (i < tokens.length)
166
- project = tokens[i];
167
- i++;
168
- continue;
169
- }
170
- i++;
171
- }
172
- return {
173
- type: protocol_1.CommandType.LIST,
174
- args: project ? { project } : {},
175
- };
176
- }
177
- parseSearch(tokens) {
178
- const query = tokens.join(' ').trim();
179
- if (!query) {
180
- return { type: 'help', args: {} };
181
- }
182
- return { type: protocol_1.CommandType.SEARCH, args: { query } };
183
- }
184
- parseChoose(tokens) {
185
- const taskId = this.extractTaskId(tokens);
186
- if (taskId === undefined) {
187
- return { type: 'help', args: {} };
188
- }
189
- // Find the option: first token that is not the taskId
190
- const option = tokens.find((t) => !/^#?\d+$/.test(t));
191
- return { type: protocol_1.CommandType.CHOOSE, args: { taskId, ...(option ? { option } : {}) } };
192
- }
193
- parseInput(tokens) {
194
- const taskId = this.extractTaskId(tokens);
195
- if (taskId === undefined) {
196
- return { type: 'help', args: {} };
197
- }
198
- // Everything after the taskId token is the input text
199
- const taskIdIndex = tokens.findIndex((t) => /^#?\d+$/.test(t));
200
- const rest = tokens.slice(taskIdIndex + 1).join(' ').trim();
201
- return {
202
- type: protocol_1.CommandType.INPUT,
203
- args: { taskId, ...(rest ? { inputText: rest } : {}) },
204
- };
205
- }
206
- // ---------------------------------------------------------------------------
207
- // Helpers
208
- // ---------------------------------------------------------------------------
209
- /**
210
- * Extract a task ID from tokens. Recognises `#42` or bare `42`.
211
- */
212
- extractTaskId(tokens) {
213
- for (const token of tokens) {
214
- const match = /^#?(\d+)$/.exec(token);
215
- if (match) {
216
- return parseInt(match[1], 10);
217
- }
218
- }
219
- return undefined;
220
- }
221
- /**
222
- * Tokenize input text, respecting single and double-quoted strings.
223
- * Quotes are stripped from the resulting tokens.
224
- */
225
- tokenize(text) {
226
- const tokens = [];
227
- const regex = /(?:"([^"]*)")|(?:'([^']*)')|(\S+)/g;
228
- let match;
229
- while ((match = regex.exec(text)) !== null) {
230
- // match[1] = double-quoted content, match[2] = single-quoted, match[3] = unquoted
231
- const value = match[1] ?? match[2] ?? match[3];
232
- if (value !== undefined) {
233
- tokens.push(value);
234
- }
235
- }
236
- return tokens;
237
- }
238
88
  };
239
89
  exports.LarkMessageParser = LarkMessageParser;
240
90
  exports.LarkMessageParser = LarkMessageParser = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"lark-message.parser.js","sourceRoot":"","sources":["../../../src/adapters/lark/lark-message.parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lark-message.parser.js","sourceRoot":"","sources":["../../../src/adapters/lark/lark-message.parser.ts"],"names":[],"mappings":"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"}
@@ -62,6 +62,18 @@ export declare class LarkAdapter implements IMessageAdapter {
62
62
  * Send a plain text message (internal helper).
63
63
  */
64
64
  private sendTextMessage;
65
+ /**
66
+ * Fetch the text content of a quoted (parent) message.
67
+ * Returns null if the message is not text or cannot be fetched.
68
+ */
69
+ private fetchQuotedContent;
70
+ /**
71
+ * Resolve a @mentioned developer from the mentions array.
72
+ * Filters out the sender's own mention. The first mention is assumed to be
73
+ * the bot. If a second mention resolves to a registered developer, returns
74
+ * their id and name. If unresolved, returns the unregistered name.
75
+ */
76
+ private resolveDeveloperMention;
65
77
  /**
66
78
  * Send a help message listing available commands.
67
79
  */
@@ -1 +1 @@
1
- {"version":3,"file":"lark.adapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/lark/lark.adapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGrE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGvC,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,kDAAkD,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAG5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAmDtD;;;GAGG;AACH,qBACa,WAAY,YAAW,eAAe;IAa/C,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IAErC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,aAAa;IApBhC,QAAQ,CAAC,QAAQ,SAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgC;IAEvD,2CAA2C;IAC3C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAkB;IACvD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiE;IAEzF,kEAAkE;IAClE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA6B;IACxD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAS;gBAG5B,OAAO,EAAE,aAAa,EACtB,aAAa,EAAE,mBAAmB,EAClC,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,iBAAiB,EACzB,WAAW,EAAE,eAAe,EAC5B,oBAAoB,EAAE,oBAAoB,EAE1C,QAAQ,EAAE,eAAe,EACzB,aAAa,EAAE,aAAa;IAOzC,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;YA6C5C,aAAa;YAyJb,gBAAgB;IA+CxB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IAqDrE,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqCpF,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAQvE;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAwB1B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAsBzB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAK/B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAQzB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAM5B;;OAEG;YACW,eAAe;IA0B7B;;OAEG;YACW,eAAe;CAwB9B"}
1
+ {"version":3,"file":"lark.adapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/lark/lark.adapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGrE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGvC,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,kDAAkD,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAG5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAoDtD;;;GAGG;AACH,qBACa,WAAY,YAAW,eAAe;IAa/C,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IAErC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,aAAa;IApBhC,QAAQ,CAAC,QAAQ,SAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgC;IAEvD,2CAA2C;IAC3C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAkB;IACvD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiE;IAEzF,kEAAkE;IAClE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA6B;IACxD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAS;gBAG5B,OAAO,EAAE,aAAa,EACtB,aAAa,EAAE,mBAAmB,EAClC,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,iBAAiB,EACzB,WAAW,EAAE,eAAe,EAC5B,oBAAoB,EAAE,oBAAoB,EAE1C,QAAQ,EAAE,eAAe,EACzB,aAAa,EAAE,aAAa;IAOzC,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;YA6C5C,aAAa;YA+Lb,gBAAgB;IA+CxB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IAqDrE,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqCpF,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAQvE;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAwB1B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAsBzB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAK/B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAQzB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAM5B;;OAEG;YACW,eAAe;IA0B7B;;;OAGG;YACW,kBAAkB;IAYhC;;;;;OAKG;IACH,OAAO,CAAC,uBAAuB;IAiC/B;;OAEG;YACW,eAAe;CAG9B"}