@nodetool-ai/websocket 0.8.1 → 0.8.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.nodetool-build-stamp +1 -1
- package/dist/chat-turn-registry.d.ts +2 -1
- package/dist/chat-turn-registry.d.ts.map +1 -1
- package/dist/chat-turn-registry.js +8 -1
- package/dist/chat-turn-registry.js.map +1 -1
- package/dist/collection-api.d.ts.map +1 -1
- package/dist/collection-api.js +41 -6
- package/dist/collection-api.js.map +1 -1
- package/dist/custom-providers.d.ts.map +1 -1
- package/dist/custom-providers.js +6 -1
- package/dist/custom-providers.js.map +1 -1
- package/dist/error-traces.d.ts +56 -0
- package/dist/error-traces.d.ts.map +1 -0
- package/dist/error-traces.js +179 -0
- package/dist/error-traces.js.map +1 -0
- package/dist/example-workflows.d.ts.map +1 -1
- package/dist/example-workflows.js +6 -0
- package/dist/example-workflows.js.map +1 -1
- package/dist/fake-runtime.d.ts +41 -6
- package/dist/fake-runtime.d.ts.map +1 -1
- package/dist/fake-runtime.js +247 -16
- package/dist/fake-runtime.js.map +1 -1
- package/dist/file-api.d.ts.map +1 -1
- package/dist/file-api.js +6 -8
- package/dist/file-api.js.map +1 -1
- package/dist/generation-recovery.d.ts.map +1 -1
- package/dist/generation-recovery.js +32 -7
- package/dist/generation-recovery.js.map +1 -1
- package/dist/headless-job-runner.d.ts.map +1 -1
- package/dist/headless-job-runner.js +5 -1
- package/dist/headless-job-runner.js.map +1 -1
- package/dist/http-api.d.ts +3 -1
- package/dist/http-api.d.ts.map +1 -1
- package/dist/http-api.js +66 -9
- package/dist/http-api.js.map +1 -1
- package/dist/http-body-schemas.d.ts +2 -0
- package/dist/http-body-schemas.d.ts.map +1 -1
- package/dist/http-body-schemas.js +8 -1
- package/dist/http-body-schemas.js.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/interrupted-jobs.d.ts +14 -0
- package/dist/interrupted-jobs.d.ts.map +1 -0
- package/dist/interrupted-jobs.js +28 -0
- package/dist/interrupted-jobs.js.map +1 -0
- package/dist/lib/admin.d.ts +7 -0
- package/dist/lib/admin.d.ts.map +1 -0
- package/dist/lib/admin.js +20 -0
- package/dist/lib/admin.js.map +1 -0
- package/dist/lib/app-debug-service.js +1 -1
- package/dist/lib/app-debug-service.js.map +1 -1
- package/dist/lib/app-instances-service.d.ts +1319 -0
- package/dist/lib/app-instances-service.d.ts.map +1 -0
- package/dist/lib/app-instances-service.js +377 -0
- package/dist/lib/app-instances-service.js.map +1 -0
- package/dist/lib/app-project-export.d.ts +12 -0
- package/dist/lib/app-project-export.d.ts.map +1 -0
- package/dist/lib/app-project-export.js +42 -0
- package/dist/lib/app-project-export.js.map +1 -0
- package/dist/lib/app-run-cancellation.d.ts +4 -0
- package/dist/lib/app-run-cancellation.d.ts.map +1 -0
- package/dist/lib/app-run-cancellation.js +28 -0
- package/dist/lib/app-run-cancellation.js.map +1 -0
- package/dist/lib/applications-service.d.ts +182 -1
- package/dist/lib/applications-service.d.ts.map +1 -1
- package/dist/lib/applications-service.js +27 -6
- package/dist/lib/applications-service.js.map +1 -1
- package/dist/lib/asset-export.d.ts +6 -2
- package/dist/lib/asset-export.d.ts.map +1 -1
- package/dist/lib/asset-export.js +15 -7
- package/dist/lib/asset-export.js.map +1 -1
- package/dist/lib/asset-paths.d.ts +7 -11
- package/dist/lib/asset-paths.d.ts.map +1 -1
- package/dist/lib/asset-paths.js +8 -56
- package/dist/lib/asset-paths.js.map +1 -1
- package/dist/lib/asset-response.d.ts.map +1 -1
- package/dist/lib/asset-response.js +3 -1
- package/dist/lib/asset-response.js.map +1 -1
- package/dist/lib/audio-peaks.d.ts.map +1 -1
- package/dist/lib/audio-peaks.js +5 -1
- package/dist/lib/audio-peaks.js.map +1 -1
- package/dist/lib/bridge.d.ts.map +1 -1
- package/dist/lib/bridge.js.map +1 -1
- package/dist/lib/cloud-profile.d.ts +10 -0
- package/dist/lib/cloud-profile.d.ts.map +1 -0
- package/dist/lib/cloud-profile.js +13 -0
- package/dist/lib/cloud-profile.js.map +1 -0
- package/dist/lib/document-model-interfaces.d.ts.map +1 -1
- package/dist/lib/document-model-interfaces.js +9 -8
- package/dist/lib/document-model-interfaces.js.map +1 -1
- package/dist/lib/example-apps.d.ts +9 -0
- package/dist/lib/example-apps.d.ts.map +1 -1
- package/dist/lib/example-apps.js +61 -14
- package/dist/lib/example-apps.js.map +1 -1
- package/dist/lib/http-tracing.d.ts +12 -0
- package/dist/lib/http-tracing.d.ts.map +1 -0
- package/dist/lib/http-tracing.js +81 -0
- package/dist/lib/http-tracing.js.map +1 -0
- package/dist/lib/http-user-id.d.ts +2 -0
- package/dist/lib/http-user-id.d.ts.map +1 -0
- package/dist/lib/http-user-id.js +4 -0
- package/dist/lib/http-user-id.js.map +1 -0
- package/dist/lib/json-body.d.ts +11 -0
- package/dist/lib/json-body.d.ts.map +1 -0
- package/dist/lib/json-body.js +13 -0
- package/dist/lib/json-body.js.map +1 -0
- package/dist/lib/media.d.ts +1 -6
- package/dist/lib/media.d.ts.map +1 -1
- package/dist/lib/media.js +8 -44
- package/dist/lib/media.js.map +1 -1
- package/dist/lib/public-routes.d.ts +22 -0
- package/dist/lib/public-routes.d.ts.map +1 -1
- package/dist/lib/public-routes.js +41 -0
- package/dist/lib/public-routes.js.map +1 -1
- package/dist/lib/public-workflow-share.d.ts +31 -0
- package/dist/lib/public-workflow-share.d.ts.map +1 -0
- package/dist/lib/public-workflow-share.js +88 -0
- package/dist/lib/public-workflow-share.js.map +1 -0
- package/dist/lib/python-metadata-roots.d.ts +27 -0
- package/dist/lib/python-metadata-roots.d.ts.map +1 -0
- package/dist/lib/python-metadata-roots.js +92 -0
- package/dist/lib/python-metadata-roots.js.map +1 -0
- package/dist/lib/run-trace-live-delivery.d.ts +25 -0
- package/dist/lib/run-trace-live-delivery.d.ts.map +1 -0
- package/dist/lib/run-trace-live-delivery.js +91 -0
- package/dist/lib/run-trace-live-delivery.js.map +1 -0
- package/dist/lib/runtime-detection.d.ts +1 -1
- package/dist/lib/runtime-detection.d.ts.map +1 -1
- package/dist/lib/runtime-detection.js +2 -1
- package/dist/lib/runtime-detection.js.map +1 -1
- package/dist/lib/server-auth-token.d.ts +18 -0
- package/dist/lib/server-auth-token.d.ts.map +1 -0
- package/dist/lib/server-auth-token.js +28 -0
- package/dist/lib/server-auth-token.js.map +1 -0
- package/dist/lib/test-ui-run-routes.d.ts +8 -0
- package/dist/lib/test-ui-run-routes.d.ts.map +1 -0
- package/dist/lib/test-ui-run-routes.js +42 -0
- package/dist/lib/test-ui-run-routes.js.map +1 -0
- package/dist/lib/thumbnail.d.ts.map +1 -1
- package/dist/lib/thumbnail.js +12 -9
- package/dist/lib/thumbnail.js.map +1 -1
- package/dist/lib/timeline-bundle.d.ts +159 -16
- package/dist/lib/timeline-bundle.d.ts.map +1 -1
- package/dist/lib/timeline-bundle.js +34 -6
- package/dist/lib/timeline-bundle.js.map +1 -1
- package/dist/lib/timeline-media-export.d.ts +18 -0
- package/dist/lib/timeline-media-export.d.ts.map +1 -0
- package/dist/lib/timeline-media-export.js +66 -0
- package/dist/lib/timeline-media-export.js.map +1 -0
- package/dist/lib/timeline-premiere-import.d.ts +24 -0
- package/dist/lib/timeline-premiere-import.d.ts.map +1 -0
- package/dist/lib/timeline-premiere-import.js +102 -0
- package/dist/lib/timeline-premiere-import.js.map +1 -0
- package/dist/lib/timeline-premiere.d.ts +38 -0
- package/dist/lib/timeline-premiere.d.ts.map +1 -0
- package/dist/lib/timeline-premiere.js +87 -0
- package/dist/lib/timeline-premiere.js.map +1 -0
- package/dist/lib/video-proxy.d.ts.map +1 -1
- package/dist/lib/video-proxy.js +3 -2
- package/dist/lib/video-proxy.js.map +1 -1
- package/dist/lib/workflow-service.d.ts.map +1 -1
- package/dist/lib/workflow-service.js +4 -1
- package/dist/lib/workflow-service.js.map +1 -1
- package/dist/mcp-agent-tools.d.ts.map +1 -1
- package/dist/mcp-agent-tools.js +95 -162
- package/dist/mcp-agent-tools.js.map +1 -1
- package/dist/mcp-client-config.d.ts +64 -0
- package/dist/mcp-client-config.d.ts.map +1 -0
- package/dist/mcp-client-config.js +353 -0
- package/dist/mcp-client-config.js.map +1 -0
- package/dist/mcp-server.d.ts +7 -0
- package/dist/mcp-server.d.ts.map +1 -1
- package/dist/mcp-server.js +163 -16
- package/dist/mcp-server.js.map +1 -1
- package/dist/mcp-skill-prompts.d.ts +23 -0
- package/dist/mcp-skill-prompts.d.ts.map +1 -0
- package/dist/mcp-skill-prompts.js +91 -0
- package/dist/mcp-skill-prompts.js.map +1 -0
- package/dist/mcp-tool-deps.d.ts.map +1 -1
- package/dist/mcp-tool-deps.js +8 -1
- package/dist/mcp-tool-deps.js.map +1 -1
- package/dist/models-api.d.ts +10 -0
- package/dist/models-api.d.ts.map +1 -1
- package/dist/models-api.js +29 -2
- package/dist/models-api.js.map +1 -1
- package/dist/node-registry-setup.d.ts +1 -1
- package/dist/node-registry-setup.d.ts.map +1 -1
- package/dist/node-registry-setup.js +21 -114
- package/dist/node-registry-setup.js.map +1 -1
- package/dist/oauth-api.d.ts.map +1 -1
- package/dist/oauth-api.js +45 -23
- package/dist/oauth-api.js.map +1 -1
- package/dist/openai-api.d.ts.map +1 -1
- package/dist/openai-api.js +10 -2
- package/dist/openai-api.js.map +1 -1
- package/dist/plugins/websocket.d.ts.map +1 -1
- package/dist/plugins/websocket.js +27 -59
- package/dist/plugins/websocket.js.map +1 -1
- package/dist/python-bridge-gate.d.ts +28 -0
- package/dist/python-bridge-gate.d.ts.map +1 -0
- package/dist/python-bridge-gate.js +36 -0
- package/dist/python-bridge-gate.js.map +1 -0
- package/dist/routes/app-runs.d.ts +4 -0
- package/dist/routes/app-runs.d.ts.map +1 -0
- package/dist/routes/app-runs.js +173 -0
- package/dist/routes/app-runs.js.map +1 -0
- package/dist/routes/applications.d.ts +1 -0
- package/dist/routes/applications.d.ts.map +1 -1
- package/dist/routes/applications.js +24 -0
- package/dist/routes/applications.js.map +1 -1
- package/dist/routes/assets.d.ts.map +1 -1
- package/dist/routes/assets.js +31 -41
- package/dist/routes/assets.js.map +1 -1
- package/dist/routes/config.d.ts.map +1 -1
- package/dist/routes/config.js +6 -0
- package/dist/routes/config.js.map +1 -1
- package/dist/routes/documents.d.ts.map +1 -1
- package/dist/routes/documents.js +24 -0
- package/dist/routes/documents.js.map +1 -1
- package/dist/routes/fal-pricing-estimate.d.ts.map +1 -1
- package/dist/routes/fal-pricing-estimate.js +2 -0
- package/dist/routes/fal-pricing-estimate.js.map +1 -1
- package/dist/routes/files.d.ts.map +1 -1
- package/dist/routes/files.js +2 -0
- package/dist/routes/files.js.map +1 -1
- package/dist/routes/games.d.ts +38 -0
- package/dist/routes/games.d.ts.map +1 -0
- package/dist/routes/games.js +158 -0
- package/dist/routes/games.js.map +1 -0
- package/dist/routes/integrations.d.ts.map +1 -1
- package/dist/routes/integrations.js +22 -26
- package/dist/routes/integrations.js.map +1 -1
- package/dist/routes/js-scripts.d.ts +10 -4
- package/dist/routes/js-scripts.d.ts.map +1 -1
- package/dist/routes/js-scripts.js +451 -69
- package/dist/routes/js-scripts.js.map +1 -1
- package/dist/routes/nodes.d.ts.map +1 -1
- package/dist/routes/nodes.js +34 -1
- package/dist/routes/nodes.js.map +1 -1
- package/dist/routes/public-shared-workflows.d.ts +16 -0
- package/dist/routes/public-shared-workflows.d.ts.map +1 -0
- package/dist/routes/public-shared-workflows.js +55 -0
- package/dist/routes/public-shared-workflows.js.map +1 -0
- package/dist/routes/run-spans.d.ts +4 -0
- package/dist/routes/run-spans.d.ts.map +1 -0
- package/dist/routes/run-spans.js +53 -0
- package/dist/routes/run-spans.js.map +1 -0
- package/dist/routes/storage.d.ts.map +1 -1
- package/dist/routes/storage.js +2 -0
- package/dist/routes/storage.js.map +1 -1
- package/dist/routes/storyboards.d.ts.map +1 -1
- package/dist/routes/storyboards.js +6 -3
- package/dist/routes/storyboards.js.map +1 -1
- package/dist/routes/timeline-fonts.d.ts +22 -0
- package/dist/routes/timeline-fonts.d.ts.map +1 -1
- package/dist/routes/timeline-fonts.js +138 -7
- package/dist/routes/timeline-fonts.js.map +1 -1
- package/dist/routes/timelines.d.ts +8 -4
- package/dist/routes/timelines.d.ts.map +1 -1
- package/dist/routes/timelines.js +209 -16
- package/dist/routes/timelines.js.map +1 -1
- package/dist/screenshot-docs-seed.d.ts +24 -0
- package/dist/screenshot-docs-seed.d.ts.map +1 -0
- package/dist/screenshot-docs-seed.js +414 -0
- package/dist/screenshot-docs-seed.js.map +1 -0
- package/dist/screenshot-projects.d.ts.map +1 -1
- package/dist/screenshot-projects.js +9 -9
- package/dist/screenshot-projects.js.map +1 -1
- package/dist/screenshot-server.js +114 -20
- package/dist/screenshot-server.js.map +1 -1
- package/dist/sdk/sdk-model-download-service.d.ts.map +1 -1
- package/dist/sdk/sdk-model-download-service.js +5 -2
- package/dist/sdk/sdk-model-download-service.js.map +1 -1
- package/dist/server.js +173 -109
- package/dist/server.js.map +1 -1
- package/dist/session/app-run-fold.d.ts +7 -0
- package/dist/session/app-run-fold.d.ts.map +1 -0
- package/dist/session/app-run-fold.js +45 -0
- package/dist/session/app-run-fold.js.map +1 -0
- package/dist/session/chat-prompt.d.ts.map +1 -1
- package/dist/session/chat-prompt.js +37 -15
- package/dist/session/chat-prompt.js.map +1 -1
- package/dist/session/chat-turn.d.ts +11 -0
- package/dist/session/chat-turn.d.ts.map +1 -1
- package/dist/session/chat-turn.js +270 -116
- package/dist/session/chat-turn.js.map +1 -1
- package/dist/session/commands.d.ts +14 -0
- package/dist/session/commands.d.ts.map +1 -1
- package/dist/session/commands.js +119 -14
- package/dist/session/commands.js.map +1 -1
- package/dist/session/inference.d.ts +30 -2
- package/dist/session/inference.d.ts.map +1 -1
- package/dist/session/inference.js +165 -16
- package/dist/session/inference.js.map +1 -1
- package/dist/session/job-execution.d.ts +7 -1
- package/dist/session/job-execution.d.ts.map +1 -1
- package/dist/session/job-execution.js +329 -42
- package/dist/session/job-execution.js.map +1 -1
- package/dist/session/model-interfaces.d.ts +2 -1
- package/dist/session/model-interfaces.d.ts.map +1 -1
- package/dist/session/model-interfaces.js +1 -0
- package/dist/session/model-interfaces.js.map +1 -1
- package/dist/storage-api.d.ts +0 -4
- package/dist/storage-api.d.ts.map +1 -1
- package/dist/storage-api.js +3 -26
- package/dist/storage-api.js.map +1 -1
- package/dist/storage-retention.d.ts +5 -0
- package/dist/storage-retention.d.ts.map +1 -1
- package/dist/storage-retention.js +22 -1
- package/dist/storage-retention.js.map +1 -1
- package/dist/test-ui-server.d.ts +11 -0
- package/dist/test-ui-server.d.ts.map +1 -1
- package/dist/test-ui-server.js +84 -6
- package/dist/test-ui-server.js.map +1 -1
- package/dist/timeline-generation-recovery.d.ts +4 -0
- package/dist/timeline-generation-recovery.d.ts.map +1 -0
- package/dist/timeline-generation-recovery.js +72 -0
- package/dist/timeline-generation-recovery.js.map +1 -0
- package/dist/triggers/dispatcher.d.ts.map +1 -1
- package/dist/triggers/dispatcher.js +26 -6
- package/dist/triggers/dispatcher.js.map +1 -1
- package/dist/triggers/file-watch.d.ts.map +1 -1
- package/dist/triggers/file-watch.js +35 -19
- package/dist/triggers/file-watch.js.map +1 -1
- package/dist/triggers/scheduler.d.ts.map +1 -1
- package/dist/triggers/scheduler.js +7 -5
- package/dist/triggers/scheduler.js.map +1 -1
- package/dist/triggers/stores.js +8 -8
- package/dist/triggers/stores.js.map +1 -1
- package/dist/triggers/webhook-route.js +2 -2
- package/dist/triggers/webhook-route.js.map +1 -1
- package/dist/trpc/error-formatter.d.ts.map +1 -1
- package/dist/trpc/error-formatter.js +2 -1
- package/dist/trpc/error-formatter.js.map +1 -1
- package/dist/trpc/error-logging.d.ts +10 -0
- package/dist/trpc/error-logging.d.ts.map +1 -1
- package/dist/trpc/error-logging.js +21 -0
- package/dist/trpc/error-logging.js.map +1 -1
- package/dist/trpc/router.d.ts +100 -31028
- package/dist/trpc/router.d.ts.map +1 -1
- package/dist/trpc/router.js +12 -3
- package/dist/trpc/router.js.map +1 -1
- package/dist/trpc/routers/app-instances.d.ts +2332 -0
- package/dist/trpc/routers/app-instances.d.ts.map +1 -0
- package/dist/trpc/routers/app-instances.js +52 -0
- package/dist/trpc/routers/app-instances.js.map +1 -0
- package/dist/trpc/routers/app-runs.d.ts +1120 -0
- package/dist/trpc/routers/app-runs.d.ts.map +1 -0
- package/dist/trpc/routers/app-runs.js +28 -0
- package/dist/trpc/routers/app-runs.js.map +1 -0
- package/dist/trpc/routers/applications.d.ts +1102 -0
- package/dist/trpc/routers/applications.d.ts.map +1 -1
- package/dist/trpc/routers/applications.js +5 -2
- package/dist/trpc/routers/applications.js.map +1 -1
- package/dist/trpc/routers/assets.d.ts +18 -0
- package/dist/trpc/routers/assets.d.ts.map +1 -1
- package/dist/trpc/routers/assets.js +20 -5
- package/dist/trpc/routers/assets.js.map +1 -1
- package/dist/trpc/routers/bug-reports.d.ts +33 -0
- package/dist/trpc/routers/bug-reports.d.ts.map +1 -0
- package/dist/trpc/routers/bug-reports.js +69 -0
- package/dist/trpc/routers/bug-reports.js.map +1 -0
- package/dist/trpc/routers/collections.d.ts.map +1 -1
- package/dist/trpc/routers/collections.js +16 -10
- package/dist/trpc/routers/collections.js.map +1 -1
- package/dist/trpc/routers/credits.d.ts.map +1 -1
- package/dist/trpc/routers/credits.js +11 -1
- package/dist/trpc/routers/credits.js.map +1 -1
- package/dist/trpc/routers/documents.d.ts.map +1 -1
- package/dist/trpc/routers/documents.js +8 -2
- package/dist/trpc/routers/documents.js.map +1 -1
- package/dist/trpc/routers/error-traces.d.ts +132 -0
- package/dist/trpc/routers/error-traces.d.ts.map +1 -0
- package/dist/trpc/routers/error-traces.js +118 -0
- package/dist/trpc/routers/error-traces.js.map +1 -0
- package/dist/trpc/routers/extension.d.ts +3 -3
- package/dist/trpc/routers/extension.d.ts.map +1 -1
- package/dist/trpc/routers/extension.js +13 -9
- package/dist/trpc/routers/extension.js.map +1 -1
- package/dist/trpc/routers/gameDraftHistory.d.ts +7 -0
- package/dist/trpc/routers/gameDraftHistory.d.ts.map +1 -0
- package/dist/trpc/routers/gameDraftHistory.js +40 -0
- package/dist/trpc/routers/gameDraftHistory.js.map +1 -0
- package/dist/trpc/routers/games.d.ts +59974 -5414
- package/dist/trpc/routers/games.d.ts.map +1 -1
- package/dist/trpc/routers/games.js +531 -136
- package/dist/trpc/routers/games.js.map +1 -1
- package/dist/trpc/routers/jobs.d.ts +42 -0
- package/dist/trpc/routers/jobs.d.ts.map +1 -1
- package/dist/trpc/routers/jobs.js +89 -4
- package/dist/trpc/routers/jobs.js.map +1 -1
- package/dist/trpc/routers/js-scripts.d.ts.map +1 -1
- package/dist/trpc/routers/js-scripts.js +18 -2
- package/dist/trpc/routers/js-scripts.js.map +1 -1
- package/dist/trpc/routers/mcp-config.d.ts +3 -1
- package/dist/trpc/routers/mcp-config.d.ts.map +1 -1
- package/dist/trpc/routers/mcp-config.js +46 -208
- package/dist/trpc/routers/mcp-config.js.map +1 -1
- package/dist/trpc/routers/messages.d.ts +10 -0
- package/dist/trpc/routers/messages.d.ts.map +1 -1
- package/dist/trpc/routers/messages.js +16 -2
- package/dist/trpc/routers/messages.js.map +1 -1
- package/dist/trpc/routers/models.d.ts +130 -0
- package/dist/trpc/routers/models.d.ts.map +1 -1
- package/dist/trpc/routers/models.js +119 -61
- package/dist/trpc/routers/models.js.map +1 -1
- package/dist/trpc/routers/packs.d.ts.map +1 -1
- package/dist/trpc/routers/packs.js +18 -4
- package/dist/trpc/routers/packs.js.map +1 -1
- package/dist/trpc/routers/projects.d.ts +66 -2
- package/dist/trpc/routers/projects.d.ts.map +1 -1
- package/dist/trpc/routers/projects.js +19 -2
- package/dist/trpc/routers/projects.js.map +1 -1
- package/dist/trpc/routers/runs.d.ts +472 -0
- package/dist/trpc/routers/runs.d.ts.map +1 -0
- package/dist/trpc/routers/runs.js +40 -0
- package/dist/trpc/routers/runs.js.map +1 -0
- package/dist/trpc/routers/settings.d.ts +3 -0
- package/dist/trpc/routers/settings.d.ts.map +1 -1
- package/dist/trpc/routers/settings.js +32 -5
- package/dist/trpc/routers/settings.js.map +1 -1
- package/dist/trpc/routers/sketch.d.ts +44 -0
- package/dist/trpc/routers/sketch.d.ts.map +1 -1
- package/dist/trpc/routers/sketch.js +2 -2
- package/dist/trpc/routers/sketch.js.map +1 -1
- package/dist/trpc/routers/storyboards.d.ts +903 -1
- package/dist/trpc/routers/storyboards.d.ts.map +1 -1
- package/dist/trpc/routers/storyboards.js +8 -5
- package/dist/trpc/routers/storyboards.js.map +1 -1
- package/dist/trpc/routers/threads.d.ts.map +1 -1
- package/dist/trpc/routers/threads.js +8 -2
- package/dist/trpc/routers/threads.js.map +1 -1
- package/dist/trpc/routers/timeline.d.ts +647 -63
- package/dist/trpc/routers/timeline.d.ts.map +1 -1
- package/dist/trpc/routers/timeline.js +193 -4
- package/dist/trpc/routers/timeline.js.map +1 -1
- package/dist/trpc/routers/triggers.d.ts.map +1 -1
- package/dist/trpc/routers/triggers.js +18 -3
- package/dist/trpc/routers/triggers.js.map +1 -1
- package/dist/trpc/routers/users.d.ts +3 -2
- package/dist/trpc/routers/users.d.ts.map +1 -1
- package/dist/trpc/routers/users.js +25 -27
- package/dist/trpc/routers/users.js.map +1 -1
- package/dist/trpc/routers/worker.d.ts +10 -9
- package/dist/trpc/routers/worker.d.ts.map +1 -1
- package/dist/trpc/routers/worker.js +40 -16
- package/dist/trpc/routers/worker.js.map +1 -1
- package/dist/trpc/routers/workflows.d.ts +202 -3
- package/dist/trpc/routers/workflows.d.ts.map +1 -1
- package/dist/trpc/routers/workflows.js +72 -12
- package/dist/trpc/routers/workflows.js.map +1 -1
- package/dist/trpc/sandbox-coverage.d.ts.map +1 -1
- package/dist/trpc/sandbox-coverage.js +119 -0
- package/dist/trpc/sandbox-coverage.js.map +1 -1
- package/dist/websocket-client-session.d.ts +4 -2
- package/dist/websocket-client-session.d.ts.map +1 -1
- package/dist/websocket-client-session.js +23 -3
- package/dist/websocket-client-session.js.map +1 -1
- package/dist/worker-settings-env.d.ts +23 -0
- package/dist/worker-settings-env.d.ts.map +1 -0
- package/dist/worker-settings-env.js +47 -0
- package/dist/worker-settings-env.js.map +1 -0
- package/dist/workflow-interface-service.d.ts +7 -0
- package/dist/workflow-interface-service.d.ts.map +1 -1
- package/package.json +58 -41
- package/dist/extension-cdp-bridge.d.ts +0 -85
- package/dist/extension-cdp-bridge.d.ts.map +0 -1
- package/dist/extension-cdp-bridge.js +0 -163
- package/dist/extension-cdp-bridge.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-detection.js","sourceRoot":"","sources":["../../src/lib/runtime-detection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,SAAS,IAAI,WAAW,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACnE,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B;;;GAGG;AACH,MAAM,gBAAgB,GAA2B;IAC/C,MAAM,EAAE,MAAM;IACd,SAAS,EAAE,WAAW;IACtB,QAAQ,EAAE,UAAU;CACrB,CAAC;AAEF,sEAAsE;AACtE,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,WAAW;IACX,UAAU;IACV,QAAQ;
|
|
1
|
+
{"version":3,"file":"runtime-detection.js","sourceRoot":"","sources":["../../src/lib/runtime-detection.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The static bearer token a `nodetool deploy` container is started with.
|
|
3
|
+
*
|
|
4
|
+
* The deploy tooling generates `SERVER_AUTH_TOKEN`, passes it to the container,
|
|
5
|
+
* and sends it as `Authorization: Bearer <token>` from the CLI. In Local mode
|
|
6
|
+
* the server accepts it as user "1", which is the user every other Local-mode
|
|
7
|
+
* credential maps to. Supabase mode ignores it: a shared secret must never
|
|
8
|
+
* stand in for a real login there.
|
|
9
|
+
*/
|
|
10
|
+
/** The configured token, or null when unset or blank. */
|
|
11
|
+
export declare function resolveServerAuthToken(envValue: string | undefined): string | null;
|
|
12
|
+
/**
|
|
13
|
+
* Constant-time comparison of a presented bearer token with the configured
|
|
14
|
+
* one. A length mismatch returns early, which reveals only the length of a
|
|
15
|
+
* token that `nodetool deploy` generates at a fixed length.
|
|
16
|
+
*/
|
|
17
|
+
export declare function matchesServerAuthToken(presented: string | null | undefined, configured: string | null): boolean;
|
|
18
|
+
//# sourceMappingURL=server-auth-token.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server-auth-token.d.ts","sourceRoot":"","sources":["../../src/lib/server-auth-token.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,yDAAyD;AACzD,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC3B,MAAM,GAAG,IAAI,CAGf;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACpC,UAAU,EAAE,MAAM,GAAG,IAAI,GACxB,OAAO,CAKT"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The static bearer token a `nodetool deploy` container is started with.
|
|
3
|
+
*
|
|
4
|
+
* The deploy tooling generates `SERVER_AUTH_TOKEN`, passes it to the container,
|
|
5
|
+
* and sends it as `Authorization: Bearer <token>` from the CLI. In Local mode
|
|
6
|
+
* the server accepts it as user "1", which is the user every other Local-mode
|
|
7
|
+
* credential maps to. Supabase mode ignores it: a shared secret must never
|
|
8
|
+
* stand in for a real login there.
|
|
9
|
+
*/
|
|
10
|
+
import { timingSafeEqual } from "node:crypto";
|
|
11
|
+
/** The configured token, or null when unset or blank. */
|
|
12
|
+
export function resolveServerAuthToken(envValue) {
|
|
13
|
+
const token = envValue?.trim();
|
|
14
|
+
return token ? token : null;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Constant-time comparison of a presented bearer token with the configured
|
|
18
|
+
* one. A length mismatch returns early, which reveals only the length of a
|
|
19
|
+
* token that `nodetool deploy` generates at a fixed length.
|
|
20
|
+
*/
|
|
21
|
+
export function matchesServerAuthToken(presented, configured) {
|
|
22
|
+
if (!configured || !presented)
|
|
23
|
+
return false;
|
|
24
|
+
const a = Buffer.from(presented, "utf8");
|
|
25
|
+
const b = Buffer.from(configured, "utf8");
|
|
26
|
+
return a.length === b.length && timingSafeEqual(a, b);
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=server-auth-token.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server-auth-token.js","sourceRoot":"","sources":["../../src/lib/server-auth-token.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,yDAAyD;AACzD,MAAM,UAAU,sBAAsB,CACpC,QAA4B;IAE5B,MAAM,KAAK,GAAG,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC/B,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CACpC,SAAoC,EACpC,UAAyB;IAEzB,IAAI,CAAC,UAAU,IAAI,CAAC,SAAS;QAAE,OAAO,KAAK,CAAC;IAC5C,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACzC,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAC1C,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,IAAI,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACxD,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { IncomingMessage, ServerResponse } from "node:http";
|
|
2
|
+
/** The local UI harness uses the production owner routes with its existing single-user fixture. */
|
|
3
|
+
export declare function createTestUiRunRoutes(): {
|
|
4
|
+
matches(pathname: string): boolean;
|
|
5
|
+
handle(request: IncomingMessage, response: ServerResponse): Promise<void>;
|
|
6
|
+
close(): Promise<void>;
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=test-ui-run-routes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-ui-run-routes.d.ts","sourceRoot":"","sources":["../../src/lib/test-ui-run-routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAQjE,mGAAmG;AACnG,wBAAgB,qBAAqB;IAUjC,OAAO,WAAW,MAAM,GAAG,OAAO;IAI5B,MAAM,UAAU,eAAe,YAAY,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAYzE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;EAE/B"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import Fastify from "fastify";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
import appRunsRoutes from "../routes/app-runs.js";
|
|
4
|
+
import runSpansRoutes from "../routes/run-spans.js";
|
|
5
|
+
const methodSchema = z.enum(["GET", "POST", "PUT", "PATCH", "DELETE", "HEAD", "OPTIONS"]);
|
|
6
|
+
/** The local UI harness uses the production owner routes with its existing single-user fixture. */
|
|
7
|
+
export function createTestUiRunRoutes() {
|
|
8
|
+
const app = Fastify();
|
|
9
|
+
app.addHook("onRequest", async (request) => {
|
|
10
|
+
request.userId = "1";
|
|
11
|
+
if (request.headers.authorization?.startsWith("Bearer nda_")) {
|
|
12
|
+
request.appSession = { applicationId: "visitor-session", version: 0 };
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
const ready = app.register(appRunsRoutes).register(runSpansRoutes).ready();
|
|
16
|
+
return {
|
|
17
|
+
matches(pathname) {
|
|
18
|
+
return pathname === "/api/app-instances" || pathname.startsWith("/api/app-instances/") ||
|
|
19
|
+
pathname.startsWith("/api/app-runs/") || /^\/api\/runs\/[^/]+\/(?:spans|browser-start)$/.test(pathname);
|
|
20
|
+
},
|
|
21
|
+
async handle(request, response) {
|
|
22
|
+
await ready;
|
|
23
|
+
const method = methodSchema.safeParse(request.method);
|
|
24
|
+
if (!method.success) {
|
|
25
|
+
response.statusCode = 405;
|
|
26
|
+
response.end();
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
const result = await app.inject({ method: method.data, url: request.url ?? "/", headers: request.headers,
|
|
30
|
+
payload: method.data !== "GET" && method.data !== "HEAD" ? request : undefined });
|
|
31
|
+
response.statusCode = result.statusCode;
|
|
32
|
+
for (const [name, value] of Object.entries(result.headers)) {
|
|
33
|
+
if (value !== undefined) {
|
|
34
|
+
response.setHeader(name, value);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
response.end(result.rawPayload);
|
|
38
|
+
},
|
|
39
|
+
async close() { await app.close(); }
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=test-ui-run-routes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-ui-run-routes.js","sourceRoot":"","sources":["../../src/lib/test-ui-run-routes.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,aAAa,MAAM,uBAAuB,CAAC;AAClD,OAAO,cAAc,MAAM,wBAAwB,CAAC;AAEpD,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;AAE1F,mGAAmG;AACnG,MAAM,UAAU,qBAAqB;IACnC,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;IACtB,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QACzC,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC;QACrB,IAAI,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YAC7D,OAAO,CAAC,UAAU,GAAG,EAAE,aAAa,EAAE,iBAAiB,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QACxE,CAAC;IACH,CAAC,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,KAAK,EAAE,CAAC;IAC3E,OAAO;QACL,OAAO,CAAC,QAAgB;YACtB,OAAO,QAAQ,KAAK,oBAAoB,IAAI,QAAQ,CAAC,UAAU,CAAC,qBAAqB,CAAC;gBACpF,QAAQ,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,+CAA+C,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5G,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,OAAwB,EAAE,QAAwB;YAC7D,MAAM,KAAK,CAAC;YACZ,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACtD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAAC,QAAQ,CAAC,UAAU,GAAG,GAAG,CAAC;gBAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;gBAAC,OAAO;YAAC,CAAC;YAC3E,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO;gBACtG,OAAO,EAAE,MAAM,CAAC,IAAI,KAAK,KAAK,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;YACpF,QAAQ,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;YACxC,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAAC,CAAC;YAC/D,CAAC;YACD,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAClC,CAAC;QACD,KAAK,CAAC,KAAK,KAAoB,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;KACpD,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thumbnail.d.ts","sourceRoot":"","sources":["../../src/lib/thumbnail.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;
|
|
1
|
+
{"version":3,"file":"thumbnail.d.ts","sourceRoot":"","sources":["../../src/lib/thumbnail.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AA2BH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,8EAA8E;AAC9E,MAAM,MAAM,eAAe,GAAG;IAAE,KAAK,EAAE,UAAU,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAcvE;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,UAAU,GAAG,MAAM,GACzB,OAAO,CAAC,MAAM,CAAC,CAUjB;AAwHD;;;GAGG;AACH,eAAO,MAAM,0BAA0B,QAAoB,CAAC;AAI5D;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAQpE;AAyED;;;;;;;GAOG;AACH,wBAAsB,+BAA+B,CACnD,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAOf;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,UAAU,EACjB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CASf;AAED;;;;GAIG;AACH,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAkBf"}
|
package/dist/lib/thumbnail.js
CHANGED
|
@@ -29,6 +29,7 @@ import { createLogger } from "@nodetool-ai/config";
|
|
|
29
29
|
import { assetKeyCandidates, assetObjectKey, FileStorageAdapter } from "@nodetool-ai/storage";
|
|
30
30
|
import { getAssetAdapter } from "./storage.js";
|
|
31
31
|
import { assetFileNameCandidates, localAssetPath } from "./asset-paths.js";
|
|
32
|
+
import { withTaskSpan } from "@nodetool-ai/runtime/tracing";
|
|
32
33
|
const log = createLogger("nodetool.thumbnail");
|
|
33
34
|
const execFileAsync = promisify(execFile);
|
|
34
35
|
const THUMB_MAX_DIM = 512;
|
|
@@ -60,13 +61,15 @@ function resizeAndEncode(pipeline) {
|
|
|
60
61
|
* (e.g. a fully uniform image trimmed to nothing) falls back to a single
|
|
61
62
|
* untrimmed pass.
|
|
62
63
|
*/
|
|
63
|
-
export
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
64
|
+
export function generateImageThumb(input) {
|
|
65
|
+
return withTaskSpan("cpu", "image.thumbnail", {}, async () => {
|
|
66
|
+
try {
|
|
67
|
+
return await resizeAndEncode(sharp(input).rotate().trim({ threshold: 10 }));
|
|
68
|
+
}
|
|
69
|
+
catch {
|
|
70
|
+
return await resizeAndEncode(sharp(input).rotate());
|
|
71
|
+
}
|
|
72
|
+
});
|
|
70
73
|
}
|
|
71
74
|
/**
|
|
72
75
|
* Run ffmpeg on the source. A file is read in place; bytes are written to a
|
|
@@ -84,9 +87,9 @@ async function runFfmpegThumb(source, prefix, buildArgs) {
|
|
|
84
87
|
inputPath = path.join(dir, "input");
|
|
85
88
|
await fs.writeFile(inputPath, source.bytes);
|
|
86
89
|
}
|
|
87
|
-
await execFileAsync("ffmpeg", buildArgs(inputPath, outputPath), {
|
|
90
|
+
await withTaskSpan("cpu", "subprocess.run", { "process.executable.name": "ffmpeg" }, () => execFileAsync("ffmpeg", buildArgs(inputPath, outputPath), {
|
|
88
91
|
maxBuffer: 16 * 1024 * 1024
|
|
89
|
-
});
|
|
92
|
+
}));
|
|
90
93
|
return await fs.readFile(outputPath);
|
|
91
94
|
}
|
|
92
95
|
finally {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thumbnail.js","sourceRoot":"","sources":["../../src/lib/thumbnail.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,kBAAkB,EAEnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"thumbnail.js","sourceRoot":"","sources":["../../src/lib/thumbnail.ts"],"names":[],"mappings":"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"}
|
|
@@ -97,6 +97,21 @@ export declare const bundledTimeline: z.ZodObject<{
|
|
|
97
97
|
spill: z.ZodNumber;
|
|
98
98
|
}, z.core.$strip>], "type">>>;
|
|
99
99
|
instrument: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
100
|
+
type: z.ZodLiteral<"sampler">;
|
|
101
|
+
zones: z.ZodArray<z.ZodObject<{
|
|
102
|
+
id: z.ZodString;
|
|
103
|
+
name: z.ZodString;
|
|
104
|
+
assetId: z.ZodString;
|
|
105
|
+
rootNote: z.ZodNumber;
|
|
106
|
+
lowNote: z.ZodNumber;
|
|
107
|
+
highNote: z.ZodNumber;
|
|
108
|
+
gainDb: z.ZodNumber;
|
|
109
|
+
}, z.core.$strip>>;
|
|
110
|
+
oneShot: z.ZodBoolean;
|
|
111
|
+
attackMs: z.ZodNumber;
|
|
112
|
+
releaseMs: z.ZodNumber;
|
|
113
|
+
gainDb: z.ZodNumber;
|
|
114
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
100
115
|
type: z.ZodLiteral<"subtractive">;
|
|
101
116
|
waveform: z.ZodEnum<{
|
|
102
117
|
saw: "saw";
|
|
@@ -292,6 +307,7 @@ export declare const bundledTimeline: z.ZodObject<{
|
|
|
292
307
|
}>;
|
|
293
308
|
bindingKind: z.ZodOptional<z.ZodEnum<{
|
|
294
309
|
"image-to-image": "image-to-image";
|
|
310
|
+
"image-to-video": "image-to-video";
|
|
295
311
|
"text-to-audio": "text-to-audio";
|
|
296
312
|
"text-to-image": "text-to-image";
|
|
297
313
|
"text-to-music": "text-to-music";
|
|
@@ -312,6 +328,8 @@ export declare const bundledTimeline: z.ZodObject<{
|
|
|
312
328
|
height: z.ZodOptional<z.ZodNumber>;
|
|
313
329
|
aspectRatio: z.ZodOptional<z.ZodString>;
|
|
314
330
|
resolution: z.ZodOptional<z.ZodString>;
|
|
331
|
+
referenceImageIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
332
|
+
referenceEntityIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
315
333
|
strength: z.ZodOptional<z.ZodNumber>;
|
|
316
334
|
numInferenceSteps: z.ZodOptional<z.ZodNumber>;
|
|
317
335
|
seed: z.ZodOptional<z.ZodNumber>;
|
|
@@ -323,6 +341,9 @@ export declare const bundledTimeline: z.ZodObject<{
|
|
|
323
341
|
waveformAssetId: z.ZodOptional<z.ZodString>;
|
|
324
342
|
storyboardBoardId: z.ZodOptional<z.ZodString>;
|
|
325
343
|
storyboardShotId: z.ZodOptional<z.ZodString>;
|
|
344
|
+
storyboardElementId: z.ZodOptional<z.ZodString>;
|
|
345
|
+
storyboardElementRole: z.ZodOptional<z.ZodString>;
|
|
346
|
+
storyboardMaterializationBaseline: z.ZodOptional<z.ZodString>;
|
|
326
347
|
scriptId: z.ZodOptional<z.ZodString>;
|
|
327
348
|
scriptLineId: z.ZodOptional<z.ZodString>;
|
|
328
349
|
beatId: z.ZodOptional<z.ZodString>;
|
|
@@ -602,25 +623,84 @@ export declare const bundledTimeline: z.ZodObject<{
|
|
|
602
623
|
}, z.core.$strip>;
|
|
603
624
|
}, z.core.$strip>>;
|
|
604
625
|
layout: z.ZodOptional<z.ZodObject<{
|
|
605
|
-
|
|
606
|
-
|
|
626
|
+
display: z.ZodLiteral<"flex">;
|
|
627
|
+
flexDirection: z.ZodOptional<z.ZodEnum<{
|
|
628
|
+
column: "column";
|
|
607
629
|
row: "row";
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
children: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
611
|
-
gapPx: z.ZodOptional<z.ZodNumber>;
|
|
612
|
-
targetClipId: z.ZodOptional<z.ZodString>;
|
|
613
|
-
side: z.ZodOptional<z.ZodEnum<{
|
|
614
|
-
above: "above";
|
|
615
|
-
below: "below";
|
|
630
|
+
}>>;
|
|
631
|
+
justifyContent: z.ZodOptional<z.ZodEnum<{
|
|
616
632
|
center: "center";
|
|
617
|
-
|
|
618
|
-
|
|
633
|
+
"flex-end": "flex-end";
|
|
634
|
+
"flex-start": "flex-start";
|
|
635
|
+
"space-around": "space-around";
|
|
636
|
+
"space-between": "space-between";
|
|
637
|
+
"space-evenly": "space-evenly";
|
|
619
638
|
}>>;
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
639
|
+
alignItems: z.ZodOptional<z.ZodEnum<{
|
|
640
|
+
baseline: "baseline";
|
|
641
|
+
center: "center";
|
|
642
|
+
"flex-end": "flex-end";
|
|
643
|
+
"flex-start": "flex-start";
|
|
644
|
+
stretch: "stretch";
|
|
645
|
+
}>>;
|
|
646
|
+
alignContent: z.ZodOptional<z.ZodEnum<{
|
|
647
|
+
center: "center";
|
|
648
|
+
"flex-end": "flex-end";
|
|
649
|
+
"flex-start": "flex-start";
|
|
650
|
+
"space-around": "space-around";
|
|
651
|
+
"space-between": "space-between";
|
|
652
|
+
"space-evenly": "space-evenly";
|
|
653
|
+
}>>;
|
|
654
|
+
flexWrap: z.ZodOptional<z.ZodEnum<{
|
|
655
|
+
nowrap: "nowrap";
|
|
656
|
+
wrap: "wrap";
|
|
657
|
+
"wrap-reverse": "wrap-reverse";
|
|
658
|
+
}>>;
|
|
659
|
+
gap: z.ZodOptional<z.ZodNumber>;
|
|
660
|
+
rowGap: z.ZodOptional<z.ZodNumber>;
|
|
661
|
+
columnGap: z.ZodOptional<z.ZodNumber>;
|
|
662
|
+
padding: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
|
|
663
|
+
top: z.ZodOptional<z.ZodNumber>;
|
|
664
|
+
right: z.ZodOptional<z.ZodNumber>;
|
|
665
|
+
bottom: z.ZodOptional<z.ZodNumber>;
|
|
666
|
+
left: z.ZodOptional<z.ZodNumber>;
|
|
667
|
+
}, z.core.$strip>]>>;
|
|
668
|
+
width: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
|
|
669
|
+
height: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
|
|
670
|
+
minWidth: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
|
|
671
|
+
maxWidth: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
|
|
672
|
+
minHeight: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
|
|
673
|
+
maxHeight: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
|
|
674
|
+
}, z.core.$strip>>;
|
|
675
|
+
flexItem: z.ZodOptional<z.ZodObject<{
|
|
676
|
+
grow: z.ZodOptional<z.ZodNumber>;
|
|
677
|
+
shrink: z.ZodOptional<z.ZodNumber>;
|
|
678
|
+
basis: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
|
|
679
|
+
alignSelf: z.ZodOptional<z.ZodEnum<{
|
|
680
|
+
baseline: "baseline";
|
|
681
|
+
center: "center";
|
|
682
|
+
"flex-end": "flex-end";
|
|
683
|
+
"flex-start": "flex-start";
|
|
684
|
+
stretch: "stretch";
|
|
685
|
+
}>>;
|
|
686
|
+
width: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
|
|
687
|
+
height: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
|
|
688
|
+
margin: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
|
|
689
|
+
top: z.ZodOptional<z.ZodNumber>;
|
|
690
|
+
right: z.ZodOptional<z.ZodNumber>;
|
|
691
|
+
bottom: z.ZodOptional<z.ZodNumber>;
|
|
692
|
+
left: z.ZodOptional<z.ZodNumber>;
|
|
693
|
+
}, z.core.$strip>]>>;
|
|
694
|
+
position: z.ZodOptional<z.ZodEnum<{
|
|
695
|
+
absolute: "absolute";
|
|
696
|
+
relative: "relative";
|
|
697
|
+
}>>;
|
|
698
|
+
inset: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
|
|
699
|
+
top: z.ZodOptional<z.ZodNumber>;
|
|
700
|
+
right: z.ZodOptional<z.ZodNumber>;
|
|
701
|
+
bottom: z.ZodOptional<z.ZodNumber>;
|
|
702
|
+
left: z.ZodOptional<z.ZodNumber>;
|
|
703
|
+
}, z.core.$strip>]>>;
|
|
624
704
|
}, z.core.$strip>>;
|
|
625
705
|
repeater: z.ZodOptional<z.ZodObject<{
|
|
626
706
|
count: z.ZodNumber;
|
|
@@ -934,6 +1014,7 @@ export declare const bundledTimeline: z.ZodObject<{
|
|
|
934
1014
|
letterSpacingPx: z.ZodOptional<z.ZodNumber>;
|
|
935
1015
|
lineHeight: z.ZodOptional<z.ZodNumber>;
|
|
936
1016
|
verticalAlign: z.ZodOptional<z.ZodString>;
|
|
1017
|
+
strikethrough: z.ZodOptional<z.ZodBoolean>;
|
|
937
1018
|
stroke: z.ZodOptional<z.ZodObject<{
|
|
938
1019
|
color: z.ZodString;
|
|
939
1020
|
widthPx: z.ZodNumber;
|
|
@@ -1212,6 +1293,7 @@ export declare const bundledTimeline: z.ZodObject<{
|
|
|
1212
1293
|
seed: z.ZodOptional<z.ZodNumber>;
|
|
1213
1294
|
}, z.core.$strip>]>>>;
|
|
1214
1295
|
parentId: z.ZodOptional<z.ZodString>;
|
|
1296
|
+
sourceScene: z.ZodOptional<z.ZodString>;
|
|
1215
1297
|
mask: z.ZodOptional<z.ZodObject<{
|
|
1216
1298
|
kind: z.ZodString;
|
|
1217
1299
|
x: z.ZodOptional<z.ZodNumber>;
|
|
@@ -1321,6 +1403,14 @@ export declare const bundledTimeline: z.ZodObject<{
|
|
|
1321
1403
|
color: z.ZodOptional<z.ZodString>;
|
|
1322
1404
|
note: z.ZodOptional<z.ZodString>;
|
|
1323
1405
|
}, z.core.$strip>>;
|
|
1406
|
+
storyboardMaterializations: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
1407
|
+
boardId: z.ZodString;
|
|
1408
|
+
elementKeys: z.ZodArray<z.ZodString>;
|
|
1409
|
+
stage: z.ZodOptional<z.ZodEnum<{
|
|
1410
|
+
finished: "finished";
|
|
1411
|
+
layout: "layout";
|
|
1412
|
+
}>>;
|
|
1413
|
+
}, z.core.$strip>>>;
|
|
1324
1414
|
transcript: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
1325
1415
|
id: z.ZodString;
|
|
1326
1416
|
text: z.ZodString;
|
|
@@ -1469,6 +1559,33 @@ export declare const bundledTimeline: z.ZodObject<{
|
|
|
1469
1559
|
name: z.ZodOptional<z.ZodString>;
|
|
1470
1560
|
revision: z.ZodOptional<z.ZodString>;
|
|
1471
1561
|
}, z.core.$loose>>>;
|
|
1562
|
+
media_strategy: z.ZodOptional<z.ZodEnum<{
|
|
1563
|
+
generated_video: "generated_video";
|
|
1564
|
+
hybrid: "hybrid";
|
|
1565
|
+
still_motion_graphics: "still_motion_graphics";
|
|
1566
|
+
}>>;
|
|
1567
|
+
protected_inputs: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
1568
|
+
id: z.ZodString;
|
|
1569
|
+
kind: z.ZodEnum<{
|
|
1570
|
+
brand_color: "brand_color";
|
|
1571
|
+
exact_text: "exact_text";
|
|
1572
|
+
logo: "logo";
|
|
1573
|
+
product: "product";
|
|
1574
|
+
source_asset: "source_asset";
|
|
1575
|
+
}>;
|
|
1576
|
+
asset_id: z.ZodOptional<z.ZodString>;
|
|
1577
|
+
entity_id: z.ZodOptional<z.ZodString>;
|
|
1578
|
+
value: z.ZodOptional<z.ZodString>;
|
|
1579
|
+
allowed_transformations: z.ZodDefault<z.ZodArray<z.ZodEnum<{
|
|
1580
|
+
composite: "composite";
|
|
1581
|
+
crop: "crop";
|
|
1582
|
+
mask: "mask";
|
|
1583
|
+
opacity: "opacity";
|
|
1584
|
+
position: "position";
|
|
1585
|
+
rotate: "rotate";
|
|
1586
|
+
scale: "scale";
|
|
1587
|
+
}>>>;
|
|
1588
|
+
}, z.core.$strip>>>;
|
|
1472
1589
|
duration_ms: z.ZodOptional<z.ZodNumber>;
|
|
1473
1590
|
speech_duration_ms: z.ZodOptional<z.ZodNumber>;
|
|
1474
1591
|
local_direction: z.ZodOptional<z.ZodString>;
|
|
@@ -1482,6 +1599,15 @@ export declare const bundledTimeline: z.ZodObject<{
|
|
|
1482
1599
|
}, z.core.$strip>>;
|
|
1483
1600
|
}, z.core.$loose>>;
|
|
1484
1601
|
templateId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
1602
|
+
source: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
1603
|
+
lang: z.ZodLiteral<"js">;
|
|
1604
|
+
code: z.ZodString;
|
|
1605
|
+
bakedAt: z.ZodString;
|
|
1606
|
+
scenes: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
1607
|
+
groupId: z.ZodString;
|
|
1608
|
+
hash: z.ZodString;
|
|
1609
|
+
}, z.core.$strip>>;
|
|
1610
|
+
}, z.core.$strip>>>;
|
|
1485
1611
|
mediaTracks: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
1486
1612
|
id: z.ZodString;
|
|
1487
1613
|
clipId: z.ZodString;
|
|
@@ -1573,6 +1699,14 @@ export interface TimelineBundleClip {
|
|
|
1573
1699
|
scriptId?: string;
|
|
1574
1700
|
}
|
|
1575
1701
|
export interface TimelineBundleDocument {
|
|
1702
|
+
tracks?: Array<{
|
|
1703
|
+
instrument?: {
|
|
1704
|
+
type: string;
|
|
1705
|
+
zones?: Array<{
|
|
1706
|
+
assetId: string;
|
|
1707
|
+
}>;
|
|
1708
|
+
};
|
|
1709
|
+
}>;
|
|
1576
1710
|
clips: TimelineBundleClip[];
|
|
1577
1711
|
workflowId?: string;
|
|
1578
1712
|
}
|
|
@@ -1650,6 +1784,15 @@ export interface UnpackedTimelineBundle {
|
|
|
1650
1784
|
/** file name (without the `assets/` prefix) → bytes. */
|
|
1651
1785
|
assets: Map<string, Uint8Array>;
|
|
1652
1786
|
}
|
|
1787
|
+
/**
|
|
1788
|
+
* Inflate an uploaded zip with bounds: `unzipSync` otherwise inflates every
|
|
1789
|
+
* entry into memory with no size limit, so a small highly-compressible upload
|
|
1790
|
+
* can expand to tens of GB and OOM the server. The filter runs per entry with
|
|
1791
|
+
* the header-declared uncompressed size, before that entry is inflated.
|
|
1792
|
+
*/
|
|
1793
|
+
export declare function unzipBounded(zipBytes: Uint8Array): Record<string, Uint8Array>;
|
|
1794
|
+
/** The entry names of a zip, read from its directory without inflating. */
|
|
1795
|
+
export declare function zipEntryNames(zipBytes: Uint8Array): string[];
|
|
1653
1796
|
export declare function unpackTimelineBundle(zipBytes: Uint8Array): UnpackedTimelineBundle;
|
|
1654
1797
|
/** Verify each asset's bytes against the manifest sha256. Returns mismatches. */
|
|
1655
1798
|
export declare function verifyTimelineBundleChecksums(bundle: UnpackedTimelineBundle): string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timeline-bundle.d.ts","sourceRoot":"","sources":["../../src/lib/timeline-bundle.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAKL,KAAK,YAAY,EACjB,KAAK,eAAe,EACrB,MAAM,iBAAiB,CAAC;AAEzB,eAAO,MAAM,sBAAsB,6BAA6B,CAAC;AACjE,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAKzC,wEAAwE;AACxE,eAAO,MAAM,eAAe
|
|
1
|
+
{"version":3,"file":"timeline-bundle.d.ts","sourceRoot":"","sources":["../../src/lib/timeline-bundle.ts"],"names":[],"mappings":"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"}
|
|
@@ -64,6 +64,12 @@ export function collectTimelineAssetIds(doc) {
|
|
|
64
64
|
pushUnique(ids, seen, version.assetId);
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
|
+
for (const track of doc.tracks ?? []) {
|
|
68
|
+
if (track.instrument?.type === "sampler") {
|
|
69
|
+
for (const zone of track.instrument.zones ?? [])
|
|
70
|
+
pushUnique(ids, seen, zone.assetId);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
67
73
|
return ids;
|
|
68
74
|
}
|
|
69
75
|
/** Font families the document names, so a reader knows what it needs installed. */
|
|
@@ -123,6 +129,12 @@ export function rewriteTimelineAssetIds(doc, map) {
|
|
|
123
129
|
version.assetId = rewrite(version.assetId);
|
|
124
130
|
}
|
|
125
131
|
}
|
|
132
|
+
for (const track of clone.tracks ?? []) {
|
|
133
|
+
if (track.instrument?.type === "sampler") {
|
|
134
|
+
for (const zone of track.instrument.zones ?? [])
|
|
135
|
+
zone.assetId = map.get(zone.assetId) ?? zone.assetId;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
126
138
|
return clone;
|
|
127
139
|
}
|
|
128
140
|
/**
|
|
@@ -194,14 +206,16 @@ export async function packTimelineBundle(options) {
|
|
|
194
206
|
const MAX_BUNDLE_UNCOMPRESSED_BYTES = 512 * 1024 * 1024; // 512 MB
|
|
195
207
|
/** Max number of entries in a bundle. */
|
|
196
208
|
const MAX_BUNDLE_ENTRIES = 10_000;
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
209
|
+
/**
|
|
210
|
+
* Inflate an uploaded zip with bounds: `unzipSync` otherwise inflates every
|
|
211
|
+
* entry into memory with no size limit, so a small highly-compressible upload
|
|
212
|
+
* can expand to tens of GB and OOM the server. The filter runs per entry with
|
|
213
|
+
* the header-declared uncompressed size, before that entry is inflated.
|
|
214
|
+
*/
|
|
215
|
+
export function unzipBounded(zipBytes) {
|
|
202
216
|
let totalUncompressed = 0;
|
|
203
217
|
let entryCount = 0;
|
|
204
|
-
|
|
218
|
+
return unzipSync(zipBytes, {
|
|
205
219
|
filter: (file) => {
|
|
206
220
|
entryCount += 1;
|
|
207
221
|
if (entryCount > MAX_BUNDLE_ENTRIES) {
|
|
@@ -214,6 +228,20 @@ export function unpackTimelineBundle(zipBytes) {
|
|
|
214
228
|
return true;
|
|
215
229
|
}
|
|
216
230
|
});
|
|
231
|
+
}
|
|
232
|
+
/** The entry names of a zip, read from its directory without inflating. */
|
|
233
|
+
export function zipEntryNames(zipBytes) {
|
|
234
|
+
const names = [];
|
|
235
|
+
unzipSync(zipBytes, {
|
|
236
|
+
filter: (file) => {
|
|
237
|
+
names.push(file.name);
|
|
238
|
+
return false;
|
|
239
|
+
}
|
|
240
|
+
});
|
|
241
|
+
return names;
|
|
242
|
+
}
|
|
243
|
+
export function unpackTimelineBundle(zipBytes) {
|
|
244
|
+
const entries = unzipBounded(zipBytes);
|
|
217
245
|
const manifestEntry = entries["manifest.json"];
|
|
218
246
|
if (!manifestEntry) {
|
|
219
247
|
throw new Error("Invalid bundle: missing manifest.json");
|