@adonis-agora/agent 0.62.0 → 0.64.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 (149) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/dist/providers/agent_provider.d.ts.map +1 -1
  3. package/dist/providers/agent_provider.js +1 -12
  4. package/dist/providers/agent_provider.js.map +1 -1
  5. package/dist/src/action-proposal-service.d.ts +3 -2
  6. package/dist/src/action-proposal-service.d.ts.map +1 -1
  7. package/dist/src/action-proposal-service.js +1 -0
  8. package/dist/src/action-proposal-service.js.map +1 -1
  9. package/dist/src/action-proposal-text.d.ts +5 -0
  10. package/dist/src/action-proposal-text.d.ts.map +1 -1
  11. package/dist/src/action-proposal-text.js +1 -0
  12. package/dist/src/action-proposal-text.js.map +1 -1
  13. package/dist/src/actor-resolver.d.ts +12 -4
  14. package/dist/src/actor-resolver.d.ts.map +1 -1
  15. package/dist/src/actor-resolver.js +24 -7
  16. package/dist/src/actor-resolver.js.map +1 -1
  17. package/dist/src/ag-ui/adapter.d.ts.map +1 -1
  18. package/dist/src/ag-ui/adapter.js +32 -6
  19. package/dist/src/ag-ui/adapter.js.map +1 -1
  20. package/dist/src/ag-ui/core/encoder.d.ts +2 -1
  21. package/dist/src/ag-ui/core/encoder.d.ts.map +1 -1
  22. package/dist/src/ag-ui/core/encoder.js +16 -5
  23. package/dist/src/ag-ui/core/encoder.js.map +1 -1
  24. package/dist/src/ag-ui/core/index.d.ts +2 -2
  25. package/dist/src/ag-ui/core/index.d.ts.map +1 -1
  26. package/dist/src/ag-ui/core/index.js +2 -2
  27. package/dist/src/ag-ui/core/index.js.map +1 -1
  28. package/dist/src/ag-ui/core/input.d.ts +21 -3
  29. package/dist/src/ag-ui/core/input.d.ts.map +1 -1
  30. package/dist/src/ag-ui/core/input.js +24 -6
  31. package/dist/src/ag-ui/core/input.js.map +1 -1
  32. package/dist/src/ag-ui/core/stream.d.ts +24 -2
  33. package/dist/src/ag-ui/core/stream.d.ts.map +1 -1
  34. package/dist/src/ag-ui/core/stream.js +25 -3
  35. package/dist/src/ag-ui/core/stream.js.map +1 -1
  36. package/dist/src/ag-ui/core/types.d.ts +2 -2
  37. package/dist/src/ag-ui/core/types.d.ts.map +1 -1
  38. package/dist/src/ag-ui/core/types.js +2 -2
  39. package/dist/src/ag-ui/core/types.js.map +1 -1
  40. package/dist/src/ag-ui/frames.d.ts +5 -1
  41. package/dist/src/ag-ui/frames.d.ts.map +1 -1
  42. package/dist/src/ag-ui/frames.js +13 -3
  43. package/dist/src/ag-ui/frames.js.map +1 -1
  44. package/dist/src/ag-ui/index.d.ts +1 -1
  45. package/dist/src/ag-ui/index.d.ts.map +1 -1
  46. package/dist/src/ag-ui/index.js +1 -1
  47. package/dist/src/ag-ui/index.js.map +1 -1
  48. package/dist/src/agent-service.d.ts +36 -3
  49. package/dist/src/agent-service.d.ts.map +1 -1
  50. package/dist/src/agent-service.js +65 -1
  51. package/dist/src/agent-service.js.map +1 -1
  52. package/dist/src/attachment-limits.d.ts +10 -0
  53. package/dist/src/attachment-limits.d.ts.map +1 -0
  54. package/dist/src/attachment-limits.js +13 -0
  55. package/dist/src/attachment-limits.js.map +1 -0
  56. package/dist/src/channels/adapters/evolution_api.d.ts +58 -0
  57. package/dist/src/channels/adapters/evolution_api.d.ts.map +1 -0
  58. package/dist/src/channels/adapters/evolution_api.js +256 -0
  59. package/dist/src/channels/adapters/evolution_api.js.map +1 -0
  60. package/dist/src/channels/adapters/telegram.d.ts +34 -0
  61. package/dist/src/channels/adapters/telegram.d.ts.map +1 -0
  62. package/dist/src/channels/adapters/telegram.js +196 -0
  63. package/dist/src/channels/adapters/telegram.js.map +1 -0
  64. package/dist/src/channels/adapters/whatsapp_cloud.d.ts +31 -0
  65. package/dist/src/channels/adapters/whatsapp_cloud.d.ts.map +1 -0
  66. package/dist/src/channels/adapters/whatsapp_cloud.js +177 -0
  67. package/dist/src/channels/adapters/whatsapp_cloud.js.map +1 -0
  68. package/dist/src/channels/adapters/whatsmiau.d.ts +26 -0
  69. package/dist/src/channels/adapters/whatsmiau.d.ts.map +1 -0
  70. package/dist/src/channels/adapters/whatsmiau.js +18 -0
  71. package/dist/src/channels/adapters/whatsmiau.js.map +1 -0
  72. package/dist/src/channels/handler.d.ts +190 -0
  73. package/dist/src/channels/handler.d.ts.map +1 -0
  74. package/dist/src/channels/handler.js +626 -0
  75. package/dist/src/channels/handler.js.map +1 -0
  76. package/dist/src/channels/http.d.ts +45 -0
  77. package/dist/src/channels/http.d.ts.map +1 -0
  78. package/dist/src/channels/http.js +147 -0
  79. package/dist/src/channels/http.js.map +1 -0
  80. package/dist/src/channels/index.d.ts +17 -0
  81. package/dist/src/channels/index.d.ts.map +1 -0
  82. package/dist/src/channels/index.js +16 -0
  83. package/dist/src/channels/index.js.map +1 -0
  84. package/dist/src/channels/markdown.d.ts +12 -0
  85. package/dist/src/channels/markdown.d.ts.map +1 -0
  86. package/dist/src/channels/markdown.js +120 -0
  87. package/dist/src/channels/markdown.js.map +1 -0
  88. package/dist/src/channels/questions.d.ts +45 -0
  89. package/dist/src/channels/questions.d.ts.map +1 -0
  90. package/dist/src/channels/questions.js +131 -0
  91. package/dist/src/channels/questions.js.map +1 -0
  92. package/dist/src/channels/split.d.ts +8 -0
  93. package/dist/src/channels/split.d.ts.map +1 -0
  94. package/dist/src/channels/split.js +45 -0
  95. package/dist/src/channels/split.js.map +1 -0
  96. package/dist/src/channels/store.d.ts +78 -0
  97. package/dist/src/channels/store.d.ts.map +1 -0
  98. package/dist/src/channels/store.js +151 -0
  99. package/dist/src/channels/store.js.map +1 -0
  100. package/dist/src/channels/types.d.ts +145 -0
  101. package/dist/src/channels/types.d.ts.map +1 -0
  102. package/dist/src/channels/types.js +7 -0
  103. package/dist/src/channels/types.js.map +1 -0
  104. package/dist/src/genui/builtins.d.ts.map +1 -1
  105. package/dist/src/genui/builtins.js +65 -6
  106. package/dist/src/genui/builtins.js.map +1 -1
  107. package/dist/src/genui/catalog.d.ts +11 -2
  108. package/dist/src/genui/catalog.d.ts.map +1 -1
  109. package/dist/src/genui/catalog.js +8 -0
  110. package/dist/src/genui/catalog.js.map +1 -1
  111. package/dist/src/genui/text.d.ts +4 -3
  112. package/dist/src/genui/text.d.ts.map +1 -1
  113. package/dist/src/genui/text.js +25 -24
  114. package/dist/src/genui/text.js.map +1 -1
  115. package/dist/src/genui/tools.d.ts +2 -1
  116. package/dist/src/genui/tools.d.ts.map +1 -1
  117. package/dist/src/genui/tools.js +6 -7
  118. package/dist/src/genui/tools.js.map +1 -1
  119. package/dist/src/index.d.ts +3 -2
  120. package/dist/src/index.d.ts.map +1 -1
  121. package/dist/src/index.js +3 -2
  122. package/dist/src/index.js.map +1 -1
  123. package/dist/src/opencode/turns.d.ts +4 -2
  124. package/dist/src/opencode/turns.d.ts.map +1 -1
  125. package/dist/src/opencode/turns.js.map +1 -1
  126. package/dist/src/react/core/ag-ui-backend.d.ts +38 -14
  127. package/dist/src/react/core/ag-ui-backend.d.ts.map +1 -1
  128. package/dist/src/react/core/ag-ui-backend.js +182 -17
  129. package/dist/src/react/core/ag-ui-backend.js.map +1 -1
  130. package/dist/src/react/core/agent-chat-transport.d.ts.map +1 -1
  131. package/dist/src/react/core/agent-chat-transport.js +22 -1
  132. package/dist/src/react/core/agent-chat-transport.js.map +1 -1
  133. package/dist/src/react/core/backend.d.ts +11 -0
  134. package/dist/src/react/core/backend.d.ts.map +1 -1
  135. package/dist/src/react/core/backend.js.map +1 -1
  136. package/dist/src/react/core/index.d.ts +1 -1
  137. package/dist/src/react/core/index.d.ts.map +1 -1
  138. package/dist/src/react/core/index.js.map +1 -1
  139. package/dist/src/stores/lucid-schema.d.ts +24 -6
  140. package/dist/src/stores/lucid-schema.d.ts.map +1 -1
  141. package/dist/src/stores/lucid-schema.js +47 -6
  142. package/dist/src/stores/lucid-schema.js.map +1 -1
  143. package/dist/src/stores/lucid.d.ts +2 -0
  144. package/dist/src/stores/lucid.d.ts.map +1 -1
  145. package/dist/src/stores/lucid.js +4 -0
  146. package/dist/src/stores/lucid.js.map +1 -1
  147. package/package.json +6 -1
  148. package/skills/agent-setup/SKILL.md +40 -3
  149. package/skills/agent-tools/SKILL.md +3 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/channels/handler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ /** A provider refused (or could not be reached for) a delivery. `status` is its HTTP status, if any. */
2
+ export declare class ChannelDeliveryError extends Error {
3
+ readonly channel: string;
4
+ readonly status: number | null;
5
+ constructor(channel: string, status: number | null, message: string);
6
+ /**
7
+ * The provider answered and said no (400, 403, 404, 422): the message was certainly not delivered,
8
+ * so sending something else in its place cannot duplicate it.
9
+ */
10
+ get definite(): boolean;
11
+ }
12
+ /** A file was larger than the attachment limit; it was not (fully) downloaded. */
13
+ export declare class ChannelMediaTooLargeError extends Error {
14
+ readonly maxBytes: number;
15
+ constructor(maxBytes: number);
16
+ }
17
+ /**
18
+ * GET a file, refusing one past `maxBytes` — by its `content-length` before reading, and by what
19
+ * actually arrives while reading. Throws a {@link ChannelDeliveryError} on a non-2xx.
20
+ */
21
+ export declare function fetchBytes(channel: string, fetcher: ChannelFetch, url: string, headers: Record<string, string>, timeoutMs: number, maxBytes: number): Promise<{
22
+ data: Buffer;
23
+ contentType: string | undefined;
24
+ }>;
25
+ /** Bytes of a base64 string, refusing past `maxBytes` before decoding. */
26
+ export declare function decodeBase64(base64: string, maxBytes: number): Buffer;
27
+ /** A positive number out of a webhook field that may be a number, a numeric string or a Long object. */
28
+ export declare function sizeOf(value: unknown): number | undefined;
29
+ /** Compare two secrets in constant time (over their hashes, so lengths leak nothing either). */
30
+ export declare function safeEqual(supplied: string | undefined | null, expected: string): boolean;
31
+ /** The `fetch` adapters use — `globalThis.fetch` unless a test (or a proxy) hands one in. */
32
+ export type ChannelFetch = typeof fetch;
33
+ /**
34
+ * POST a JSON body. Resolves with the parsed JSON answer (`null` when it is not JSON); throws a
35
+ * {@link ChannelDeliveryError} on a non-2xx or a network failure. The provider's error body is never
36
+ * put in the error — it can echo the message text or credentials.
37
+ */
38
+ export declare function postJson(channel: string, fetcher: ChannelFetch, url: string, headers: Record<string, string>, body: unknown, timeoutMs: number): Promise<unknown>;
39
+ /** A query-string parameter of a request's url. */
40
+ export declare function queryParam(url: string, name: string): string | undefined;
41
+ /** `value` when it is a plain object, else `undefined` — for reading untyped webhook bodies. */
42
+ export declare function record(value: unknown): Record<string, unknown> | undefined;
43
+ /** `value` when it is a non-empty string. */
44
+ export declare function str(value: unknown): string | undefined;
45
+ //# sourceMappingURL=http.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../src/channels/http.ts"],"names":[],"mappings":"AAEA,wGAAwG;AACxG,qBAAa,oBAAqB,SAAQ,KAAK;IAE3C,QAAQ,CAAC,OAAO,EAAE,MAAM;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAFhC,YACW,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GAAG,IAAI,EAC9B,OAAO,EAAE,MAAM,EAIhB;IAED;;;OAGG;IACH,IAAI,QAAQ,IAAI,OAAO,CAEtB;CACF;AAED,kFAAkF;AAClF,qBAAa,yBAA0B,SAAQ,KAAK;IACtC,QAAQ,CAAC,QAAQ,EAAE,MAAM;IAArC,YAAqB,QAAQ,EAAE,MAAM,EAGpC;CACF;AAED;;;GAGG;AACH,wBAAsB,UAAU,CAC9B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,YAAY,EACrB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC,CA+C5D;AAED,0EAA0E;AAC1E,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAOrE;AAED,wGAAwG;AACxG,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAOzD;AAED,gGAAgG;AAChG,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAIxF;AAED,6FAA6F;AAC7F,MAAM,MAAM,YAAY,GAAG,OAAO,KAAK,CAAC;AAExC;;;;GAIG;AACH,wBAAsB,QAAQ,CAC5B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,YAAY,EACrB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,IAAI,EAAE,OAAO,EACb,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,OAAO,CAAC,CA8BlB;AAED,mDAAmD;AACnD,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAIxE;AAED,gGAAgG;AAChG,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAI1E;AAED,6CAA6C;AAC7C,wBAAgB,GAAG,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAEtD"}
@@ -0,0 +1,147 @@
1
+ import { createHash, timingSafeEqual } from 'node:crypto';
2
+ /** A provider refused (or could not be reached for) a delivery. `status` is its HTTP status, if any. */
3
+ export class ChannelDeliveryError extends Error {
4
+ channel;
5
+ status;
6
+ constructor(channel, status, message) {
7
+ super(message);
8
+ this.channel = channel;
9
+ this.status = status;
10
+ this.name = 'ChannelDeliveryError';
11
+ }
12
+ /**
13
+ * The provider answered and said no (400, 403, 404, 422): the message was certainly not delivered,
14
+ * so sending something else in its place cannot duplicate it.
15
+ */
16
+ get definite() {
17
+ return this.status !== null && [400, 403, 404, 422].includes(this.status);
18
+ }
19
+ }
20
+ /** A file was larger than the attachment limit; it was not (fully) downloaded. */
21
+ export class ChannelMediaTooLargeError extends Error {
22
+ maxBytes;
23
+ constructor(maxBytes) {
24
+ super(`the file exceeds the ${maxBytes}-byte limit`);
25
+ this.maxBytes = maxBytes;
26
+ this.name = 'ChannelMediaTooLargeError';
27
+ }
28
+ }
29
+ /**
30
+ * GET a file, refusing one past `maxBytes` — by its `content-length` before reading, and by what
31
+ * actually arrives while reading. Throws a {@link ChannelDeliveryError} on a non-2xx.
32
+ */
33
+ export async function fetchBytes(channel, fetcher, url, headers, timeoutMs, maxBytes) {
34
+ let response;
35
+ try {
36
+ response = await fetcher(url, {
37
+ method: 'GET',
38
+ headers,
39
+ signal: AbortSignal.timeout(timeoutMs),
40
+ });
41
+ }
42
+ catch (error) {
43
+ throw new ChannelDeliveryError(channel, null, `${channel}: download failed (${error instanceof Error ? error.name : 'network error'})`);
44
+ }
45
+ if (!response.ok) {
46
+ await response.body?.cancel().catch(() => { });
47
+ throw new ChannelDeliveryError(channel, response.status, `${channel}: the provider refused the download (HTTP ${response.status})`);
48
+ }
49
+ const declared = Number(response.headers.get('content-length'));
50
+ if (Number.isFinite(declared) && declared > maxBytes) {
51
+ await response.body?.cancel().catch(() => { });
52
+ throw new ChannelMediaTooLargeError(maxBytes);
53
+ }
54
+ const chunks = [];
55
+ let size = 0;
56
+ if (response.body) {
57
+ const reader = response.body.getReader();
58
+ for (;;) {
59
+ const { done, value } = await reader.read();
60
+ if (done)
61
+ break;
62
+ size += value.byteLength;
63
+ if (size > maxBytes) {
64
+ await reader.cancel().catch(() => { });
65
+ throw new ChannelMediaTooLargeError(maxBytes);
66
+ }
67
+ chunks.push(value);
68
+ }
69
+ }
70
+ return {
71
+ data: Buffer.concat(chunks),
72
+ contentType: response.headers.get('content-type')?.split(';')[0]?.trim() || undefined,
73
+ };
74
+ }
75
+ /** Bytes of a base64 string, refusing past `maxBytes` before decoding. */
76
+ export function decodeBase64(base64, maxBytes) {
77
+ const body = base64.replace(/^data:[^,]*,/, '');
78
+ if (Math.floor((body.length * 3) / 4) - 2 > maxBytes)
79
+ throw new ChannelMediaTooLargeError(maxBytes);
80
+ const data = Buffer.from(body, 'base64');
81
+ if (data.byteLength > maxBytes)
82
+ throw new ChannelMediaTooLargeError(maxBytes);
83
+ return data;
84
+ }
85
+ /** A positive number out of a webhook field that may be a number, a numeric string or a Long object. */
86
+ export function sizeOf(value) {
87
+ const raw = typeof value === 'object' && value !== null && 'low' in value
88
+ ? value.low
89
+ : value;
90
+ const size = typeof raw === 'string' ? Number(raw) : raw;
91
+ return typeof size === 'number' && Number.isFinite(size) && size > 0 ? size : undefined;
92
+ }
93
+ /** Compare two secrets in constant time (over their hashes, so lengths leak nothing either). */
94
+ export function safeEqual(supplied, expected) {
95
+ if (typeof supplied !== 'string' || expected.length === 0)
96
+ return false;
97
+ const digest = (value) => createHash('sha256').update(value).digest();
98
+ return timingSafeEqual(digest(supplied), digest(expected)) && supplied === expected;
99
+ }
100
+ /**
101
+ * POST a JSON body. Resolves with the parsed JSON answer (`null` when it is not JSON); throws a
102
+ * {@link ChannelDeliveryError} on a non-2xx or a network failure. The provider's error body is never
103
+ * put in the error — it can echo the message text or credentials.
104
+ */
105
+ export async function postJson(channel, fetcher, url, headers, body, timeoutMs) {
106
+ let response;
107
+ try {
108
+ response = await fetcher(url, {
109
+ method: 'POST',
110
+ headers: { 'content-type': 'application/json', ...headers },
111
+ body: JSON.stringify(body),
112
+ signal: AbortSignal.timeout(timeoutMs),
113
+ redirect: 'error',
114
+ });
115
+ }
116
+ catch (error) {
117
+ throw new ChannelDeliveryError(channel, null, `${channel}: delivery failed (${error instanceof Error ? error.name : 'network error'})`);
118
+ }
119
+ const text = await response.text().catch(() => '');
120
+ if (!response.ok) {
121
+ throw new ChannelDeliveryError(channel, response.status, `${channel}: the provider refused the message (HTTP ${response.status})`);
122
+ }
123
+ try {
124
+ return text === '' ? null : JSON.parse(text);
125
+ }
126
+ catch {
127
+ return null;
128
+ }
129
+ }
130
+ /** A query-string parameter of a request's url. */
131
+ export function queryParam(url, name) {
132
+ const query = url.indexOf('?');
133
+ if (query === -1)
134
+ return undefined;
135
+ return new URLSearchParams(url.slice(query + 1)).get(name) ?? undefined;
136
+ }
137
+ /** `value` when it is a plain object, else `undefined` — for reading untyped webhook bodies. */
138
+ export function record(value) {
139
+ return value !== null && typeof value === 'object' && !Array.isArray(value)
140
+ ? value
141
+ : undefined;
142
+ }
143
+ /** `value` when it is a non-empty string. */
144
+ export function str(value) {
145
+ return typeof value === 'string' && value.length > 0 ? value : undefined;
146
+ }
147
+ //# sourceMappingURL=http.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/channels/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE1D,wGAAwG;AACxG,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IAElC,OAAO;IACP,MAAM;IAFjB,YACW,OAAe,EACf,MAAqB,EAC9B,OAAe;QAEf,KAAK,CAAC,OAAO,CAAC,CAAC;uBAJN,OAAO;sBACP,MAAM;QAIf,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;IAED;;;OAGG;IACH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,MAAM,KAAK,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5E,CAAC;CACF;AAED,kFAAkF;AAClF,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IAC7B,QAAQ;IAA7B,YAAqB,QAAgB;QACnC,KAAK,CAAC,wBAAwB,QAAQ,aAAa,CAAC,CAAC;wBADlC,QAAQ;QAE3B,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IAC1C,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,OAAe,EACf,OAAqB,EACrB,GAAW,EACX,OAA+B,EAC/B,SAAiB,EACjB,QAAgB;IAEhB,IAAI,QAAkB,CAAC;IACvB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE;YAC5B,MAAM,EAAE,KAAK;YACb,OAAO;YACP,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC;SACvC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,oBAAoB,CAC5B,OAAO,EACP,IAAI,EACJ,GAAG,OAAO,sBAAsB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,GAAG,CACzF,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAC9C,MAAM,IAAI,oBAAoB,CAC5B,OAAO,EACP,QAAQ,CAAC,MAAM,EACf,GAAG,OAAO,6CAA6C,QAAQ,CAAC,MAAM,GAAG,CAC1E,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAChE,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,QAAQ,EAAE,CAAC;QACrD,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAC9C,MAAM,IAAI,yBAAyB,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;IACD,MAAM,MAAM,GAAiB,EAAE,CAAC;IAChC,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;QAClB,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QACzC,SAAS,CAAC;YACR,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAC5C,IAAI,IAAI;gBAAE,MAAM;YAChB,IAAI,IAAI,KAAK,CAAC,UAAU,CAAC;YACzB,IAAI,IAAI,GAAG,QAAQ,EAAE,CAAC;gBACpB,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;gBACtC,MAAM,IAAI,yBAAyB,CAAC,QAAQ,CAAC,CAAC;YAChD,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IACD,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;QAC3B,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,SAAS;KACtF,CAAC;AACJ,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,YAAY,CAAC,MAAc,EAAE,QAAgB;IAC3D,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;IAChD,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,QAAQ;QAClD,MAAM,IAAI,yBAAyB,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACzC,IAAI,IAAI,CAAC,UAAU,GAAG,QAAQ;QAAE,MAAM,IAAI,yBAAyB,CAAC,QAAQ,CAAC,CAAC;IAC9E,OAAO,IAAI,CAAC;AACd,CAAC;AAED,wGAAwG;AACxG,MAAM,UAAU,MAAM,CAAC,KAAc;IACnC,MAAM,GAAG,GACP,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,IAAI,KAAK;QAC3D,CAAC,CAAE,KAA0B,CAAC,GAAG;QACjC,CAAC,CAAC,KAAK,CAAC;IACZ,MAAM,IAAI,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACzD,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AAC1F,CAAC;AAED,gGAAgG;AAChG,MAAM,UAAU,SAAS,CAAC,QAAmC,EAAE,QAAgB;IAC7E,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACxE,MAAM,MAAM,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;IAC9E,OAAO,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,QAAQ,KAAK,QAAQ,CAAC;AACtF,CAAC;AAKD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,OAAe,EACf,OAAqB,EACrB,GAAW,EACX,OAA+B,EAC/B,IAAa,EACb,SAAiB;IAEjB,IAAI,QAAkB,CAAC;IACvB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE;YAC5B,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,GAAG,OAAO,EAAE;YAC3D,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAC1B,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC;YACtC,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,oBAAoB,CAC5B,OAAO,EACP,IAAI,EACJ,GAAG,OAAO,sBAAsB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,GAAG,CACzF,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IACnD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,oBAAoB,CAC5B,OAAO,EACP,QAAQ,CAAC,MAAM,EACf,GAAG,OAAO,4CAA4C,QAAQ,CAAC,MAAM,GAAG,CACzE,CAAC;IACJ,CAAC;IACD,IAAI,CAAC;QACH,OAAO,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAa,CAAC;IAC5D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,mDAAmD;AACnD,MAAM,UAAU,UAAU,CAAC,GAAW,EAAE,IAAY;IAClD,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,KAAK,KAAK,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACnC,OAAO,IAAI,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC;AAC1E,CAAC;AAED,gGAAgG;AAChG,MAAM,UAAU,MAAM,CAAC,KAAc;IACnC,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACzE,CAAC,CAAE,KAAiC;QACpC,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,6CAA6C;AAC7C,MAAM,UAAU,GAAG,CAAC,KAAc;IAChC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3E,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * `@adonis-agora/agent/channels` — the agent on text channels (WhatsApp, Telegram, …): one webhook
3
+ * route per channel that verifies, deduplicates, acknowledges at once and answers in the background,
4
+ * with the channel's markdown, length limit and reply buttons. See `docs/channels.mdx`.
5
+ */
6
+ export { type EvolutionApiOptions, evolutionApi } from './adapters/evolution_api.js';
7
+ export { type TelegramOptions, telegram } from './adapters/telegram.js';
8
+ export { type WhatsappCloudOptions, whatsappCloud } from './adapters/whatsapp_cloud.js';
9
+ export { type WhatsmiauOptions, whatsmiau } from './adapters/whatsmiau.js';
10
+ export { type ChannelAddress, type ChannelHandleOptions, type ChannelMediaRefusal, type ChannelProposal, type ChannelRouteHandler, type ChannelTexts, type ChannelTextsOverrides, type ChannelTurnService, channels, channelTextsFor, DEFAULT_CHANNEL_TEXTS, handleChannel, proposalButtonIds, ptBrChannelTexts, relayChannelOutcome, } from './handler.js';
11
+ export { ChannelDeliveryError, type ChannelFetch, ChannelMediaTooLargeError } from './http.js';
12
+ export { escapeTelegramMarkdown, toChannelMarkdown, unescapeTelegramMarkdown, } from './markdown.js';
13
+ export { type ChannelAnswer, type ChannelQuestionTexts, DEFAULT_CHANNEL_QUESTION_TEXTS, formatChannelQuestion, parseChannelAnswer, ptBrChannelQuestionTexts, } from './questions.js';
14
+ export { splitMessage } from './split.js';
15
+ export { type ChannelStore, type ChannelStoreRedis, InMemoryChannelStore, type LucidChannelStoreDatabase, type LucidChannelStoreOptions, lucidChannelStore, redisChannelStore, } from './store.js';
16
+ export type { ChannelAdapter, ChannelButton, ChannelCapabilities, ChannelChallengeResponse, ChannelMarkdown, ChannelMediaFile, ChannelRequest, InboundMedia, InboundMessage, OutboundMessage, } from './types.js';
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/channels/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,KAAK,mBAAmB,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AACrF,OAAO,EAAE,KAAK,eAAe,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,KAAK,oBAAoB,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AACxF,OAAO,EAAE,KAAK,gBAAgB,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACvB,QAAQ,EACR,eAAe,EACf,qBAAqB,EACrB,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,oBAAoB,EAAE,KAAK,YAAY,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AAC/F,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,8BAA8B,EAC9B,qBAAqB,EACrB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,oBAAoB,EACpB,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAC7B,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,cAAc,EACd,aAAa,EACb,mBAAmB,EACnB,wBAAwB,EACxB,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,cAAc,EACd,eAAe,GAChB,MAAM,YAAY,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * `@adonis-agora/agent/channels` — the agent on text channels (WhatsApp, Telegram, …): one webhook
3
+ * route per channel that verifies, deduplicates, acknowledges at once and answers in the background,
4
+ * with the channel's markdown, length limit and reply buttons. See `docs/channels.mdx`.
5
+ */
6
+ export { evolutionApi } from './adapters/evolution_api.js';
7
+ export { telegram } from './adapters/telegram.js';
8
+ export { whatsappCloud } from './adapters/whatsapp_cloud.js';
9
+ export { whatsmiau } from './adapters/whatsmiau.js';
10
+ export { channels, channelTextsFor, DEFAULT_CHANNEL_TEXTS, handleChannel, proposalButtonIds, ptBrChannelTexts, relayChannelOutcome, } from './handler.js';
11
+ export { ChannelDeliveryError, ChannelMediaTooLargeError } from './http.js';
12
+ export { escapeTelegramMarkdown, toChannelMarkdown, unescapeTelegramMarkdown, } from './markdown.js';
13
+ export { DEFAULT_CHANNEL_QUESTION_TEXTS, formatChannelQuestion, parseChannelAnswer, ptBrChannelQuestionTexts, } from './questions.js';
14
+ export { splitMessage } from './split.js';
15
+ export { InMemoryChannelStore, lucidChannelStore, redisChannelStore, } from './store.js';
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/channels/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAA4B,YAAY,EAAE,MAAM,6BAA6B,CAAC;AACrF,OAAO,EAAwB,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAA6B,aAAa,EAAE,MAAM,8BAA8B,CAAC;AACxF,OAAO,EAAyB,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EASL,QAAQ,EACR,eAAe,EACf,qBAAqB,EACrB,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,oBAAoB,EAAqB,yBAAyB,EAAE,MAAM,WAAW,CAAC;AAC/F,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,eAAe,CAAC;AACvB,OAAO,EAGL,8BAA8B,EAC9B,qBAAqB,EACrB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAGL,oBAAoB,EAGpB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,YAAY,CAAC"}
@@ -0,0 +1,12 @@
1
+ import type { ChannelMarkdown } from './types.js';
2
+ /** Escape text for Telegram's MarkdownV2 — every character it reserves gets a backslash. */
3
+ export declare function escapeTelegramMarkdown(value: string): string;
4
+ /** Undo {@link escapeTelegramMarkdown}: what a message reads as plain text when MarkdownV2 is refused. */
5
+ export declare function unescapeTelegramMarkdown(value: string): string;
6
+ /**
7
+ * Convert a turn's markdown to what `markdown` renders: WhatsApp's `*bold*` `_italic_` `~strike~`,
8
+ * Telegram's MarkdownV2 (every reserved character escaped), or plain text. Links become
9
+ * `label (url)` where the channel has no link syntax; headings become bold lines.
10
+ */
11
+ export declare function toChannelMarkdown(text: string, markdown: ChannelMarkdown): string;
12
+ //# sourceMappingURL=markdown.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../../src/channels/markdown.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAuBlD,4FAA4F;AAC5F,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,0GAA0G;AAC1G,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE9D;AAuFD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,GAAG,MAAM,CAiBjF"}
@@ -0,0 +1,120 @@
1
+ const TELEGRAM_SPECIAL = /[_*[\]()~`>#+\-=|{}.!\\]/g;
2
+ /** Escape text for Telegram's MarkdownV2 — every character it reserves gets a backslash. */
3
+ export function escapeTelegramMarkdown(value) {
4
+ return value.replace(TELEGRAM_SPECIAL, '\\$&');
5
+ }
6
+ /** Undo {@link escapeTelegramMarkdown}: what a message reads as plain text when MarkdownV2 is refused. */
7
+ export function unescapeTelegramMarkdown(value) {
8
+ return value.replace(/\\([_*[\]()~`>#+\-=|{}.!\\])/g, '$1');
9
+ }
10
+ const linkText = (label, url) => label === '' || label === url ? url : `${label} (${url})`;
11
+ const DIALECTS = {
12
+ whatsapp: {
13
+ text: (value) => value,
14
+ bold: (inner) => `*${inner}*`,
15
+ italic: (inner) => `_${inner}_`,
16
+ strike: (inner) => `~${inner}~`,
17
+ code: (value) => `\`${value}\``,
18
+ pre: (_language, value) => `\`\`\`${value}\`\`\``,
19
+ link: linkText,
20
+ heading: (inner) => `*${inner}*`,
21
+ bullet: '- ',
22
+ quote: (inner) => `> ${inner}`,
23
+ },
24
+ telegram: {
25
+ text: escapeTelegramMarkdown,
26
+ bold: (inner) => `*${inner}*`,
27
+ italic: (inner) => `_${inner}_`,
28
+ strike: (inner) => `~${inner}~`,
29
+ code: (value) => `\`${value.replace(/[`\\]/g, '\\$&')}\``,
30
+ pre: (language, value) => `\`\`\`${language}\n${value.replace(/[`\\]/g, '\\$&')}\`\`\``,
31
+ link: (label, url) => `[${escapeTelegramMarkdown(label === '' ? url : label)}](${url.replace(/[)\\]/g, '\\$&')})`,
32
+ heading: (inner) => `*${inner}*`,
33
+ bullet: '• ',
34
+ quote: (inner) => `>${inner}`,
35
+ },
36
+ none: {
37
+ text: (value) => value,
38
+ bold: (inner) => inner,
39
+ italic: (inner) => inner,
40
+ strike: (inner) => inner,
41
+ code: (value) => value,
42
+ pre: (_language, value) => value,
43
+ link: linkText,
44
+ heading: (inner) => inner,
45
+ bullet: '- ',
46
+ quote: (inner) => `> ${inner}`,
47
+ },
48
+ };
49
+ /**
50
+ * Inline tokens, earliest first: code, image/link, `**bold**`, `__bold__`, `~~strike~~`, then the
51
+ * single-character forms. A single marker must hug its text (`*a*`, not `* a *`) and must not sit
52
+ * inside a word, so `snake_case` and `2*3*4` stay as written.
53
+ */
54
+ const INLINE = /`([^`\n]+)`|!?\[([^\]\n]*)\]\(([^)\s]+)(?:\s+"[^"]*")?\)|\*\*(?!\s)(.+?)(?<!\s)\*\*|__(?!\s)(.+?)(?<!\s)__|~~(?!\s)(.+?)(?<!\s)~~|(?<![\w*\\])\*(?![\s*])([^*\n]+?)(?<![\s\\])\*(?![\w*])|(?<![\w_\\])_(?![\s_])([^_\n]+?)(?<![\s\\])_(?![\w_])|(?<![\w~\\])~(?![\s~])([^~\n]+?)(?<![\s\\])~(?![\w~])/g;
55
+ function inline(source, dialect) {
56
+ let out = '';
57
+ let last = 0;
58
+ for (const match of source.matchAll(INLINE)) {
59
+ const index = match.index ?? 0;
60
+ out += dialect.text(source.slice(last, index));
61
+ last = index + match[0].length;
62
+ const [, code, label, url, bold, underscoreBold, strike, starBold, italic, tildeStrike] = match;
63
+ if (code !== undefined)
64
+ out += dialect.code(code);
65
+ else if (url !== undefined)
66
+ out += dialect.link(label ?? '', url);
67
+ else if (bold !== undefined)
68
+ out += dialect.bold(inline(bold, dialect));
69
+ else if (underscoreBold !== undefined)
70
+ out += dialect.bold(inline(underscoreBold, dialect));
71
+ else if (strike !== undefined)
72
+ out += dialect.strike(inline(strike, dialect));
73
+ else if (starBold !== undefined)
74
+ out += dialect.bold(inline(starBold, dialect));
75
+ else if (italic !== undefined)
76
+ out += dialect.italic(inline(italic, dialect));
77
+ else if (tildeStrike !== undefined)
78
+ out += dialect.strike(inline(tildeStrike, dialect));
79
+ }
80
+ return out + dialect.text(source.slice(last));
81
+ }
82
+ function line(source, dialect) {
83
+ const heading = /^\s{0,3}#{1,6}\s+(.*?)(?:\s+#+)?\s*$/.exec(source);
84
+ if (heading) {
85
+ // A heading is bold already; markers inside it would nest bold in bold.
86
+ return dialect.heading(inline((heading[1] ?? '').replace(/\*\*|__/g, ''), dialect));
87
+ }
88
+ if (/^\s{0,3}([-*_])(\s*\1){2,}\s*$/.test(source))
89
+ return '';
90
+ const bullet = /^(\s*)[-*+]\s+(.*)$/.exec(source);
91
+ if (bullet)
92
+ return `${bullet[1] ?? ''}${dialect.bullet}${inline(bullet[2] ?? '', dialect)}`;
93
+ const quote = /^\s{0,3}>\s?(.*)$/.exec(source);
94
+ if (quote)
95
+ return dialect.quote(inline(quote[1] ?? '', dialect));
96
+ return inline(source, dialect);
97
+ }
98
+ /**
99
+ * Convert a turn's markdown to what `markdown` renders: WhatsApp's `*bold*` `_italic_` `~strike~`,
100
+ * Telegram's MarkdownV2 (every reserved character escaped), or plain text. Links become
101
+ * `label (url)` where the channel has no link syntax; headings become bold lines.
102
+ */
103
+ export function toChannelMarkdown(text, markdown) {
104
+ const dialect = DIALECTS[markdown];
105
+ const fence = /```([\w+-]*)[^\S\n]*\n?([\s\S]*?)\n?```/g;
106
+ let out = '';
107
+ let last = 0;
108
+ const prose = (source) => source
109
+ .split('\n')
110
+ .map((row) => line(row, dialect))
111
+ .join('\n');
112
+ for (const match of text.matchAll(fence)) {
113
+ const index = match.index ?? 0;
114
+ out += prose(text.slice(last, index));
115
+ out += dialect.pre(match[1] ?? '', match[2] ?? '');
116
+ last = index + match[0].length;
117
+ }
118
+ return out + prose(text.slice(last));
119
+ }
120
+ //# sourceMappingURL=markdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../../src/channels/markdown.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ import type { ElicitationQuestion } from '../elicitation.js';
2
+ /** How a text channel words a question. English defaults; override any (`texts.questions`). */
3
+ export interface ChannelQuestionTexts {
4
+ /** Above the first question of a set with more than one: `(1/3)`. */
5
+ counter(index: number, total: number): string;
6
+ /** Under single-choice options. */
7
+ pickOne: string;
8
+ /** Under multiple-choice options. */
9
+ pickMany: string;
10
+ /** Under options a typed answer may replace. */
11
+ orWrite: string;
12
+ /** The word that keeps a question's pre-picked answers (or leaves it unanswered). */
13
+ skipWord: string;
14
+ /** How to keep the pre-picked answers, shown when a question has some. */
15
+ keep(skipWord: string, labels: string): string;
16
+ /** The answer could not be read; the question follows. */
17
+ invalid(problem: string): string;
18
+ }
19
+ export declare const DEFAULT_CHANNEL_QUESTION_TEXTS: ChannelQuestionTexts;
20
+ /** Brazilian Portuguese question texts — part of `ptBrChannelTexts`. */
21
+ export declare const ptBrChannelQuestionTexts: ChannelQuestionTexts;
22
+ /** One question as a text message: its prompt, numbered options, and how to answer. */
23
+ export declare function formatChannelQuestion(question: ElicitationQuestion, position: {
24
+ index: number;
25
+ total: number;
26
+ preamble?: string;
27
+ }, texts?: ChannelQuestionTexts): string;
28
+ export type ChannelAnswer = {
29
+ status: 'answer';
30
+ values: string[];
31
+ }
32
+ /** Keep the question's defaults: its id is left out of the reply. */
33
+ | {
34
+ status: 'skip';
35
+ } | {
36
+ status: 'invalid';
37
+ problem: string;
38
+ };
39
+ /**
40
+ * Read a chat message as the answer to `question`: an option's number or label (several, separated
41
+ * by commas, for a multiple choice), a typed value for a typed question or one that allows free
42
+ * text, or the skip word. Checked against the question's own rules.
43
+ */
44
+ export declare function parseChannelAnswer(question: ElicitationQuestion, text: string, skipWord?: string): ChannelAnswer;
45
+ //# sourceMappingURL=questions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"questions.d.ts","sourceRoot":"","sources":["../../../src/channels/questions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAQ7D,+FAA+F;AAC/F,MAAM,WAAW,oBAAoB;IACnC,qEAAqE;IACrE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9C,mCAAmC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,qCAAqC;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,gDAAgD;IAChD,OAAO,EAAE,MAAM,CAAC;IAChB,qFAAqF;IACrF,QAAQ,EAAE,MAAM,CAAC;IACjB,0EAA0E;IAC1E,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/C,0DAA0D;IAC1D,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;CAClC;AAED,eAAO,MAAM,8BAA8B,EAAE,oBAQ5C,CAAC;AA+BF,wEAAwE;AACxE,eAAO,MAAM,wBAAwB,EAAE,oBAWtC,CAAC;AAKF,uFAAuF;AACvF,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,mBAAmB,EAC7B,QAAQ,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,EAC7D,KAAK,GAAE,oBAAqD,GAC3D,MAAM,CAoBR;AAED,MAAM,MAAM,aAAa,GACrB;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE;AACxC,qEAAqE;GACnE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAClB;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAI3C;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,mBAAmB,EAC7B,IAAI,EAAE,MAAM,EACZ,QAAQ,GAAE,MAAgD,GACzD,aAAa,CAqCf"}