@pellux/goodvibes-sdk 0.18.42 → 0.18.46
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/daemon/runtime-route-types.d.ts +7 -0
- package/dist/_internal/daemon/runtime-route-types.d.ts.map +1 -1
- package/dist/_internal/daemon/runtime-session-routes.d.ts.map +1 -1
- package/dist/_internal/daemon/runtime-session-routes.js +43 -0
- package/dist/_internal/platform/companion/companion-chat-manager.d.ts +94 -0
- package/dist/_internal/platform/companion/companion-chat-manager.d.ts.map +1 -0
- package/dist/_internal/platform/companion/companion-chat-manager.js +291 -0
- package/dist/_internal/platform/companion/companion-chat-route-types.d.ts +31 -0
- package/dist/_internal/platform/companion/companion-chat-route-types.d.ts.map +1 -0
- package/dist/_internal/platform/companion/companion-chat-route-types.js +6 -0
- package/dist/_internal/platform/companion/companion-chat-routes.d.ts +23 -0
- package/dist/_internal/platform/companion/companion-chat-routes.d.ts.map +1 -0
- package/dist/_internal/platform/companion/companion-chat-routes.js +133 -0
- package/dist/_internal/platform/companion/companion-chat-types.d.ts +108 -0
- package/dist/_internal/platform/companion/companion-chat-types.d.ts.map +1 -0
- package/dist/_internal/platform/companion/companion-chat-types.js +11 -0
- package/dist/_internal/platform/companion/index.d.ts +6 -0
- package/dist/_internal/platform/companion/index.d.ts.map +1 -0
- package/dist/_internal/platform/companion/index.js +2 -0
- package/dist/_internal/platform/config/manager.d.ts +12 -0
- package/dist/_internal/platform/config/manager.d.ts.map +1 -1
- package/dist/_internal/platform/config/manager.js +30 -0
- package/dist/_internal/platform/control-plane/conversation-message.d.ts +29 -0
- package/dist/_internal/platform/control-plane/conversation-message.d.ts.map +1 -0
- package/dist/_internal/platform/control-plane/conversation-message.js +9 -0
- package/dist/_internal/platform/control-plane/index.d.ts +1 -0
- package/dist/_internal/platform/control-plane/index.d.ts.map +1 -1
- package/dist/_internal/platform/control-plane/session-broker.d.ts +7 -0
- package/dist/_internal/platform/control-plane/session-broker.d.ts.map +1 -1
- package/dist/_internal/platform/control-plane/session-broker.js +102 -11
- package/dist/_internal/platform/control-plane/session-types.d.ts +11 -1
- package/dist/_internal/platform/control-plane/session-types.d.ts.map +1 -1
- package/dist/_internal/platform/daemon/facade-composition.d.ts.map +1 -1
- package/dist/_internal/platform/daemon/facade-composition.js +7 -0
- package/dist/_internal/platform/daemon/facade.d.ts +21 -0
- package/dist/_internal/platform/daemon/facade.d.ts.map +1 -1
- package/dist/_internal/platform/daemon/facade.js +107 -1
- package/dist/_internal/platform/daemon/host-mode-watcher.d.ts +49 -0
- package/dist/_internal/platform/daemon/host-mode-watcher.d.ts.map +1 -0
- package/dist/_internal/platform/daemon/host-mode-watcher.js +41 -0
- package/dist/_internal/platform/daemon/http/router.d.ts +7 -0
- package/dist/_internal/platform/daemon/http/router.d.ts.map +1 -1
- package/dist/_internal/platform/daemon/http/router.js +34 -0
- package/dist/_internal/platform/daemon/http/runtime-route-types.d.ts +7 -0
- package/dist/_internal/platform/daemon/http/runtime-route-types.d.ts.map +1 -1
- package/dist/_internal/platform/daemon/http-listener.d.ts +17 -0
- package/dist/_internal/platform/daemon/http-listener.d.ts.map +1 -1
- package/dist/_internal/platform/daemon/http-listener.js +87 -1
- package/dist/_internal/platform/providers/auto-register.d.ts +2 -3
- package/dist/_internal/platform/providers/auto-register.d.ts.map +1 -1
- package/dist/_internal/platform/providers/auto-register.js +1 -8
- package/dist/_internal/platform/providers/index.d.ts +1 -0
- package/dist/_internal/platform/providers/index.d.ts.map +1 -1
- package/dist/_internal/platform/providers/index.js +1 -0
- package/dist/_internal/platform/providers/provider-api.d.ts +4 -0
- package/dist/_internal/platform/providers/provider-api.d.ts.map +1 -1
- package/dist/_internal/platform/providers/provider-not-found-error.d.ts +16 -0
- package/dist/_internal/platform/providers/provider-not-found-error.d.ts.map +1 -0
- package/dist/_internal/platform/providers/provider-not-found-error.js +24 -0
- package/dist/_internal/platform/providers/registry.d.ts +44 -2
- package/dist/_internal/platform/providers/registry.d.ts.map +1 -1
- package/dist/_internal/platform/providers/registry.js +73 -13
- package/dist/_internal/platform/runtime/contracts/migrations/event-envelope.d.ts +1 -1
- package/dist/_internal/platform/runtime/contracts/version.d.ts +1 -1
- package/dist/_internal/platform/runtime/contracts/version.js +1 -1
- package/dist/_internal/platform/runtime/events/domain-map.d.ts +10 -0
- package/dist/_internal/platform/runtime/events/domain-map.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/events/index.d.ts +1 -1
- package/dist/_internal/platform/runtime/events/index.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/index.d.ts +1 -1
- package/dist/_internal/platform/runtime/index.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/tasks/adapters/agent-adapter.d.ts +12 -0
- package/dist/_internal/platform/runtime/tasks/adapters/agent-adapter.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/tasks/adapters/agent-adapter.js +48 -0
- package/dist/_internal/platform/version.js +1 -1
- package/dist/_internal/transport-realtime/runtime-events.d.ts +3 -2
- package/dist/_internal/transport-realtime/runtime-events.d.ts.map +1 -1
- package/dist/client.d.ts +19 -3
- package/dist/client.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* host-mode-watcher.ts
|
|
3
|
+
*
|
|
4
|
+
* Shared helper that creates a config-key watcher for host-mode restart logic.
|
|
5
|
+
* Extracted so the restart guard + dirty-flag loop-back pattern can be tested
|
|
6
|
+
* independently of DaemonServer or HttpListener.
|
|
7
|
+
*
|
|
8
|
+
* Both facade.ts and http-listener.ts delegate to this helper, passing their
|
|
9
|
+
* own `onRestart` closure and `getIsRunning` accessor.
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Create a host-mode restart watcher.
|
|
13
|
+
*
|
|
14
|
+
* Behaviour:
|
|
15
|
+
* - Subscribes to each key in `keys`.
|
|
16
|
+
* - When a key changes and `getIsRunning()` is true, calls `onRestart()`.
|
|
17
|
+
* - The caller's `onRestart` implementation handles re-entrancy / dirty-flag
|
|
18
|
+
* logic internally (the watcher does NOT duplicate that logic).
|
|
19
|
+
* - `unsubscribe()` removes all subscriptions; subsequent key changes are
|
|
20
|
+
* silently ignored.
|
|
21
|
+
*
|
|
22
|
+
* @param opts - Watcher configuration.
|
|
23
|
+
* @returns A handle with an `unsubscribe` method.
|
|
24
|
+
*/
|
|
25
|
+
export function createHostModeRestartWatcher(opts) {
|
|
26
|
+
const { configManager, keys, onRestart, getIsRunning } = opts;
|
|
27
|
+
const listener = () => {
|
|
28
|
+
if (!getIsRunning())
|
|
29
|
+
return;
|
|
30
|
+
onRestart();
|
|
31
|
+
};
|
|
32
|
+
const unsubs = keys.map((key) => configManager.subscribe(key, listener));
|
|
33
|
+
return {
|
|
34
|
+
unsubscribe: () => {
|
|
35
|
+
for (const u of unsubs)
|
|
36
|
+
u();
|
|
37
|
+
// Clear the array so subsequent calls are no-ops.
|
|
38
|
+
unsubs.length = 0;
|
|
39
|
+
},
|
|
40
|
+
};
|
|
41
|
+
}
|
|
@@ -22,6 +22,7 @@ import type { MemoryEmbeddingProviderRegistry, MemoryRegistry } from '../../stat
|
|
|
22
22
|
import type { GenericWebhookAdapterContext, SurfaceAdapterContext } from '../../adapters/index.js';
|
|
23
23
|
import type { PlatformServiceManager } from '../service-manager.js';
|
|
24
24
|
import type { JsonRecord } from '../helpers.js';
|
|
25
|
+
import type { CompanionChatManager } from '../../companion/companion-chat-manager.js';
|
|
25
26
|
interface DaemonHttpRouterContext {
|
|
26
27
|
readonly configManager: ConfigManager;
|
|
27
28
|
readonly serviceRegistry: ServiceRegistry;
|
|
@@ -96,6 +97,12 @@ interface DaemonHttpRouterContext {
|
|
|
96
97
|
readonly surfaceDeliveryEnabled: (surface: 'slack' | 'discord' | 'ntfy' | 'webhook' | 'telegram' | 'google-chat' | 'signal' | 'whatsapp' | 'imessage' | 'msteams' | 'bluebubbles' | 'mattermost' | 'matrix') => boolean;
|
|
97
98
|
readonly syncSpawnedAgentTask: (record: import('../../tools/agent/index.js').AgentRecord, sessionId?: string) => void;
|
|
98
99
|
readonly syncFinishedAgentTask: (record: import('../../tools/agent/index.js').AgentRecord) => void;
|
|
100
|
+
/**
|
|
101
|
+
* Optional companion chat manager. When present, companion chat routes
|
|
102
|
+
* (/api/companion/chat/...) are enabled. Injected by the daemon facade
|
|
103
|
+
* when the companion feature is active.
|
|
104
|
+
*/
|
|
105
|
+
readonly companionChatManager?: CompanionChatManager | null;
|
|
99
106
|
readonly trySpawnAgent: (input: Parameters<AgentManager['spawn']>[0], logLabel?: string, sessionId?: string) => import('../../tools/agent/index.js').AgentRecord | Response;
|
|
100
107
|
}
|
|
101
108
|
export declare class DaemonHttpRouter {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/daemon/http/router.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAExE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mDAAmD,CAAC;AAEzF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAsE,KAAK,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACvI,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAC7G,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAMpE,OAAO,KAAK,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACjI,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AACpG,OAAO,KAAK,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE1F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAC/E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gDAAgD,CAAC;AACpF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AACrF,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACjF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAGrE,OAAO,KAAK,EAAE,+BAA+B,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAyB5F,OAAO,KAAK,EAAE,4BAA4B,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACnG,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/daemon/http/router.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,6 +21,7 @@ import { buildChannelRouteContext, buildKnowledgeRouteContext, buildMediaRouteCo
|
|
|
21
21
|
import { jsonErrorResponse } from '@pellux/goodvibes-sdk/platform/daemon/http/error-response';
|
|
22
22
|
import { AppError } from '@pellux/goodvibes-sdk/platform/types/errors';
|
|
23
23
|
import { VERSION } from '../../version.js';
|
|
24
|
+
import { dispatchCompanionChatRoutes } from '../../companion/companion-chat-routes.js';
|
|
24
25
|
export class DaemonHttpRouter {
|
|
25
26
|
context;
|
|
26
27
|
telemetryApi;
|
|
@@ -108,6 +109,33 @@ export class DaemonHttpRouter {
|
|
|
108
109
|
}), { status: 404 });
|
|
109
110
|
}
|
|
110
111
|
async dispatchApiRoutes(req) {
|
|
112
|
+
// Companion chat routes — scoped to /api/companion/chat/..., session-isolated.
|
|
113
|
+
// Handled before the main API router so they never touch the global control-plane feed.
|
|
114
|
+
if (this.context.companionChatManager && req.url.includes('/api/companion/chat/')) {
|
|
115
|
+
const gateway = this.context.controlPlaneGateway;
|
|
116
|
+
const chatManager = this.context.companionChatManager;
|
|
117
|
+
const companionResponse = await dispatchCompanionChatRoutes(req, {
|
|
118
|
+
chatManager,
|
|
119
|
+
parseJsonBody: (request) => this.parseJsonBody(request),
|
|
120
|
+
parseOptionalJsonBody: (request) => this.parseOptionalJsonBody(request),
|
|
121
|
+
openSessionEventStream: (request, sessionId) => {
|
|
122
|
+
// Create a session-scoped SSE stream. Use the clientId as the isolation key.
|
|
123
|
+
const clientId = `companion-chat:${sessionId}`;
|
|
124
|
+
chatManager.registerSubscriber(sessionId, clientId);
|
|
125
|
+
return gateway.createEventStream(request, {
|
|
126
|
+
clientId,
|
|
127
|
+
// Companion chat sessions are isolated per-session via the clientId above;
|
|
128
|
+
// we reuse 'web' as the clientKind since the gateway's kind union does not
|
|
129
|
+
// yet include 'companion'. Client-side filtering uses clientId, not clientKind.
|
|
130
|
+
clientKind: 'web',
|
|
131
|
+
sessionId,
|
|
132
|
+
label: `companion-chat/${sessionId}`,
|
|
133
|
+
});
|
|
134
|
+
},
|
|
135
|
+
});
|
|
136
|
+
if (companionResponse)
|
|
137
|
+
return companionResponse;
|
|
138
|
+
}
|
|
111
139
|
return dispatchDaemonApiRoutes(req, {
|
|
112
140
|
...createDaemonControlRouteHandlers({
|
|
113
141
|
authToken: this.context.authToken(),
|
|
@@ -238,6 +266,12 @@ export class DaemonHttpRouter {
|
|
|
238
266
|
configManager: this.context.configManager,
|
|
239
267
|
runtimeStore: this.context.runtimeStore,
|
|
240
268
|
runtimeDispatch: this.context.runtimeDispatch,
|
|
269
|
+
publishConversationFollowup: (sessionId, envelope) => {
|
|
270
|
+
// Scope the event to TUI-kind clients only: non-TUI clients (web, companion
|
|
271
|
+
// app, etc.) must not receive raw operator conversation follow-ups. Using
|
|
272
|
+
// clientKind:'tui' ensures only the TUI surface receives this event.
|
|
273
|
+
this.context.controlPlaneGateway.publishEvent('conversation.followup.companion', { sessionId, ...envelope }, { clientKind: 'tui' });
|
|
274
|
+
},
|
|
241
275
|
}),
|
|
242
276
|
...createDaemonRemoteRouteHandlers({
|
|
243
277
|
authToken: this.context.authToken(),
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { DaemonApiRouteHandlers } from '../../control-plane/routes/context.js';
|
|
2
2
|
import type { DaemonRuntimeRouteContext as SdkDaemonRuntimeRouteContext, JsonBody } from '../../../daemon.js';
|
|
3
3
|
import type { ExecutionIntent } from '../../runtime/execution-intents.js';
|
|
4
|
+
import type { ConversationMessageEnvelope } from '../../control-plane/conversation-message.js';
|
|
4
5
|
export type AutomationSurfaceKind = string;
|
|
5
6
|
export interface SharedSessionRoutingIntent {
|
|
6
7
|
readonly modelId?: string;
|
|
@@ -234,6 +235,12 @@ export interface DaemonRuntimeRouteContext extends Omit<SdkDaemonRuntimeRouteCon
|
|
|
234
235
|
readonly runtimeDispatch: {
|
|
235
236
|
transitionRuntimeTask(taskId: string, status: string, patch: Record<string, unknown>, source: string): void;
|
|
236
237
|
} | null;
|
|
238
|
+
/**
|
|
239
|
+
* Publish a conversation follow-up event scoped to a specific session.
|
|
240
|
+
* Used by Problem-2 message routing: kind='message' submits skip agent spawn
|
|
241
|
+
* and instead broadcast a ConversationMessageEnvelope to TUI surface subscribers.
|
|
242
|
+
*/
|
|
243
|
+
readonly publishConversationFollowup: (sessionId: string, envelope: Omit<ConversationMessageEnvelope, 'sessionId'>) => void;
|
|
237
244
|
}
|
|
238
245
|
export type { JsonBody };
|
|
239
246
|
export type DaemonRuntimeRouteHandlerMap = Pick<DaemonApiRouteHandlers, 'createSharedSession' | 'getAutomationJobs' | 'postAutomationJob' | 'getAutomationRuns' | 'getAutomationRun' | 'getAutomationHeartbeat' | 'postAutomationHeartbeat' | 'automationRunAction' | 'patchAutomationJob' | 'deleteAutomationJob' | 'setAutomationJobEnabled' | 'runAutomationJobNow' | 'postTask' | 'getSharedSession' | 'closeSharedSession' | 'reopenSharedSession' | 'getSharedSessionMessages' | 'getSharedSessionInputs' | 'postSharedSessionMessage' | 'postSharedSessionSteer' | 'postSharedSessionFollowUp' | 'cancelSharedSessionInput' | 'getRuntimeTask' | 'runtimeTaskAction' | 'getTaskStatus' | 'getSchedules' | 'postSchedule' | 'deleteSchedule' | 'setScheduleEnabled' | 'runScheduleNow'>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-route-types.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/daemon/http/runtime-route-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AACpF,OAAO,KAAK,EAAE,yBAAyB,IAAI,4BAA4B,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9G,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime-route-types.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/daemon/http/runtime-route-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -39,6 +39,14 @@ export declare class HttpListener {
|
|
|
39
39
|
private readonly configManager;
|
|
40
40
|
private readonly serveFactory;
|
|
41
41
|
private tlsState;
|
|
42
|
+
/** Unsubscribe from httpListener config key watchers; cleared on stop(). */
|
|
43
|
+
private _configWatchUnsub;
|
|
44
|
+
/** True while a config-driven restart is in progress — prevents re-entrancy. */
|
|
45
|
+
private _restarting;
|
|
46
|
+
/** Awaitable promise for the active restart cycle; null when idle. */
|
|
47
|
+
private _restartingPromise;
|
|
48
|
+
/** True if a config change arrived while _restarting was set; triggers a second cycle. */
|
|
49
|
+
private _restartDirty;
|
|
42
50
|
constructor(config: HttpListenerConfig);
|
|
43
51
|
/**
|
|
44
52
|
* Enable the listener. Requires danger.httpListener = true in config.
|
|
@@ -50,10 +58,19 @@ export declare class HttpListener {
|
|
|
50
58
|
* Start listening. Refuses to start if not enabled.
|
|
51
59
|
*/
|
|
52
60
|
start(): Promise<void>;
|
|
61
|
+
/**
|
|
62
|
+
* Wait for any in-progress config-driven restart to settle.
|
|
63
|
+
*/
|
|
64
|
+
waitForRestart(): Promise<void>;
|
|
53
65
|
/**
|
|
54
66
|
* Stop the listener.
|
|
55
67
|
*/
|
|
56
68
|
stop(): Promise<void>;
|
|
69
|
+
/**
|
|
70
|
+
* Subscribe to httpListener binding keys and restart the server on change.
|
|
71
|
+
* Called once from start() after the server is up. Clears itself on stop().
|
|
72
|
+
*/
|
|
73
|
+
private _attachHttpListenerConfigWatcher;
|
|
57
74
|
/**
|
|
58
75
|
* Returns true if the listener is currently running.
|
|
59
76
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-listener.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/daemon/http-listener.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAMxD,OAAO,EAAE,eAAe,EAAE,MAAM,mDAAmD,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"http-listener.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/daemon/http-listener.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAMxD,OAAO,EAAE,eAAe,EAAE,MAAM,mDAAmD,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAWrD,UAAU,kBAAkB;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,aAAa,EAAE,aAAa,CAAC;IAC7B,YAAY,CAAC,EAAE,OAAO,GAAG,CAAC,KAAK,CAAC;IAChC,6DAA6D;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yEAAyE;IACzE,QAAQ,EAAE,eAAe,CAAC;CAC3B;AAED,UAAU,gBAAgB;IACxB,YAAY,EAAE,OAAO,CAAC;CACvB;AA0ED;;;;;;;;GAQG;AACH,qBAAa,YAAY;IAsBX,OAAO,CAAC,MAAM;IArB1B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAA6C;IAC3D,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,cAAc,CAAW;IACjC,OAAO,CAAC,cAAc,CAAwB;IAC9C,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAmB;IAChD,OAAO,CAAC,QAAQ,CAA0C;IAC1D,4EAA4E;IAC5E,OAAO,CAAC,iBAAiB,CAA6B;IACtD,gFAAgF;IAChF,OAAO,CAAC,WAAW,CAAS;IAC5B,sEAAsE;IACtE,OAAO,CAAC,kBAAkB,CAA8B;IACxD,0FAA0F;IAC1F,OAAO,CAAC,aAAa,CAAS;gBAEV,MAAM,EAAE,kBAAkB;IAiB9C;;;;OAIG;IACH,MAAM,CAAC,YAAY,EAAE,gBAAgB,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO;IAU/D;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAsC5B;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAKrC;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAoB3B;;;OAGG;IACH,OAAO,CAAC,gCAAgC;IAwDxC;;OAEG;IACH,IAAI,SAAS,IAAI,OAAO,CAEvB;IAMD,OAAO,CAAC,SAAS;YAOH,aAAa;YAYb,aAAa;YAsCb,WAAW;YA6BX,aAAa;CAgD5B"}
|
|
@@ -7,6 +7,7 @@ import { extractForwardedClientIp, resolveInboundTlsContext } from '../runtime/n
|
|
|
7
7
|
import { summarizeError } from '@pellux/goodvibes-sdk/platform/utils/error-display';
|
|
8
8
|
import { requirePortAvailable } from './port-check.js';
|
|
9
9
|
import { resolveHostBinding } from './host-resolver.js';
|
|
10
|
+
import { createHostModeRestartWatcher } from './host-mode-watcher.js';
|
|
10
11
|
// ---------------------------------------------------------------------------
|
|
11
12
|
// Rate limiter (sliding window per IP, in-memory)
|
|
12
13
|
// ---------------------------------------------------------------------------
|
|
@@ -95,6 +96,14 @@ export class HttpListener {
|
|
|
95
96
|
configManager;
|
|
96
97
|
serveFactory;
|
|
97
98
|
tlsState = null;
|
|
99
|
+
/** Unsubscribe from httpListener config key watchers; cleared on stop(). */
|
|
100
|
+
_configWatchUnsub = null;
|
|
101
|
+
/** True while a config-driven restart is in progress — prevents re-entrancy. */
|
|
102
|
+
_restarting = false;
|
|
103
|
+
/** Awaitable promise for the active restart cycle; null when idle. */
|
|
104
|
+
_restartingPromise = null;
|
|
105
|
+
/** True if a config change arrived while _restarting was set; triggers a second cycle. */
|
|
106
|
+
_restartDirty = false;
|
|
98
107
|
constructor(config) {
|
|
99
108
|
this.config = config;
|
|
100
109
|
this.configManager = config.configManager;
|
|
@@ -136,7 +145,10 @@ export class HttpListener {
|
|
|
136
145
|
logger.info('HttpListener: already running');
|
|
137
146
|
return;
|
|
138
147
|
}
|
|
139
|
-
|
|
148
|
+
// Skip real OS port check when a mock serveFactory is injected (test-only path).
|
|
149
|
+
if (this.serveFactory === Bun.serve) {
|
|
150
|
+
await requirePortAvailable(this.port, this.host, 'HTTP listener');
|
|
151
|
+
}
|
|
140
152
|
const self = this;
|
|
141
153
|
this.tlsState = resolveInboundTlsContext(this.configManager, 'httpListener');
|
|
142
154
|
this.server = this.serveFactory({
|
|
@@ -147,6 +159,7 @@ export class HttpListener {
|
|
|
147
159
|
return self.handleRequest(req);
|
|
148
160
|
},
|
|
149
161
|
});
|
|
162
|
+
this._attachHttpListenerConfigWatcher();
|
|
150
163
|
logger.info('HttpListener started', {
|
|
151
164
|
port: this.port,
|
|
152
165
|
host: this.host,
|
|
@@ -155,12 +168,28 @@ export class HttpListener {
|
|
|
155
168
|
trustProxy: this.tlsState.trustProxy,
|
|
156
169
|
});
|
|
157
170
|
}
|
|
171
|
+
/**
|
|
172
|
+
* Wait for any in-progress config-driven restart to settle.
|
|
173
|
+
*/
|
|
174
|
+
async waitForRestart() {
|
|
175
|
+
// Loop to handle dirty-flag chained restarts: each cycle may spawn another.
|
|
176
|
+
while (this._restartingPromise)
|
|
177
|
+
await this._restartingPromise;
|
|
178
|
+
}
|
|
158
179
|
/**
|
|
159
180
|
* Stop the listener.
|
|
160
181
|
*/
|
|
161
182
|
async stop() {
|
|
162
183
|
if (this.server === null)
|
|
163
184
|
return;
|
|
185
|
+
// Tear down config watcher only on intentional stop, not mid-restart.
|
|
186
|
+
// During a restart cycle (_restarting=true) the watcher must stay active so
|
|
187
|
+
// config changes that arrive between stop() and the subsequent start() can be
|
|
188
|
+
// captured by the dirty flag.
|
|
189
|
+
if (!this._restarting) {
|
|
190
|
+
this._configWatchUnsub?.();
|
|
191
|
+
this._configWatchUnsub = null;
|
|
192
|
+
}
|
|
164
193
|
// Stop rate limiter sweep interval before tearing down (C5 fix)
|
|
165
194
|
this.rateLimiter.stop();
|
|
166
195
|
this.server.stop(true);
|
|
@@ -168,6 +197,63 @@ export class HttpListener {
|
|
|
168
197
|
this.tlsState = null;
|
|
169
198
|
logger.info('HttpListener stopped');
|
|
170
199
|
}
|
|
200
|
+
/**
|
|
201
|
+
* Subscribe to httpListener binding keys and restart the server on change.
|
|
202
|
+
* Called once from start() after the server is up. Clears itself on stop().
|
|
203
|
+
*/
|
|
204
|
+
_attachHttpListenerConfigWatcher() {
|
|
205
|
+
if (this._configWatchUnsub)
|
|
206
|
+
return; // idempotent
|
|
207
|
+
const restart = () => {
|
|
208
|
+
if (this._restarting) {
|
|
209
|
+
// A change arrived mid-restart — queue a second cycle via dirty flag.
|
|
210
|
+
// Check _restarting BEFORE isRunning: stop() runs synchronously inside the
|
|
211
|
+
// restart IIFE, so isRunning may be false even while a restart is in progress.
|
|
212
|
+
this._restartDirty = true;
|
|
213
|
+
return;
|
|
214
|
+
}
|
|
215
|
+
if (!this.isRunning)
|
|
216
|
+
return;
|
|
217
|
+
this._restarting = true;
|
|
218
|
+
this._restartingPromise = (async () => {
|
|
219
|
+
try {
|
|
220
|
+
logger.info('HttpListener: httpListener binding changed, restarting HTTP listener…');
|
|
221
|
+
await this.stop();
|
|
222
|
+
// Re-resolve host/port from updated config
|
|
223
|
+
const newBinding = resolveHostBinding(this.configManager.get('httpListener.hostMode') ?? 'local', String(this.configManager.get('httpListener.host') ?? '127.0.0.1'), Number(this.configManager.get('httpListener.port') ?? 3422), 'httpListener');
|
|
224
|
+
this.host = newBinding.host;
|
|
225
|
+
this.port = newBinding.port;
|
|
226
|
+
await this.start();
|
|
227
|
+
}
|
|
228
|
+
catch (err) {
|
|
229
|
+
logger.error('HttpListener: restart after config change failed', { error: summarizeError(err) });
|
|
230
|
+
}
|
|
231
|
+
finally {
|
|
232
|
+
this._restarting = false;
|
|
233
|
+
// If a config change arrived while we were restarting, kick off a second
|
|
234
|
+
// cycle BEFORE nulling _restartingPromise so waitForRestart() chains correctly.
|
|
235
|
+
if (this._restartDirty) {
|
|
236
|
+
this._restartDirty = false;
|
|
237
|
+
restart(); // sets this._restartingPromise to the new cycle
|
|
238
|
+
}
|
|
239
|
+
else {
|
|
240
|
+
this._restartingPromise = null;
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
})();
|
|
244
|
+
};
|
|
245
|
+
// getIsRunning must also return true while a restart cycle is in progress
|
|
246
|
+
// (_restarting=true) so that config changes arriving mid-restart reach the
|
|
247
|
+
// dirty-flag path inside `restart`. When the server is intentionally stopped
|
|
248
|
+
// (not mid-restart) isRunning and _restarting are both false.
|
|
249
|
+
const watcher = createHostModeRestartWatcher({
|
|
250
|
+
configManager: this.configManager,
|
|
251
|
+
keys: ['httpListener.hostMode', 'httpListener.host', 'httpListener.port'],
|
|
252
|
+
onRestart: restart,
|
|
253
|
+
getIsRunning: () => this.isRunning || this._restarting,
|
|
254
|
+
});
|
|
255
|
+
this._configWatchUnsub = () => watcher.unsubscribe();
|
|
256
|
+
}
|
|
171
257
|
/**
|
|
172
258
|
* Returns true if the listener is currently running.
|
|
173
259
|
*/
|
|
@@ -50,11 +50,10 @@ export interface AutoRegisterEntry extends CatalogProvider {
|
|
|
50
50
|
export declare const AUTO_REGISTER_CATALOG: AutoRegisterEntry[];
|
|
51
51
|
/**
|
|
52
52
|
* Check whether a provider ID is already registered in the provider registry.
|
|
53
|
-
* Uses try/catch since ProviderRegistry.get() throws on missing providers.
|
|
54
53
|
*
|
|
55
54
|
* @internal Exported for testing.
|
|
56
55
|
*/
|
|
57
|
-
export declare function isProviderRegistered(providerRegistry: Pick<ProviderRegistry, '
|
|
56
|
+
export declare function isProviderRegistered(providerRegistry: Pick<ProviderRegistry, 'has'>, providerId: string): boolean;
|
|
58
57
|
/**
|
|
59
58
|
* Resolve the API key to use for a provider entry.
|
|
60
59
|
* Returns the first non-empty env var value, or empty string.
|
|
@@ -87,5 +86,5 @@ export declare function createProviderFromEntry(entry: AutoRegisterEntry, apiKey
|
|
|
87
86
|
* // conversation.addSystemMessage(`Auto-registered ${names.length} providers: ${names.join(', ')}`);
|
|
88
87
|
* // }
|
|
89
88
|
*/
|
|
90
|
-
export declare function autoRegisterProviders(providerRegistry: Pick<ProviderRegistry, '
|
|
89
|
+
export declare function autoRegisterProviders(providerRegistry: Pick<ProviderRegistry, 'has' | 'register'>, catalog?: AutoRegisterEntry[]): string[];
|
|
91
90
|
//# sourceMappingURL=auto-register.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-register.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/providers/auto-register.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAQ1D,mDAAmD;AACnD,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,WAAW,CAAC;AAE/C;;;GAGG;AACH,MAAM,WAAW,iBAAkB,SAAQ,eAAe;IACxD;;;OAGG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;;;;OAIG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAMD;;;;;;;;;GASG;AACH,eAAO,MAAM,qBAAqB,EAAE,iBAAiB,EA0NpD,CAAC;AAMF
|
|
1
|
+
{"version":3,"file":"auto-register.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/providers/auto-register.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAQ1D,mDAAmD;AACnD,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,WAAW,CAAC;AAE/C;;;GAGG;AACH,MAAM,WAAW,iBAAkB,SAAQ,eAAe;IACxD;;;OAGG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;;;;OAIG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAMD;;;;;;;;;GASG;AACH,eAAO,MAAM,qBAAqB,EAAE,iBAAiB,EA0NpD,CAAC;AAMF;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,EAC/C,UAAU,EAAE,MAAM,GACjB,OAAO,CAET;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,CAQ9D;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,GAAG,WAAW,CAsB7F;AAMD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,qBAAqB,CACnC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE,KAAK,GAAG,UAAU,CAAC,EAC5D,OAAO,GAAE,iBAAiB,EAA0B,GACnD,MAAM,EAAE,CAqCV"}
|
|
@@ -248,18 +248,11 @@ export const AUTO_REGISTER_CATALOG = [
|
|
|
248
248
|
// ---------------------------------------------------------------------------
|
|
249
249
|
/**
|
|
250
250
|
* Check whether a provider ID is already registered in the provider registry.
|
|
251
|
-
* Uses try/catch since ProviderRegistry.get() throws on missing providers.
|
|
252
251
|
*
|
|
253
252
|
* @internal Exported for testing.
|
|
254
253
|
*/
|
|
255
254
|
export function isProviderRegistered(providerRegistry, providerId) {
|
|
256
|
-
|
|
257
|
-
providerRegistry.get(providerId);
|
|
258
|
-
return true;
|
|
259
|
-
}
|
|
260
|
-
catch {
|
|
261
|
-
return false;
|
|
262
|
-
}
|
|
255
|
+
return providerRegistry.has(providerId);
|
|
263
256
|
}
|
|
264
257
|
/**
|
|
265
258
|
* Resolve the API key to use for a provider entry.
|
|
@@ -3,4 +3,5 @@ export { createProviderApi } from './provider-api.js';
|
|
|
3
3
|
export type { ProviderApi, ProviderApiBenchmarkStore, ProviderApiBenchmarkQuery, ProviderApiBenchmarkRecord, ProviderApiCatalogBenchmarkRecord, ProviderApiDependencies, ProviderApiFavoriteRecord, ProviderApiFavoritesStore, ProviderApiFavoriteState, ProviderApiFavoritesSnapshot, ProviderApiModelQuery, ProviderApiModelRecord, ProviderApiModelReference, ProviderApiModelRouting, ProviderApiRegistry, ProviderApiRuntimeQuery, ProviderApiRuntimeQueryResult, ProviderApiSyntheticBenchmarkRecord, ProviderApiSyntheticRouting, } from './provider-api.js';
|
|
4
4
|
export type { ContextWindowProvenance, ModelDefinition, ModelTier, ProviderRegistryOptions, RuntimeProviderRegistration, TokenLimits, } from './registry-types.js';
|
|
5
5
|
export type { ProviderRuntimeSnapshot, ProviderUsageSnapshot } from './runtime-snapshot.js';
|
|
6
|
+
export { ProviderNotFoundError } from './provider-not-found-error.js';
|
|
6
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/providers/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,WAAW,EACX,YAAY,EACZ,WAAW,EACX,WAAW,EACX,eAAe,EACf,2BAA2B,EAC3B,yBAAyB,EACzB,wBAAwB,EACxB,uBAAuB,EACvB,eAAe,EACf,uBAAuB,EACvB,2BAA2B,EAC3B,yBAAyB,EACzB,WAAW,GACZ,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,YAAY,EACV,WAAW,EACX,yBAAyB,EACzB,yBAAyB,EACzB,0BAA0B,EAC1B,iCAAiC,EACjC,uBAAuB,EACvB,yBAAyB,EACzB,yBAAyB,EACzB,wBAAwB,EACxB,4BAA4B,EAC5B,qBAAqB,EACrB,sBAAsB,EACtB,yBAAyB,EACzB,uBAAuB,EACvB,mBAAmB,EACnB,uBAAuB,EACvB,6BAA6B,EAC7B,mCAAmC,EACnC,2BAA2B,GAC5B,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,uBAAuB,EACvB,eAAe,EACf,SAAS,EACT,uBAAuB,EACvB,2BAA2B,EAC3B,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/providers/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,WAAW,EACX,YAAY,EACZ,WAAW,EACX,WAAW,EACX,eAAe,EACf,2BAA2B,EAC3B,yBAAyB,EACzB,wBAAwB,EACxB,uBAAuB,EACvB,eAAe,EACf,uBAAuB,EACvB,2BAA2B,EAC3B,yBAAyB,EACzB,WAAW,GACZ,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,YAAY,EACV,WAAW,EACX,yBAAyB,EACzB,yBAAyB,EACzB,0BAA0B,EAC1B,iCAAiC,EACjC,uBAAuB,EACvB,yBAAyB,EACzB,yBAAyB,EACzB,wBAAwB,EACxB,4BAA4B,EAC5B,qBAAqB,EACrB,sBAAsB,EACtB,yBAAyB,EACzB,uBAAuB,EACvB,mBAAmB,EACnB,uBAAuB,EACvB,6BAA6B,EAC7B,mCAAmC,EACnC,2BAA2B,GAC5B,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,uBAAuB,EACvB,eAAe,EACf,SAAS,EACT,uBAAuB,EACvB,2BAA2B,EAC3B,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC5F,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC"}
|
|
@@ -135,7 +135,11 @@ export interface ProviderApiRegistry {
|
|
|
135
135
|
output: number;
|
|
136
136
|
};
|
|
137
137
|
getCatalogModelDefinitions(): readonly MinimalModelDefinition[];
|
|
138
|
+
has(id: string): boolean;
|
|
139
|
+
/** @deprecated Use {@link require} for throwing lookup or {@link tryGet} for nullable. */
|
|
138
140
|
get(name: string): LLMProvider;
|
|
141
|
+
require(id: string): LLMProvider;
|
|
142
|
+
tryGet(name: string): LLMProvider | undefined;
|
|
139
143
|
getCurrentModel(): ModelDefinition;
|
|
140
144
|
getContextWindowForModel(modelDef: ModelDefinition): number;
|
|
141
145
|
getForModel(modelId: string, provider?: string): LLMProvider;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-api.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/providers/provider-api.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"provider-api.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/providers/provider-api.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Thrown by {@link ProviderRegistry.require} when no provider with the given ID
|
|
3
|
+
* is registered.
|
|
4
|
+
*
|
|
5
|
+
* The error message includes the list of all currently-registered provider IDs
|
|
6
|
+
* so callers can quickly see what is available without having to inspect the
|
|
7
|
+
* registry separately.
|
|
8
|
+
*/
|
|
9
|
+
export declare class ProviderNotFoundError extends Error {
|
|
10
|
+
/** The provider ID that was requested. */
|
|
11
|
+
readonly providerId: string;
|
|
12
|
+
/** Sorted list of currently-registered provider IDs at the time of the error. */
|
|
13
|
+
readonly availableIds: readonly string[];
|
|
14
|
+
constructor(providerId: string, available: readonly string[]);
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=provider-not-found-error.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider-not-found-error.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/providers/provider-not-found-error.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,0CAA0C;IAC1C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,iFAAiF;IACjF,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;gBAE7B,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,MAAM,EAAE;CAY7D"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Thrown by {@link ProviderRegistry.require} when no provider with the given ID
|
|
3
|
+
* is registered.
|
|
4
|
+
*
|
|
5
|
+
* The error message includes the list of all currently-registered provider IDs
|
|
6
|
+
* so callers can quickly see what is available without having to inspect the
|
|
7
|
+
* registry separately.
|
|
8
|
+
*/
|
|
9
|
+
export class ProviderNotFoundError extends Error {
|
|
10
|
+
/** The provider ID that was requested. */
|
|
11
|
+
providerId;
|
|
12
|
+
/** Sorted list of currently-registered provider IDs at the time of the error. */
|
|
13
|
+
availableIds;
|
|
14
|
+
constructor(providerId, available) {
|
|
15
|
+
const ids = available.length > 0 ? available.join(', ') : '(none)';
|
|
16
|
+
super(`Provider '${providerId}' is not registered. ` +
|
|
17
|
+
`Available providers: ${ids}`);
|
|
18
|
+
this.name = 'ProviderNotFoundError';
|
|
19
|
+
this.providerId = providerId;
|
|
20
|
+
this.availableIds = available;
|
|
21
|
+
// Maintains proper prototype chain for instanceof checks
|
|
22
|
+
Object.setPrototypeOf(this, new.target.prototype);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -63,9 +63,51 @@ export declare class ProviderRegistry {
|
|
|
63
63
|
* Does not overwrite built-in or custom-loaded providers/models.
|
|
64
64
|
*/
|
|
65
65
|
registerDiscoveredProviders(servers: DiscoveredServer[]): void;
|
|
66
|
-
/**
|
|
66
|
+
/**
|
|
67
|
+
* Returns `true` if a provider with the given name (or its catalog alias) is registered.
|
|
68
|
+
*
|
|
69
|
+
* @param id - Provider name as registered (e.g. `'anthropic'`, `'openai'`).
|
|
70
|
+
*/
|
|
71
|
+
has(id: string): boolean;
|
|
72
|
+
/**
|
|
73
|
+
* Retrieve a provider by name, applying subscription route aliasing.
|
|
74
|
+
* Throws a {@link ProviderNotFoundError} if no provider with that name is registered.
|
|
75
|
+
*
|
|
76
|
+
* @deprecated Use {@link require} for the canonical throwing lookup, or
|
|
77
|
+
* {@link tryGet} for a safe nullable lookup.
|
|
78
|
+
*
|
|
79
|
+
* @param name - Provider name as registered (e.g. `'anthropic'`, `'openai'`).
|
|
80
|
+
* @throws {ProviderNotFoundError} When no matching provider is registered.
|
|
81
|
+
*/
|
|
67
82
|
get(name: string): LLMProvider;
|
|
68
|
-
/**
|
|
83
|
+
/**
|
|
84
|
+
* Retrieve a provider by name, applying subscription route aliasing.
|
|
85
|
+
* Throws a {@link ProviderNotFoundError} if no provider with that name is registered.
|
|
86
|
+
*
|
|
87
|
+
* The error message includes the list of all currently registered provider IDs
|
|
88
|
+
* to aid discoverability.
|
|
89
|
+
*
|
|
90
|
+
* @param id - Provider name as registered (e.g. `'anthropic'`, `'openai'`).
|
|
91
|
+
* @throws {ProviderNotFoundError} When no matching provider is registered.
|
|
92
|
+
*/
|
|
93
|
+
require(id: string): LLMProvider;
|
|
94
|
+
/**
|
|
95
|
+
* Retrieve a provider by name, applying subscription route aliasing.
|
|
96
|
+
* Returns `undefined` if no provider with that name (or its catalog alias) is registered.
|
|
97
|
+
*
|
|
98
|
+
* Prefer {@link require} when you know the provider must exist and want a clear
|
|
99
|
+
* error when it does not.
|
|
100
|
+
*
|
|
101
|
+
* @param name - Provider name as registered (e.g. `'anthropic'`, `'openai'`).
|
|
102
|
+
*/
|
|
103
|
+
tryGet(name: string): LLMProvider | undefined;
|
|
104
|
+
/**
|
|
105
|
+
* Retrieve the directly-registered provider without subscription route aliasing.
|
|
106
|
+
* Throws if no provider with that name (or its catalog alias) is registered.
|
|
107
|
+
*
|
|
108
|
+
* Note: Unlike {@link require}, this method does NOT apply subscription route aliasing
|
|
109
|
+
* (e.g. the openai-subscriber redirect). Prefer {@link require} for general use.
|
|
110
|
+
*/
|
|
69
111
|
getRegistered(name: string): LLMProvider;
|
|
70
112
|
describeRuntime(name: string): Promise<ProviderRuntimeMetadata | null>;
|
|
71
113
|
/** Return the provider responsible for a given model ID.
|