@pellux/goodvibes-sdk 0.21.29 → 0.21.33
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_internal/contracts/zod-schemas/accounts.d.ts +9 -9
- package/dist/_internal/contracts/zod-schemas/auth.d.ts +1 -1
- package/dist/_internal/daemon/context.d.ts +1 -0
- package/dist/_internal/daemon/context.d.ts.map +1 -1
- package/dist/_internal/daemon/error-response.js +22 -22
- package/dist/_internal/daemon/integration-route-types.d.ts +2 -1
- package/dist/_internal/daemon/integration-route-types.d.ts.map +1 -1
- package/dist/_internal/daemon/knowledge-routes.js +5 -5
- package/dist/_internal/daemon/media-routes.d.ts.map +1 -1
- package/dist/_internal/daemon/media-routes.js +4 -3
- 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/daemon/runtime-route-types.d.ts +2 -1
- package/dist/_internal/daemon/runtime-route-types.d.ts.map +1 -1
- package/dist/_internal/daemon/runtime-routes.d.ts +1 -1
- package/dist/_internal/daemon/runtime-routes.d.ts.map +1 -1
- package/dist/_internal/daemon/runtime-routes.js +1 -0
- package/dist/_internal/daemon/telemetry-routes.d.ts.map +1 -1
- package/dist/_internal/daemon/telemetry-routes.js +13 -12
- package/dist/_internal/errors/daemon-error-contract.d.ts +17 -0
- package/dist/_internal/errors/daemon-error-contract.d.ts.map +1 -1
- package/dist/_internal/errors/daemon-error-contract.js +17 -1
- package/dist/_internal/errors/index.d.ts +2 -1
- package/dist/_internal/errors/index.d.ts.map +1 -1
- package/dist/_internal/errors/index.js +1 -0
- package/dist/_internal/platform/artifacts/store.d.ts.map +1 -1
- package/dist/_internal/platform/artifacts/store.js +2 -1
- package/dist/_internal/platform/automation/scheduler-capacity.d.ts +29 -0
- package/dist/_internal/platform/automation/scheduler-capacity.d.ts.map +1 -0
- package/dist/_internal/platform/automation/scheduler-capacity.js +31 -0
- package/dist/_internal/platform/channels/delivery/shared.d.ts.map +1 -1
- package/dist/_internal/platform/channels/delivery/shared.js +3 -2
- package/dist/_internal/platform/channels/delivery/strategies-bridge.d.ts.map +1 -1
- package/dist/_internal/platform/channels/delivery/strategies-bridge.js +3 -2
- package/dist/_internal/platform/channels/delivery/strategies-core.d.ts.map +1 -1
- package/dist/_internal/platform/channels/delivery/strategies-core.js +5 -4
- package/dist/_internal/platform/channels/delivery/strategies-enterprise.d.ts.map +1 -1
- package/dist/_internal/platform/channels/delivery/strategies-enterprise.js +4 -3
- package/dist/_internal/platform/companion/companion-chat-rate-limiter.d.ts +7 -0
- package/dist/_internal/platform/companion/companion-chat-rate-limiter.d.ts.map +1 -1
- package/dist/_internal/platform/companion/companion-chat-rate-limiter.js +16 -0
- package/dist/_internal/platform/config/manager.d.ts.map +1 -1
- package/dist/_internal/platform/config/manager.js +2 -1
- package/dist/_internal/platform/config/schema-domain-runtime.d.ts +6 -0
- package/dist/_internal/platform/config/schema-domain-runtime.d.ts.map +1 -1
- package/dist/_internal/platform/config/schema-domain-runtime.js +22 -0
- package/dist/_internal/platform/config/schema-types.d.ts +16 -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 +1 -0
- package/dist/_internal/platform/config/service-registry.d.ts.map +1 -1
- package/dist/_internal/platform/config/service-registry.js +2 -1
- package/dist/_internal/platform/control-plane/gateway-web-ui.d.ts +0 -1
- package/dist/_internal/platform/control-plane/gateway-web-ui.d.ts.map +1 -1
- package/dist/_internal/platform/control-plane/gateway-web-ui.js +7 -6
- package/dist/_internal/platform/control-plane/gateway.d.ts.map +1 -1
- package/dist/_internal/platform/control-plane/gateway.js +7 -0
- package/dist/_internal/platform/control-plane/session-broker.d.ts.map +1 -1
- package/dist/_internal/platform/control-plane/session-broker.js +38 -5
- package/dist/_internal/platform/core/orchestrator-tool-runtime.d.ts.map +1 -1
- package/dist/_internal/platform/core/orchestrator-tool-runtime.js +6 -6
- package/dist/_internal/platform/core/orchestrator-turn-loop.d.ts.map +1 -1
- package/dist/_internal/platform/core/orchestrator-turn-loop.js +10 -2
- package/dist/_internal/platform/core/orchestrator.d.ts.map +1 -1
- package/dist/_internal/platform/core/orchestrator.js +2 -0
- package/dist/_internal/platform/daemon/facade-composition.d.ts +4 -131
- package/dist/_internal/platform/daemon/facade-composition.d.ts.map +1 -1
- package/dist/_internal/platform/daemon/facade-composition.js +9 -10
- package/dist/_internal/platform/daemon/facade-types.d.ts +141 -0
- package/dist/_internal/platform/daemon/facade-types.d.ts.map +1 -0
- package/dist/_internal/platform/daemon/facade-types.js +1 -0
- package/dist/_internal/platform/daemon/http/rate-limiter.d.ts +23 -0
- package/dist/_internal/platform/daemon/http/rate-limiter.d.ts.map +1 -0
- package/dist/_internal/platform/daemon/http/rate-limiter.js +71 -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 +2 -1
- package/dist/_internal/platform/daemon/http/router.d.ts.map +1 -1
- package/dist/_internal/platform/daemon/http/router.js +90 -66
- package/dist/_internal/platform/daemon/http/runtime-route-types.d.ts.map +1 -1
- package/dist/_internal/platform/daemon/http-listener.d.ts +14 -0
- package/dist/_internal/platform/daemon/http-listener.d.ts.map +1 -1
- package/dist/_internal/platform/daemon/http-listener.js +92 -86
- package/dist/_internal/platform/daemon/surface-delivery.d.ts.map +1 -1
- package/dist/_internal/platform/daemon/surface-delivery.js +6 -5
- package/dist/_internal/platform/discovery/mcp-scanner.d.ts.map +1 -1
- package/dist/_internal/platform/discovery/mcp-scanner.js +28 -22
- package/dist/_internal/platform/discovery/scanner.d.ts.map +1 -1
- package/dist/_internal/platform/discovery/scanner.js +38 -22
- package/dist/_internal/platform/export/session-export.d.ts +0 -1
- package/dist/_internal/platform/export/session-export.d.ts.map +1 -1
- package/dist/_internal/platform/export/session-export.js +1 -33
- package/dist/_internal/platform/hooks/runners/http.d.ts.map +1 -1
- package/dist/_internal/platform/hooks/runners/http.js +15 -1
- package/dist/_internal/platform/hooks/types.d.ts +7 -0
- package/dist/_internal/platform/hooks/types.d.ts.map +1 -1
- package/dist/_internal/platform/integrations/delivery.d.ts +3 -1
- package/dist/_internal/platform/integrations/delivery.d.ts.map +1 -1
- package/dist/_internal/platform/integrations/delivery.js +3 -2
- package/dist/_internal/platform/integrations/discord.d.ts.map +1 -1
- package/dist/_internal/platform/integrations/discord.js +6 -5
- package/dist/_internal/platform/integrations/ntfy.d.ts.map +1 -1
- package/dist/_internal/platform/integrations/ntfy.js +3 -2
- package/dist/_internal/platform/integrations/webhooks.d.ts.map +1 -1
- package/dist/_internal/platform/integrations/webhooks.js +12 -1
- package/dist/_internal/platform/intelligence/lsp/binary-downloader.d.ts.map +1 -1
- package/dist/_internal/platform/intelligence/lsp/binary-downloader.js +4 -3
- package/dist/_internal/platform/knowledge/store.d.ts.map +1 -1
- package/dist/_internal/platform/knowledge/store.js +50 -25
- package/dist/_internal/platform/mcp/client.d.ts.map +1 -1
- package/dist/_internal/platform/mcp/client.js +3 -2
- package/dist/_internal/platform/media/builtin-generation-providers.d.ts.map +1 -1
- package/dist/_internal/platform/media/builtin-generation-providers.js +4 -3
- package/dist/_internal/platform/media/builtin-image-understanding.d.ts.map +1 -1
- package/dist/_internal/platform/media/builtin-image-understanding.js +5 -4
- package/dist/_internal/platform/providers/anthropic-compat.d.ts.map +1 -1
- package/dist/_internal/platform/providers/anthropic-compat.js +5 -3
- package/dist/_internal/platform/providers/anthropic.d.ts.map +1 -1
- package/dist/_internal/platform/providers/anthropic.js +10 -7
- package/dist/_internal/platform/providers/builtin-catalog.d.ts.map +1 -1
- package/dist/_internal/platform/providers/builtin-catalog.js +3 -2
- package/dist/_internal/platform/providers/catalogue.d.ts +56 -0
- package/dist/_internal/platform/providers/catalogue.d.ts.map +1 -0
- package/dist/_internal/platform/providers/catalogue.js +111 -0
- package/dist/_internal/platform/providers/context-discovery.d.ts.map +1 -1
- package/dist/_internal/platform/providers/context-discovery.js +2 -1
- package/dist/_internal/platform/providers/credentials.d.ts +12 -0
- package/dist/_internal/platform/providers/credentials.d.ts.map +1 -0
- package/dist/_internal/platform/providers/credentials.js +54 -0
- package/dist/_internal/platform/providers/gemini.d.ts.map +1 -1
- package/dist/_internal/platform/providers/gemini.js +6 -5
- package/dist/_internal/platform/providers/github-copilot.d.ts.map +1 -1
- package/dist/_internal/platform/providers/github-copilot.js +2 -1
- package/dist/_internal/platform/providers/health.d.ts +15 -0
- package/dist/_internal/platform/providers/health.d.ts.map +1 -0
- package/dist/_internal/platform/providers/health.js +32 -0
- package/dist/_internal/platform/providers/llama-cpp.d.ts.map +1 -1
- package/dist/_internal/platform/providers/llama-cpp.js +5 -3
- package/dist/_internal/platform/providers/lm-studio.d.ts.map +1 -1
- package/dist/_internal/platform/providers/lm-studio.js +5 -3
- package/dist/_internal/platform/providers/model-benchmarks.d.ts.map +1 -1
- package/dist/_internal/platform/providers/model-benchmarks.js +2 -1
- package/dist/_internal/platform/providers/model-catalog-cache.d.ts.map +1 -1
- package/dist/_internal/platform/providers/model-catalog-cache.js +2 -1
- package/dist/_internal/platform/providers/model-limits.d.ts.map +1 -1
- package/dist/_internal/platform/providers/model-limits.js +2 -1
- package/dist/_internal/platform/providers/ollama.d.ts.map +1 -1
- package/dist/_internal/platform/providers/ollama.js +5 -3
- package/dist/_internal/platform/providers/openai-codex.d.ts.map +1 -1
- package/dist/_internal/platform/providers/openai-codex.js +4 -2
- package/dist/_internal/platform/providers/openai-compat.d.ts.map +1 -1
- package/dist/_internal/platform/providers/openai-compat.js +3 -2
- package/dist/_internal/platform/providers/provider-not-found-error.d.ts +3 -1
- package/dist/_internal/platform/providers/provider-not-found-error.d.ts.map +1 -1
- package/dist/_internal/platform/providers/provider-not-found-error.js +3 -4
- package/dist/_internal/platform/providers/well-known-endpoints.d.ts +53 -0
- package/dist/_internal/platform/providers/well-known-endpoints.d.ts.map +1 -0
- package/dist/_internal/platform/providers/well-known-endpoints.js +52 -0
- package/dist/_internal/platform/runtime/auth/oauth-core.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/auth/oauth-core.js +2 -1
- package/dist/_internal/platform/runtime/bootstrap-runtime-events.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/bootstrap-runtime-events.js +2 -0
- package/dist/_internal/platform/runtime/contracts/index.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/contracts/index.js +1 -5
- package/dist/_internal/platform/runtime/contracts/migrations/schemas.d.ts +57 -0
- package/dist/_internal/platform/runtime/contracts/migrations/schemas.d.ts.map +1 -0
- package/dist/_internal/platform/runtime/contracts/migrations/schemas.js +157 -0
- package/dist/_internal/platform/runtime/correlation.d.ts +44 -0
- package/dist/_internal/platform/runtime/correlation.d.ts.map +1 -0
- package/dist/_internal/platform/runtime/correlation.js +40 -0
- package/dist/_internal/platform/runtime/emitters/security.d.ts +32 -0
- package/dist/_internal/platform/runtime/emitters/security.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/emitters/security.js +26 -0
- package/dist/_internal/platform/runtime/emitters/tools.d.ts +11 -2
- package/dist/_internal/platform/runtime/emitters/tools.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/emitters/tools.js +27 -0
- package/dist/_internal/platform/runtime/emitters/transport.d.ts +27 -0
- package/dist/_internal/platform/runtime/emitters/transport.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/emitters/transport.js +19 -0
- package/dist/_internal/platform/runtime/emitters/turn.d.ts +22 -1
- package/dist/_internal/platform/runtime/emitters/turn.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/emitters/turn.js +9 -0
- package/dist/_internal/platform/runtime/events/index.d.ts +45 -0
- package/dist/_internal/platform/runtime/events/index.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/events/index.js +130 -22
- package/dist/_internal/platform/runtime/events/ops.d.ts +8 -0
- package/dist/_internal/platform/runtime/events/ops.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/events/security.d.ts +47 -0
- package/dist/_internal/platform/runtime/events/security.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/events/tools.d.ts +14 -2
- package/dist/_internal/platform/runtime/events/tools.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/events/transport.d.ts +31 -0
- package/dist/_internal/platform/runtime/events/transport.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/events/turn.d.ts +25 -1
- package/dist/_internal/platform/runtime/events/turn.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/events/workspace.d.ts +16 -0
- package/dist/_internal/platform/runtime/events/workspace.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/integration/helpers.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/integration/helpers.js +5 -0
- package/dist/_internal/platform/runtime/llm-observability.d.ts +43 -0
- package/dist/_internal/platform/runtime/llm-observability.d.ts.map +1 -0
- package/dist/_internal/platform/runtime/llm-observability.js +107 -0
- package/dist/_internal/platform/runtime/metrics.d.ts +49 -0
- package/dist/_internal/platform/runtime/metrics.d.ts.map +1 -0
- package/dist/_internal/platform/runtime/metrics.js +114 -0
- package/dist/_internal/platform/runtime/ops/control-plane.d.ts +5 -2
- package/dist/_internal/platform/runtime/ops/control-plane.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/ops/control-plane.js +5 -4
- package/dist/_internal/platform/runtime/perf/slo-collector.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/perf/slo-collector.js +2 -0
- package/dist/_internal/platform/runtime/permissions/divergence-dashboard.d.ts +3 -1
- package/dist/_internal/platform/runtime/permissions/divergence-dashboard.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/permissions/divergence-dashboard.js +3 -2
- package/dist/_internal/platform/runtime/permissions/policy-loader.d.ts +3 -1
- package/dist/_internal/platform/runtime/permissions/policy-loader.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/permissions/policy-loader.js +3 -2
- package/dist/_internal/platform/runtime/permissions/policy-signer.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/permissions/policy-signer.js +7 -2
- package/dist/_internal/platform/runtime/permissions/simulation.d.ts +3 -1
- package/dist/_internal/platform/runtime/permissions/simulation.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/permissions/simulation.js +3 -2
- package/dist/_internal/platform/runtime/remote/transport-contract.d.ts +14 -2
- package/dist/_internal/platform/runtime/remote/transport-contract.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/remote/transport-contract.js +7 -5
- package/dist/_internal/platform/runtime/store/helpers/reducers/sync.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/store/helpers/reducers/sync.js +12 -1
- package/dist/_internal/platform/runtime/tasks/manager.d.ts +7 -3
- package/dist/_internal/platform/runtime/tasks/manager.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/tasks/manager.js +7 -6
- package/dist/_internal/platform/runtime/telemetry/api-helpers.d.ts +14 -0
- package/dist/_internal/platform/runtime/telemetry/api-helpers.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/telemetry/api-helpers.js +59 -0
- package/dist/_internal/platform/runtime/telemetry/api.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/telemetry/api.js +19 -4
- package/dist/_internal/platform/runtime/telemetry/exporters/otlp.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/telemetry/exporters/otlp.js +19 -6
- package/dist/_internal/platform/runtime/telemetry/exporters/queue.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/telemetry/exporters/queue.js +11 -4
- package/dist/_internal/platform/runtime/telemetry/meter.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/telemetry/meter.js +7 -3
- package/dist/_internal/platform/runtime/telemetry/redaction-config.d.ts +9 -0
- package/dist/_internal/platform/runtime/telemetry/redaction-config.d.ts.map +1 -0
- package/dist/_internal/platform/runtime/telemetry/redaction-config.js +52 -0
- package/dist/_internal/platform/runtime/tools/phases/budget.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/tools/phases/budget.js +3 -2
- package/dist/_internal/platform/runtime/transports/daemon-http-client.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/transports/daemon-http-client.js +138 -17
- package/dist/_internal/platform/scheduler/scheduler.d.ts +19 -2
- package/dist/_internal/platform/scheduler/scheduler.d.ts.map +1 -1
- package/dist/_internal/platform/scheduler/scheduler.js +65 -25
- package/dist/_internal/platform/sessions/manager.d.ts.map +1 -1
- package/dist/_internal/platform/sessions/manager.js +6 -2
- package/dist/_internal/platform/state/memory-embedding-http.d.ts.map +1 -1
- package/dist/_internal/platform/state/memory-embedding-http.js +3 -2
- package/dist/_internal/platform/state/project-index.d.ts.map +1 -1
- package/dist/_internal/platform/state/project-index.js +6 -4
- package/dist/_internal/platform/tools/agent/index.d.ts.map +1 -1
- package/dist/_internal/platform/tools/agent/index.js +2 -1
- package/dist/_internal/platform/tools/analyze/git-modes.d.ts.map +1 -1
- package/dist/_internal/platform/tools/analyze/git-modes.js +2 -1
- package/dist/_internal/platform/tools/edit/core.d.ts.map +1 -1
- package/dist/_internal/platform/tools/edit/core.js +2 -1
- package/dist/_internal/platform/tools/exec/runtime.d.ts.map +1 -1
- package/dist/_internal/platform/tools/exec/runtime.js +3 -2
- package/dist/_internal/platform/tools/fetch/runtime.d.ts.map +1 -1
- package/dist/_internal/platform/tools/fetch/runtime.js +4 -2
- package/dist/_internal/platform/tools/read/index.d.ts.map +1 -1
- package/dist/_internal/platform/tools/read/index.js +2 -1
- package/dist/_internal/platform/tools/registry-tool/index.d.ts.map +1 -1
- package/dist/_internal/platform/tools/registry-tool/index.js +2 -1
- package/dist/_internal/platform/tools/state/index.d.ts.map +1 -1
- package/dist/_internal/platform/tools/state/index.js +2 -1
- package/dist/_internal/platform/tools/task/index.d.ts.map +1 -1
- package/dist/_internal/platform/tools/task/index.js +2 -1
- package/dist/_internal/platform/tools/team/index.d.ts.map +1 -1
- package/dist/_internal/platform/tools/team/index.js +2 -1
- package/dist/_internal/platform/tools/web-search/index.d.ts.map +1 -1
- package/dist/_internal/platform/tools/web-search/index.js +2 -1
- package/dist/_internal/platform/tools/worklist/index.d.ts.map +1 -1
- package/dist/_internal/platform/tools/worklist/index.js +2 -1
- package/dist/_internal/platform/types/errors.d.ts +12 -10
- package/dist/_internal/platform/types/errors.d.ts.map +1 -1
- package/dist/_internal/platform/types/errors.js +21 -20
- package/dist/_internal/platform/utils/error-display.d.ts.map +1 -1
- package/dist/_internal/platform/utils/error-display.js +6 -4
- package/dist/_internal/platform/utils/fetch-with-timeout.d.ts +17 -0
- package/dist/_internal/platform/utils/fetch-with-timeout.d.ts.map +1 -1
- package/dist/_internal/platform/utils/fetch-with-timeout.js +59 -0
- package/dist/_internal/platform/utils/record-coerce.d.ts +11 -0
- package/dist/_internal/platform/utils/record-coerce.d.ts.map +1 -0
- package/dist/_internal/platform/utils/record-coerce.js +12 -0
- package/dist/_internal/platform/utils/redaction.js +1 -1
- package/dist/_internal/platform/utils/ring-buffer.d.ts +54 -0
- package/dist/_internal/platform/utils/ring-buffer.d.ts.map +1 -0
- package/dist/_internal/platform/utils/ring-buffer.js +96 -0
- package/dist/_internal/platform/utils/shell-split.d.ts +11 -0
- package/dist/_internal/platform/utils/shell-split.d.ts.map +1 -0
- package/dist/_internal/platform/utils/shell-split.js +83 -0
- package/dist/_internal/platform/version.js +1 -1
- package/dist/_internal/platform/voice/providers/deepgram.d.ts.map +1 -1
- package/dist/_internal/platform/voice/providers/deepgram.js +2 -1
- package/dist/_internal/platform/voice/providers/elevenlabs.d.ts.map +1 -1
- package/dist/_internal/platform/voice/providers/elevenlabs.js +5 -4
- package/dist/_internal/platform/voice/providers/google.d.ts.map +1 -1
- package/dist/_internal/platform/voice/providers/google.js +5 -4
- package/dist/_internal/platform/voice/providers/microsoft.d.ts.map +1 -1
- package/dist/_internal/platform/voice/providers/microsoft.js +2 -1
- package/dist/_internal/platform/voice/providers/openai.d.ts.map +1 -1
- package/dist/_internal/platform/voice/providers/openai.js +4 -3
- package/dist/_internal/platform/voice/providers/shared.d.ts.map +1 -1
- package/dist/_internal/platform/voice/providers/shared.js +2 -1
- package/dist/_internal/platform/voice/providers/vydra.d.ts.map +1 -1
- package/dist/_internal/platform/voice/providers/vydra.js +3 -2
- package/dist/_internal/platform/watchers/registry.d.ts.map +1 -1
- package/dist/_internal/platform/watchers/registry.js +3 -2
- package/dist/_internal/platform/workflow/trigger-executor.d.ts.map +1 -1
- package/dist/_internal/platform/workflow/trigger-executor.js +5 -3
- package/dist/_internal/platform/workspace/daemon-home.d.ts.map +1 -1
- package/dist/_internal/platform/workspace/daemon-home.js +6 -2
- package/dist/_internal/platform/workspace/workspace-swap-manager.d.ts +1 -0
- package/dist/_internal/platform/workspace/workspace-swap-manager.d.ts.map +1 -1
- package/dist/_internal/platform/workspace/workspace-swap-manager.js +14 -2
- package/package.json +1 -1
|
@@ -4,6 +4,7 @@ import { join } from 'node:path';
|
|
|
4
4
|
import { EdgeTTS } from 'node-edge-tts';
|
|
5
5
|
import { CHROMIUM_FULL_VERSION, TRUSTED_CLIENT_TOKEN, generateSecMsGecToken, } from 'node-edge-tts/dist/drm.js';
|
|
6
6
|
import { buildStatus, inferExtFromOutputFormat, inferMimeFromExtension, } from './shared.js';
|
|
7
|
+
import { instrumentedFetch } from '../../utils/fetch-with-timeout.js';
|
|
7
8
|
function buildMicrosoftVoiceHeaders() {
|
|
8
9
|
const major = CHROMIUM_FULL_VERSION.split('.')[0] || '0';
|
|
9
10
|
return {
|
|
@@ -16,7 +17,7 @@ function buildMicrosoftVoiceHeaders() {
|
|
|
16
17
|
};
|
|
17
18
|
}
|
|
18
19
|
async function listMicrosoftVoices() {
|
|
19
|
-
const response = await
|
|
20
|
+
const response = await instrumentedFetch(`https://speech.platform.bing.com/consumer/speech/synthesize/readaloud/voices/list?trustedclienttoken=${TRUSTED_CLIENT_TOKEN}`, { headers: buildMicrosoftVoiceHeaders() });
|
|
20
21
|
if (!response.ok)
|
|
21
22
|
throw new Error(`Microsoft voices failed: HTTP ${response.status}`);
|
|
22
23
|
const payload = await response.json();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/voice/providers/openai.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,aAAa,EAGd,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/voice/providers/openai.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,aAAa,EAGd,MAAM,aAAa,CAAC;AAqIrB,wBAAgB,oBAAoB,IAAI,aAAa,CAuNpD"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { asFiniteNumber, asRecord, buildStatus, estimateConfidenceFromAvgLogprob, inferFilename, mimeTypeForVoiceFormat, normalizeBaseUrl, readFirstEnv, resolveAudioInput, trimToUndefined, } from './shared.js';
|
|
2
|
+
import { instrumentedFetch } from '../../utils/fetch-with-timeout.js';
|
|
2
3
|
const OPENAI_AUDIO_BASE_URL = 'https://api.openai.com/v1';
|
|
3
4
|
const OPENAI_VOICES = [
|
|
4
5
|
'alloy',
|
|
@@ -116,7 +117,7 @@ export function createOpenAIProvider() {
|
|
|
116
117
|
const baseUrl = normalizeBaseUrl(readFirstEnv(baseUrlEnvVars), OPENAI_AUDIO_BASE_URL);
|
|
117
118
|
const responseFormat = resolveOpenAISpeechFormat(request.format);
|
|
118
119
|
const metadata = asRecord(request.metadata);
|
|
119
|
-
const response = await
|
|
120
|
+
const response = await instrumentedFetch(`${baseUrl}/audio/speech`, {
|
|
120
121
|
method: 'POST',
|
|
121
122
|
headers: {
|
|
122
123
|
Authorization: `Bearer ${apiKey}`,
|
|
@@ -173,7 +174,7 @@ export function createOpenAIProvider() {
|
|
|
173
174
|
form.append('language', request.language.trim());
|
|
174
175
|
if (request.prompt?.trim())
|
|
175
176
|
form.append('prompt', request.prompt.trim());
|
|
176
|
-
const response = await
|
|
177
|
+
const response = await instrumentedFetch(`${baseUrl}/audio/transcriptions`, {
|
|
177
178
|
method: 'POST',
|
|
178
179
|
headers: {
|
|
179
180
|
Authorization: `Bearer ${apiKey}`,
|
|
@@ -216,7 +217,7 @@ export function createOpenAIProvider() {
|
|
|
216
217
|
const voice = request.voiceId?.trim() || DEFAULT_OPENAI_VOICE;
|
|
217
218
|
const inputFormat = resolveOpenAIRealtimeAudioFormat(request.inputFormat);
|
|
218
219
|
const outputFormat = resolveOpenAIRealtimeAudioFormat(request.outputFormat);
|
|
219
|
-
const response = await
|
|
220
|
+
const response = await instrumentedFetch(`${baseUrl}/realtime/client_secrets`, {
|
|
220
221
|
method: 'POST',
|
|
221
222
|
headers: {
|
|
222
223
|
Authorization: `Bearer ${apiKey}`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/voice/providers/shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,aAAa,EACb,mBAAmB,EACpB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/voice/providers/shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,aAAa,EACb,mBAAmB,EACpB,MAAM,aAAa,CAAC;AAGrB,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAElE;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAEjE;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAI5E;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAMtE;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAG3F;AAED,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAgBnD;AAED,wBAAgB,WAAW,CACzB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,aAAa,CAAC,cAAc,CAAC,EAC3C,UAAU,EAAE,OAAO,EACnB,MAAM,EAAE,MAAM,EACd,QAAQ,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACrC,mBAAmB,CAUrB;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAiB1D;AAED,wBAAgB,wBAAwB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CASrE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAKpF;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAe7D;AAED,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAInF"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { instrumentedFetch } from '../../utils/fetch-with-timeout.js';
|
|
1
2
|
export function trimToUndefined(value) {
|
|
2
3
|
return typeof value === 'string' && value.trim().length > 0 ? value.trim() : undefined;
|
|
3
4
|
}
|
|
@@ -29,7 +30,7 @@ export async function resolveAudioInput(audio) {
|
|
|
29
30
|
};
|
|
30
31
|
}
|
|
31
32
|
if (typeof audio.uri === 'string' && audio.uri.trim().length > 0) {
|
|
32
|
-
const response = await
|
|
33
|
+
const response = await instrumentedFetch(audio.uri);
|
|
33
34
|
if (!response.ok)
|
|
34
35
|
throw new Error(`Failed to load audio URI: HTTP ${response.status}`);
|
|
35
36
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vydra.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/voice/providers/vydra.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,aAAa,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"vydra.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/voice/providers/vydra.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,aAAa,EAAE,MAAM,aAAa,CAAC;AAQlE,wBAAgB,mBAAmB,IAAI,aAAa,CA2EnD"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { buildStatus, normalizeBaseUrl, readFirstEnv, } from './shared.js';
|
|
2
|
+
import { instrumentedFetch } from '../../utils/fetch-with-timeout.js';
|
|
2
3
|
export function createVydraProvider() {
|
|
3
4
|
const envVars = ['VYDRA_API_KEY'];
|
|
4
5
|
const baseUrlEnvVars = ['VYDRA_BASE_URL'];
|
|
@@ -27,7 +28,7 @@ export function createVydraProvider() {
|
|
|
27
28
|
throw new Error('Vydra API key missing');
|
|
28
29
|
const baseUrl = normalizeBaseUrl(readFirstEnv(baseUrlEnvVars), 'https://www.vydra.ai/api/v1');
|
|
29
30
|
const model = request.modelId?.trim() || 'elevenlabs/tts';
|
|
30
|
-
const response = await
|
|
31
|
+
const response = await instrumentedFetch(`${baseUrl}/models/${model}`, {
|
|
31
32
|
method: 'POST',
|
|
32
33
|
headers: {
|
|
33
34
|
Authorization: `Bearer ${apiKey}`,
|
|
@@ -55,7 +56,7 @@ export function createVydraProvider() {
|
|
|
55
56
|
const audioUrl = urls[0];
|
|
56
57
|
if (!audioUrl)
|
|
57
58
|
throw new Error('Vydra speech synthesis response missing audio URL');
|
|
58
|
-
const audioResponse = await
|
|
59
|
+
const audioResponse = await instrumentedFetch(audioUrl);
|
|
59
60
|
if (!audioResponse.ok)
|
|
60
61
|
throw new Error(`Vydra audio download failed: HTTP ${audioResponse.status}`);
|
|
61
62
|
const mimeType = audioResponse.headers.get('content-type')?.trim() || 'audio/mpeg';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/watchers/registry.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAkB,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAuB,MAAM,sCAAsC,CAAC;AAC5G,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/watchers/registry.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAkB,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAuB,MAAM,sCAAsC,CAAC;AAC5G,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAgBvE,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAC;IACxC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5C,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC;CAC7D;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAC;IACxC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC;CAC5D;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAwFD,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwC;IACjE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqD;IAC5E,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqB;IAC9C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,eAAe,CAA+B;IACtD,OAAO,CAAC,UAAU,CAAgC;IAClD,OAAO,CAAC,MAAM,CAAS;gBAEX,OAAO,GAAE,sBAA2B;IAIhD,aAAa,CAAC,MAAM,EAAE;QACpB,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;QAC5C,QAAQ,CAAC,UAAU,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;KAC9C,GAAG,IAAI;IAYR,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,aAAa;IAuC3D,sBAAsB,CAAC,KAAK,EAAE,2BAA2B,GAAG,aAAa;IAezE,IAAI,IAAI,aAAa,EAAE;IAkBvB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI;IAa5C,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI;IAuC9C,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,SAAY,GAAG,aAAa,GAAG,IAAI;IA8B3D,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAQ9D,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAoBlC,OAAO,CAAC,YAAY;IAkCpB,OAAO,CAAC,eAAe;YAYT,UAAU;IA4DxB,OAAO,CAAC,gBAAgB;IA+DxB,OAAO,CAAC,OAAO;CAShB"}
|
|
@@ -3,6 +3,7 @@ import { createDomainDispatch } from '../runtime/store/index.js';
|
|
|
3
3
|
import { summarizeError } from '../utils/error-display.js';
|
|
4
4
|
import { emitWatcherFailed, emitWatcherHeartbeat, emitWatcherStarted, emitWatcherStopped, } from '../runtime/emitters/index.js';
|
|
5
5
|
import { loadWatcherSnapshotFromPath, resolveWatcherStorePath, saveWatcherSnapshotToPath, } from './store.js';
|
|
6
|
+
import { instrumentedFetch } from '../utils/fetch-with-timeout.js';
|
|
6
7
|
function now() {
|
|
7
8
|
return Date.now();
|
|
8
9
|
}
|
|
@@ -404,7 +405,7 @@ export class WatcherRegistry {
|
|
|
404
405
|
return async () => {
|
|
405
406
|
if (!url)
|
|
406
407
|
return `${record.id}:webhook-no-url`;
|
|
407
|
-
const response = await
|
|
408
|
+
const response = await instrumentedFetch(url, {
|
|
408
409
|
method: typeof merged.method === 'string' ? merged.method.toUpperCase() : 'GET',
|
|
409
410
|
headers: typeof merged.headers === 'object' && merged.headers !== null
|
|
410
411
|
? Object.fromEntries(Object.entries(merged.headers).filter(([, value]) => typeof value === 'string'))
|
|
@@ -426,7 +427,7 @@ export class WatcherRegistry {
|
|
|
426
427
|
const url = typeof merged.url === 'string' ? merged.url : typeof merged.endpoint === 'string' ? merged.endpoint : '';
|
|
427
428
|
if (url) {
|
|
428
429
|
return async () => {
|
|
429
|
-
const response = await
|
|
430
|
+
const response = await instrumentedFetch(url, {
|
|
430
431
|
method: typeof merged.method === 'string' ? merged.method.toUpperCase() : 'GET',
|
|
431
432
|
headers: typeof merged.headers === 'object' && merged.headers !== null
|
|
432
433
|
? Object.fromEntries(Object.entries(merged.headers).filter(([, value]) => typeof value === 'string'))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trigger-executor.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/workflow/trigger-executor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"trigger-executor.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/workflow/trigger-executor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAYpE,MAAM,WAAW,kBAAkB;IACjC,IAAI,IAAI,iBAAiB,EAAE,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAChC,KAAK,EAAE,SAAS,EAChB,cAAc,EAAE,kBAAkB,GACjC,OAAO,CAAC,iBAAiB,EAAE,CAAC,CA2B9B"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { logger } from '../utils/logger.js';
|
|
2
|
+
import { shellSplit } from '../utils/shell-split.js';
|
|
2
3
|
import { matchesEventPath } from '../hooks/matcher.js';
|
|
3
4
|
import { summarizeError } from '../utils/error-display.js';
|
|
5
|
+
import { toRecord } from '../utils/record-coerce.js';
|
|
4
6
|
/**
|
|
5
7
|
* Evaluate all enabled triggers against a fired hook event.
|
|
6
8
|
* Matching triggers have their action executed via Bun.spawn.
|
|
@@ -130,7 +132,7 @@ function parseValue(token, event) {
|
|
|
130
132
|
return Number(token);
|
|
131
133
|
// Property path — only event.* and payload.*
|
|
132
134
|
if (token.startsWith('event.')) {
|
|
133
|
-
return resolvePath(event, token.slice(6));
|
|
135
|
+
return resolvePath(toRecord(event), token.slice(6));
|
|
134
136
|
}
|
|
135
137
|
if (token.startsWith('payload.')) {
|
|
136
138
|
return resolvePath((event.payload ?? {}), token.slice(8));
|
|
@@ -269,8 +271,8 @@ async function executeAction(trigger, event) {
|
|
|
269
271
|
event: trigger.event,
|
|
270
272
|
action: trigger.action,
|
|
271
273
|
};
|
|
272
|
-
// Parse the action string as a shell command
|
|
273
|
-
const parts = trigger.action
|
|
274
|
+
// Parse the action string as a shell command (POSIX shellwords tokenizer)
|
|
275
|
+
const parts = shellSplit(trigger.action);
|
|
274
276
|
if (parts.length === 0) {
|
|
275
277
|
return { ...base, executed: false, error: 'Empty action command' };
|
|
276
278
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon-home.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/workspace/daemon-home.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAOH,OAAO,KAAK,EAAE,eAAe,EAAwB,MAAM,4BAA4B,CAAC;AAOxF,MAAM,WAAW,cAAc;IAC7B,6EAA6E;IAC7E,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,iFAAiF;IACjF,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;CAChC;AAED,MAAM,WAAW,iBAAiB;IAChC,oDAAoD;IACpD,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5C,wCAAwC;IACxC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CAClC;AAED;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,UAAU,CAAC,EAAE,eAAe,CAAC;CACvC;AAMD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,GAAE,iBAAsB,GAAG,MAAM,CAiB5E;AAMD;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAEtE;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CACpC,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE,iBAAsB,EAC/B,IAAI,GAAE,uBAA4B,GACjC,cAAc,CAgChB;AAMD;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CASnF;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAQ/E;AAMD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAWxF;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"daemon-home.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/workspace/daemon-home.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAOH,OAAO,KAAK,EAAE,eAAe,EAAwB,MAAM,4BAA4B,CAAC;AAOxF,MAAM,WAAW,cAAc;IAC7B,6EAA6E;IAC7E,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,iFAAiF;IACjF,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;CAChC;AAED,MAAM,WAAW,iBAAiB;IAChC,oDAAoD;IACpD,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5C,wCAAwC;IACxC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CAClC;AAED;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,UAAU,CAAC,EAAE,eAAe,CAAC;CACvC;AAMD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,GAAE,iBAAsB,GAAG,MAAM,CAiB5E;AAMD;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAEtE;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CACpC,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE,iBAAsB,EAC/B,IAAI,GAAE,uBAA4B,GACjC,cAAc,CAgChB;AAMD;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CASnF;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAQ/E;AAMD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAWxF;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAqB1F"}
|
|
@@ -172,8 +172,12 @@ export function writeDaemonSetting(daemonHomeDir, key, value) {
|
|
|
172
172
|
try {
|
|
173
173
|
existing = JSON.parse(readFileSync(settingsPath, 'utf-8'));
|
|
174
174
|
}
|
|
175
|
-
catch {
|
|
176
|
-
// Overwrite corrupt file
|
|
175
|
+
catch (err) {
|
|
176
|
+
// OBS-11: Overwrite corrupt file; log so ops can see when this happens
|
|
177
|
+
logger.warn('[DaemonHome] daemon-settings.json parse failed — overwriting with fresh state', {
|
|
178
|
+
path: settingsPath,
|
|
179
|
+
error: String(err),
|
|
180
|
+
});
|
|
177
181
|
}
|
|
178
182
|
}
|
|
179
183
|
// SEC-12: daemon-settings.json may contain sensitive pairing state; write at 0600.
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
* WORKSPACE_SWAP_STARTED — before swap begins
|
|
17
17
|
* WORKSPACE_SWAP_REFUSED — when swap is rejected
|
|
18
18
|
* WORKSPACE_SWAP_COMPLETED — after all stores re-rooted
|
|
19
|
+
* WORKSPACE_SWAP_FAILED — when mkdir or rerootStores fails (OBS-08)
|
|
19
20
|
*/
|
|
20
21
|
import type { RuntimeEventBus } from '../runtime/events/index.js';
|
|
21
22
|
export interface WorkspaceSwapDeps {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-swap-manager.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/workspace/workspace-swap-manager.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"workspace-swap-manager.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/workspace/workspace-swap-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAMH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AASlE,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI,CAAC;IAC5C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B;;;OAGG;IACH,QAAQ,CAAC,mBAAmB,EAAE,MAAM,MAAM,CAAC;IAC3C;;;;OAIG;IACH,QAAQ,CAAC,YAAY,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACjE;AAMD,MAAM,MAAM,mBAAmB,GAC3B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAC/C;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,gBAAgB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GACzE;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,cAAc,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAMxD,qBAAa,oBAAoB;IAM7B,OAAO,CAAC,QAAQ,CAAC,IAAI;IALvB,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,cAAc,CAA6C;gBAGjE,iBAAiB,EAAE,MAAM,EACR,IAAI,EAAE,iBAAiB;IAK1C,oBAAoB,IAAI,MAAM;IAIxB,WAAW,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;YAYxD,iBAAiB;IAyE/B,OAAO,CAAC,KAAK;CAmBd"}
|
|
@@ -16,11 +16,14 @@
|
|
|
16
16
|
* WORKSPACE_SWAP_STARTED — before swap begins
|
|
17
17
|
* WORKSPACE_SWAP_REFUSED — when swap is rejected
|
|
18
18
|
* WORKSPACE_SWAP_COMPLETED — after all stores re-rooted
|
|
19
|
+
* WORKSPACE_SWAP_FAILED — when mkdir or rerootStores fails (OBS-08)
|
|
19
20
|
*/
|
|
20
21
|
import { mkdirSync, existsSync } from 'node:fs';
|
|
21
22
|
import { isAbsolute, resolve, join } from 'node:path';
|
|
22
23
|
import { writeDaemonSetting } from './daemon-home.js';
|
|
23
24
|
import { createEventEnvelope } from '../runtime/events/index.js';
|
|
25
|
+
import { logger } from '../utils/logger.js';
|
|
26
|
+
import { summarizeError } from '../utils/error-display.js';
|
|
24
27
|
// ---------------------------------------------------------------------------
|
|
25
28
|
// WorkspaceSwapManager
|
|
26
29
|
// ---------------------------------------------------------------------------
|
|
@@ -72,6 +75,8 @@ export class WorkspaceSwapManager {
|
|
|
72
75
|
}
|
|
73
76
|
catch (err) {
|
|
74
77
|
const reason = `Cannot create workspace directory at '${resolved}': ${err instanceof Error ? err.message : String(err)}`;
|
|
78
|
+
// OBS-08: emit WORKSPACE_SWAP_FAILED so subscribers that saw STARTED get terminal resolution
|
|
79
|
+
this._emit({ type: 'WORKSPACE_SWAP_FAILED', from, to, code: 'INVALID_PATH', reason });
|
|
75
80
|
return { ok: false, code: 'INVALID_PATH', reason };
|
|
76
81
|
}
|
|
77
82
|
// Re-root all stores
|
|
@@ -80,6 +85,8 @@ export class WorkspaceSwapManager {
|
|
|
80
85
|
}
|
|
81
86
|
catch (err) {
|
|
82
87
|
const reason = `Failed to re-initialize stores at '${resolved}': ${err instanceof Error ? err.message : String(err)}`;
|
|
88
|
+
// OBS-08: emit WORKSPACE_SWAP_FAILED so subscribers that saw STARTED get terminal resolution
|
|
89
|
+
this._emit({ type: 'WORKSPACE_SWAP_FAILED', from, to, code: 'REROOT_FAILED', reason });
|
|
83
90
|
return { ok: false, code: 'INVALID_PATH', reason };
|
|
84
91
|
}
|
|
85
92
|
// Update internal state
|
|
@@ -90,8 +97,13 @@ export class WorkspaceSwapManager {
|
|
|
90
97
|
writeDaemonSetting(this.deps.daemonHomeDir, 'runtime.workingDir', resolved);
|
|
91
98
|
persistedInDaemonSettings = true;
|
|
92
99
|
}
|
|
93
|
-
catch {
|
|
94
|
-
// Non-fatal — swap succeeded but persistence failed
|
|
100
|
+
catch (err) {
|
|
101
|
+
// OBS-09: Non-fatal — swap succeeded but persistence failed. Log so ops can diagnose.
|
|
102
|
+
logger.warn('[WorkspaceSwap] daemon settings persistence failed — workingDir will not survive restart', {
|
|
103
|
+
error: summarizeError(err),
|
|
104
|
+
daemonHomeDir: this.deps.daemonHomeDir,
|
|
105
|
+
resolvedPath: resolved,
|
|
106
|
+
});
|
|
95
107
|
}
|
|
96
108
|
this._emit({ type: 'WORKSPACE_SWAP_COMPLETED', from, to: resolved, persistedInDaemonSettings });
|
|
97
109
|
return { ok: true, previous: from, current: resolved };
|