@dexto/core 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.
- package/dist/agent/DextoAgent.cjs +96 -5
- package/dist/agent/DextoAgent.d.ts +32 -7
- package/dist/agent/DextoAgent.d.ts.map +1 -1
- package/dist/agent/DextoAgent.js +96 -5
- package/dist/agent/schemas.cjs +5 -0
- package/dist/agent/schemas.d.ts +60 -21
- package/dist/agent/schemas.d.ts.map +1 -1
- package/dist/agent/schemas.js +5 -0
- package/dist/context/manager.cjs +1 -1
- package/dist/context/manager.js +1 -1
- package/dist/context/utils.cjs +69 -42
- package/dist/context/utils.d.ts.map +1 -1
- package/dist/context/utils.js +69 -42
- package/dist/events/index.cjs +4 -1
- package/dist/events/index.d.ts +37 -2
- package/dist/events/index.d.ts.map +1 -1
- package/dist/events/index.js +4 -1
- package/dist/index.browser.d.ts +1 -1
- package/dist/index.browser.d.ts.map +1 -1
- package/dist/llm/curation-config.cjs +82 -0
- package/dist/llm/curation-config.d.ts +13 -0
- package/dist/llm/curation-config.d.ts.map +1 -0
- package/dist/llm/curation-config.js +59 -0
- package/dist/llm/curation.cjs +57 -0
- package/dist/llm/curation.d.ts +16 -0
- package/dist/llm/curation.d.ts.map +1 -0
- package/dist/llm/curation.js +34 -0
- package/dist/llm/errors.cjs +1 -1
- package/dist/llm/errors.d.ts +8 -8
- package/dist/llm/errors.js +1 -1
- package/dist/llm/executor/provider-options.cjs +1 -1
- package/dist/llm/executor/provider-options.js +1 -1
- package/dist/llm/executor/turn-executor.cjs +8 -2
- package/dist/llm/executor/turn-executor.d.ts.map +1 -1
- package/dist/llm/executor/turn-executor.js +8 -2
- package/dist/llm/index.cjs +14 -3
- package/dist/llm/index.d.ts +3 -1
- package/dist/llm/index.d.ts.map +1 -1
- package/dist/llm/index.js +13 -2
- package/dist/llm/registry/auto-update.cjs +263 -0
- package/dist/llm/registry/auto-update.d.ts +27 -0
- package/dist/llm/registry/auto-update.d.ts.map +1 -0
- package/dist/llm/registry/auto-update.js +227 -0
- package/dist/llm/registry/index.cjs +806 -0
- package/dist/llm/{registry.d.ts → registry/index.d.ts} +19 -41
- package/dist/llm/registry/index.d.ts.map +1 -0
- package/dist/llm/registry/index.js +756 -0
- package/dist/llm/registry/models.generated.cjs +4861 -0
- package/dist/llm/registry/models.generated.d.ts +431 -0
- package/dist/llm/registry/models.generated.d.ts.map +1 -0
- package/dist/llm/registry/models.generated.js +4838 -0
- package/dist/llm/registry/models.manual.cjs +44 -0
- package/dist/llm/registry/models.manual.d.ts +22 -0
- package/dist/llm/registry/models.manual.d.ts.map +1 -0
- package/dist/llm/registry/models.manual.js +21 -0
- package/dist/llm/registry/sync.cjs +354 -0
- package/dist/llm/registry/sync.d.ts +41 -0
- package/dist/llm/registry/sync.d.ts.map +1 -0
- package/dist/llm/registry/sync.js +328 -0
- package/dist/llm/resolver.cjs +27 -18
- package/dist/llm/resolver.d.ts +1 -1
- package/dist/llm/resolver.d.ts.map +1 -1
- package/dist/llm/resolver.js +28 -20
- package/dist/llm/schemas.cjs +13 -1
- package/dist/llm/schemas.d.ts +23 -23
- package/dist/llm/schemas.d.ts.map +1 -1
- package/dist/llm/schemas.js +14 -1
- package/dist/llm/services/factory.cjs +4 -4
- package/dist/llm/services/factory.d.ts.map +1 -1
- package/dist/llm/services/factory.js +4 -4
- package/dist/llm/services/test-utils.integration.cjs +1 -1
- package/dist/llm/services/test-utils.integration.js +1 -1
- package/dist/llm/services/vercel.cjs +4 -1
- package/dist/llm/services/vercel.d.ts +1 -0
- package/dist/llm/services/vercel.d.ts.map +1 -1
- package/dist/llm/services/vercel.js +4 -1
- package/dist/llm/types.cjs +1 -1
- package/dist/llm/types.d.ts +1 -1
- package/dist/llm/types.d.ts.map +1 -1
- package/dist/llm/types.js +1 -1
- package/dist/llm/validation.cjs +1 -1
- package/dist/llm/validation.js +1 -1
- package/dist/resources/handlers/filesystem-handler.cjs +25 -0
- package/dist/resources/handlers/filesystem-handler.d.ts +1 -0
- package/dist/resources/handlers/filesystem-handler.d.ts.map +1 -1
- package/dist/resources/handlers/filesystem-handler.js +25 -0
- package/dist/session/chat-session.cjs +1 -1
- package/dist/session/chat-session.js +1 -1
- package/dist/session/message-queue.cjs +29 -5
- package/dist/session/message-queue.d.ts +3 -1
- package/dist/session/message-queue.d.ts.map +1 -1
- package/dist/session/message-queue.js +29 -5
- package/dist/session/session-manager.cjs +40 -3
- package/dist/session/session-manager.d.ts +3 -1
- package/dist/session/session-manager.d.ts.map +1 -1
- package/dist/session/session-manager.js +30 -3
- package/dist/session/types.d.ts +1 -0
- package/dist/session/types.d.ts.map +1 -1
- package/dist/tools/internal-tools/provider.d.ts +3 -1
- package/dist/tools/internal-tools/provider.d.ts.map +1 -1
- package/dist/tools/internal-tools/registry.d.ts +1 -1
- package/dist/tools/internal-tools/registry.d.ts.map +1 -1
- package/dist/tools/tool-call-metadata.cjs +75 -0
- package/dist/tools/tool-call-metadata.d.ts +16 -0
- package/dist/tools/tool-call-metadata.d.ts.map +1 -0
- package/dist/tools/tool-call-metadata.js +51 -0
- package/dist/tools/tool-manager.cjs +257 -30
- package/dist/tools/tool-manager.d.ts +43 -2
- package/dist/tools/tool-manager.d.ts.map +1 -1
- package/dist/tools/tool-manager.js +257 -30
- package/dist/utils/api-key-resolver.cjs +1 -1
- package/dist/utils/api-key-resolver.js +1 -1
- package/dist/utils/env.cjs +49 -0
- package/dist/utils/env.d.ts +4 -0
- package/dist/utils/env.d.ts.map +1 -0
- package/dist/utils/env.js +24 -0
- package/dist/utils/index.cjs +3 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -0
- package/dist/utils/service-initializer.cjs +17 -5
- package/dist/utils/service-initializer.d.ts +23 -4
- package/dist/utils/service-initializer.d.ts.map +1 -1
- package/dist/utils/service-initializer.js +17 -5
- package/package.json +6 -2
- package/dist/llm/registry.cjs +0 -2075
- package/dist/llm/registry.d.ts.map +0 -1
- package/dist/llm/registry.js +0 -2025
|
@@ -11,11 +11,13 @@ import { DextoRuntimeError } from "../errors/index.js";
|
|
|
11
11
|
import { DextoLogComponent } from "../logger/v2/types.js";
|
|
12
12
|
import { ApprovalStatus, ApprovalType, DenialReason } from "../approval/types.js";
|
|
13
13
|
import { InstrumentClass } from "../telemetry/decorators.js";
|
|
14
|
+
import { extractToolCallMeta, wrapToolParametersSchema } from "./tool-call-metadata.js";
|
|
14
15
|
import {
|
|
15
16
|
generateBashPatternKey,
|
|
16
17
|
generateBashPatternSuggestions,
|
|
17
18
|
isDangerousCommand
|
|
18
19
|
} from "./bash-pattern-utils.js";
|
|
20
|
+
import { isBackgroundTasksEnabled } from "../utils/env.js";
|
|
19
21
|
_ToolManager_decorators = [InstrumentClass({
|
|
20
22
|
prefix: "tool",
|
|
21
23
|
excludeMethods: [
|
|
@@ -49,6 +51,10 @@ let _ToolManager = class _ToolManager {
|
|
|
49
51
|
// When a skill with allowedTools is invoked, those tools are auto-approved (skip confirmation)
|
|
50
52
|
// This is ADDITIVE - other tools are NOT blocked, they just go through normal approval flow
|
|
51
53
|
sessionAutoApproveTools = /* @__PURE__ */ new Map();
|
|
54
|
+
// Session-level auto-approve tools set by users (UI)
|
|
55
|
+
sessionUserAutoApproveTools = /* @__PURE__ */ new Map();
|
|
56
|
+
sessionDisabledTools = /* @__PURE__ */ new Map();
|
|
57
|
+
globalDisabledTools = [];
|
|
52
58
|
constructor(mcpManager, approvalManager, allowedToolsProvider, approvalMode, agentEventBus, toolPolicies, options, logger) {
|
|
53
59
|
this.mcpManager = mcpManager;
|
|
54
60
|
this.approvalManager = approvalManager;
|
|
@@ -143,6 +149,30 @@ let _ToolManager = class _ToolManager {
|
|
|
143
149
|
);
|
|
144
150
|
this.logger.debug(`Auto-approve tools: ${autoApproveTools.join(", ")}`);
|
|
145
151
|
}
|
|
152
|
+
/**
|
|
153
|
+
* Set session-level auto-approve tools chosen by the user.
|
|
154
|
+
*/
|
|
155
|
+
setSessionUserAutoApproveTools(sessionId, autoApproveTools) {
|
|
156
|
+
if (autoApproveTools.length === 0) {
|
|
157
|
+
this.clearSessionUserAutoApproveTools(sessionId);
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
160
|
+
this.sessionUserAutoApproveTools.set(sessionId, autoApproveTools);
|
|
161
|
+
this.logger.info(
|
|
162
|
+
`Session user auto-approve tools set for '${sessionId}': ${autoApproveTools.length} tools`
|
|
163
|
+
);
|
|
164
|
+
this.logger.debug(`User auto-approve tools: ${autoApproveTools.join(", ")}`);
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Clear session-level auto-approve tools chosen by the user.
|
|
168
|
+
*/
|
|
169
|
+
clearSessionUserAutoApproveTools(sessionId) {
|
|
170
|
+
const hadAutoApprove = this.sessionUserAutoApproveTools.has(sessionId);
|
|
171
|
+
this.sessionUserAutoApproveTools.delete(sessionId);
|
|
172
|
+
if (hadAutoApprove) {
|
|
173
|
+
this.logger.info(`Session user auto-approve tools cleared for '${sessionId}'`);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
146
176
|
/**
|
|
147
177
|
* Clear session-level auto-approve tools.
|
|
148
178
|
* Call this when the session ends or when the skill completes.
|
|
@@ -156,6 +186,76 @@ let _ToolManager = class _ToolManager {
|
|
|
156
186
|
this.logger.info(`Session auto-approve tools cleared for '${sessionId}'`);
|
|
157
187
|
}
|
|
158
188
|
}
|
|
189
|
+
hasSessionUserAutoApproveTools(sessionId) {
|
|
190
|
+
return this.sessionUserAutoApproveTools.has(sessionId);
|
|
191
|
+
}
|
|
192
|
+
// ============= ENABLED/DISABLED TOOLS =============
|
|
193
|
+
/**
|
|
194
|
+
* Set global disabled tools (agent-level preferences).
|
|
195
|
+
*/
|
|
196
|
+
setGlobalDisabledTools(toolNames) {
|
|
197
|
+
this.globalDisabledTools = [...toolNames];
|
|
198
|
+
this.logger.info("Global disabled tools updated", {
|
|
199
|
+
count: toolNames.length
|
|
200
|
+
});
|
|
201
|
+
this.agentEventBus.emit("tools:enabled-updated", {
|
|
202
|
+
scope: "global",
|
|
203
|
+
disabledTools: [...this.globalDisabledTools]
|
|
204
|
+
});
|
|
205
|
+
}
|
|
206
|
+
getGlobalDisabledTools() {
|
|
207
|
+
return [...this.globalDisabledTools];
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Set session-level disabled tools (overrides global list).
|
|
211
|
+
*/
|
|
212
|
+
setSessionDisabledTools(sessionId, toolNames) {
|
|
213
|
+
if (toolNames.length === 0) {
|
|
214
|
+
this.clearSessionDisabledTools(sessionId);
|
|
215
|
+
return;
|
|
216
|
+
}
|
|
217
|
+
this.sessionDisabledTools.set(sessionId, [...toolNames]);
|
|
218
|
+
this.logger.info("Session disabled tools updated", {
|
|
219
|
+
sessionId,
|
|
220
|
+
count: toolNames.length
|
|
221
|
+
});
|
|
222
|
+
this.agentEventBus.emit("tools:enabled-updated", {
|
|
223
|
+
scope: "session",
|
|
224
|
+
sessionId,
|
|
225
|
+
disabledTools: [...toolNames]
|
|
226
|
+
});
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* Clear session-level disabled tools.
|
|
230
|
+
*/
|
|
231
|
+
clearSessionDisabledTools(sessionId) {
|
|
232
|
+
const hadOverrides = this.sessionDisabledTools.has(sessionId);
|
|
233
|
+
this.sessionDisabledTools.delete(sessionId);
|
|
234
|
+
if (hadOverrides) {
|
|
235
|
+
this.logger.info("Session disabled tools cleared", { sessionId });
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* Get disabled tools for a session (session override wins).
|
|
240
|
+
*/
|
|
241
|
+
getDisabledTools(sessionId) {
|
|
242
|
+
if (sessionId && this.sessionDisabledTools.has(sessionId)) {
|
|
243
|
+
return this.sessionDisabledTools.get(sessionId) ?? [];
|
|
244
|
+
}
|
|
245
|
+
return this.globalDisabledTools;
|
|
246
|
+
}
|
|
247
|
+
/**
|
|
248
|
+
* Filter a tool set based on disabled tools for a session.
|
|
249
|
+
*/
|
|
250
|
+
filterToolsForSession(toolSet, sessionId) {
|
|
251
|
+
const disabled = new Set(this.getDisabledTools(sessionId));
|
|
252
|
+
if (disabled.size === 0) {
|
|
253
|
+
return toolSet;
|
|
254
|
+
}
|
|
255
|
+
return Object.fromEntries(
|
|
256
|
+
Object.entries(toolSet).filter(([toolName]) => !disabled.has(toolName))
|
|
257
|
+
);
|
|
258
|
+
}
|
|
159
259
|
/**
|
|
160
260
|
* Check if a session has auto-approve tools set.
|
|
161
261
|
*
|
|
@@ -166,7 +266,7 @@ let _ToolManager = class _ToolManager {
|
|
|
166
266
|
return this.sessionAutoApproveTools.has(sessionId);
|
|
167
267
|
}
|
|
168
268
|
/**
|
|
169
|
-
* Get the auto-approve tools for a session.
|
|
269
|
+
* Get the auto-approve tools for a session (skill-provided list).
|
|
170
270
|
*
|
|
171
271
|
* @param sessionId The session ID to check
|
|
172
272
|
* @returns Array of auto-approve tool names, or undefined if none set
|
|
@@ -174,6 +274,21 @@ let _ToolManager = class _ToolManager {
|
|
|
174
274
|
getSessionAutoApproveTools(sessionId) {
|
|
175
275
|
return this.sessionAutoApproveTools.get(sessionId);
|
|
176
276
|
}
|
|
277
|
+
/**
|
|
278
|
+
* Get the user auto-approve tools for a session.
|
|
279
|
+
*/
|
|
280
|
+
getSessionUserAutoApproveTools(sessionId) {
|
|
281
|
+
return this.sessionUserAutoApproveTools.get(sessionId);
|
|
282
|
+
}
|
|
283
|
+
/**
|
|
284
|
+
* Combined auto-approve list for a session.
|
|
285
|
+
*/
|
|
286
|
+
getCombinedSessionAutoApproveTools(sessionId) {
|
|
287
|
+
return [
|
|
288
|
+
...this.sessionAutoApproveTools.get(sessionId) ?? [],
|
|
289
|
+
...this.sessionUserAutoApproveTools.get(sessionId) ?? []
|
|
290
|
+
];
|
|
291
|
+
}
|
|
177
292
|
/**
|
|
178
293
|
* Check if a tool should be auto-approved for a session.
|
|
179
294
|
* Returns true if the tool is in the session's auto-approve list.
|
|
@@ -183,8 +298,8 @@ let _ToolManager = class _ToolManager {
|
|
|
183
298
|
* @returns true if the tool should be auto-approved
|
|
184
299
|
*/
|
|
185
300
|
isToolAutoApprovedForSession(sessionId, toolName) {
|
|
186
|
-
const autoApproveTools = this.
|
|
187
|
-
if (
|
|
301
|
+
const autoApproveTools = this.getCombinedSessionAutoApproveTools(sessionId);
|
|
302
|
+
if (autoApproveTools.length === 0) {
|
|
188
303
|
return false;
|
|
189
304
|
}
|
|
190
305
|
return autoApproveTools.some((pattern) => this.matchesToolPolicy(toolName, pattern));
|
|
@@ -381,7 +496,8 @@ let _ToolManager = class _ToolManager {
|
|
|
381
496
|
allTools[qualifiedName] = {
|
|
382
497
|
...toolDef,
|
|
383
498
|
name: qualifiedName,
|
|
384
|
-
description: `${toolDef.description || "No description provided"} (internal tool)
|
|
499
|
+
description: `${toolDef.description || "No description provided"} (internal tool)`,
|
|
500
|
+
parameters: wrapToolParametersSchema(toolDef.parameters)
|
|
385
501
|
};
|
|
386
502
|
}
|
|
387
503
|
for (const [toolName, toolDef] of Object.entries(customTools)) {
|
|
@@ -389,7 +505,8 @@ let _ToolManager = class _ToolManager {
|
|
|
389
505
|
allTools[qualifiedName] = {
|
|
390
506
|
...toolDef,
|
|
391
507
|
name: qualifiedName,
|
|
392
|
-
description: `${toolDef.description || "No description provided"} (custom tool)
|
|
508
|
+
description: `${toolDef.description || "No description provided"} (custom tool)`,
|
|
509
|
+
parameters: wrapToolParametersSchema(toolDef.parameters)
|
|
393
510
|
};
|
|
394
511
|
}
|
|
395
512
|
for (const [toolName, toolDef] of Object.entries(mcpTools)) {
|
|
@@ -397,7 +514,8 @@ let _ToolManager = class _ToolManager {
|
|
|
397
514
|
allTools[qualifiedName] = {
|
|
398
515
|
...toolDef,
|
|
399
516
|
name: qualifiedName,
|
|
400
|
-
description: `${toolDef.description || "No description provided"} (via MCP servers)
|
|
517
|
+
description: `${toolDef.description || "No description provided"} (via MCP servers)`,
|
|
518
|
+
parameters: wrapToolParametersSchema(toolDef.parameters)
|
|
401
519
|
};
|
|
402
520
|
}
|
|
403
521
|
const totalTools = Object.keys(allTools).length;
|
|
@@ -433,21 +551,25 @@ let _ToolManager = class _ToolManager {
|
|
|
433
551
|
* @param abortSignal Optional abort signal for cancellation support
|
|
434
552
|
*/
|
|
435
553
|
async executeTool(toolName, args, toolCallId, sessionId, abortSignal) {
|
|
554
|
+
const { toolArgs: rawToolArgs, meta } = extractToolCallMeta(args);
|
|
555
|
+
let toolArgs = rawToolArgs;
|
|
556
|
+
const backgroundTasksEnabled = isBackgroundTasksEnabled();
|
|
436
557
|
this.logger.debug(`\u{1F527} Tool execution requested: '${toolName}' (toolCallId: ${toolCallId})`);
|
|
437
|
-
this.logger.debug(`Tool args: ${JSON.stringify(
|
|
558
|
+
this.logger.debug(`Tool args: ${JSON.stringify(toolArgs, null, 2)}`);
|
|
438
559
|
if (sessionId) {
|
|
439
560
|
this.agentEventBus.emit("llm:tool-call", {
|
|
440
561
|
toolName,
|
|
441
|
-
args,
|
|
562
|
+
args: toolArgs,
|
|
442
563
|
callId: toolCallId,
|
|
443
564
|
sessionId
|
|
444
565
|
});
|
|
445
566
|
}
|
|
446
567
|
const { requireApproval, approvalStatus } = await this.handleToolApproval(
|
|
447
568
|
toolName,
|
|
448
|
-
|
|
569
|
+
toolArgs,
|
|
449
570
|
toolCallId,
|
|
450
|
-
sessionId
|
|
571
|
+
sessionId,
|
|
572
|
+
meta.callDescription
|
|
451
573
|
);
|
|
452
574
|
this.logger.debug(`\u2705 Tool execution approved: ${toolName}`);
|
|
453
575
|
this.logger.info(
|
|
@@ -464,7 +586,7 @@ let _ToolManager = class _ToolManager {
|
|
|
464
586
|
if (this.pluginManager && this.sessionManager && this.stateManager) {
|
|
465
587
|
const beforePayload = {
|
|
466
588
|
toolName,
|
|
467
|
-
args,
|
|
589
|
+
args: toolArgs,
|
|
468
590
|
...sessionId !== void 0 && { sessionId }
|
|
469
591
|
};
|
|
470
592
|
const modifiedPayload = await this.pluginManager.executePlugins(
|
|
@@ -478,10 +600,21 @@ let _ToolManager = class _ToolManager {
|
|
|
478
600
|
...sessionId !== void 0 && { sessionId }
|
|
479
601
|
}
|
|
480
602
|
);
|
|
481
|
-
|
|
603
|
+
toolArgs = modifiedPayload.args;
|
|
482
604
|
}
|
|
483
605
|
try {
|
|
484
606
|
let result;
|
|
607
|
+
const registerBackgroundTask = (promise, description) => {
|
|
608
|
+
const fallbackId = `task-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
|
|
609
|
+
return {
|
|
610
|
+
result: {
|
|
611
|
+
taskId: toolCallId ?? fallbackId,
|
|
612
|
+
status: "running",
|
|
613
|
+
description
|
|
614
|
+
},
|
|
615
|
+
promise
|
|
616
|
+
};
|
|
617
|
+
};
|
|
485
618
|
if (toolName.startsWith(_ToolManager.MCP_TOOL_PREFIX)) {
|
|
486
619
|
this.logger.debug(`\u{1F527} Detected MCP tool: '${toolName}'`);
|
|
487
620
|
const actualToolName = toolName.substring(_ToolManager.MCP_TOOL_PREFIX.length);
|
|
@@ -489,7 +622,34 @@ let _ToolManager = class _ToolManager {
|
|
|
489
622
|
throw ToolError.invalidName(toolName, "tool name cannot be empty after prefix");
|
|
490
623
|
}
|
|
491
624
|
this.logger.debug(`\u{1F3AF} MCP routing: '${toolName}' -> '${actualToolName}'`);
|
|
492
|
-
|
|
625
|
+
const runInBackground = backgroundTasksEnabled && meta.runInBackground === true && sessionId !== void 0;
|
|
626
|
+
if (meta.runInBackground === true && !backgroundTasksEnabled) {
|
|
627
|
+
this.logger.debug(
|
|
628
|
+
"Background tool execution disabled; running synchronously instead.",
|
|
629
|
+
{ toolName }
|
|
630
|
+
);
|
|
631
|
+
}
|
|
632
|
+
if (runInBackground) {
|
|
633
|
+
const backgroundSessionId = sessionId;
|
|
634
|
+
const { result: backgroundResult, promise } = registerBackgroundTask(
|
|
635
|
+
this.mcpManager.executeTool(actualToolName, toolArgs, backgroundSessionId),
|
|
636
|
+
`MCP tool ${actualToolName}`
|
|
637
|
+
);
|
|
638
|
+
this.agentEventBus.emit("tool:background", {
|
|
639
|
+
toolName,
|
|
640
|
+
toolCallId: backgroundResult.taskId,
|
|
641
|
+
sessionId: backgroundSessionId,
|
|
642
|
+
description: backgroundResult.description,
|
|
643
|
+
promise,
|
|
644
|
+
...meta.timeoutMs !== void 0 && { timeoutMs: meta.timeoutMs },
|
|
645
|
+
...meta.notifyOnComplete !== void 0 && {
|
|
646
|
+
notifyOnComplete: meta.notifyOnComplete
|
|
647
|
+
}
|
|
648
|
+
});
|
|
649
|
+
result = backgroundResult;
|
|
650
|
+
} else {
|
|
651
|
+
result = await this.mcpManager.executeTool(actualToolName, toolArgs, sessionId);
|
|
652
|
+
}
|
|
493
653
|
} else if (toolName.startsWith(_ToolManager.INTERNAL_TOOL_PREFIX)) {
|
|
494
654
|
this.logger.debug(`\u{1F527} Detected internal tool: '${toolName}'`);
|
|
495
655
|
const actualToolName = toolName.substring(_ToolManager.INTERNAL_TOOL_PREFIX.length);
|
|
@@ -500,13 +660,46 @@ let _ToolManager = class _ToolManager {
|
|
|
500
660
|
throw ToolError.internalToolsNotInitialized(toolName);
|
|
501
661
|
}
|
|
502
662
|
this.logger.debug(`\u{1F3AF} Internal routing: '${toolName}' -> '${actualToolName}'`);
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
663
|
+
const runInBackground = backgroundTasksEnabled && meta.runInBackground === true && sessionId !== void 0;
|
|
664
|
+
if (meta.runInBackground === true && !backgroundTasksEnabled) {
|
|
665
|
+
this.logger.debug(
|
|
666
|
+
"Background tool execution disabled; running synchronously instead.",
|
|
667
|
+
{ toolName }
|
|
668
|
+
);
|
|
669
|
+
}
|
|
670
|
+
if (runInBackground) {
|
|
671
|
+
const backgroundSessionId = sessionId;
|
|
672
|
+
const { result: backgroundResult, promise } = registerBackgroundTask(
|
|
673
|
+
this.internalToolsProvider.executeTool(
|
|
674
|
+
actualToolName,
|
|
675
|
+
toolArgs,
|
|
676
|
+
backgroundSessionId,
|
|
677
|
+
abortSignal,
|
|
678
|
+
toolCallId
|
|
679
|
+
),
|
|
680
|
+
`Internal tool ${actualToolName}`
|
|
681
|
+
);
|
|
682
|
+
this.agentEventBus.emit("tool:background", {
|
|
683
|
+
toolName,
|
|
684
|
+
toolCallId: backgroundResult.taskId,
|
|
685
|
+
sessionId: backgroundSessionId,
|
|
686
|
+
description: backgroundResult.description,
|
|
687
|
+
promise,
|
|
688
|
+
...meta.timeoutMs !== void 0 && { timeoutMs: meta.timeoutMs },
|
|
689
|
+
...meta.notifyOnComplete !== void 0 && {
|
|
690
|
+
notifyOnComplete: meta.notifyOnComplete
|
|
691
|
+
}
|
|
692
|
+
});
|
|
693
|
+
result = backgroundResult;
|
|
694
|
+
} else {
|
|
695
|
+
result = await this.internalToolsProvider.executeTool(
|
|
696
|
+
actualToolName,
|
|
697
|
+
toolArgs,
|
|
698
|
+
sessionId,
|
|
699
|
+
abortSignal,
|
|
700
|
+
toolCallId
|
|
701
|
+
);
|
|
702
|
+
}
|
|
510
703
|
} else if (toolName.startsWith(_ToolManager.CUSTOM_TOOL_PREFIX)) {
|
|
511
704
|
this.logger.debug(`\u{1F527} Detected custom tool: '${toolName}'`);
|
|
512
705
|
const actualToolName = toolName.substring(_ToolManager.CUSTOM_TOOL_PREFIX.length);
|
|
@@ -517,13 +710,46 @@ let _ToolManager = class _ToolManager {
|
|
|
517
710
|
throw ToolError.internalToolsNotInitialized(toolName);
|
|
518
711
|
}
|
|
519
712
|
this.logger.debug(`\u{1F3AF} Custom routing: '${toolName}' -> '${actualToolName}'`);
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
713
|
+
const runInBackground = backgroundTasksEnabled && meta.runInBackground === true && sessionId !== void 0;
|
|
714
|
+
if (meta.runInBackground === true && !backgroundTasksEnabled) {
|
|
715
|
+
this.logger.debug(
|
|
716
|
+
"Background tool execution disabled; running synchronously instead.",
|
|
717
|
+
{ toolName }
|
|
718
|
+
);
|
|
719
|
+
}
|
|
720
|
+
if (runInBackground) {
|
|
721
|
+
const backgroundSessionId = sessionId;
|
|
722
|
+
const { result: backgroundResult, promise } = registerBackgroundTask(
|
|
723
|
+
this.internalToolsProvider.executeTool(
|
|
724
|
+
actualToolName,
|
|
725
|
+
toolArgs,
|
|
726
|
+
backgroundSessionId,
|
|
727
|
+
abortSignal,
|
|
728
|
+
toolCallId
|
|
729
|
+
),
|
|
730
|
+
`Custom tool ${actualToolName}`
|
|
731
|
+
);
|
|
732
|
+
this.agentEventBus.emit("tool:background", {
|
|
733
|
+
toolName,
|
|
734
|
+
toolCallId: backgroundResult.taskId,
|
|
735
|
+
sessionId: backgroundSessionId,
|
|
736
|
+
description: backgroundResult.description,
|
|
737
|
+
promise,
|
|
738
|
+
...meta.timeoutMs !== void 0 && { timeoutMs: meta.timeoutMs },
|
|
739
|
+
...meta.notifyOnComplete !== void 0 && {
|
|
740
|
+
notifyOnComplete: meta.notifyOnComplete
|
|
741
|
+
}
|
|
742
|
+
});
|
|
743
|
+
result = backgroundResult;
|
|
744
|
+
} else {
|
|
745
|
+
result = await this.internalToolsProvider.executeTool(
|
|
746
|
+
actualToolName,
|
|
747
|
+
toolArgs,
|
|
748
|
+
sessionId,
|
|
749
|
+
abortSignal,
|
|
750
|
+
toolCallId
|
|
751
|
+
);
|
|
752
|
+
}
|
|
527
753
|
} else {
|
|
528
754
|
this.logger.debug(`\u{1F527} Detected tool without proper prefix: '${toolName}'`);
|
|
529
755
|
const stats = await this.getToolStats();
|
|
@@ -776,12 +1002,12 @@ let _ToolManager = class _ToolManager {
|
|
|
776
1002
|
* Handle tool approval flow. Checks various precedence levels to determine
|
|
777
1003
|
* if a tool should be auto-approved, denied, or requires manual approval.
|
|
778
1004
|
*/
|
|
779
|
-
async handleToolApproval(toolName, args, toolCallId, sessionId) {
|
|
1005
|
+
async handleToolApproval(toolName, args, toolCallId, sessionId, callDescription) {
|
|
780
1006
|
const quickResult = await this.tryQuickApprovalResolution(toolName, args, sessionId);
|
|
781
1007
|
if (quickResult !== null) {
|
|
782
1008
|
return quickResult;
|
|
783
1009
|
}
|
|
784
|
-
return this.requestManualApproval(toolName, args, toolCallId, sessionId);
|
|
1010
|
+
return this.requestManualApproval(toolName, args, toolCallId, sessionId, callDescription);
|
|
785
1011
|
}
|
|
786
1012
|
/**
|
|
787
1013
|
* Try to resolve tool approval quickly based on policies and cached permissions.
|
|
@@ -855,7 +1081,7 @@ let _ToolManager = class _ToolManager {
|
|
|
855
1081
|
* Request manual approval from the user for a tool execution.
|
|
856
1082
|
* Generates preview, sends approval request, and handles the response.
|
|
857
1083
|
*/
|
|
858
|
-
async requestManualApproval(toolName, args, toolCallId, sessionId) {
|
|
1084
|
+
async requestManualApproval(toolName, args, toolCallId, sessionId, callDescription) {
|
|
859
1085
|
this.logger.info(
|
|
860
1086
|
`Tool confirmation requested for ${toolName}, sessionId: ${sessionId ?? "global"}`
|
|
861
1087
|
);
|
|
@@ -871,6 +1097,7 @@ let _ToolManager = class _ToolManager {
|
|
|
871
1097
|
toolName,
|
|
872
1098
|
toolCallId,
|
|
873
1099
|
args,
|
|
1100
|
+
...callDescription !== void 0 && { description: callDescription },
|
|
874
1101
|
...sessionId !== void 0 && { sessionId },
|
|
875
1102
|
...displayPreview !== void 0 && { displayPreview },
|
|
876
1103
|
...suggestedPatterns !== void 0 && { suggestedPatterns }
|
|
@@ -52,7 +52,7 @@ const PROVIDER_API_KEY_MAP = {
|
|
|
52
52
|
ollama: [],
|
|
53
53
|
// Ollama server (no authentication required)
|
|
54
54
|
// Dexto gateway - requires key from `dexto login`
|
|
55
|
-
dexto: ["DEXTO_API_KEY"]
|
|
55
|
+
"dexto-nova": ["DEXTO_API_KEY"]
|
|
56
56
|
// perplexity: ['PERPLEXITY_API_KEY'],
|
|
57
57
|
// together: ['TOGETHER_API_KEY'],
|
|
58
58
|
// fireworks: ['FIREWORKS_API_KEY'],
|
|
@@ -28,7 +28,7 @@ const PROVIDER_API_KEY_MAP = {
|
|
|
28
28
|
ollama: [],
|
|
29
29
|
// Ollama server (no authentication required)
|
|
30
30
|
// Dexto gateway - requires key from `dexto login`
|
|
31
|
-
dexto: ["DEXTO_API_KEY"]
|
|
31
|
+
"dexto-nova": ["DEXTO_API_KEY"]
|
|
32
32
|
// perplexity: ['PERPLEXITY_API_KEY'],
|
|
33
33
|
// together: ['TOGETHER_API_KEY'],
|
|
34
34
|
// fireworks: ['FIREWORKS_API_KEY'],
|
|
@@ -0,0 +1,49 @@
|
|
|
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 env_exports = {};
|
|
20
|
+
__export(env_exports, {
|
|
21
|
+
isBackgroundTasksEnabled: () => isBackgroundTasksEnabled,
|
|
22
|
+
isTruthyEnv: () => isTruthyEnv,
|
|
23
|
+
readBooleanEnv: () => readBooleanEnv
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(env_exports);
|
|
26
|
+
const TRUE_VALUES = /* @__PURE__ */ new Set(["1", "true", "yes", "on"]);
|
|
27
|
+
const FALSE_VALUES = /* @__PURE__ */ new Set(["0", "false", "no", "off"]);
|
|
28
|
+
function isTruthyEnv(name) {
|
|
29
|
+
const value = process.env[name];
|
|
30
|
+
if (!value) return false;
|
|
31
|
+
return TRUE_VALUES.has(value.trim().toLowerCase());
|
|
32
|
+
}
|
|
33
|
+
function readBooleanEnv(name, defaultValue) {
|
|
34
|
+
const value = process.env[name];
|
|
35
|
+
if (value === void 0) return defaultValue;
|
|
36
|
+
const normalized = value.trim().toLowerCase();
|
|
37
|
+
if (TRUE_VALUES.has(normalized)) return true;
|
|
38
|
+
if (FALSE_VALUES.has(normalized)) return false;
|
|
39
|
+
return defaultValue;
|
|
40
|
+
}
|
|
41
|
+
function isBackgroundTasksEnabled() {
|
|
42
|
+
return readBooleanEnv("DEXTO_BACKGROUND_TASKS_ENABLED", false);
|
|
43
|
+
}
|
|
44
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
45
|
+
0 && (module.exports = {
|
|
46
|
+
isBackgroundTasksEnabled,
|
|
47
|
+
isTruthyEnv,
|
|
48
|
+
readBooleanEnv
|
|
49
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/utils/env.ts"],"names":[],"mappings":"AAGA,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAIjD;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,GAAG,OAAO,CAO3E;AAED,wBAAgB,wBAAwB,IAAI,OAAO,CAElD"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import "../chunk-PTJYTZNU.js";
|
|
2
|
+
const TRUE_VALUES = /* @__PURE__ */ new Set(["1", "true", "yes", "on"]);
|
|
3
|
+
const FALSE_VALUES = /* @__PURE__ */ new Set(["0", "false", "no", "off"]);
|
|
4
|
+
function isTruthyEnv(name) {
|
|
5
|
+
const value = process.env[name];
|
|
6
|
+
if (!value) return false;
|
|
7
|
+
return TRUE_VALUES.has(value.trim().toLowerCase());
|
|
8
|
+
}
|
|
9
|
+
function readBooleanEnv(name, defaultValue) {
|
|
10
|
+
const value = process.env[name];
|
|
11
|
+
if (value === void 0) return defaultValue;
|
|
12
|
+
const normalized = value.trim().toLowerCase();
|
|
13
|
+
if (TRUE_VALUES.has(normalized)) return true;
|
|
14
|
+
if (FALSE_VALUES.has(normalized)) return false;
|
|
15
|
+
return defaultValue;
|
|
16
|
+
}
|
|
17
|
+
function isBackgroundTasksEnabled() {
|
|
18
|
+
return readBooleanEnv("DEXTO_BACKGROUND_TASKS_ENABLED", false);
|
|
19
|
+
}
|
|
20
|
+
export {
|
|
21
|
+
isBackgroundTasksEnabled,
|
|
22
|
+
isTruthyEnv,
|
|
23
|
+
readBooleanEnv
|
|
24
|
+
};
|
package/dist/utils/index.cjs
CHANGED
|
@@ -28,6 +28,7 @@ __reExport(utils_exports, require("./safe-stringify.js"), module.exports);
|
|
|
28
28
|
__reExport(utils_exports, require("./api-key-resolver.js"), module.exports);
|
|
29
29
|
__reExport(utils_exports, require("./defer.js"), module.exports);
|
|
30
30
|
__reExport(utils_exports, require("./async-context.js"), module.exports);
|
|
31
|
+
__reExport(utils_exports, require("./env.js"), module.exports);
|
|
31
32
|
// Annotate the CommonJS export names for ESM import in node:
|
|
32
33
|
0 && (module.exports = {
|
|
33
34
|
...require("./path.js"),
|
|
@@ -42,5 +43,6 @@ __reExport(utils_exports, require("./async-context.js"), module.exports);
|
|
|
42
43
|
...require("./safe-stringify.js"),
|
|
43
44
|
...require("./api-key-resolver.js"),
|
|
44
45
|
...require("./defer.js"),
|
|
45
|
-
...require("./async-context.js")
|
|
46
|
+
...require("./async-context.js"),
|
|
47
|
+
...require("./env.js")
|
|
46
48
|
});
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAKA,cAAc,WAAW,CAAC;AAC1B,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAKA,cAAc,WAAW,CAAC;AAC1B,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,UAAU,CAAC"}
|
package/dist/utils/index.js
CHANGED
|
@@ -116,7 +116,22 @@ async function createAgentServices(config, configPath, logger, agentEventBus, ov
|
|
|
116
116
|
},
|
|
117
117
|
logger
|
|
118
118
|
);
|
|
119
|
-
const
|
|
119
|
+
const internalToolsServices = {
|
|
120
|
+
searchService,
|
|
121
|
+
resourceManager
|
|
122
|
+
};
|
|
123
|
+
const toolManager = overrides?.toolManager ?? overrides?.toolManagerFactory?.({
|
|
124
|
+
mcpManager,
|
|
125
|
+
approvalManager,
|
|
126
|
+
allowedToolsProvider,
|
|
127
|
+
approvalMode: config.toolConfirmation.mode,
|
|
128
|
+
agentEventBus,
|
|
129
|
+
toolPolicies: config.toolConfirmation.toolPolicies,
|
|
130
|
+
internalToolsConfig: config.internalTools,
|
|
131
|
+
customToolsConfig: config.customTools,
|
|
132
|
+
internalToolsServices,
|
|
133
|
+
logger
|
|
134
|
+
}) ?? new import_tool_manager.ToolManager(
|
|
120
135
|
mcpManager,
|
|
121
136
|
approvalManager,
|
|
122
137
|
allowedToolsProvider,
|
|
@@ -124,10 +139,7 @@ async function createAgentServices(config, configPath, logger, agentEventBus, ov
|
|
|
124
139
|
agentEventBus,
|
|
125
140
|
config.toolConfirmation.toolPolicies,
|
|
126
141
|
{
|
|
127
|
-
internalToolsServices
|
|
128
|
-
searchService,
|
|
129
|
-
resourceManager
|
|
130
|
-
},
|
|
142
|
+
internalToolsServices,
|
|
131
143
|
internalToolsConfig: config.internalTools,
|
|
132
144
|
customToolsConfig: config.customTools
|
|
133
145
|
},
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { MCPManager } from '../mcp/manager.js';
|
|
2
2
|
import { ToolManager } from '../tools/tool-manager.js';
|
|
3
|
+
import type { InternalToolsServices } from '../tools/internal-tools/registry.js';
|
|
4
|
+
import type { InternalToolsConfig, CustomToolsConfig, ToolPolicies } from '../tools/schemas.js';
|
|
5
|
+
import type { IAllowedToolsProvider } from '../tools/confirmation/allowed-tools-provider/types.js';
|
|
3
6
|
import { SystemPromptManager } from '../systemPrompt/manager.js';
|
|
4
7
|
import { AgentStateManager } from '../agent/state-manager.js';
|
|
5
8
|
import { SessionManager } from '../session/index.js';
|
|
@@ -29,6 +32,25 @@ export type AgentServices = {
|
|
|
29
32
|
memoryManager: MemoryManager;
|
|
30
33
|
pluginManager: PluginManager;
|
|
31
34
|
};
|
|
35
|
+
export type ToolManagerFactoryOptions = {
|
|
36
|
+
mcpManager: MCPManager;
|
|
37
|
+
approvalManager: ApprovalManager;
|
|
38
|
+
allowedToolsProvider: IAllowedToolsProvider;
|
|
39
|
+
approvalMode: 'manual' | 'auto-approve' | 'auto-deny';
|
|
40
|
+
agentEventBus: AgentEventBus;
|
|
41
|
+
toolPolicies: ToolPolicies;
|
|
42
|
+
internalToolsConfig: InternalToolsConfig;
|
|
43
|
+
customToolsConfig: CustomToolsConfig;
|
|
44
|
+
internalToolsServices: InternalToolsServices & Record<string, unknown>;
|
|
45
|
+
logger: IDextoLogger;
|
|
46
|
+
};
|
|
47
|
+
export type ToolManagerFactory = (options: ToolManagerFactoryOptions) => ToolManager;
|
|
48
|
+
export type InitializeServicesOptions = {
|
|
49
|
+
sessionLoggerFactory?: import('../session/session-manager.js').SessionLoggerFactory;
|
|
50
|
+
mcpAuthProviderFactory?: import('../mcp/types.js').McpAuthProviderFactory | null;
|
|
51
|
+
toolManager?: ToolManager;
|
|
52
|
+
toolManagerFactory?: ToolManagerFactory;
|
|
53
|
+
};
|
|
32
54
|
/**
|
|
33
55
|
* Initializes all agent services from a validated configuration.
|
|
34
56
|
* @param config The validated agent configuration object
|
|
@@ -38,8 +60,5 @@ export type AgentServices = {
|
|
|
38
60
|
* @param overrides Optional service overrides for customization (e.g., sessionLoggerFactory)
|
|
39
61
|
* @returns All the initialized services required for a Dexto agent
|
|
40
62
|
*/
|
|
41
|
-
export declare function createAgentServices(config: ValidatedAgentConfig, configPath: string | undefined, logger: IDextoLogger, agentEventBus: AgentEventBus, overrides?:
|
|
42
|
-
sessionLoggerFactory?: import('../session/session-manager.js').SessionLoggerFactory;
|
|
43
|
-
mcpAuthProviderFactory?: import('../mcp/types.js').McpAuthProviderFactory | null;
|
|
44
|
-
}): Promise<AgentServices>;
|
|
63
|
+
export declare function createAgentServices(config: ValidatedAgentConfig, configPath: string | undefined, logger: IDextoLogger, agentEventBus: AgentEventBus, overrides?: InitializeServicesOptions): Promise<AgentServices>;
|
|
45
64
|
//# sourceMappingURL=service-initializer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service-initializer.d.ts","sourceRoot":"","sources":["../../src/utils/service-initializer.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAwB,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE3E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGtD;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IACxB,UAAU,EAAE,UAAU,CAAC;IACvB,WAAW,EAAE,WAAW,CAAC;IACzB,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,aAAa,EAAE,aAAa,CAAC;IAC7B,YAAY,EAAE,iBAAiB,CAAC;IAChC,cAAc,EAAE,cAAc,CAAC;IAC/B,aAAa,EAAE,aAAa,CAAC;IAC7B,cAAc,EAAE,cAAc,CAAC;IAC/B,eAAe,EAAE,eAAe,CAAC;IACjC,eAAe,EAAE,eAAe,CAAC;IACjC,aAAa,EAAE,aAAa,CAAC;IAC7B,aAAa,EAAE,aAAa,CAAC;CAChC,CAAC;
|
|
1
|
+
{"version":3,"file":"service-initializer.d.ts","sourceRoot":"","sources":["../../src/utils/service-initializer.ts"],"names":[],"mappings":"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"}
|