@iqai/adk-cli 0.3.23 → 0.3.24

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 (42) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/http/providers/agent-loader/build-utils.d.ts +7 -0
  3. package/dist/http/providers/agent-loader/build-utils.d.ts.map +1 -0
  4. package/dist/http/providers/agent-loader/build-utils.js +52 -0
  5. package/dist/http/providers/agent-loader/build-utils.js.map +1 -0
  6. package/dist/http/providers/agent-loader/env.d.ts +3 -0
  7. package/dist/http/providers/agent-loader/env.d.ts.map +1 -0
  8. package/dist/http/providers/agent-loader/env.js +44 -0
  9. package/dist/http/providers/agent-loader/env.js.map +1 -0
  10. package/dist/http/providers/agent-loader/path-plugin.d.ts +7 -0
  11. package/dist/http/providers/agent-loader/path-plugin.d.ts.map +1 -0
  12. package/dist/http/providers/agent-loader/path-plugin.js +72 -0
  13. package/dist/http/providers/agent-loader/path-plugin.js.map +1 -0
  14. package/dist/http/providers/agent-loader/resolver.d.ts +3 -0
  15. package/dist/http/providers/agent-loader/resolver.d.ts.map +1 -0
  16. package/dist/http/providers/agent-loader/resolver.js +148 -0
  17. package/dist/http/providers/agent-loader/resolver.js.map +1 -0
  18. package/dist/http/providers/agent-loader/tsconfig.d.ts +4 -0
  19. package/dist/http/providers/agent-loader/tsconfig.d.ts.map +1 -0
  20. package/dist/http/providers/agent-loader/tsconfig.js +32 -0
  21. package/dist/http/providers/agent-loader/tsconfig.js.map +1 -0
  22. package/dist/http/providers/agent-loader/utils.d.ts +2 -0
  23. package/dist/http/providers/agent-loader/utils.d.ts.map +1 -0
  24. package/dist/http/providers/agent-loader/utils.js +7 -0
  25. package/dist/http/providers/agent-loader/utils.js.map +1 -0
  26. package/dist/http/providers/agent-loader.service.d.ts +0 -52
  27. package/dist/http/providers/agent-loader.service.d.ts.map +1 -1
  28. package/dist/http/providers/agent-loader.service.js +14 -371
  29. package/dist/http/providers/agent-loader.service.js.map +1 -1
  30. package/dist/http/providers/agent-manager/sessions.d.ts +36 -0
  31. package/dist/http/providers/agent-manager/sessions.d.ts.map +1 -0
  32. package/dist/http/providers/agent-manager/sessions.js +114 -0
  33. package/dist/http/providers/agent-manager/sessions.js.map +1 -0
  34. package/dist/http/providers/agent-manager/state.d.ts +8 -0
  35. package/dist/http/providers/agent-manager/state.d.ts.map +1 -0
  36. package/dist/http/providers/agent-manager/state.js +72 -0
  37. package/dist/http/providers/agent-manager/state.js.map +1 -0
  38. package/dist/http/providers/agent-manager.service.d.ts +1 -55
  39. package/dist/http/providers/agent-manager.service.d.ts.map +1 -1
  40. package/dist/http/providers/agent-manager.service.js +12 -261
  41. package/dist/http/providers/agent-manager.service.js.map +1 -1
  42. package/package.json +1 -1
@@ -51,7 +51,11 @@ const node_path_1 = require("node:path");
51
51
  const node_url_1 = require("node:url");
52
52
  const common_1 = require("@nestjs/common");
53
53
  const find_project_root_1 = require("../../common/find-project-root");
54
- const agent_loader_types_1 = require("./agent-loader.types");
54
+ const build_utils_1 = require("./agent-loader/build-utils");
55
+ const env_1 = require("./agent-loader/env");
56
+ const path_plugin_1 = require("./agent-loader/path-plugin");
57
+ const resolver_1 = require("./agent-loader/resolver");
58
+ const utils_1 = require("./agent-loader/utils");
55
59
  const ADK_CACHE_DIR = ".adk-cache";
56
60
  let AgentLoader = class AgentLoader {
57
61
  static { AgentLoader_1 = this; }
@@ -136,130 +140,6 @@ let AgentLoader = class AgentLoader {
136
140
  normalizePath(path) {
137
141
  return path.replace(/\\/g, "/");
138
142
  }
139
- /**
140
- * Parse TypeScript path mappings from tsconfig.json
141
- */
142
- parseTsConfigPaths(projectRoot) {
143
- const tsconfigPath = (0, node_path_1.join)(projectRoot, "tsconfig.json");
144
- if (!(0, node_fs_1.existsSync)(tsconfigPath)) {
145
- return {};
146
- }
147
- try {
148
- const tsconfigContent = (0, node_fs_1.readFileSync)(tsconfigPath, "utf-8");
149
- const tsconfigJson = JSON.parse(tsconfigContent);
150
- const parsed = agent_loader_types_1.TsConfigSchema.safeParse(tsconfigJson);
151
- if (!parsed.success) {
152
- this.logger.warn(`Invalid tsconfig.json structure: ${parsed.error.message}`);
153
- return {};
154
- }
155
- const compilerOptions = parsed.data.compilerOptions || {};
156
- return {
157
- baseUrl: compilerOptions.baseUrl,
158
- paths: compilerOptions.paths,
159
- };
160
- }
161
- catch (error) {
162
- this.logger.warn(`Failed to parse tsconfig.json: ${error instanceof Error ? error.message : String(error)}`);
163
- return {};
164
- }
165
- }
166
- /**
167
- * Create an esbuild plugin to handle TypeScript path mappings and relative imports
168
- */
169
- createPathMappingPlugin(projectRoot) {
170
- const { baseUrl, paths } = this.parseTsConfigPaths(projectRoot);
171
- const resolvedBaseUrl = baseUrl
172
- ? (0, node_path_1.resolve)(projectRoot, baseUrl)
173
- : projectRoot;
174
- const logger = this.logger;
175
- const quiet = this.quiet;
176
- const normalizePath = this.normalizePath.bind(this);
177
- return {
178
- name: "typescript-path-mapping",
179
- setup(build) {
180
- build.onResolve({ filter: /.*/ }, (args) => {
181
- if (!quiet) {
182
- logger.debug(`Resolving import: "${args.path}" from "${args.importer || "unknown"}"`);
183
- }
184
- if (paths && !args.path.startsWith(".") && !(0, node_path_1.isAbsolute)(args.path)) {
185
- for (const [alias, mappings] of Object.entries(paths)) {
186
- const aliasPattern = alias.replace("*", "(.*)");
187
- const aliasRegex = new RegExp(`^${aliasPattern}$`);
188
- const match = args.path.match(aliasRegex);
189
- if (match) {
190
- for (const mapping of mappings) {
191
- let resolvedPath = mapping;
192
- if (match[1] && mapping.includes("*")) {
193
- resolvedPath = mapping.replace("*", match[1]);
194
- }
195
- const fullPath = (0, node_path_1.normalize)((0, node_path_1.resolve)(resolvedBaseUrl, resolvedPath));
196
- const extensions = [".ts", ".js", ".tsx", ".jsx", ""];
197
- for (const ext of extensions) {
198
- const pathWithExt = ext ? fullPath + ext : fullPath;
199
- if ((0, node_fs_1.existsSync)(pathWithExt)) {
200
- logger.debug(`Path mapping resolved: ${args.path} -> ${pathWithExt}`);
201
- return { path: normalizePath(pathWithExt) };
202
- }
203
- }
204
- }
205
- }
206
- }
207
- }
208
- if (args.path === "env" && baseUrl) {
209
- const envPath = (0, node_path_1.resolve)(resolvedBaseUrl, "env");
210
- const extensions = [".ts", ".js"];
211
- for (const ext of extensions) {
212
- const pathWithExt = (0, node_path_1.normalize)(envPath + ext);
213
- if ((0, node_fs_1.existsSync)(pathWithExt)) {
214
- logger.debug(`Direct env import resolved: ${args.path} -> ${pathWithExt}`);
215
- return { path: normalizePath(pathWithExt) };
216
- }
217
- }
218
- }
219
- if (baseUrl && args.path.startsWith("../")) {
220
- const relativePath = args.path.replace("../", "");
221
- const fullPath = (0, node_path_1.resolve)(resolvedBaseUrl, relativePath);
222
- const extensions = [".ts", ".js", ".tsx", ".jsx", ""];
223
- for (const ext of extensions) {
224
- const pathWithExt = (0, node_path_1.normalize)(ext ? fullPath + ext : fullPath);
225
- if ((0, node_fs_1.existsSync)(pathWithExt)) {
226
- logger.debug(`Relative import resolved via baseUrl: ${args.path} -> ${pathWithExt}`);
227
- return { path: normalizePath(pathWithExt) };
228
- }
229
- }
230
- }
231
- return;
232
- });
233
- },
234
- };
235
- }
236
- /**
237
- * Check if a rebuild is needed based on file modification times
238
- */
239
- isRebuildNeeded(outFile, sourceFile, tsconfigPath) {
240
- if (!(0, node_fs_1.existsSync)(outFile)) {
241
- return true;
242
- }
243
- try {
244
- const outStat = (0, node_fs_1.statSync)(outFile);
245
- const srcStat = (0, node_fs_1.statSync)(sourceFile);
246
- const tsconfigMtime = (0, node_fs_1.existsSync)(tsconfigPath)
247
- ? (0, node_fs_1.statSync)(tsconfigPath).mtimeMs
248
- : 0;
249
- const needRebuild = !(outStat.mtimeMs >= srcStat.mtimeMs && outStat.mtimeMs >= tsconfigMtime);
250
- if (!needRebuild && !this.quiet) {
251
- this.logger.debug(`Reusing cached build: ${outFile}`);
252
- }
253
- return needRebuild;
254
- }
255
- catch (error) {
256
- // Log the error to help diagnose cache issues
257
- if (!this.quiet) {
258
- this.logger.warn(`Failed to check cache freshness for ${outFile}: ${error instanceof Error ? error.message : String(error)}. Forcing rebuild.`);
259
- }
260
- return true;
261
- }
262
- }
263
143
  /**
264
144
  * Import a TypeScript file by compiling it on-demand
265
145
  * @param filePath - Path to the TypeScript file
@@ -290,32 +170,17 @@ let AgentLoader = class AgentLoader {
290
170
  // Check if we need to rebuild
291
171
  // Force rebuild if explicitly requested (e.g., initial state changed)
292
172
  const needRebuild = forceInvalidateCache ||
293
- this.isRebuildNeeded(outFile, normalizedFilePath, tsconfigPath);
173
+ (0, build_utils_1.isRebuildNeeded)(outFile, normalizedFilePath, tsconfigPath, this.logger, this.quiet);
294
174
  if (forceInvalidateCache && !this.quiet) {
295
175
  this.logger.log(`Forcing cache invalidation for ${normalizedFilePath}`);
296
176
  }
297
177
  const ALWAYS_EXTERNAL_SCOPES = ["@iqai/"];
298
178
  const alwaysExternal = ["@iqai/adk"];
299
- const plugin = {
300
- name: "externalize-bare-imports",
301
- setup(build) {
302
- build.onResolve({ filter: /.*/ }, (args) => {
303
- const isWindowsAbsolutePath = /^[a-zA-Z]:/.test(args.path);
304
- if (args.path.startsWith(".") ||
305
- args.path.startsWith("/") ||
306
- args.path.startsWith("..") ||
307
- isWindowsAbsolutePath) {
308
- return;
309
- }
310
- if (ALWAYS_EXTERNAL_SCOPES.some((s) => args.path.startsWith(s)) ||
311
- alwaysExternal.includes(args.path)) {
312
- return { path: args.path, external: true };
313
- }
314
- return { path: args.path, external: true };
315
- });
316
- },
317
- };
318
- const pathMappingPlugin = this.createPathMappingPlugin(projectRoot);
179
+ const plugin = (0, build_utils_1.createExternalizePlugin)(alwaysExternal, ALWAYS_EXTERNAL_SCOPES);
180
+ const pathMappingPlugin = (0, path_plugin_1.createPathMappingPlugin)(projectRoot, {
181
+ logger: this.logger,
182
+ quiet: this.quiet,
183
+ });
319
184
  const plugins = [pathMappingPlugin, plugin];
320
185
  if (needRebuild) {
321
186
  // Delete old cache file before rebuilding to avoid stale cache on build failure
@@ -333,7 +198,7 @@ let AgentLoader = class AgentLoader {
333
198
  }
334
199
  }
335
200
  await build({
336
- entryPoints: [this.normalizePath(normalizedFilePath)],
201
+ entryPoints: [(0, utils_1.normalizePathForEsbuild)(normalizedFilePath)],
337
202
  outfile: outFile,
338
203
  bundle: true,
339
204
  format: "cjs",
@@ -411,232 +276,10 @@ let AgentLoader = class AgentLoader {
411
276
  }
412
277
  }
413
278
  loadEnvironmentVariables(agentFilePath) {
414
- // Normalize the path first
415
- const normalizedAgentPath = (0, node_path_1.normalize)((0, node_path_1.resolve)(agentFilePath));
416
- const projectRoot = (0, find_project_root_1.findProjectRoot)((0, node_path_1.dirname)(normalizedAgentPath));
417
- // Check for multiple env files in priority order
418
- const envFiles = [
419
- ".env.local",
420
- ".env.development.local",
421
- ".env.production.local",
422
- ".env.development",
423
- ".env.production",
424
- ".env",
425
- ];
426
- for (const envFile of envFiles) {
427
- const envPath = (0, node_path_1.join)(projectRoot, envFile);
428
- if ((0, node_fs_1.existsSync)(envPath)) {
429
- try {
430
- const envContent = (0, node_fs_1.readFileSync)(envPath, "utf8");
431
- const envLines = envContent.split("\n");
432
- for (const line of envLines) {
433
- const trimmedLine = line.trim();
434
- if (trimmedLine && !trimmedLine.startsWith("#")) {
435
- const [key, ...valueParts] = trimmedLine.split("=");
436
- if (key && valueParts.length > 0) {
437
- const value = valueParts.join("=").replace(/^"(.*)"$/, "$1");
438
- // Set environment variables in current process (only if not already set)
439
- if (!process.env[key.trim()]) {
440
- process.env[key.trim()] = value.trim();
441
- }
442
- }
443
- }
444
- }
445
- }
446
- catch (error) {
447
- this.logger.warn(`Warning: Could not load ${envFile} file: ${error instanceof Error ? error.message : String(error)}`);
448
- }
449
- }
450
- }
451
- }
452
- /**
453
- * Type guard to check if object is likely a BaseAgent instance
454
- */
455
- isLikelyAgentInstance(obj) {
456
- return (obj != null &&
457
- typeof obj === "object" &&
458
- typeof obj.name === "string" &&
459
- typeof obj.runAsync === "function");
460
- }
461
- /**
462
- * Type guard to check if object is an AgentBuilder
463
- */
464
- isAgentBuilder(obj) {
465
- return (obj != null &&
466
- typeof obj === "object" &&
467
- typeof obj.build === "function" &&
468
- typeof obj.withModel === "function");
469
- }
470
- /**
471
- * Type guard to check if object is a BuiltAgent
472
- */
473
- isBuiltAgent(obj) {
474
- return (obj != null &&
475
- typeof obj === "object" &&
476
- "agent" in obj &&
477
- "runner" in obj &&
478
- "session" in obj);
479
- }
480
- /**
481
- * Type guard to check if value is a primitive type
482
- */
483
- isPrimitive(v) {
484
- return v == null || ["string", "number", "boolean"].includes(typeof v);
485
- }
486
- /**
487
- * Safely invoke a function, handling both sync and async results
488
- */
489
- async invokeFunctionSafely(fn) {
490
- let result = fn();
491
- if (result && typeof result === "object" && "then" in result) {
492
- try {
493
- result = await result;
494
- }
495
- catch (e) {
496
- throw new Error(`Failed to await function result: ${e instanceof Error ? e.message : String(e)}`);
497
- }
498
- }
499
- return result;
500
- }
501
- /**
502
- * Extract BaseAgent from different possible types
503
- * Returns both the agent and the full built context (if available)
504
- *
505
- * Note: `unknown` here is legitimate - we're dynamically inspecting module exports
506
- * from dynamically loaded code where the actual types are determined at runtime.
507
- */
508
- async extractBaseAgent(item) {
509
- if (this.isLikelyAgentInstance(item)) {
510
- return { agent: item };
511
- }
512
- if (this.isAgentBuilder(item)) {
513
- const built = await item.build();
514
- return { agent: built.agent, builtAgent: built };
515
- }
516
- if (this.isBuiltAgent(item)) {
517
- const builtItem = item;
518
- return {
519
- agent: builtItem.agent,
520
- builtAgent: builtItem,
521
- };
522
- }
523
- return null;
524
- }
525
- /**
526
- * Search through module exports to find potential agent exports
527
- */
528
- async scanModuleExports(mod) {
529
- for (const [key, value] of Object.entries(mod)) {
530
- if (key === "default")
531
- continue;
532
- const keyLower = key.toLowerCase();
533
- if (this.isPrimitive(value))
534
- continue;
535
- const result = await this.extractBaseAgent(value);
536
- if (result) {
537
- return result;
538
- }
539
- if (value && typeof value === "object" && "agent" in value) {
540
- const container = value;
541
- const containerResult = await this.extractBaseAgent(container.agent);
542
- if (containerResult) {
543
- return containerResult;
544
- }
545
- }
546
- if (typeof value === "function" &&
547
- (() => {
548
- if (/(agent|build|create)/i.test(keyLower))
549
- return true;
550
- const fnLike = value;
551
- const fnName = fnLike?.name;
552
- return !!(fnName && /(agent|build|create)/i.test(fnName.toLowerCase()));
553
- })()) {
554
- try {
555
- const functionResult = await this.invokeFunctionSafely(value);
556
- const result = await this.extractBaseAgent(functionResult);
557
- if (result) {
558
- return result;
559
- }
560
- if (functionResult &&
561
- typeof functionResult === "object" &&
562
- "agent" in functionResult) {
563
- const containerResult = await this.extractBaseAgent(functionResult.agent);
564
- if (containerResult) {
565
- return containerResult;
566
- }
567
- }
568
- }
569
- catch (_e) {
570
- // Swallow and continue searching
571
- }
572
- }
573
- }
574
- return null;
279
+ (0, env_1.loadEnvironmentVariables)(agentFilePath, this.logger);
575
280
  }
576
281
  async resolveAgentExport(mod) {
577
- const moduleDefault = mod.default && typeof mod.default === "object"
578
- ? mod.default
579
- : undefined;
580
- const candidateToResolve = mod.agent ?? moduleDefault?.agent ?? moduleDefault ?? mod;
581
- const directResult = await this.tryResolvingDirectCandidate(candidateToResolve, mod);
582
- if (directResult) {
583
- return directResult;
584
- }
585
- const exportResult = await this.scanModuleExports(mod);
586
- if (exportResult) {
587
- return exportResult;
588
- }
589
- if (typeof candidateToResolve === "function") {
590
- const functionResult = await this.tryResolvingFunctionCandidate(candidateToResolve);
591
- if (functionResult) {
592
- return functionResult;
593
- }
594
- }
595
- throw new Error("No agent export resolved (expected BaseAgent, AgentBuilder, or BuiltAgent)");
596
- }
597
- /**
598
- * Try to resolve a direct candidate (not from scanning exports)
599
- */
600
- async tryResolvingDirectCandidate(candidateToResolve, mod) {
601
- if (this.isPrimitive(candidateToResolve) ||
602
- (candidateToResolve && candidateToResolve === mod)) {
603
- return null;
604
- }
605
- const result = await this.extractBaseAgent(candidateToResolve);
606
- if (result) {
607
- return result;
608
- }
609
- if (candidateToResolve &&
610
- typeof candidateToResolve === "object" &&
611
- "agent" in candidateToResolve) {
612
- const container = candidateToResolve;
613
- return await this.extractBaseAgent(container.agent);
614
- }
615
- return null;
616
- }
617
- /**
618
- * Try to resolve a function candidate by invoking it
619
- */
620
- async tryResolvingFunctionCandidate(functionCandidate) {
621
- try {
622
- const functionResult = await this.invokeFunctionSafely(functionCandidate);
623
- const result = await this.extractBaseAgent(functionResult);
624
- if (result) {
625
- return result;
626
- }
627
- if (functionResult &&
628
- typeof functionResult === "object" &&
629
- "agent" in functionResult) {
630
- const containerResult = await this.extractBaseAgent(functionResult.agent);
631
- if (containerResult) {
632
- return containerResult;
633
- }
634
- }
635
- }
636
- catch (e) {
637
- throw new Error(`Failed executing exported agent function: ${e instanceof Error ? e.message : String(e)}`);
638
- }
639
- return null;
282
+ return (0, resolver_1.resolveAgentExport)(mod);
640
283
  }
641
284
  };
642
285
  exports.AgentLoader = AgentLoader;
@@ -1 +1 @@
1
- {"version":3,"file":"agent-loader.service.js","sourceRoot":"","sources":["../../../src/http/providers/agent-loader.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-loader.service.js","sourceRoot":"","sources":["../../../src/http/providers/agent-loader.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import type { BaseAgent, BuiltAgent, EnhancedRunner, InMemorySessionService, Session } from "@iqai/adk";
2
+ import type { Agent } from "../../../common/types";
3
+ import type { SessionState } from "../agent-loader.types";
4
+ export declare function hashState(state: SessionState | undefined): string;
5
+ export declare function getExistingSession(sessionService: InMemorySessionService, agentPath: string, sessionId: string, logger: {
6
+ log: (...args: any[]) => void;
7
+ warn: (...args: any[]) => void;
8
+ }): Promise<Session>;
9
+ export declare function getOrCreateSession(sessionService: InMemorySessionService, agentPath: string, agentResult: {
10
+ agent: BaseAgent;
11
+ builtAgent?: BuiltAgent;
12
+ }, extractInitialStateFn: (r: {
13
+ agent: BaseAgent;
14
+ builtAgent?: BuiltAgent;
15
+ }) => SessionState | undefined, logger: {
16
+ log: (...args: any[]) => void;
17
+ }): Promise<Session>;
18
+ export declare function createRunnerWithSession(sessionService: InMemorySessionService, baseAgent: BaseAgent, sessionToUse: Session, agentPath: string): Promise<EnhancedRunner>;
19
+ export declare function storeLoadedAgent(sessionService: InMemorySessionService, agentPath: string, agentResult: {
20
+ agent: BaseAgent;
21
+ builtAgent?: BuiltAgent;
22
+ }, runner: EnhancedRunner, sessionToUse: Session, agent: Agent, setLoaded: (path: string, payload: {
23
+ agent: BaseAgent;
24
+ runner: EnhancedRunner;
25
+ sessionId: string;
26
+ userId: string;
27
+ appName: string;
28
+ }) => void, logger: {
29
+ log: (...args: any[]) => void;
30
+ error: (...args: any[]) => void;
31
+ }, setBuilt?: (path: string, built: BuiltAgent) => void): Promise<void>;
32
+ export declare function clearAgentSessions(sessionService: InMemorySessionService, agentPath: string, logger: {
33
+ log: (...args: any[]) => void;
34
+ warn: (...args: any[]) => void;
35
+ }): Promise<void>;
36
+ //# sourceMappingURL=sessions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../../../src/http/providers/agent-manager/sessions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,SAAS,EACT,UAAU,EACV,cAAc,EACd,sBAAsB,EACtB,OAAO,EACP,MAAM,WAAW,CAAC;AAGnB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D,wBAAgB,SAAS,CAAC,KAAK,EAAE,YAAY,GAAG,SAAS,GAAG,MAAM,CAGjE;AAED,wBAAsB,kBAAkB,CACvC,cAAc,EAAE,sBAAsB,EACtC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE;IAAE,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAAC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;CAAE,GACvE,OAAO,CAAC,OAAO,CAAC,CAelB;AAED,wBAAsB,kBAAkB,CACvC,cAAc,EAAE,sBAAsB,EACtC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE;IAAE,KAAK,EAAE,SAAS,CAAC;IAAC,UAAU,CAAC,EAAE,UAAU,CAAA;CAAE,EAC1D,qBAAqB,EAAE,CAAC,CAAC,EAAE;IAC1B,KAAK,EAAE,SAAS,CAAC;IACjB,UAAU,CAAC,EAAE,UAAU,CAAC;CACxB,KAAK,YAAY,GAAG,SAAS,EAC9B,MAAM,EAAE;IAAE,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;CAAE,GACvC,OAAO,CAAC,OAAO,CAAC,CAoClB;AAED,wBAAsB,uBAAuB,CAC5C,cAAc,EAAE,sBAAsB,EACtC,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,OAAO,EACrB,SAAS,EAAE,MAAM,GACf,OAAO,CAAC,cAAc,CAAC,CAYzB;AAED,wBAAsB,gBAAgB,CACrC,cAAc,EAAE,sBAAsB,EACtC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE;IAAE,KAAK,EAAE,SAAS,CAAC;IAAC,UAAU,CAAC,EAAE,UAAU,CAAA;CAAE,EAC1D,MAAM,EAAE,cAAc,EACtB,YAAY,EAAE,OAAO,EACrB,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,CACV,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;IACR,KAAK,EAAE,SAAS,CAAC;IACjB,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CAChB,KACG,IAAI,EACT,MAAM,EAAE;IAAE,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAAC,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;CAAE,EAC1E,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,KAAK,IAAI,GAClD,OAAO,CAAC,IAAI,CAAC,CAsCf;AAED,wBAAsB,kBAAkB,CACvC,cAAc,EAAE,sBAAsB,EACtC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE;IAAE,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAAC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;CAAE,GACvE,OAAO,CAAC,IAAI,CAAC,CAoBf"}
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.hashState = hashState;
4
+ exports.getExistingSession = getExistingSession;
5
+ exports.getOrCreateSession = getOrCreateSession;
6
+ exports.createRunnerWithSession = createRunnerWithSession;
7
+ exports.storeLoadedAgent = storeLoadedAgent;
8
+ exports.clearAgentSessions = clearAgentSessions;
9
+ const node_crypto_1 = require("node:crypto");
10
+ const adk_1 = require("@iqai/adk");
11
+ const constants_1 = require("../../../common/constants");
12
+ function hashState(state) {
13
+ if (!state || Object.keys(state).length === 0)
14
+ return "empty";
15
+ return (0, node_crypto_1.createHash)("sha256").update(JSON.stringify(state)).digest("hex");
16
+ }
17
+ async function getExistingSession(sessionService, agentPath, sessionId, logger) {
18
+ const userId = `${constants_1.USER_ID_PREFIX}${agentPath}`;
19
+ const appName = constants_1.DEFAULT_APP_NAME;
20
+ try {
21
+ const session = await sessionService.getSession(appName, userId, sessionId);
22
+ if (session) {
23
+ logger.log(`Restored existing session: ${sessionId}`);
24
+ return session;
25
+ }
26
+ }
27
+ catch (error) {
28
+ logger.warn(`Failed to restore session ${sessionId}, creating new one: ${error instanceof Error ? error.message : String(error)}`);
29
+ }
30
+ return sessionService.createSession(appName, userId);
31
+ }
32
+ async function getOrCreateSession(sessionService, agentPath, agentResult, extractInitialStateFn, logger) {
33
+ const userId = `${constants_1.USER_ID_PREFIX}${agentPath}`;
34
+ const appName = constants_1.DEFAULT_APP_NAME;
35
+ const existingSessions = await sessionService.listSessions(appName, userId);
36
+ if (existingSessions.sessions.length > 0) {
37
+ const mostRecentSession = existingSessions.sessions.reduce((latest, current) => current.lastUpdateTime > latest.lastUpdateTime ? current : latest);
38
+ const hasState = mostRecentSession.state &&
39
+ Object.keys(mostRecentSession.state).length > 0;
40
+ if (!hasState) {
41
+ const initialState = extractInitialStateFn(agentResult);
42
+ if (initialState) {
43
+ logger.log(`Existing session has no state, initializing with agent's initial state: ${Object.keys(initialState)}`);
44
+ await sessionService.createSession(appName, userId, initialState, mostRecentSession.id);
45
+ mostRecentSession.state = initialState;
46
+ }
47
+ }
48
+ logger.log(`Reusing existing session: ${JSON.stringify({ sessionId: mostRecentSession.id })}`);
49
+ return mostRecentSession;
50
+ }
51
+ const initialState = extractInitialStateFn(agentResult);
52
+ return sessionService.createSession(appName, userId, initialState);
53
+ }
54
+ async function createRunnerWithSession(sessionService, baseAgent, sessionToUse, agentPath) {
55
+ const userId = `${constants_1.USER_ID_PREFIX}${agentPath}`;
56
+ const appName = constants_1.DEFAULT_APP_NAME;
57
+ const agentBuilder = adk_1.AgentBuilder.create(baseAgent.name).withAgent(baseAgent);
58
+ agentBuilder.withSessionService(sessionService, {
59
+ userId,
60
+ appName,
61
+ sessionId: sessionToUse.id,
62
+ state: sessionToUse.state,
63
+ });
64
+ const { runner } = await agentBuilder.build();
65
+ return runner;
66
+ }
67
+ async function storeLoadedAgent(sessionService, agentPath, agentResult, runner, sessionToUse, agent, setLoaded, logger, setBuilt) {
68
+ const userId = `${constants_1.USER_ID_PREFIX}${agentPath}`;
69
+ const appName = constants_1.DEFAULT_APP_NAME;
70
+ setLoaded(agentPath, {
71
+ agent: agentResult.agent,
72
+ runner,
73
+ sessionId: sessionToUse.id,
74
+ userId,
75
+ appName,
76
+ });
77
+ agent.instance = agentResult.agent;
78
+ agent.name = agentResult.agent.name;
79
+ if (agentResult.builtAgent && setBuilt)
80
+ setBuilt(agentPath, agentResult.builtAgent);
81
+ try {
82
+ const existingSession = await sessionService.getSession(appName, userId, sessionToUse.id);
83
+ if (!existingSession) {
84
+ logger.log(`Creating session in sessionService: ${sessionToUse.id}`);
85
+ await sessionService.createSession(appName, userId, sessionToUse.state, sessionToUse.id);
86
+ }
87
+ else {
88
+ logger.log(`Session already exists in sessionService: ${sessionToUse.id}`);
89
+ }
90
+ }
91
+ catch (error) {
92
+ logger.error("Error ensuring session exists:", error);
93
+ }
94
+ }
95
+ async function clearAgentSessions(sessionService, agentPath, logger) {
96
+ try {
97
+ const userId = `${constants_1.USER_ID_PREFIX}${agentPath}`;
98
+ const appName = constants_1.DEFAULT_APP_NAME;
99
+ const sessions = await sessionService.listSessions(appName, userId);
100
+ for (const session of sessions.sessions) {
101
+ try {
102
+ await sessionService.deleteSession(appName, userId, session.id);
103
+ logger.log(`Cleared session ${session.id} for agent ${agentPath}`);
104
+ }
105
+ catch (error) {
106
+ logger.warn(`Failed to clear session ${session.id}: ${error instanceof Error ? error.message : String(error)}`);
107
+ }
108
+ }
109
+ }
110
+ catch (error) {
111
+ logger.warn(`Failed to list sessions for clearing: ${error instanceof Error ? error.message : String(error)}`);
112
+ }
113
+ }
114
+ //# sourceMappingURL=sessions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../../../src/http/providers/agent-manager/sessions.ts"],"names":[],"mappings":";;AAaA,8BAGC;AAED,gDAoBC;AAED,gDA6CC;AAED,0DAiBC;AAED,4CAyDC;AAED,gDAwBC;AA7LD,6CAAyC;AAQzC,mCAAyC;AACzC,yDAA6E;AAI7E,SAAgB,SAAS,CAAC,KAA+B;IACxD,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC;IAC9D,OAAO,IAAA,wBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACzE,CAAC;AAEM,KAAK,UAAU,kBAAkB,CACvC,cAAsC,EACtC,SAAiB,EACjB,SAAiB,EACjB,MAAyE;IAEzE,MAAM,MAAM,GAAG,GAAG,0BAAc,GAAG,SAAS,EAAE,CAAC;IAC/C,MAAM,OAAO,GAAG,4BAAgB,CAAC;IACjC,IAAI,CAAC;QACJ,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;QAC5E,IAAI,OAAO,EAAE,CAAC;YACb,MAAM,CAAC,GAAG,CAAC,8BAA8B,SAAS,EAAE,CAAC,CAAC;YACtD,OAAO,OAAO,CAAC;QAChB,CAAC;IACF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,CAAC,IAAI,CACV,6BAA6B,SAAS,uBAAuB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACrH,CAAC;IACH,CAAC;IACD,OAAO,cAAc,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AACtD,CAAC;AAEM,KAAK,UAAU,kBAAkB,CACvC,cAAsC,EACtC,SAAiB,EACjB,WAA0D,EAC1D,qBAG8B,EAC9B,MAAyC;IAEzC,MAAM,MAAM,GAAG,GAAG,0BAAc,GAAG,SAAS,EAAE,CAAC;IAC/C,MAAM,OAAO,GAAG,4BAAgB,CAAC;IAEjC,MAAM,gBAAgB,GAAG,MAAM,cAAc,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC5E,IAAI,gBAAgB,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1C,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CACzD,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CACnB,OAAO,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAClE,CAAC;QACF,MAAM,QAAQ,GACb,iBAAiB,CAAC,KAAK;YACvB,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QACjD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC;YACxD,IAAI,YAAY,EAAE,CAAC;gBAClB,MAAM,CAAC,GAAG,CACT,2EAA2E,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CACtG,CAAC;gBACF,MAAM,cAAc,CAAC,aAAa,CACjC,OAAO,EACP,MAAM,EACN,YAAY,EACZ,iBAAiB,CAAC,EAAE,CACpB,CAAC;gBACF,iBAAiB,CAAC,KAAK,GAAG,YAAY,CAAC;YACxC,CAAC;QACF,CAAC;QACD,MAAM,CAAC,GAAG,CACT,6BAA6B,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,iBAAiB,CAAC,EAAE,EAAE,CAAC,EAAE,CAClF,CAAC;QACF,OAAO,iBAAiB,CAAC;IAC1B,CAAC;IAED,MAAM,YAAY,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC;IACxD,OAAO,cAAc,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;AACpE,CAAC;AAEM,KAAK,UAAU,uBAAuB,CAC5C,cAAsC,EACtC,SAAoB,EACpB,YAAqB,EACrB,SAAiB;IAEjB,MAAM,MAAM,GAAG,GAAG,0BAAc,GAAG,SAAS,EAAE,CAAC;IAC/C,MAAM,OAAO,GAAG,4BAAgB,CAAC;IACjC,MAAM,YAAY,GAAG,kBAAY,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAC9E,YAAY,CAAC,kBAAkB,CAAC,cAAc,EAAE;QAC/C,MAAM;QACN,OAAO;QACP,SAAS,EAAE,YAAY,CAAC,EAAE;QAC1B,KAAK,EAAE,YAAY,CAAC,KAAK;KACzB,CAAC,CAAC;IACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,YAAY,CAAC,KAAK,EAAE,CAAC;IAC9C,OAAO,MAAM,CAAC;AACf,CAAC;AAEM,KAAK,UAAU,gBAAgB,CACrC,cAAsC,EACtC,SAAiB,EACjB,WAA0D,EAC1D,MAAsB,EACtB,YAAqB,EACrB,KAAY,EACZ,SASS,EACT,MAA0E,EAC1E,QAAoD;IAEpD,MAAM,MAAM,GAAG,GAAG,0BAAc,GAAG,SAAS,EAAE,CAAC;IAC/C,MAAM,OAAO,GAAG,4BAAgB,CAAC;IAEjC,SAAS,CAAC,SAAS,EAAE;QACpB,KAAK,EAAE,WAAW,CAAC,KAAK;QACxB,MAAM;QACN,SAAS,EAAE,YAAY,CAAC,EAAE;QAC1B,MAAM;QACN,OAAO;KACP,CAAC,CAAC;IACH,KAAK,CAAC,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC;IACnC,KAAK,CAAC,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC;IACpC,IAAI,WAAW,CAAC,UAAU,IAAI,QAAQ;QACrC,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;IAE7C,IAAI,CAAC;QACJ,MAAM,eAAe,GAAG,MAAM,cAAc,CAAC,UAAU,CACtD,OAAO,EACP,MAAM,EACN,YAAY,CAAC,EAAE,CACf,CAAC;QACF,IAAI,CAAC,eAAe,EAAE,CAAC;YACtB,MAAM,CAAC,GAAG,CAAC,uCAAuC,YAAY,CAAC,EAAE,EAAE,CAAC,CAAC;YACrE,MAAM,cAAc,CAAC,aAAa,CACjC,OAAO,EACP,MAAM,EACN,YAAY,CAAC,KAAK,EAClB,YAAY,CAAC,EAAE,CACf,CAAC;QACH,CAAC;aAAM,CAAC;YACP,MAAM,CAAC,GAAG,CACT,6CAA6C,YAAY,CAAC,EAAE,EAAE,CAC9D,CAAC;QACH,CAAC;IACF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;IACvD,CAAC;AACF,CAAC;AAEM,KAAK,UAAU,kBAAkB,CACvC,cAAsC,EACtC,SAAiB,EACjB,MAAyE;IAEzE,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,GAAG,0BAAc,GAAG,SAAS,EAAE,CAAC;QAC/C,MAAM,OAAO,GAAG,4BAAgB,CAAC;QACjC,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACpE,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACzC,IAAI,CAAC;gBACJ,MAAM,cAAc,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;gBAChE,MAAM,CAAC,GAAG,CAAC,mBAAmB,OAAO,CAAC,EAAE,cAAc,SAAS,EAAE,CAAC,CAAC;YACpE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,MAAM,CAAC,IAAI,CACV,2BAA2B,OAAO,CAAC,EAAE,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAClG,CAAC;YACH,CAAC;QACF,CAAC;IACF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,CAAC,IAAI,CACV,yCAAyC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACjG,CAAC;IACH,CAAC;AACF,CAAC"}