micro-models-agent 0.5.0 → 0.6.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 (115) hide show
  1. package/dist/agent/context.d.ts +3 -6
  2. package/dist/agent/context.d.ts.map +1 -1
  3. package/dist/agent/context.js +8 -41
  4. package/dist/agent/context.js.map +1 -1
  5. package/dist/agent/error-escalation.d.ts +7 -6
  6. package/dist/agent/error-escalation.d.ts.map +1 -1
  7. package/dist/agent/error-escalation.js +82 -36
  8. package/dist/agent/error-escalation.js.map +1 -1
  9. package/dist/agent/loop.d.ts.map +1 -1
  10. package/dist/agent/loop.js +151 -210
  11. package/dist/agent/loop.js.map +1 -1
  12. package/dist/agent/memory.d.ts +0 -29
  13. package/dist/agent/memory.d.ts.map +1 -1
  14. package/dist/agent/memory.js +1 -78
  15. package/dist/agent/memory.js.map +1 -1
  16. package/dist/agent/modes/registry.d.ts +1 -1
  17. package/dist/agent/modes/registry.d.ts.map +1 -1
  18. package/dist/agent/modes/registry.js +26 -27
  19. package/dist/agent/modes/registry.js.map +1 -1
  20. package/dist/agent/modes/types.d.ts +0 -5
  21. package/dist/agent/modes/types.d.ts.map +1 -1
  22. package/dist/agent/system-prompt.d.ts +1 -1
  23. package/dist/agent/system-prompt.d.ts.map +1 -1
  24. package/dist/agent/system-prompt.js +95 -147
  25. package/dist/agent/system-prompt.js.map +1 -1
  26. package/dist/agent/tool-executor.d.ts +2 -6
  27. package/dist/agent/tool-executor.d.ts.map +1 -1
  28. package/dist/agent/tool-executor.js +79 -65
  29. package/dist/agent/tool-executor.js.map +1 -1
  30. package/dist/agent/user-profile.d.ts +1 -21
  31. package/dist/agent/user-profile.d.ts.map +1 -1
  32. package/dist/agent/user-profile.js +41 -174
  33. package/dist/agent/user-profile.js.map +1 -1
  34. package/dist/agent/write-enforcer.d.ts +4 -8
  35. package/dist/agent/write-enforcer.d.ts.map +1 -1
  36. package/dist/agent/write-enforcer.js +4 -88
  37. package/dist/agent/write-enforcer.js.map +1 -1
  38. package/dist/cli/config.d.ts.map +1 -1
  39. package/dist/cli/config.js +2 -25
  40. package/dist/cli/config.js.map +1 -1
  41. package/dist/cli.d.ts +1 -1
  42. package/dist/cli.d.ts.map +1 -1
  43. package/dist/cli.js +102 -139
  44. package/dist/cli.js.map +1 -1
  45. package/dist/config/config.d.ts +15 -0
  46. package/dist/config/config.d.ts.map +1 -1
  47. package/dist/config/config.js +4 -38
  48. package/dist/config/config.js.map +1 -1
  49. package/dist/config/types.d.ts +0 -2
  50. package/dist/config/types.d.ts.map +1 -1
  51. package/dist/repl/commands.d.ts +16 -16
  52. package/dist/repl/commands.d.ts.map +1 -1
  53. package/dist/repl/commands.js +474 -321
  54. package/dist/repl/commands.js.map +1 -1
  55. package/dist/repl/index.d.ts +4 -4
  56. package/dist/repl/index.d.ts.map +1 -1
  57. package/dist/repl/index.js +60 -56
  58. package/dist/repl/index.js.map +1 -1
  59. package/dist/session/store.d.ts +4 -7
  60. package/dist/session/store.d.ts.map +1 -1
  61. package/dist/session/store.js +35 -71
  62. package/dist/session/store.js.map +1 -1
  63. package/dist/setup-wizard.d.ts.map +1 -1
  64. package/dist/setup-wizard.js +5 -23
  65. package/dist/setup-wizard.js.map +1 -1
  66. package/dist/styling/engine.d.ts +7 -12
  67. package/dist/styling/engine.d.ts.map +1 -1
  68. package/dist/styling/engine.js +85 -134
  69. package/dist/styling/engine.js.map +1 -1
  70. package/dist/styling/index.d.ts +2 -2
  71. package/dist/styling/index.d.ts.map +1 -1
  72. package/dist/styling/index.js +0 -1
  73. package/dist/styling/index.js.map +1 -1
  74. package/dist/styling/loader.d.ts +2 -2
  75. package/dist/styling/loader.d.ts.map +1 -1
  76. package/dist/styling/loader.js +99 -47
  77. package/dist/styling/loader.js.map +1 -1
  78. package/dist/subagent/chat.d.ts +12 -0
  79. package/dist/subagent/chat.d.ts.map +1 -1
  80. package/dist/subagent/chat.js +28 -6
  81. package/dist/subagent/chat.js.map +1 -1
  82. package/dist/subagent/context.d.ts +7 -0
  83. package/dist/subagent/context.d.ts.map +1 -1
  84. package/dist/subagent/context.js +11 -0
  85. package/dist/subagent/context.js.map +1 -1
  86. package/dist/subagent/definition.d.ts +4 -0
  87. package/dist/subagent/definition.d.ts.map +1 -1
  88. package/dist/subagent/definition.js +4 -0
  89. package/dist/subagent/definition.js.map +1 -1
  90. package/dist/subagent/errors.d.ts +17 -0
  91. package/dist/subagent/errors.d.ts.map +1 -1
  92. package/dist/subagent/errors.js +21 -0
  93. package/dist/subagent/errors.js.map +1 -1
  94. package/dist/subagent/validation.d.ts +6 -0
  95. package/dist/subagent/validation.d.ts.map +1 -1
  96. package/dist/subagent/validation.js +6 -0
  97. package/dist/subagent/validation.js.map +1 -1
  98. package/dist/tools/hooks.d.ts +2 -0
  99. package/dist/tools/hooks.d.ts.map +1 -1
  100. package/dist/tools/hooks.js +118 -16
  101. package/dist/tools/hooks.js.map +1 -1
  102. package/dist/tools/parse-tool-call.d.ts.map +1 -1
  103. package/dist/tools/parse-tool-call.js +16 -14
  104. package/dist/tools/parse-tool-call.js.map +1 -1
  105. package/dist/tools/registry.d.ts +5 -3
  106. package/dist/tools/registry.d.ts.map +1 -1
  107. package/dist/tools/registry.js +47 -28
  108. package/dist/tools/registry.js.map +1 -1
  109. package/dist/tools/subagent.d.ts +0 -10
  110. package/dist/tools/subagent.d.ts.map +1 -1
  111. package/dist/tools/subagent.js +47 -9
  112. package/dist/tools/subagent.js.map +1 -1
  113. package/dist/tools/types.d.ts +2 -10
  114. package/dist/tools/types.d.ts.map +1 -1
  115. package/package.json +1 -1
@@ -1,9 +1,9 @@
1
- import { runPreToolUseHooks, runPostToolUseHooks } from '../tools/hooks.js';
2
- import { notifyFileChanged } from '../indexer/cache.js';
3
- import { invalidateSystemPromptCache } from './system-prompt.js';
4
- import { resolve, dirname } from 'node:path';
5
- import { existsSync } from 'node:fs';
6
- import { getGroundingConfig } from '../config/config.js';
1
+ import { runPreToolUseHooks, runPostToolUseHooks, runLintAfterWrite, } from "../tools/hooks.js";
2
+ import { notifyFileChanged } from "../indexer/cache.js";
3
+ import { invalidateSystemPromptCache } from "./system-prompt.js";
4
+ import { resolve, dirname } from "node:path";
5
+ import { existsSync } from "node:fs";
6
+ import { getGroundingConfig } from "../config/config.js";
7
7
  /**
8
8
  * Диспетчер инструментов с пайплайном: pre-hooks → execute → post-hooks → truncate.
9
9
  *
@@ -14,23 +14,40 @@ import { getGroundingConfig } from '../config/config.js';
14
14
  * @module agent/tool-executor
15
15
  */
16
16
  /** Инструменты, требующие path validation: путь должен существовать */
17
- const FS_TOOLS_REQUIRE_EXIST = new Set(['read_file', 'edit_file', 'delete_file', 'file_info']);
17
+ const FS_TOOLS_REQUIRE_EXIST = new Set([
18
+ "read_file",
19
+ "edit_file",
20
+ "delete_file",
21
+ "file_info",
22
+ ]);
18
23
  /** Инструменты, для которых проверяем только родительскую директорию */
19
- const FS_TOOLS_CHECK_PARENT = new Set(['write_file', 'create_dir']);
24
+ const FS_TOOLS_CHECK_PARENT = new Set(["write_file", "create_dir"]);
20
25
  /** Инструменты с source/destination */
21
- const FS_TOOLS_COPY_MOVE = new Set(['copy_file', 'move_file']);
26
+ const FS_TOOLS_COPY_MOVE = new Set(["copy_file", "move_file"]);
22
27
  /** Инструменты, которые модифицируют файловую систему */
23
- const MODIFYING_TOOLS = new Set(['write_file', 'edit_file', 'delete_file', 'copy_file', 'move_file']);
28
+ const MODIFYING_TOOLS = new Set([
29
+ "write_file",
30
+ "edit_file",
31
+ "delete_file",
32
+ "copy_file",
33
+ "move_file",
34
+ ]);
24
35
  /** Извлекает пути изменённых файлов из аргументов инструмента */
25
36
  function getChangedFilePaths(toolName, args) {
26
- const normalize = (p) => String(p ?? '').replace(/\\/g, '/');
37
+ const normalize = (p) => String(p ?? "").replace(/\\/g, "/");
27
38
  switch (toolName) {
28
- case 'write_file': return [normalize(args.path)];
29
- case 'edit_file': return [normalize(args.path)];
30
- case 'delete_file': return [normalize(args.path)];
31
- case 'copy_file': return [normalize(args.destination)];
32
- case 'move_file': return [normalize(args.source), normalize(args.destination)];
33
- default: return [];
39
+ case "write_file":
40
+ return [normalize(args.path)];
41
+ case "edit_file":
42
+ return [normalize(args.path)];
43
+ case "delete_file":
44
+ return [normalize(args.path)];
45
+ case "copy_file":
46
+ return [normalize(args.destination)];
47
+ case "move_file":
48
+ return [normalize(args.source), normalize(args.destination)];
49
+ default:
50
+ return [];
34
51
  }
35
52
  }
36
53
  /** Лимиты обрезки вывода по инструментам (в символах) */
@@ -60,7 +77,7 @@ const PATH_NOT_FOUND_PATTERNS = [
60
77
  ];
61
78
  /** Проверяет, является ли ошибка ошибкой "path not found" */
62
79
  function isPathNotFoundError(stderr) {
63
- return PATH_NOT_FOUND_PATTERNS.some(p => p.test(stderr));
80
+ return PATH_NOT_FOUND_PATTERNS.some((p) => p.test(stderr));
64
81
  }
65
82
  /** Извлекает путь из ошибки */
66
83
  function extractPathFromError(stderr) {
@@ -77,12 +94,14 @@ function extractPathFromError(stderr) {
77
94
  /** Обрезка вывода инструмента для экономии токенов */
78
95
  export function truncateOutput(toolName, output, exitCode) {
79
96
  if (exitCode !== 0) {
80
- return output.length > ERROR_LIMIT ? output.slice(0, ERROR_LIMIT) + '\n...[truncated]' : output;
97
+ return output.length > ERROR_LIMIT
98
+ ? output.slice(0, ERROR_LIMIT) + "\n...[truncated]"
99
+ : output;
81
100
  }
82
101
  const limit = TRUNCATION_LIMITS[toolName] ?? DEFAULT_LIMIT;
83
102
  if (output.length <= limit)
84
103
  return output;
85
- return output.slice(0, limit) + '\n...[truncated]';
104
+ return output.slice(0, limit) + "\n...[truncated]";
86
105
  }
87
106
  /**
88
107
  * Диспетчер инструментов.
@@ -101,22 +120,17 @@ export function truncateOutput(toolName, output, exitCode) {
101
120
  function hashError(toolName, stderr) {
102
121
  // Убираем пути файлов, numbers, timestamps для нормализации
103
122
  const normalized = stderr
104
- .replace(/[A-Z]:\\[^\s"']+/gi, '<PATH>')
105
- .replace(/\/[^\s"']+/g, '<PATH>')
106
- .replace(/\d{4}-\d{2}-\d{2}[T ]\d{2}:\d{2}:\d{2}/g, '<TS>')
107
- .replace(/\b\d{10,13}\b/g, '<ID>')
123
+ .replace(/[A-Z]:\\[^\s"']+/gi, "<PATH>")
124
+ .replace(/\/[^\s"']+/g, "<PATH>")
125
+ .replace(/\d{4}-\d{2}-\d{2}[T ]\d{2}:\d{2}:\d{2}/g, "<TS>")
126
+ .replace(/\b\d{10,13}\b/g, "<ID>")
108
127
  .trim();
109
128
  return `${toolName}::${normalized}`;
110
129
  }
111
130
  export class ToolExecutor {
112
131
  handlers = new Map();
113
- pluginManager;
114
132
  /** Повторяющиеся ошибки: hash → { count, lastStderr } */
115
133
  recentErrors = new Map();
116
- /** Установка менеджера плагинов */
117
- setPluginManager(pm) {
118
- this.pluginManager = pm;
119
- }
120
134
  /** Регистрация обработчика инструмента */
121
135
  register(handler) {
122
136
  this.handlers.set(handler.name, handler);
@@ -137,16 +151,16 @@ export class ToolExecutor {
137
151
  }
138
152
  /** Получение определений всех инструментов для LLM */
139
153
  getDefinitions() {
140
- return Array.from(this.handlers.values()).map(h => h.definition);
154
+ return Array.from(this.handlers.values()).map((h) => h.definition);
141
155
  }
142
156
  /** Pre-flight проверка существования пути для FS-тулов */
143
157
  preFlightCheck(name, args, cwd) {
144
158
  const groundingCfg = getGroundingConfig();
145
159
  if (!groundingCfg.checkFiles)
146
160
  return null;
147
- const pathArg = String(args.path ?? '');
148
- const sourceArg = String(args.source ?? '');
149
- const destArg = String(args.destination ?? '');
161
+ const pathArg = String(args.path ?? "");
162
+ const sourceArg = String(args.source ?? "");
163
+ const destArg = String(args.destination ?? "");
150
164
  if (FS_TOOLS_REQUIRE_EXIST.has(name) && pathArg) {
151
165
  const resolved = resolve(cwd, pathArg);
152
166
  if (!existsSync(resolved)) {
@@ -167,7 +181,7 @@ export class ToolExecutor {
167
181
  return `ENOENT: source path not found — "${sourceArg}" does not exist.\nCheck the source path with glob_search before calling ${name}.`;
168
182
  }
169
183
  }
170
- if (destArg && name === 'copy_file') {
184
+ if (destArg && name === "copy_file") {
171
185
  const resolvedDest = resolve(cwd, destArg);
172
186
  const parent = dirname(resolvedDest);
173
187
  if (parent !== resolvedDest && !existsSync(parent)) {
@@ -192,34 +206,20 @@ export class ToolExecutor {
192
206
  if (!preHook.continue) {
193
207
  return {
194
208
  result: {
195
- stdout: '',
196
- stderr: `Hook blocked: ${preHook.message || ''}`,
209
+ stdout: "",
210
+ stderr: `Hook blocked: ${preHook.message || ""}`,
197
211
  exitCode: 1,
198
212
  truncated: false,
199
213
  },
200
214
  elapsed: (performance.now() - start) / 1000,
201
215
  };
202
216
  }
203
- // 1.5. Plugin: tool:before
204
- if (this.pluginManager) {
205
- try {
206
- await this.pluginManager.emit('tool:before', call.name, call.arguments);
207
- }
208
- catch (e) {
209
- if (e.name === 'PluginError') {
210
- return {
211
- result: { stdout: '', stderr: 'Plugin blocked: ' + e.message, exitCode: 1, truncated: false },
212
- elapsed: (performance.now() - start) / 1000,
213
- };
214
- }
215
- }
216
- }
217
217
  // 2. Execute handler
218
218
  const handler = this.handlers.get(call.name);
219
219
  if (!handler) {
220
220
  return {
221
221
  result: {
222
- stdout: '',
222
+ stdout: "",
223
223
  stderr: `Unknown tool: ${call.name}`,
224
224
  exitCode: 1,
225
225
  truncated: false,
@@ -231,7 +231,12 @@ export class ToolExecutor {
231
231
  const preFlightError = this.preFlightCheck(call.name, call.arguments, context.cwd);
232
232
  if (preFlightError) {
233
233
  return {
234
- result: { stdout: '', stderr: preFlightError, exitCode: 1, truncated: false },
234
+ result: {
235
+ stdout: "",
236
+ stderr: preFlightError,
237
+ exitCode: 1,
238
+ truncated: false,
239
+ },
235
240
  elapsed: (performance.now() - start) / 1000,
236
241
  };
237
242
  }
@@ -241,7 +246,7 @@ export class ToolExecutor {
241
246
  }
242
247
  catch (e) {
243
248
  result = {
244
- stdout: '',
249
+ stdout: "",
245
250
  stderr: `Tool error: ${e.message}`,
246
251
  exitCode: 1,
247
252
  truncated: false,
@@ -249,13 +254,6 @@ export class ToolExecutor {
249
254
  }
250
255
  // 3. Post-hooks
251
256
  runPostToolUseHooks(context.cwd, call.name, hookCmd, result.stdout, result.exitCode);
252
- // 3.5. Plugin: tool:after
253
- if (this.pluginManager) {
254
- try {
255
- await this.pluginManager.emit('tool:after', call.name, result);
256
- }
257
- catch { /* plugin errors non-fatal in post */ }
258
- }
259
257
  // 4. Notify indexer (для модифицирующих инструментов)
260
258
  if (result.exitCode === 0 && MODIFYING_TOOLS.has(call.name)) {
261
259
  const paths = getChangedFilePaths(call.name, call.arguments);
@@ -264,6 +262,15 @@ export class ToolExecutor {
264
262
  }
265
263
  invalidateSystemPromptCache();
266
264
  }
265
+ // 4.5. Lint-on-write hook (after write_file/edit_file)
266
+ if (result.exitCode === 0 &&
267
+ (call.name === "write_file" || call.name === "edit_file")) {
268
+ const filePath = String(call.arguments.path ?? "");
269
+ const lintError = runLintAfterWrite(context.cwd, filePath);
270
+ if (lintError) {
271
+ result = { ...result, stderr: result.stderr + "\n[LINT] " + lintError };
272
+ }
273
+ }
267
274
  // 5. Truncate output
268
275
  const truncatedStdout = truncateOutput(call.name, result.stdout, result.exitCode);
269
276
  let truncatedStderr = truncateOutput(call.name, result.stderr, result.exitCode);
@@ -272,7 +279,7 @@ export class ToolExecutor {
272
279
  const errPath = extractPathFromError(result.stderr) ?? call.arguments?.path;
273
280
  if (errPath) {
274
281
  const parentDir = dirname(String(errPath));
275
- const listDirHandler = this.handlers.get('list_dir');
282
+ const listDirHandler = this.handlers.get("list_dir");
276
283
  if (listDirHandler) {
277
284
  try {
278
285
  const dirResult = await listDirHandler.execute({ path: parentDir }, context);
@@ -283,7 +290,9 @@ export class ToolExecutor {
283
290
  truncatedStderr += `\n\n[ENRICHMENT] Parent directory ${parentDir} is empty or inaccessible.`;
284
291
  }
285
292
  }
286
- catch { /* enrichment is best-effort */ }
293
+ catch {
294
+ /* enrichment is best-effort */
295
+ }
287
296
  }
288
297
  }
289
298
  }
@@ -301,7 +310,10 @@ export class ToolExecutor {
301
310
  }
302
311
  }
303
312
  else {
304
- this.recentErrors.set(errHash, { count: 1, lastStderr: truncatedStderr });
313
+ this.recentErrors.set(errHash, {
314
+ count: 1,
315
+ lastStderr: truncatedStderr,
316
+ });
305
317
  }
306
318
  // Ограничиваем размер карты
307
319
  if (this.recentErrors.size > 50) {
@@ -312,7 +324,7 @@ export class ToolExecutor {
312
324
  else if (result.exitCode === 0) {
313
325
  // При успехе — сбрасываем счётчик для этого инструмента
314
326
  for (const [key] of this.recentErrors) {
315
- if (key.startsWith(call.name + '::')) {
327
+ if (key.startsWith(call.name + "::")) {
316
328
  this.recentErrors.delete(key);
317
329
  }
318
330
  }
@@ -323,7 +335,9 @@ export class ToolExecutor {
323
335
  ...result,
324
336
  stdout: truncatedStdout,
325
337
  stderr: truncatedStderr,
326
- truncated: result.truncated || truncatedStdout !== result.stdout || truncatedStderr !== result.stderr,
338
+ truncated: result.truncated ||
339
+ truncatedStdout !== result.stdout ||
340
+ truncatedStderr !== result.stderr,
327
341
  },
328
342
  elapsed,
329
343
  };
@@ -1 +1 @@
1
- {"version":3,"file":"tool-executor.js","sourceRoot":"","sources":["../../src/agent/tool-executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-executor.js","sourceRoot":"","sources":["../../src/agent/tool-executor.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /** Секции профиля пользователя */
2
- type Section = 'OS' | 'Tech Stack' | 'Coding Style' | 'Session Patterns' | 'Notes';
2
+ type Section = "OS" | "Tech Stack" | "Coding Style" | "Session Patterns" | "Notes";
3
3
  /** Создаёт директорию профиля если не существует */
4
4
  export declare function ensureUserDir(): void;
5
5
  /** Загружает содержимое профиля пользователя */
@@ -16,28 +16,8 @@ export declare function upsertEntry(section: string, content: string): void;
16
16
  export declare function appendNote(note: string, section?: Section): void;
17
17
  /** Собирает информацию об ОС (вызывается при старте REPL, один раз) */
18
18
  export declare function collectOS(): void;
19
- /**
20
- * Собирает информацию о технологическом стеке из package.json.
21
- * Классифицирует зависимости по категориям:
22
- * Runtime, Framework, UI, Styling, Database, Build, Testing, Lint
23
- */
24
- export declare function collectTechStack(): void;
25
- /**
26
- * Собирает информацию о стиле кодирования из записанного файла.
27
- * Определяет:
28
- * - Индентацию (табуляция / N пробелов)
29
- * - Тип кавычек (одинарные / двойные)
30
- * - Наличие точек с запятой
31
- */
32
- export declare function collectCodingStyle(filePath: string, content: string): void;
33
- /** Регистрирует начало сессии (вызывается при старте REPL) */
34
- export declare function collectSessionStart(): void;
35
- /** Регистрирует завершение сессии (вызывается при остановке REPL) */
36
- export declare function sessionEnded(): void;
37
19
  /**
38
20
  * Формирует блок для system prompt с учётом версионности.
39
- * Записи старше STALE_DAYS помечаются как (stale Nd ago).
40
- * Секция Notes исключается.
41
21
  */
42
22
  export declare function loadProfileSummary(): string;
43
23
  /** Создаёт пустой профиль если не существует */
@@ -1 +1 @@
1
- {"version":3,"file":"user-profile.d.ts","sourceRoot":"","sources":["../../src/agent/user-profile.ts"],"names":[],"mappings":"AA0BA,kCAAkC;AAClC,KAAK,OAAO,GACR,IAAI,GACJ,YAAY,GACZ,cAAc,GACd,kBAAkB,GAClB,OAAO,CAAC;AAEZ,oDAAoD;AACpD,wBAAgB,aAAa,IAAI,IAAI,CAEpC;AAED,gDAAgD;AAChD,wBAAgB,WAAW,IAAI,MAAM,CAOpC;AAED,2CAA2C;AAC3C,wBAAgB,aAAa,IAAI,OAAO,CAGvC;AAwCD;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAkClE;AAED,mDAAmD;AACnD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,OAAiB,GAAG,IAAI,CAEzE;AAED,uEAAuE;AACvE,wBAAgB,SAAS,IAAI,IAAI,CAWhC;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAkCvC;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAqC1E;AAED,8DAA8D;AAC9D,wBAAgB,mBAAmB,IAAI,IAAI,CAa1C;AAED,qEAAqE;AACrE,wBAAgB,YAAY,IAAI,IAAI,CAGnC;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CA8C3C;AAED,gDAAgD;AAChD,wBAAgB,kBAAkB,IAAI,IAAI,CAIzC"}
1
+ {"version":3,"file":"user-profile.d.ts","sourceRoot":"","sources":["../../src/agent/user-profile.ts"],"names":[],"mappings":"AA0BA,kCAAkC;AAClC,KAAK,OAAO,GACV,IAAI,GAAG,YAAY,GAAG,cAAc,GAAG,kBAAkB,GAAG,OAAO,CAAC;AAEtE,oDAAoD;AACpD,wBAAgB,aAAa,IAAI,IAAI,CAEpC;AAED,gDAAgD;AAChD,wBAAgB,WAAW,IAAI,MAAM,CAOpC;AAED,2CAA2C;AAC3C,wBAAgB,aAAa,IAAI,OAAO,CAGvC;AAwCD;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAkClE;AAED,mDAAmD;AACnD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,OAAiB,GAAG,IAAI,CAEzE;AAED,uEAAuE;AACvE,wBAAgB,SAAS,IAAI,IAAI,CAQhC;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAgC3C;AAED,gDAAgD;AAChD,wBAAgB,kBAAkB,IAAI,IAAI,CAIzC"}