@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
@@ -0,0 +1,8 @@
1
+ import type { BaseAgent, BuiltAgent } from "@iqai/adk";
2
+ import type { Logger } from "@nestjs/common";
3
+ import type { SessionState } from "../agent-loader.types";
4
+ export declare function extractInitialState(agentResult: {
5
+ agent: BaseAgent;
6
+ builtAgent?: BuiltAgent;
7
+ }, logger?: Logger): SessionState | undefined;
8
+ //# sourceMappingURL=state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../../src/http/providers/agent-manager/state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAoB,MAAM,uBAAuB,CAAC;AAyE5E,wBAAgB,mBAAmB,CAClC,WAAW,EAAE;IAAE,KAAK,EAAE,SAAS,CAAC;IAAC,UAAU,CAAC,EAAE,UAAU,CAAA;CAAE,EAC1D,MAAM,CAAC,EAAE,MAAM,GACb,YAAY,GAAG,SAAS,CAa1B"}
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.extractInitialState = extractInitialState;
4
+ function hasSessionService(agent) {
5
+ return (typeof agent === "object" && agent !== null && "sessionService" in agent);
6
+ }
7
+ function extractNonEmptyState(state) {
8
+ if (state == null)
9
+ return undefined;
10
+ if (state instanceof Map) {
11
+ if (state.size > 0)
12
+ return Object.fromEntries(state);
13
+ return undefined;
14
+ }
15
+ if (typeof state === "object" && Object.keys(state).length > 0) {
16
+ return state;
17
+ }
18
+ return undefined;
19
+ }
20
+ function getInitialStateFromSessionService(agent) {
21
+ const sessions = agent?.sessionService?.sessions;
22
+ if (!sessions)
23
+ return undefined;
24
+ for (const [, userSessions] of sessions) {
25
+ for (const [, session] of userSessions) {
26
+ for (const [, innerSession] of session) {
27
+ const extractedState = extractNonEmptyState(innerSession?.state);
28
+ if (extractedState)
29
+ return extractedState;
30
+ }
31
+ }
32
+ }
33
+ return undefined;
34
+ }
35
+ function extractBuiltAgentState(builtAgent) {
36
+ if (!builtAgent?.session)
37
+ return undefined;
38
+ const state = builtAgent.session.state;
39
+ if (state && Object.keys(state).length > 0)
40
+ return state;
41
+ return undefined;
42
+ }
43
+ function extractSubAgentState(agent, logger) {
44
+ const subAgents = agent.subAgents;
45
+ if (!Array.isArray(subAgents))
46
+ return undefined;
47
+ for (const subAgent of subAgents) {
48
+ if (hasSessionService(subAgent)) {
49
+ const subState = getInitialStateFromSessionService(subAgent);
50
+ if (subState) {
51
+ logger?.log(`✅ Extracted state from sub-agent: ${Object.keys(subState)}`);
52
+ return subState;
53
+ }
54
+ }
55
+ }
56
+ return undefined;
57
+ }
58
+ function extractInitialState(agentResult, logger) {
59
+ const builtAgentState = extractBuiltAgentState(agentResult.builtAgent);
60
+ if (builtAgentState)
61
+ return builtAgentState;
62
+ if (hasSessionService(agentResult.agent)) {
63
+ const agentState = getInitialStateFromSessionService(agentResult.agent);
64
+ if (agentState)
65
+ return agentState;
66
+ }
67
+ const subAgentState = extractSubAgentState(agentResult.agent, logger);
68
+ if (subAgentState)
69
+ return subAgentState;
70
+ return undefined;
71
+ }
72
+ //# sourceMappingURL=state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../src/http/providers/agent-manager/state.ts"],"names":[],"mappings":"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"}
@@ -23,13 +23,6 @@ export declare class AgentManager {
23
23
  startAgent(agentPath: string, preservedSessionId?: string, forceFullReload?: boolean): Promise<void>;
24
24
  private validateAndGetAgent;
25
25
  private loadAgentModule;
26
- /**
27
- * Get an existing session by ID, falling back to creating a new one if not found
28
- */
29
- private getExistingSession;
30
- private getOrCreateSession;
31
- private createRunnerWithSession;
32
- private storeLoadedAgent;
33
26
  stopAgent(agentPath: string): Promise<void>;
34
27
  sendMessageToAgent(agentPath: string, message: string, attachments?: Array<{
35
28
  name: string;
@@ -42,52 +35,9 @@ export declare class AgentManager {
42
35
  */
43
36
  getInitialStateForAgent(agentPath: string): SessionState | undefined;
44
37
  /**
45
- * Extract initial state from an agent result by checking built agent, sessionService, and sub-agents.
46
- * Tries extraction in this order:
47
- * 1. From builtAgent.session (if available)
48
- * 2. From agent.sessionService (if present)
49
- * 3. From subAgents' sessionServices (if any)
50
- *
51
- * @param agentResult - The agent result containing agent and optional builtAgent
52
- * @returns The initial session state if found, undefined otherwise
38
+ * Extract initial state from an agent result
53
39
  */
54
40
  private extractInitialState;
55
- /**
56
- * Extract state from a built agent's session if available.
57
- *
58
- * @param builtAgent - The built agent instance (optional)
59
- * @returns The state from builtAgent.session if found and non-empty, undefined otherwise
60
- */
61
- private extractBuiltAgentState;
62
- /**
63
- * Extract state from sub-agents' session services.
64
- * Checks each sub-agent for a session service and returns the first non-empty state found.
65
- *
66
- * @param agent - The agent that may have sub-agents
67
- * @returns The state from the first sub-agent with a non-empty state, undefined otherwise
68
- */
69
- private extractSubAgentState;
70
- /**
71
- * Extract the first non-empty state from a potentially-Map state value.
72
- * Handles both plain objects (SessionState) and Map instances.
73
- *
74
- * @param state - The state value, which could be SessionState, Map, or undefined
75
- * @returns The extracted SessionState if non-empty, undefined otherwise
76
- */
77
- private extractNonEmptyState;
78
- /**
79
- * Extract state from an agent's sessionService by traversing its nested maps.
80
- *
81
- * The sessionService maintains a nested structure:
82
- * - Map<appName, Map<userId, Map<sessionId, SessionWithState>>>
83
- *
84
- * This method iterates through all sessions and returns the first non-empty state found.
85
- * States can be either plain objects (SessionState) or Maps (which are converted to objects).
86
- *
87
- * @param agent - The agent with optional sessionService property
88
- * @returns The first non-empty session state found, or undefined if none exists
89
- */
90
- private getInitialStateFromSessionService;
91
41
  /**
92
42
  * Get session info for all loaded agents before stopping
93
43
  * Used for preserving sessions during hot reload
@@ -103,9 +53,5 @@ export declare class AgentManager {
103
53
  * Hash the initial state to detect changes
104
54
  */
105
55
  private hashState;
106
- /**
107
- * Clear all sessions for an agent (used when initial state changes)
108
- */
109
- private clearAgentSessions;
110
56
  }
111
57
  //# sourceMappingURL=agent-manager.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-manager.service.d.ts","sourceRoot":"","sources":["../../../src/http/providers/agent-manager.service.ts"],"names":[],"mappings":"AAMA,OAAO,EAGN,sBAAsB,EAEtB,MAAM,WAAW,CAAC;AAGnB,OAAO,KAAK,EAAE,KAAK,EAAe,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAE1E,OAAO,KAAK,EAEX,YAAY,EAEZ,MAAM,sBAAsB,CAAC;AAiB9B,qBACa,YAAY;IAUvB,OAAO,CAAC,cAAc;IATvB,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,YAAY,CAAkC;IACtD,OAAO,CAAC,WAAW,CAAiC;IACpD,OAAO,CAAC,kBAAkB,CAA6B;IACvD,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,MAAM,CAAS;gBAGd,cAAc,EAAE,sBAAsB,EAC9C,KAAK,UAAQ;IAOd,SAAS,IAAI,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC;IAI/B,eAAe,IAAI,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC;IAI3C,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAMnC;;;;;OAKG;IACG,UAAU,CACf,SAAS,EAAE,MAAM,EACjB,kBAAkB,CAAC,EAAE,MAAM,EAC3B,eAAe,CAAC,EAAE,OAAO,GACvB,OAAO,CAAC,IAAI,CAAC;IAqEhB,OAAO,CAAC,mBAAmB;YAab,eAAe;IA+C7B;;OAEG;YACW,kBAAkB;YA+BlB,kBAAkB;YAsFlB,uBAAuB;YAwBvB,gBAAgB;IAwDxB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAU3C,kBAAkB,CACvB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,GACnE,OAAO,CAAC,MAAM,CAAC;IA2ClB;;;OAGG;IACH,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAiBpE;;;;;;;;;OASG;IACH,OAAO,CAAC,mBAAmB;IA2B3B;;;;;OAKG;IACH,OAAO,CAAC,sBAAsB;IAe9B;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;IAwB5B;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;IAmB5B;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,iCAAiC;IAyBzC;;;OAGG;IACH,sBAAsB,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAQ7C;;;OAGG;IACG,sBAAsB,IAAI,OAAO,CAAC,OAAO,CAAC;IAuChD,aAAa,IAAI,IAAI;IAOrB;;OAEG;IACH,OAAO,CAAC,SAAS;IASjB;;OAEG;YACW,kBAAkB;CA+BhC"}
1
+ {"version":3,"file":"agent-manager.service.d.ts","sourceRoot":"","sources":["../../../src/http/providers/agent-manager.service.ts"],"names":[],"mappings":"AAKA,OAAO,EAAe,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAEhE,OAAO,KAAK,EAAE,KAAK,EAAe,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAE1E,OAAO,KAAK,EAAgB,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAYvE,qBACa,YAAY;IAUvB,OAAO,CAAC,cAAc;IATvB,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,YAAY,CAAkC;IACtD,OAAO,CAAC,WAAW,CAAiC;IACpD,OAAO,CAAC,kBAAkB,CAA6B;IACvD,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,MAAM,CAAS;gBAGd,cAAc,EAAE,sBAAsB,EAC9C,KAAK,UAAQ;IAOd,SAAS,IAAI,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC;IAI/B,eAAe,IAAI,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC;IAI3C,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAMnC;;;;;OAKG;IACG,UAAU,CACf,SAAS,EAAE,MAAM,EACjB,kBAAkB,CAAC,EAAE,MAAM,EAC3B,eAAe,CAAC,EAAE,OAAO,GACvB,OAAO,CAAC,IAAI,CAAC;IAyFhB,OAAO,CAAC,mBAAmB;YAab,eAAe;IA+CvB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAU3C,kBAAkB,CACvB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,GACnE,OAAO,CAAC,MAAM,CAAC;IA2ClB;;;OAGG;IACH,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAiBpE;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAO3B;;;OAGG;IACH,sBAAsB,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAQ7C;;;OAGG;IACG,sBAAsB,IAAI,OAAO,CAAC,OAAO,CAAC;IAuChD,aAAa,IAAI,IAAI;IAOrB;;OAEG;IACH,OAAO,CAAC,SAAS;CAGjB"}
@@ -43,15 +43,15 @@ var __metadata = (this && this.__metadata) || function (k, v) {
43
43
  };
44
44
  Object.defineProperty(exports, "__esModule", { value: true });
45
45
  exports.AgentManager = void 0;
46
- const node_crypto_1 = require("node:crypto");
47
46
  const node_fs_1 = require("node:fs");
48
47
  const node_path_1 = require("node:path");
49
48
  const node_url_1 = require("node:url");
50
49
  const node_util_1 = require("node:util");
51
50
  const adk_1 = require("@iqai/adk");
52
51
  const common_1 = require("@nestjs/common");
53
- const constants_1 = require("../../common/constants");
54
52
  const agent_loader_service_1 = require("./agent-loader.service");
53
+ const sessions_1 = require("./agent-manager/sessions");
54
+ const state_1 = require("./agent-manager/state");
55
55
  const agent_scanner_service_1 = require("./agent-scanner.service");
56
56
  let AgentManager = class AgentManager {
57
57
  sessionService;
@@ -95,23 +95,23 @@ let AgentManager = class AgentManager {
95
95
  const agentResult = await this.loadAgentModule(agent, forceFullReload);
96
96
  // Check if initial state has changed
97
97
  const initialState = this.extractInitialState(agentResult);
98
- const stateHash = this.hashState(initialState);
98
+ const stateHash = (0, sessions_1.hashState)(initialState);
99
99
  const previousStateHash = this.initialStateHashes.get(agentPath);
100
100
  const stateChanged = previousStateHash && previousStateHash !== stateHash;
101
101
  let sessionIdToUse = preservedSessionId;
102
102
  if (stateChanged) {
103
103
  this.logger.log((0, node_util_1.format)("Initial state changed for %s - forcing full reload (old: %s, new: %s)", agentPath, previousStateHash, stateHash));
104
104
  // Clear existing sessions when initial state changes
105
- await this.clearAgentSessions(agentPath);
105
+ await (0, sessions_1.clearAgentSessions)(this.sessionService, agentPath, this.logger);
106
106
  sessionIdToUse = undefined; // Don't preserve session if state changed
107
107
  }
108
108
  // Store the new state hash
109
109
  this.initialStateHashes.set(agentPath, stateHash);
110
110
  const sessionToUse = sessionIdToUse && !stateChanged
111
- ? await this.getExistingSession(agentPath, sessionIdToUse)
112
- : await this.getOrCreateSession(agentPath, agentResult);
113
- const runner = await this.createRunnerWithSession(agentResult.agent, sessionToUse, agentPath);
114
- await this.storeLoadedAgent(agentPath, agentResult, runner, sessionToUse, agent);
111
+ ? await (0, sessions_1.getExistingSession)(this.sessionService, agentPath, sessionIdToUse, this.logger)
112
+ : await (0, sessions_1.getOrCreateSession)(this.sessionService, agentPath, agentResult, (r) => (0, state_1.extractInitialState)(r, this.logger), this.logger);
113
+ const runner = await (0, sessions_1.createRunnerWithSession)(this.sessionService, agentResult.agent, sessionToUse, agentPath);
114
+ await (0, sessions_1.storeLoadedAgent)(this.sessionService, agentPath, agentResult, runner, sessionToUse, agent, (path, payload) => this.loadedAgents.set(path, payload), this.logger, (path, built) => this.builtAgents.set(path, built));
115
115
  }
116
116
  catch (error) {
117
117
  const agentName = agent?.name ?? agentPath;
@@ -155,119 +155,6 @@ let AgentManager = class AgentManager {
155
155
  // Return the full result (agent + builtAgent if available)
156
156
  return agentResult;
157
157
  }
158
- /**
159
- * Get an existing session by ID, falling back to creating a new one if not found
160
- */
161
- async getExistingSession(agentPath, sessionId) {
162
- const userId = `${constants_1.USER_ID_PREFIX}${agentPath}`;
163
- const appName = constants_1.DEFAULT_APP_NAME;
164
- try {
165
- const session = await this.sessionService.getSession(appName, userId, sessionId);
166
- if (session) {
167
- this.logger.log((0, node_util_1.format)("Restored existing session: %s", sessionId));
168
- return session;
169
- }
170
- }
171
- catch (error) {
172
- this.logger.warn((0, node_util_1.format)("Failed to restore session %s, creating new one: %s", sessionId, error instanceof Error ? error.message : String(error)));
173
- }
174
- // Fall back to creating a new session if restoration fails
175
- return this.sessionService.createSession(appName, userId);
176
- }
177
- async getOrCreateSession(agentPath, agentResult) {
178
- const userId = `${constants_1.USER_ID_PREFIX}${agentPath}`;
179
- const appName = constants_1.DEFAULT_APP_NAME;
180
- // Try to find existing sessions for this agent/user combination
181
- const existingSessions = await this.sessionService.listSessions(appName, userId);
182
- if (existingSessions.sessions.length > 0) {
183
- // Use the most recently updated session
184
- const mostRecentSession = existingSessions.sessions.reduce((latest, current) => current.lastUpdateTime > latest.lastUpdateTime ? current : latest);
185
- // Check if session has state, if not, initialize it with initial state
186
- const hasState = mostRecentSession.state &&
187
- Object.keys(mostRecentSession.state).length > 0;
188
- if (!hasState) {
189
- const initialState = this.extractInitialState(agentResult);
190
- if (initialState) {
191
- this.logger.log((0, node_util_1.format)("Existing session has no state, initializing with agent's initial state: %o", Object.keys(initialState)));
192
- // Update the existing session with initial state
193
- await this.sessionService.createSession(appName, userId, initialState, mostRecentSession.id);
194
- // Update the session object
195
- mostRecentSession.state = initialState;
196
- }
197
- }
198
- // Session exists and will be reused with its current state
199
- this.logger.log((0, node_util_1.format)("Reusing existing session: %o", {
200
- sessionId: mostRecentSession.id,
201
- hasState: !!mostRecentSession.state,
202
- stateKeys: mostRecentSession.state
203
- ? Object.keys(mostRecentSession.state)
204
- : [],
205
- lastUpdateTime: mostRecentSession.lastUpdateTime,
206
- totalExistingSessions: existingSessions.sessions.length,
207
- }));
208
- return mostRecentSession;
209
- }
210
- // No existing sessions found, create a new one
211
- this.logger.log("No existing sessions found, creating new session");
212
- // Extract initial state from the agent if it has any
213
- const initialState = this.extractInitialState(agentResult);
214
- // Create a fresh session directly in the CLI's session service with initial state
215
- const session = await this.sessionService.createSession(appName, userId, initialState);
216
- this.logger.log((0, node_util_1.format)("New session created: %o", {
217
- sessionId: session.id,
218
- hasState: !!session.state,
219
- stateKeys: session.state ? Object.keys(session.state) : [],
220
- stateContent: session.state,
221
- }));
222
- return session;
223
- }
224
- async createRunnerWithSession(baseAgent, sessionToUse, agentPath) {
225
- const userId = `${constants_1.USER_ID_PREFIX}${agentPath}`;
226
- const appName = constants_1.DEFAULT_APP_NAME;
227
- // Always create a fresh runner with the selected session
228
- const agentBuilder = adk_1.AgentBuilder.create(baseAgent.name).withAgent(baseAgent);
229
- agentBuilder.withSessionService(this.sessionService, {
230
- userId,
231
- appName,
232
- sessionId: sessionToUse.id, // Use the selected session ID
233
- state: sessionToUse.state,
234
- });
235
- const { runner } = await agentBuilder.build();
236
- return runner;
237
- }
238
- async storeLoadedAgent(agentPath, agentResult, runner, sessionToUse, agent) {
239
- const userId = `${constants_1.USER_ID_PREFIX}${agentPath}`;
240
- const appName = constants_1.DEFAULT_APP_NAME;
241
- // Store the loaded agent with its runner and the selected session
242
- const loadedAgent = {
243
- agent: agentResult.agent,
244
- runner: runner,
245
- sessionId: sessionToUse.id,
246
- userId,
247
- appName,
248
- };
249
- this.loadedAgents.set(agentPath, loadedAgent);
250
- agent.instance = agentResult.agent;
251
- agent.name = agentResult.agent.name;
252
- // Store the builtAgent in a separate map for state extraction
253
- if (agentResult.builtAgent) {
254
- this.builtAgents.set(agentPath, agentResult.builtAgent);
255
- }
256
- // Ensure the session is stored in the session service
257
- try {
258
- const existingSession = await this.sessionService.getSession(loadedAgent.appName, loadedAgent.userId, sessionToUse.id);
259
- if (!existingSession) {
260
- this.logger.log((0, node_util_1.format)("Creating session in sessionService: %s", sessionToUse.id));
261
- await this.sessionService.createSession(loadedAgent.appName, loadedAgent.userId, sessionToUse.state, sessionToUse.id);
262
- }
263
- else {
264
- this.logger.log((0, node_util_1.format)("Session already exists in sessionService: %s", sessionToUse.id));
265
- }
266
- }
267
- catch (error) {
268
- this.logger.error("Error ensuring session exists: %o", error);
269
- }
270
- }
271
158
  async stopAgent(agentPath) {
272
159
  // Deprecated: explicit stop not needed; keep method no-op for backward compatibility
273
160
  this.loadedAgents.delete(agentPath);
@@ -335,119 +222,10 @@ let AgentManager = class AgentManager {
335
222
  return this.extractInitialState(agentResult);
336
223
  }
337
224
  /**
338
- * Extract initial state from an agent result by checking built agent, sessionService, and sub-agents.
339
- * Tries extraction in this order:
340
- * 1. From builtAgent.session (if available)
341
- * 2. From agent.sessionService (if present)
342
- * 3. From subAgents' sessionServices (if any)
343
- *
344
- * @param agentResult - The agent result containing agent and optional builtAgent
345
- * @returns The initial session state if found, undefined otherwise
225
+ * Extract initial state from an agent result
346
226
  */
347
227
  extractInitialState(agentResult) {
348
- // Try to extract from built agent's session first
349
- const builtAgentState = this.extractBuiltAgentState(agentResult.builtAgent);
350
- if (builtAgentState) {
351
- return builtAgentState;
352
- }
353
- // Try to extract from agent's session service
354
- const agentState = this.getInitialStateFromSessionService(agentResult.agent);
355
- if (agentState) {
356
- return agentState;
357
- }
358
- // Try to extract from sub-agents' session services
359
- const subAgentState = this.extractSubAgentState(agentResult.agent);
360
- if (subAgentState) {
361
- return subAgentState;
362
- }
363
- return undefined;
364
- }
365
- /**
366
- * Extract state from a built agent's session if available.
367
- *
368
- * @param builtAgent - The built agent instance (optional)
369
- * @returns The state from builtAgent.session if found and non-empty, undefined otherwise
370
- */
371
- extractBuiltAgentState(builtAgent) {
372
- if (!builtAgent?.session) {
373
- return undefined;
374
- }
375
- const state = builtAgent.session.state;
376
- if (state && Object.keys(state).length > 0) {
377
- return state;
378
- }
379
- return undefined;
380
- }
381
- /**
382
- * Extract state from sub-agents' session services.
383
- * Checks each sub-agent for a session service and returns the first non-empty state found.
384
- *
385
- * @param agent - The agent that may have sub-agents
386
- * @returns The state from the first sub-agent with a non-empty state, undefined otherwise
387
- */
388
- extractSubAgentState(agent) {
389
- const subAgents = agent.subAgents;
390
- if (!Array.isArray(subAgents)) {
391
- return undefined;
392
- }
393
- for (const subAgent of subAgents) {
394
- const subState = this.getInitialStateFromSessionService(subAgent);
395
- if (subState) {
396
- this.logger.log((0, node_util_1.format)("✅ Extracted state from sub-agent: %o", Object.keys(subState)));
397
- return subState;
398
- }
399
- }
400
- return undefined;
401
- }
402
- /**
403
- * Extract the first non-empty state from a potentially-Map state value.
404
- * Handles both plain objects (SessionState) and Map instances.
405
- *
406
- * @param state - The state value, which could be SessionState, Map, or undefined
407
- * @returns The extracted SessionState if non-empty, undefined otherwise
408
- */
409
- extractNonEmptyState(state) {
410
- if (state == null)
411
- return undefined;
412
- if (state instanceof Map) {
413
- if (state.size > 0) {
414
- return Object.fromEntries(state);
415
- }
416
- return undefined;
417
- }
418
- if (typeof state === "object" && Object.keys(state).length > 0) {
419
- return state;
420
- }
421
- return undefined;
422
- }
423
- /**
424
- * Extract state from an agent's sessionService by traversing its nested maps.
425
- *
426
- * The sessionService maintains a nested structure:
427
- * - Map<appName, Map<userId, Map<sessionId, SessionWithState>>>
428
- *
429
- * This method iterates through all sessions and returns the first non-empty state found.
430
- * States can be either plain objects (SessionState) or Maps (which are converted to objects).
431
- *
432
- * @param agent - The agent with optional sessionService property
433
- * @returns The first non-empty session state found, or undefined if none exists
434
- */
435
- getInitialStateFromSessionService(agent) {
436
- const sessions = agent?.sessionService?.sessions;
437
- if (!sessions)
438
- return undefined;
439
- // sessions is a Map<appName, Map<userId, Map<sessionId, SessionWithState>>>
440
- for (const [, userSessions] of sessions) {
441
- for (const [, session] of userSessions) {
442
- for (const [, innerSession] of session) {
443
- const extractedState = this.extractNonEmptyState(innerSession?.state);
444
- if (extractedState) {
445
- return extractedState;
446
- }
447
- }
448
- }
449
- }
450
- return undefined;
228
+ return (0, state_1.extractInitialState)(agentResult, this.logger);
451
229
  }
452
230
  /**
453
231
  * Get session info for all loaded agents before stopping
@@ -473,7 +251,7 @@ let AgentManager = class AgentManager {
473
251
  // Temporarily load the agent to check its state
474
252
  const agentResult = await this.loadAgentModule(agent, false);
475
253
  const initialState = this.extractInitialState(agentResult);
476
- const stateHash = this.hashState(initialState);
254
+ const stateHash = (0, sessions_1.hashState)(initialState);
477
255
  const previousStateHash = this.initialStateHashes.get(agentPath);
478
256
  if (previousStateHash && previousStateHash !== stateHash) {
479
257
  this.logger.log((0, node_util_1.format)("Detected initial state change for %s (old: %s, new: %s)", agentPath, previousStateHash, stateHash));
@@ -498,34 +276,7 @@ let AgentManager = class AgentManager {
498
276
  * Hash the initial state to detect changes
499
277
  */
500
278
  hashState(state) {
501
- if (!state || Object.keys(state).length === 0) {
502
- return "empty";
503
- }
504
- // Sort keys to ensure consistent hashing regardless of property order
505
- const sortedState = JSON.stringify(state, Object.keys(state).sort());
506
- return (0, node_crypto_1.createHash)("sha256").update(sortedState).digest("hex");
507
- }
508
- /**
509
- * Clear all sessions for an agent (used when initial state changes)
510
- */
511
- async clearAgentSessions(agentPath) {
512
- try {
513
- const userId = `${constants_1.USER_ID_PREFIX}${agentPath}`;
514
- const appName = constants_1.DEFAULT_APP_NAME;
515
- const sessions = await this.sessionService.listSessions(appName, userId);
516
- for (const session of sessions.sessions) {
517
- try {
518
- await this.sessionService.deleteSession(appName, userId, session.id);
519
- this.logger.log((0, node_util_1.format)("Cleared session %s for agent %s", session.id, agentPath));
520
- }
521
- catch (error) {
522
- this.logger.warn((0, node_util_1.format)("Failed to clear session %s: %s", session.id, error instanceof Error ? error.message : String(error)));
523
- }
524
- }
525
- }
526
- catch (error) {
527
- this.logger.warn((0, node_util_1.format)("Failed to list sessions for clearing: %s", error instanceof Error ? error.message : String(error)));
528
- }
279
+ return (0, sessions_1.hashState)(state);
529
280
  }
530
281
  };
531
282
  exports.AgentManager = AgentManager;
@@ -1 +1 @@
1
- {"version":3,"file":"agent-manager.service.js","sourceRoot":"","sources":["../../../src/http/providers/agent-manager.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-manager.service.js","sourceRoot":"","sources":["../../../src/http/providers/agent-manager.service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@iqai/adk-cli",
3
- "version": "0.3.23",
3
+ "version": "0.3.24",
4
4
  "description": "CLI tool for creating, running, and testing ADK agents",
5
5
  "main": "dist/main.js",
6
6
  "types": "dist/main.d.ts",