yepanywhere 0.5.2 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +21 -5
- package/bundled/@yep-anywhere/shared/dist/agent-context.d.ts +9 -0
- package/bundled/@yep-anywhere/shared/dist/agent-context.d.ts.map +1 -0
- package/bundled/@yep-anywhere/shared/dist/agent-context.js +18 -0
- package/bundled/@yep-anywhere/shared/dist/agent-context.js.map +1 -0
- package/bundled/@yep-anywhere/shared/dist/app-types.d.ts +104 -1
- package/bundled/@yep-anywhere/shared/dist/app-types.d.ts.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/app-types.js +4 -0
- package/bundled/@yep-anywhere/shared/dist/app-types.js.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/binary-framing.d.ts +4 -1
- package/bundled/@yep-anywhere/shared/dist/binary-framing.d.ts.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/binary-framing.js +8 -3
- package/bundled/@yep-anywhere/shared/dist/binary-framing.js.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/AssistantEntrySchema.d.ts +4 -0
- package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/AssistantEntrySchema.d.ts.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/BaseEntrySchema.d.ts +4 -0
- package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/BaseEntrySchema.d.ts.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/BaseEntrySchema.js +7 -0
- package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/BaseEntrySchema.js.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/ProgressEntrySchema.d.ts +4 -0
- package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/ProgressEntrySchema.d.ts.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/SystemEntrySchema.d.ts +64 -1
- package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/SystemEntrySchema.d.ts.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/SystemEntrySchema.js +9 -0
- package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/SystemEntrySchema.js.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/UserEntrySchema.d.ts +4 -0
- package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/UserEntrySchema.d.ts.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/guards.d.ts.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/guards.js +45 -1
- package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/guards.js.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/index.d.ts +144 -2
- package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/index.d.ts.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/tool/ToolResultSchemas.d.ts +6 -4
- package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/tool/ToolResultSchemas.d.ts.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/tool/ToolResultSchemas.js +8 -1
- package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/tool/ToolResultSchemas.js.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/codex-schema/index.d.ts +3 -2
- package/bundled/@yep-anywhere/shared/dist/codex-schema/index.d.ts.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/codex-schema/index.js +3 -2
- package/bundled/@yep-anywhere/shared/dist/codex-schema/index.js.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/codex-schema/session.d.ts +87 -3
- package/bundled/@yep-anywhere/shared/dist/codex-schema/session.d.ts.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/codex-schema/session.js +39 -1
- package/bundled/@yep-anywhere/shared/dist/codex-schema/session.js.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/dag.d.ts +31 -11
- package/bundled/@yep-anywhere/shared/dist/dag.d.ts.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/dag.js +77 -33
- package/bundled/@yep-anywhere/shared/dist/dag.js.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/git-status.d.ts +70 -1
- package/bundled/@yep-anywhere/shared/dist/git-status.d.ts.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/git-status.js +6 -1
- package/bundled/@yep-anywhere/shared/dist/git-status.js.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/ideMetadata.js +1 -1
- package/bundled/@yep-anywhere/shared/dist/ideMetadata.js.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/index.d.ts +20 -11
- package/bundled/@yep-anywhere/shared/dist/index.d.ts.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/index.js +8 -3
- package/bundled/@yep-anywhere/shared/dist/index.js.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/local-resource.d.ts +1 -0
- package/bundled/@yep-anywhere/shared/dist/local-resource.d.ts.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/local-resource.js +4 -0
- package/bundled/@yep-anywhere/shared/dist/local-resource.js.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/opencode-schema/events.d.ts +136 -0
- package/bundled/@yep-anywhere/shared/dist/opencode-schema/events.d.ts.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/opencode-schema/events.js +65 -3
- package/bundled/@yep-anywhere/shared/dist/opencode-schema/events.js.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/opencode-schema/types.d.ts +1 -1
- package/bundled/@yep-anywhere/shared/dist/opencode-schema/types.d.ts.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/project-queue.d.ts +153 -0
- package/bundled/@yep-anywhere/shared/dist/project-queue.d.ts.map +1 -0
- package/bundled/@yep-anywhere/shared/dist/project-queue.js +8 -0
- package/bundled/@yep-anywhere/shared/dist/project-queue.js.map +1 -0
- package/bundled/@yep-anywhere/shared/dist/relay-protocol.d.ts +26 -2
- package/bundled/@yep-anywhere/shared/dist/relay-protocol.d.ts.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/relay-protocol.js +33 -0
- package/bundled/@yep-anywhere/shared/dist/relay-protocol.js.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/relay.d.ts +45 -5
- package/bundled/@yep-anywhere/shared/dist/relay.d.ts.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/relay.js.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/safe-restart.d.ts +25 -0
- package/bundled/@yep-anywhere/shared/dist/safe-restart.d.ts.map +1 -0
- package/bundled/@yep-anywhere/shared/dist/safe-restart.js +2 -0
- package/bundled/@yep-anywhere/shared/dist/safe-restart.js.map +1 -0
- package/bundled/@yep-anywhere/shared/dist/session/SessionView.d.ts +2 -2
- package/bundled/@yep-anywhere/shared/dist/session/SessionView.js +3 -3
- package/bundled/@yep-anywhere/shared/dist/session/SessionView.js.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/session/UnifiedSession.d.ts +10 -0
- package/bundled/@yep-anywhere/shared/dist/session/UnifiedSession.d.ts.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/session-liveness.d.ts +18 -0
- package/bundled/@yep-anywhere/shared/dist/session-liveness.d.ts.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/types.d.ts +253 -8
- package/bundled/@yep-anywhere/shared/dist/types.d.ts.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/types.js +48 -5
- package/bundled/@yep-anywhere/shared/dist/types.js.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/upload.d.ts +34 -2
- package/bundled/@yep-anywhere/shared/dist/upload.d.ts.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/user-message-metadata.d.ts +47 -0
- package/bundled/@yep-anywhere/shared/dist/user-message-metadata.d.ts.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/user-message-metadata.js +59 -1
- package/bundled/@yep-anywhere/shared/dist/user-message-metadata.js.map +1 -1
- package/bundled/@yep-anywhere/shared/dist/workstreams.d.ts +54 -0
- package/bundled/@yep-anywhere/shared/dist/workstreams.d.ts.map +1 -0
- package/bundled/@yep-anywhere/shared/dist/workstreams.js +8 -0
- package/bundled/@yep-anywhere/shared/dist/workstreams.js.map +1 -0
- package/bundled/@yep-anywhere/shared/package.json +1 -1
- package/client-dist/assets/alegreya-sans-latin-400-italic-BQIUBrX-.woff2 +0 -0
- package/client-dist/assets/alegreya-sans-latin-400-normal-BxeZdXas.woff2 +0 -0
- package/client-dist/assets/alegreya-sans-latin-500-normal-uodOEoAl.woff2 +0 -0
- package/client-dist/assets/alegreya-sans-latin-700-normal-DFYOGfC8.woff2 +0 -0
- package/client-dist/assets/de-CHMDbVD5.js +6 -0
- package/client-dist/assets/es-CK8MPF_C.js +6 -0
- package/client-dist/assets/fira-mono-latin-400-normal-DVTTRLHv.woff2 +0 -0
- package/client-dist/assets/fira-mono-latin-ext-400-normal-B2gPvaNr.woff2 +0 -0
- package/client-dist/assets/fira-mono-symbols2-400-normal-C6JptOil.woff2 +0 -0
- package/client-dist/assets/fr-49PXQiUL.js +6 -0
- package/client-dist/assets/index-B-09fVut.js +557 -0
- package/client-dist/assets/index-uJnfvD1f.css +1 -0
- package/client-dist/assets/inter-latin-400-italic-D1l0FflY.woff2 +0 -0
- package/client-dist/assets/inter-latin-400-normal-C38fXH4l.woff2 +0 -0
- package/client-dist/assets/inter-latin-500-normal-Cerq10X2.woff2 +0 -0
- package/client-dist/assets/inter-latin-700-normal-Yt3aPRUw.woff2 +0 -0
- package/client-dist/assets/ja-CrCGPmoH.js +6 -0
- package/client-dist/assets/zh-CN-AFJxv5ke.js +6 -0
- package/client-dist/index.html +3 -3
- package/client-dist/sw.js +96 -9
- package/dist/app.d.ts +25 -0
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +350 -35
- package/dist/app.js.map +1 -1
- package/dist/augments/augment-generator.d.ts +1 -1
- package/dist/augments/augment-generator.d.ts.map +1 -1
- package/dist/augments/augment-generator.js +2 -2
- package/dist/augments/augment-generator.js.map +1 -1
- package/dist/augments/markdown-augments.d.ts +1 -1
- package/dist/augments/markdown-augments.d.ts.map +1 -1
- package/dist/augments/markdown-augments.js +5 -5
- package/dist/augments/markdown-augments.js.map +1 -1
- package/dist/augments/safe-markdown.d.ts +10 -0
- package/dist/augments/safe-markdown.d.ts.map +1 -1
- package/dist/augments/safe-markdown.js +146 -3
- package/dist/augments/safe-markdown.js.map +1 -1
- package/dist/augments/stream-augmenter.d.ts +3 -0
- package/dist/augments/stream-augmenter.d.ts.map +1 -1
- package/dist/augments/stream-augmenter.js +6 -3
- package/dist/augments/stream-augmenter.js.map +1 -1
- package/dist/augments/stream-coordinator.d.ts +5 -1
- package/dist/augments/stream-coordinator.d.ts.map +1 -1
- package/dist/augments/stream-coordinator.js +6 -4
- package/dist/augments/stream-coordinator.js.map +1 -1
- package/dist/augments/task-list-augments.d.ts +27 -0
- package/dist/augments/task-list-augments.d.ts.map +1 -0
- package/dist/augments/task-list-augments.js +360 -0
- package/dist/augments/task-list-augments.js.map +1 -0
- package/dist/cli.d.ts +1 -17
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +22 -8
- package/dist/cli.js.map +1 -1
- package/dist/codex/correlationDebugLogger.d.ts.map +1 -1
- package/dist/codex/correlationDebugLogger.js +36 -8
- package/dist/codex/correlationDebugLogger.js.map +1 -1
- package/dist/codex/normalization.d.ts +1 -0
- package/dist/codex/normalization.d.ts.map +1 -1
- package/dist/codex/normalization.js +262 -7
- package/dist/codex/normalization.js.map +1 -1
- package/dist/config.d.ts +49 -6
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +55 -14
- package/dist/config.js.map +1 -1
- package/dist/defaults.d.ts +3 -0
- package/dist/defaults.d.ts.map +1 -0
- package/dist/defaults.js +3 -0
- package/dist/defaults.js.map +1 -0
- package/dist/device/DeviceBridgeService.js +1 -1
- package/dist/device/DeviceBridgeService.js.map +1 -1
- package/dist/envSettings.d.ts +64 -0
- package/dist/envSettings.d.ts.map +1 -0
- package/dist/envSettings.js +553 -0
- package/dist/envSettings.js.map +1 -0
- package/dist/frontend/static.d.ts.map +1 -1
- package/dist/frontend/static.js +3 -1
- package/dist/frontend/static.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +190 -14
- package/dist/index.js.map +1 -1
- package/dist/indexes/SessionDiscoveryIndex.d.ts +78 -0
- package/dist/indexes/SessionDiscoveryIndex.d.ts.map +1 -0
- package/dist/indexes/SessionDiscoveryIndex.js +223 -0
- package/dist/indexes/SessionDiscoveryIndex.js.map +1 -0
- package/dist/indexes/SessionIndexService.d.ts +114 -1
- package/dist/indexes/SessionIndexService.d.ts.map +1 -1
- package/dist/indexes/SessionIndexService.js +875 -105
- package/dist/indexes/SessionIndexService.js.map +1 -1
- package/dist/indexes/index.d.ts +2 -1
- package/dist/indexes/index.d.ts.map +1 -1
- package/dist/indexes/index.js +1 -0
- package/dist/indexes/index.js.map +1 -1
- package/dist/indexes/types.d.ts +26 -0
- package/dist/indexes/types.d.ts.map +1 -1
- package/dist/logging/logger.d.ts.map +1 -1
- package/dist/logging/logger.js +2 -3
- package/dist/logging/logger.js.map +1 -1
- package/dist/maintenance/server.d.ts.map +1 -1
- package/dist/maintenance/server.js +8 -11
- package/dist/maintenance/server.js.map +1 -1
- package/dist/metadata/ProjectMetadataService.d.ts +7 -0
- package/dist/metadata/ProjectMetadataService.d.ts.map +1 -1
- package/dist/metadata/ProjectMetadataService.js +63 -19
- package/dist/metadata/ProjectMetadataService.js.map +1 -1
- package/dist/metadata/SessionMetadataService.d.ts +82 -3
- package/dist/metadata/SessionMetadataService.d.ts.map +1 -1
- package/dist/metadata/SessionMetadataService.js +233 -17
- package/dist/metadata/SessionMetadataService.js.map +1 -1
- package/dist/middleware/file-access.d.ts +66 -0
- package/dist/middleware/file-access.d.ts.map +1 -0
- package/dist/middleware/file-access.js +112 -0
- package/dist/middleware/file-access.js.map +1 -0
- package/dist/projects/codex-scanner.d.ts +28 -1
- package/dist/projects/codex-scanner.d.ts.map +1 -1
- package/dist/projects/codex-scanner.js +149 -39
- package/dist/projects/codex-scanner.js.map +1 -1
- package/dist/projects/gemini-scanner.d.ts.map +1 -1
- package/dist/projects/gemini-scanner.js +59 -6
- package/dist/projects/gemini-scanner.js.map +1 -1
- package/dist/projects/paths.d.ts +15 -1
- package/dist/projects/paths.d.ts.map +1 -1
- package/dist/projects/paths.js +69 -23
- package/dist/projects/paths.js.map +1 -1
- package/dist/projects/scanner.d.ts +5 -0
- package/dist/projects/scanner.d.ts.map +1 -1
- package/dist/projects/scanner.js +136 -28
- package/dist/projects/scanner.js.map +1 -1
- package/dist/push/InactivityPushNotifier.d.ts +61 -0
- package/dist/push/InactivityPushNotifier.d.ts.map +1 -0
- package/dist/push/InactivityPushNotifier.js +305 -0
- package/dist/push/InactivityPushNotifier.js.map +1 -0
- package/dist/push/PushNotifier.d.ts.map +1 -1
- package/dist/push/PushNotifier.js.map +1 -1
- package/dist/push/PushService.d.ts +7 -4
- package/dist/push/PushService.d.ts.map +1 -1
- package/dist/push/PushService.js +27 -7
- package/dist/push/PushService.js.map +1 -1
- package/dist/push/index.d.ts +2 -1
- package/dist/push/index.d.ts.map +1 -1
- package/dist/push/index.js +1 -0
- package/dist/push/index.js.map +1 -1
- package/dist/push/routes.d.ts.map +1 -1
- package/dist/push/routes.js +28 -1
- package/dist/push/routes.js.map +1 -1
- package/dist/push/types.d.ts +21 -3
- package/dist/push/types.d.ts.map +1 -1
- package/dist/push/types.js +2 -0
- package/dist/push/types.js.map +1 -1
- package/dist/routes/dev.d.ts +2 -0
- package/dist/routes/dev.d.ts.map +1 -1
- package/dist/routes/dev.js +25 -0
- package/dist/routes/dev.js.map +1 -1
- package/dist/routes/env-settings.d.ts +20 -0
- package/dist/routes/env-settings.d.ts.map +1 -0
- package/dist/routes/env-settings.js +25 -0
- package/dist/routes/env-settings.js.map +1 -0
- package/dist/routes/files.d.ts +9 -0
- package/dist/routes/files.d.ts.map +1 -1
- package/dist/routes/files.js +98 -10
- package/dist/routes/files.js.map +1 -1
- package/dist/routes/git-status.d.ts.map +1 -1
- package/dist/routes/git-status.js +621 -23
- package/dist/routes/git-status.js.map +1 -1
- package/dist/routes/global-sessions.d.ts +11 -1
- package/dist/routes/global-sessions.d.ts.map +1 -1
- package/dist/routes/global-sessions.js +53 -33
- package/dist/routes/global-sessions.js.map +1 -1
- package/dist/routes/inbox.d.ts +10 -1
- package/dist/routes/inbox.d.ts.map +1 -1
- package/dist/routes/inbox.js +30 -3
- package/dist/routes/inbox.js.map +1 -1
- package/dist/routes/local-file.d.ts +6 -2
- package/dist/routes/local-file.d.ts.map +1 -1
- package/dist/routes/local-file.js +13 -4
- package/dist/routes/local-file.js.map +1 -1
- package/dist/routes/local-image.d.ts +2 -1
- package/dist/routes/local-image.d.ts.map +1 -1
- package/dist/routes/local-image.js.map +1 -1
- package/dist/routes/local-resource-policy.d.ts +7 -1
- package/dist/routes/local-resource-policy.d.ts.map +1 -1
- package/dist/routes/local-resource-policy.js +0 -0
- package/dist/routes/local-resource-policy.js.map +1 -1
- package/dist/routes/processes.d.ts.map +1 -1
- package/dist/routes/processes.js +49 -11
- package/dist/routes/processes.js.map +1 -1
- package/dist/routes/project-queue-response.d.ts +26 -0
- package/dist/routes/project-queue-response.d.ts.map +1 -0
- package/dist/routes/project-queue-response.js +188 -0
- package/dist/routes/project-queue-response.js.map +1 -0
- package/dist/routes/project-queue.d.ts +5 -0
- package/dist/routes/project-queue.d.ts.map +1 -0
- package/dist/routes/project-queue.js +219 -0
- package/dist/routes/project-queue.js.map +1 -0
- package/dist/routes/projects.d.ts +6 -0
- package/dist/routes/projects.d.ts.map +1 -1
- package/dist/routes/projects.js +116 -28
- package/dist/routes/projects.js.map +1 -1
- package/dist/routes/providers.d.ts +5 -0
- package/dist/routes/providers.d.ts.map +1 -1
- package/dist/routes/providers.js +52 -33
- package/dist/routes/providers.js.map +1 -1
- package/dist/routes/public-shares.d.ts.map +1 -1
- package/dist/routes/public-shares.js +46 -17
- package/dist/routes/public-shares.js.map +1 -1
- package/dist/routes/recents.d.ts +3 -0
- package/dist/routes/recents.d.ts.map +1 -1
- package/dist/routes/recents.js +3 -1
- package/dist/routes/recents.js.map +1 -1
- package/dist/routes/server-admin.d.ts +9 -0
- package/dist/routes/server-admin.d.ts.map +1 -1
- package/dist/routes/server-admin.js +45 -7
- package/dist/routes/server-admin.js.map +1 -1
- package/dist/routes/session-claude-resume-guard.d.ts +16 -0
- package/dist/routes/session-claude-resume-guard.d.ts.map +1 -0
- package/dist/routes/session-claude-resume-guard.js +50 -0
- package/dist/routes/session-claude-resume-guard.js.map +1 -0
- package/dist/routes/session-compact-thresholds.d.ts +22 -0
- package/dist/routes/session-compact-thresholds.d.ts.map +1 -0
- package/dist/routes/session-compact-thresholds.js +35 -0
- package/dist/routes/session-compact-thresholds.js.map +1 -0
- package/dist/routes/session-index.d.ts +7 -0
- package/dist/routes/session-index.d.ts.map +1 -0
- package/dist/routes/session-index.js +9 -0
- package/dist/routes/session-index.js.map +1 -0
- package/dist/routes/session-list-options.d.ts +1 -1
- package/dist/routes/session-list-options.d.ts.map +1 -1
- package/dist/routes/session-list-options.js +1 -1
- package/dist/routes/session-list-options.js.map +1 -1
- package/dist/routes/session-request-helpers.d.ts +31 -0
- package/dist/routes/session-request-helpers.d.ts.map +1 -0
- package/dist/routes/session-request-helpers.js +212 -0
- package/dist/routes/session-request-helpers.js.map +1 -0
- package/dist/routes/sessions.d.ts +14 -1
- package/dist/routes/sessions.d.ts.map +1 -1
- package/dist/routes/sessions.js +2141 -551
- package/dist/routes/sessions.js.map +1 -1
- package/dist/routes/settings.d.ts +7 -1
- package/dist/routes/settings.d.ts.map +1 -1
- package/dist/routes/settings.js +771 -25
- package/dist/routes/settings.js.map +1 -1
- package/dist/routes/speech.d.ts +24 -2
- package/dist/routes/speech.d.ts.map +1 -1
- package/dist/routes/speech.js +539 -10
- package/dist/routes/speech.js.map +1 -1
- package/dist/routes/supervisor-queue.d.ts +6 -0
- package/dist/routes/supervisor-queue.d.ts.map +1 -0
- package/dist/routes/supervisor-queue.js +35 -0
- package/dist/routes/supervisor-queue.js.map +1 -0
- package/dist/routes/upload.d.ts +2 -0
- package/dist/routes/upload.d.ts.map +1 -1
- package/dist/routes/upload.js +190 -38
- package/dist/routes/upload.js.map +1 -1
- package/dist/routes/version.d.ts +18 -1
- package/dist/routes/version.d.ts.map +1 -1
- package/dist/routes/version.js +22 -1
- package/dist/routes/version.js.map +1 -1
- package/dist/routes/workstreams.d.ts +11 -0
- package/dist/routes/workstreams.d.ts.map +1 -0
- package/dist/routes/workstreams.js +144 -0
- package/dist/routes/workstreams.js.map +1 -0
- package/dist/routes/ws-message-router.d.ts +10 -1
- package/dist/routes/ws-message-router.d.ts.map +1 -1
- package/dist/routes/ws-message-router.js +43 -4
- package/dist/routes/ws-message-router.js.map +1 -1
- package/dist/routes/ws-relay-handlers.d.ts +27 -5
- package/dist/routes/ws-relay-handlers.d.ts.map +1 -1
- package/dist/routes/ws-relay-handlers.js +177 -19
- package/dist/routes/ws-relay-handlers.js.map +1 -1
- package/dist/routes/ws-relay.d.ts +19 -0
- package/dist/routes/ws-relay.d.ts.map +1 -1
- package/dist/routes/ws-relay.js +21 -7
- package/dist/routes/ws-relay.js.map +1 -1
- package/dist/sdk/cli-detection.d.ts +1 -1
- package/dist/sdk/cli-detection.d.ts.map +1 -1
- package/dist/sdk/cli-detection.js +47 -7
- package/dist/sdk/cli-detection.js.map +1 -1
- package/dist/sdk/messageLogger.d.ts.map +1 -1
- package/dist/sdk/messageLogger.js +38 -10
- package/dist/sdk/messageLogger.js.map +1 -1
- package/dist/sdk/messageQueue.d.ts.map +1 -1
- package/dist/sdk/messageQueue.js +26 -0
- package/dist/sdk/messageQueue.js.map +1 -1
- package/dist/sdk/providers/__mocks__/grok.d.ts +1 -1
- package/dist/sdk/providers/__mocks__/grok.d.ts.map +1 -1
- package/dist/sdk/providers/__mocks__/grok.js +1 -1
- package/dist/sdk/providers/__mocks__/grok.js.map +1 -1
- package/dist/sdk/providers/agentctl-session-env.d.ts +8 -0
- package/dist/sdk/providers/agentctl-session-env.d.ts.map +1 -0
- package/dist/sdk/providers/agentctl-session-env.js +52 -0
- package/dist/sdk/providers/agentctl-session-env.js.map +1 -0
- package/dist/sdk/providers/claude-ollama.d.ts +2 -1
- package/dist/sdk/providers/claude-ollama.d.ts.map +1 -1
- package/dist/sdk/providers/claude-ollama.js +1 -0
- package/dist/sdk/providers/claude-ollama.js.map +1 -1
- package/dist/sdk/providers/claude-retention.d.ts +19 -0
- package/dist/sdk/providers/claude-retention.d.ts.map +1 -0
- package/dist/sdk/providers/claude-retention.js +169 -0
- package/dist/sdk/providers/claude-retention.js.map +1 -0
- package/dist/sdk/providers/claude.d.ts +52 -5
- package/dist/sdk/providers/claude.d.ts.map +1 -1
- package/dist/sdk/providers/claude.js +593 -71
- package/dist/sdk/providers/claude.js.map +1 -1
- package/dist/sdk/providers/codex-protocol/generated/AgentMessageInputContent.d.ts +8 -0
- package/dist/sdk/providers/codex-protocol/generated/AgentMessageInputContent.d.ts.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/AgentMessageInputContent.js +3 -0
- package/dist/sdk/providers/codex-protocol/generated/AgentMessageInputContent.js.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/InternalChatMessageMetadataPassthrough.d.ts +10 -0
- package/dist/sdk/providers/codex-protocol/generated/InternalChatMessageMetadataPassthrough.d.ts.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/InternalChatMessageMetadataPassthrough.js +3 -0
- package/dist/sdk/providers/codex-protocol/generated/InternalChatMessageMetadataPassthrough.js.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/LegacyAppPathString.d.ts +23 -0
- package/dist/sdk/providers/codex-protocol/generated/LegacyAppPathString.d.ts.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/LegacyAppPathString.js +3 -0
- package/dist/sdk/providers/codex-protocol/generated/LegacyAppPathString.js.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/MultiAgentMode.d.ts +8 -0
- package/dist/sdk/providers/codex-protocol/generated/MultiAgentMode.d.ts.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/MultiAgentMode.js +3 -0
- package/dist/sdk/providers/codex-protocol/generated/MultiAgentMode.js.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/ReasoningEffort.d.ts +1 -1
- package/dist/sdk/providers/codex-protocol/generated/ReasoningEffort.d.ts.map +1 -1
- package/dist/sdk/providers/codex-protocol/generated/ResponseItem.d.ts +38 -1
- package/dist/sdk/providers/codex-protocol/generated/ResponseItem.d.ts.map +1 -1
- package/dist/sdk/providers/codex-protocol/generated/v2/AdditionalFileSystemPermissions.d.ts +3 -3
- package/dist/sdk/providers/codex-protocol/generated/v2/AdditionalFileSystemPermissions.d.ts.map +1 -1
- package/dist/sdk/providers/codex-protocol/generated/v2/CapabilityRootLocation.d.ts +9 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/CapabilityRootLocation.d.ts.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/CapabilityRootLocation.js +3 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/CapabilityRootLocation.js.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/CommandExecutionRequestApprovalParams.d.ts +6 -2
- package/dist/sdk/providers/codex-protocol/generated/v2/CommandExecutionRequestApprovalParams.d.ts.map +1 -1
- package/dist/sdk/providers/codex-protocol/generated/v2/DynamicToolFunctionSpec.d.ts +8 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/DynamicToolFunctionSpec.d.ts.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/DynamicToolFunctionSpec.js +3 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/DynamicToolFunctionSpec.js.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/DynamicToolNamespaceSpec.d.ts +7 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/DynamicToolNamespaceSpec.d.ts.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/DynamicToolNamespaceSpec.js +3 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/DynamicToolNamespaceSpec.js.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/DynamicToolNamespaceTool.d.ts +5 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/DynamicToolNamespaceTool.d.ts.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/DynamicToolNamespaceTool.js +3 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/DynamicToolNamespaceTool.js.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/DynamicToolSpec.d.ts +6 -7
- package/dist/sdk/providers/codex-protocol/generated/v2/DynamicToolSpec.d.ts.map +1 -1
- package/dist/sdk/providers/codex-protocol/generated/v2/FileSystemPath.d.ts +2 -2
- package/dist/sdk/providers/codex-protocol/generated/v2/FileSystemPath.d.ts.map +1 -1
- package/dist/sdk/providers/codex-protocol/generated/v2/McpToolCallAppContext.d.ts +6 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/McpToolCallAppContext.d.ts.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/McpToolCallAppContext.js +3 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/McpToolCallAppContext.js.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/PermissionsRequestApprovalParams.d.ts +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/PermissionsRequestApprovalParams.d.ts.map +1 -1
- package/dist/sdk/providers/codex-protocol/generated/v2/SelectedCapabilityRoot.d.ts +15 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/SelectedCapabilityRoot.d.ts.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/SelectedCapabilityRoot.js +3 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/SelectedCapabilityRoot.js.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/SortDirection.d.ts +2 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/SortDirection.d.ts.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/SortDirection.js +3 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/SortDirection.js.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/SubAgentActivityKind.d.ts +2 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/SubAgentActivityKind.d.ts.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/SubAgentActivityKind.js +3 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/SubAgentActivityKind.js.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/Thread.d.ts +8 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/Thread.d.ts.map +1 -1
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadCompactStartParams.d.ts +4 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadCompactStartParams.d.ts.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadCompactStartParams.js +3 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadCompactStartParams.js.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadCompactStartResponse.d.ts +2 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadCompactStartResponse.d.ts.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadCompactStartResponse.js +3 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadCompactStartResponse.js.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadForkParams.d.ts +64 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadForkParams.d.ts.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadForkParams.js +3 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadForkParams.js.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadForkResponse.d.ts +46 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadForkResponse.d.ts.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadForkResponse.js +3 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadForkResponse.js.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadItem.d.ts +19 -1
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadItem.d.ts.map +1 -1
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadReadResponse.d.ts +5 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadReadResponse.d.ts.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadReadResponse.js +3 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadReadResponse.js.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadResumeInitialTurnsPageParams.d.ts +17 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadResumeInitialTurnsPageParams.d.ts.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadResumeInitialTurnsPageParams.js +3 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadResumeInitialTurnsPageParams.js.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadResumeParams.d.ts +7 -7
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadResumeParams.d.ts.map +1 -1
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadResumeResponse.d.ts +13 -2
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadResumeResponse.d.ts.map +1 -1
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadRollbackParams.d.ts +11 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadRollbackParams.d.ts.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadRollbackParams.js +3 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadRollbackParams.js.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadRollbackResponse.d.ts +12 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadRollbackResponse.d.ts.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadRollbackResponse.js +3 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadRollbackResponse.js.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadSource.d.ts +1 -1
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadSource.d.ts.map +1 -1
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadStartParams.d.ts +13 -9
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadStartParams.d.ts.map +1 -1
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadStartResponse.d.ts +8 -2
- package/dist/sdk/providers/codex-protocol/generated/v2/ThreadStartResponse.d.ts.map +1 -1
- package/dist/sdk/providers/codex-protocol/generated/v2/ToolRequestUserInputParams.d.ts +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/ToolRequestUserInputParams.d.ts.map +1 -1
- package/dist/sdk/providers/codex-protocol/generated/v2/TurnEnvironmentParams.d.ts +2 -2
- package/dist/sdk/providers/codex-protocol/generated/v2/TurnEnvironmentParams.d.ts.map +1 -1
- package/dist/sdk/providers/codex-protocol/generated/v2/TurnStartParams.d.ts +17 -5
- package/dist/sdk/providers/codex-protocol/generated/v2/TurnStartParams.d.ts.map +1 -1
- package/dist/sdk/providers/codex-protocol/generated/v2/TurnSteerParams.d.ts +8 -1
- package/dist/sdk/providers/codex-protocol/generated/v2/TurnSteerParams.d.ts.map +1 -1
- package/dist/sdk/providers/codex-protocol/generated/v2/TurnsPage.d.ts +7 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/TurnsPage.d.ts.map +1 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/TurnsPage.js +3 -0
- package/dist/sdk/providers/codex-protocol/generated/v2/TurnsPage.js.map +1 -0
- package/dist/sdk/providers/codex-protocol/index.d.ts +7 -0
- package/dist/sdk/providers/codex-protocol/index.d.ts.map +1 -1
- package/dist/sdk/providers/codex.d.ts +26 -4
- package/dist/sdk/providers/codex.d.ts.map +1 -1
- package/dist/sdk/providers/codex.js +457 -37
- package/dist/sdk/providers/codex.js.map +1 -1
- package/dist/sdk/providers/env-filter.d.ts.map +1 -1
- package/dist/sdk/providers/env-filter.js +19 -1
- package/dist/sdk/providers/env-filter.js.map +1 -1
- package/dist/sdk/providers/gemini-tools.d.ts +28 -0
- package/dist/sdk/providers/gemini-tools.d.ts.map +1 -0
- package/dist/sdk/providers/gemini-tools.js +57 -0
- package/dist/sdk/providers/gemini-tools.js.map +1 -0
- package/dist/sdk/providers/gemini.d.ts.map +1 -1
- package/dist/sdk/providers/gemini.js +4 -2
- package/dist/sdk/providers/gemini.js.map +1 -1
- package/dist/sdk/providers/grok-acp.d.ts +1 -1
- package/dist/sdk/providers/grok-acp.d.ts.map +1 -1
- package/dist/sdk/providers/grok-acp.js +1 -1
- package/dist/sdk/providers/grok-acp.js.map +1 -1
- package/dist/sdk/providers/index.d.ts +1 -0
- package/dist/sdk/providers/index.d.ts.map +1 -1
- package/dist/sdk/providers/index.js +6 -0
- package/dist/sdk/providers/index.js.map +1 -1
- package/dist/sdk/providers/opencode-tools.d.ts +36 -0
- package/dist/sdk/providers/opencode-tools.d.ts.map +1 -0
- package/dist/sdk/providers/opencode-tools.js +78 -0
- package/dist/sdk/providers/opencode-tools.js.map +1 -0
- package/dist/sdk/providers/opencode.d.ts +53 -5
- package/dist/sdk/providers/opencode.d.ts.map +1 -1
- package/dist/sdk/providers/opencode.js +379 -71
- package/dist/sdk/providers/opencode.js.map +1 -1
- package/dist/sdk/providers/pi-rpc-client.d.ts +90 -0
- package/dist/sdk/providers/pi-rpc-client.d.ts.map +1 -0
- package/dist/sdk/providers/pi-rpc-client.js +168 -0
- package/dist/sdk/providers/pi-rpc-client.js.map +1 -0
- package/dist/sdk/providers/pi-tools.d.ts +38 -0
- package/dist/sdk/providers/pi-tools.d.ts.map +1 -0
- package/dist/sdk/providers/pi-tools.js +214 -0
- package/dist/sdk/providers/pi-tools.js.map +1 -0
- package/dist/sdk/providers/pi.d.ts +84 -0
- package/dist/sdk/providers/pi.d.ts.map +1 -0
- package/dist/sdk/providers/pi.js +686 -0
- package/dist/sdk/providers/pi.js.map +1 -0
- package/dist/sdk/providers/staticSlashCommands.d.ts +4 -0
- package/dist/sdk/providers/staticSlashCommands.d.ts.map +1 -0
- package/dist/sdk/providers/staticSlashCommands.js +14 -0
- package/dist/sdk/providers/staticSlashCommands.js.map +1 -0
- package/dist/sdk/providers/types.d.ts +144 -17
- package/dist/sdk/providers/types.d.ts.map +1 -1
- package/dist/sdk/remote-spawn.d.ts.map +1 -1
- package/dist/sdk/remote-spawn.js.map +1 -1
- package/dist/sdk/slashCommandEmulation.d.ts +9 -0
- package/dist/sdk/slashCommandEmulation.d.ts.map +1 -1
- package/dist/sdk/slashCommandEmulation.js +15 -0
- package/dist/sdk/slashCommandEmulation.js.map +1 -1
- package/dist/sdk/types.d.ts +40 -0
- package/dist/sdk/types.d.ts.map +1 -1
- package/dist/security/approvalAuditLog.d.ts +3 -2
- package/dist/security/approvalAuditLog.d.ts.map +1 -1
- package/dist/security/approvalAuditLog.js +62 -2
- package/dist/security/approvalAuditLog.js.map +1 -1
- package/dist/services/BrowserProfileService.d.ts +21 -0
- package/dist/services/BrowserProfileService.d.ts.map +1 -1
- package/dist/services/BrowserProfileService.js +74 -1
- package/dist/services/BrowserProfileService.js.map +1 -1
- package/dist/services/CacheMissBillingMonitor.d.ts +25 -0
- package/dist/services/CacheMissBillingMonitor.d.ts.map +1 -0
- package/dist/services/CacheMissBillingMonitor.js +179 -0
- package/dist/services/CacheMissBillingMonitor.js.map +1 -0
- package/dist/services/CodexUpdateChecker.d.ts.map +1 -1
- package/dist/services/CodexUpdateChecker.js +3 -2
- package/dist/services/CodexUpdateChecker.js.map +1 -1
- package/dist/services/ModelInfoService.d.ts +58 -9
- package/dist/services/ModelInfoService.d.ts.map +1 -1
- package/dist/services/ModelInfoService.js +127 -14
- package/dist/services/ModelInfoService.js.map +1 -1
- package/dist/services/ProjectQueueScheduler.d.ts +91 -0
- package/dist/services/ProjectQueueScheduler.d.ts.map +1 -0
- package/dist/services/ProjectQueueScheduler.js +404 -0
- package/dist/services/ProjectQueueScheduler.js.map +1 -0
- package/dist/services/ProjectQueueService.d.ts +60 -0
- package/dist/services/ProjectQueueService.d.ts.map +1 -0
- package/dist/services/ProjectQueueService.js +804 -0
- package/dist/services/ProjectQueueService.js.map +1 -0
- package/dist/services/RelayClientService.d.ts +5 -0
- package/dist/services/RelayClientService.d.ts.map +1 -1
- package/dist/services/RelayClientService.js +26 -12
- package/dist/services/RelayClientService.js.map +1 -1
- package/dist/services/SafeRestartService.d.ts +48 -0
- package/dist/services/SafeRestartService.d.ts.map +1 -0
- package/dist/services/SafeRestartService.js +173 -0
- package/dist/services/SafeRestartService.js.map +1 -0
- package/dist/services/ServerSettingsService.d.ts +41 -1
- package/dist/services/ServerSettingsService.d.ts.map +1 -1
- package/dist/services/ServerSettingsService.js +110 -1
- package/dist/services/ServerSettingsService.js.map +1 -1
- package/dist/services/SessionQueuePersistenceService.d.ts +55 -0
- package/dist/services/SessionQueuePersistenceService.d.ts.map +1 -0
- package/dist/services/SessionQueuePersistenceService.js +264 -0
- package/dist/services/SessionQueuePersistenceService.js.map +1 -0
- package/dist/services/WorkstreamService.d.ts +92 -0
- package/dist/services/WorkstreamService.d.ts.map +1 -0
- package/dist/services/WorkstreamService.js +627 -0
- package/dist/services/WorkstreamService.js.map +1 -0
- package/dist/services/index.d.ts +4 -0
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +4 -0
- package/dist/services/index.js.map +1 -1
- package/dist/services/projectWorkIdle.d.ts +42 -0
- package/dist/services/projectWorkIdle.d.ts.map +1 -0
- package/dist/services/projectWorkIdle.js +50 -0
- package/dist/services/projectWorkIdle.js.map +1 -0
- package/dist/services/voice/SpeechBackend.d.ts +18 -1
- package/dist/services/voice/SpeechBackend.d.ts.map +1 -1
- package/dist/services/voice/SpeechBackend.js +3 -0
- package/dist/services/voice/SpeechBackend.js.map +1 -1
- package/dist/services/voice/audioRetention.d.ts +20 -0
- package/dist/services/voice/audioRetention.d.ts.map +1 -1
- package/dist/services/voice/audioRetention.js +2 -0
- package/dist/services/voice/audioRetention.js.map +1 -1
- package/dist/services/voice/deepgramBackend.d.ts.map +1 -1
- package/dist/services/voice/deepgramBackend.js +4 -1
- package/dist/services/voice/deepgramBackend.js.map +1 -1
- package/dist/services/voice/localNemoBackend.d.ts +31 -0
- package/dist/services/voice/localNemoBackend.d.ts.map +1 -0
- package/dist/services/voice/localNemoBackend.js +181 -0
- package/dist/services/voice/localNemoBackend.js.map +1 -0
- package/dist/services/voice/localParakeetBackend.d.ts +31 -0
- package/dist/services/voice/localParakeetBackend.d.ts.map +1 -0
- package/dist/services/voice/localParakeetBackend.js +180 -0
- package/dist/services/voice/localParakeetBackend.js.map +1 -0
- package/dist/services/voice/localSttRuntime.d.ts +21 -0
- package/dist/services/voice/localSttRuntime.d.ts.map +1 -0
- package/dist/services/voice/localSttRuntime.js +87 -0
- package/dist/services/voice/localSttRuntime.js.map +1 -0
- package/dist/services/voice/localWhisperBackend.d.ts +2 -1
- package/dist/services/voice/localWhisperBackend.d.ts.map +1 -1
- package/dist/services/voice/localWhisperBackend.js +47 -34
- package/dist/services/voice/localWhisperBackend.js.map +1 -1
- package/dist/services/voice/nemo_worker.py +232 -0
- package/dist/services/voice/parakeet_worker.py +151 -0
- package/dist/services/voice/registry.d.ts +19 -4
- package/dist/services/voice/registry.d.ts.map +1 -1
- package/dist/services/voice/registry.js +72 -22
- package/dist/services/voice/registry.js.map +1 -1
- package/dist/services/voice/serialQueue.d.ts +17 -0
- package/dist/services/voice/serialQueue.d.ts.map +1 -0
- package/dist/services/voice/serialQueue.js +24 -0
- package/dist/services/voice/serialQueue.js.map +1 -0
- package/dist/services/voice/whisper_worker.py +94 -0
- package/dist/services/voice/xaiSttBackend.d.ts +1 -1
- package/dist/services/voice/xaiSttBackend.d.ts.map +1 -1
- package/dist/services/voice/xaiSttBackend.js +15 -3
- package/dist/services/voice/xaiSttBackend.js.map +1 -1
- package/dist/sessions/agent-excerpt.d.ts +29 -0
- package/dist/sessions/agent-excerpt.d.ts.map +1 -0
- package/dist/sessions/agent-excerpt.js +128 -0
- package/dist/sessions/agent-excerpt.js.map +1 -0
- package/dist/sessions/claude-messages.d.ts.map +1 -1
- package/dist/sessions/claude-messages.js +75 -4
- package/dist/sessions/claude-messages.js.map +1 -1
- package/dist/sessions/claude-summary.d.ts +33 -0
- package/dist/sessions/claude-summary.d.ts.map +1 -0
- package/dist/sessions/claude-summary.js +461 -0
- package/dist/sessions/claude-summary.js.map +1 -0
- package/dist/sessions/codex-discovery.d.ts +46 -0
- package/dist/sessions/codex-discovery.d.ts.map +1 -0
- package/dist/sessions/codex-discovery.js +269 -0
- package/dist/sessions/codex-discovery.js.map +1 -0
- package/dist/sessions/codex-reader.d.ts +96 -13
- package/dist/sessions/codex-reader.d.ts.map +1 -1
- package/dist/sessions/codex-reader.js +1069 -141
- package/dist/sessions/codex-reader.js.map +1 -1
- package/dist/sessions/dag.d.ts +25 -4
- package/dist/sessions/dag.d.ts.map +1 -1
- package/dist/sessions/dag.js +37 -4
- package/dist/sessions/dag.js.map +1 -1
- package/dist/sessions/gemini-reader.d.ts +3 -1
- package/dist/sessions/gemini-reader.d.ts.map +1 -1
- package/dist/sessions/gemini-reader.js +17 -8
- package/dist/sessions/gemini-reader.js.map +1 -1
- package/dist/sessions/grok-reader.d.ts +1 -0
- package/dist/sessions/grok-reader.d.ts.map +1 -1
- package/dist/sessions/grok-reader.js +11 -5
- package/dist/sessions/grok-reader.js.map +1 -1
- package/dist/sessions/normalization.d.ts +3 -1
- package/dist/sessions/normalization.d.ts.map +1 -1
- package/dist/sessions/normalization.js +72 -16
- package/dist/sessions/normalization.js.map +1 -1
- package/dist/sessions/null-reader.d.ts +31 -0
- package/dist/sessions/null-reader.d.ts.map +1 -0
- package/dist/sessions/null-reader.js +30 -0
- package/dist/sessions/null-reader.js.map +1 -0
- package/dist/sessions/opencode-db-reader.d.ts +66 -0
- package/dist/sessions/opencode-db-reader.d.ts.map +1 -0
- package/dist/sessions/opencode-db-reader.js +333 -0
- package/dist/sessions/opencode-db-reader.js.map +1 -0
- package/dist/sessions/opencode-reader.d.ts +50 -0
- package/dist/sessions/opencode-reader.d.ts.map +1 -1
- package/dist/sessions/opencode-reader.js +375 -71
- package/dist/sessions/opencode-reader.js.map +1 -1
- package/dist/sessions/pagination.d.ts.map +1 -1
- package/dist/sessions/pagination.js +119 -3
- package/dist/sessions/pagination.js.map +1 -1
- package/dist/sessions/persisted-augments.d.ts +2 -1
- package/dist/sessions/persisted-augments.d.ts.map +1 -1
- package/dist/sessions/persisted-augments.js +2 -2
- package/dist/sessions/persisted-augments.js.map +1 -1
- package/dist/sessions/pi-fork.d.ts +12 -0
- package/dist/sessions/pi-fork.d.ts.map +1 -0
- package/dist/sessions/pi-fork.js +125 -0
- package/dist/sessions/pi-fork.js.map +1 -0
- package/dist/sessions/pi-reader.d.ts +81 -0
- package/dist/sessions/pi-reader.d.ts.map +1 -0
- package/dist/sessions/pi-reader.js +413 -0
- package/dist/sessions/pi-reader.js.map +1 -0
- package/dist/sessions/provider-resolution.d.ts +10 -3
- package/dist/sessions/provider-resolution.d.ts.map +1 -1
- package/dist/sessions/provider-resolution.js +62 -6
- package/dist/sessions/provider-resolution.js.map +1 -1
- package/dist/sessions/reader.d.ts +17 -24
- package/dist/sessions/reader.d.ts.map +1 -1
- package/dist/sessions/reader.js +86 -157
- package/dist/sessions/reader.js.map +1 -1
- package/dist/sessions/recap-overlays.d.ts +38 -0
- package/dist/sessions/recap-overlays.d.ts.map +1 -0
- package/dist/sessions/recap-overlays.js +176 -0
- package/dist/sessions/recap-overlays.js.map +1 -0
- package/dist/sessions/summary-parser-worker-client.d.ts +80 -0
- package/dist/sessions/summary-parser-worker-client.d.ts.map +1 -0
- package/dist/sessions/summary-parser-worker-client.js +539 -0
- package/dist/sessions/summary-parser-worker-client.js.map +1 -0
- package/dist/sessions/summary-parser-worker-entry.d.ts +2 -0
- package/dist/sessions/summary-parser-worker-entry.d.ts.map +1 -0
- package/dist/sessions/summary-parser-worker-entry.js +29 -0
- package/dist/sessions/summary-parser-worker-entry.js.map +1 -0
- package/dist/sessions/summary-parser-worker-protocol.d.ts +105 -0
- package/dist/sessions/summary-parser-worker-protocol.d.ts.map +1 -0
- package/dist/sessions/summary-parser-worker-protocol.js +35 -0
- package/dist/sessions/summary-parser-worker-protocol.js.map +1 -0
- package/dist/sessions/summary-parser-worker-runner.d.ts +3 -0
- package/dist/sessions/summary-parser-worker-runner.d.ts.map +1 -0
- package/dist/sessions/summary-parser-worker-runner.js +158 -0
- package/dist/sessions/summary-parser-worker-runner.js.map +1 -0
- package/dist/sessions/types.d.ts +30 -1
- package/dist/sessions/types.d.ts.map +1 -1
- package/dist/startupEnv.d.ts +2 -0
- package/dist/startupEnv.d.ts.map +1 -0
- package/dist/startupEnv.js +97 -0
- package/dist/startupEnv.js.map +1 -0
- package/dist/subscriptions.d.ts.map +1 -1
- package/dist/subscriptions.js +28 -18
- package/dist/subscriptions.js.map +1 -1
- package/dist/supervisor/ExternalSessionTracker.d.ts +5 -1
- package/dist/supervisor/ExternalSessionTracker.d.ts.map +1 -1
- package/dist/supervisor/ExternalSessionTracker.js +98 -6
- package/dist/supervisor/ExternalSessionTracker.js.map +1 -1
- package/dist/supervisor/Process.d.ts +252 -32
- package/dist/supervisor/Process.d.ts.map +1 -1
- package/dist/supervisor/Process.js +1233 -219
- package/dist/supervisor/Process.js.map +1 -1
- package/dist/supervisor/Supervisor.d.ts +201 -5
- package/dist/supervisor/Supervisor.d.ts.map +1 -1
- package/dist/supervisor/Supervisor.js +1074 -55
- package/dist/supervisor/Supervisor.js.map +1 -1
- package/dist/supervisor/WorkerQueue.d.ts +3 -1
- package/dist/supervisor/WorkerQueue.d.ts.map +1 -1
- package/dist/supervisor/WorkerQueue.js +1 -0
- package/dist/supervisor/WorkerQueue.js.map +1 -1
- package/dist/supervisor/composeTimeAnchor.d.ts +36 -0
- package/dist/supervisor/composeTimeAnchor.d.ts.map +1 -0
- package/dist/supervisor/composeTimeAnchor.js +51 -0
- package/dist/supervisor/composeTimeAnchor.js.map +1 -0
- package/dist/supervisor/deferredDeliverySettings.d.ts +23 -0
- package/dist/supervisor/deferredDeliverySettings.d.ts.map +1 -0
- package/dist/supervisor/deferredDeliverySettings.js +40 -0
- package/dist/supervisor/deferredDeliverySettings.js.map +1 -0
- package/dist/supervisor/liveness.d.ts +5 -2
- package/dist/supervisor/liveness.d.ts.map +1 -1
- package/dist/supervisor/liveness.js +40 -2
- package/dist/supervisor/liveness.js.map +1 -1
- package/dist/supervisor/types.d.ts +56 -5
- package/dist/supervisor/types.d.ts.map +1 -1
- package/dist/supervisor/types.js +0 -2
- package/dist/supervisor/types.js.map +1 -1
- package/dist/uploads/AttachmentStagingService.d.ts +94 -0
- package/dist/uploads/AttachmentStagingService.d.ts.map +1 -0
- package/dist/uploads/AttachmentStagingService.js +673 -0
- package/dist/uploads/AttachmentStagingService.js.map +1 -0
- package/dist/uploads/index.d.ts +2 -0
- package/dist/uploads/index.d.ts.map +1 -1
- package/dist/uploads/index.js +1 -0
- package/dist/uploads/index.js.map +1 -1
- package/dist/uploads/manager.d.ts +1 -0
- package/dist/uploads/manager.d.ts.map +1 -1
- package/dist/uploads/manager.js +72 -12
- package/dist/uploads/manager.js.map +1 -1
- package/dist/utils/codexRolloutFiles.d.ts +16 -0
- package/dist/utils/codexRolloutFiles.d.ts.map +1 -0
- package/dist/utils/codexRolloutFiles.js +45 -0
- package/dist/utils/codexRolloutFiles.js.map +1 -0
- package/dist/utils/jsonl.d.ts +8 -0
- package/dist/utils/jsonl.d.ts.map +1 -1
- package/dist/utils/jsonl.js +158 -5
- package/dist/utils/jsonl.js.map +1 -1
- package/dist/utils/publicShareViewerUrl.d.ts.map +1 -1
- package/dist/utils/publicShareViewerUrl.js +2 -15
- package/dist/utils/publicShareViewerUrl.js.map +1 -1
- package/dist/watcher/EventBus.d.ts +42 -4
- package/dist/watcher/EventBus.d.ts.map +1 -1
- package/dist/watcher/EventBus.js.map +1 -1
- package/dist/watcher/FileWatcher.d.ts +47 -0
- package/dist/watcher/FileWatcher.d.ts.map +1 -1
- package/dist/watcher/FileWatcher.js +185 -14
- package/dist/watcher/FileWatcher.js.map +1 -1
- package/dist/watcher/index.d.ts +2 -2
- package/dist/watcher/index.d.ts.map +1 -1
- package/dist/watcher/index.js.map +1 -1
- package/dist/yaModuleEnv.d.ts +6 -6
- package/dist/yaModuleEnv.d.ts.map +1 -1
- package/dist/yaModuleEnv.js +12 -12
- package/dist/yaModuleEnv.js.map +1 -1
- package/package.json +5 -6
- package/client-dist/assets/de-BuEb60Yc.js +0 -6
- package/client-dist/assets/es-CRlmPKnE.js +0 -6
- package/client-dist/assets/fr-Cglgjc2X.js +0 -6
- package/client-dist/assets/index-BNj7ibmq.js +0 -524
- package/client-dist/assets/index-CAmsUazi.css +0 -1
- package/client-dist/assets/ja-DMb9mFPv.js +0 -6
- package/client-dist/assets/zh-CN-D1tbfamz.js +0 -6
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""
|
|
3
|
+
Warm NeMo Parakeet subprocess worker for YA local speech recognition.
|
|
4
|
+
|
|
5
|
+
Loads the model once, then reads JSON requests from stdin and writes JSON
|
|
6
|
+
responses to stdout. The Node.js LocalNemoBackend keeps this process alive
|
|
7
|
+
between utterances to avoid per-utterance model load.
|
|
8
|
+
|
|
9
|
+
Request line: {"audio_b64":"<base64>","mime_type":"audio/webm;codecs=opus"}
|
|
10
|
+
Response line: {"text":"..."} or {"error":"..."}
|
|
11
|
+
Startup line: {"status":"ready"} (written once after model loads)
|
|
12
|
+
"""
|
|
13
|
+
import base64
|
|
14
|
+
import json
|
|
15
|
+
import os
|
|
16
|
+
import subprocess
|
|
17
|
+
import sys
|
|
18
|
+
import tempfile
|
|
19
|
+
from typing import Any
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
DEFAULT_NEMO_MODEL = "nvidia/parakeet-tdt-0.6b-v3"
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
def suffix_for_mime(mime: str) -> str:
|
|
26
|
+
if "ogg" in mime:
|
|
27
|
+
return ".ogg"
|
|
28
|
+
if "mp4" in mime or "m4a" in mime:
|
|
29
|
+
return ".mp4"
|
|
30
|
+
if "wav" in mime:
|
|
31
|
+
return ".wav"
|
|
32
|
+
if "mp3" in mime:
|
|
33
|
+
return ".mp3"
|
|
34
|
+
if "flac" in mime:
|
|
35
|
+
return ".flac"
|
|
36
|
+
return ".webm"
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
def unlink_if_present(path: str) -> None:
|
|
40
|
+
try:
|
|
41
|
+
os.unlink(path)
|
|
42
|
+
except OSError:
|
|
43
|
+
pass
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
def patch_numpy_sctypes() -> None:
|
|
47
|
+
import numpy as np # type: ignore[import]
|
|
48
|
+
|
|
49
|
+
if hasattr(np, "sctypes"):
|
|
50
|
+
return
|
|
51
|
+
# NeMo 2.0.0 still references np.sctypes during audio preprocessing.
|
|
52
|
+
np.sctypes = {
|
|
53
|
+
"int": [np.int8, np.int16, np.int32, np.int64],
|
|
54
|
+
"uint": [np.uint8, np.uint16, np.uint32, np.uint64],
|
|
55
|
+
"float": [np.float16, np.float32, np.float64],
|
|
56
|
+
"complex": [np.complex64, np.complex128],
|
|
57
|
+
"others": [np.bool_, np.object_, np.bytes_, np.str_],
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
def resolve_device(device_arg: str, torch: Any) -> str:
|
|
62
|
+
normalized = device_arg.strip().lower()
|
|
63
|
+
if normalized in ("", "auto"):
|
|
64
|
+
return "cuda" if torch.cuda.is_available() else "cpu"
|
|
65
|
+
if normalized == "cuda":
|
|
66
|
+
return "cuda"
|
|
67
|
+
if normalized.startswith("cuda:"):
|
|
68
|
+
return normalized
|
|
69
|
+
if normalized == "cpu":
|
|
70
|
+
return "cpu"
|
|
71
|
+
return normalized
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
def transcript_text(output: Any) -> str:
|
|
75
|
+
if isinstance(output, str):
|
|
76
|
+
return output.strip()
|
|
77
|
+
if isinstance(output, dict):
|
|
78
|
+
return str(output.get("text") or "").strip()
|
|
79
|
+
if isinstance(output, (list, tuple)):
|
|
80
|
+
parts = [transcript_text(item) for item in output]
|
|
81
|
+
parts = [part for part in parts if part]
|
|
82
|
+
if not parts:
|
|
83
|
+
return ""
|
|
84
|
+
if all(part == parts[0] for part in parts):
|
|
85
|
+
return parts[0]
|
|
86
|
+
return " ".join(parts).strip()
|
|
87
|
+
return str(output or "").strip()
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
def wav_path_for_nemo(input_path: str, suffix: str) -> str:
|
|
91
|
+
if suffix == ".wav":
|
|
92
|
+
return input_path
|
|
93
|
+
|
|
94
|
+
with tempfile.NamedTemporaryFile(suffix=".wav", delete=False) as fh:
|
|
95
|
+
output_path = fh.name
|
|
96
|
+
|
|
97
|
+
try:
|
|
98
|
+
subprocess.run(
|
|
99
|
+
[
|
|
100
|
+
"ffmpeg",
|
|
101
|
+
"-nostdin",
|
|
102
|
+
"-loglevel",
|
|
103
|
+
"error",
|
|
104
|
+
"-y",
|
|
105
|
+
"-i",
|
|
106
|
+
input_path,
|
|
107
|
+
"-ac",
|
|
108
|
+
"1",
|
|
109
|
+
"-ar",
|
|
110
|
+
"16000",
|
|
111
|
+
output_path,
|
|
112
|
+
],
|
|
113
|
+
check=True,
|
|
114
|
+
stdout=subprocess.PIPE,
|
|
115
|
+
stderr=subprocess.PIPE,
|
|
116
|
+
)
|
|
117
|
+
except subprocess.CalledProcessError as exc:
|
|
118
|
+
unlink_if_present(output_path)
|
|
119
|
+
stderr = exc.stderr.decode("utf-8", errors="replace").strip()
|
|
120
|
+
if len(stderr) > 500:
|
|
121
|
+
stderr = stderr[:500].rstrip() + "..."
|
|
122
|
+
raise RuntimeError(f"ffmpeg audio conversion failed: {stderr}") from exc
|
|
123
|
+
|
|
124
|
+
return output_path
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
def summarize_model_load_error(model_name: str, exc: Exception) -> str:
|
|
128
|
+
message = str(exc)
|
|
129
|
+
lower = message.lower()
|
|
130
|
+
if "no space left on device" in lower or "os error 28" in lower:
|
|
131
|
+
return (
|
|
132
|
+
f"Model load failed for {model_name}: no space left on device while "
|
|
133
|
+
"downloading or reconstructing Hugging Face model files. Free the "
|
|
134
|
+
"cache/tmp filesystem used by the server, or set HF_HUB_CACHE, "
|
|
135
|
+
"HF_XET_CACHE, and TMPDIR to a filesystem with enough space before "
|
|
136
|
+
"starting YA."
|
|
137
|
+
)
|
|
138
|
+
if "att_chunk_context_size" in message:
|
|
139
|
+
return (
|
|
140
|
+
f"Model load failed for {model_name}: this model needs a newer "
|
|
141
|
+
"NeMo encoder than the YA pixi stt NeMo 2.0.0 add-on provides. "
|
|
142
|
+
"Use nvidia/parakeet-tdt-0.6b-v3, nvidia/parakeet-rnnt-1.1b, "
|
|
143
|
+
"or nvidia/parakeet-ctc-1.1b here; keep unified Parakeet models "
|
|
144
|
+
"on the separate modern-NeMo track."
|
|
145
|
+
)
|
|
146
|
+
if (
|
|
147
|
+
"gated repo" in lower
|
|
148
|
+
or "gated model" in lower
|
|
149
|
+
or "401" in lower
|
|
150
|
+
or "403" in lower
|
|
151
|
+
or "access to model" in lower
|
|
152
|
+
):
|
|
153
|
+
return (
|
|
154
|
+
f"Model load failed for {model_name}: Hugging Face authentication "
|
|
155
|
+
"or model access is required. Run `pixi run --frozen -e stt hf auth "
|
|
156
|
+
"login`, accept the model terms on Hugging Face if prompted, then "
|
|
157
|
+
"restart YA."
|
|
158
|
+
)
|
|
159
|
+
compact = " ".join(message.split())
|
|
160
|
+
if len(compact) > 700:
|
|
161
|
+
compact = compact[:700].rstrip() + "..."
|
|
162
|
+
return f"Model load failed for {model_name}: {compact}"
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
def main() -> None:
|
|
166
|
+
model_name = sys.argv[1] if len(sys.argv) > 1 else DEFAULT_NEMO_MODEL
|
|
167
|
+
device_arg = sys.argv[2] if len(sys.argv) > 2 else "auto"
|
|
168
|
+
|
|
169
|
+
sys.stderr.write(f"[nemo_worker] Loading {model_name} on device={device_arg}...\n")
|
|
170
|
+
sys.stderr.flush()
|
|
171
|
+
|
|
172
|
+
try:
|
|
173
|
+
patch_numpy_sctypes()
|
|
174
|
+
import torch # type: ignore[import]
|
|
175
|
+
from nemo.collections.asr.models import ASRModel # type: ignore[import]
|
|
176
|
+
|
|
177
|
+
device = resolve_device(device_arg, torch)
|
|
178
|
+
model = ASRModel.from_pretrained(model_name, map_location=device)
|
|
179
|
+
if device.startswith("cuda"):
|
|
180
|
+
model = model.to(device)
|
|
181
|
+
model.eval()
|
|
182
|
+
except Exception as exc:
|
|
183
|
+
sys.stdout.write(
|
|
184
|
+
json.dumps({"error": summarize_model_load_error(model_name, exc)}) + "\n"
|
|
185
|
+
)
|
|
186
|
+
sys.stdout.flush()
|
|
187
|
+
sys.exit(1)
|
|
188
|
+
|
|
189
|
+
sys.stderr.write("[nemo_worker] Model ready\n")
|
|
190
|
+
sys.stderr.flush()
|
|
191
|
+
sys.stdout.write(json.dumps({"status": "ready"}) + "\n")
|
|
192
|
+
sys.stdout.flush()
|
|
193
|
+
|
|
194
|
+
for raw in sys.stdin:
|
|
195
|
+
raw = raw.strip()
|
|
196
|
+
if not raw:
|
|
197
|
+
continue
|
|
198
|
+
try:
|
|
199
|
+
req = json.loads(raw)
|
|
200
|
+
except json.JSONDecodeError as exc:
|
|
201
|
+
sys.stdout.write(json.dumps({"error": f"JSON error: {exc}"}) + "\n")
|
|
202
|
+
sys.stdout.flush()
|
|
203
|
+
continue
|
|
204
|
+
|
|
205
|
+
try:
|
|
206
|
+
audio_bytes = base64.b64decode(req["audio_b64"])
|
|
207
|
+
suffix = suffix_for_mime(str(req.get("mime_type") or ""))
|
|
208
|
+
|
|
209
|
+
with tempfile.NamedTemporaryFile(suffix=suffix, delete=False) as fh:
|
|
210
|
+
fh.write(audio_bytes)
|
|
211
|
+
tmpfile = fh.name
|
|
212
|
+
|
|
213
|
+
transcription_file = tmpfile
|
|
214
|
+
try:
|
|
215
|
+
transcription_file = wav_path_for_nemo(tmpfile, suffix)
|
|
216
|
+
output = model.transcribe(
|
|
217
|
+
[transcription_file], batch_size=1, verbose=False
|
|
218
|
+
)
|
|
219
|
+
sys.stdout.write(json.dumps({"text": transcript_text(output)}) + "\n")
|
|
220
|
+
finally:
|
|
221
|
+
unlink_if_present(tmpfile)
|
|
222
|
+
if transcription_file != tmpfile:
|
|
223
|
+
unlink_if_present(transcription_file)
|
|
224
|
+
|
|
225
|
+
except Exception as exc:
|
|
226
|
+
sys.stdout.write(json.dumps({"error": str(exc)}) + "\n")
|
|
227
|
+
|
|
228
|
+
sys.stdout.flush()
|
|
229
|
+
|
|
230
|
+
|
|
231
|
+
if __name__ == "__main__":
|
|
232
|
+
main()
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""
|
|
3
|
+
Warm Transformers Parakeet subprocess worker for YA local speech recognition.
|
|
4
|
+
|
|
5
|
+
Loads the model once, then reads JSON requests from stdin and writes
|
|
6
|
+
JSON responses to stdout. The Node.js LocalParakeetBackend keeps this
|
|
7
|
+
process alive between utterances to avoid per-utterance model load.
|
|
8
|
+
|
|
9
|
+
Request line: {"audio_b64":"<base64>","mime_type":"audio/webm;codecs=opus"}
|
|
10
|
+
Response line: {"text":"..."} or {"error":"..."}
|
|
11
|
+
Startup line: {"status":"ready"} (written once after model loads)
|
|
12
|
+
"""
|
|
13
|
+
import base64
|
|
14
|
+
import json
|
|
15
|
+
import os
|
|
16
|
+
import sys
|
|
17
|
+
import tempfile
|
|
18
|
+
from typing import Any
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
def suffix_for_mime(mime: str) -> str:
|
|
22
|
+
if "ogg" in mime:
|
|
23
|
+
return ".ogg"
|
|
24
|
+
if "mp4" in mime or "m4a" in mime:
|
|
25
|
+
return ".mp4"
|
|
26
|
+
if "wav" in mime:
|
|
27
|
+
return ".wav"
|
|
28
|
+
if "mp3" in mime:
|
|
29
|
+
return ".mp3"
|
|
30
|
+
if "flac" in mime:
|
|
31
|
+
return ".flac"
|
|
32
|
+
return ".webm"
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
def resolve_pipeline_device(device_arg: str, torch: Any) -> int:
|
|
36
|
+
normalized = device_arg.strip().lower()
|
|
37
|
+
if normalized in ("", "auto"):
|
|
38
|
+
return 0 if torch.cuda.is_available() else -1
|
|
39
|
+
if normalized == "cpu":
|
|
40
|
+
return -1
|
|
41
|
+
if normalized == "cuda":
|
|
42
|
+
return 0
|
|
43
|
+
if normalized.startswith("cuda:"):
|
|
44
|
+
return int(normalized.split(":", 1)[1])
|
|
45
|
+
return int(normalized)
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
def transcript_text(output: Any) -> str:
|
|
49
|
+
if isinstance(output, dict):
|
|
50
|
+
return str(output.get("text") or "").strip()
|
|
51
|
+
if isinstance(output, list):
|
|
52
|
+
return " ".join(transcript_text(item) for item in output).strip()
|
|
53
|
+
return str(output or "").strip()
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
def summarize_model_load_error(model_name: str, exc: Exception) -> str:
|
|
57
|
+
message = str(exc)
|
|
58
|
+
lower = message.lower()
|
|
59
|
+
if "no space left on device" in lower or "os error 28" in lower:
|
|
60
|
+
return (
|
|
61
|
+
f"Model load failed for {model_name}: no space left on device while "
|
|
62
|
+
"downloading or reconstructing Hugging Face model files. Free the "
|
|
63
|
+
"cache/tmp filesystem used by the server, or set HF_HUB_CACHE, "
|
|
64
|
+
"HF_XET_CACHE, and TMPDIR to a filesystem with enough space before "
|
|
65
|
+
"starting YA."
|
|
66
|
+
)
|
|
67
|
+
if (
|
|
68
|
+
"gated repo" in lower
|
|
69
|
+
or "gated model" in lower
|
|
70
|
+
or "401" in lower
|
|
71
|
+
or "403" in lower
|
|
72
|
+
or "access to model" in lower
|
|
73
|
+
):
|
|
74
|
+
return (
|
|
75
|
+
f"Model load failed for {model_name}: Hugging Face authentication "
|
|
76
|
+
"or model access is required. Run `pixi run --frozen -e stt hf auth "
|
|
77
|
+
"login`, accept the model terms on Hugging Face if prompted, then "
|
|
78
|
+
"restart YA."
|
|
79
|
+
)
|
|
80
|
+
compact = " ".join(message.split())
|
|
81
|
+
if len(compact) > 700:
|
|
82
|
+
compact = compact[:700].rstrip() + "..."
|
|
83
|
+
return f"Model load failed for {model_name}: {compact}"
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
def main() -> None:
|
|
87
|
+
model_name = sys.argv[1] if len(sys.argv) > 1 else "nvidia/parakeet-tdt-0.6b-v3"
|
|
88
|
+
device_arg = sys.argv[2] if len(sys.argv) > 2 else "auto"
|
|
89
|
+
|
|
90
|
+
sys.stderr.write(
|
|
91
|
+
f"[parakeet_worker] Loading {model_name} on device={device_arg}...\n"
|
|
92
|
+
)
|
|
93
|
+
sys.stderr.flush()
|
|
94
|
+
|
|
95
|
+
try:
|
|
96
|
+
import torch # type: ignore[import]
|
|
97
|
+
from transformers import pipeline # type: ignore[import]
|
|
98
|
+
|
|
99
|
+
device = resolve_pipeline_device(device_arg, torch)
|
|
100
|
+
torch_dtype = torch.bfloat16 if device >= 0 else torch.float32
|
|
101
|
+
pipe = pipeline(
|
|
102
|
+
"automatic-speech-recognition",
|
|
103
|
+
model=model_name,
|
|
104
|
+
device=device,
|
|
105
|
+
dtype=torch_dtype,
|
|
106
|
+
)
|
|
107
|
+
except Exception as exc:
|
|
108
|
+
sys.stdout.write(
|
|
109
|
+
json.dumps({"error": summarize_model_load_error(model_name, exc)}) + "\n"
|
|
110
|
+
)
|
|
111
|
+
sys.stdout.flush()
|
|
112
|
+
sys.exit(1)
|
|
113
|
+
|
|
114
|
+
sys.stderr.write("[parakeet_worker] Model ready\n")
|
|
115
|
+
sys.stderr.flush()
|
|
116
|
+
sys.stdout.write(json.dumps({"status": "ready"}) + "\n")
|
|
117
|
+
sys.stdout.flush()
|
|
118
|
+
|
|
119
|
+
for raw in sys.stdin:
|
|
120
|
+
raw = raw.strip()
|
|
121
|
+
if not raw:
|
|
122
|
+
continue
|
|
123
|
+
try:
|
|
124
|
+
req = json.loads(raw)
|
|
125
|
+
except json.JSONDecodeError as exc:
|
|
126
|
+
sys.stdout.write(json.dumps({"error": f"JSON error: {exc}"}) + "\n")
|
|
127
|
+
sys.stdout.flush()
|
|
128
|
+
continue
|
|
129
|
+
|
|
130
|
+
try:
|
|
131
|
+
audio_bytes = base64.b64decode(req["audio_b64"])
|
|
132
|
+
suffix = suffix_for_mime(req.get("mime_type", ""))
|
|
133
|
+
|
|
134
|
+
with tempfile.NamedTemporaryFile(suffix=suffix, delete=False) as fh:
|
|
135
|
+
fh.write(audio_bytes)
|
|
136
|
+
tmpfile = fh.name
|
|
137
|
+
|
|
138
|
+
try:
|
|
139
|
+
output = pipe(tmpfile)
|
|
140
|
+
sys.stdout.write(json.dumps({"text": transcript_text(output)}) + "\n")
|
|
141
|
+
finally:
|
|
142
|
+
os.unlink(tmpfile)
|
|
143
|
+
|
|
144
|
+
except Exception as exc:
|
|
145
|
+
sys.stdout.write(json.dumps({"error": str(exc)}) + "\n")
|
|
146
|
+
|
|
147
|
+
sys.stdout.flush()
|
|
148
|
+
|
|
149
|
+
|
|
150
|
+
if __name__ == "__main__":
|
|
151
|
+
main()
|
|
@@ -8,8 +8,11 @@ import type { SpeechBackend, SpeechBackendCapabilities, SpeechBackendInfo } from
|
|
|
8
8
|
*/
|
|
9
9
|
export declare class SpeechBackendRegistry {
|
|
10
10
|
private readonly entries;
|
|
11
|
+
private readonly validations;
|
|
11
12
|
/** Currently enabled backend ids in insertion order. */
|
|
12
13
|
enabledIds(): string[];
|
|
14
|
+
/** All configured backend ids, including pending and disabled entries. */
|
|
15
|
+
knownIds(): string[];
|
|
13
16
|
/** All known backends, including disabled ones, for diagnostics. */
|
|
14
17
|
allInfo(): SpeechBackendInfo[];
|
|
15
18
|
/** Capabilities for currently enabled backend ids. */
|
|
@@ -18,20 +21,22 @@ export declare class SpeechBackendRegistry {
|
|
|
18
21
|
isEnabled(id: string): boolean;
|
|
19
22
|
/** Return an enabled backend by id, or null if unknown/disabled. */
|
|
20
23
|
getBackend(id: string): SpeechBackend | null;
|
|
21
|
-
register(backend: SpeechBackend):
|
|
24
|
+
register(backend: SpeechBackend): void;
|
|
25
|
+
/** Wait for startup validations currently in flight; useful for tests/tools. */
|
|
26
|
+
waitForValidation(): Promise<void>;
|
|
22
27
|
}
|
|
23
28
|
export interface SpeechRegistryInitOptions {
|
|
24
29
|
/** Master switch — when false, no backends are registered. */
|
|
25
30
|
voiceInputEnabled?: boolean;
|
|
26
|
-
/** Explicit backend ids from
|
|
31
|
+
/** Explicit backend ids from YEP_VOICE_BACKENDS (cloud keys auto-enable separately). */
|
|
27
32
|
voiceBackends?: string[];
|
|
28
33
|
/**
|
|
29
|
-
* Deepgram API key (from
|
|
34
|
+
* Deepgram API key (from YEP_STT_DEEPGRAM_API_KEY) for ya-deepgram. When set,
|
|
30
35
|
* the backend is auto-enabled — presence of the key is the opt-in signal.
|
|
31
36
|
*/
|
|
32
37
|
deepgramApiKey?: string;
|
|
33
38
|
/**
|
|
34
|
-
* xAI key (from
|
|
39
|
+
* xAI key (from YEP_STT_XAI_API_KEY) for ya-grok. When set, the backend is
|
|
35
40
|
* auto-enabled even if not listed in voiceBackends — presence of the key is
|
|
36
41
|
* the opt-in signal.
|
|
37
42
|
*/
|
|
@@ -42,6 +47,16 @@ export interface SpeechRegistryInitOptions {
|
|
|
42
47
|
whisperDevice?: string;
|
|
43
48
|
/** Whisper compute type (default: int8). */
|
|
44
49
|
whisperComputeType?: string;
|
|
50
|
+
/** Parakeet fallback model name (default: nvidia/parakeet-tdt-0.6b-v3). */
|
|
51
|
+
parakeetModel?: string;
|
|
52
|
+
/** Parakeet device (default: auto). */
|
|
53
|
+
parakeetDevice?: string;
|
|
54
|
+
/** NeMo Parakeet fallback model name (default: nvidia/parakeet-tdt-0.6b-v3). */
|
|
55
|
+
nemoModel?: string;
|
|
56
|
+
/** NeMo Parakeet device (default: auto). */
|
|
57
|
+
nemoDevice?: string;
|
|
45
58
|
}
|
|
46
59
|
export declare function initSpeechBackendRegistry(options?: SpeechRegistryInitOptions): Promise<SpeechBackendRegistry>;
|
|
60
|
+
export declare function getRequestedSpeechBackendIds(options?: SpeechRegistryInitOptions): string[];
|
|
61
|
+
export declare function registerSpeechBackends(registry: SpeechBackendRegistry, options?: SpeechRegistryInitOptions): Promise<void>;
|
|
47
62
|
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/services/voice/registry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/services/voice/registry.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,aAAa,EACb,yBAAyB,EACzB,iBAAiB,EAClB,MAAM,oBAAoB,CAAC;AAK5B;;;;;;GAMG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAGpB;IACJ,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA4B;IAExD,wDAAwD;IACxD,UAAU,IAAI,MAAM,EAAE;IAMtB,0EAA0E;IAC1E,QAAQ,IAAI,MAAM,EAAE;IAIpB,oEAAoE;IACpE,OAAO,IAAI,iBAAiB,EAAE;IAI9B,sDAAsD;IACtD,mBAAmB,IAAI,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC;IAQhE,mDAAmD;IACnD,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAI9B,oEAAoE;IACpE,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI;IAM5C,QAAQ,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IA4CtC,gFAAgF;IAC1E,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;CAGzC;AAED,MAAM,WAAW,yBAAyB;IACxC,8DAA8D;IAC9D,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,wFAAwF;IACxF,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qDAAqD;IACrD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qCAAqC;IACrC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4CAA4C;IAC5C,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,2EAA2E;IAC3E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uCAAuC;IACvC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gFAAgF;IAChF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAsB,yBAAyB,CAC7C,OAAO,GAAE,yBAA8B,GACtC,OAAO,CAAC,qBAAqB,CAAC,CAIhC;AAED,wBAAgB,4BAA4B,CAC1C,OAAO,GAAE,yBAA8B,GACtC,MAAM,EAAE,CAkBV;AAED,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,qBAAqB,EAC/B,OAAO,GAAE,yBAA8B,GACtC,OAAO,CAAC,IAAI,CAAC,CA+Df"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { getLogger } from "../../logging/logger.js";
|
|
2
2
|
import { DeepgramBackend } from "./deepgramBackend.js";
|
|
3
3
|
import { DummyBackend } from "./dummyBackend.js";
|
|
4
|
+
import { LocalNemoBackend } from "./localNemoBackend.js";
|
|
5
|
+
import { LocalParakeetBackend } from "./localParakeetBackend.js";
|
|
4
6
|
import { LocalWhisperBackend } from "./localWhisperBackend.js";
|
|
5
7
|
import { XaiSttBackend } from "./xaiSttBackend.js";
|
|
6
8
|
const logger = getLogger();
|
|
@@ -13,12 +15,17 @@ const logger = getLogger();
|
|
|
13
15
|
*/
|
|
14
16
|
export class SpeechBackendRegistry {
|
|
15
17
|
entries = new Map();
|
|
18
|
+
validations = new Set();
|
|
16
19
|
/** Currently enabled backend ids in insertion order. */
|
|
17
20
|
enabledIds() {
|
|
18
21
|
return [...this.entries.values()]
|
|
19
22
|
.filter(({ info }) => info.enabled)
|
|
20
23
|
.map(({ info }) => info.id);
|
|
21
24
|
}
|
|
25
|
+
/** All configured backend ids, including pending and disabled entries. */
|
|
26
|
+
knownIds() {
|
|
27
|
+
return [...this.entries.keys()];
|
|
28
|
+
}
|
|
22
29
|
/** All known backends, including disabled ones, for diagnostics. */
|
|
23
30
|
allInfo() {
|
|
24
31
|
return [...this.entries.values()].map(({ info }) => info);
|
|
@@ -40,33 +47,62 @@ export class SpeechBackendRegistry {
|
|
|
40
47
|
return null;
|
|
41
48
|
return entry.backend;
|
|
42
49
|
}
|
|
43
|
-
|
|
44
|
-
|
|
50
|
+
register(backend) {
|
|
51
|
+
// Record configured backends immediately for discovery, but keep them out
|
|
52
|
+
// of the routable set until validation succeeds. This separates "known"
|
|
53
|
+
// from "usable" instead of optimistically weakening enabled semantics.
|
|
45
54
|
const info = {
|
|
46
55
|
id: backend.id,
|
|
47
56
|
label: backend.label,
|
|
48
|
-
enabled:
|
|
57
|
+
enabled: false,
|
|
58
|
+
validationStatus: "pending",
|
|
49
59
|
capabilities: backend.capabilities ?? {},
|
|
50
|
-
disabledReason: result.ok ? undefined : result.reason,
|
|
51
60
|
};
|
|
52
61
|
this.entries.set(backend.id, { info, backend });
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
62
|
+
const validation = backend
|
|
63
|
+
.validate()
|
|
64
|
+
.then((result) => {
|
|
65
|
+
info.enabled = result.ok;
|
|
66
|
+
info.validationStatus = result.ok ? "enabled" : "disabled";
|
|
67
|
+
if (result.ok) {
|
|
68
|
+
info.disabledReason = undefined;
|
|
69
|
+
logger.info(`[Voice] Backend "${backend.id}" enabled`);
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
info.disabledReason = result.reason;
|
|
73
|
+
logger.warn(`[Voice] Backend "${backend.id}" disabled: ${result.reason}`);
|
|
74
|
+
}
|
|
75
|
+
})
|
|
76
|
+
.catch((error) => {
|
|
77
|
+
const message = error instanceof Error ? error.message : String(error ?? "unknown");
|
|
78
|
+
info.enabled = false;
|
|
79
|
+
info.validationStatus = "disabled";
|
|
80
|
+
info.disabledReason = message;
|
|
81
|
+
logger.warn(`[Voice] Backend "${backend.id}" validate threw: ${message}`);
|
|
82
|
+
})
|
|
83
|
+
.finally(() => {
|
|
84
|
+
this.validations.delete(validation);
|
|
85
|
+
});
|
|
86
|
+
this.validations.add(validation);
|
|
87
|
+
}
|
|
88
|
+
/** Wait for startup validations currently in flight; useful for tests/tools. */
|
|
89
|
+
async waitForValidation() {
|
|
90
|
+
await Promise.all([...this.validations]);
|
|
59
91
|
}
|
|
60
92
|
}
|
|
61
93
|
export async function initSpeechBackendRegistry(options = {}) {
|
|
62
94
|
const registry = new SpeechBackendRegistry();
|
|
95
|
+
await registerSpeechBackends(registry, options);
|
|
96
|
+
return registry;
|
|
97
|
+
}
|
|
98
|
+
export function getRequestedSpeechBackendIds(options = {}) {
|
|
63
99
|
if (options.voiceInputEnabled === false) {
|
|
64
|
-
return
|
|
100
|
+
return [];
|
|
65
101
|
}
|
|
66
102
|
// Cloud STT backends auto-enable when their key is present — a provisioned
|
|
67
|
-
// key is the opt-in signal. Local/test backends
|
|
68
|
-
//
|
|
69
|
-
//
|
|
103
|
+
// key is the opt-in signal. Local/test backends stay explicit via
|
|
104
|
+
// YEP_VOICE_BACKENDS. Set keeps insertion order and de-dupes when a key is
|
|
105
|
+
// also listed explicitly.
|
|
70
106
|
const requested = new Set(options.voiceBackends ?? []);
|
|
71
107
|
if (options.deepgramApiKey) {
|
|
72
108
|
requested.add("ya-deepgram");
|
|
@@ -74,42 +110,56 @@ export async function initSpeechBackendRegistry(options = {}) {
|
|
|
74
110
|
if (options.xaiSttApiKey) {
|
|
75
111
|
requested.add("ya-grok");
|
|
76
112
|
}
|
|
77
|
-
|
|
113
|
+
return [...requested];
|
|
114
|
+
}
|
|
115
|
+
export async function registerSpeechBackends(registry, options = {}) {
|
|
116
|
+
for (const backendId of getRequestedSpeechBackendIds(options)) {
|
|
78
117
|
switch (backendId) {
|
|
79
118
|
case "ya-dummy":
|
|
80
|
-
|
|
119
|
+
registry.register(new DummyBackend());
|
|
81
120
|
break;
|
|
82
121
|
case "ya-deepgram": {
|
|
83
122
|
const key = options.deepgramApiKey ?? "";
|
|
84
123
|
if (!key) {
|
|
85
|
-
logger.warn("[Voice] ya-deepgram requested but
|
|
124
|
+
logger.warn("[Voice] ya-deepgram requested but YEP_STT_DEEPGRAM_API_KEY is not set");
|
|
86
125
|
}
|
|
87
126
|
else {
|
|
88
|
-
|
|
127
|
+
registry.register(new DeepgramBackend(key));
|
|
89
128
|
}
|
|
90
129
|
break;
|
|
91
130
|
}
|
|
92
131
|
case "ya-grok": {
|
|
93
132
|
const key = options.xaiSttApiKey ?? "";
|
|
94
133
|
if (!key) {
|
|
95
|
-
logger.warn("[Voice] ya-grok requested but
|
|
134
|
+
logger.warn("[Voice] ya-grok requested but YEP_STT_XAI_API_KEY is not set");
|
|
96
135
|
}
|
|
97
136
|
else {
|
|
98
|
-
|
|
137
|
+
registry.register(new XaiSttBackend(key));
|
|
99
138
|
}
|
|
100
139
|
break;
|
|
101
140
|
}
|
|
102
141
|
case "ya-whisper":
|
|
103
|
-
|
|
142
|
+
registry.register(new LocalWhisperBackend({
|
|
104
143
|
model: options.whisperModel,
|
|
105
144
|
device: options.whisperDevice,
|
|
106
145
|
computeType: options.whisperComputeType,
|
|
107
146
|
}));
|
|
108
147
|
break;
|
|
148
|
+
case "ya-parakeet":
|
|
149
|
+
registry.register(new LocalParakeetBackend({
|
|
150
|
+
model: options.parakeetModel,
|
|
151
|
+
device: options.parakeetDevice,
|
|
152
|
+
}));
|
|
153
|
+
break;
|
|
154
|
+
case "ya-nemo":
|
|
155
|
+
registry.register(new LocalNemoBackend({
|
|
156
|
+
model: options.nemoModel,
|
|
157
|
+
device: options.nemoDevice,
|
|
158
|
+
}));
|
|
159
|
+
break;
|
|
109
160
|
default:
|
|
110
161
|
logger.warn(`[Voice] Unknown speech backend requested: ${backendId}`);
|
|
111
162
|
}
|
|
112
163
|
}
|
|
113
|
-
return registry;
|
|
114
164
|
}
|
|
115
165
|
//# sourceMappingURL=registry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/services/voice/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAM/D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;AAE3B;;;;;;GAMG;AACH,MAAM,OAAO,qBAAqB;IACf,OAAO,GAAG,IAAI,GAAG,EAG/B,CAAC;
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/services/voice/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Runs async operations one at a time, in FIFO order. A request that arrives
|
|
3
|
+
* while another is still running — e.g. a transcribe while the model is still
|
|
4
|
+
* loading, or a model swap is in flight — waits its turn instead of being
|
|
5
|
+
* rejected. The local STT backends are single-worker by design, so this turns
|
|
6
|
+
* "backend is busy with another request" errors into queued waits: record
|
|
7
|
+
* audio, block on the load, then transcribe.
|
|
8
|
+
*
|
|
9
|
+
* Failures are isolated: one operation rejecting does not break the chain for
|
|
10
|
+
* the next, and the promise returned to each caller still reflects that
|
|
11
|
+
* operation's own resolution or rejection.
|
|
12
|
+
*/
|
|
13
|
+
export declare class SerialQueue {
|
|
14
|
+
private tail;
|
|
15
|
+
run<T>(op: () => Promise<T>): Promise<T>;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=serialQueue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serialQueue.d.ts","sourceRoot":"","sources":["../../../src/services/voice/serialQueue.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,IAAI,CAAuC;IAEnD,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;CAWzC"}
|