managed-deepagents 0.9.6-dev.19 → 0.9.6-dev.20

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 (333) hide show
  1. package/README.md +1075 -37
  2. package/dist/agent-auth.d.ts +1 -1
  3. package/dist/agent-auth.d.ts.map +1 -1
  4. package/dist/agent-auth.js +36 -12
  5. package/dist/agent-auth.js.map +1 -1
  6. package/dist/browser.d.ts +37 -0
  7. package/dist/browser.d.ts.map +1 -0
  8. package/dist/browser.js +31 -0
  9. package/dist/browser.js.map +1 -0
  10. package/dist/channels/actor.d.ts +57 -0
  11. package/dist/channels/actor.d.ts.map +1 -0
  12. package/dist/channels/actor.js +24 -0
  13. package/dist/channels/actor.js.map +1 -0
  14. package/dist/channels/assistant-text.d.ts +29 -0
  15. package/dist/channels/assistant-text.d.ts.map +1 -1
  16. package/dist/channels/assistant-text.js +72 -1
  17. package/dist/channels/assistant-text.js.map +1 -1
  18. package/dist/channels/binding.d.ts +20 -1
  19. package/dist/channels/binding.d.ts.map +1 -1
  20. package/dist/channels/binding.js +44 -11
  21. package/dist/channels/binding.js.map +1 -1
  22. package/dist/channels/delivery.d.ts +51 -0
  23. package/dist/channels/delivery.d.ts.map +1 -0
  24. package/dist/channels/delivery.js +424 -0
  25. package/dist/channels/delivery.js.map +1 -0
  26. package/dist/channels/github/app-setup.d.ts +32 -0
  27. package/dist/channels/github/app-setup.d.ts.map +1 -0
  28. package/dist/channels/github/app-setup.js +146 -0
  29. package/dist/channels/github/app-setup.js.map +1 -0
  30. package/dist/channels/github/connections.d.ts +11 -0
  31. package/dist/channels/github/connections.d.ts.map +1 -0
  32. package/dist/channels/github/connections.js +14 -0
  33. package/dist/channels/github/connections.js.map +1 -0
  34. package/dist/channels/github/index.d.ts +12 -0
  35. package/dist/channels/github/index.d.ts.map +1 -0
  36. package/dist/channels/github/index.js +266 -0
  37. package/dist/channels/github/index.js.map +1 -0
  38. package/dist/channels/github/mentions.d.ts +12 -0
  39. package/dist/channels/github/mentions.d.ts.map +1 -0
  40. package/dist/channels/github/mentions.js +185 -0
  41. package/dist/channels/github/mentions.js.map +1 -0
  42. package/dist/channels/github/schema.d.ts +4165 -0
  43. package/dist/channels/github/schema.d.ts.map +1 -0
  44. package/dist/channels/github/schema.js +221 -0
  45. package/dist/channels/github/schema.js.map +1 -0
  46. package/dist/channels/github/types.d.ts +170 -0
  47. package/dist/channels/github/types.d.ts.map +1 -0
  48. package/dist/channels/github/types.js +2 -0
  49. package/dist/channels/github/types.js.map +1 -0
  50. package/dist/channels/http/endpoint.d.ts +137 -0
  51. package/dist/channels/http/endpoint.d.ts.map +1 -0
  52. package/dist/channels/http/endpoint.js +286 -0
  53. package/dist/channels/http/endpoint.js.map +1 -0
  54. package/dist/channels/http/http.d.ts.map +1 -1
  55. package/dist/channels/http/http.js +439 -65
  56. package/dist/channels/http/http.js.map +1 -1
  57. package/dist/channels/http/index.d.ts +8 -1
  58. package/dist/channels/http/index.d.ts.map +1 -1
  59. package/dist/channels/http/index.js +35 -16
  60. package/dist/channels/http/index.js.map +1 -1
  61. package/dist/channels/http/ingress.d.ts +67 -5
  62. package/dist/channels/http/ingress.d.ts.map +1 -1
  63. package/dist/channels/http/ingress.js +155 -43
  64. package/dist/channels/http/ingress.js.map +1 -1
  65. package/dist/channels/http/provider.d.ts +125 -0
  66. package/dist/channels/http/provider.d.ts.map +1 -0
  67. package/dist/channels/http/provider.js +227 -0
  68. package/dist/channels/http/provider.js.map +1 -0
  69. package/dist/channels/http/studio.d.ts +24 -0
  70. package/dist/channels/http/studio.d.ts.map +1 -0
  71. package/dist/channels/http/studio.js +95 -0
  72. package/dist/channels/http/studio.js.map +1 -0
  73. package/dist/channels/http/threads.d.ts +7 -0
  74. package/dist/channels/http/threads.d.ts.map +1 -0
  75. package/dist/channels/http/threads.js +10 -0
  76. package/dist/channels/http/threads.js.map +1 -0
  77. package/dist/channels/http/types.d.ts +166 -2
  78. package/dist/channels/http/types.d.ts.map +1 -1
  79. package/dist/channels/linear/app-setup.d.ts +29 -0
  80. package/dist/channels/linear/app-setup.d.ts.map +1 -0
  81. package/dist/channels/linear/app-setup.js +102 -0
  82. package/dist/channels/linear/app-setup.js.map +1 -0
  83. package/dist/channels/linear/connections.d.ts +11 -0
  84. package/dist/channels/linear/connections.d.ts.map +1 -0
  85. package/dist/channels/linear/connections.js +14 -0
  86. package/dist/channels/linear/connections.js.map +1 -0
  87. package/dist/channels/linear/graphql.d.ts +57 -0
  88. package/dist/channels/linear/graphql.d.ts.map +1 -0
  89. package/dist/channels/linear/graphql.js +167 -0
  90. package/dist/channels/linear/graphql.js.map +1 -0
  91. package/dist/channels/linear/index.d.ts +13 -0
  92. package/dist/channels/linear/index.d.ts.map +1 -0
  93. package/dist/channels/linear/index.js +457 -0
  94. package/dist/channels/linear/index.js.map +1 -0
  95. package/dist/channels/linear/schema.d.ts +1050 -0
  96. package/dist/channels/linear/schema.d.ts.map +1 -0
  97. package/dist/channels/linear/schema.js +255 -0
  98. package/dist/channels/linear/schema.js.map +1 -0
  99. package/dist/channels/linear/types.d.ts +169 -0
  100. package/dist/channels/linear/types.d.ts.map +1 -0
  101. package/dist/channels/linear/types.js +2 -0
  102. package/dist/channels/linear/types.js.map +1 -0
  103. package/dist/channels/message-schema.d.ts +2 -0
  104. package/dist/channels/message-schema.d.ts.map +1 -1
  105. package/dist/channels/message-schema.js +4 -0
  106. package/dist/channels/message-schema.js.map +1 -1
  107. package/dist/channels/messaging-registry.d.ts +16 -0
  108. package/dist/channels/messaging-registry.d.ts.map +1 -1
  109. package/dist/channels/messaging-registry.js +29 -0
  110. package/dist/channels/messaging-registry.js.map +1 -1
  111. package/dist/channels/reserved-connections.d.ts +12 -0
  112. package/dist/channels/reserved-connections.d.ts.map +1 -0
  113. package/dist/channels/reserved-connections.js +55 -0
  114. package/dist/channels/reserved-connections.js.map +1 -0
  115. package/dist/channels/resolve-user-endpoint.d.ts +34 -0
  116. package/dist/channels/resolve-user-endpoint.d.ts.map +1 -0
  117. package/dist/channels/resolve-user-endpoint.js +51 -0
  118. package/dist/channels/resolve-user-endpoint.js.map +1 -0
  119. package/dist/channels/resolve-user.d.ts +95 -0
  120. package/dist/channels/resolve-user.d.ts.map +1 -0
  121. package/dist/channels/resolve-user.js +143 -0
  122. package/dist/channels/resolve-user.js.map +1 -0
  123. package/dist/channels/run-input.d.ts +88 -0
  124. package/dist/channels/run-input.d.ts.map +1 -0
  125. package/dist/channels/run-input.js +177 -0
  126. package/dist/channels/run-input.js.map +1 -0
  127. package/dist/channels/runtime.d.ts +5 -2
  128. package/dist/channels/runtime.d.ts.map +1 -1
  129. package/dist/channels/runtime.js +19 -10
  130. package/dist/channels/runtime.js.map +1 -1
  131. package/dist/channels/schedule-delivery.d.ts +2 -13
  132. package/dist/channels/schedule-delivery.d.ts.map +1 -1
  133. package/dist/channels/schedule-delivery.js +6 -73
  134. package/dist/channels/schedule-delivery.js.map +1 -1
  135. package/dist/channels/slack/api.d.ts +2 -0
  136. package/dist/channels/slack/api.d.ts.map +1 -1
  137. package/dist/channels/slack/api.js +6 -0
  138. package/dist/channels/slack/api.js.map +1 -1
  139. package/dist/channels/slack/connections.d.ts +6 -0
  140. package/dist/channels/slack/connections.d.ts.map +1 -0
  141. package/dist/channels/slack/connections.js +6 -0
  142. package/dist/channels/slack/connections.js.map +1 -0
  143. package/dist/channels/slack/events.d.ts +278 -0
  144. package/dist/channels/slack/events.d.ts.map +1 -0
  145. package/dist/channels/slack/events.js +235 -0
  146. package/dist/channels/slack/events.js.map +1 -0
  147. package/dist/channels/slack/files.d.ts.map +1 -1
  148. package/dist/channels/slack/files.js +2 -3
  149. package/dist/channels/slack/files.js.map +1 -1
  150. package/dist/channels/slack/index.d.ts +90 -2
  151. package/dist/channels/slack/index.d.ts.map +1 -1
  152. package/dist/channels/slack/index.js +188 -6
  153. package/dist/channels/slack/index.js.map +1 -1
  154. package/dist/channels/slack/message-content.d.ts.map +1 -1
  155. package/dist/channels/slack/message-content.js +23 -28
  156. package/dist/channels/slack/message-content.js.map +1 -1
  157. package/dist/channels/slack/status.d.ts +76 -0
  158. package/dist/channels/slack/status.d.ts.map +1 -0
  159. package/dist/channels/slack/status.js +427 -0
  160. package/dist/channels/slack/status.js.map +1 -0
  161. package/dist/channels/source-providers.js +1 -1
  162. package/dist/channels/source-providers.js.map +1 -1
  163. package/dist/channels/trigger/client.d.ts.map +1 -1
  164. package/dist/channels/trigger/client.js +6 -9
  165. package/dist/channels/trigger/client.js.map +1 -1
  166. package/dist/channels/trigger/conversation.d.ts +11 -0
  167. package/dist/channels/trigger/conversation.d.ts.map +1 -0
  168. package/dist/channels/trigger/conversation.js +72 -0
  169. package/dist/channels/trigger/conversation.js.map +1 -0
  170. package/dist/channels/trigger/http.d.ts +130 -4
  171. package/dist/channels/trigger/http.d.ts.map +1 -1
  172. package/dist/channels/trigger/http.js +408 -78
  173. package/dist/channels/trigger/http.js.map +1 -1
  174. package/dist/channels/trigger/ingress.d.ts +70 -1
  175. package/dist/channels/trigger/ingress.d.ts.map +1 -1
  176. package/dist/channels/trigger/ingress.js +130 -19
  177. package/dist/channels/trigger/ingress.js.map +1 -1
  178. package/dist/channels/trigger/transport.d.ts +10 -0
  179. package/dist/channels/trigger/transport.d.ts.map +1 -1
  180. package/dist/channels/trigger/transport.js +25 -9
  181. package/dist/channels/trigger/transport.js.map +1 -1
  182. package/dist/channels/trigger/types.d.ts +92 -3
  183. package/dist/channels/trigger/types.d.ts.map +1 -1
  184. package/dist/channels/trigger/types.js +37 -0
  185. package/dist/channels/trigger/types.js.map +1 -1
  186. package/dist/channels/types.d.ts +53 -4
  187. package/dist/channels/types.d.ts.map +1 -1
  188. package/dist/channels/types.js +2 -0
  189. package/dist/channels/types.js.map +1 -1
  190. package/dist/connections.d.ts +35 -1
  191. package/dist/connections.d.ts.map +1 -1
  192. package/dist/connections.js +121 -10
  193. package/dist/connections.js.map +1 -1
  194. package/dist/credential-gate.d.ts +2 -0
  195. package/dist/credential-gate.d.ts.map +1 -1
  196. package/dist/credential-gate.js +37 -3
  197. package/dist/credential-gate.js.map +1 -1
  198. package/dist/define-deep-agent.d.ts +2 -2
  199. package/dist/define-deep-agent.d.ts.map +1 -1
  200. package/dist/define-deep-agent.js +53 -2
  201. package/dist/define-deep-agent.js.map +1 -1
  202. package/dist/identity/index.d.ts.map +1 -1
  203. package/dist/identity/index.js +3 -1
  204. package/dist/identity/index.js.map +1 -1
  205. package/dist/identity/options.d.ts +9 -0
  206. package/dist/identity/options.d.ts.map +1 -1
  207. package/dist/identity/options.js +1 -1
  208. package/dist/identity/options.js.map +1 -1
  209. package/dist/identity/types.d.ts +3 -0
  210. package/dist/identity/types.d.ts.map +1 -1
  211. package/dist/index.d.ts +19 -5
  212. package/dist/index.d.ts.map +1 -1
  213. package/dist/index.js +3 -1
  214. package/dist/index.js.map +1 -1
  215. package/dist/ingress/loopback.d.ts +1 -0
  216. package/dist/ingress/loopback.d.ts.map +1 -1
  217. package/dist/ingress/loopback.js +4 -1
  218. package/dist/ingress/loopback.js.map +1 -1
  219. package/dist/ingress/runs.d.ts +74 -1
  220. package/dist/ingress/runs.d.ts.map +1 -1
  221. package/dist/ingress/runs.js +184 -9
  222. package/dist/ingress/runs.js.map +1 -1
  223. package/dist/managed-composition.d.ts +3 -0
  224. package/dist/managed-composition.d.ts.map +1 -1
  225. package/dist/managed-composition.js +29 -13
  226. package/dist/managed-composition.js.map +1 -1
  227. package/dist/namespaces.d.ts +25 -21
  228. package/dist/namespaces.d.ts.map +1 -1
  229. package/dist/namespaces.js +4 -29
  230. package/dist/namespaces.js.map +1 -1
  231. package/dist/runtime/async-subagents.d.ts +27 -0
  232. package/dist/runtime/async-subagents.d.ts.map +1 -0
  233. package/dist/runtime/async-subagents.js +139 -0
  234. package/dist/runtime/async-subagents.js.map +1 -0
  235. package/dist/runtime/auth.d.ts.map +1 -1
  236. package/dist/runtime/auth.js +177 -8
  237. package/dist/runtime/auth.js.map +1 -1
  238. package/dist/runtime/backend.d.ts +7 -0
  239. package/dist/runtime/backend.d.ts.map +1 -1
  240. package/dist/runtime/backend.js +32 -7
  241. package/dist/runtime/backend.js.map +1 -1
  242. package/dist/runtime/browser-facade.d.ts +10 -0
  243. package/dist/runtime/browser-facade.d.ts.map +1 -0
  244. package/dist/runtime/browser-facade.js +23 -0
  245. package/dist/runtime/browser-facade.js.map +1 -0
  246. package/dist/runtime/browser-langsmith.d.ts +143 -0
  247. package/dist/runtime/browser-langsmith.d.ts.map +1 -0
  248. package/dist/runtime/browser-langsmith.js +508 -0
  249. package/dist/runtime/browser-langsmith.js.map +1 -0
  250. package/dist/runtime/browser-recorder.py +831 -0
  251. package/dist/runtime/browser-selection.d.ts +10 -0
  252. package/dist/runtime/browser-selection.d.ts.map +1 -0
  253. package/dist/runtime/browser-selection.js +21 -0
  254. package/dist/runtime/browser-selection.js.map +1 -0
  255. package/dist/runtime/browser.d.ts +128 -0
  256. package/dist/runtime/browser.d.ts.map +1 -0
  257. package/dist/runtime/browser.js +795 -0
  258. package/dist/runtime/browser.js.map +1 -0
  259. package/dist/runtime/channel-icon.d.ts +22 -0
  260. package/dist/runtime/channel-icon.d.ts.map +1 -0
  261. package/dist/runtime/channel-icon.js +81 -0
  262. package/dist/runtime/channel-icon.js.map +1 -0
  263. package/dist/runtime/channel.d.ts +11 -0
  264. package/dist/runtime/channel.d.ts.map +1 -1
  265. package/dist/runtime/channel.js.map +1 -1
  266. package/dist/runtime/identity-http.d.ts +2 -0
  267. package/dist/runtime/identity-http.d.ts.map +1 -1
  268. package/dist/runtime/identity-http.js +38 -2
  269. package/dist/runtime/identity-http.js.map +1 -1
  270. package/dist/runtime/identity-runtime.d.ts +10 -0
  271. package/dist/runtime/identity-runtime.d.ts.map +1 -1
  272. package/dist/runtime/identity-runtime.js +22 -0
  273. package/dist/runtime/identity-runtime.js.map +1 -1
  274. package/dist/runtime/index.d.ts +38 -1
  275. package/dist/runtime/index.d.ts.map +1 -1
  276. package/dist/runtime/index.js +76 -34
  277. package/dist/runtime/index.js.map +1 -1
  278. package/dist/runtime/managed-thread.d.ts +61 -0
  279. package/dist/runtime/managed-thread.d.ts.map +1 -0
  280. package/dist/runtime/managed-thread.js +76 -0
  281. package/dist/runtime/managed-thread.js.map +1 -0
  282. package/dist/runtime/managed-tools.d.ts +10 -2
  283. package/dist/runtime/managed-tools.d.ts.map +1 -1
  284. package/dist/runtime/managed-tools.js +10 -8
  285. package/dist/runtime/managed-tools.js.map +1 -1
  286. package/dist/runtime/memory/policy.d.ts.map +1 -1
  287. package/dist/runtime/memory/policy.js +1 -3
  288. package/dist/runtime/memory/policy.js.map +1 -1
  289. package/dist/runtime/parent-run.d.ts +33 -0
  290. package/dist/runtime/parent-run.d.ts.map +1 -0
  291. package/dist/runtime/parent-run.js +114 -0
  292. package/dist/runtime/parent-run.js.map +1 -0
  293. package/dist/runtime/run-input.d.ts +14 -1
  294. package/dist/runtime/run-input.d.ts.map +1 -1
  295. package/dist/runtime/run-input.js +100 -7
  296. package/dist/runtime/run-input.js.map +1 -1
  297. package/dist/runtime/sandbox-manager.d.ts +15 -2
  298. package/dist/runtime/sandbox-manager.d.ts.map +1 -1
  299. package/dist/runtime/sandbox-manager.js +37 -12
  300. package/dist/runtime/sandbox-manager.js.map +1 -1
  301. package/dist/runtime/schedule-auth.d.ts +79 -0
  302. package/dist/runtime/schedule-auth.d.ts.map +1 -1
  303. package/dist/runtime/schedule-auth.js +163 -6
  304. package/dist/runtime/schedule-auth.js.map +1 -1
  305. package/dist/runtime/static-entry.d.ts.map +1 -1
  306. package/dist/runtime/static-entry.js +1 -0
  307. package/dist/runtime/static-entry.js.map +1 -1
  308. package/dist/runtime/thread-record.d.ts +88 -0
  309. package/dist/runtime/thread-record.d.ts.map +1 -0
  310. package/dist/runtime/thread-record.js +213 -0
  311. package/dist/runtime/thread-record.js.map +1 -0
  312. package/dist/runtime/types.d.ts +12 -1
  313. package/dist/runtime/types.d.ts.map +1 -1
  314. package/dist/runtime-schedules.d.ts +15 -0
  315. package/dist/runtime-schedules.d.ts.map +1 -1
  316. package/dist/runtime-schedules.js +83 -20
  317. package/dist/runtime-schedules.js.map +1 -1
  318. package/dist/sandbox.d.ts +0 -6
  319. package/dist/sandbox.d.ts.map +1 -1
  320. package/dist/sandbox.js +3 -7
  321. package/dist/sandbox.js.map +1 -1
  322. package/dist/schedule-channel.d.ts +5 -2
  323. package/dist/schedule-channel.d.ts.map +1 -1
  324. package/dist/schedule-channel.js +13 -12
  325. package/dist/schedule-channel.js.map +1 -1
  326. package/dist/types.d.ts +19 -2
  327. package/dist/types.d.ts.map +1 -1
  328. package/dist/types.js.map +1 -1
  329. package/dist/values.d.ts +15 -0
  330. package/dist/values.d.ts.map +1 -0
  331. package/dist/values.js +31 -0
  332. package/dist/values.js.map +1 -0
  333. package/package.json +23 -9
@@ -0,0 +1,185 @@
1
+ // A login (letters, digits, hyphens, at most 39 characters) or an
2
+ // organization's team, as GitHub links them. Not part of an email address,
3
+ // a longer word or a path, and without trailing punctuation.
4
+ const MENTION = /(?<![A-Za-z0-9_`@/.-])@([A-Za-z0-9][A-Za-z0-9-]{0,38}(?:\/[A-Za-z0-9_-](?:[A-Za-z0-9_.-]{0,98}[A-Za-z0-9_-])?)?)(?![A-Za-z0-9_-])/g;
5
+ /** A fence opens or closes a code block on a line of its own. */
6
+ const FENCE = /^ {0,3}(`{3,}|~{3,})/;
7
+ const PARAGRAPH_BREAK = /\n[ \t]*\n/;
8
+ const BACKTICKS = /`+/g;
9
+ /** Where an HTML block may start: the beginning of a line, after up to 3 spaces. */
10
+ const LINE_START = /(?:^|\n) {0,3}$/;
11
+ const MAX_MENTIONS = 50;
12
+ const QUOTE = /^ {0,3}>/;
13
+ const issue = (payload) => ({
14
+ title: payload.issue.title,
15
+ body: payload.issue.body,
16
+ });
17
+ const pullRequest = (payload) => ({
18
+ title: payload.pull_request.title,
19
+ body: payload.pull_request.body,
20
+ });
21
+ const comment = (payload) => ({
22
+ body: payload.comment.body,
23
+ });
24
+ const review = (payload) => ({
25
+ body: payload.review.body,
26
+ });
27
+ /**
28
+ * The text each event writes. Other actions, such as a push to a pull
29
+ * request or a label, write none, so they mention no one.
30
+ */
31
+ const TEXTS = {
32
+ "issues.opened": issue,
33
+ "issues.edited": issue,
34
+ "pull_request.opened": pullRequest,
35
+ "pull_request.edited": pullRequest,
36
+ "issue_comment.created": comment,
37
+ "issue_comment.edited": comment,
38
+ "pull_request_review.submitted": review,
39
+ "pull_request_review.edited": review,
40
+ "pull_request_review_comment.created": comment,
41
+ "pull_request_review_comment.edited": comment,
42
+ };
43
+ /**
44
+ * The handles, such as `@octocat`, the text the event wrote mentions:
45
+ * lowercased, each once, in order. As on GitHub, code, quotes and HTML
46
+ * comments mention no one. An edit lists only the handles it added.
47
+ */
48
+ export function eventMentions(event) {
49
+ // A key's function takes that key's payload; TypeScript can't pair them.
50
+ const texts = TEXTS[event.key];
51
+ if (!texts)
52
+ return [];
53
+ const text = texts(event.payload);
54
+ const mentions = handles(text);
55
+ if (!event.key.endsWith(".edited"))
56
+ return mentions;
57
+ const changes = event.payload.changes;
58
+ const changed = changes && typeof changes === "object"
59
+ ? changes
60
+ : {};
61
+ if (!Object.hasOwn(changed, "title") && !Object.hasOwn(changed, "body"))
62
+ return [];
63
+ const before = { ...text };
64
+ for (const field of ["title", "body"]) {
65
+ const previous = changed[field];
66
+ if (previous && typeof previous === "object" && field in text) {
67
+ const from = previous.from;
68
+ before[field] = typeof from === "string" ? from : null;
69
+ }
70
+ }
71
+ const known = new Set(handles(before));
72
+ return mentions.filter((handle) => !known.has(handle));
73
+ }
74
+ function handles(text) {
75
+ const parts = [text.title, text.body].filter((part) => typeof part === "string");
76
+ const mentions = [];
77
+ for (const match of prose(parts.join("\n\n")).matchAll(MENTION)) {
78
+ const handle = `@${match[1].toLowerCase()}`;
79
+ if (mentions.includes(handle))
80
+ continue;
81
+ mentions.push(handle);
82
+ if (mentions.length === MAX_MENTIONS)
83
+ break;
84
+ }
85
+ return mentions;
86
+ }
87
+ /**
88
+ * The text GitHub renders as prose: without code, quotes and HTML comments.
89
+ * Fences and quotes are read by line, as Markdown does; a fence that is never
90
+ * closed runs to the end, as on GitHub.
91
+ */
92
+ function prose(text) {
93
+ const lines = [];
94
+ let fence = "";
95
+ let quoted = false;
96
+ for (const line of text.split("\n")) {
97
+ const marker = FENCE.exec(line);
98
+ const rest = marker ? line.slice(marker[0].length) : "";
99
+ if (fence) {
100
+ if (marker &&
101
+ marker[1][0] === fence[0] &&
102
+ marker[1].length >= fence.length &&
103
+ !rest.trim())
104
+ fence = "";
105
+ lines.push("");
106
+ }
107
+ else if (
108
+ // A backtick fence's info string can't hold a backtick.
109
+ marker &&
110
+ !(marker[1].startsWith("`") && rest.includes("`"))) {
111
+ fence = marker[1];
112
+ quoted = false;
113
+ lines.push("");
114
+ }
115
+ else if (QUOTE.test(line)) {
116
+ quoted = true;
117
+ lines.push("");
118
+ }
119
+ else if (!line.trim()) {
120
+ quoted = false;
121
+ lines.push(line);
122
+ }
123
+ else {
124
+ // A line right after a quote continues it.
125
+ lines.push(quoted ? "" : line);
126
+ }
127
+ }
128
+ return withoutComments(lines.join("\n").split(PARAGRAPH_BREAK).map(withoutSpans).join("\n\n"));
129
+ }
130
+ /**
131
+ * A paragraph without its code spans. A span opens with a run of backticks
132
+ * and closes with the next run of the same length; a run that nothing
133
+ * closes is just backticks.
134
+ */
135
+ function withoutSpans(paragraph) {
136
+ const runs = [...paragraph.matchAll(BACKTICKS)].map((match) => [match.index, match.index + match[0].length]);
137
+ const closers = new Map();
138
+ runs.forEach(([start, end], index) => {
139
+ const waiting = closers.get(end - start) ?? [];
140
+ waiting.push(index);
141
+ closers.set(end - start, waiting);
142
+ });
143
+ // How far each length's queue has been read.
144
+ const read = new Map();
145
+ const kept = [];
146
+ let cursor = 0;
147
+ let index = 0;
148
+ while (index < runs.length) {
149
+ const [start, end] = runs[index];
150
+ const waiting = closers.get(end - start);
151
+ let next = read.get(end - start) ?? 0;
152
+ while (next < waiting.length && waiting[next] <= index)
153
+ next += 1;
154
+ read.set(end - start, next);
155
+ if (next === waiting.length) {
156
+ index += 1;
157
+ continue;
158
+ }
159
+ const closer = waiting[next];
160
+ read.set(end - start, next + 1);
161
+ kept.push(`${paragraph.slice(cursor, start)} `);
162
+ cursor = runs[closer][1];
163
+ index = closer + 1;
164
+ }
165
+ kept.push(paragraph.slice(cursor));
166
+ return kept.join("");
167
+ }
168
+ /**
169
+ * The text without HTML comments. One never closed runs to the end when it
170
+ * starts a line, as an HTML block does; elsewhere it is just text.
171
+ */
172
+ function withoutComments(text) {
173
+ const kept = [];
174
+ let cursor = 0;
175
+ for (let start = text.indexOf("<!--", cursor); start !== -1; start = text.indexOf("<!--", cursor)) {
176
+ const end = text.indexOf("-->", start + 4);
177
+ if (end === -1 && !LINE_START.test(text.slice(0, start)))
178
+ break;
179
+ kept.push(`${text.slice(cursor, start)} `);
180
+ cursor = end === -1 ? text.length : end + 3;
181
+ }
182
+ kept.push(text.slice(cursor));
183
+ return kept.join("");
184
+ }
185
+ //# sourceMappingURL=mentions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mentions.js","sourceRoot":"","sources":["../../../src/channels/github/mentions.ts"],"names":[],"mappings":"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"}