@dexto/agent-management 1.5.7 → 1.5.8

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 (45) hide show
  1. package/dist/config/config-enrichment.cjs +2 -1
  2. package/dist/config/config-enrichment.d.ts.map +1 -1
  3. package/dist/config/config-enrichment.js +2 -1
  4. package/dist/index.cjs +11 -0
  5. package/dist/index.d.ts +2 -1
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +12 -0
  8. package/dist/models/custom-models.cjs +1 -1
  9. package/dist/models/custom-models.d.ts +7 -7
  10. package/dist/models/custom-models.d.ts.map +1 -1
  11. package/dist/models/custom-models.js +1 -1
  12. package/dist/plugins/discover-skills.cjs +4 -0
  13. package/dist/plugins/discover-skills.d.ts +6 -3
  14. package/dist/plugins/discover-skills.d.ts.map +1 -1
  15. package/dist/plugins/discover-skills.js +4 -0
  16. package/dist/preferences/errors.cjs +11 -0
  17. package/dist/preferences/errors.d.ts +1 -0
  18. package/dist/preferences/errors.d.ts.map +1 -1
  19. package/dist/preferences/errors.js +11 -0
  20. package/dist/preferences/loader.cjs +119 -6
  21. package/dist/preferences/loader.d.ts +21 -1
  22. package/dist/preferences/loader.d.ts.map +1 -1
  23. package/dist/preferences/loader.js +102 -1
  24. package/dist/preferences/schemas.cjs +12 -0
  25. package/dist/preferences/schemas.d.ts +38 -12
  26. package/dist/preferences/schemas.d.ts.map +1 -1
  27. package/dist/preferences/schemas.js +10 -0
  28. package/dist/tool-provider/llm-resolution.cjs +1 -1
  29. package/dist/tool-provider/llm-resolution.d.ts +4 -4
  30. package/dist/tool-provider/llm-resolution.js +1 -1
  31. package/dist/tool-provider/runtime-service.cjs +90 -13
  32. package/dist/tool-provider/runtime-service.d.ts +2 -0
  33. package/dist/tool-provider/runtime-service.d.ts.map +1 -1
  34. package/dist/tool-provider/runtime-service.js +80 -13
  35. package/dist/tool-provider/tool-provider.cjs +152 -1
  36. package/dist/tool-provider/tool-provider.d.ts +7 -1
  37. package/dist/tool-provider/tool-provider.d.ts.map +1 -1
  38. package/dist/tool-provider/tool-provider.js +159 -1
  39. package/dist/utils/api-key-resolver.cjs +1 -1
  40. package/dist/utils/api-key-resolver.js +1 -1
  41. package/dist/utils/feature-flags.cjs +3 -1
  42. package/dist/utils/feature-flags.d.ts +2 -2
  43. package/dist/utils/feature-flags.d.ts.map +1 -1
  44. package/dist/utils/feature-flags.js +3 -1
  45. package/package.json +3 -2
@@ -1 +1 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/preferences/loader.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAA2B,KAAK,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAI/E;;;;;GAKG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,iBAAiB,CAAC,CA+BxE;AAiBD;;;;GAIG;AACH,wBAAsB,qBAAqB,CAAC,WAAW,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkCzF;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,OAAO,CAGhD;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,CAEjD;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACrC,QAAQ,EAAE,WAAW,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,gFAAgF;IAChF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,KAAK,CAAC;IACxE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4EAA4E;IAC5E,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IAC3E,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,yEAAyE;IACzE,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,yEAAyE;IACzE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,qCAAqC;IACrC,MAAM,CAAC,EAAE;QACL,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,cAAc,CAAC,EAAE,OAAO,CAAC;KAC5B,CAAC;CACL;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,wBAAwB,GAAG,iBAAiB,CAsC7F;AAED;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG;IACnC,GAAG,CAAC,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC;IAClD,KAAK,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5C,MAAM,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC;CACjD,CAAC;AAEF;;;;;;GAMG;AACH,wBAAsB,uBAAuB,CACzC,OAAO,EAAE,wBAAwB,GAClC,OAAO,CAAC,iBAAiB,CAAC,CA4B5B"}
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/preferences/loader.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAGH,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACzB,MAAM,cAAc,CAAC;AAItB;;;;;GAKG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,iBAAiB,CAAC,CA+BxE;AA2BD;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAsB/D;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA4BrF;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACtC,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,gBAAgB,GAC9B,OAAO,CAAC,IAAI,CAAC,CA8Bf;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAG9D;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CACxC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC,GACnC,OAAO,CAAC,gBAAgB,CAAC,CAgB3B;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CAAC,WAAW,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkCzF;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,OAAO,CAGhD;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,CAEjD;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACrC,QAAQ,EAAE,WAAW,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,gFAAgF;IAChF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,KAAK,CAAC;IACxE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4EAA4E;IAC5E,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IAC3E,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,yEAAyE;IACzE,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,yEAAyE;IACzE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,qCAAqC;IACrC,MAAM,CAAC,EAAE;QACL,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,cAAc,CAAC,EAAE,OAAO,CAAC;KAC5B,CAAC;CACL;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,wBAAwB,GAAG,iBAAiB,CAsC7F;AAED;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG;IACnC,GAAG,CAAC,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC;IAClD,KAAK,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5C,MAAM,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC;CACjD,CAAC;AAEF;;;;;;GAMG;AACH,wBAAsB,uBAAuB,CACzC,OAAO,EAAE,wBAAwB,GAClC,OAAO,CAAC,iBAAiB,CAAC,CA4B5B"}
@@ -1,10 +1,14 @@
1
1
  import { existsSync } from "fs";
2
2
  import { promises as fs } from "fs";
3
3
  import { parse as parseYaml, stringify as stringifyYaml } from "yaml";
4
+ import path from "path";
4
5
  import { getDextoGlobalPath } from "../utils/path.js";
5
6
  import { logger } from "@dexto/core";
6
7
  import { DextoValidationError, DextoRuntimeError } from "@dexto/core";
7
- import { GlobalPreferencesSchema } from "./schemas.js";
8
+ import {
9
+ AgentPreferencesSchema,
10
+ GlobalPreferencesSchema
11
+ } from "./schemas.js";
8
12
  import { PREFERENCES_FILE } from "./constants.js";
9
13
  import { PreferenceError } from "./errors.js";
10
14
  async function loadGlobalPreferences() {
@@ -42,6 +46,98 @@ const PREFERENCES_FILE_HEADER = `# Dexto Global Preferences
42
46
  # Set sounds.enabled: false to disable all sounds.
43
47
 
44
48
  `;
49
+ const AGENT_PREFERENCES_FILE_HEADER = `# Dexto Agent Preferences
50
+ # Stored per-agent to customize runtime behavior without changing base config.
51
+ # Tool control:
52
+ # tools.disabled: list of tool names to exclude from LLM context.
53
+
54
+ `;
55
+ function getAgentPreferencesPath(agentId) {
56
+ if (!agentId || typeof agentId !== "string") {
57
+ throw PreferenceError.invalidAgentId(String(agentId));
58
+ }
59
+ const trimmedId = agentId.trim();
60
+ if (!trimmedId) {
61
+ throw PreferenceError.invalidAgentId(agentId);
62
+ }
63
+ const hasSeparators = trimmedId.includes("/") || trimmedId.includes("\\");
64
+ if (hasSeparators || trimmedId !== path.basename(trimmedId)) {
65
+ throw PreferenceError.invalidAgentId(agentId);
66
+ }
67
+ const allowedPattern = /^[a-zA-Z0-9_-]+$/;
68
+ if (!allowedPattern.test(trimmedId)) {
69
+ throw PreferenceError.invalidAgentId(agentId);
70
+ }
71
+ const filename = `${trimmedId}.preferences.yml`;
72
+ return getDextoGlobalPath(path.join("agents", filename));
73
+ }
74
+ async function loadAgentPreferences(agentId) {
75
+ const preferencesPath = getAgentPreferencesPath(agentId);
76
+ if (!existsSync(preferencesPath)) {
77
+ throw PreferenceError.fileNotFound(preferencesPath);
78
+ }
79
+ try {
80
+ const fileContent = await fs.readFile(preferencesPath, "utf-8");
81
+ const rawPreferences = parseYaml(fileContent);
82
+ const validation = AgentPreferencesSchema.safeParse(rawPreferences);
83
+ if (!validation.success) {
84
+ throw PreferenceError.validationFailed(validation.error);
85
+ }
86
+ logger.debug(`Loaded agent preferences from: ${preferencesPath}`);
87
+ return validation.data;
88
+ } catch (error) {
89
+ if (error instanceof DextoValidationError || error instanceof DextoRuntimeError) {
90
+ throw error;
91
+ }
92
+ throw PreferenceError.fileReadError(
93
+ preferencesPath,
94
+ error instanceof Error ? error.message : String(error)
95
+ );
96
+ }
97
+ }
98
+ async function saveAgentPreferences(agentId, preferences) {
99
+ const preferencesPath = getAgentPreferencesPath(agentId);
100
+ const validation = AgentPreferencesSchema.safeParse(preferences);
101
+ if (!validation.success) {
102
+ throw PreferenceError.validationFailed(validation.error);
103
+ }
104
+ try {
105
+ logger.debug(`Saving agent preferences to: ${preferencesPath}`);
106
+ await fs.mkdir(path.dirname(preferencesPath), { recursive: true });
107
+ const yamlContent = stringifyYaml(preferences, {
108
+ indent: 2,
109
+ lineWidth: 100,
110
+ minContentWidth: 20
111
+ });
112
+ await fs.writeFile(preferencesPath, AGENT_PREFERENCES_FILE_HEADER + yamlContent, "utf-8");
113
+ logger.debug(
114
+ `\u2713 Saved agent preferences ${JSON.stringify(preferences)} to: ${preferencesPath}`
115
+ );
116
+ } catch (error) {
117
+ throw PreferenceError.fileWriteError(
118
+ preferencesPath,
119
+ error instanceof Error ? error.message : String(error)
120
+ );
121
+ }
122
+ }
123
+ function agentPreferencesExist(agentId) {
124
+ const preferencesPath = getAgentPreferencesPath(agentId);
125
+ return existsSync(preferencesPath);
126
+ }
127
+ async function updateAgentPreferences(agentId, updates) {
128
+ const existing = await loadAgentPreferences(agentId);
129
+ const merged = {
130
+ ...existing,
131
+ ...updates,
132
+ tools: updates.tools ? { ...existing.tools, ...updates.tools } : existing.tools
133
+ };
134
+ const validation = AgentPreferencesSchema.safeParse(merged);
135
+ if (!validation.success) {
136
+ throw PreferenceError.validationFailed(validation.error);
137
+ }
138
+ await saveAgentPreferences(agentId, validation.data);
139
+ return validation.data;
140
+ }
45
141
  async function saveGlobalPreferences(preferences) {
46
142
  const preferencesPath = getDextoGlobalPath(PREFERENCES_FILE);
47
143
  const validation = GlobalPreferencesSchema.safeParse(preferences);
@@ -127,10 +223,15 @@ async function updateGlobalPreferences(updates) {
127
223
  return validation.data;
128
224
  }
129
225
  export {
226
+ agentPreferencesExist,
130
227
  createInitialPreferences,
228
+ getAgentPreferencesPath,
131
229
  getGlobalPreferencesPath,
132
230
  globalPreferencesExist,
231
+ loadAgentPreferences,
133
232
  loadGlobalPreferences,
233
+ saveAgentPreferences,
134
234
  saveGlobalPreferences,
235
+ updateAgentPreferences,
135
236
  updateGlobalPreferences
136
237
  };
@@ -18,6 +18,8 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var schemas_exports = {};
20
20
  __export(schemas_exports, {
21
+ AgentPreferencesSchema: () => AgentPreferencesSchema,
22
+ AgentToolPreferencesSchema: () => AgentToolPreferencesSchema,
21
23
  GlobalPreferencesSchema: () => GlobalPreferencesSchema,
22
24
  PreferenceDefaultsSchema: () => PreferenceDefaultsSchema,
23
25
  PreferenceLLMSchema: () => PreferenceLLMSchema,
@@ -88,6 +90,14 @@ const PreferenceSoundsSchema = import_zod.z.object({
88
90
  ),
89
91
  onTaskComplete: import_zod.z.boolean().default(true).describe("Play sound when agent task completes (default: true when sounds enabled)")
90
92
  }).strict();
93
+ const AgentToolPreferencesSchema = import_zod.z.object({
94
+ disabled: import_zod.z.array(import_core3.NonEmptyTrimmed).default([]).describe("Tool names disabled for this agent (default: none)")
95
+ }).strict();
96
+ const AgentPreferencesSchema = import_zod.z.object({
97
+ tools: AgentToolPreferencesSchema.default({ disabled: [] }).describe(
98
+ "Tool availability preferences"
99
+ )
100
+ }).strict();
91
101
  const GlobalPreferencesSchema = import_zod.z.object({
92
102
  llm: PreferenceLLMSchema.describe("LLM configuration preferences"),
93
103
  defaults: PreferenceDefaultsSchema.describe("Default behavior preferences (required)"),
@@ -100,6 +110,8 @@ const GlobalPreferencesSchema = import_zod.z.object({
100
110
  }).strict();
101
111
  // Annotate the CommonJS export names for ESM import in node:
102
112
  0 && (module.exports = {
113
+ AgentPreferencesSchema,
114
+ AgentToolPreferencesSchema,
103
115
  GlobalPreferencesSchema,
104
116
  PreferenceDefaultsSchema,
105
117
  PreferenceLLMSchema,
@@ -1,30 +1,30 @@
1
1
  import { z } from 'zod';
2
2
  export declare const PreferenceLLMSchema: z.ZodEffects<z.ZodObject<{
3
- provider: z.ZodEnum<["openai", "openai-compatible", "anthropic", "google", "groq", "xai", "cohere", "minimax", "glm", "openrouter", "litellm", "glama", "vertex", "bedrock", "local", "ollama", "dexto"]>;
3
+ provider: z.ZodEnum<["openai", "openai-compatible", "anthropic", "google", "groq", "xai", "cohere", "minimax", "glm", "openrouter", "litellm", "glama", "vertex", "bedrock", "local", "ollama", "dexto-nova"]>;
4
4
  model: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
5
5
  apiKey: z.ZodOptional<z.ZodString>;
6
6
  baseURL: z.ZodOptional<z.ZodString>;
7
7
  reasoningEffort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high", "xhigh"]>>;
8
8
  }, "strict", z.ZodTypeAny, {
9
- provider: "dexto" | "openai" | "openai-compatible" | "anthropic" | "google" | "groq" | "xai" | "cohere" | "minimax" | "glm" | "openrouter" | "litellm" | "glama" | "vertex" | "bedrock" | "local" | "ollama";
9
+ provider: "openai" | "openai-compatible" | "anthropic" | "google" | "groq" | "xai" | "cohere" | "minimax" | "glm" | "openrouter" | "litellm" | "glama" | "vertex" | "bedrock" | "local" | "ollama" | "dexto-nova";
10
10
  model: string;
11
11
  apiKey?: string | undefined;
12
12
  baseURL?: string | undefined;
13
13
  reasoningEffort?: "none" | "minimal" | "low" | "medium" | "high" | "xhigh" | undefined;
14
14
  }, {
15
- provider: "dexto" | "openai" | "openai-compatible" | "anthropic" | "google" | "groq" | "xai" | "cohere" | "minimax" | "glm" | "openrouter" | "litellm" | "glama" | "vertex" | "bedrock" | "local" | "ollama";
15
+ provider: "openai" | "openai-compatible" | "anthropic" | "google" | "groq" | "xai" | "cohere" | "minimax" | "glm" | "openrouter" | "litellm" | "glama" | "vertex" | "bedrock" | "local" | "ollama" | "dexto-nova";
16
16
  model: string;
17
17
  apiKey?: string | undefined;
18
18
  baseURL?: string | undefined;
19
19
  reasoningEffort?: "none" | "minimal" | "low" | "medium" | "high" | "xhigh" | undefined;
20
20
  }>, {
21
- provider: "dexto" | "openai" | "openai-compatible" | "anthropic" | "google" | "groq" | "xai" | "cohere" | "minimax" | "glm" | "openrouter" | "litellm" | "glama" | "vertex" | "bedrock" | "local" | "ollama";
21
+ provider: "openai" | "openai-compatible" | "anthropic" | "google" | "groq" | "xai" | "cohere" | "minimax" | "glm" | "openrouter" | "litellm" | "glama" | "vertex" | "bedrock" | "local" | "ollama" | "dexto-nova";
22
22
  model: string;
23
23
  apiKey?: string | undefined;
24
24
  baseURL?: string | undefined;
25
25
  reasoningEffort?: "none" | "minimal" | "low" | "medium" | "high" | "xhigh" | undefined;
26
26
  }, {
27
- provider: "dexto" | "openai" | "openai-compatible" | "anthropic" | "google" | "groq" | "xai" | "cohere" | "minimax" | "glm" | "openrouter" | "litellm" | "glama" | "vertex" | "bedrock" | "local" | "ollama";
27
+ provider: "openai" | "openai-compatible" | "anthropic" | "google" | "groq" | "xai" | "cohere" | "minimax" | "glm" | "openrouter" | "litellm" | "glama" | "vertex" | "bedrock" | "local" | "ollama" | "dexto-nova";
28
28
  model: string;
29
29
  apiKey?: string | undefined;
30
30
  baseURL?: string | undefined;
@@ -66,33 +66,57 @@ export declare const PreferenceSoundsSchema: z.ZodObject<{
66
66
  onApprovalRequired?: boolean | undefined;
67
67
  onTaskComplete?: boolean | undefined;
68
68
  }>;
69
+ export declare const AgentToolPreferencesSchema: z.ZodObject<{
70
+ disabled: z.ZodDefault<z.ZodArray<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>, "many">>;
71
+ }, "strict", z.ZodTypeAny, {
72
+ disabled: string[];
73
+ }, {
74
+ disabled?: string[] | undefined;
75
+ }>;
76
+ export declare const AgentPreferencesSchema: z.ZodObject<{
77
+ tools: z.ZodDefault<z.ZodObject<{
78
+ disabled: z.ZodDefault<z.ZodArray<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>, "many">>;
79
+ }, "strict", z.ZodTypeAny, {
80
+ disabled: string[];
81
+ }, {
82
+ disabled?: string[] | undefined;
83
+ }>>;
84
+ }, "strict", z.ZodTypeAny, {
85
+ tools: {
86
+ disabled: string[];
87
+ };
88
+ }, {
89
+ tools?: {
90
+ disabled?: string[] | undefined;
91
+ } | undefined;
92
+ }>;
69
93
  export declare const GlobalPreferencesSchema: z.ZodObject<{
70
94
  llm: z.ZodEffects<z.ZodObject<{
71
- provider: z.ZodEnum<["openai", "openai-compatible", "anthropic", "google", "groq", "xai", "cohere", "minimax", "glm", "openrouter", "litellm", "glama", "vertex", "bedrock", "local", "ollama", "dexto"]>;
95
+ provider: z.ZodEnum<["openai", "openai-compatible", "anthropic", "google", "groq", "xai", "cohere", "minimax", "glm", "openrouter", "litellm", "glama", "vertex", "bedrock", "local", "ollama", "dexto-nova"]>;
72
96
  model: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
73
97
  apiKey: z.ZodOptional<z.ZodString>;
74
98
  baseURL: z.ZodOptional<z.ZodString>;
75
99
  reasoningEffort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high", "xhigh"]>>;
76
100
  }, "strict", z.ZodTypeAny, {
77
- provider: "dexto" | "openai" | "openai-compatible" | "anthropic" | "google" | "groq" | "xai" | "cohere" | "minimax" | "glm" | "openrouter" | "litellm" | "glama" | "vertex" | "bedrock" | "local" | "ollama";
101
+ provider: "openai" | "openai-compatible" | "anthropic" | "google" | "groq" | "xai" | "cohere" | "minimax" | "glm" | "openrouter" | "litellm" | "glama" | "vertex" | "bedrock" | "local" | "ollama" | "dexto-nova";
78
102
  model: string;
79
103
  apiKey?: string | undefined;
80
104
  baseURL?: string | undefined;
81
105
  reasoningEffort?: "none" | "minimal" | "low" | "medium" | "high" | "xhigh" | undefined;
82
106
  }, {
83
- provider: "dexto" | "openai" | "openai-compatible" | "anthropic" | "google" | "groq" | "xai" | "cohere" | "minimax" | "glm" | "openrouter" | "litellm" | "glama" | "vertex" | "bedrock" | "local" | "ollama";
107
+ provider: "openai" | "openai-compatible" | "anthropic" | "google" | "groq" | "xai" | "cohere" | "minimax" | "glm" | "openrouter" | "litellm" | "glama" | "vertex" | "bedrock" | "local" | "ollama" | "dexto-nova";
84
108
  model: string;
85
109
  apiKey?: string | undefined;
86
110
  baseURL?: string | undefined;
87
111
  reasoningEffort?: "none" | "minimal" | "low" | "medium" | "high" | "xhigh" | undefined;
88
112
  }>, {
89
- provider: "dexto" | "openai" | "openai-compatible" | "anthropic" | "google" | "groq" | "xai" | "cohere" | "minimax" | "glm" | "openrouter" | "litellm" | "glama" | "vertex" | "bedrock" | "local" | "ollama";
113
+ provider: "openai" | "openai-compatible" | "anthropic" | "google" | "groq" | "xai" | "cohere" | "minimax" | "glm" | "openrouter" | "litellm" | "glama" | "vertex" | "bedrock" | "local" | "ollama" | "dexto-nova";
90
114
  model: string;
91
115
  apiKey?: string | undefined;
92
116
  baseURL?: string | undefined;
93
117
  reasoningEffort?: "none" | "minimal" | "low" | "medium" | "high" | "xhigh" | undefined;
94
118
  }, {
95
- provider: "dexto" | "openai" | "openai-compatible" | "anthropic" | "google" | "groq" | "xai" | "cohere" | "minimax" | "glm" | "openrouter" | "litellm" | "glama" | "vertex" | "bedrock" | "local" | "ollama";
119
+ provider: "openai" | "openai-compatible" | "anthropic" | "google" | "groq" | "xai" | "cohere" | "minimax" | "glm" | "openrouter" | "litellm" | "glama" | "vertex" | "bedrock" | "local" | "ollama" | "dexto-nova";
96
120
  model: string;
97
121
  apiKey?: string | undefined;
98
122
  baseURL?: string | undefined;
@@ -136,7 +160,7 @@ export declare const GlobalPreferencesSchema: z.ZodObject<{
136
160
  }>>;
137
161
  }, "strict", z.ZodTypeAny, {
138
162
  llm: {
139
- provider: "dexto" | "openai" | "openai-compatible" | "anthropic" | "google" | "groq" | "xai" | "cohere" | "minimax" | "glm" | "openrouter" | "litellm" | "glama" | "vertex" | "bedrock" | "local" | "ollama";
163
+ provider: "openai" | "openai-compatible" | "anthropic" | "google" | "groq" | "xai" | "cohere" | "minimax" | "glm" | "openrouter" | "litellm" | "glama" | "vertex" | "bedrock" | "local" | "ollama" | "dexto-nova";
140
164
  model: string;
141
165
  apiKey?: string | undefined;
142
166
  baseURL?: string | undefined;
@@ -158,7 +182,7 @@ export declare const GlobalPreferencesSchema: z.ZodObject<{
158
182
  };
159
183
  }, {
160
184
  llm: {
161
- provider: "dexto" | "openai" | "openai-compatible" | "anthropic" | "google" | "groq" | "xai" | "cohere" | "minimax" | "glm" | "openrouter" | "litellm" | "glama" | "vertex" | "bedrock" | "local" | "ollama";
185
+ provider: "openai" | "openai-compatible" | "anthropic" | "google" | "groq" | "xai" | "cohere" | "minimax" | "glm" | "openrouter" | "litellm" | "glama" | "vertex" | "bedrock" | "local" | "ollama" | "dexto-nova";
162
186
  model: string;
163
187
  apiKey?: string | undefined;
164
188
  baseURL?: string | undefined;
@@ -183,5 +207,7 @@ export type PreferenceLLM = z.output<typeof PreferenceLLMSchema>;
183
207
  export type PreferenceDefaults = z.output<typeof PreferenceDefaultsSchema>;
184
208
  export type PreferenceSetup = z.output<typeof PreferenceSetupSchema>;
185
209
  export type PreferenceSounds = z.output<typeof PreferenceSoundsSchema>;
210
+ export type AgentToolPreferences = z.output<typeof AgentToolPreferencesSchema>;
211
+ export type AgentPreferences = z.output<typeof AgentPreferencesSchema>;
186
212
  export type GlobalPreferences = z.output<typeof GlobalPreferencesSchema>;
187
213
  //# sourceMappingURL=schemas.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/preferences/schemas.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAaxB,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsE1B,CAAC;AAEP,eAAO,MAAM,wBAAwB;;;;;;;;;EAYxB,CAAC;AAEd,eAAO,MAAM,qBAAqB;;;;;;;;;;;;EAYrB,CAAC;AAEd,eAAO,MAAM,sBAAsB;;;;;;;;;;;;EActB,CAAC;AAEd,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAcvB,CAAC;AAGd,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,mBAAmB,CAAC,CAAC;AACjE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC3E,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACrE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACvE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/preferences/schemas.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAaxB,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsE1B,CAAC;AAEP,eAAO,MAAM,wBAAwB;;;;;;;;;EAYxB,CAAC;AAEd,eAAO,MAAM,qBAAqB;;;;;;;;;;;;EAYrB,CAAC;AAEd,eAAO,MAAM,sBAAsB;;;;;;;;;;;;EActB,CAAC;AAEd,eAAO,MAAM,0BAA0B;;;;;;EAO1B,CAAC;AAEd,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;EAMtB,CAAC;AAEd,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAcvB,CAAC;AAGd,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,mBAAmB,CAAC,CAAC;AACjE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC3E,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACrE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACvE,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC/E,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACvE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
@@ -67,6 +67,14 @@ const PreferenceSoundsSchema = z.object({
67
67
  ),
68
68
  onTaskComplete: z.boolean().default(true).describe("Play sound when agent task completes (default: true when sounds enabled)")
69
69
  }).strict();
70
+ const AgentToolPreferencesSchema = z.object({
71
+ disabled: z.array(NonEmptyTrimmed).default([]).describe("Tool names disabled for this agent (default: none)")
72
+ }).strict();
73
+ const AgentPreferencesSchema = z.object({
74
+ tools: AgentToolPreferencesSchema.default({ disabled: [] }).describe(
75
+ "Tool availability preferences"
76
+ )
77
+ }).strict();
70
78
  const GlobalPreferencesSchema = z.object({
71
79
  llm: PreferenceLLMSchema.describe("LLM configuration preferences"),
72
80
  defaults: PreferenceDefaultsSchema.describe("Default behavior preferences (required)"),
@@ -78,6 +86,8 @@ const GlobalPreferencesSchema = z.object({
78
86
  )
79
87
  }).strict();
80
88
  export {
89
+ AgentPreferencesSchema,
90
+ AgentToolPreferencesSchema,
81
91
  GlobalPreferencesSchema,
82
92
  PreferenceDefaultsSchema,
83
93
  PreferenceLLMSchema,
@@ -65,7 +65,7 @@ function resolveSubAgentLLM(options) {
65
65
  return {
66
66
  llm: parentLLM,
67
67
  resolution: "parent-fallback",
68
- reason: `${agentLabel} cannot use ${subAgentProvider}/${subAgentModel} with parent's ${parentProvider} provider. Falling back to parent's LLM config. Tip: Use 'dexto login' for Dexto Credits which supports all models.`
68
+ reason: `${agentLabel} cannot use ${subAgentProvider}/${subAgentModel} with parent's ${parentProvider} provider. Falling back to parent's LLM config. Tip: Use 'dexto login' for Dexto Nova Credits which supports all models.`
69
69
  };
70
70
  }
71
71
  // Annotate the CommonJS export names for ESM import in node:
@@ -5,7 +5,7 @@
5
5
  * this module determines which LLM configuration the sub-agent should use.
6
6
  *
7
7
  * Resolution priority:
8
- * 1. If parent's provider can serve sub-agent's model (dexto/openrouter/same provider)
8
+ * 1. If parent's provider can serve sub-agent's model (dexto-nova/openrouter/same provider)
9
9
  * → Use parent's provider + sub-agent's model (transformed if needed)
10
10
  * 2. If incompatible providers
11
11
  * → Fall back to parent's full LLM config (with warning)
@@ -40,12 +40,12 @@ export interface ResolveSubAgentLLMOptions {
40
40
  * when possible, while leveraging the parent's provider/credentials.
41
41
  *
42
42
  * @example
43
- * // Parent uses dexto, sub-agent wants anthropic/haiku
43
+ * // Parent uses dexto-nova, sub-agent wants anthropic/haiku
44
44
  * resolveSubAgentLLM({
45
45
  * subAgentLLM: { provider: 'anthropic', model: 'claude-haiku-4-5-20251001', apiKey: '$ANTHROPIC_API_KEY' },
46
- * parentLLM: { provider: 'dexto', model: 'anthropic/claude-sonnet-4', apiKey: '$DEXTO_API_KEY' }
46
+ * parentLLM: { provider: 'dexto-nova', model: 'anthropic/claude-sonnet-4', apiKey: '$DEXTO_API_KEY' }
47
47
  * })
48
- * // Returns: { provider: 'dexto', model: 'anthropic/claude-haiku-4.5', apiKey: '$DEXTO_API_KEY' }
48
+ * // Returns: { provider: 'dexto-nova', model: 'anthropic/claude-haiku-4.5', apiKey: '$DEXTO_API_KEY' }
49
49
  */
50
50
  export declare function resolveSubAgentLLM(options: ResolveSubAgentLLMOptions): SubAgentLLMResolution;
51
51
  //# sourceMappingURL=llm-resolution.d.ts.map
@@ -42,7 +42,7 @@ function resolveSubAgentLLM(options) {
42
42
  return {
43
43
  llm: parentLLM,
44
44
  resolution: "parent-fallback",
45
- reason: `${agentLabel} cannot use ${subAgentProvider}/${subAgentModel} with parent's ${parentProvider} provider. Falling back to parent's LLM config. Tip: Use 'dexto login' for Dexto Credits which supports all models.`
45
+ reason: `${agentLabel} cannot use ${subAgentProvider}/${subAgentModel} with parent's ${parentProvider} provider. Falling back to parent's LLM config. Tip: Use 'dexto login' for Dexto Nova Credits which supports all models.`
46
46
  };
47
47
  }
48
48
  export {
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
+ var __create = Object.create;
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
5
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
8
  var __export = (target, all) => {
7
9
  for (var name in all)
@@ -15,6 +17,14 @@ var __copyProps = (to, from, except, desc) => {
15
17
  }
16
18
  return to;
17
19
  };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
18
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
29
  var runtime_service_exports = {};
20
30
  __export(runtime_service_exports, {
@@ -26,6 +36,9 @@ var import_AgentRuntime = require("../runtime/AgentRuntime.js");
26
36
  var import_approval_delegation = require("../runtime/approval-delegation.js");
27
37
  var import_loader = require("../config/loader.js");
28
38
  var import_registry = require("../registry/registry.js");
39
+ var import_types = require("../registry/types.js");
40
+ var import_path = require("../utils/path.js");
41
+ var path = __toESM(require("path"), 1);
29
42
  var import_llm_resolution = require("./llm-resolution.js");
30
43
  class RuntimeService {
31
44
  runtime;
@@ -33,6 +46,37 @@ class RuntimeService {
33
46
  parentAgent;
34
47
  config;
35
48
  logger;
49
+ resolveBundledAgentConfig(agentId) {
50
+ const baseDir = "agents";
51
+ const normalizedPath = path.relative(baseDir, path.join(baseDir, agentId));
52
+ if (normalizedPath.startsWith("..") || path.isAbsolute(normalizedPath)) {
53
+ return null;
54
+ }
55
+ const candidates = [
56
+ `agents/${agentId}/${agentId}.yml`,
57
+ `agents/${agentId}/${agentId}.yaml`,
58
+ `agents/${agentId}.yml`,
59
+ `agents/${agentId}.yaml`
60
+ ];
61
+ for (const candidate of candidates) {
62
+ try {
63
+ return (0, import_path.resolveBundledScript)(candidate);
64
+ } catch {
65
+ }
66
+ }
67
+ return null;
68
+ }
69
+ createFallbackRegistryEntry(agentId) {
70
+ return {
71
+ id: agentId,
72
+ name: (0, import_types.deriveDisplayName)(agentId),
73
+ description: "Agent specified in config (registry entry not found)",
74
+ author: "unknown",
75
+ tags: [],
76
+ source: agentId,
77
+ type: "custom"
78
+ };
79
+ }
36
80
  constructor(parentAgent, config, logger) {
37
81
  this.parentAgent = parentAgent;
38
82
  this.config = config;
@@ -430,12 +474,26 @@ class RuntimeService {
430
474
  );
431
475
  const toolConfirmationMode = autoApprove ? "auto-approve" : "manual";
432
476
  if (agentId) {
433
- const registry = (0, import_registry.getAgentRegistry)();
434
- if (!registry.hasAgent(agentId)) {
435
- this.logger.warn(`Agent '${agentId}' not found in registry. Using default config.`);
436
- } else {
437
- const configPath = await registry.resolveAgent(agentId);
438
- this.logger.debug(`Loading agent config from registry: ${configPath}`);
477
+ let configPath = null;
478
+ try {
479
+ const registry = (0, import_registry.getAgentRegistry)();
480
+ if (!registry.hasAgent(agentId)) {
481
+ this.logger.warn(
482
+ `Agent '${agentId}' not found in registry. Trying bundled config paths.`
483
+ );
484
+ } else {
485
+ configPath = await registry.resolveAgent(agentId);
486
+ }
487
+ } catch (error) {
488
+ this.logger.warn(
489
+ `Failed to load agent registry for '${agentId}'. Trying bundled config paths. (${error instanceof Error ? error.message : String(error)})`
490
+ );
491
+ }
492
+ if (!configPath) {
493
+ configPath = this.resolveBundledAgentConfig(agentId);
494
+ }
495
+ if (configPath) {
496
+ this.logger.debug(`Loading agent config from registry/bundled path: ${configPath}`);
439
497
  const loadedConfig = await (0, import_loader.loadAgentConfig)(configPath, this.logger);
440
498
  let llmConfig = loadedConfig.llm;
441
499
  if (inheritLlm) {
@@ -452,6 +510,9 @@ class RuntimeService {
452
510
  this.logger.debug(`Sub-agent LLM resolution: ${resolution.reason}`);
453
511
  llmConfig = resolution.llm;
454
512
  }
513
+ const filteredCustomTools = loadedConfig.customTools ? loadedConfig.customTools.filter(
514
+ (tool) => typeof tool === "object" && tool !== null && "type" in tool && tool.type !== "agent-spawner"
515
+ ) : void 0;
455
516
  return {
456
517
  ...loadedConfig,
457
518
  llm: llmConfig,
@@ -459,6 +520,7 @@ class RuntimeService {
459
520
  ...loadedConfig.toolConfirmation,
460
521
  mode: toolConfirmationMode
461
522
  },
523
+ customTools: filteredCustomTools,
462
524
  // Suppress sub-agent console logs entirely using silent transport
463
525
  logger: {
464
526
  level: "error",
@@ -466,6 +528,9 @@ class RuntimeService {
466
528
  }
467
529
  };
468
530
  }
531
+ this.logger.warn(
532
+ `Agent '${agentId}' not found in registry or bundled paths. Using default config.`
533
+ );
469
534
  }
470
535
  const config = {
471
536
  llm: { ...currentParentLLM },
@@ -482,8 +547,11 @@ class RuntimeService {
482
547
  internalTools: parentConfig.internalTools ? parentConfig.internalTools.filter(
483
548
  (tool) => tool !== "ask_user" && tool !== "invoke_skill"
484
549
  ) : [],
485
- // Inherit custom tools from parent
486
- customTools: parentConfig.customTools ? [...parentConfig.customTools] : [],
550
+ // Inherit custom tools from parent, excluding agent-spawner to prevent nested spawning (depth=1 limit)
551
+ // - agent-spawner: Sub-agents should not spawn their own sub-agents
552
+ customTools: parentConfig.customTools ? parentConfig.customTools.filter(
553
+ (tool) => typeof tool === "object" && tool !== null && "type" in tool && tool.type !== "agent-spawner"
554
+ ) : [],
487
555
  // Suppress sub-agent console logs entirely using silent transport
488
556
  logger: {
489
557
  level: "error",
@@ -497,15 +565,24 @@ class RuntimeService {
497
565
  * Returns agent metadata from registry, filtered by allowedAgents if configured.
498
566
  */
499
567
  getAvailableAgents() {
500
- const registry = (0, import_registry.getAgentRegistry)();
501
- const allAgents = registry.getAvailableAgents();
568
+ let allAgents;
569
+ try {
570
+ const registry = (0, import_registry.getAgentRegistry)();
571
+ allAgents = registry.getAvailableAgents();
572
+ } catch (error) {
573
+ this.logger.warn(
574
+ `Failed to load agent registry for spawn_agent description: ${error instanceof Error ? error.message : String(error)}`
575
+ );
576
+ if (this.config.allowedAgents && this.config.allowedAgents.length > 0) {
577
+ return this.config.allowedAgents.map((id) => this.createFallbackRegistryEntry(id));
578
+ }
579
+ return [];
580
+ }
502
581
  if (this.config.allowedAgents && this.config.allowedAgents.length > 0) {
503
582
  const result = [];
504
583
  for (const id of this.config.allowedAgents) {
505
584
  const agent = allAgents[id];
506
- if (agent) {
507
- result.push(agent);
508
- }
585
+ result.push(agent ?? this.createFallbackRegistryEntry(id));
509
586
  }
510
587
  return result;
511
588
  }
@@ -20,6 +20,8 @@ export declare class RuntimeService implements TaskForker {
20
20
  private parentAgent;
21
21
  private config;
22
22
  private logger;
23
+ private resolveBundledAgentConfig;
24
+ private createFallbackRegistryEntry;
23
25
  constructor(parentAgent: DextoAgent, config: AgentSpawnerConfig, logger: IDextoLogger);
24
26
  /**
25
27
  * Get count of sub-agents belonging to this parent
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-service.d.ts","sourceRoot":"","sources":["../../src/tool-provider/runtime-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAe,UAAU,EAAE,MAAM,aAAa,CAAC;AAMrF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAGnD,qBAAa,cAAe,YAAW,UAAU;IAC7C,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,MAAM,CAAe;gBAEjB,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,YAAY;IAuBrF;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAIxB;;OAEG;IACH,OAAO,CAAC,QAAQ;IAIhB;;;;;;;;;;;;;;OAcG;IACG,eAAe,CAAC,KAAK,EAAE;QACzB,IAAI,EAAE,MAAM,CAAC;QACb,YAAY,EAAE,MAAM,CAAC;QACrB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;KACtB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA8C7B;;;;;;;;;;OAUG;IACG,IAAI,CAAC,OAAO,EAAE;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,YAAY,EAAE,MAAM,CAAC;QACrB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;KACtB,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IA6BpE;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IAiH7B;;OAEG;IACH,OAAO,CAAC,UAAU;IAsBlB;;OAEG;YACW,oBAAoB;IAyPlC;;;;;;;OAOG;YACW,mBAAmB;IA2GjC;;;OAGG;IACH,kBAAkB,IAAI,kBAAkB,EAAE;IAoB1C;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAIjC"}
1
+ {"version":3,"file":"runtime-service.d.ts","sourceRoot":"","sources":["../../src/tool-provider/runtime-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAe,UAAU,EAAE,MAAM,aAAa,CAAC;AAMrF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAI/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAGnD,qBAAa,cAAe,YAAW,UAAU;IAC7C,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,MAAM,CAAe;IAE7B,OAAO,CAAC,yBAAyB;IAyBjC,OAAO,CAAC,2BAA2B;gBAYvB,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,YAAY;IAuBrF;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAIxB;;OAEG;IACH,OAAO,CAAC,QAAQ;IAIhB;;;;;;;;;;;;;;OAcG;IACG,eAAe,CAAC,KAAK,EAAE;QACzB,IAAI,EAAE,MAAM,CAAC;QACb,YAAY,EAAE,MAAM,CAAC;QACrB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;KACtB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA8C7B;;;;;;;;;;OAUG;IACG,IAAI,CAAC,OAAO,EAAE;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,YAAY,EAAE,MAAM,CAAC;QACrB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;KACtB,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IA6BpE;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IAiH7B;;OAEG;IACH,OAAO,CAAC,UAAU;IAsBlB;;OAEG;YACW,oBAAoB;IAyPlC;;;;;;;OAOG;YACW,mBAAmB;IAoJjC;;;OAGG;IACH,kBAAkB,IAAI,kBAAkB,EAAE;IA6B1C;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAIjC"}