@pellux/goodvibes-sdk 0.23.2 → 0.25.0
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/_internal/contracts/zod-schemas/providers.d.ts +5 -5
- package/dist/_internal/platform/agents/orchestrator.d.ts +2 -0
- package/dist/_internal/platform/agents/orchestrator.d.ts.map +1 -1
- package/dist/_internal/platform/agents/orchestrator.js +38 -0
- package/dist/_internal/platform/automation/delivery-manager.d.ts +5 -0
- package/dist/_internal/platform/automation/delivery-manager.d.ts.map +1 -1
- package/dist/_internal/platform/automation/delivery-manager.js +14 -1
- package/dist/_internal/platform/automation/manager-runtime.d.ts +5 -0
- package/dist/_internal/platform/automation/manager-runtime.d.ts.map +1 -1
- package/dist/_internal/platform/automation/manager-runtime.js +32 -0
- package/dist/_internal/platform/channels/plugin-registry.d.ts +6 -0
- package/dist/_internal/platform/channels/plugin-registry.d.ts.map +1 -1
- package/dist/_internal/platform/channels/plugin-registry.js +17 -4
- package/dist/_internal/platform/channels/route-manager.d.ts +7 -0
- package/dist/_internal/platform/channels/route-manager.d.ts.map +1 -1
- package/dist/_internal/platform/channels/route-manager.js +41 -3
- package/dist/_internal/platform/channels/surface-registry.d.ts +3 -1
- package/dist/_internal/platform/channels/surface-registry.d.ts.map +1 -1
- package/dist/_internal/platform/channels/surface-registry.js +16 -17
- package/dist/_internal/platform/config/schema-types.d.ts +1 -1
- package/dist/_internal/platform/config/schema-types.d.ts.map +1 -1
- package/dist/_internal/platform/config/secret-refs.d.ts.map +1 -1
- package/dist/_internal/platform/config/secret-refs.js +137 -2
- package/dist/_internal/platform/control-plane/gateway.d.ts +5 -0
- package/dist/_internal/platform/control-plane/gateway.d.ts.map +1 -1
- package/dist/_internal/platform/control-plane/gateway.js +69 -4
- package/dist/_internal/platform/daemon/facade-composition.d.ts.map +1 -1
- package/dist/_internal/platform/daemon/facade-composition.js +2 -0
- package/dist/_internal/platform/daemon/facade.d.ts.map +1 -1
- package/dist/_internal/platform/daemon/facade.js +3 -1
- package/dist/_internal/platform/daemon/service-manager.d.ts +5 -0
- package/dist/_internal/platform/daemon/service-manager.d.ts.map +1 -1
- package/dist/_internal/platform/daemon/service-manager.js +29 -0
- package/dist/_internal/platform/integrations/delivery.d.ts +5 -1
- package/dist/_internal/platform/integrations/delivery.d.ts.map +1 -1
- package/dist/_internal/platform/integrations/delivery.js +8 -1
- package/dist/_internal/platform/integrations/notifier.d.ts +5 -1
- package/dist/_internal/platform/integrations/notifier.d.ts.map +1 -1
- package/dist/_internal/platform/integrations/notifier.js +6 -3
- package/dist/_internal/platform/permissions/manager.d.ts +3 -1
- package/dist/_internal/platform/permissions/manager.d.ts.map +1 -1
- package/dist/_internal/platform/permissions/manager.js +9 -5
- package/dist/_internal/platform/runtime/emitters/routes.d.ts +5 -0
- package/dist/_internal/platform/runtime/emitters/routes.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/emitters/routes.js +3 -0
- package/dist/_internal/platform/runtime/events/contracts/automation-route.d.ts +1 -0
- package/dist/_internal/platform/runtime/events/contracts/automation-route.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/events/contracts/automation-route.js +7 -0
- package/dist/_internal/platform/runtime/events/contracts.d.ts +1 -1
- package/dist/_internal/platform/runtime/events/contracts.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/events/contracts.js +3 -2
- package/dist/_internal/platform/runtime/events/routes.d.ts +5 -0
- package/dist/_internal/platform/runtime/events/routes.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/feature-flags/flags.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/feature-flags/flags.js +17 -21
- package/dist/_internal/platform/runtime/feature-flags/gates.d.ts +7 -0
- package/dist/_internal/platform/runtime/feature-flags/gates.d.ts.map +1 -0
- package/dist/_internal/platform/runtime/feature-flags/gates.js +38 -0
- package/dist/_internal/platform/runtime/feature-flags/index.d.ts +2 -0
- package/dist/_internal/platform/runtime/feature-flags/index.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/feature-flags/index.js +1 -0
- package/dist/_internal/platform/runtime/mcp/index.d.ts +2 -1
- package/dist/_internal/platform/runtime/mcp/index.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/mcp/index.js +4 -1
- package/dist/_internal/platform/runtime/permissions/index.d.ts +20 -1
- package/dist/_internal/platform/runtime/permissions/index.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/permissions/index.js +27 -1
- package/dist/_internal/platform/runtime/permissions/policy-loader.d.ts +6 -0
- package/dist/_internal/platform/runtime/permissions/policy-loader.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/permissions/policy-loader.js +7 -2
- package/dist/_internal/platform/runtime/plugins/index.d.ts +2 -1
- package/dist/_internal/platform/runtime/plugins/index.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/plugins/index.js +4 -1
- package/dist/_internal/platform/runtime/services.d.ts +1 -0
- package/dist/_internal/platform/runtime/services.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/services.js +21 -5
- package/dist/_internal/platform/runtime/shell-command-ops.d.ts +2 -0
- package/dist/_internal/platform/runtime/shell-command-ops.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/shell-command-ops.js +4 -1
- package/dist/_internal/platform/runtime/tasks/index.d.ts +2 -1
- package/dist/_internal/platform/runtime/tasks/index.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/tasks/index.js +2 -2
- package/dist/_internal/platform/runtime/tasks/manager.d.ts +5 -1
- package/dist/_internal/platform/runtime/tasks/manager.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/tasks/manager.js +30 -1
- package/dist/_internal/platform/runtime/telemetry/index.d.ts +9 -3
- package/dist/_internal/platform/runtime/telemetry/index.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/telemetry/index.js +7 -4
- package/dist/_internal/platform/runtime/tools/index.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/tools/index.js +4 -1
- package/dist/_internal/platform/runtime/tools/types.d.ts +6 -0
- package/dist/_internal/platform/runtime/tools/types.d.ts.map +1 -1
- package/dist/_internal/platform/security/token-audit.d.ts +7 -0
- package/dist/_internal/platform/security/token-audit.d.ts.map +1 -1
- package/dist/_internal/platform/security/token-audit.js +6 -2
- package/dist/_internal/platform/state/mode-manager.d.ts +7 -0
- package/dist/_internal/platform/state/mode-manager.d.ts.map +1 -1
- package/dist/_internal/platform/state/mode-manager.js +25 -0
- package/dist/_internal/platform/tools/index.d.ts +4 -0
- package/dist/_internal/platform/tools/index.d.ts.map +1 -1
- package/dist/_internal/platform/tools/index.js +37 -23
- package/dist/_internal/platform/tools/shared/overflow.d.ts +3 -0
- package/dist/_internal/platform/tools/shared/overflow.d.ts.map +1 -1
- package/dist/_internal/platform/tools/shared/overflow.js +6 -2
- package/dist/_internal/platform/version.js +1 -1
- package/dist/_internal/platform/watchers/registry.d.ts +6 -0
- package/dist/_internal/platform/watchers/registry.d.ts.map +1 -1
- package/dist/_internal/platform/watchers/registry.js +32 -0
- package/package.json +1 -1
|
@@ -23,9 +23,9 @@ export declare const ProviderModelEntrySchema: z.ZodObject<{
|
|
|
23
23
|
export type ProviderModelEntry = z.infer<typeof ProviderModelEntrySchema>;
|
|
24
24
|
export declare const ConfiguredViaSchema: z.ZodEnum<{
|
|
25
25
|
env: "env";
|
|
26
|
+
secrets: "secrets";
|
|
26
27
|
anonymous: "anonymous";
|
|
27
28
|
subscription: "subscription";
|
|
28
|
-
secrets: "secrets";
|
|
29
29
|
}>;
|
|
30
30
|
export type ConfiguredVia = z.infer<typeof ConfiguredViaSchema>;
|
|
31
31
|
export declare const ProviderEntrySchema: z.ZodObject<{
|
|
@@ -34,9 +34,9 @@ export declare const ProviderEntrySchema: z.ZodObject<{
|
|
|
34
34
|
configured: z.ZodBoolean;
|
|
35
35
|
configuredVia: z.ZodOptional<z.ZodEnum<{
|
|
36
36
|
env: "env";
|
|
37
|
+
secrets: "secrets";
|
|
37
38
|
anonymous: "anonymous";
|
|
38
39
|
subscription: "subscription";
|
|
39
|
-
secrets: "secrets";
|
|
40
40
|
}>>;
|
|
41
41
|
envVars: z.ZodArray<z.ZodString>;
|
|
42
42
|
models: z.ZodArray<z.ZodObject<{
|
|
@@ -55,9 +55,9 @@ export declare const ListProvidersResponseSchema: z.ZodObject<{
|
|
|
55
55
|
configured: z.ZodBoolean;
|
|
56
56
|
configuredVia: z.ZodOptional<z.ZodEnum<{
|
|
57
57
|
env: "env";
|
|
58
|
+
secrets: "secrets";
|
|
58
59
|
anonymous: "anonymous";
|
|
59
60
|
subscription: "subscription";
|
|
60
|
-
secrets: "secrets";
|
|
61
61
|
}>>;
|
|
62
62
|
envVars: z.ZodArray<z.ZodString>;
|
|
63
63
|
models: z.ZodArray<z.ZodObject<{
|
|
@@ -84,9 +84,9 @@ export declare const CurrentModelResponseSchema: z.ZodObject<{
|
|
|
84
84
|
configured: z.ZodBoolean;
|
|
85
85
|
configuredVia: z.ZodOptional<z.ZodEnum<{
|
|
86
86
|
env: "env";
|
|
87
|
+
secrets: "secrets";
|
|
87
88
|
anonymous: "anonymous";
|
|
88
89
|
subscription: "subscription";
|
|
89
|
-
secrets: "secrets";
|
|
90
90
|
}>>;
|
|
91
91
|
}, z.core.$strip>;
|
|
92
92
|
export type CurrentModelResponse = z.infer<typeof CurrentModelResponseSchema>;
|
|
@@ -114,9 +114,9 @@ export declare const PatchCurrentModelResponseSchema: z.ZodObject<{
|
|
|
114
114
|
configured: z.ZodBoolean;
|
|
115
115
|
configuredVia: z.ZodOptional<z.ZodEnum<{
|
|
116
116
|
env: "env";
|
|
117
|
+
secrets: "secrets";
|
|
117
118
|
anonymous: "anonymous";
|
|
118
119
|
subscription: "subscription";
|
|
119
|
-
secrets: "secrets";
|
|
120
120
|
}>>;
|
|
121
121
|
persisted: z.ZodBoolean;
|
|
122
122
|
}, z.core.$strip>;
|
|
@@ -89,6 +89,8 @@ export declare class AgentOrchestrator {
|
|
|
89
89
|
*/
|
|
90
90
|
private buildScopedRegistry;
|
|
91
91
|
private resolveProviderForRecord;
|
|
92
|
+
private resolveOptimizedProviderRoute;
|
|
93
|
+
private buildOptimizerRequestProfile;
|
|
92
94
|
private resolveProviderRouting;
|
|
93
95
|
private normalizeRequestedModelId;
|
|
94
96
|
private resolveChatModelId;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/agents/orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAGjE,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAGlE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/agents/orchestrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -177,6 +177,9 @@ export class AgentOrchestrator {
|
|
|
177
177
|
return scopedRegistry;
|
|
178
178
|
}
|
|
179
179
|
resolveProviderForRecord(providerRegistry, record, currentModel) {
|
|
180
|
+
const optimizedRoute = this.resolveOptimizedProviderRoute(providerRegistry, record);
|
|
181
|
+
if (optimizedRoute)
|
|
182
|
+
return optimizedRoute;
|
|
180
183
|
const routing = this.resolveProviderRouting(record, currentModel);
|
|
181
184
|
const scopedModelId = this.normalizeRequestedModelId(routing.requestedModelId, routing.providerOverride);
|
|
182
185
|
try {
|
|
@@ -203,6 +206,41 @@ export class AgentOrchestrator {
|
|
|
203
206
|
throw new Error(`Cannot resolve provider for model '${scopedModelId}': ${summarizeError(err)}`);
|
|
204
207
|
}
|
|
205
208
|
}
|
|
209
|
+
resolveOptimizedProviderRoute(providerRegistry, record) {
|
|
210
|
+
const optimizer = this.toolDeps?.providerOptimizer;
|
|
211
|
+
if (!optimizer?.enabled || optimizer.mode === 'manual')
|
|
212
|
+
return null;
|
|
213
|
+
if (record.model || record.provider)
|
|
214
|
+
return null;
|
|
215
|
+
if (record.routing?.providerSelection === 'concrete' || record.routing?.providerSelection === 'synthetic') {
|
|
216
|
+
return null;
|
|
217
|
+
}
|
|
218
|
+
const decision = optimizer.selectRoute(this.buildOptimizerRequestProfile(record));
|
|
219
|
+
if (!decision?.explanation.accepted)
|
|
220
|
+
return null;
|
|
221
|
+
try {
|
|
222
|
+
return {
|
|
223
|
+
provider: providerRegistry.getForModel(decision.modelId, decision.providerId),
|
|
224
|
+
modelId: this.resolveChatModelId(providerRegistry, decision.modelId, decision.providerId),
|
|
225
|
+
requestedModelId: `${decision.providerId}:${decision.modelId}`,
|
|
226
|
+
};
|
|
227
|
+
}
|
|
228
|
+
catch (error) {
|
|
229
|
+
logger.warn('[AgentOrchestrator] provider optimizer selected an unresolved route; falling back to legacy routing', {
|
|
230
|
+
agentId: record.id,
|
|
231
|
+
providerId: decision.providerId,
|
|
232
|
+
modelId: decision.modelId,
|
|
233
|
+
error: summarizeError(error),
|
|
234
|
+
});
|
|
235
|
+
return null;
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
buildOptimizerRequestProfile(record) {
|
|
239
|
+
return {
|
|
240
|
+
requiresToolCalling: record.tools.length > 0,
|
|
241
|
+
requiresReasoningControls: record.reasoningEffort !== undefined,
|
|
242
|
+
};
|
|
243
|
+
}
|
|
206
244
|
resolveProviderRouting(record, currentModel) {
|
|
207
245
|
const requestedModelId = record.model ?? currentModel.id;
|
|
208
246
|
const fallbackModels = (record.routing?.fallbackModels
|
|
@@ -6,9 +6,11 @@ import type { RuntimeEventBus } from '../runtime/events/index.js';
|
|
|
6
6
|
import type { AutomationDeliveryAttempt, AutomationDeliveryTarget } from './delivery.js';
|
|
7
7
|
import type { AutomationJob } from './jobs.js';
|
|
8
8
|
import type { AutomationRun } from './runs.js';
|
|
9
|
+
import type { FeatureFlagReader } from '../runtime/feature-flags/index.js';
|
|
9
10
|
export declare class AutomationDeliveryManager {
|
|
10
11
|
private readonly routeBindings;
|
|
11
12
|
private readonly deliveryRouter;
|
|
13
|
+
private readonly featureFlags;
|
|
12
14
|
private runtimeDispatch;
|
|
13
15
|
private runtimeBus;
|
|
14
16
|
constructor(config: {
|
|
@@ -19,12 +21,15 @@ export declare class AutomationDeliveryManager {
|
|
|
19
21
|
readonly artifactStore?: ArtifactStore;
|
|
20
22
|
readonly runtimeStore?: RuntimeStore;
|
|
21
23
|
readonly runtimeBus?: RuntimeEventBus;
|
|
24
|
+
readonly featureFlags?: FeatureFlagReader;
|
|
22
25
|
});
|
|
23
26
|
attachRuntime(config: {
|
|
24
27
|
readonly runtimeStore?: RuntimeStore | null;
|
|
25
28
|
readonly runtimeBus?: RuntimeEventBus | null;
|
|
26
29
|
}): void;
|
|
27
30
|
getDeliveryRouter(): ChannelDeliveryRouter;
|
|
31
|
+
private isEnabled;
|
|
32
|
+
private isTargetEnabled;
|
|
28
33
|
setControlPlaneGateway(gateway: import('../control-plane/gateway.js').ControlPlaneGateway | null): void;
|
|
29
34
|
deliverJobRun(job: AutomationJob, run: AutomationRun): Promise<readonly AutomationDeliveryAttempt[]>;
|
|
30
35
|
deliverText(job: AutomationJob, run: AutomationRun, body: string, targets: readonly AutomationDeliveryTarget[]): Promise<readonly AutomationDeliveryAttempt[]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delivery-manager.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/automation/delivery-manager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAqB,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,KAAK,EAAkB,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAQlE,OAAO,KAAK,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AACzF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"delivery-manager.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/automation/delivery-manager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAqB,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,KAAK,EAAkB,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAQlE,OAAO,KAAK,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AACzF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAG/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAiF3E,qBAAa,yBAAyB;IACpC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAsB;IACpD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAwB;IACvD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoB;IACjD,OAAO,CAAC,eAAe,CAA+B;IACtD,OAAO,CAAC,UAAU,CAAgC;gBAEtC,MAAM,EAAE;QAClB,QAAQ,CAAC,eAAe,CAAC,EAAE,eAAe,CAAC;QAC3C,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,sBAAsB,EAAE,aAAa,CAAC;QACtE,QAAQ,CAAC,aAAa,EAAE,mBAAmB,CAAC;QAC5C,QAAQ,CAAC,cAAc,CAAC,EAAE,qBAAqB,CAAC;QAChD,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC;QACvC,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC;QACrC,QAAQ,CAAC,UAAU,CAAC,EAAE,eAAe,CAAC;QACtC,QAAQ,CAAC,YAAY,CAAC,EAAE,iBAAiB,CAAC;KAC3C;IAqBD,aAAa,CAAC,MAAM,EAAE;QACpB,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;QAC5C,QAAQ,CAAC,UAAU,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;KAC9C,GAAG,IAAI;IASR,iBAAiB,IAAI,qBAAqB;IAI1C,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,eAAe;IAIvB,sBAAsB,CAAC,OAAO,EAAE,OAAO,6BAA6B,EAAE,mBAAmB,GAAG,IAAI,GAAG,IAAI;IAIjG,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,SAAS,yBAAyB,EAAE,CAAC;IAoBpG,WAAW,CACf,GAAG,EAAE,aAAa,EAClB,GAAG,EAAE,aAAa,EAClB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,SAAS,wBAAwB,EAAE,GAC3C,OAAO,CAAC,SAAS,yBAAyB,EAAE,CAAC;IAyFhD,OAAO,CAAC,cAAc;YAoBR,UAAU;IAoBxB,OAAO,CAAC,WAAW;CA8DpB"}
|
|
@@ -5,6 +5,7 @@ import { createDomainDispatch } from '../runtime/store/index.js';
|
|
|
5
5
|
import { emitDeliveryFailed, emitDeliveryQueued, emitDeliveryStarted, emitDeliverySucceeded, } from '../runtime/emitters/index.js';
|
|
6
6
|
import { classifyDeliveryError } from '../integrations/delivery.js';
|
|
7
7
|
import { summarizeError } from '../utils/error-display.js';
|
|
8
|
+
import { isFeatureGateEnabled, isSurfaceFeatureGateEnabled } from '../runtime/feature-flags/index.js';
|
|
8
9
|
function sleep(ms) {
|
|
9
10
|
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
10
11
|
}
|
|
@@ -79,10 +80,12 @@ function extractArtifactReferences(result) {
|
|
|
79
80
|
export class AutomationDeliveryManager {
|
|
80
81
|
routeBindings;
|
|
81
82
|
deliveryRouter;
|
|
83
|
+
featureFlags;
|
|
82
84
|
runtimeDispatch = null;
|
|
83
85
|
runtimeBus = null;
|
|
84
86
|
constructor(config) {
|
|
85
87
|
this.routeBindings = config.routeBindings;
|
|
88
|
+
this.featureFlags = config.featureFlags ?? null;
|
|
86
89
|
if (config.deliveryRouter) {
|
|
87
90
|
this.deliveryRouter = config.deliveryRouter;
|
|
88
91
|
}
|
|
@@ -111,10 +114,18 @@ export class AutomationDeliveryManager {
|
|
|
111
114
|
getDeliveryRouter() {
|
|
112
115
|
return this.deliveryRouter;
|
|
113
116
|
}
|
|
117
|
+
isEnabled() {
|
|
118
|
+
return isFeatureGateEnabled(this.featureFlags, 'delivery-engine');
|
|
119
|
+
}
|
|
120
|
+
isTargetEnabled(target) {
|
|
121
|
+
return isSurfaceFeatureGateEnabled(this.featureFlags, target.surfaceKind ?? 'webhook');
|
|
122
|
+
}
|
|
114
123
|
setControlPlaneGateway(gateway) {
|
|
115
124
|
this.deliveryRouter.setControlPlaneGateway(gateway);
|
|
116
125
|
}
|
|
117
126
|
async deliverJobRun(job, run) {
|
|
127
|
+
if (!this.isEnabled())
|
|
128
|
+
return [];
|
|
118
129
|
if (job.delivery.mode === 'none')
|
|
119
130
|
return [];
|
|
120
131
|
await this.routeBindings.start();
|
|
@@ -133,8 +144,10 @@ export class AutomationDeliveryManager {
|
|
|
133
144
|
return [...attempts, ...fallbackAttempts];
|
|
134
145
|
}
|
|
135
146
|
async deliverText(job, run, body, targets) {
|
|
147
|
+
if (!this.isEnabled())
|
|
148
|
+
return [];
|
|
136
149
|
await this.routeBindings.start();
|
|
137
|
-
const resolvedTargets = this.resolveTargets(targets);
|
|
150
|
+
const resolvedTargets = this.resolveTargets(targets).filter((entry) => this.isTargetEnabled(entry.target));
|
|
138
151
|
if (resolvedTargets.length === 0)
|
|
139
152
|
return [];
|
|
140
153
|
const attempts = [];
|
|
@@ -15,6 +15,7 @@ import type { AutomationSurfaceKind } from './types.js';
|
|
|
15
15
|
import { SharedSessionBroker } from '../control-plane/index.js';
|
|
16
16
|
import type { CreateAutomationJobInput, SpawnAutomationTaskInput, UpdateAutomationJobInput } from './manager-runtime-helpers.js';
|
|
17
17
|
import { type AutomationHeartbeatWake } from './manager-runtime-scheduling.js';
|
|
18
|
+
import type { FeatureFlagReader } from '../runtime/feature-flags/index.js';
|
|
18
19
|
export type { CreateAutomationJobInput, UpdateAutomationJobInput, SpawnAutomationTaskInput, } from './manager-runtime-helpers.js';
|
|
19
20
|
export type { AutomationHeartbeatWake } from './manager-runtime-scheduling.js';
|
|
20
21
|
interface AutomationManagerConfig {
|
|
@@ -32,6 +33,7 @@ interface AutomationManagerConfig {
|
|
|
32
33
|
readonly sessionBroker: SharedSessionBroker;
|
|
33
34
|
readonly defaultSurfaceKind?: AutomationSurfaceKind;
|
|
34
35
|
readonly defaultSurfaceId?: string;
|
|
36
|
+
readonly featureFlags?: FeatureFlagReader;
|
|
35
37
|
}
|
|
36
38
|
export interface AutomationHeartbeatResult {
|
|
37
39
|
readonly processed: readonly AutomationRun[];
|
|
@@ -63,11 +65,14 @@ export declare class AutomationManager {
|
|
|
63
65
|
private readonly deliveryInFlight;
|
|
64
66
|
private runtimeDispatch;
|
|
65
67
|
private runtimeBus;
|
|
68
|
+
private readonly featureFlags;
|
|
66
69
|
private loaded;
|
|
67
70
|
private running;
|
|
68
71
|
private startPromise;
|
|
69
72
|
private reconcileTimer;
|
|
70
73
|
constructor(config: AutomationManagerConfig);
|
|
74
|
+
private isEnabled;
|
|
75
|
+
private requireEnabled;
|
|
71
76
|
private requireSpawnTask;
|
|
72
77
|
private requireCancelTask;
|
|
73
78
|
private runtimeExecutionContext;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager-runtime.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/automation/manager-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,KAAK,EAAkB,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAE5D,OAAO,EAA0B,KAAK,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACtF,OAAO,EAA4B,KAAK,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACjG,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAiC,sBAAsB,EAAE,MAAM,WAAW,CAAC;AACtG,OAAO,KAAK,EAAwB,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EACV,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,EACzB,MAAM,8BAA8B,CAAC;AAoBtC,OAAO,EAML,KAAK,uBAAuB,EAC7B,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"manager-runtime.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/automation/manager-runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,6 +19,7 @@ import { collectAutomationSources, syncAutomationJobToRuntime, syncAutomationRun
|
|
|
19
19
|
import { reconcileAutomationActiveRuns } from './manager-runtime-reconcile.js';
|
|
20
20
|
import { summarizeError } from '../utils/error-display.js';
|
|
21
21
|
import { createAutomationJobRecord, toggleAutomationJobEnabled, updateAutomationJobRecord, } from './manager-runtime-job-mutations.js';
|
|
22
|
+
import { isFeatureGateEnabled, requireFeatureGate } from '../runtime/feature-flags/index.js';
|
|
22
23
|
export class AutomationManager {
|
|
23
24
|
jobStore;
|
|
24
25
|
runStore;
|
|
@@ -40,6 +41,7 @@ export class AutomationManager {
|
|
|
40
41
|
deliveryInFlight = new Set();
|
|
41
42
|
runtimeDispatch = null;
|
|
42
43
|
runtimeBus = null;
|
|
44
|
+
featureFlags;
|
|
43
45
|
loaded = false;
|
|
44
46
|
running = false;
|
|
45
47
|
startPromise = null;
|
|
@@ -61,6 +63,13 @@ export class AutomationManager {
|
|
|
61
63
|
}
|
|
62
64
|
this.runtimeBus = config.runtimeBus ?? null;
|
|
63
65
|
this.deliveryManager = config.deliveryManager ?? null;
|
|
66
|
+
this.featureFlags = config.featureFlags ?? null;
|
|
67
|
+
}
|
|
68
|
+
isEnabled() {
|
|
69
|
+
return isFeatureGateEnabled(this.featureFlags, 'automation-domain', ['automation-runtime']);
|
|
70
|
+
}
|
|
71
|
+
requireEnabled(operation) {
|
|
72
|
+
requireFeatureGate(this.featureFlags, 'automation-domain', operation, ['automation-runtime']);
|
|
64
73
|
}
|
|
65
74
|
requireSpawnTask() {
|
|
66
75
|
if (!this.spawnTask) {
|
|
@@ -113,6 +122,10 @@ export class AutomationManager {
|
|
|
113
122
|
};
|
|
114
123
|
}
|
|
115
124
|
async start() {
|
|
125
|
+
if (!this.isEnabled()) {
|
|
126
|
+
this.stop();
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
116
129
|
if (this.running)
|
|
117
130
|
return;
|
|
118
131
|
if (this.startPromise)
|
|
@@ -165,10 +178,14 @@ export class AutomationManager {
|
|
|
165
178
|
}
|
|
166
179
|
}
|
|
167
180
|
listJobs() {
|
|
181
|
+
if (!this.isEnabled())
|
|
182
|
+
return [];
|
|
168
183
|
this.reconcileActiveRuns();
|
|
169
184
|
return sortJobs(this.jobs.values());
|
|
170
185
|
}
|
|
171
186
|
listRuns(jobId) {
|
|
187
|
+
if (!this.isEnabled())
|
|
188
|
+
return [];
|
|
172
189
|
this.reconcileActiveRuns();
|
|
173
190
|
const runs = jobId
|
|
174
191
|
? [...this.runs.values()].filter((run) => run.jobId === jobId)
|
|
@@ -176,22 +193,30 @@ export class AutomationManager {
|
|
|
176
193
|
return sortRuns(runs);
|
|
177
194
|
}
|
|
178
195
|
listHeartbeatWakes() {
|
|
196
|
+
if (!this.isEnabled())
|
|
197
|
+
return [];
|
|
179
198
|
this.queueDueHeartbeatJobs('inspect');
|
|
180
199
|
return [...this.heartbeatWakes.values()].sort((a, b) => a.queuedAt - b.queuedAt || a.jobId.localeCompare(b.jobId));
|
|
181
200
|
}
|
|
182
201
|
getRun(runId) {
|
|
202
|
+
if (!this.isEnabled())
|
|
203
|
+
return undefined;
|
|
183
204
|
this.reconcileActiveRuns();
|
|
184
205
|
return this.runs.get(runId);
|
|
185
206
|
}
|
|
186
207
|
getJob(jobId) {
|
|
208
|
+
if (!this.isEnabled())
|
|
209
|
+
return undefined;
|
|
187
210
|
this.reconcileActiveRuns();
|
|
188
211
|
return this.jobs.get(jobId);
|
|
189
212
|
}
|
|
190
213
|
async createJob(input) {
|
|
214
|
+
this.requireEnabled('create automation job');
|
|
191
215
|
await this.start();
|
|
192
216
|
return await createAutomationJobRecord(this.jobMutationContext(), input);
|
|
193
217
|
}
|
|
194
218
|
async removeJob(jobId) {
|
|
219
|
+
this.requireEnabled('remove automation job');
|
|
195
220
|
await this.start();
|
|
196
221
|
this.cancelTimer(jobId);
|
|
197
222
|
const removed = this.jobs.delete(jobId);
|
|
@@ -201,6 +226,7 @@ export class AutomationManager {
|
|
|
201
226
|
return true;
|
|
202
227
|
}
|
|
203
228
|
async setEnabled(jobId, enabled) {
|
|
229
|
+
this.requireEnabled('set automation job enabled state');
|
|
204
230
|
await this.start();
|
|
205
231
|
const updated = await toggleAutomationJobEnabled(this.jobMutationContext(), jobId, enabled);
|
|
206
232
|
if (!enabled)
|
|
@@ -208,10 +234,12 @@ export class AutomationManager {
|
|
|
208
234
|
return updated;
|
|
209
235
|
}
|
|
210
236
|
async updateJob(jobId, patch) {
|
|
237
|
+
this.requireEnabled('update automation job');
|
|
211
238
|
await this.start();
|
|
212
239
|
return await updateAutomationJobRecord(this.jobMutationContext(), jobId, patch);
|
|
213
240
|
}
|
|
214
241
|
async runNow(jobId) {
|
|
242
|
+
this.requireEnabled('run automation job');
|
|
215
243
|
await this.start();
|
|
216
244
|
const job = this.jobs.get(jobId);
|
|
217
245
|
if (!job)
|
|
@@ -222,6 +250,7 @@ export class AutomationManager {
|
|
|
222
250
|
return await this.executeJob(job, 'manual', false);
|
|
223
251
|
}
|
|
224
252
|
async triggerHeartbeat(_input = {}) {
|
|
253
|
+
this.requireEnabled('trigger automation heartbeat');
|
|
225
254
|
await this.start();
|
|
226
255
|
this.queueDueHeartbeatJobs('heartbeat');
|
|
227
256
|
const queued = this.listHeartbeatWakes();
|
|
@@ -254,6 +283,7 @@ export class AutomationManager {
|
|
|
254
283
|
};
|
|
255
284
|
}
|
|
256
285
|
async retryRun(runId) {
|
|
286
|
+
this.requireEnabled('retry automation run');
|
|
257
287
|
await this.start();
|
|
258
288
|
const run = this.runs.get(runId);
|
|
259
289
|
if (!run)
|
|
@@ -267,6 +297,7 @@ export class AutomationManager {
|
|
|
267
297
|
return await this.executeJob(job, 'manual', false, run.attempt + 1);
|
|
268
298
|
}
|
|
269
299
|
async cancelRun(runId, reason = 'operator-cancelled') {
|
|
300
|
+
this.requireEnabled('cancel automation run');
|
|
270
301
|
await this.start();
|
|
271
302
|
const run = this.runs.get(runId);
|
|
272
303
|
if (!run)
|
|
@@ -312,6 +343,7 @@ export class AutomationManager {
|
|
|
312
343
|
return updatedRun;
|
|
313
344
|
}
|
|
314
345
|
async recordExternalRunResult(runId, input) {
|
|
346
|
+
this.requireEnabled('record automation run result');
|
|
315
347
|
await this.start();
|
|
316
348
|
const run = this.runs.get(runId);
|
|
317
349
|
if (!run)
|
|
@@ -2,6 +2,7 @@ import type { AutomationRouteBinding } from '../automation/routes.js';
|
|
|
2
2
|
import type { SharedApprovalRecord } from '../control-plane/index.js';
|
|
3
3
|
import type { Tool } from '../types/tools.js';
|
|
4
4
|
import type { ChannelAdapterDescriptor, ChannelAllowlistEditInput, ChannelAllowlistEditResult, ChannelAllowlistResolution, ChannelAccountRecord, ChannelAccountLifecycleAction, ChannelAccountLifecycleResult, ChannelActorAuthorizationRequest, ChannelActorAuthorizationResult, ChannelCapabilityDescriptor, ChannelCapability, ChannelConversationKind, ChannelDirectoryEntry, ChannelDirectoryQueryOptions, ChannelDoctorReport, ChannelLifecycleState, ChannelOperatorActionDescriptor, ChannelRenderPolicy, ChannelRenderRequest, ChannelRenderResult, ChannelResolvedTarget, ChannelRepairAction, ChannelSetupSchema, ChannelStatusSnapshot, ChannelSurface, ChannelTargetResolveOptions, ChannelToolDescriptor } from './types.js';
|
|
5
|
+
import type { FeatureFlagReader } from '../runtime/feature-flags/index.js';
|
|
5
6
|
export interface ChannelPlugin {
|
|
6
7
|
readonly id: string;
|
|
7
8
|
readonly surface: ChannelSurface;
|
|
@@ -53,7 +54,12 @@ export declare class ChannelPluginRegistry {
|
|
|
53
54
|
private readonly plugins;
|
|
54
55
|
private readonly pluginsBySurface;
|
|
55
56
|
private readonly pluginsByPath;
|
|
57
|
+
private readonly featureFlags;
|
|
56
58
|
private version;
|
|
59
|
+
constructor(options?: {
|
|
60
|
+
readonly featureFlags?: FeatureFlagReader;
|
|
61
|
+
});
|
|
62
|
+
private isPluginEnabled;
|
|
57
63
|
register(plugin: ChannelPlugin): void;
|
|
58
64
|
unregister(pluginId: string): boolean;
|
|
59
65
|
getVersion(): number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-registry.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/channels/plugin-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,KAAK,EACV,wBAAwB,EACxB,yBAAyB,EACzB,0BAA0B,EAC1B,0BAA0B,EAC1B,oBAAoB,EACpB,6BAA6B,EAC7B,6BAA6B,EAC7B,gCAAgC,EAChC,+BAA+B,EAC/B,2BAA2B,EAC3B,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,EACrB,4BAA4B,EAC5B,mBAAmB,EACnB,qBAAqB,EACrB,+BAA+B,EAC/B,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,cAAc,EACd,2BAA2B,EAC3B,qBAAqB,EACtB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"plugin-registry.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/channels/plugin-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,16 @@
|
|
|
1
|
+
import { isSurfaceFeatureGateEnabled } from '../runtime/feature-flags/index.js';
|
|
1
2
|
export class ChannelPluginRegistry {
|
|
2
3
|
plugins = new Map();
|
|
3
4
|
pluginsBySurface = new Map();
|
|
4
5
|
pluginsByPath = new Map();
|
|
6
|
+
featureFlags;
|
|
5
7
|
version = 0;
|
|
8
|
+
constructor(options = {}) {
|
|
9
|
+
this.featureFlags = options.featureFlags ?? null;
|
|
10
|
+
}
|
|
11
|
+
isPluginEnabled(plugin) {
|
|
12
|
+
return isSurfaceFeatureGateEnabled(this.featureFlags, plugin.surface);
|
|
13
|
+
}
|
|
6
14
|
register(plugin) {
|
|
7
15
|
const existingById = this.plugins.get(plugin.id);
|
|
8
16
|
if (existingById?.webhookPath) {
|
|
@@ -42,7 +50,9 @@ export class ChannelPluginRegistry {
|
|
|
42
50
|
return this.version;
|
|
43
51
|
}
|
|
44
52
|
list() {
|
|
45
|
-
return [...this.plugins.values()]
|
|
53
|
+
return [...this.plugins.values()]
|
|
54
|
+
.filter((plugin) => this.isPluginEnabled(plugin))
|
|
55
|
+
.sort((a, b) => a.displayName.localeCompare(b.displayName));
|
|
46
56
|
}
|
|
47
57
|
listDescriptors() {
|
|
48
58
|
return this.list().map((plugin) => ({
|
|
@@ -54,13 +64,16 @@ export class ChannelPluginRegistry {
|
|
|
54
64
|
}));
|
|
55
65
|
}
|
|
56
66
|
getBySurface(surface) {
|
|
57
|
-
|
|
67
|
+
const plugin = this.pluginsBySurface.get(surface);
|
|
68
|
+
return plugin && this.isPluginEnabled(plugin) ? plugin : null;
|
|
58
69
|
}
|
|
59
70
|
get(pluginId) {
|
|
60
|
-
|
|
71
|
+
const plugin = this.plugins.get(pluginId);
|
|
72
|
+
return plugin && this.isPluginEnabled(plugin) ? plugin : null;
|
|
61
73
|
}
|
|
62
74
|
getByPath(pathname) {
|
|
63
|
-
|
|
75
|
+
const plugin = this.pluginsByPath.get(pathname);
|
|
76
|
+
return plugin && this.isPluginEnabled(plugin) ? plugin : null;
|
|
64
77
|
}
|
|
65
78
|
async handleInbound(pathname, req) {
|
|
66
79
|
const plugin = this.getByPath(pathname);
|
|
@@ -3,6 +3,7 @@ import type { RuntimeEventBus } from '../runtime/events/index.js';
|
|
|
3
3
|
import type { AutomationRouteBinding } from '../automation/routes.js';
|
|
4
4
|
import type { AutomationSurfaceKind } from '../automation/types.js';
|
|
5
5
|
import { AutomationRouteStore } from '../automation/store/routes.js';
|
|
6
|
+
import type { FeatureFlagManager } from '../runtime/feature-flags/index.js';
|
|
6
7
|
export interface UpsertRouteBindingInput {
|
|
7
8
|
readonly id?: string;
|
|
8
9
|
readonly kind: AutomationRouteBinding['kind'];
|
|
@@ -32,17 +33,22 @@ export interface PatchRouteBindingInput {
|
|
|
32
33
|
readonly title?: string;
|
|
33
34
|
readonly metadata?: Record<string, unknown>;
|
|
34
35
|
}
|
|
36
|
+
type RouteBindingFeatureFlags = Pick<FeatureFlagManager, 'isEnabled'>;
|
|
35
37
|
export declare class RouteBindingManager {
|
|
36
38
|
private readonly store;
|
|
37
39
|
private readonly bindings;
|
|
38
40
|
private runtimeDispatch;
|
|
39
41
|
private runtimeBus;
|
|
42
|
+
private readonly featureFlags;
|
|
40
43
|
private loaded;
|
|
41
44
|
constructor(config?: {
|
|
42
45
|
readonly store?: AutomationRouteStore;
|
|
43
46
|
readonly runtimeStore?: RuntimeStore;
|
|
44
47
|
readonly runtimeBus?: RuntimeEventBus;
|
|
48
|
+
readonly featureFlags?: RouteBindingFeatureFlags | null;
|
|
45
49
|
});
|
|
50
|
+
private isEnabled;
|
|
51
|
+
private requireEnabled;
|
|
46
52
|
attachRuntime(config: {
|
|
47
53
|
readonly runtimeStore?: RuntimeStore | null;
|
|
48
54
|
readonly runtimeBus?: RuntimeEventBus | null;
|
|
@@ -57,4 +63,5 @@ export declare class RouteBindingManager {
|
|
|
57
63
|
removeBinding(bindingId: string): Promise<boolean>;
|
|
58
64
|
recordFailure(surfaceKind: AutomationSurfaceKind, externalId: string, error: string): void;
|
|
59
65
|
}
|
|
66
|
+
export {};
|
|
60
67
|
//# sourceMappingURL=route-manager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route-manager.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/channels/route-manager.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAkB,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"route-manager.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/channels/route-manager.ts"],"names":[],"mappings":"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"}
|