aura-code 0.6.3 → 0.10.1

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 (265) hide show
  1. package/README.md +47 -164
  2. package/dist/agent/affect.d.ts +13 -0
  3. package/dist/agent/affect.js +34 -0
  4. package/dist/agent/affect.js.map +1 -0
  5. package/dist/agent/compactor.d.ts +27 -4
  6. package/dist/agent/compactor.js +185 -54
  7. package/dist/agent/compactor.js.map +1 -1
  8. package/dist/agent/confess.d.ts +35 -0
  9. package/dist/agent/confess.js +296 -0
  10. package/dist/agent/confess.js.map +1 -0
  11. package/dist/agent/context.d.ts +0 -4
  12. package/dist/agent/context.js +0 -38
  13. package/dist/agent/context.js.map +1 -1
  14. package/dist/agent/domain-expertise.d.ts +22 -0
  15. package/dist/agent/domain-expertise.js +110 -0
  16. package/dist/agent/domain-expertise.js.map +1 -0
  17. package/dist/agent/executive-queue.d.ts +26 -0
  18. package/dist/agent/executive-queue.js +50 -0
  19. package/dist/agent/executive-queue.js.map +1 -0
  20. package/dist/agent/generational-flush.d.ts +28 -0
  21. package/dist/agent/generational-flush.js +48 -0
  22. package/dist/agent/generational-flush.js.map +1 -0
  23. package/dist/agent/loop-profile.d.ts +50 -0
  24. package/dist/agent/loop-profile.js +88 -0
  25. package/dist/agent/loop-profile.js.map +1 -0
  26. package/dist/agent/loop.d.ts +14 -5
  27. package/dist/agent/loop.js +167 -39
  28. package/dist/agent/loop.js.map +1 -1
  29. package/dist/agent/memory-consolidate.d.ts +14 -0
  30. package/dist/agent/memory-consolidate.js +141 -0
  31. package/dist/agent/memory-consolidate.js.map +1 -0
  32. package/dist/agent/mixture.d.ts +33 -0
  33. package/dist/agent/mixture.js +138 -0
  34. package/dist/agent/mixture.js.map +1 -0
  35. package/dist/agent/spawner.js +2 -2
  36. package/dist/agent/spawner.js.map +1 -1
  37. package/dist/agent/system-prompt.d.ts +1 -1
  38. package/dist/agent/system-prompt.js +50 -22
  39. package/dist/agent/system-prompt.js.map +1 -1
  40. package/dist/agent/unified-memory.d.ts +15 -0
  41. package/dist/agent/unified-memory.js +164 -0
  42. package/dist/agent/unified-memory.js.map +1 -0
  43. package/dist/checkpoints/engine.d.ts +44 -0
  44. package/dist/checkpoints/engine.js +324 -0
  45. package/dist/checkpoints/engine.js.map +1 -0
  46. package/dist/cli/command-palette.d.ts +26 -0
  47. package/dist/cli/command-palette.js +133 -0
  48. package/dist/cli/command-palette.js.map +1 -0
  49. package/dist/cli/context-health.d.ts +51 -0
  50. package/dist/cli/context-health.js +187 -0
  51. package/dist/cli/context-health.js.map +1 -0
  52. package/dist/cli/diamond.d.ts +67 -0
  53. package/dist/cli/diamond.js +222 -12
  54. package/dist/cli/diamond.js.map +1 -1
  55. package/dist/cli/dic.d.ts +2 -0
  56. package/dist/cli/dic.js +106 -0
  57. package/dist/cli/dic.js.map +1 -0
  58. package/dist/cli/diff-view.d.ts +18 -0
  59. package/dist/cli/diff-view.js +114 -0
  60. package/dist/cli/diff-view.js.map +1 -0
  61. package/dist/cli/display.d.ts +18 -4
  62. package/dist/cli/display.js +74 -151
  63. package/dist/cli/display.js.map +1 -1
  64. package/dist/cli/help-data.d.ts +7 -0
  65. package/dist/cli/help-data.js +80 -0
  66. package/dist/cli/help-data.js.map +1 -0
  67. package/dist/cli/index.js +1002 -852
  68. package/dist/cli/index.js.map +1 -1
  69. package/dist/cli/markdown.d.ts +5 -0
  70. package/dist/cli/markdown.js +128 -0
  71. package/dist/cli/markdown.js.map +1 -0
  72. package/dist/cli/model-select.d.ts +39 -0
  73. package/dist/cli/model-select.js +65 -0
  74. package/dist/cli/model-select.js.map +1 -0
  75. package/dist/cli/tui.d.ts +34 -0
  76. package/dist/cli/tui.js +1176 -0
  77. package/dist/cli/tui.js.map +1 -0
  78. package/dist/config/defaults.d.ts +6 -17
  79. package/dist/config/defaults.js +25 -46
  80. package/dist/config/defaults.js.map +1 -1
  81. package/dist/config/project-config.d.ts +2 -6
  82. package/dist/config/project-config.js +2 -2
  83. package/dist/config/project-config.js.map +1 -1
  84. package/dist/doctor/checks.d.ts +18 -0
  85. package/dist/doctor/checks.js +524 -0
  86. package/dist/doctor/checks.js.map +1 -0
  87. package/dist/doctor/index.d.ts +4 -0
  88. package/dist/doctor/index.js +229 -0
  89. package/dist/doctor/index.js.map +1 -0
  90. package/dist/doctor/repair.d.ts +19 -0
  91. package/dist/doctor/repair.js +126 -0
  92. package/dist/doctor/repair.js.map +1 -0
  93. package/dist/doctor/types.d.ts +38 -0
  94. package/dist/doctor/types.js +10 -0
  95. package/dist/doctor/types.js.map +1 -0
  96. package/dist/dream/dream.d.ts +79 -59
  97. package/dist/dream/dream.js +324 -144
  98. package/dist/dream/dream.js.map +1 -1
  99. package/dist/dream/episode.d.ts +17 -0
  100. package/dist/dream/episode.js +116 -0
  101. package/dist/dream/episode.js.map +1 -0
  102. package/dist/kanban/engine.d.ts +26 -0
  103. package/dist/kanban/engine.js +208 -0
  104. package/dist/kanban/engine.js.map +1 -0
  105. package/dist/kanban/types.d.ts +19 -0
  106. package/dist/kanban/types.js +9 -1
  107. package/dist/kanban/types.js.map +1 -1
  108. package/dist/machina/render-html.js +4 -2
  109. package/dist/machina/render-html.js.map +1 -1
  110. package/dist/machina/render-terminal.js +11 -4
  111. package/dist/machina/render-terminal.js.map +1 -1
  112. package/dist/machina/repair.d.ts +23 -0
  113. package/dist/machina/repair.js +98 -0
  114. package/dist/machina/repair.js.map +1 -0
  115. package/dist/machina/spec.js +12 -12
  116. package/dist/machina/spec.js.map +1 -1
  117. package/dist/machina/verify.d.ts +13 -1
  118. package/dist/machina/verify.js +12 -2
  119. package/dist/machina/verify.js.map +1 -1
  120. package/dist/mining/extract.d.ts +34 -0
  121. package/dist/mining/extract.js +229 -0
  122. package/dist/mining/extract.js.map +1 -0
  123. package/dist/mining/refine.d.ts +28 -0
  124. package/dist/mining/refine.js +256 -0
  125. package/dist/mining/refine.js.map +1 -0
  126. package/dist/perception/extractor.js +5 -3
  127. package/dist/perception/extractor.js.map +1 -1
  128. package/dist/perception/graph-store.d.ts +0 -11
  129. package/dist/perception/graph-store.js +0 -33
  130. package/dist/perception/graph-store.js.map +1 -1
  131. package/dist/perception/index.d.ts +1 -1
  132. package/dist/perception/index.js +1 -2
  133. package/dist/perception/index.js.map +1 -1
  134. package/dist/plugins/commands.d.ts +38 -0
  135. package/dist/plugins/commands.js +134 -0
  136. package/dist/plugins/commands.js.map +1 -0
  137. package/dist/plugins/frontmatter.d.ts +14 -0
  138. package/dist/plugins/frontmatter.js +78 -0
  139. package/dist/plugins/frontmatter.js.map +1 -0
  140. package/dist/plugins/hooks.d.ts +12 -0
  141. package/dist/plugins/hooks.js +148 -0
  142. package/dist/plugins/hooks.js.map +1 -0
  143. package/dist/plugins/loader.d.ts +7 -0
  144. package/dist/plugins/loader.js +255 -0
  145. package/dist/plugins/loader.js.map +1 -0
  146. package/dist/plugins/market.d.ts +23 -0
  147. package/dist/plugins/market.js +281 -0
  148. package/dist/plugins/market.js.map +1 -0
  149. package/dist/plugins/types.d.ts +90 -0
  150. package/dist/plugins/types.js +20 -0
  151. package/dist/plugins/types.js.map +1 -0
  152. package/dist/providers/anthropic-oauth-draft.d.ts +119 -0
  153. package/dist/providers/anthropic-oauth-draft.js +414 -0
  154. package/dist/providers/anthropic-oauth-draft.js.map +1 -0
  155. package/dist/providers/anthropic.d.ts +4 -1
  156. package/dist/providers/anthropic.js +35 -7
  157. package/dist/providers/anthropic.js.map +1 -1
  158. package/dist/providers/factory.d.ts +43 -19
  159. package/dist/providers/factory.js +183 -129
  160. package/dist/providers/factory.js.map +1 -1
  161. package/dist/providers/google.js +9 -22
  162. package/dist/providers/google.js.map +1 -1
  163. package/dist/providers/live-models.d.ts +23 -0
  164. package/dist/providers/live-models.js +145 -0
  165. package/dist/providers/live-models.js.map +1 -0
  166. package/dist/providers/openai-compatible.d.ts +1 -12
  167. package/dist/providers/openai-compatible.js +71 -108
  168. package/dist/providers/openai-compatible.js.map +1 -1
  169. package/dist/providers/resilient-factory.js +1 -1
  170. package/dist/providers/resilient-factory.js.map +1 -1
  171. package/dist/repl/queue.d.ts +22 -0
  172. package/dist/repl/queue.js +165 -0
  173. package/dist/repl/queue.js.map +1 -0
  174. package/dist/repl/side-channel.d.ts +23 -0
  175. package/dist/repl/side-channel.js +63 -0
  176. package/dist/repl/side-channel.js.map +1 -0
  177. package/dist/research/council.d.ts +2 -0
  178. package/dist/research/council.js +29 -4
  179. package/dist/research/council.js.map +1 -1
  180. package/dist/ruby/alternator.d.ts +11 -30
  181. package/dist/ruby/alternator.js +59 -38
  182. package/dist/ruby/alternator.js.map +1 -1
  183. package/dist/ruby/episode-capture.d.ts +0 -10
  184. package/dist/ruby/episode-capture.js +0 -33
  185. package/dist/ruby/episode-capture.js.map +1 -1
  186. package/dist/ruby/types.js +1 -1
  187. package/dist/ruby/types.js.map +1 -1
  188. package/dist/safety/path-jail.d.ts +17 -0
  189. package/dist/safety/path-jail.js +100 -0
  190. package/dist/safety/path-jail.js.map +1 -0
  191. package/dist/safety/permissions.d.ts +12 -21
  192. package/dist/safety/permissions.js +81 -216
  193. package/dist/safety/permissions.js.map +1 -1
  194. package/dist/safety/ssrf.d.ts +29 -0
  195. package/dist/safety/ssrf.js +185 -0
  196. package/dist/safety/ssrf.js.map +1 -0
  197. package/dist/server/index.js +64 -10
  198. package/dist/server/index.js.map +1 -1
  199. package/dist/setup/first-run.d.ts +0 -24
  200. package/dist/setup/first-run.js +10 -344
  201. package/dist/setup/first-run.js.map +1 -1
  202. package/dist/setup/key-store.d.ts +12 -0
  203. package/dist/setup/key-store.js +108 -0
  204. package/dist/setup/key-store.js.map +1 -0
  205. package/dist/setup/provider-registry.js +31 -18
  206. package/dist/setup/provider-registry.js.map +1 -1
  207. package/dist/setup/provider-test.d.ts +7 -0
  208. package/dist/setup/provider-test.js +73 -10
  209. package/dist/setup/provider-test.js.map +1 -1
  210. package/dist/setup/provider-wizard.d.ts +4 -1
  211. package/dist/setup/provider-wizard.js +92 -26
  212. package/dist/setup/provider-wizard.js.map +1 -1
  213. package/dist/setup/xiaomi.d.ts +1 -1
  214. package/dist/setup/xiaomi.js +3 -3
  215. package/dist/setup/xiaomi.js.map +1 -1
  216. package/dist/tools/browser.js +14 -10
  217. package/dist/tools/browser.js.map +1 -1
  218. package/dist/tools/clipboard.js +7 -1
  219. package/dist/tools/clipboard.js.map +1 -1
  220. package/dist/tools/dictate.d.ts +60 -0
  221. package/dist/tools/dictate.js +983 -0
  222. package/dist/tools/dictate.js.map +1 -0
  223. package/dist/tools/dictate_patched.js +1057 -0
  224. package/dist/tools/edit-file.js +10 -2
  225. package/dist/tools/edit-file.js.map +1 -1
  226. package/dist/tools/http-request.js +14 -4
  227. package/dist/tools/http-request.js.map +1 -1
  228. package/dist/tools/image-read.js +34 -2
  229. package/dist/tools/image-read.js.map +1 -1
  230. package/dist/tools/index.d.ts +16 -1
  231. package/dist/tools/index.js +59 -8
  232. package/dist/tools/index.js.map +1 -1
  233. package/dist/tools/mcp.js +12 -0
  234. package/dist/tools/mcp.js.map +1 -1
  235. package/dist/tools/read-file.js +10 -14
  236. package/dist/tools/read-file.js.map +1 -1
  237. package/dist/tools/telegram-audio-policy.d.ts +30 -0
  238. package/dist/tools/telegram-audio-policy.js +49 -0
  239. package/dist/tools/telegram-audio-policy.js.map +1 -0
  240. package/dist/tools/telegram-bot.js +1136 -537
  241. package/dist/tools/telegram-bot.js.map +1 -1
  242. package/dist/tools/telegram-voice.d.ts +18 -5
  243. package/dist/tools/telegram-voice.js +54 -12
  244. package/dist/tools/telegram-voice.js.map +1 -1
  245. package/dist/tools/telegram.d.ts +3 -3
  246. package/dist/tools/telegram.js +5 -84
  247. package/dist/tools/telegram.js.map +1 -1
  248. package/dist/tools/tools.d.ts +2 -14
  249. package/dist/tools/tools.js +79 -144
  250. package/dist/tools/tools.js.map +1 -1
  251. package/dist/tools/web-fetch.js +39 -7
  252. package/dist/tools/web-fetch.js.map +1 -1
  253. package/dist/tools/web-search.d.ts +0 -20
  254. package/dist/tools/web-search.js +40 -137
  255. package/dist/tools/web-search.js.map +1 -1
  256. package/dist/util/errors.js +1 -15
  257. package/dist/util/errors.js.map +1 -1
  258. package/dist/util/json-repair.d.ts +11 -0
  259. package/dist/util/json-repair.js +31 -0
  260. package/dist/util/json-repair.js.map +1 -0
  261. package/dist/util/rate-limiter.js +2 -8
  262. package/dist/util/rate-limiter.js.map +1 -1
  263. package/dist/viz/index.js +793 -792
  264. package/dist/viz/index.js.map +1 -1
  265. package/package.json +12 -32
@@ -35,9 +35,17 @@ var __importStar = (this && this.__importStar) || (function () {
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.editFile = editFile;
37
37
  const fs = __importStar(require("fs"));
38
- const path = __importStar(require("path"));
38
+ const path_jail_js_1 = require("../safety/path-jail.js");
39
39
  function editFile(input, cwd) {
40
- const filePath = path.resolve(cwd, input.path);
40
+ let filePath;
41
+ try {
42
+ filePath = (0, path_jail_js_1.resolveInRoot)(cwd, input.path);
43
+ }
44
+ catch (e) {
45
+ if (e instanceof path_jail_js_1.PathJailError)
46
+ return `Error: ${e.message}`;
47
+ throw e;
48
+ }
41
49
  if (!fs.existsSync(filePath)) {
42
50
  return `Error: File not found: ${input.path}`;
43
51
  }
@@ -1 +1 @@
1
- {"version":3,"file":"edit-file.js","sourceRoot":"","sources":["../../src/tools/edit-file.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"edit-file.js","sourceRoot":"","sources":["../../src/tools/edit-file.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,12 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.HTTP_REQUEST_DEFINITION = void 0;
4
7
  exports.httpRequest = httpRequest;
8
+ const ssrf_js_1 = require("../safety/ssrf.js");
9
+ const package_json_1 = __importDefault(require("../../package.json"));
5
10
  exports.HTTP_REQUEST_DEFINITION = {
6
11
  name: 'http_request',
7
12
  description: 'Make an arbitrary HTTP request to any API. Supports JSON bodies, custom headers, all HTTP methods. ' +
@@ -24,15 +29,15 @@ async function httpRequest(input) {
24
29
  const method = (input.method ?? 'GET').toUpperCase();
25
30
  const maxChars = input.max_chars ?? 50_000;
26
31
  const timeoutMs = input.timeout_ms ?? 30_000;
27
- let parsed;
28
32
  try {
29
- parsed = new URL(input.url);
33
+ // eslint-disable-next-line no-new
34
+ new URL(input.url);
30
35
  }
31
36
  catch {
32
37
  return `Error: Invalid URL: ${input.url}`;
33
38
  }
34
39
  const headers = {
35
- 'User-Agent': 'Aura/0.2.4',
40
+ 'User-Agent': `Aura/${package_json_1.default.version}`,
36
41
  ...input.headers,
37
42
  };
38
43
  let body = input.body;
@@ -46,7 +51,9 @@ async function httpRequest(input) {
46
51
  headers['Content-Type'] = 'application/json';
47
52
  }
48
53
  try {
49
- const response = await fetch(input.url, {
54
+ // safeFetch enforces the SSRF guard (http/https only, no private/
55
+ // loopback/link-local targets) before the request and on each redirect.
56
+ const response = await (0, ssrf_js_1.safeFetch)(input.url, {
50
57
  method,
51
58
  headers,
52
59
  body,
@@ -82,6 +89,9 @@ async function httpRequest(input) {
82
89
  ].join('\n');
83
90
  }
84
91
  catch (e) {
92
+ if (e instanceof ssrf_js_1.SsrfError) {
93
+ return `Error: Blocked for security (SSRF guard): ${e.message}`;
94
+ }
85
95
  if (e?.name === 'TimeoutError' || e?.name === 'AbortError') {
86
96
  return `Error: Request timed out after ${timeoutMs}ms`;
87
97
  }
@@ -1 +1 @@
1
- {"version":3,"file":"http-request.js","sourceRoot":"","sources":["../../src/tools/http-request.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http-request.js","sourceRoot":"","sources":["../../src/tools/http-request.ts"],"names":[],"mappings":"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"}
@@ -37,7 +37,25 @@ exports.IMAGE_READ_DEFINITION = void 0;
37
37
  exports.imageRead = imageRead;
38
38
  const fs = __importStar(require("fs"));
39
39
  const path = __importStar(require("path"));
40
+ const url_1 = require("url");
40
41
  const child_process_1 = require("child_process");
42
+ /**
43
+ * Normalize a user-supplied image location into an absolute filesystem path.
44
+ * Accepts plain paths and `file://` URLs (including percent-encoded ones and
45
+ * `file://localhost/...`), which is how editors/terminals hand off screenshots.
46
+ */
47
+ function normalizeImagePath(raw) {
48
+ let p = raw.trim().replace(/^["']|["']$/g, ''); // strip surrounding quotes
49
+ if (p.startsWith('file://')) {
50
+ try {
51
+ p = (0, url_1.fileURLToPath)(p); // handles %20 etc. + localhost host
52
+ }
53
+ catch {
54
+ p = decodeURIComponent(p.replace(/^file:\/\/(localhost)?/, ''));
55
+ }
56
+ }
57
+ return path.resolve(p);
58
+ }
41
59
  exports.IMAGE_READ_DEFINITION = {
42
60
  name: 'image_read',
43
61
  description: 'Read an image file. Actions: info (dimensions, size, format), ocr (extract text using tesseract), ' +
@@ -89,7 +107,21 @@ function doOcr(filePath) {
89
107
  return `OCR error: ${e?.message}`;
90
108
  }
91
109
  }
110
+ /** Max raw file size (bytes) allowed for base64 — larger images would flood context. */
111
+ const MAX_BASE64_BYTES = 500_000; // ~670 KB base64 output
92
112
  function doBase64(filePath) {
113
+ const stat = fs.statSync(filePath);
114
+ if (stat.size > MAX_BASE64_BYTES) {
115
+ const kb = (stat.size / 1024).toFixed(1);
116
+ const limit = (MAX_BASE64_BYTES / 1024).toFixed(0);
117
+ return [
118
+ `Error: image too large for base64 (${kb} KB > ${limit} KB limit).`,
119
+ `To use this image for vision:`,
120
+ ` 1. Resize: convert "${filePath}" -resize 50% /tmp/smaller.png`,
121
+ ` 2. Then: image_read path=/tmp/smaller.png action=base64`,
122
+ `Or use action=info to inspect it without encoding.`,
123
+ ].join('\n');
124
+ }
93
125
  const buffer = fs.readFileSync(filePath);
94
126
  const ext = path.extname(filePath).toLowerCase().slice(1);
95
127
  const mimeMap = {
@@ -102,9 +134,9 @@ function doBase64(filePath) {
102
134
  return `data:${mime};base64,${b64}`;
103
135
  }
104
136
  async function imageRead(input) {
105
- const filePath = path.resolve(input.path);
137
+ const filePath = normalizeImagePath(input.path);
106
138
  if (!fs.existsSync(filePath)) {
107
- return `Error: File not found: ${input.path}`;
139
+ return `Error: File not found: ${input.path} (resolved to ${filePath})`;
108
140
  }
109
141
  const ext = path.extname(filePath).toLowerCase();
110
142
  const action = input.action ?? 'info';
@@ -1 +1 @@
1
- {"version":3,"file":"image-read.js","sourceRoot":"","sources":["../../src/tools/image-read.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"image-read.js","sourceRoot":"","sources":["../../src/tools/image-read.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,18 @@
1
- import type { ToolDefinition } from '../providers/types.js';
1
+ import type { ToolDefinition, HistoryMessage } from '../providers/types.js';
2
2
  export declare const TOOL_DEFINITIONS: ToolDefinition[];
3
+ /**
4
+ * Select the tool definitions to send this turn: all CORE tools plus any
5
+ * conditional tool whose trigger matches the task or conversation so far.
6
+ *
7
+ * `included` is a sticky per-session set: once a conditional tool is
8
+ * triggered it stays for the rest of the session, even if compaction later
9
+ * rewrites the keyword out of history. Additive-only also means the
10
+ * Anthropic prompt-cache prefix (tools block) is busted at most once per
11
+ * newly triggered tool instead of thrashing.
12
+ *
13
+ * Call once per turn — mid-session pivots ("actually send this via
14
+ * telegram") land in history as user messages, so the tool is present
15
+ * before the model responds to them.
16
+ */
17
+ export declare function selectTools(task: string, history: HistoryMessage[], included?: Set<string>): ToolDefinition[];
3
18
  export declare function executeTool(name: string, input: Record<string, unknown>, cwd: string): Promise<string>;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TOOL_DEFINITIONS = void 0;
4
+ exports.selectTools = selectTools;
4
5
  exports.executeTool = executeTool;
5
6
  const read_file_js_1 = require("./read-file.js");
6
7
  const list_dir_js_1 = require("./list-dir.js");
@@ -24,8 +25,6 @@ const calendar_js_1 = require("./calendar.js");
24
25
  const telegram_js_1 = require("./telegram.js");
25
26
  const whatsapp_js_1 = require("./whatsapp.js");
26
27
  const cron_js_1 = require("./cron.js");
27
- const audio_transcribe_js_1 = require("./audio-transcribe.js");
28
- const youtube_transcript_js_1 = require("./youtube-transcript.js");
29
28
  const mcp_js_1 = require("./mcp.js");
30
29
  // ─────────────────────────────────────────────────────────────────────────────
31
30
  // Tool schemas (what the model sees)
@@ -155,11 +154,65 @@ exports.TOOL_DEFINITIONS = [
155
154
  telegram_js_1.TELEGRAM_DEFINITION,
156
155
  whatsapp_js_1.WHATSAPP_DEFINITION,
157
156
  cron_js_1.CRON_DEFINITION,
158
- audio_transcribe_js_1.AUDIO_TRANSCRIBE_DEFINITION,
159
- youtube_transcript_js_1.YOUTUBE_TRANSCRIPT_DEFINITION,
160
157
  mcp_js_1.MCP_DEFINITION,
161
158
  ];
162
159
  // ─────────────────────────────────────────────────────────────────────────────
160
+ // Relevance gate — conditional tools are only sent to the model when the task
161
+ // or conversation mentions their domain. Same mechanic as the plugin-skill
162
+ // keyword gate in system-prompt.ts. Triggers are deliberately generous: a
163
+ // false positive costs a few hundred tokens, a false negative breaks the task.
164
+ // ─────────────────────────────────────────────────────────────────────────────
165
+ const CONDITIONAL_TOOL_TRIGGERS = {
166
+ telegram: /telegram|\btg\b|\bbot\b|send me|message me|text me|ping me|notify me/,
167
+ browser: /browser|chrome|website|webpage|web page|screenshot|click|navigate|scrape|open .{0,20}page|\burl\b/,
168
+ http_request: /\bhttp\b|\bapi\b|endpoint|curl|webhook|\brest\b|\brequest\b|post to/,
169
+ calendar: /calendar|\bevents?\b|meeting|appointment|schedule|remind/,
170
+ cron: /\bcron\b|schedule|recurring|daily|weekly|hourly|\bevery\b|periodically/,
171
+ whatsapp: /whatsapp|\bwa\b|send me|message me/,
172
+ email: /e-?mail|\bmail\b|inbox|gmail|smtp/,
173
+ notify: /notify|notification|alert|when done|ping|desktop/,
174
+ image_read: /image|screenshot|png|jpe?g|photo|picture|webcam/,
175
+ clipboard: /clipboard|copy to|paste/,
176
+ };
177
+ /** Text the gate scans: task + user/assistant messages (tool results excluded — huge and noisy). */
178
+ function gateText(task, history) {
179
+ const parts = [task];
180
+ for (const msg of history) {
181
+ if (msg.role === 'user')
182
+ parts.push(msg.content);
183
+ else if (msg.role === 'assistant' && msg.content)
184
+ parts.push(msg.content);
185
+ }
186
+ return parts.join('\n').toLowerCase();
187
+ }
188
+ /**
189
+ * Select the tool definitions to send this turn: all CORE tools plus any
190
+ * conditional tool whose trigger matches the task or conversation so far.
191
+ *
192
+ * `included` is a sticky per-session set: once a conditional tool is
193
+ * triggered it stays for the rest of the session, even if compaction later
194
+ * rewrites the keyword out of history. Additive-only also means the
195
+ * Anthropic prompt-cache prefix (tools block) is busted at most once per
196
+ * newly triggered tool instead of thrashing.
197
+ *
198
+ * Call once per turn — mid-session pivots ("actually send this via
199
+ * telegram") land in history as user messages, so the tool is present
200
+ * before the model responds to them.
201
+ */
202
+ function selectTools(task, history, included = new Set()) {
203
+ const text = gateText(task, history);
204
+ for (const [name, trigger] of Object.entries(CONDITIONAL_TOOL_TRIGGERS)) {
205
+ if (!included.has(name) && trigger.test(text))
206
+ included.add(name);
207
+ }
208
+ const selected = exports.TOOL_DEFINITIONS.filter(t => !(t.name in CONDITIONAL_TOOL_TRIGGERS) || included.has(t.name));
209
+ if (process.env.AURA_DEBUG_TOOLS) {
210
+ const chars = JSON.stringify(selected).length;
211
+ console.error(`[tools] sent=${selected.length}/${exports.TOOL_DEFINITIONS.length} chars=${chars}`);
212
+ }
213
+ return selected;
214
+ }
215
+ // ─────────────────────────────────────────────────────────────────────────────
163
216
  // Tool executor — dispatches to the right implementation
164
217
  // ─────────────────────────────────────────────────────────────────────────────
165
218
  async function executeTool(name, input, cwd) {
@@ -170,8 +223,8 @@ async function executeTool(name, input, cwd) {
170
223
  case 'edit_file': return (0, edit_file_js_1.editFile)({ path: input.path, find: input.find, replace: input.replace }, cwd);
171
224
  case 'write_file': return (0, write_file_js_1.writeFile)({ path: input.path, content: input.content }, cwd);
172
225
  case 'search_code': return (0, search_code_js_1.searchCode)({ pattern: input.pattern, path: input.path, file_glob: input.file_glob, literal: input.literal ?? false, case_sensitive: input.case_sensitive ?? false, max_results: input.max_results ?? 50 }, cwd);
173
- case 'run_shell': return await (0, run_shell_js_1.runShell)({ command: input.command, cwd: input.cwd, timeout: input.timeout }, cwd);
174
- case 'run_tests': return await (0, run_tests_js_1.runTests)({ file_or_pattern: input.file_or_pattern }, cwd);
226
+ case 'run_shell': return (0, run_shell_js_1.runShell)({ command: input.command, cwd: input.cwd, timeout: input.timeout }, cwd);
227
+ case 'run_tests': return (0, run_tests_js_1.runTests)({ file_or_pattern: input.file_or_pattern }, cwd);
175
228
  case 'git_status': return (0, git_js_1.gitStatus)(cwd);
176
229
  case 'git_diff': return (0, git_js_1.gitDiff)({ path: input.path, staged: input.staged ?? false }, cwd);
177
230
  case 'spawn_task': return (0, spawner_js_1.executeSpawnTask)(input);
@@ -188,8 +241,6 @@ async function executeTool(name, input, cwd) {
188
241
  case 'telegram': return (0, telegram_js_1.telegramTool)(input);
189
242
  case 'whatsapp': return (0, whatsapp_js_1.whatsAppTool)(input);
190
243
  case 'cron': return (0, cron_js_1.cronTool)(input);
191
- case 'audio_transcribe': return (0, audio_transcribe_js_1.audioTranscribe)(input);
192
- case 'youtube_transcript': return (0, youtube_transcript_js_1.youtubeTranscript)(input);
193
244
  case 'mcp': return (0, mcp_js_1.mcpTool)(input);
194
245
  default: return `Error: Unknown tool '${name}'`;
195
246
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
package/dist/tools/mcp.js CHANGED
@@ -291,6 +291,18 @@ async function callTool(serverName, toolName, args) {
291
291
  return `MCP server not found: ${serverName}`;
292
292
  if (!server.connected)
293
293
  return `MCP server not connected: ${serverName}`;
294
+ // The connect-time tools/list snapshot is an ALLOWLIST, not a courtesy
295
+ // cache. The user's confirm-at-connect approval covered the tools that
296
+ // existed then; this client deliberately ignores tools/list_changed, so a
297
+ // server that expands its tool set post-connect cannot have the new tools
298
+ // called — adopting them requires disconnect + connect, which re-prompts.
299
+ // It also stops prompt-injected calls to hidden, never-advertised tools.
300
+ // (Only enforceable when the server supported tools/list at connect.)
301
+ if (server.tools.length > 0 && !server.tools.some(t => t.name === toolName)) {
302
+ return `MCP tool '${toolName}' is not in ${serverName}'s connect-time tool list. ` +
303
+ `Available: ${server.tools.map(t => t.name).join(', ')}. ` +
304
+ `If the server added tools after connecting, disconnect and reconnect to re-approve it.`;
305
+ }
294
306
  try {
295
307
  const result = await sendRequest(server, 'tools/call', {
296
308
  name: toolName,
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/tools/mcp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/tools/mcp.ts"],"names":[],"mappings":"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"}
@@ -37,8 +37,17 @@ exports.readFile = readFile;
37
37
  const fs = __importStar(require("fs"));
38
38
  const path = __importStar(require("path"));
39
39
  const defaults_js_1 = require("../config/defaults.js");
40
+ const path_jail_js_1 = require("../safety/path-jail.js");
40
41
  function readFile(input, cwd) {
41
- const filePath = path.resolve(cwd, input.path);
42
+ let filePath;
43
+ try {
44
+ filePath = (0, path_jail_js_1.resolveInRoot)(cwd, input.path);
45
+ }
46
+ catch (e) {
47
+ if (e instanceof path_jail_js_1.PathJailError)
48
+ return `Error: ${e.message}`;
49
+ throw e;
50
+ }
42
51
  if (!fs.existsSync(filePath)) {
43
52
  return `Error: File not found: ${input.path}`;
44
53
  }
@@ -63,19 +72,6 @@ function readFile(input, cwd) {
63
72
  const numbered = slice.map((l, i) => `${start + i + 1}: ${l}`).join('\n');
64
73
  return `${input.path} (lines ${start + 1}–${end} of ${total}):\n\n${numbered}`;
65
74
  }
66
- // Hard byte ceiling, checked BEFORE the line-count check. Line-based
67
- // truncation alone is no protection: a file with few lines but one enormous
68
- // line (minified JS/CSS, a base64-inlined asset, a single-line data blob) can
69
- // still be many megabytes and, read in full, will blow past the model's
70
- // context window in one tool call. ~256 KB ≈ 70K+ tokens, plenty for a real
71
- // source file; anything larger must be read in slices.
72
- const MAX_BYTES = 256 * 1024;
73
- const byteLen = Buffer.byteLength(content, 'utf8');
74
- if (byteLen > MAX_BYTES) {
75
- const head = content.slice(0, 4000);
76
- const tail = content.slice(-2000);
77
- return `${input.path} (${byteLen} bytes across ${total} lines — too large to inline; showing first 4000 + last 2000 chars). Use start_line/end_line to read specific sections, or grep_search to locate content:\n\n${head}\n\n... [${byteLen - 6000} bytes omitted] ...\n\n${tail}`;
78
- }
79
75
  // Return full file with line numbers, truncating if very large
80
76
  const MAX_LINES = 500;
81
77
  if (total > MAX_LINES) {
@@ -1 +1 @@
1
- {"version":3,"file":"read-file.js","sourceRoot":"","sources":["../../src/tools/read-file.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"read-file.js","sourceRoot":"","sources":["../../src/tools/read-file.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,4BA2CC;AAtDD,uCAAyB;AACzB,2CAA6B;AAC7B,uDAA0D;AAC1D,yDAAsE;AAQtE,SAAgB,QAAQ,CAAC,KAAoB,EAAE,GAAW;IACxD,IAAI,QAAgB,CAAC;IACrB,IAAI,CAAC;QAAC,QAAQ,GAAG,IAAA,4BAAa,EAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAAC,CAAC;IAClD,OAAO,CAAC,EAAE,CAAC;QAAC,IAAI,CAAC,YAAY,4BAAa;YAAE,OAAO,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC;QAAC,MAAM,CAAC,CAAC;IAAC,CAAC;IAEpF,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,OAAO,0BAA0B,KAAK,CAAC,IAAI,EAAE,CAAC;IAChD,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IACjD,IAAI,+BAAiB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACnC,OAAO,gBAAgB,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,GAAG,GAAG,CAAC;IAC1F,CAAC;IAED,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACH,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC9C,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,uBAAuB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5C,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;IAE3B,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACnE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACrD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAC;QACrD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACtC,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1E,OAAO,GAAG,KAAK,CAAC,IAAI,WAAW,KAAK,GAAG,CAAC,IAAI,GAAG,OAAO,KAAK,SAAS,QAAQ,EAAE,CAAC;IACjF,CAAC;IAED,+DAA+D;IAC/D,MAAM,SAAS,GAAG,GAAG,CAAC;IACtB,IAAI,KAAK,GAAG,SAAS,EAAE,CAAC;QACtB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3E,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClF,OAAO,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,4CAA4C,IAAI,YAAY,KAAK,GAAG,GAAG,8EAA8E,IAAI,EAAE,CAAC;IAC5L,CAAC;IAED,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClE,OAAO,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,eAAe,QAAQ,EAAE,CAAC;AAC1D,CAAC"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * When to attach a voice note to a reply:
3
+ * - 'off' — never
4
+ * - 'voice-only' — only when the user's message came in as voice (the
5
+ * original behavior: speak back to whoever spoke)
6
+ * - 'auto' — voice-in replies + any substantial conversational reply
7
+ * (length ≥ minChars). The default: text always, audio for
8
+ * task summaries worth listening to, silence for short acks.
9
+ * - 'always' — every conversational reply
10
+ *
11
+ * Command output (/help, /run, /ls …) is never spoken regardless of mode —
12
+ * only conversational replies from the LLM, plus the voice-in echo path.
13
+ */
14
+ export type AudioReplyMode = 'off' | 'voice-only' | 'auto' | 'always';
15
+ export declare const DEFAULT_AUDIO_MIN_CHARS = 500;
16
+ export declare function normalizeAudioMode(raw: unknown): AudioReplyMode;
17
+ export declare function shouldSendAudio(opts: {
18
+ mode: AudioReplyMode;
19
+ cameFromVoice: boolean;
20
+ conversational: boolean;
21
+ length: number;
22
+ minChars?: number;
23
+ }): boolean;
24
+ /**
25
+ * Prepare text for TTS — same treatment as the CLI's speakSummary: drop code
26
+ * blocks and markdown noise, collapse whitespace, cap the length so a long
27
+ * report doesn't monologue (the full text is always still sent as a regular
28
+ * message alongside the voice note).
29
+ */
30
+ export declare function stripForSpeech(text: string, maxChars?: number): string;
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ // Audio-reply policy for the Telegram bot — pure helpers, no I/O.
3
+ // Lives outside telegram-bot.ts (which starts live polling at import time)
4
+ // so the decision logic is unit-testable, same as telegram-safety.ts.
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.DEFAULT_AUDIO_MIN_CHARS = void 0;
7
+ exports.normalizeAudioMode = normalizeAudioMode;
8
+ exports.shouldSendAudio = shouldSendAudio;
9
+ exports.stripForSpeech = stripForSpeech;
10
+ exports.DEFAULT_AUDIO_MIN_CHARS = 500;
11
+ function normalizeAudioMode(raw) {
12
+ const v = String(raw ?? '').toLowerCase().trim();
13
+ if (v === 'off' || v === 'voice-only' || v === 'always' || v === 'auto')
14
+ return v;
15
+ return 'auto';
16
+ }
17
+ function shouldSendAudio(opts) {
18
+ const { mode, cameFromVoice, conversational, length } = opts;
19
+ const minChars = opts.minChars ?? exports.DEFAULT_AUDIO_MIN_CHARS;
20
+ if (mode === 'off')
21
+ return false;
22
+ if (cameFromVoice)
23
+ return true; // spoke to her → she speaks back
24
+ if (!conversational)
25
+ return false; // never read /help or shell output aloud
26
+ if (mode === 'voice-only')
27
+ return false;
28
+ if (mode === 'always')
29
+ return true;
30
+ return length >= minChars; // 'auto'
31
+ }
32
+ /**
33
+ * Prepare text for TTS — same treatment as the CLI's speakSummary: drop code
34
+ * blocks and markdown noise, collapse whitespace, cap the length so a long
35
+ * report doesn't monologue (the full text is always still sent as a regular
36
+ * message alongside the voice note).
37
+ */
38
+ function stripForSpeech(text, maxChars = 1200) {
39
+ if (!text)
40
+ return '';
41
+ return text
42
+ .replace(/```[\s\S]*?```/g, ' (code omitted) ')
43
+ .replace(/`[^`]*`/g, '')
44
+ .replace(/[#*_>|]/g, ' ')
45
+ .replace(/\s+/g, ' ')
46
+ .trim()
47
+ .slice(0, maxChars);
48
+ }
49
+ //# sourceMappingURL=telegram-audio-policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telegram-audio-policy.js","sourceRoot":"","sources":["../../src/tools/telegram-audio-policy.ts"],"names":[],"mappings":";AAAA,kEAAkE;AAClE,2EAA2E;AAC3E,sEAAsE;;;AAmBtE,gDAIC;AAED,0CAeC;AAQD,wCASC;AAxCY,QAAA,uBAAuB,GAAG,GAAG,CAAC;AAE3C,SAAgB,kBAAkB,CAAC,GAAY;IAC7C,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;IACjD,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,YAAY,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,MAAM;QAAE,OAAO,CAAC,CAAC;IAClF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,eAAe,CAAC,IAM/B;IACC,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC7D,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,+BAAuB,CAAC;IAC1D,IAAI,IAAI,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IACjC,IAAI,aAAa;QAAE,OAAO,IAAI,CAAC,CAAC,iCAAiC;IACjE,IAAI,CAAC,cAAc;QAAE,OAAO,KAAK,CAAC,CAAC,yCAAyC;IAC5E,IAAI,IAAI,KAAK,YAAY;QAAE,OAAO,KAAK,CAAC;IACxC,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACnC,OAAO,MAAM,IAAI,QAAQ,CAAC,CAAC,SAAS;AACtC,CAAC;AAED;;;;;GAKG;AACH,SAAgB,cAAc,CAAC,IAAY,EAAE,QAAQ,GAAG,IAAI;IAC1D,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IACrB,OAAO,IAAI;SACR,OAAO,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;SAC9C,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;SACvB,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC;SACxB,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,IAAI,EAAE;SACN,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;AACxB,CAAC"}