@pellux/goodvibes-daemon-sdk 0.18.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/README.md +32 -0
  2. package/dist/api-router.d.ts +3 -0
  3. package/dist/api-router.d.ts.map +1 -0
  4. package/dist/api-router.js +13 -0
  5. package/dist/automation.d.ts +3 -0
  6. package/dist/automation.d.ts.map +1 -0
  7. package/dist/automation.js +56 -0
  8. package/dist/channel-route-types.d.ts +78 -0
  9. package/dist/channel-route-types.d.ts.map +1 -0
  10. package/dist/channel-route-types.js +1 -0
  11. package/dist/channel-routes.d.ts +4 -0
  12. package/dist/channel-routes.d.ts.map +1 -0
  13. package/dist/channel-routes.js +264 -0
  14. package/dist/context.d.ts +207 -0
  15. package/dist/context.d.ts.map +1 -0
  16. package/dist/context.js +1 -0
  17. package/dist/control-routes.d.ts +57 -0
  18. package/dist/control-routes.d.ts.map +1 -0
  19. package/dist/control-routes.js +120 -0
  20. package/dist/error-response.d.ts +10 -0
  21. package/dist/error-response.d.ts.map +1 -0
  22. package/dist/error-response.js +84 -0
  23. package/dist/http-policy.d.ts +33 -0
  24. package/dist/http-policy.d.ts.map +1 -0
  25. package/dist/http-policy.js +30 -0
  26. package/dist/index.d.ts +30 -0
  27. package/dist/index.d.ts.map +1 -0
  28. package/dist/index.js +20 -0
  29. package/dist/integration-route-types.d.ts +64 -0
  30. package/dist/integration-route-types.d.ts.map +1 -0
  31. package/dist/integration-route-types.js +1 -0
  32. package/dist/integration-routes.d.ts +4 -0
  33. package/dist/integration-routes.d.ts.map +1 -0
  34. package/dist/integration-routes.js +172 -0
  35. package/dist/knowledge-route-types.d.ts +114 -0
  36. package/dist/knowledge-route-types.d.ts.map +1 -0
  37. package/dist/knowledge-route-types.js +1 -0
  38. package/dist/knowledge-routes.d.ts +4 -0
  39. package/dist/knowledge-routes.d.ts.map +1 -0
  40. package/dist/knowledge-routes.js +582 -0
  41. package/dist/media-route-types.d.ts +66 -0
  42. package/dist/media-route-types.d.ts.map +1 -0
  43. package/dist/media-route-types.js +1 -0
  44. package/dist/media-routes.d.ts +4 -0
  45. package/dist/media-routes.d.ts.map +1 -0
  46. package/dist/media-routes.js +328 -0
  47. package/dist/operator.d.ts +3 -0
  48. package/dist/operator.d.ts.map +1 -0
  49. package/dist/operator.js +395 -0
  50. package/dist/remote-routes.d.ts +40 -0
  51. package/dist/remote-routes.d.ts.map +1 -0
  52. package/dist/remote-routes.js +238 -0
  53. package/dist/remote.d.ts +3 -0
  54. package/dist/remote.d.ts.map +1 -0
  55. package/dist/remote.js +35 -0
  56. package/dist/route-helpers.d.ts +11 -0
  57. package/dist/route-helpers.d.ts.map +1 -0
  58. package/dist/route-helpers.js +54 -0
  59. package/dist/runtime-automation-routes.d.ts +4 -0
  60. package/dist/runtime-automation-routes.d.ts.map +1 -0
  61. package/dist/runtime-automation-routes.js +165 -0
  62. package/dist/runtime-route-types.d.ts +240 -0
  63. package/dist/runtime-route-types.d.ts.map +1 -0
  64. package/dist/runtime-route-types.js +1 -0
  65. package/dist/runtime-routes.d.ts +5 -0
  66. package/dist/runtime-routes.d.ts.map +1 -0
  67. package/dist/runtime-routes.js +8 -0
  68. package/dist/runtime-session-routes.d.ts +4 -0
  69. package/dist/runtime-session-routes.d.ts.map +1 -0
  70. package/dist/runtime-session-routes.js +387 -0
  71. package/dist/sessions.d.ts +3 -0
  72. package/dist/sessions.d.ts.map +1 -0
  73. package/dist/sessions.js +37 -0
  74. package/dist/system-route-types.d.ts +124 -0
  75. package/dist/system-route-types.d.ts.map +1 -0
  76. package/dist/system-route-types.js +1 -0
  77. package/dist/system-routes.d.ts +4 -0
  78. package/dist/system-routes.d.ts.map +1 -0
  79. package/dist/system-routes.js +327 -0
  80. package/dist/tasks.d.ts +3 -0
  81. package/dist/tasks.d.ts.map +1 -0
  82. package/dist/tasks.js +22 -0
  83. package/dist/telemetry-routes.d.ts +44 -0
  84. package/dist/telemetry-routes.d.ts.map +1 -0
  85. package/dist/telemetry-routes.js +227 -0
  86. package/package.json +42 -0
@@ -0,0 +1,328 @@
1
+ import { resolvePrivateHostFetchOptions } from './http-policy.js';
2
+ import { jsonErrorResponse } from './error-response.js';
3
+ export function createDaemonMediaRouteHandlers(context) {
4
+ return {
5
+ getVoiceStatus: async () => Response.json(await context.voiceService.getStatus(Boolean(context.configManager.get('ui.voiceEnabled')))),
6
+ getVoiceProviders: async () => Response.json({
7
+ providers: await context.voiceService.getStatus(Boolean(context.configManager.get('ui.voiceEnabled'))).then((status) => status.providers),
8
+ }),
9
+ getVoiceVoices: async (url) => Response.json({ voices: await context.voiceService.listVoices(url.searchParams.get('providerId') ?? undefined) }),
10
+ postVoiceTts: async (request) => handleVoiceTts(context, request),
11
+ postVoiceStt: async (request) => handleVoiceStt(context, request),
12
+ postVoiceRealtimeSession: async (request) => handleVoiceRealtimeSession(context, request),
13
+ getWebSearchProviders: async () => Response.json({ providers: await context.webSearchService.getStatus().then((status) => status.providers) }),
14
+ postWebSearch: async (request) => handleWebSearch(context, request),
15
+ getArtifacts: () => Response.json({ artifacts: context.artifactStore.list() }),
16
+ postArtifact: async (request) => handleArtifactCreate(context, request),
17
+ getArtifact: (artifactId) => {
18
+ const artifact = context.artifactStore.get(artifactId);
19
+ return artifact
20
+ ? Response.json({ artifact })
21
+ : Response.json({ error: 'Unknown artifact' }, { status: 404 });
22
+ },
23
+ getArtifactContent: async (artifactId, request) => handleArtifactContent(context, artifactId, request),
24
+ getMediaProviders: async () => Response.json({ providers: await context.mediaProviders.status() }),
25
+ postMediaAnalyze: async (request) => handleMediaAnalyze(context, request),
26
+ postMediaTransform: async (request) => handleMediaTransform(context, request),
27
+ postMediaGenerate: async (request) => handleMediaGenerate(context, request),
28
+ getMultimodalStatus: async () => Response.json(await context.multimodalService.getStatus()),
29
+ getMultimodalProviders: async () => Response.json({ providers: await context.multimodalService.listProviders() }),
30
+ postMultimodalAnalyze: async (request) => handleMultimodalAnalyze(context, request),
31
+ postMultimodalPacket: async (request) => handleMultimodalPacket(context, request),
32
+ postMultimodalWriteback: async (request) => handleMultimodalWriteback(context, request),
33
+ };
34
+ }
35
+ async function handleVoiceTts(context, req) {
36
+ const body = await context.parseJsonBody(req);
37
+ if (body instanceof Response)
38
+ return body;
39
+ const text = typeof body.text === 'string' ? body.text : '';
40
+ if (!text.trim())
41
+ return Response.json({ error: 'Missing text' }, { status: 400 });
42
+ try {
43
+ const result = await context.voiceService.synthesize(typeof body.providerId === 'string' ? body.providerId : undefined, {
44
+ text,
45
+ voiceId: typeof body.voiceId === 'string' ? body.voiceId : undefined,
46
+ modelId: typeof body.modelId === 'string' ? body.modelId : undefined,
47
+ format: typeof body.format === 'string' ? body.format : undefined,
48
+ speed: typeof body.speed === 'number' ? body.speed : undefined,
49
+ metadata: typeof body.metadata === 'object' && body.metadata !== null ? body.metadata : {},
50
+ });
51
+ return Response.json(result);
52
+ }
53
+ catch (error) {
54
+ return jsonErrorResponse(error, { status: 404 });
55
+ }
56
+ }
57
+ async function handleVoiceStt(context, req) {
58
+ const body = await context.parseJsonBody(req);
59
+ if (body instanceof Response)
60
+ return body;
61
+ if (typeof body.audio !== 'object' || body.audio === null) {
62
+ return Response.json({ error: 'Missing audio artifact' }, { status: 400 });
63
+ }
64
+ try {
65
+ const result = await context.voiceService.transcribe(typeof body.providerId === 'string' ? body.providerId : undefined, {
66
+ audio: body.audio,
67
+ language: typeof body.language === 'string' ? body.language : undefined,
68
+ modelId: typeof body.modelId === 'string' ? body.modelId : undefined,
69
+ prompt: typeof body.prompt === 'string' ? body.prompt : undefined,
70
+ metadata: typeof body.metadata === 'object' && body.metadata !== null ? body.metadata : {},
71
+ });
72
+ return Response.json(result);
73
+ }
74
+ catch (error) {
75
+ return jsonErrorResponse(error, { status: 404 });
76
+ }
77
+ }
78
+ async function handleVoiceRealtimeSession(context, req) {
79
+ const body = await context.parseJsonBody(req);
80
+ if (body instanceof Response)
81
+ return body;
82
+ try {
83
+ const result = await context.voiceService.openRealtimeSession(typeof body.providerId === 'string' ? body.providerId : undefined, {
84
+ modelId: typeof body.modelId === 'string' ? body.modelId : undefined,
85
+ voiceId: typeof body.voiceId === 'string' ? body.voiceId : undefined,
86
+ inputFormat: typeof body.inputFormat === 'string' ? body.inputFormat : undefined,
87
+ outputFormat: typeof body.outputFormat === 'string' ? body.outputFormat : undefined,
88
+ instructions: typeof body.instructions === 'string' ? body.instructions : undefined,
89
+ metadata: typeof body.metadata === 'object' && body.metadata !== null ? body.metadata : {},
90
+ });
91
+ return Response.json(result, { status: 201 });
92
+ }
93
+ catch (error) {
94
+ return jsonErrorResponse(error, { status: 404 });
95
+ }
96
+ }
97
+ async function handleMediaAnalyze(context, req) {
98
+ const body = await context.parseJsonBody(req);
99
+ if (body instanceof Response)
100
+ return body;
101
+ const provider = context.mediaProviders.findProvider('understand', typeof body.providerId === 'string' ? body.providerId : undefined);
102
+ if (!provider?.analyze)
103
+ return Response.json({ error: 'No media analysis provider is registered' }, { status: 404 });
104
+ const artifact = typeof body.artifact === 'object' && body.artifact !== null
105
+ ? body.artifact
106
+ : typeof body.artifactId === 'string' && body.artifactId.trim().length > 0
107
+ ? {
108
+ artifactId: body.artifactId.trim(),
109
+ mimeType: 'application/octet-stream',
110
+ metadata: {},
111
+ }
112
+ : null;
113
+ if (!artifact) {
114
+ return Response.json({ error: 'Missing media artifact' }, { status: 400 });
115
+ }
116
+ return Response.json(await provider.analyze({
117
+ artifact,
118
+ prompt: typeof body.prompt === 'string' ? body.prompt : undefined,
119
+ modelId: typeof body.modelId === 'string' ? body.modelId : undefined,
120
+ metadata: typeof body.metadata === 'object' && body.metadata !== null ? body.metadata : {},
121
+ }));
122
+ }
123
+ async function handleArtifactCreate(context, req) {
124
+ const body = await context.parseJsonBody(req);
125
+ if (body instanceof Response)
126
+ return body;
127
+ const privateHostFetchOptions = resolvePrivateHostFetchOptions(body.allowPrivateHosts, {
128
+ configManager: context.configManager,
129
+ req,
130
+ requireElevatedAccess: (request) => context.requireAdmin(request),
131
+ });
132
+ if (privateHostFetchOptions instanceof Response)
133
+ return privateHostFetchOptions;
134
+ try {
135
+ const artifact = await context.artifactStore.create({
136
+ ...(typeof body.kind === 'string' ? { kind: body.kind } : {}),
137
+ ...(typeof body.mimeType === 'string' ? { mimeType: body.mimeType } : {}),
138
+ ...(typeof body.filename === 'string' ? { filename: body.filename } : {}),
139
+ ...(typeof body.dataBase64 === 'string' ? { dataBase64: body.dataBase64 } : {}),
140
+ ...(typeof body.text === 'string' ? { text: body.text } : {}),
141
+ ...(typeof body.path === 'string' ? { path: body.path } : {}),
142
+ ...(typeof body.uri === 'string' ? { uri: body.uri } : {}),
143
+ ...privateHostFetchOptions,
144
+ ...(typeof body.retentionMs === 'number' ? { retentionMs: body.retentionMs } : {}),
145
+ ...(typeof body.metadata === 'object' && body.metadata !== null ? { metadata: body.metadata } : {}),
146
+ });
147
+ return Response.json({ artifact }, { status: 201 });
148
+ }
149
+ catch (error) {
150
+ return jsonErrorResponse(error, { status: 400 });
151
+ }
152
+ }
153
+ async function handleArtifactContent(context, artifactId, req) {
154
+ try {
155
+ const { record, buffer } = await context.artifactStore.readContent(artifactId);
156
+ const bytes = buffer instanceof Uint8Array ? buffer : new Uint8Array(buffer);
157
+ const headers = new Headers({
158
+ 'Content-Type': record.mimeType,
159
+ 'Content-Length': String(bytes.byteLength),
160
+ 'Cache-Control': 'private, max-age=60',
161
+ });
162
+ const download = new URL(req.url).searchParams.get('download');
163
+ if (record.filename && download !== '0') {
164
+ headers.set('Content-Disposition', `attachment; filename="${record.filename.replace(/"/g, '\\"')}"`);
165
+ }
166
+ return new Response(bytes, { status: 200, headers });
167
+ }
168
+ catch (error) {
169
+ return jsonErrorResponse(error, { status: 404 });
170
+ }
171
+ }
172
+ async function handleWebSearch(context, req) {
173
+ const body = await context.parseJsonBody(req);
174
+ if (body instanceof Response)
175
+ return body;
176
+ const query = typeof body.query === 'string' ? body.query.trim() : '';
177
+ if (!query)
178
+ return Response.json({ error: 'Missing query' }, { status: 400 });
179
+ try {
180
+ return Response.json(await context.webSearchService.search({
181
+ query,
182
+ ...(typeof body.providerId === 'string' ? { providerId: body.providerId } : {}),
183
+ ...(typeof body.maxResults === 'number' ? { maxResults: body.maxResults } : {}),
184
+ ...(typeof body.verbosity === 'string' ? { verbosity: body.verbosity } : {}),
185
+ ...(typeof body.region === 'string' ? { region: body.region } : {}),
186
+ ...(typeof body.safeSearch === 'string' ? { safeSearch: body.safeSearch } : {}),
187
+ ...(typeof body.timeRange === 'string' ? { timeRange: body.timeRange } : {}),
188
+ ...(typeof body.includeInstantAnswer === 'boolean' ? { includeInstantAnswer: body.includeInstantAnswer } : {}),
189
+ ...(typeof body.includeEvidence === 'boolean' ? { includeEvidence: body.includeEvidence } : {}),
190
+ ...(typeof body.evidenceTopN === 'number' ? { evidenceTopN: body.evidenceTopN } : {}),
191
+ ...(typeof body.evidenceExtract === 'string' ? { evidenceExtract: body.evidenceExtract } : {}),
192
+ }));
193
+ }
194
+ catch (error) {
195
+ return jsonErrorResponse(error, { status: 400 });
196
+ }
197
+ }
198
+ async function handleMediaTransform(context, req) {
199
+ const body = await context.parseJsonBody(req);
200
+ if (body instanceof Response)
201
+ return body;
202
+ const provider = context.mediaProviders.findProvider('transform', typeof body.providerId === 'string' ? body.providerId : undefined);
203
+ if (!provider?.transform)
204
+ return Response.json({ error: 'No media transform provider is registered' }, { status: 404 });
205
+ if (typeof body.artifact !== 'object' || body.artifact === null) {
206
+ return Response.json({ error: 'Missing media artifact' }, { status: 400 });
207
+ }
208
+ const operation = typeof body.operation === 'string' ? body.operation : '';
209
+ if (!operation)
210
+ return Response.json({ error: 'Missing media transform operation' }, { status: 400 });
211
+ return Response.json(await provider.transform({
212
+ artifact: body.artifact,
213
+ operation,
214
+ outputMimeType: typeof body.outputMimeType === 'string' ? body.outputMimeType : undefined,
215
+ options: typeof body.options === 'object' && body.options !== null ? body.options : {},
216
+ metadata: typeof body.metadata === 'object' && body.metadata !== null ? body.metadata : {},
217
+ }));
218
+ }
219
+ async function handleMediaGenerate(context, req) {
220
+ const body = await context.parseJsonBody(req);
221
+ if (body instanceof Response)
222
+ return body;
223
+ const provider = context.mediaProviders.findProvider('generate', typeof body.providerId === 'string' ? body.providerId : undefined);
224
+ if (!provider?.generate)
225
+ return Response.json({ error: 'No media generation provider is registered' }, { status: 404 });
226
+ const prompt = typeof body.prompt === 'string' ? body.prompt : '';
227
+ if (!prompt.trim())
228
+ return Response.json({ error: 'Missing media generation prompt' }, { status: 400 });
229
+ return Response.json(await provider.generate({
230
+ prompt,
231
+ outputMimeType: typeof body.outputMimeType === 'string' ? body.outputMimeType : undefined,
232
+ modelId: typeof body.modelId === 'string' ? body.modelId : undefined,
233
+ options: typeof body.options === 'object' && body.options !== null ? body.options : {},
234
+ metadata: typeof body.metadata === 'object' && body.metadata !== null ? body.metadata : {},
235
+ }));
236
+ }
237
+ async function handleMultimodalAnalyze(context, req) {
238
+ const body = await context.parseJsonBody(req);
239
+ if (body instanceof Response)
240
+ return body;
241
+ const requestedArtifact = typeof body.artifact === 'object' && body.artifact !== null
242
+ ? body.artifact
243
+ : null;
244
+ const privateHostFetchOptions = resolvePrivateHostFetchOptions(body.allowPrivateHosts === true || requestedArtifact?.allowPrivateHosts === true, {
245
+ configManager: context.configManager,
246
+ req,
247
+ requireElevatedAccess: (request) => context.requireAdmin(request),
248
+ });
249
+ if (privateHostFetchOptions instanceof Response)
250
+ return privateHostFetchOptions;
251
+ try {
252
+ const analysis = await context.multimodalService.analyze({
253
+ ...(typeof body.artifactId === 'string' ? { artifactId: body.artifactId } : {}),
254
+ ...(requestedArtifact ? {
255
+ artifact: {
256
+ ...requestedArtifact,
257
+ ...privateHostFetchOptions,
258
+ },
259
+ } : {}),
260
+ ...(typeof body.prompt === 'string' ? { prompt: body.prompt } : {}),
261
+ ...(typeof body.imageProviderId === 'string' ? { imageProviderId: body.imageProviderId } : {}),
262
+ ...(typeof body.audioProviderId === 'string' ? { audioProviderId: body.audioProviderId } : {}),
263
+ ...(typeof body.modelId === 'string' ? { modelId: body.modelId } : {}),
264
+ ...(typeof body.language === 'string' ? { language: body.language } : {}),
265
+ ...(typeof body.detail === 'string' ? { detail: body.detail } : {}),
266
+ ...(typeof body.metadata === 'object' && body.metadata !== null ? { metadata: body.metadata } : {}),
267
+ });
268
+ const includePacket = body.includePacket === true;
269
+ const writeback = body.writeback === true || (typeof body.writeback === 'object' && body.writeback !== null);
270
+ const writebackBody = typeof body.writeback === 'object' && body.writeback !== null
271
+ ? body.writeback
272
+ : null;
273
+ const packet = includePacket
274
+ ? context.multimodalService.buildPacket(analysis, typeof body.detail === 'string' ? body.detail : 'standard')
275
+ : undefined;
276
+ const writebackResult = writeback
277
+ ? await context.multimodalService.writeBackAnalysis(analysis, {
278
+ ...(typeof body.sessionId === 'string' ? { sessionId: body.sessionId } : {}),
279
+ ...(typeof writebackBody?.title === 'string' ? { title: writebackBody.title } : {}),
280
+ ...(Array.isArray(writebackBody?.tags) ? { tags: writebackBody.tags.filter((entry) => typeof entry === 'string') } : {}),
281
+ ...(typeof writebackBody?.folderPath === 'string' ? { folderPath: writebackBody.folderPath } : {}),
282
+ ...(typeof writebackBody?.metadata === 'object' && writebackBody.metadata !== null ? { metadata: writebackBody.metadata } : {}),
283
+ })
284
+ : undefined;
285
+ return Response.json({
286
+ analysis,
287
+ ...(packet ? { packet } : {}),
288
+ ...(writebackResult ? { writeback: writebackResult } : {}),
289
+ }, { status: 201 });
290
+ }
291
+ catch (error) {
292
+ return jsonErrorResponse(error, { status: 400 });
293
+ }
294
+ }
295
+ async function handleMultimodalPacket(context, req) {
296
+ const body = await context.parseJsonBody(req);
297
+ if (body instanceof Response)
298
+ return body;
299
+ if (typeof body.analysis !== 'object' || body.analysis === null) {
300
+ return Response.json({ error: 'Missing analysis payload' }, { status: 400 });
301
+ }
302
+ const detail = typeof body.detail === 'string' ? body.detail : 'standard';
303
+ const budgetLimit = typeof body.budgetLimit === 'number' ? body.budgetLimit : undefined;
304
+ return Response.json({
305
+ packet: context.multimodalService.buildPacket(body.analysis, detail, budgetLimit),
306
+ });
307
+ }
308
+ async function handleMultimodalWriteback(context, req) {
309
+ const body = await context.parseJsonBody(req);
310
+ if (body instanceof Response)
311
+ return body;
312
+ if (typeof body.analysis !== 'object' || body.analysis === null) {
313
+ return Response.json({ error: 'Missing analysis payload' }, { status: 400 });
314
+ }
315
+ try {
316
+ const writeback = await context.multimodalService.writeBackAnalysis(body.analysis, {
317
+ ...(typeof body.sessionId === 'string' ? { sessionId: body.sessionId } : {}),
318
+ ...(typeof body.title === 'string' ? { title: body.title } : {}),
319
+ ...(Array.isArray(body.tags) ? { tags: body.tags.filter((entry) => typeof entry === 'string') } : {}),
320
+ ...(typeof body.folderPath === 'string' ? { folderPath: body.folderPath } : {}),
321
+ ...(typeof body.metadata === 'object' && body.metadata !== null ? { metadata: body.metadata } : {}),
322
+ });
323
+ return Response.json({ writeback }, { status: 201 });
324
+ }
325
+ catch (error) {
326
+ return jsonErrorResponse(error, { status: 400 });
327
+ }
328
+ }
@@ -0,0 +1,3 @@
1
+ import type { DaemonApiRouteHandlers } from './context.js';
2
+ export declare function dispatchOperatorRoutes(req: Request, handlers: Pick<DaemonApiRouteHandlers, 'getStatus' | 'getCurrentAuth' | 'getControlPlaneSnapshot' | 'getOperatorContract' | 'getControlPlaneWeb' | 'getControlPlaneRecentEvents' | 'getControlPlaneMessages' | 'getControlPlaneClients' | 'getTelemetrySnapshot' | 'getTelemetryEvents' | 'getTelemetryErrors' | 'getTelemetryTraces' | 'getTelemetryMetrics' | 'createTelemetryEventStream' | 'getTelemetryOtlpTraces' | 'getTelemetryOtlpLogs' | 'getTelemetryOtlpMetrics' | 'getGatewayMethods' | 'getGatewayEvents' | 'getGatewayMethod' | 'invokeGatewayMethod' | 'createControlPlaneEventStream' | 'getRoutesSnapshot' | 'getSurfaces' | 'getChannelAccounts' | 'getChannelSurfaceAccounts' | 'getChannelAccount' | 'postChannelAccountAction' | 'getChannelSetupSchema' | 'getChannelDoctor' | 'getChannelRepairActions' | 'getChannelLifecycle' | 'postChannelLifecycleMigrate' | 'getChannelCapabilities' | 'getChannelSurfaceCapabilities' | 'getChannelTools' | 'getChannelSurfaceTools' | 'getChannelAgentTools' | 'getChannelSurfaceAgentTools' | 'postChannelTool' | 'getChannelActions' | 'getChannelSurfaceActions' | 'postChannelAction' | 'postChannelResolveTarget' | 'postChannelAuthorize' | 'postChannelAllowlistResolve' | 'postChannelAllowlistEdit' | 'getChannelPolicies' | 'postChannelPolicy' | 'getChannelPolicyAudit' | 'getChannelStatus' | 'getChannelDirectory' | 'getWatchers' | 'postWatcher' | 'patchWatcher' | 'watcherAction' | 'deleteWatcher' | 'getServiceStatus' | 'installService' | 'startService' | 'stopService' | 'restartService' | 'uninstallService' | 'getRouteBindings' | 'postRouteBinding' | 'patchRouteBinding' | 'deleteRouteBinding' | 'getApprovals' | 'approvalAction' | 'getRemote' | 'getHealth' | 'getAccounts' | 'getProviders' | 'getProvider' | 'getProviderUsage' | 'getSettings' | 'getContinuity' | 'getWorktrees' | 'getIntelligence' | 'getLocalAuth' | 'postLocalAuthUser' | 'deleteLocalAuthUser' | 'postLocalAuthPassword' | 'deleteLocalAuthSession' | 'deleteBootstrapFile' | 'getPanels' | 'postPanelOpen' | 'getEvents' | 'getConfig' | 'postConfig' | 'getReview' | 'getIntegrationSession' | 'getIntegrationTasks' | 'getIntegrationAutomation' | 'getIntegrationSessions' | 'getAutomationHeartbeat' | 'postAutomationHeartbeat' | 'getMemoryDoctor' | 'getMemoryVectorStats' | 'postMemoryVectorRebuild' | 'postMemoryEmbeddingDefault' | 'getKnowledgeStatus' | 'getKnowledgeSources' | 'getKnowledgeNodes' | 'getKnowledgeIssues' | 'getKnowledgeItem' | 'getKnowledgeConnectors' | 'getKnowledgeConnector' | 'getKnowledgeConnectorDoctor' | 'getKnowledgeProjectionTargets' | 'getKnowledgeGraphqlSchema' | 'getKnowledgeExtractions' | 'getKnowledgeUsage' | 'getKnowledgeCandidates' | 'getKnowledgeCandidate' | 'getKnowledgeReports' | 'getKnowledgeReport' | 'getKnowledgeExtraction' | 'getKnowledgeSourceExtraction' | 'getKnowledgeJobs' | 'getKnowledgeJob' | 'getKnowledgeJobRuns' | 'getKnowledgeSchedules' | 'getKnowledgeSchedule' | 'postKnowledgeIngestUrl' | 'postKnowledgeIngestArtifact' | 'postKnowledgeImportBookmarks' | 'postKnowledgeImportUrls' | 'postKnowledgeIngestConnector' | 'postKnowledgeSearch' | 'postKnowledgePacket' | 'postKnowledgeDecideCandidate' | 'postKnowledgeRunJob' | 'postKnowledgeLint' | 'postKnowledgeReindex' | 'postKnowledgeSaveSchedule' | 'deleteKnowledgeSchedule' | 'postKnowledgeSetScheduleEnabled' | 'postKnowledgeRenderProjection' | 'postKnowledgeMaterializeProjection' | 'executeKnowledgeGraphql' | 'getVoiceStatus' | 'getVoiceProviders' | 'getVoiceVoices' | 'postVoiceTts' | 'postVoiceStt' | 'postVoiceRealtimeSession' | 'getWebSearchProviders' | 'postWebSearch' | 'getArtifacts' | 'postArtifact' | 'getArtifact' | 'getArtifactContent' | 'getMediaProviders' | 'postMediaAnalyze' | 'postMediaTransform' | 'postMediaGenerate' | 'getMultimodalStatus' | 'getMultimodalProviders' | 'postMultimodalAnalyze' | 'postMultimodalPacket' | 'postMultimodalWriteback' | 'getRemoteNodeHostContract'>): Promise<Response | null>;
3
+ //# sourceMappingURL=operator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operator.d.ts","sourceRoot":"","sources":["../src/operator.ts"],"names":[],"mappings":"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"}