@pellux/goodvibes-sdk 0.25.7 → 0.25.10
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/README.md +4 -0
- package/dist/_internal/contracts/artifacts/operator-contract.json +100 -4
- package/dist/_internal/contracts/generated/foundation-metadata.d.ts +2 -2
- package/dist/_internal/contracts/generated/foundation-metadata.js +2 -2
- package/dist/_internal/contracts/generated/operator-contract.d.ts.map +1 -1
- package/dist/_internal/contracts/generated/operator-contract.js +100 -4
- package/dist/_internal/contracts/generated/operator-method-ids.d.ts +1 -1
- package/dist/_internal/contracts/generated/operator-method-ids.d.ts.map +1 -1
- package/dist/_internal/contracts/generated/operator-method-ids.js +1 -0
- package/dist/_internal/daemon/context.d.ts +1 -0
- package/dist/_internal/daemon/context.d.ts.map +1 -1
- package/dist/_internal/daemon/media-route-types.d.ts +10 -0
- package/dist/_internal/daemon/media-route-types.d.ts.map +1 -1
- package/dist/_internal/daemon/media-routes.d.ts +1 -1
- package/dist/_internal/daemon/media-routes.d.ts.map +1 -1
- package/dist/_internal/daemon/media-routes.js +91 -10
- package/dist/_internal/daemon/operator.d.ts +1 -1
- package/dist/_internal/daemon/operator.d.ts.map +1 -1
- package/dist/_internal/daemon/operator.js +2 -0
- package/dist/_internal/platform/adapters/ntfy/index.js +13 -2
- package/dist/_internal/platform/adapters/types.d.ts +2 -0
- package/dist/_internal/platform/adapters/types.d.ts.map +1 -1
- package/dist/_internal/platform/batch/index.d.ts +4 -0
- package/dist/_internal/platform/batch/index.d.ts.map +1 -0
- package/dist/_internal/platform/batch/index.js +2 -0
- package/dist/_internal/platform/batch/manager.d.ts +41 -0
- package/dist/_internal/platform/batch/manager.d.ts.map +1 -0
- package/dist/_internal/platform/batch/manager.js +404 -0
- package/dist/_internal/platform/batch/types.d.ts +89 -0
- package/dist/_internal/platform/batch/types.d.ts.map +1 -0
- package/dist/_internal/platform/batch/types.js +10 -0
- package/dist/_internal/platform/channels/builtin/plugins.d.ts.map +1 -1
- package/dist/_internal/platform/channels/builtin/plugins.js +1 -0
- package/dist/_internal/platform/channels/reply-pipeline.d.ts +9 -1
- package/dist/_internal/platform/channels/reply-pipeline.d.ts.map +1 -1
- package/dist/_internal/platform/channels/reply-pipeline.js +156 -6
- package/dist/_internal/platform/cloudflare/client.d.ts +3 -0
- package/dist/_internal/platform/cloudflare/client.d.ts.map +1 -0
- package/dist/_internal/platform/cloudflare/client.js +9 -0
- package/dist/_internal/platform/cloudflare/config.d.ts +8 -0
- package/dist/_internal/platform/cloudflare/config.d.ts.map +1 -0
- package/dist/_internal/platform/cloudflare/config.js +48 -0
- package/dist/_internal/platform/cloudflare/constants.d.ts +18 -0
- package/dist/_internal/platform/cloudflare/constants.d.ts.map +1 -0
- package/dist/_internal/platform/cloudflare/constants.js +36 -0
- package/dist/_internal/platform/cloudflare/discovery.d.ts +23 -0
- package/dist/_internal/platform/cloudflare/discovery.d.ts.map +1 -0
- package/dist/_internal/platform/cloudflare/discovery.js +57 -0
- package/dist/_internal/platform/cloudflare/index.d.ts +6 -0
- package/dist/_internal/platform/cloudflare/index.d.ts.map +1 -0
- package/dist/_internal/platform/cloudflare/index.js +4 -0
- package/dist/_internal/platform/cloudflare/manager.d.ts +30 -0
- package/dist/_internal/platform/cloudflare/manager.d.ts.map +1 -0
- package/dist/_internal/platform/cloudflare/manager.js +671 -0
- package/dist/_internal/platform/cloudflare/resources.d.ts +79 -0
- package/dist/_internal/platform/cloudflare/resources.d.ts.map +1 -0
- package/dist/_internal/platform/cloudflare/resources.js +353 -0
- package/dist/_internal/platform/cloudflare/types.d.ts +689 -0
- package/dist/_internal/platform/cloudflare/types.d.ts.map +1 -0
- package/dist/_internal/platform/cloudflare/types.js +10 -0
- package/dist/_internal/platform/cloudflare/utils.d.ts +14 -0
- package/dist/_internal/platform/cloudflare/utils.d.ts.map +1 -0
- package/dist/_internal/platform/cloudflare/utils.js +222 -0
- package/dist/_internal/platform/cloudflare/worker-source.d.ts +2 -0
- package/dist/_internal/platform/cloudflare/worker-source.d.ts.map +1 -0
- package/dist/_internal/platform/cloudflare/worker-source.js +165 -0
- package/dist/_internal/platform/config/schema-domain-core.d.ts +6 -0
- package/dist/_internal/platform/config/schema-domain-core.d.ts.map +1 -1
- package/dist/_internal/platform/config/schema-domain-core.js +30 -0
- package/dist/_internal/platform/config/schema-domain-runtime.d.ts +43 -0
- package/dist/_internal/platform/config/schema-domain-runtime.d.ts.map +1 -1
- package/dist/_internal/platform/config/schema-domain-runtime.js +287 -0
- package/dist/_internal/platform/config/schema-types.d.ts +57 -2
- package/dist/_internal/platform/config/schema-types.d.ts.map +1 -1
- package/dist/_internal/platform/config/schema.d.ts.map +1 -1
- package/dist/_internal/platform/config/schema.js +3 -0
- package/dist/_internal/platform/control-plane/method-catalog-media.d.ts.map +1 -1
- package/dist/_internal/platform/control-plane/method-catalog-media.js +17 -0
- package/dist/_internal/platform/control-plane/routes/operator.d.ts +1 -1
- package/dist/_internal/platform/control-plane/routes/operator.d.ts.map +1 -1
- package/dist/_internal/platform/control-plane/routes/operator.js +2 -0
- package/dist/_internal/platform/daemon/facade-composition.d.ts +2 -0
- package/dist/_internal/platform/daemon/facade-composition.d.ts.map +1 -1
- package/dist/_internal/platform/daemon/facade-composition.js +10 -0
- package/dist/_internal/platform/daemon/http/batch-routes.d.ts +8 -0
- package/dist/_internal/platform/daemon/http/batch-routes.d.ts.map +1 -0
- package/dist/_internal/platform/daemon/http/batch-routes.js +113 -0
- package/dist/_internal/platform/daemon/http/cloudflare-routes.d.ts +7 -0
- package/dist/_internal/platform/daemon/http/cloudflare-routes.d.ts.map +1 -0
- package/dist/_internal/platform/daemon/http/cloudflare-routes.js +201 -0
- package/dist/_internal/platform/daemon/http/router-route-contexts.d.ts.map +1 -1
- package/dist/_internal/platform/daemon/http/router-route-contexts.js +1 -0
- package/dist/_internal/platform/daemon/http/router.d.ts +5 -1
- package/dist/_internal/platform/daemon/http/router.d.ts.map +1 -1
- package/dist/_internal/platform/daemon/http/router.js +30 -0
- package/dist/_internal/platform/daemon/http/runtime-route-types.d.ts +2 -0
- package/dist/_internal/platform/daemon/http/runtime-route-types.d.ts.map +1 -1
- package/dist/_internal/platform/daemon/surface-actions.d.ts +6 -0
- package/dist/_internal/platform/daemon/surface-actions.d.ts.map +1 -1
- package/dist/_internal/platform/daemon/surface-actions.js +13 -0
- package/dist/_internal/platform/daemon/surface-delivery.d.ts +3 -0
- package/dist/_internal/platform/daemon/surface-delivery.d.ts.map +1 -1
- package/dist/_internal/platform/daemon/surface-delivery.js +42 -6
- package/dist/_internal/platform/daemon/types.d.ts +2 -0
- package/dist/_internal/platform/daemon/types.d.ts.map +1 -1
- package/dist/_internal/platform/providers/anthropic.d.ts +13 -1
- package/dist/_internal/platform/providers/anthropic.d.ts.map +1 -1
- package/dist/_internal/platform/providers/anthropic.js +219 -1
- package/dist/_internal/platform/providers/interface.d.ts +48 -0
- package/dist/_internal/platform/providers/interface.d.ts.map +1 -1
- package/dist/_internal/platform/providers/openai.d.ts +13 -1
- package/dist/_internal/platform/providers/openai.d.ts.map +1 -1
- package/dist/_internal/platform/providers/openai.js +189 -1
- package/dist/_internal/platform/version.js +1 -1
- package/dist/_internal/platform/voice/index.d.ts +1 -1
- package/dist/_internal/platform/voice/index.d.ts.map +1 -1
- package/dist/_internal/platform/voice/providers/elevenlabs.d.ts.map +1 -1
- package/dist/_internal/platform/voice/providers/elevenlabs.js +150 -4
- package/dist/_internal/platform/voice/service.d.ts +2 -1
- package/dist/_internal/platform/voice/service.d.ts.map +1 -1
- package/dist/_internal/platform/voice/service.js +7 -0
- package/dist/_internal/platform/voice/types.d.ts +18 -1
- package/dist/_internal/platform/voice/types.d.ts.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/workers.d.ts +43 -0
- package/dist/workers.d.ts.map +1 -0
- package/dist/workers.js +156 -0
- package/package.json +6 -1
|
@@ -1,3 +1,3 @@
|
|
|
1
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>;
|
|
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' | 'postVoiceTtsStream' | 'postVoiceStt' | 'postVoiceRealtimeSession' | 'getWebSearchProviders' | 'postWebSearch' | 'getArtifacts' | 'postArtifact' | 'getArtifact' | 'getArtifactContent' | 'getMediaProviders' | 'postMediaAnalyze' | 'postMediaTransform' | 'postMediaGenerate' | 'getMultimodalStatus' | 'getMultimodalProviders' | 'postMultimodalAnalyze' | 'postMultimodalPacket' | 'postMultimodalWriteback' | 'getRemoteNodeHostContract'>): Promise<Response | null>;
|
|
3
3
|
//# sourceMappingURL=operator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operator.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/control-plane/routes/operator.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"operator.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/control-plane/routes/operator.ts"],"names":[],"mappings":"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"}
|
|
@@ -328,6 +328,8 @@ export async function dispatchOperatorRoutes(req, handlers) {
|
|
|
328
328
|
return handlers.getVoiceProviders();
|
|
329
329
|
if (pathname === '/api/voice/voices' && method === 'GET')
|
|
330
330
|
return handlers.getVoiceVoices(url);
|
|
331
|
+
if (pathname === '/api/voice/tts/stream' && method === 'POST')
|
|
332
|
+
return handlers.postVoiceTtsStream(req);
|
|
331
333
|
if (pathname === '/api/voice/tts' && method === 'POST')
|
|
332
334
|
return handlers.postVoiceTts(req);
|
|
333
335
|
if (pathname === '/api/voice/stt' && method === 'POST')
|
|
@@ -33,6 +33,8 @@ export declare function configureDaemonSessionContinuation(options: {
|
|
|
33
33
|
readonly queueSurfaceReplyFromBinding: (binding: import('@pellux/goodvibes-sdk/platform/automation/routes').AutomationRouteBinding | undefined, input: {
|
|
34
34
|
readonly agentId: string;
|
|
35
35
|
readonly task: string;
|
|
36
|
+
readonly agentTask?: string;
|
|
37
|
+
readonly workflowChainId?: string;
|
|
36
38
|
readonly sessionId?: string;
|
|
37
39
|
}) => void;
|
|
38
40
|
}): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"facade-composition.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/daemon/facade-composition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"facade-composition.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/daemon/facade-composition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAkBrD,OAAO,KAAK,EAAE,oBAAoB,EAA0B,MAAM,wCAAwC,CAAC;AAI3G,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,OAAO,KAAK,EAAE,YAAY,EAAuB,MAAM,YAAY,CAAC;AAIpE,YAAY,EACV,2BAA2B,EAC3B,yBAAyB,EACzB,sCAAsC,GACvC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EACV,2BAA2B,EAC3B,yBAAyB,EACzB,sCAAsC,EACvC,MAAM,mBAAmB,CAAC;AAI3B;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,8BAA8B,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,oBAAoB,CA2FvG;AAED,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,YAAY,EACpB,qBAAqB,CAAC,EAAE,aAAa,GACpC,2BAA2B,CAoI7B;AAED,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,sCAAsC,GAC9C,yBAAyB,CAuK3B;AAED,wBAAgB,kCAAkC,CAAC,OAAO,EAAE;IAC1D,QAAQ,CAAC,aAAa,EAAE,OAAO,2BAA2B,EAAE,mBAAmB,CAAC;IAChF,QAAQ,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,yBAAyB,EAAE,WAAW,GAAG,QAAQ,CAAC;IACzK,QAAQ,CAAC,4BAA4B,EAAE,CAAC,OAAO,EAAE,OAAO,kDAAkD,EAAE,sBAAsB,GAAG,SAAS,EAAE,KAAK,EAAE;QACrJ,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAC5B,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;QAClC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;KAC7B,KAAK,IAAI,CAAC;CACZ,GAAG,IAAI,CAsBP"}
|
|
@@ -12,6 +12,7 @@ import { DaemonSurfaceDeliveryHelper } from './surface-delivery.js';
|
|
|
12
12
|
import { DaemonSurfaceActionHelper } from './surface-actions.js';
|
|
13
13
|
import { DaemonTransportEventsHelper } from './transport-events.js';
|
|
14
14
|
import { DaemonHttpRouter } from './http/router.js';
|
|
15
|
+
import { DaemonBatchManager } from '../batch/index.js';
|
|
15
16
|
import { CompanionChatManager } from '../companion/companion-chat-manager.js';
|
|
16
17
|
import { findModelDefinition, findModelDefinitionForProvider } from '../providers/registry-models.js';
|
|
17
18
|
import { getBaseModelId } from '../providers/registry-helpers.js';
|
|
@@ -295,6 +296,7 @@ export function createDaemonFacadeCollaborators(options) {
|
|
|
295
296
|
surfaceDeliveryEnabled: options.surfaceDeliveryEnabled,
|
|
296
297
|
signWebhookPayload: options.signWebhookPayload,
|
|
297
298
|
handleApprovalAction: options.handleApprovalAction,
|
|
299
|
+
resolveDefaultProviderModel: options.resolveDefaultProviderModel,
|
|
298
300
|
});
|
|
299
301
|
const controlPlaneHelper = new DaemonControlPlaneHelper({
|
|
300
302
|
authToken: options.authToken,
|
|
@@ -317,6 +319,11 @@ export function createDaemonFacadeCollaborators(options) {
|
|
|
317
319
|
port: runtime.port,
|
|
318
320
|
tlsState: options.tlsState,
|
|
319
321
|
});
|
|
322
|
+
const batchManager = new DaemonBatchManager({
|
|
323
|
+
configManager: runtime.configManager,
|
|
324
|
+
providerRegistry: runtime.runtimeServices.providerRegistry,
|
|
325
|
+
});
|
|
326
|
+
batchManager.start();
|
|
320
327
|
const httpRouter = new DaemonHttpRouter({
|
|
321
328
|
configManager: runtime.configManager,
|
|
322
329
|
serviceRegistry: runtime.serviceRegistry,
|
|
@@ -348,6 +355,7 @@ export function createDaemonFacadeCollaborators(options) {
|
|
|
348
355
|
runtimeBus: runtime.runtimeBus,
|
|
349
356
|
runtimeStore: runtime.runtimeStore,
|
|
350
357
|
runtimeDispatch: runtime.runtimeDispatch,
|
|
358
|
+
batchManager,
|
|
351
359
|
githubWebhookSecret: runtime.githubWebhookSecret,
|
|
352
360
|
authToken: options.authToken,
|
|
353
361
|
buildSurfaceAdapterContext: () => surfaceActionHelper.buildSurfaceAdapterContext(),
|
|
@@ -425,6 +433,8 @@ export function configureDaemonSessionContinuation(options) {
|
|
|
425
433
|
options.queueSurfaceReplyFromBinding(routeBinding, {
|
|
426
434
|
agentId: spawned.id,
|
|
427
435
|
task: input.body,
|
|
436
|
+
agentTask: task,
|
|
437
|
+
...(typeof spawned.wrfcId === 'string' && spawned.wrfcId.length > 0 ? { workflowChainId: spawned.wrfcId } : {}),
|
|
428
438
|
sessionId,
|
|
429
439
|
});
|
|
430
440
|
return { agentId: spawned.id };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { DaemonBatchManager } from '../../batch/index.js';
|
|
2
|
+
export interface DaemonBatchRouteContext {
|
|
3
|
+
readonly batchManager: DaemonBatchManager;
|
|
4
|
+
readonly parseJsonBody: (req: Request) => Promise<Record<string, unknown> | Response>;
|
|
5
|
+
readonly parseOptionalJsonBody: (req: Request) => Promise<Record<string, unknown> | null | Response>;
|
|
6
|
+
}
|
|
7
|
+
export declare function dispatchBatchRoutes(req: Request, context: DaemonBatchRouteContext): Promise<Response | null>;
|
|
8
|
+
//# sourceMappingURL=batch-routes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"batch-routes.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/daemon/http/batch-routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAI/D,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,YAAY,EAAE,kBAAkB,CAAC;IAC1C,QAAQ,CAAC,aAAa,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC;IACtF,QAAQ,CAAC,qBAAqB,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,QAAQ,CAAC,CAAC;CACtG;AAED,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,OAAO,EACZ,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAgD1B"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { DaemonBatchError } from '../../batch/index.js';
|
|
2
|
+
export async function dispatchBatchRoutes(req, context) {
|
|
3
|
+
const url = new URL(req.url);
|
|
4
|
+
const { pathname } = url;
|
|
5
|
+
if ((pathname === '/api/batch' || pathname === '/api/batch/config' || pathname === '/api/batch/runtime') && req.method === 'GET') {
|
|
6
|
+
return Response.json(await context.batchManager.describeRuntime());
|
|
7
|
+
}
|
|
8
|
+
if (pathname === '/api/batch/jobs' && req.method === 'GET') {
|
|
9
|
+
const limit = Number(url.searchParams.get('limit') ?? 100);
|
|
10
|
+
return Response.json({ jobs: await context.batchManager.listJobs(Number.isFinite(limit) ? limit : 100) });
|
|
11
|
+
}
|
|
12
|
+
if (pathname === '/api/batch/jobs' && req.method === 'POST') {
|
|
13
|
+
const bodyOrErr = await context.parseJsonBody(req);
|
|
14
|
+
if (bodyOrErr instanceof Response)
|
|
15
|
+
return bodyOrErr;
|
|
16
|
+
return handleBatchError(async () => {
|
|
17
|
+
const job = await context.batchManager.createJob(parseCreateJobInput(bodyOrErr));
|
|
18
|
+
return Response.json({ job }, { status: 202 });
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
const jobMatch = pathname.match(/^\/api\/batch\/jobs\/([^/]+)$/);
|
|
22
|
+
if (jobMatch && req.method === 'GET') {
|
|
23
|
+
const job = await context.batchManager.getJob(decodeURIComponent(jobMatch[1]));
|
|
24
|
+
if (!job)
|
|
25
|
+
return Response.json({ error: 'Batch job not found', code: 'BATCH_JOB_NOT_FOUND' }, { status: 404 });
|
|
26
|
+
return Response.json({ job });
|
|
27
|
+
}
|
|
28
|
+
const cancelMatch = pathname.match(/^\/api\/batch\/jobs\/([^/]+)\/cancel$/);
|
|
29
|
+
if (cancelMatch && req.method === 'POST') {
|
|
30
|
+
return handleBatchError(async () => {
|
|
31
|
+
const job = await context.batchManager.cancelJob(decodeURIComponent(cancelMatch[1]));
|
|
32
|
+
return Response.json({ job });
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
if (pathname === '/api/batch/tick' && req.method === 'POST') {
|
|
36
|
+
const bodyOrErr = await context.parseOptionalJsonBody(req);
|
|
37
|
+
if (bodyOrErr instanceof Response)
|
|
38
|
+
return bodyOrErr;
|
|
39
|
+
const body = bodyOrErr ?? {};
|
|
40
|
+
return handleBatchError(async () => {
|
|
41
|
+
const result = await context.batchManager.tick({ forceSubmit: body['force'] === true });
|
|
42
|
+
return Response.json(result);
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
47
|
+
async function handleBatchError(run) {
|
|
48
|
+
try {
|
|
49
|
+
return await run();
|
|
50
|
+
}
|
|
51
|
+
catch (error) {
|
|
52
|
+
if (error instanceof DaemonBatchError) {
|
|
53
|
+
return Response.json({ error: error.message, code: error.code }, { status: error.status });
|
|
54
|
+
}
|
|
55
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
56
|
+
return Response.json({ error: message, code: 'BATCH_ERROR' }, { status: 500 });
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
function parseCreateJobInput(body) {
|
|
60
|
+
const request = toRecord(body['request']);
|
|
61
|
+
const source = toRecord(body['source']);
|
|
62
|
+
const metadata = toStringRecord(body['metadata']);
|
|
63
|
+
const input = {
|
|
64
|
+
...(typeof body['provider'] === 'string' ? { provider: body['provider'] } : {}),
|
|
65
|
+
...(typeof body['model'] === 'string' ? { model: body['model'] } : {}),
|
|
66
|
+
request: {
|
|
67
|
+
messages: Array.isArray(request['messages']) ? request['messages'] : [],
|
|
68
|
+
...(Array.isArray(request['tools']) ? { tools: request['tools'] } : {}),
|
|
69
|
+
...(typeof request['systemPrompt'] === 'string' ? { systemPrompt: request['systemPrompt'] } : {}),
|
|
70
|
+
...(typeof request['maxTokens'] === 'number' ? { maxTokens: request['maxTokens'] } : {}),
|
|
71
|
+
...(request['reasoningEffort'] === 'instant' || request['reasoningEffort'] === 'low' || request['reasoningEffort'] === 'medium' || request['reasoningEffort'] === 'high'
|
|
72
|
+
? { reasoningEffort: request['reasoningEffort'] }
|
|
73
|
+
: {}),
|
|
74
|
+
...(typeof request['reasoningSummary'] === 'boolean' ? { reasoningSummary: request['reasoningSummary'] } : {}),
|
|
75
|
+
},
|
|
76
|
+
...(body['executionMode'] === 'batch' || body['executionMode'] === 'live' ? { executionMode: body['executionMode'] } : {}),
|
|
77
|
+
...(Object.keys(source).length > 0
|
|
78
|
+
? {
|
|
79
|
+
source: {
|
|
80
|
+
kind: parseSourceKind(source['kind']),
|
|
81
|
+
...(typeof source['id'] === 'string' ? { id: source['id'] } : {}),
|
|
82
|
+
},
|
|
83
|
+
}
|
|
84
|
+
: {}),
|
|
85
|
+
...(metadata ? { metadata } : {}),
|
|
86
|
+
...(typeof body['flush'] === 'boolean' ? { flush: body['flush'] } : {}),
|
|
87
|
+
};
|
|
88
|
+
return input;
|
|
89
|
+
}
|
|
90
|
+
function parseSourceKind(value) {
|
|
91
|
+
if (value === 'daemon-api' ||
|
|
92
|
+
value === 'cloudflare-worker' ||
|
|
93
|
+
value === 'cloudflare-queue' ||
|
|
94
|
+
value === 'automation' ||
|
|
95
|
+
value === 'client') {
|
|
96
|
+
return value;
|
|
97
|
+
}
|
|
98
|
+
return 'daemon-api';
|
|
99
|
+
}
|
|
100
|
+
function toRecord(value) {
|
|
101
|
+
return value !== null && typeof value === 'object' && !Array.isArray(value)
|
|
102
|
+
? value
|
|
103
|
+
: {};
|
|
104
|
+
}
|
|
105
|
+
function toStringRecord(value) {
|
|
106
|
+
const record = toRecord(value);
|
|
107
|
+
const result = {};
|
|
108
|
+
for (const [key, entry] of Object.entries(record)) {
|
|
109
|
+
if (typeof entry === 'string')
|
|
110
|
+
result[key] = entry;
|
|
111
|
+
}
|
|
112
|
+
return Object.keys(result).length > 0 ? result : undefined;
|
|
113
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { CloudflareControlPlaneOptions } from '../../cloudflare/types.js';
|
|
2
|
+
export interface DaemonCloudflareRouteContext extends CloudflareControlPlaneOptions {
|
|
3
|
+
readonly parseJsonBody: (req: Request) => Promise<Record<string, unknown> | Response>;
|
|
4
|
+
readonly parseOptionalJsonBody: (req: Request) => Promise<Record<string, unknown> | null | Response>;
|
|
5
|
+
}
|
|
6
|
+
export declare function dispatchCloudflareRoutes(req: Request, context: DaemonCloudflareRouteContext): Promise<Response | null>;
|
|
7
|
+
//# sourceMappingURL=cloudflare-routes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloudflare-routes.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/daemon/http/cloudflare-routes.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,6BAA6B,EAQ9B,MAAM,2BAA2B,CAAC;AAEnC,MAAM,WAAW,4BAA6B,SAAQ,6BAA6B;IACjF,QAAQ,CAAC,aAAa,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC;IACtF,QAAQ,CAAC,qBAAqB,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,QAAQ,CAAC,CAAC;CACtG;AAED,wBAAsB,wBAAwB,CAC5C,GAAG,EAAE,OAAO,EACZ,OAAO,EAAE,4BAA4B,GACpC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CA2D1B"}
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
import { CloudflareControlPlaneManager } from '../../cloudflare/manager.js';
|
|
2
|
+
import { CloudflareControlPlaneError } from '../../cloudflare/types.js';
|
|
3
|
+
export async function dispatchCloudflareRoutes(req, context) {
|
|
4
|
+
const url = new URL(req.url);
|
|
5
|
+
const { pathname } = url;
|
|
6
|
+
if (!pathname.startsWith('/api/cloudflare'))
|
|
7
|
+
return null;
|
|
8
|
+
const manager = new CloudflareControlPlaneManager(context);
|
|
9
|
+
if ((pathname === '/api/cloudflare' || pathname === '/api/cloudflare/status') && req.method === 'GET') {
|
|
10
|
+
return handleCloudflareError(async () => Response.json(await manager.describeStatus()));
|
|
11
|
+
}
|
|
12
|
+
if (pathname === '/api/cloudflare/token/requirements' && req.method === 'GET') {
|
|
13
|
+
const components = parseComponentsFromSearch(url.searchParams);
|
|
14
|
+
return handleCloudflareError(async () => Response.json(manager.tokenRequirements({ components, includeBootstrap: url.searchParams.get('bootstrap') === 'true' })));
|
|
15
|
+
}
|
|
16
|
+
if (pathname === '/api/cloudflare/token/requirements' && req.method === 'POST') {
|
|
17
|
+
const bodyOrErr = await context.parseOptionalJsonBody(req);
|
|
18
|
+
if (bodyOrErr instanceof Response)
|
|
19
|
+
return bodyOrErr;
|
|
20
|
+
return handleCloudflareError(async () => Response.json(manager.tokenRequirements(parseTokenRequirementsInput(bodyOrErr ?? {}))));
|
|
21
|
+
}
|
|
22
|
+
if (pathname === '/api/cloudflare/token/create' && req.method === 'POST') {
|
|
23
|
+
const bodyOrErr = await context.parseJsonBody(req);
|
|
24
|
+
if (bodyOrErr instanceof Response)
|
|
25
|
+
return bodyOrErr;
|
|
26
|
+
return handleCloudflareError(async () => Response.json(await manager.createOperationalToken(parseOperationalTokenInput(bodyOrErr)), { status: 201 }));
|
|
27
|
+
}
|
|
28
|
+
if (pathname === '/api/cloudflare/discover' && req.method === 'POST') {
|
|
29
|
+
const bodyOrErr = await context.parseOptionalJsonBody(req);
|
|
30
|
+
if (bodyOrErr instanceof Response)
|
|
31
|
+
return bodyOrErr;
|
|
32
|
+
return handleCloudflareError(async () => Response.json(await manager.discover(parseDiscoverInput(bodyOrErr ?? {}))));
|
|
33
|
+
}
|
|
34
|
+
if (pathname === '/api/cloudflare/validate' && req.method === 'POST') {
|
|
35
|
+
const bodyOrErr = await context.parseOptionalJsonBody(req);
|
|
36
|
+
if (bodyOrErr instanceof Response)
|
|
37
|
+
return bodyOrErr;
|
|
38
|
+
return handleCloudflareError(async () => Response.json(await manager.validate(parseValidateInput(bodyOrErr ?? {}))));
|
|
39
|
+
}
|
|
40
|
+
if (pathname === '/api/cloudflare/provision' && req.method === 'POST') {
|
|
41
|
+
const bodyOrErr = await context.parseJsonBody(req);
|
|
42
|
+
if (bodyOrErr instanceof Response)
|
|
43
|
+
return bodyOrErr;
|
|
44
|
+
return handleCloudflareError(async () => Response.json(await manager.provision(parseProvisionInput(bodyOrErr)), { status: 202 }));
|
|
45
|
+
}
|
|
46
|
+
if (pathname === '/api/cloudflare/verify' && req.method === 'POST') {
|
|
47
|
+
const bodyOrErr = await context.parseOptionalJsonBody(req);
|
|
48
|
+
if (bodyOrErr instanceof Response)
|
|
49
|
+
return bodyOrErr;
|
|
50
|
+
return handleCloudflareError(async () => Response.json(await manager.verify(parseVerifyInput(bodyOrErr ?? {}))));
|
|
51
|
+
}
|
|
52
|
+
if (pathname === '/api/cloudflare/disable' && req.method === 'POST') {
|
|
53
|
+
const bodyOrErr = await context.parseOptionalJsonBody(req);
|
|
54
|
+
if (bodyOrErr instanceof Response)
|
|
55
|
+
return bodyOrErr;
|
|
56
|
+
return handleCloudflareError(async () => Response.json(await manager.disable(parseDisableInput(bodyOrErr ?? {}))));
|
|
57
|
+
}
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
60
|
+
async function handleCloudflareError(run) {
|
|
61
|
+
try {
|
|
62
|
+
return await run();
|
|
63
|
+
}
|
|
64
|
+
catch (error) {
|
|
65
|
+
if (error instanceof CloudflareControlPlaneError) {
|
|
66
|
+
return Response.json({ error: error.message, code: error.code }, { status: error.status });
|
|
67
|
+
}
|
|
68
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
69
|
+
return Response.json({ error: message, code: 'CLOUDFLARE_ERROR' }, { status: 500 });
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
function parseValidateInput(body) {
|
|
73
|
+
return {
|
|
74
|
+
...(typeof body['accountId'] === 'string' ? { accountId: body['accountId'] } : {}),
|
|
75
|
+
...(typeof body['apiToken'] === 'string' ? { apiToken: body['apiToken'] } : {}),
|
|
76
|
+
...(typeof body['apiTokenRef'] === 'string' ? { apiTokenRef: body['apiTokenRef'] } : {}),
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
function parseProvisionInput(body) {
|
|
80
|
+
return {
|
|
81
|
+
...parseValidateInput(body),
|
|
82
|
+
...(parseComponents(body) ? { components: parseComponents(body) } : {}),
|
|
83
|
+
...(typeof body['workerName'] === 'string' ? { workerName: body['workerName'] } : {}),
|
|
84
|
+
...(typeof body['workerSubdomain'] === 'string' ? { workerSubdomain: body['workerSubdomain'] } : {}),
|
|
85
|
+
...(typeof body['workerHostname'] === 'string' ? { workerHostname: body['workerHostname'] } : {}),
|
|
86
|
+
...(typeof body['workerBaseUrl'] === 'string' ? { workerBaseUrl: body['workerBaseUrl'] } : {}),
|
|
87
|
+
...(typeof body['daemonBaseUrl'] === 'string' ? { daemonBaseUrl: body['daemonBaseUrl'] } : {}),
|
|
88
|
+
...(typeof body['daemonHostname'] === 'string' ? { daemonHostname: body['daemonHostname'] } : {}),
|
|
89
|
+
...(typeof body['zoneId'] === 'string' ? { zoneId: body['zoneId'] } : {}),
|
|
90
|
+
...(typeof body['zoneName'] === 'string' ? { zoneName: body['zoneName'] } : {}),
|
|
91
|
+
...(typeof body['queueName'] === 'string' ? { queueName: body['queueName'] } : {}),
|
|
92
|
+
...(typeof body['deadLetterQueueName'] === 'string' ? { deadLetterQueueName: body['deadLetterQueueName'] } : {}),
|
|
93
|
+
...(typeof body['tunnelName'] === 'string' ? { tunnelName: body['tunnelName'] } : {}),
|
|
94
|
+
...(typeof body['tunnelId'] === 'string' ? { tunnelId: body['tunnelId'] } : {}),
|
|
95
|
+
...(typeof body['tunnelServiceUrl'] === 'string' ? { tunnelServiceUrl: body['tunnelServiceUrl'] } : {}),
|
|
96
|
+
...(typeof body['tunnelTokenRef'] === 'string' ? { tunnelTokenRef: body['tunnelTokenRef'] } : {}),
|
|
97
|
+
...(typeof body['accessAppId'] === 'string' ? { accessAppId: body['accessAppId'] } : {}),
|
|
98
|
+
...(typeof body['accessServiceTokenId'] === 'string' ? { accessServiceTokenId: body['accessServiceTokenId'] } : {}),
|
|
99
|
+
...(typeof body['accessServiceTokenRef'] === 'string' ? { accessServiceTokenRef: body['accessServiceTokenRef'] } : {}),
|
|
100
|
+
...(typeof body['kvNamespaceName'] === 'string' ? { kvNamespaceName: body['kvNamespaceName'] } : {}),
|
|
101
|
+
...(typeof body['kvNamespaceId'] === 'string' ? { kvNamespaceId: body['kvNamespaceId'] } : {}),
|
|
102
|
+
...(typeof body['durableObjectNamespaceName'] === 'string' ? { durableObjectNamespaceName: body['durableObjectNamespaceName'] } : {}),
|
|
103
|
+
...(typeof body['durableObjectNamespaceId'] === 'string' ? { durableObjectNamespaceId: body['durableObjectNamespaceId'] } : {}),
|
|
104
|
+
...(typeof body['r2BucketName'] === 'string' ? { r2BucketName: body['r2BucketName'] } : {}),
|
|
105
|
+
...(typeof body['secretsStoreName'] === 'string' ? { secretsStoreName: body['secretsStoreName'] } : {}),
|
|
106
|
+
...(typeof body['secretsStoreId'] === 'string' ? { secretsStoreId: body['secretsStoreId'] } : {}),
|
|
107
|
+
...(typeof body['workerCron'] === 'string' ? { workerCron: body['workerCron'] } : {}),
|
|
108
|
+
...(typeof body['operatorToken'] === 'string' ? { operatorToken: body['operatorToken'] } : {}),
|
|
109
|
+
...(typeof body['operatorTokenRef'] === 'string' ? { operatorTokenRef: body['operatorTokenRef'] } : {}),
|
|
110
|
+
...(typeof body['workerClientToken'] === 'string' ? { workerClientToken: body['workerClientToken'] } : {}),
|
|
111
|
+
...(typeof body['workerClientTokenRef'] === 'string' ? { workerClientTokenRef: body['workerClientTokenRef'] } : {}),
|
|
112
|
+
...(typeof body['storeApiToken'] === 'boolean' ? { storeApiToken: body['storeApiToken'] } : {}),
|
|
113
|
+
...(typeof body['storeOperatorToken'] === 'boolean' ? { storeOperatorToken: body['storeOperatorToken'] } : {}),
|
|
114
|
+
...(typeof body['storeWorkerClientToken'] === 'boolean' ? { storeWorkerClientToken: body['storeWorkerClientToken'] } : {}),
|
|
115
|
+
...(typeof body['returnGeneratedSecrets'] === 'boolean' ? { returnGeneratedSecrets: body['returnGeneratedSecrets'] } : {}),
|
|
116
|
+
...(typeof body['enableWorkersDev'] === 'boolean' ? { enableWorkersDev: body['enableWorkersDev'] } : {}),
|
|
117
|
+
...(typeof body['queueJobPayloads'] === 'boolean' ? { queueJobPayloads: body['queueJobPayloads'] } : {}),
|
|
118
|
+
...(typeof body['verify'] === 'boolean' ? { verify: body['verify'] } : {}),
|
|
119
|
+
...(typeof body['persistConfig'] === 'boolean' ? { persistConfig: body['persistConfig'] } : {}),
|
|
120
|
+
...(body['batchMode'] === 'off' || body['batchMode'] === 'explicit' || body['batchMode'] === 'eligible-by-default'
|
|
121
|
+
? { batchMode: body['batchMode'] }
|
|
122
|
+
: {}),
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
function parseTokenRequirementsInput(body) {
|
|
126
|
+
return {
|
|
127
|
+
...(parseComponents(body) ? { components: parseComponents(body) } : {}),
|
|
128
|
+
...(typeof body['includeBootstrap'] === 'boolean' ? { includeBootstrap: body['includeBootstrap'] } : {}),
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
function parseOperationalTokenInput(body) {
|
|
132
|
+
return {
|
|
133
|
+
...parseTokenRequirementsInput(body),
|
|
134
|
+
...(typeof body['accountId'] === 'string' ? { accountId: body['accountId'] } : {}),
|
|
135
|
+
...(typeof body['zoneId'] === 'string' ? { zoneId: body['zoneId'] } : {}),
|
|
136
|
+
...(typeof body['zoneName'] === 'string' ? { zoneName: body['zoneName'] } : {}),
|
|
137
|
+
...(typeof body['bootstrapToken'] === 'string' ? { bootstrapToken: body['bootstrapToken'] } : {}),
|
|
138
|
+
...(typeof body['tokenName'] === 'string' ? { tokenName: body['tokenName'] } : {}),
|
|
139
|
+
...(typeof body['expiresOn'] === 'string' ? { expiresOn: body['expiresOn'] } : {}),
|
|
140
|
+
...(typeof body['persistConfig'] === 'boolean' ? { persistConfig: body['persistConfig'] } : {}),
|
|
141
|
+
...(typeof body['storeApiToken'] === 'boolean' ? { storeApiToken: body['storeApiToken'] } : {}),
|
|
142
|
+
...(typeof body['returnGeneratedToken'] === 'boolean' ? { returnGeneratedToken: body['returnGeneratedToken'] } : {}),
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
function parseDiscoverInput(body) {
|
|
146
|
+
return {
|
|
147
|
+
...parseValidateInput(body),
|
|
148
|
+
...(parseComponents(body) ? { components: parseComponents(body) } : {}),
|
|
149
|
+
...(typeof body['zoneId'] === 'string' ? { zoneId: body['zoneId'] } : {}),
|
|
150
|
+
...(typeof body['zoneName'] === 'string' ? { zoneName: body['zoneName'] } : {}),
|
|
151
|
+
...(typeof body['includeResources'] === 'boolean' ? { includeResources: body['includeResources'] } : {}),
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
function parseVerifyInput(body) {
|
|
155
|
+
return {
|
|
156
|
+
...(typeof body['workerBaseUrl'] === 'string' ? { workerBaseUrl: body['workerBaseUrl'] } : {}),
|
|
157
|
+
...(typeof body['workerClientToken'] === 'string' ? { workerClientToken: body['workerClientToken'] } : {}),
|
|
158
|
+
...(typeof body['workerClientTokenRef'] === 'string' ? { workerClientTokenRef: body['workerClientTokenRef'] } : {}),
|
|
159
|
+
};
|
|
160
|
+
}
|
|
161
|
+
function parseDisableInput(body) {
|
|
162
|
+
return {
|
|
163
|
+
...parseValidateInput(body),
|
|
164
|
+
...(typeof body['workerName'] === 'string' ? { workerName: body['workerName'] } : {}),
|
|
165
|
+
...(typeof body['disableWorkerSubdomain'] === 'boolean' ? { disableWorkerSubdomain: body['disableWorkerSubdomain'] } : {}),
|
|
166
|
+
...(typeof body['disableCron'] === 'boolean' ? { disableCron: body['disableCron'] } : {}),
|
|
167
|
+
...(typeof body['persistConfig'] === 'boolean' ? { persistConfig: body['persistConfig'] } : {}),
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
function parseComponents(body) {
|
|
171
|
+
const value = body['components'];
|
|
172
|
+
if (!value || typeof value !== 'object' || Array.isArray(value))
|
|
173
|
+
return undefined;
|
|
174
|
+
const input = value;
|
|
175
|
+
return {
|
|
176
|
+
...(typeof input['workers'] === 'boolean' ? { workers: input['workers'] } : {}),
|
|
177
|
+
...(typeof input['queues'] === 'boolean' ? { queues: input['queues'] } : {}),
|
|
178
|
+
...(typeof input['zeroTrustTunnel'] === 'boolean' ? { zeroTrustTunnel: input['zeroTrustTunnel'] } : {}),
|
|
179
|
+
...(typeof input['zeroTrustAccess'] === 'boolean' ? { zeroTrustAccess: input['zeroTrustAccess'] } : {}),
|
|
180
|
+
...(typeof input['dns'] === 'boolean' ? { dns: input['dns'] } : {}),
|
|
181
|
+
...(typeof input['kv'] === 'boolean' ? { kv: input['kv'] } : {}),
|
|
182
|
+
...(typeof input['durableObjects'] === 'boolean' ? { durableObjects: input['durableObjects'] } : {}),
|
|
183
|
+
...(typeof input['secretsStore'] === 'boolean' ? { secretsStore: input['secretsStore'] } : {}),
|
|
184
|
+
...(typeof input['r2'] === 'boolean' ? { r2: input['r2'] } : {}),
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
function parseComponentsFromSearch(params) {
|
|
188
|
+
const body = {};
|
|
189
|
+
const components = {};
|
|
190
|
+
for (const key of ['workers', 'queues', 'zeroTrustTunnel', 'zeroTrustAccess', 'dns', 'kv', 'durableObjects', 'secretsStore', 'r2']) {
|
|
191
|
+
const value = params.get(key);
|
|
192
|
+
if (value === 'true')
|
|
193
|
+
components[key] = true;
|
|
194
|
+
if (value === 'false')
|
|
195
|
+
components[key] = false;
|
|
196
|
+
}
|
|
197
|
+
if (Object.keys(components).length === 0)
|
|
198
|
+
return undefined;
|
|
199
|
+
body['components'] = components;
|
|
200
|
+
return parseComponents(body);
|
|
201
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router-route-contexts.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/daemon/http/router-route-contexts.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"router-route-contexts.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/daemon/http/router-route-contexts.ts"],"names":[],"mappings":"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"}
|
|
@@ -154,6 +154,7 @@ export function buildMediaRouteContext(input) {
|
|
|
154
154
|
getStatus: (enabled) => input.voiceService.getStatus(enabled),
|
|
155
155
|
listVoices: (providerId) => input.voiceService.listVoices(providerId),
|
|
156
156
|
synthesize: (providerId, body) => input.voiceService.synthesize(providerId, body),
|
|
157
|
+
synthesizeStream: (providerId, body) => input.voiceService.synthesizeStream(providerId, body),
|
|
157
158
|
transcribe: (providerId, body) => input.voiceService.transcribe(providerId, body),
|
|
158
159
|
openRealtimeSession: (providerId, body) => input.voiceService.openRealtimeSession(providerId, body),
|
|
159
160
|
},
|
|
@@ -18,6 +18,7 @@ import type { MultimodalService } from '../../multimodal/index.js';
|
|
|
18
18
|
import type { IntegrationHelperService } from '../../runtime/integration/helpers.js';
|
|
19
19
|
import type { DomainDispatch, RuntimeStore } from '../../runtime/store/index.js';
|
|
20
20
|
import type { RuntimeEventBus } from '../../runtime/events/index.js';
|
|
21
|
+
import type { DaemonBatchManager } from '../../batch/index.js';
|
|
21
22
|
import type { MemoryEmbeddingProviderRegistry, MemoryRegistry } from '../../state/index.js';
|
|
22
23
|
import type { GenericWebhookAdapterContext, SurfaceAdapterContext } from '../../adapters/index.js';
|
|
23
24
|
import type { PlatformServiceManager } from '../service-manager.js';
|
|
@@ -54,6 +55,7 @@ interface DaemonHttpRouterContext {
|
|
|
54
55
|
readonly runtimeBus: RuntimeEventBus;
|
|
55
56
|
readonly runtimeStore: RuntimeStore | null;
|
|
56
57
|
readonly runtimeDispatch: DomainDispatch | null;
|
|
58
|
+
readonly batchManager?: DaemonBatchManager | null;
|
|
57
59
|
readonly githubWebhookSecret: string | null;
|
|
58
60
|
readonly authToken: () => string | null;
|
|
59
61
|
readonly buildSurfaceAdapterContext: () => SurfaceAdapterContext;
|
|
@@ -92,6 +94,8 @@ interface DaemonHttpRouterContext {
|
|
|
92
94
|
readonly queueSurfaceReplyFromBinding: (binding: import('@pellux/goodvibes-sdk/platform/automation/routes').AutomationRouteBinding | undefined, input: {
|
|
93
95
|
readonly agentId: string;
|
|
94
96
|
readonly task: string;
|
|
97
|
+
readonly agentTask?: string;
|
|
98
|
+
readonly workflowChainId?: string;
|
|
95
99
|
readonly sessionId?: string;
|
|
96
100
|
}) => void;
|
|
97
101
|
readonly surfaceDeliveryEnabled: (surface: 'slack' | 'discord' | 'ntfy' | 'webhook' | 'telegram' | 'google-chat' | 'signal' | 'whatsapp' | 'imessage' | 'msteams' | 'bluebubbles' | 'mattermost' | 'matrix') => boolean;
|
|
@@ -125,7 +129,7 @@ interface DaemonHttpRouterContext {
|
|
|
125
129
|
* Without this, the production router always passes undefined and the secrets
|
|
126
130
|
* tier is permanently dead on live code paths.
|
|
127
131
|
*/
|
|
128
|
-
readonly secretsManager?: Pick<import('../../config/secrets.js').SecretsManager, 'get'> | null;
|
|
132
|
+
readonly secretsManager?: Pick<import('../../config/secrets.js').SecretsManager, 'get' | 'set' | 'getGlobalHome'> | null;
|
|
129
133
|
readonly trySpawnAgent: (input: Parameters<AgentManager['spawn']>[0], logLabel?: string, sessionId?: string) => import('../../tools/agent/index.js').AgentRecord | Response;
|
|
130
134
|
}
|
|
131
135
|
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,6BAA6B,CAAC;AAEnE,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,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,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;
|
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/daemon/http/router.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,6 +26,8 @@ import { AppError } from '../../types/errors.js';
|
|
|
26
26
|
import { VERSION } from '../../version.js';
|
|
27
27
|
import { dispatchCompanionChatRoutes } from '../../companion/companion-chat-routes.js';
|
|
28
28
|
import { dispatchProviderRoutes } from './provider-routes.js';
|
|
29
|
+
import { dispatchBatchRoutes } from './batch-routes.js';
|
|
30
|
+
import { dispatchCloudflareRoutes } from './cloudflare-routes.js';
|
|
29
31
|
export class DaemonHttpRouter {
|
|
30
32
|
context;
|
|
31
33
|
telemetryApi;
|
|
@@ -40,6 +42,7 @@ export class DaemonHttpRouter {
|
|
|
40
42
|
}
|
|
41
43
|
dispose() {
|
|
42
44
|
this.telemetryApi?.dispose();
|
|
45
|
+
this.context.batchManager?.dispose();
|
|
43
46
|
}
|
|
44
47
|
async handleRequest(req) {
|
|
45
48
|
return correlationCtx.run({ requestId: req.headers.get('x-request-id') ?? crypto.randomUUID() }, async () => {
|
|
@@ -115,6 +118,33 @@ export class DaemonHttpRouter {
|
|
|
115
118
|
});
|
|
116
119
|
}
|
|
117
120
|
async dispatchApiRoutes(req) {
|
|
121
|
+
const url = new URL(req.url);
|
|
122
|
+
if (url.pathname.startsWith('/api/batch')) {
|
|
123
|
+
if (!this.context.batchManager) {
|
|
124
|
+
return Response.json({ error: 'Batch manager is not available', code: 'BATCH_MANAGER_UNAVAILABLE' }, { status: 503 });
|
|
125
|
+
}
|
|
126
|
+
const batchResponse = await dispatchBatchRoutes(req, {
|
|
127
|
+
batchManager: this.context.batchManager,
|
|
128
|
+
parseJsonBody: (request) => this.parseJsonBody(request),
|
|
129
|
+
parseOptionalJsonBody: (request) => this.parseOptionalJsonBody(request),
|
|
130
|
+
});
|
|
131
|
+
if (batchResponse)
|
|
132
|
+
return batchResponse;
|
|
133
|
+
}
|
|
134
|
+
if (url.pathname.startsWith('/api/cloudflare')) {
|
|
135
|
+
const adminError = this.context.requireAdmin(req);
|
|
136
|
+
if (adminError)
|
|
137
|
+
return adminError;
|
|
138
|
+
const cloudflareResponse = await dispatchCloudflareRoutes(req, {
|
|
139
|
+
configManager: this.context.configManager,
|
|
140
|
+
secretsManager: this.context.secretsManager,
|
|
141
|
+
authToken: this.context.authToken,
|
|
142
|
+
parseJsonBody: (request) => this.parseJsonBody(request),
|
|
143
|
+
parseOptionalJsonBody: (request) => this.parseOptionalJsonBody(request),
|
|
144
|
+
});
|
|
145
|
+
if (cloudflareResponse)
|
|
146
|
+
return cloudflareResponse;
|
|
147
|
+
}
|
|
118
148
|
// Companion chat routes — scoped to /api/companion/chat/..., session-isolated.
|
|
119
149
|
// Handled before the main API router so they never touch the global control-plane feed.
|
|
120
150
|
// Provider discovery + model-switching routes
|
|
@@ -230,6 +230,8 @@ export interface DaemonRuntimeRouteContext extends Omit<SdkDaemonRuntimeRouteCon
|
|
|
230
230
|
readonly queueSurfaceReplyFromBinding: (binding: AutomationRouteBinding | undefined, input: {
|
|
231
231
|
readonly agentId: string;
|
|
232
232
|
readonly task: string;
|
|
233
|
+
readonly agentTask?: string;
|
|
234
|
+
readonly workflowChainId?: string;
|
|
233
235
|
readonly sessionId?: string;
|
|
234
236
|
}) => void;
|
|
235
237
|
readonly surfaceDeliveryEnabled: (surface: 'slack' | 'discord' | 'ntfy' | 'webhook' | 'telegram' | 'google-chat' | 'signal' | 'whatsapp' | 'imessage' | 'msteams' | 'bluebubbles' | 'mattermost' | 'matrix') => boolean;
|