@axiom-lattice/core 2.1.21 → 2.1.22

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.
package/dist/index.d.mts CHANGED
@@ -605,6 +605,18 @@ declare class AgentLatticeManager extends BaseLatticeManager<AgentLattice> {
605
605
  * @param input 输入参数
606
606
  */
607
607
  validateAgentInput(key: string, input: any): boolean;
608
+ /**
609
+ * Resolve inherited config by walking the extendsAgent chain.
610
+ *
611
+ * If config.extendsAgent is set, fetches the parent config, recursively
612
+ * resolves the parent's own inheritance, then merges parent with child
613
+ * (child's explicit fields override parent's).
614
+ *
615
+ * @param config - The agent config to resolve
616
+ * @param visited - Set of visited keys to detect circular inheritance
617
+ * @returns A fully resolved AgentConfig with inheritance applied
618
+ */
619
+ private resolveInheritedConfig;
608
620
  /**
609
621
  * 构建Agent参数
610
622
  *
package/dist/index.d.ts CHANGED
@@ -605,6 +605,18 @@ declare class AgentLatticeManager extends BaseLatticeManager<AgentLattice> {
605
605
  * @param input 输入参数
606
606
  */
607
607
  validateAgentInput(key: string, input: any): boolean;
608
+ /**
609
+ * Resolve inherited config by walking the extendsAgent chain.
610
+ *
611
+ * If config.extendsAgent is set, fetches the parent config, recursively
612
+ * resolves the parent's own inheritance, then merges parent with child
613
+ * (child's explicit fields override parent's).
614
+ *
615
+ * @param config - The agent config to resolve
616
+ * @param visited - Set of visited keys to detect circular inheritance
617
+ * @returns A fully resolved AgentConfig with inheritance applied
618
+ */
619
+ private resolveInheritedConfig;
608
620
  /**
609
621
  * 构建Agent参数
610
622
  *
package/dist/index.js CHANGED
@@ -6090,6 +6090,26 @@ var AgentParamsBuilder = class {
6090
6090
  }
6091
6091
  };
6092
6092
 
6093
+ // src/agent_lattice/utils/mergeAgentConfig.ts
6094
+ var NON_INHERITABLE_FIELDS = /* @__PURE__ */ new Set([
6095
+ "key",
6096
+ "extendsAgent"
6097
+ ]);
6098
+ function mergeAgentConfig(parent, child) {
6099
+ const merged = { ...parent };
6100
+ for (const [key, value] of Object.entries(child)) {
6101
+ if (NON_INHERITABLE_FIELDS.has(key)) {
6102
+ continue;
6103
+ }
6104
+ if (value !== void 0) {
6105
+ merged[key] = value;
6106
+ }
6107
+ }
6108
+ merged.key = child.key;
6109
+ delete merged.extendsAgent;
6110
+ return merged;
6111
+ }
6112
+
6093
6113
  // src/agent_lattice/AgentLatticeManager.ts
6094
6114
  function assistantToConfig(assistant) {
6095
6115
  const graphDef = typeof assistant.graphDefinition === "object" && assistant.graphDefinition !== null ? assistant.graphDefinition : {};
@@ -6245,6 +6265,39 @@ var AgentLatticeManager = class _AgentLatticeManager extends BaseLatticeManager
6245
6265
  return false;
6246
6266
  }
6247
6267
  }
6268
+ /**
6269
+ * Resolve inherited config by walking the extendsAgent chain.
6270
+ *
6271
+ * If config.extendsAgent is set, fetches the parent config, recursively
6272
+ * resolves the parent's own inheritance, then merges parent with child
6273
+ * (child's explicit fields override parent's).
6274
+ *
6275
+ * @param config - The agent config to resolve
6276
+ * @param visited - Set of visited keys to detect circular inheritance
6277
+ * @returns A fully resolved AgentConfig with inheritance applied
6278
+ */
6279
+ resolveInheritedConfig(config, visited = /* @__PURE__ */ new Set()) {
6280
+ if (!config.extendsAgent) {
6281
+ return config;
6282
+ }
6283
+ if (visited.has(config.key)) {
6284
+ throw new Error(
6285
+ `Circular agent inheritance detected: "${config.key}" already visited in chain [${[...visited].join(" -> ")}]`
6286
+ );
6287
+ }
6288
+ visited.add(config.key);
6289
+ const parentLattice = this.getAgentLattice(config.extendsAgent);
6290
+ if (!parentLattice) {
6291
+ throw new Error(
6292
+ `Parent agent "${config.extendsAgent}" not found when resolving inheritance for "${config.key}"`
6293
+ );
6294
+ }
6295
+ const resolvedParent = this.resolveInheritedConfig(
6296
+ parentLattice.config,
6297
+ visited
6298
+ );
6299
+ return mergeAgentConfig(resolvedParent, config);
6300
+ }
6248
6301
  /**
6249
6302
  * 构建Agent参数
6250
6303
  *
@@ -6267,10 +6320,15 @@ var AgentLatticeManager = class _AgentLatticeManager extends BaseLatticeManager
6267
6320
  * @returns AgentClient instance
6268
6321
  */
6269
6322
  createAgentClientFromConfig(agentLattice, options) {
6323
+ const resolvedConfig = this.resolveInheritedConfig(agentLattice.config);
6324
+ const resolvedLattice = {
6325
+ ...agentLattice,
6326
+ config: resolvedConfig
6327
+ };
6270
6328
  const factory = AgentGraphBuilderFactory.getInstance();
6271
- const builder = factory.getBuilder(agentLattice.config.type);
6272
- const params = this.buildAgentParams(agentLattice, options);
6273
- return builder.build(agentLattice, params);
6329
+ const builder = factory.getBuilder(resolvedConfig.type);
6330
+ const params = this.buildAgentParams(resolvedLattice, options);
6331
+ return builder.build(resolvedLattice, params);
6274
6332
  }
6275
6333
  /**
6276
6334
  * 初始化Agent客户端