@dexto/agent-management 1.5.2 → 1.5.4

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 (87) hide show
  1. package/dist/config/config-enrichment.d.ts +4 -3
  2. package/dist/config/config-enrichment.d.ts.map +1 -1
  3. package/dist/config/discover-prompts.cjs +24 -19
  4. package/dist/config/discover-prompts.d.ts +13 -5
  5. package/dist/config/discover-prompts.d.ts.map +1 -1
  6. package/dist/config/discover-prompts.js +24 -19
  7. package/dist/index.cjs +6 -1
  8. package/dist/index.d.ts +2 -0
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js +2 -0
  11. package/dist/preferences/index.cjs +2 -0
  12. package/dist/preferences/index.d.ts +2 -2
  13. package/dist/preferences/index.d.ts.map +1 -1
  14. package/dist/preferences/index.js +3 -1
  15. package/dist/preferences/loader.cjs +39 -41
  16. package/dist/preferences/loader.d.ts +7 -5
  17. package/dist/preferences/loader.d.ts.map +1 -1
  18. package/dist/preferences/loader.js +39 -41
  19. package/dist/preferences/schemas.cjs +14 -2
  20. package/dist/preferences/schemas.d.ts +37 -0
  21. package/dist/preferences/schemas.d.ts.map +1 -1
  22. package/dist/preferences/schemas.js +12 -1
  23. package/dist/runtime/AgentPool.cjs +181 -0
  24. package/dist/runtime/AgentPool.d.ts +76 -0
  25. package/dist/runtime/AgentPool.d.ts.map +1 -0
  26. package/dist/runtime/AgentPool.js +160 -0
  27. package/dist/runtime/AgentRuntime.cjs +225 -0
  28. package/dist/runtime/AgentRuntime.d.ts +77 -0
  29. package/dist/runtime/AgentRuntime.d.ts.map +1 -0
  30. package/dist/runtime/AgentRuntime.js +201 -0
  31. package/dist/runtime/approval-delegation.cjs +97 -0
  32. package/dist/runtime/approval-delegation.d.ts +30 -0
  33. package/dist/runtime/approval-delegation.d.ts.map +1 -0
  34. package/dist/runtime/approval-delegation.js +73 -0
  35. package/dist/runtime/error-codes.cjs +40 -0
  36. package/dist/runtime/error-codes.d.ts +17 -0
  37. package/dist/runtime/error-codes.d.ts.map +1 -0
  38. package/dist/runtime/error-codes.js +16 -0
  39. package/dist/runtime/errors.cjs +135 -0
  40. package/dist/runtime/errors.d.ts +40 -0
  41. package/dist/runtime/errors.d.ts.map +1 -0
  42. package/dist/runtime/errors.js +111 -0
  43. package/dist/runtime/index.cjs +53 -0
  44. package/dist/runtime/index.d.ts +19 -0
  45. package/dist/runtime/index.d.ts.map +1 -0
  46. package/dist/runtime/index.js +26 -0
  47. package/dist/runtime/schemas.cjs +64 -0
  48. package/dist/runtime/schemas.d.ts +69 -0
  49. package/dist/runtime/schemas.d.ts.map +1 -0
  50. package/dist/runtime/schemas.js +35 -0
  51. package/dist/runtime/types.cjs +16 -0
  52. package/dist/runtime/types.d.ts +94 -0
  53. package/dist/runtime/types.d.ts.map +1 -0
  54. package/dist/runtime/types.js +0 -0
  55. package/dist/tool-provider/error-codes.cjs +35 -0
  56. package/dist/tool-provider/error-codes.d.ts +11 -0
  57. package/dist/tool-provider/error-codes.d.ts.map +1 -0
  58. package/dist/tool-provider/error-codes.js +11 -0
  59. package/dist/tool-provider/errors.cjs +81 -0
  60. package/dist/tool-provider/errors.d.ts +19 -0
  61. package/dist/tool-provider/errors.d.ts.map +1 -0
  62. package/dist/tool-provider/errors.js +57 -0
  63. package/dist/tool-provider/index.cjs +46 -0
  64. package/dist/tool-provider/index.d.ts +16 -0
  65. package/dist/tool-provider/index.d.ts.map +1 -0
  66. package/dist/tool-provider/index.js +16 -0
  67. package/dist/tool-provider/runtime-service.cjs +390 -0
  68. package/dist/tool-provider/runtime-service.d.ts +83 -0
  69. package/dist/tool-provider/runtime-service.d.ts.map +1 -0
  70. package/dist/tool-provider/runtime-service.js +366 -0
  71. package/dist/tool-provider/schemas.cjs +73 -0
  72. package/dist/tool-provider/schemas.d.ts +83 -0
  73. package/dist/tool-provider/schemas.d.ts.map +1 -0
  74. package/dist/tool-provider/schemas.js +48 -0
  75. package/dist/tool-provider/spawn-agent-tool.cjs +89 -0
  76. package/dist/tool-provider/spawn-agent-tool.d.ts +10 -0
  77. package/dist/tool-provider/spawn-agent-tool.d.ts.map +1 -0
  78. package/dist/tool-provider/spawn-agent-tool.js +65 -0
  79. package/dist/tool-provider/tool-provider.cjs +44 -0
  80. package/dist/tool-provider/tool-provider.d.ts +24 -0
  81. package/dist/tool-provider/tool-provider.d.ts.map +1 -0
  82. package/dist/tool-provider/tool-provider.js +20 -0
  83. package/dist/tool-provider/types.cjs +16 -0
  84. package/dist/tool-provider/types.d.ts +17 -0
  85. package/dist/tool-provider/types.d.ts.map +1 -0
  86. package/dist/tool-provider/types.js +0 -0
  87. package/package.json +2 -2
@@ -0,0 +1,65 @@
1
+ import { SpawnAgentInputSchema } from "./schemas.js";
2
+ function buildDescription(service) {
3
+ const availableAgents = service.getAvailableAgents();
4
+ if (availableAgents.length === 0) {
5
+ return `Spawn a sub-agent to handle a specific task. The sub-agent executes the task and returns the result.
6
+
7
+ No specialized agents are configured. The sub-agent will inherit your LLM with a minimal config.
8
+
9
+ ## Parameters
10
+ - **task**: Short description for UI/logs (e.g., "Search for authentication code")
11
+ - **instructions**: Detailed instructions for the sub-agent`;
12
+ }
13
+ const agentsList = availableAgents.map((agent) => {
14
+ const tags = agent.tags?.length ? ` [${agent.tags.slice(0, 3).join(", ")}]` : "";
15
+ return `### ${agent.id}
16
+ ${agent.description}${tags}`;
17
+ }).join("\n\n");
18
+ return `Spawn a specialized sub-agent to handle a task. The sub-agent executes independently and returns the result.
19
+
20
+ ## Available Agents
21
+
22
+ ${agentsList}
23
+
24
+ ## Parameters
25
+ - **task**: Short description for UI/logs (e.g., "Explore authentication flow")
26
+ - **instructions**: Detailed instructions sent to the sub-agent
27
+ - **agentId**: Agent ID from the list above (e.g., "${availableAgents[0]?.id ?? "explore-agent"}")
28
+
29
+ ## Notes
30
+ - Sub-agents have their own tools, LLM, and conversation context
31
+ - Read-only agents (like explore-agent) have auto-approved tool calls for speed
32
+ - If a sub-agent's LLM fails, it automatically falls back to your LLM`;
33
+ }
34
+ function createSpawnAgentTool(service) {
35
+ return {
36
+ id: "spawn_agent",
37
+ description: buildDescription(service),
38
+ inputSchema: SpawnAgentInputSchema,
39
+ execute: async (input, context) => {
40
+ const validatedInput = input;
41
+ const options = {
42
+ task: validatedInput.task,
43
+ instructions: validatedInput.instructions
44
+ };
45
+ if (validatedInput.agentId !== void 0) {
46
+ options.agentId = validatedInput.agentId;
47
+ }
48
+ if (context?.toolCallId !== void 0) {
49
+ options.toolCallId = context.toolCallId;
50
+ }
51
+ if (context?.sessionId !== void 0) {
52
+ options.sessionId = context.sessionId;
53
+ }
54
+ const result = await service.spawnAndExecute(options);
55
+ if (result.success) {
56
+ return result.response ?? "Task completed successfully.";
57
+ } else {
58
+ return `Error: ${result.error ?? "Unknown error"}`;
59
+ }
60
+ }
61
+ };
62
+ }
63
+ export {
64
+ createSpawnAgentTool
65
+ };
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var tool_provider_exports = {};
20
+ __export(tool_provider_exports, {
21
+ agentSpawnerToolsProvider: () => agentSpawnerToolsProvider
22
+ });
23
+ module.exports = __toCommonJS(tool_provider_exports);
24
+ var import_schemas = require("./schemas.js");
25
+ var import_runtime_service = require("./runtime-service.js");
26
+ var import_spawn_agent_tool = require("./spawn-agent-tool.js");
27
+ const agentSpawnerToolsProvider = {
28
+ type: "agent-spawner",
29
+ configSchema: import_schemas.AgentSpawnerConfigSchema,
30
+ create: (config, context) => {
31
+ const { logger, agent } = context;
32
+ const service = new import_runtime_service.RuntimeService(agent, config, logger);
33
+ return [(0, import_spawn_agent_tool.createSpawnAgentTool)(service)];
34
+ },
35
+ metadata: {
36
+ displayName: "Agent Spawner",
37
+ description: "Spawn sub-agents for task delegation",
38
+ category: "agents"
39
+ }
40
+ };
41
+ // Annotate the CommonJS export names for ESM import in node:
42
+ 0 && (module.exports = {
43
+ agentSpawnerToolsProvider
44
+ });
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Agent Spawner Tool Provider
3
+ *
4
+ * Custom tool provider that enables agents to spawn sub-agents for task delegation.
5
+ */
6
+ import type { CustomToolProvider } from '@dexto/core';
7
+ import { type AgentSpawnerConfig } from './schemas.js';
8
+ /**
9
+ * Agent Spawner Tools Provider
10
+ *
11
+ * Provides the spawn_agent tool for task delegation to sub-agents.
12
+ *
13
+ * Configuration:
14
+ * ```yaml
15
+ * tools:
16
+ * customTools:
17
+ * - type: agent-spawner
18
+ * maxConcurrentAgents: 5
19
+ * defaultTimeout: 300000
20
+ * allowSpawning: true
21
+ * ```
22
+ */
23
+ export declare const agentSpawnerToolsProvider: CustomToolProvider<'agent-spawner', AgentSpawnerConfig>;
24
+ //# sourceMappingURL=tool-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-provider.d.ts","sourceRoot":"","sources":["../../src/tool-provider/tool-provider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAgB,MAAM,aAAa,CAAC;AACpE,OAAO,EAA4B,KAAK,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAIjF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,yBAAyB,EAAE,kBAAkB,CAAC,eAAe,EAAE,kBAAkB,CAmB7F,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { AgentSpawnerConfigSchema } from "./schemas.js";
2
+ import { RuntimeService } from "./runtime-service.js";
3
+ import { createSpawnAgentTool } from "./spawn-agent-tool.js";
4
+ const agentSpawnerToolsProvider = {
5
+ type: "agent-spawner",
6
+ configSchema: AgentSpawnerConfigSchema,
7
+ create: (config, context) => {
8
+ const { logger, agent } = context;
9
+ const service = new RuntimeService(agent, config, logger);
10
+ return [createSpawnAgentTool(service)];
11
+ },
12
+ metadata: {
13
+ displayName: "Agent Spawner",
14
+ description: "Spawn sub-agents for task delegation",
15
+ category: "agents"
16
+ }
17
+ };
18
+ export {
19
+ agentSpawnerToolsProvider
20
+ };
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+ var types_exports = {};
16
+ module.exports = __toCommonJS(types_exports);
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Agent Spawner Tool Types
3
+ *
4
+ * Type definitions for tool inputs and outputs.
5
+ */
6
+ /**
7
+ * Output from spawn_agent tool
8
+ */
9
+ export interface SpawnAgentOutput {
10
+ /** Whether the task completed successfully */
11
+ success: boolean;
12
+ /** Final response from the sub-agent */
13
+ response?: string;
14
+ /** Error message if the task failed */
15
+ error?: string;
16
+ }
17
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/tool-provider/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B,8CAA8C;IAC9C,OAAO,EAAE,OAAO,CAAC;IAEjB,wCAAwC;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,uCAAuC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB"}
File without changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dexto/agent-management",
3
- "version": "1.5.2",
3
+ "version": "1.5.4",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -16,7 +16,7 @@
16
16
  "dependencies": {
17
17
  "yaml": "^2.7.1",
18
18
  "zod": "^3.25.0",
19
- "@dexto/core": "1.5.2"
19
+ "@dexto/core": "1.5.4"
20
20
  },
21
21
  "devDependencies": {
22
22
  "@types/node": "^22.13.5"