@cueframe/kernel 0.0.1 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. package/dist/_members/account-model/testing/conversationStoreContract.d.ts +1 -1
  2. package/dist/_members/authoring/providers/resourceApi.d.ts +1 -1
  3. package/dist/_members/authoring/transpileComponent.d.ts +1 -1
  4. package/dist/_members/cloud-import/CloudImportService.d.ts +35 -0
  5. package/dist/_members/cloud-import/ImportProvider.d.ts +73 -0
  6. package/dist/_members/cloud-import/MediaItemPreprocessor.d.ts +27 -0
  7. package/dist/_members/cloud-import/chunk-XKO6ZSWI.js +162 -0
  8. package/dist/_members/cloud-import/chunk-XKO6ZSWI.js.map +1 -0
  9. package/dist/_members/cloud-import/cloudConfig.d.ts +23 -0
  10. package/dist/_members/cloud-import/index.d.ts +9 -0
  11. package/dist/_members/cloud-import/index.js +241 -0
  12. package/dist/_members/cloud-import/index.js.map +1 -0
  13. package/dist/_members/cloud-import/multipartUpload.d.ts +12 -0
  14. package/dist/_members/cloud-import/multipartUpload.js +7 -0
  15. package/dist/_members/cloud-import/multipartUpload.js.map +1 -0
  16. package/dist/_members/composition/ops/compositionOps.d.ts +1 -1
  17. package/dist/_members/composition/ops/types.d.ts +1 -1
  18. package/dist/_members/composition/timeline/placement.d.ts +1 -1
  19. package/dist/_members/composition/validators/composition.d.ts +1 -1
  20. package/dist/_members/composition-ops/index.d.ts +1 -1
  21. package/dist/_members/composition-ops/opRecorder.d.ts +1 -1
  22. package/dist/_members/convex-api/api.d.ts +5 -0
  23. package/dist/_members/convex-api/dataModel.d.ts +6 -0
  24. package/dist/_members/core/render/exportSettings.d.ts +1 -1
  25. package/dist/_members/mcp/curation.d.ts +1 -1
  26. package/dist/_members/plane/conformance.d.ts +1 -1
  27. package/dist/_members/render-harness/localRender.d.ts +1 -1
  28. package/dist/animate.js +828 -79187
  29. package/dist/authoring/build-tools.js +8 -11
  30. package/dist/authoring/context.js +5 -5
  31. package/dist/authoring/models.js +1 -2
  32. package/dist/authoring/prompts.js +1 -1
  33. package/dist/authoring/tools.js +7 -7
  34. package/dist/authoring/transpileComponent.js +3 -2220
  35. package/dist/authoring.js +27 -29
  36. package/dist/brand-derivation.js +1 -1
  37. package/dist/chunk-6IU2UQI5.js +107 -0
  38. package/dist/{chunk-N67PDTKQ.js → chunk-ABL557OT.js} +1 -1
  39. package/dist/{chunk-DSNG6WLU.js → chunk-AYVJXDLB.js} +1 -4
  40. package/dist/{chunk-G3PBH53P.js → chunk-COYMZ76S.js} +1 -1
  41. package/dist/chunk-DSMLHYJ4.js +82 -0
  42. package/dist/{chunk-BRKJKB33.js → chunk-FYZVH3MC.js} +1 -1
  43. package/dist/{chunk-MVEE6HEC.js → chunk-GA23TRNR.js} +5 -7
  44. package/dist/{chunk-OIRUO5P7.js → chunk-GEA7E2FL.js} +1 -1
  45. package/dist/chunk-HCCBDJLW.js +68 -0
  46. package/dist/{chunk-QLAQHR3L.js → chunk-IBYQG46O.js} +1 -1
  47. package/dist/chunk-JQMPHKLU.js +126 -0
  48. package/dist/{chunk-ELLSET2N.js → chunk-LM4WDUQJ.js} +3 -6
  49. package/dist/{chunk-UEI3NLNK.js → chunk-MHOQTPOB.js} +1 -4
  50. package/dist/{chunk-ATAF24QG.js → chunk-MXFAADCQ.js} +1 -1
  51. package/dist/{chunk-TULRCY6U.js → chunk-NFEGPWGS.js} +1 -1
  52. package/dist/{chunk-MC5DLSEV.js → chunk-ODL7GQJG.js} +14 -14
  53. package/dist/{chunk-WZTTZHNR.js → chunk-OLFOPQCA.js} +12 -9
  54. package/dist/{chunk-P43IE4WB.js → chunk-P727GZVO.js} +2 -4
  55. package/dist/{chunk-S3P5BFFL.js → chunk-PMY24FUD.js} +2 -4
  56. package/dist/chunk-RF7U3SCL.js +606 -0
  57. package/dist/{chunk-JD77Y2WM.js → chunk-SW336CJP.js} +1 -4
  58. package/dist/{chunk-M3I5LMAB.js → chunk-UY4SWJVE.js} +1 -1
  59. package/dist/{chunk-52AHXNKM.js → chunk-VOO5FQSS.js} +5 -5
  60. package/dist/{chunk-NV4I6GJV.js → chunk-XWKZB5U5.js} +4 -4
  61. package/dist/{chunk-6QJ3V3VS.js → chunk-YX2GSJK7.js} +1 -1
  62. package/dist/{chunk-5I7VDCAC.js → chunk-ZB3C3HM7.js} +1 -1
  63. package/dist/chunk-ZT7MHRQU.js +104 -0
  64. package/dist/cloud-import/multipart.d.ts +1 -0
  65. package/dist/cloud-import/multipart.js +8 -0
  66. package/dist/cloud-import.d.ts +1 -0
  67. package/dist/cloud-import.js +234 -0
  68. package/dist/compose/renderer.js +18 -21
  69. package/dist/compose.js +18 -21
  70. package/dist/composition/graphics-plan.js +3 -3
  71. package/dist/composition/ops.js +4 -4
  72. package/dist/composition/primitive-catalog.js +1 -1
  73. package/dist/composition/projection.js +3 -3
  74. package/dist/composition/validators.js +2 -2
  75. package/dist/composition-ops.js +12 -12
  76. package/dist/composition.js +5 -5
  77. package/dist/{context-CEAKQ5T7.js → context-OKX3HHFS.js} +5 -5
  78. package/dist/convex-api/dataModel.d.ts +1 -0
  79. package/dist/convex-api/dataModel.js +0 -0
  80. package/dist/convex-api.d.ts +1 -0
  81. package/dist/convex-api.js +8 -0
  82. package/dist/core/render.js +2 -2
  83. package/dist/core.js +2 -2
  84. package/dist/mcp/adapter.js +1 -5
  85. package/dist/mcp/server.js +1 -2
  86. package/dist/mcp.js +2 -95
  87. package/dist/media-model/media-kind.js +9 -98
  88. package/dist/nle-export/xml.js +5 -22799
  89. package/dist/nle-export.js +18 -21
  90. package/dist/primitives/backgrounds.js +2 -3
  91. package/dist/primitives/captions.js +4 -243
  92. package/dist/primitives/effects.js +2 -3
  93. package/dist/primitives/hero-text.js +2 -3
  94. package/dist/primitives/layouts.js +2 -3
  95. package/dist/primitives/lib/index.js +8 -10
  96. package/dist/primitives/lib/preview.js +1 -2
  97. package/dist/primitives/lib/schema.js +1 -2
  98. package/dist/primitives/lib/text/fitText.js +1 -2
  99. package/dist/primitives/lib.js +8 -10
  100. package/dist/primitives/scenes.js +1 -2
  101. package/dist/primitives/text.js +2 -3
  102. package/dist/primitives/ui-blocks.js +4 -5
  103. package/dist/primitives.js +19 -21
  104. package/package.json +123 -13
  105. package/dist/TextureLoader-UQOFUSAP.js +0 -422
  106. package/dist/VideoTexture-AQWSPIJG.js +0 -62
  107. package/dist/chunk-7GISRVON.js +0 -14176
  108. package/dist/chunk-DIBOJJMU.js +0 -16838
  109. package/dist/chunk-EAUSEGB7.js +0 -420
  110. package/dist/chunk-FUWJOVVK.js +0 -3633
  111. package/dist/chunk-G75E7YA4.js +0 -11883
  112. package/dist/chunk-JCZQT7K3.js +0 -3266
  113. package/dist/chunk-KF5ETMKB.js +0 -544
  114. package/dist/chunk-NDKERSXY.js +0 -1296
  115. package/dist/chunk-V43Y7IE4.js +0 -3621
  116. package/dist/chunk-VIVQHIGZ.js +0 -4319
  117. package/dist/chunk-YA3OR2KK.js +0 -249
  118. package/dist/hls-HD4C5G6W.js +0 -33000
  119. package/dist/token-RGFIT24D.js +0 -69
  120. package/dist/token-util-GPLSGYVO.js +0 -5
  121. package/dist/vision_bundle-5Y376MAR.js +0 -4084
  122. package/dist/{chunk-6CMVBTTP.js → chunk-YIOY2XEO.js} +4 -4
@@ -1,9 +1,9 @@
1
- import {
2
- Composition
3
- } from "./chunk-ATAF24QG.js";
4
1
  import {
5
2
  expandToLinkGroup
6
3
  } from "./chunk-KYRDKK2D.js";
4
+ import {
5
+ Composition
6
+ } from "./chunk-MXFAADCQ.js";
7
7
 
8
8
  // ../composition/src/ops/compositionOps.ts
9
9
  function findOrCreateTrackByKind(composition, kind) {
@@ -771,7 +771,7 @@ function createCompositionOps(get, set) {
771
771
  //
772
772
  // Capability parity: the cloud agent must be able to do everything the
773
773
  // editor can (these were previously editor-only, in
774
- // cueframe/src/store/compositionStore/compositionOps.ts). They are pure
774
+ // apps/studio/src/store/compositionStore/compositionOps.ts). They are pure
775
775
  // `set` mutations over `composition.tracks` + the selection fields already
776
776
  // on `CompositionOpsState`, so they live in core unchanged. The agent's
777
777
  // tool layer can now surface them; the editor keeps calling the same names.
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  FitText
3
- } from "./chunk-DSNG6WLU.js";
3
+ } from "./chunk-AYVJXDLB.js";
4
4
  import {
5
5
  ACCENT,
6
6
  BG,
@@ -14236,7 +14236,7 @@ var PRIMITIVE_META = [
14236
14236
  "type": "log"
14237
14237
  },
14238
14238
  {
14239
- "text": "\u2713 Created components/cueframe/typewriter.tsx",
14239
+ "text": "\u2713 Created components/apps/studio/typewriter.tsx",
14240
14240
  "type": "success"
14241
14241
  },
14242
14242
  {
@@ -0,0 +1,104 @@
1
+ // ../authoring/src/models/modelFactory.ts
2
+ import { createAnthropic } from "@ai-sdk/anthropic";
3
+ import { createOpenAI } from "@ai-sdk/openai";
4
+ function withRequestTimeout(inner, ms) {
5
+ return async (input, init) => {
6
+ const timeout = AbortSignal.timeout(ms);
7
+ const signal = init?.signal ? AbortSignal.any([init.signal, timeout]) : timeout;
8
+ let timer;
9
+ const bound = new Promise((_res, rej) => {
10
+ timer = setTimeout(
11
+ () => rej(new Error(`llm_request_timeout: model HTTP request exceeded ${ms}ms (hung gateway call?)`)),
12
+ ms
13
+ );
14
+ });
15
+ try {
16
+ return await Promise.race([inner(input, { ...init, signal }), bound]);
17
+ } catch (err) {
18
+ if (timeout.aborted && !(init?.signal?.aborted ?? false)) {
19
+ throw new Error(`llm_request_timeout: model HTTP request exceeded ${ms}ms (hung gateway call?)`);
20
+ }
21
+ throw err;
22
+ } finally {
23
+ if (timer) clearTimeout(timer);
24
+ }
25
+ };
26
+ }
27
+ function makeLangfuseFetch(meta) {
28
+ const traceId = meta.traceId ?? crypto.randomUUID();
29
+ return async (input, init) => {
30
+ const originalBody = init?.body;
31
+ if (typeof originalBody !== "string") {
32
+ return fetch(input, init);
33
+ }
34
+ const body = JSON.parse(originalBody);
35
+ const fields = {
36
+ trace_id: traceId,
37
+ trace_name: meta.traceName,
38
+ generation_name: meta.generationName ?? "llm_call",
39
+ session_id: meta.sessionId,
40
+ trace_user_id: meta.userId,
41
+ tags: meta.tags,
42
+ version: meta.version,
43
+ ...meta.redactContent ? { turn_off_message_logging: true } : {}
44
+ };
45
+ body.metadata = { ...body.metadata ?? {}, ...fields };
46
+ body.litellm_metadata = { ...body.litellm_metadata ?? {}, ...fields, user: meta.userId };
47
+ return fetch(input, { ...init, body: JSON.stringify(body) });
48
+ };
49
+ }
50
+ function buildModel(settings, langfuse) {
51
+ const provider = settings.provider;
52
+ switch (provider) {
53
+ case "anthropic": {
54
+ if (!settings.apiKey) throw new Error("Anthropic API key not configured.");
55
+ const anthropic = createAnthropic({
56
+ apiKey: settings.apiKey,
57
+ ...settings.baseUrl ? { baseURL: settings.baseUrl } : {}
58
+ });
59
+ const id = settings.modelId || "claude-sonnet-4-6";
60
+ return { model: anthropic(id), providerName: "anthropic", modelId: id };
61
+ }
62
+ case "openai": {
63
+ if (!settings.apiKey) throw new Error("OpenAI API key not configured.");
64
+ const openai = createOpenAI({ apiKey: settings.apiKey });
65
+ const id = settings.modelId || "gpt-4o";
66
+ return { model: openai(id), providerName: "openai", modelId: id };
67
+ }
68
+ case "ollama": {
69
+ const baseUrl = settings.baseUrl || "http://localhost:11434/v1";
70
+ const openai = createOpenAI({ apiKey: "ollama", baseURL: baseUrl });
71
+ const id = settings.modelId || "llama3.1";
72
+ return { model: openai(id), providerName: "ollama", modelId: id };
73
+ }
74
+ case "gateway": {
75
+ if (!settings.gatewayUrl || !settings.gatewayKey) throw new Error("Gateway not configured.");
76
+ const baseFetch = langfuse ? makeLangfuseFetch(langfuse) : fetch;
77
+ const anthropic = createAnthropic({
78
+ apiKey: settings.gatewayKey,
79
+ baseURL: settings.gatewayUrl + "/anthropic/v1",
80
+ fetch: settings.requestTimeoutMs ? withRequestTimeout(baseFetch, settings.requestTimeoutMs) : langfuse ? baseFetch : void 0
81
+ });
82
+ const id = settings.modelId || "claude-sonnet-4-6";
83
+ return { model: anthropic(id), providerName: "gateway", modelId: id };
84
+ }
85
+ default:
86
+ throw new Error(`Unknown provider: ${provider}`);
87
+ }
88
+ }
89
+ function buildFastModel(settings, langfuse) {
90
+ return buildModel(
91
+ {
92
+ ...settings,
93
+ modelId: settings.fastModelId ?? "claude-haiku-4-5-20251001"
94
+ },
95
+ langfuse
96
+ );
97
+ }
98
+
99
+ export {
100
+ withRequestTimeout,
101
+ makeLangfuseFetch,
102
+ buildModel,
103
+ buildFastModel
104
+ };
@@ -0,0 +1 @@
1
+ export * from "../_members/cloud-import/multipartUpload.js";
@@ -0,0 +1,8 @@
1
+ import {
2
+ multipartUpload
3
+ } from "../chunk-HCCBDJLW.js";
4
+ import "../chunk-6IU2UQI5.js";
5
+ import "../chunk-2ESYSVXG.js";
6
+ export {
7
+ multipartUpload
8
+ };
@@ -0,0 +1 @@
1
+ export * from "./_members/cloud-import/index.js";
@@ -0,0 +1,234 @@
1
+ import {
2
+ multipartUpload
3
+ } from "./chunk-HCCBDJLW.js";
4
+ import "./chunk-6IU2UQI5.js";
5
+ import "./chunk-2ESYSVXG.js";
6
+
7
+ // ../cloud-import/src/ImportProvider.tsx
8
+ import { createContext, useContext, useState, useEffect, useCallback, useRef } from "react";
9
+ import { UppyContextProvider } from "@uppy/react";
10
+
11
+ // ../cloud-import/src/CloudImportService.ts
12
+ import Uppy from "@uppy/core";
13
+ import AwsS3 from "@uppy/aws-s3";
14
+
15
+ // ../cloud-import/src/MediaItemPreprocessor.ts
16
+ import { BasePlugin } from "@uppy/core";
17
+ var MediaItemPreprocessor = class _MediaItemPreprocessor extends BasePlugin {
18
+ static pluginId = "MediaItemPreprocessor";
19
+ createFn = null;
20
+ preprocessBound;
21
+ constructor(uppy, opts) {
22
+ super(uppy, opts ?? {});
23
+ this.id = _MediaItemPreprocessor.pluginId;
24
+ this.type = "preprocessor";
25
+ this.preprocessBound = this.preprocess.bind(this);
26
+ }
27
+ /** Inject the creation function (called from ImportProvider). */
28
+ setCreateFn(fn) {
29
+ this.createFn = fn;
30
+ }
31
+ install() {
32
+ this.uppy.addPreProcessor(this.preprocessBound);
33
+ }
34
+ uninstall() {
35
+ this.uppy.removePreProcessor(this.preprocessBound);
36
+ }
37
+ async preprocess(fileIDs) {
38
+ if (!this.createFn) return;
39
+ for (const fileID of fileIDs) {
40
+ const file = this.uppy.getFile(fileID);
41
+ if (!file) continue;
42
+ if (file.meta.convexMediaItemId) continue;
43
+ this.uppy.emit("preprocess-progress", file, {
44
+ mode: "indeterminate",
45
+ message: "Preparing upload\u2026"
46
+ });
47
+ try {
48
+ const mediaItemId = await this.createFn({
49
+ name: file.name ?? "unknown",
50
+ size: file.size ?? 0,
51
+ mimeType: file.type ?? "video/mp4"
52
+ });
53
+ this.uppy.setFileMeta(fileID, { convexMediaItemId: mediaItemId });
54
+ } catch (err) {
55
+ this.uppy.log(`[MediaItemPreprocessor] Failed for ${fileID}: ${err}`, "error");
56
+ }
57
+ this.uppy.emit("preprocess-complete", file);
58
+ }
59
+ }
60
+ };
61
+
62
+ // ../cloud-import/src/CloudImportService.ts
63
+ var CloudImportService = class {
64
+ uppy = null;
65
+ config = null;
66
+ /** Lazy-init: create Uppy + plugins on first use. */
67
+ init(config) {
68
+ if (this.uppy) return this.uppy;
69
+ this.config = config;
70
+ const signingUrl = this.config.uploadSigningUrl.replace(/\/$/, "");
71
+ this.uppy = new Uppy({
72
+ id: "cloud-import",
73
+ restrictions: {
74
+ allowedFileTypes: ["video/*", "audio/*"]
75
+ }
76
+ }).use(AwsS3, {
77
+ // Upload-signing Worker implements the S3 multipart endpoints at /s3/multipart/*
78
+ endpoint: signingUrl,
79
+ shouldUseMultipart: true,
80
+ // Cap concurrent multipart part uploads. Unbounded concurrency
81
+ // saturates the browser network stack and the signing Worker on
82
+ // large files; 3 keeps throughput high without melting either.
83
+ limit: 3,
84
+ // Exponential-ish backoff for failed part/signing requests. Uppy
85
+ // retries the same operation on each delay — keeps transient
86
+ // network blips from failing an entire upload.
87
+ retryDelays: [1e3, 3e3, 5e3, 1e4]
88
+ }).use(MediaItemPreprocessor);
89
+ return this.uppy;
90
+ }
91
+ /** Get the Uppy instance (must call init() first). */
92
+ getUppy() {
93
+ if (!this.uppy) throw new Error("CloudImportService not initialized \u2014 call init() first");
94
+ return this.uppy;
95
+ }
96
+ /** Get the MediaItemPreprocessor plugin. */
97
+ getPreprocessor() {
98
+ return this.getUppy().getPlugin(MediaItemPreprocessor.pluginId);
99
+ }
100
+ /** Update upload metadata (uploadToken, userId, projectId). */
101
+ setMeta(meta) {
102
+ this.uppy?.setMeta(meta);
103
+ if (meta.uploadToken) {
104
+ const plugin = this.uppy?.getPlugin("AwsS3Multipart");
105
+ if (plugin) {
106
+ plugin.setOptions({ headers: { "uppy-auth-token": meta.uploadToken } });
107
+ }
108
+ }
109
+ }
110
+ };
111
+ var cloudImportService = new CloudImportService();
112
+
113
+ // ../cloud-import/src/ImportProvider.tsx
114
+ var ImportContext = createContext(null);
115
+ function ImportProvider({
116
+ children,
117
+ available,
118
+ dialogSlot,
119
+ uploadSigningUrl,
120
+ getUploadMeta,
121
+ createMediaItem,
122
+ onUploadComplete,
123
+ onError
124
+ }) {
125
+ const [isOpen, setIsOpen] = useState(false);
126
+ const onCompleteRef = useRef(onUploadComplete);
127
+ const onErrorRef = useRef(onError);
128
+ onCompleteRef.current = onUploadComplete;
129
+ onErrorRef.current = onError;
130
+ const [uppy] = useState(() => cloudImportService.init({ uploadSigningUrl }));
131
+ useEffect(() => {
132
+ const handleComplete = (result) => {
133
+ const successful = result?.successful ?? [];
134
+ if (successful.length > 0 && onCompleteRef.current) {
135
+ onCompleteRef.current(
136
+ successful.map((file) => ({
137
+ uploadURL: file.response?.uploadURL ?? "",
138
+ fileName: file.name ?? "unknown",
139
+ fileSize: file.size ?? 0
140
+ }))
141
+ );
142
+ }
143
+ };
144
+ const handleError = (error) => {
145
+ onErrorRef.current?.(error instanceof Error ? error : new Error(String(error)));
146
+ };
147
+ uppy.on("complete", handleComplete);
148
+ uppy.on("error", handleError);
149
+ return () => {
150
+ uppy.off("complete", handleComplete);
151
+ uppy.off("error", handleError);
152
+ };
153
+ }, [uppy]);
154
+ useEffect(() => {
155
+ try {
156
+ const preprocessor = cloudImportService.getPreprocessor();
157
+ preprocessor.setCreateFn(createMediaItem ?? null);
158
+ } catch {
159
+ }
160
+ }, [createMediaItem]);
161
+ const openModal = useCallback(async () => {
162
+ if (getUploadMeta) {
163
+ try {
164
+ const meta = await getUploadMeta();
165
+ cloudImportService.setMeta(meta);
166
+ } catch (err) {
167
+ console.error("[Import] Failed to get upload metadata:", err);
168
+ return;
169
+ }
170
+ }
171
+ setIsOpen(true);
172
+ }, [getUploadMeta]);
173
+ const closeModal = useCallback(() => {
174
+ setIsOpen(false);
175
+ }, []);
176
+ return /* @__PURE__ */ React.createElement(ImportContext, { value: { openModal, closeModal, isOpen, uppy, available } }, /* @__PURE__ */ React.createElement(UppyContextProvider, { uppy }, children, dialogSlot));
177
+ }
178
+ function useImport() {
179
+ const ctx = useContext(ImportContext);
180
+ if (!ctx) throw new Error("useImport must be used within <ImportProvider>");
181
+ return ctx;
182
+ }
183
+ function useImportIfAvailable() {
184
+ const ctx = useContext(ImportContext);
185
+ return ctx?.available ? ctx : null;
186
+ }
187
+
188
+ // ../cloud-import/src/cloudConfig.ts
189
+ var ENVIRONMENTS = {
190
+ dev: {
191
+ convexUrl: "https://api-dev.cueframe.ai",
192
+ uploadSigningUrl: "http://localhost:8787"
193
+ },
194
+ staging: {
195
+ convexUrl: "https://api-dev.cueframe.ai",
196
+ uploadSigningUrl: "https://upload-signing.cueframelabs.workers.dev"
197
+ },
198
+ production: {
199
+ convexUrl: "https://api.cueframe.ai",
200
+ uploadSigningUrl: "https://upload.cueframe.ai"
201
+ }
202
+ };
203
+ function detectEnvironment(convexUrl) {
204
+ if (!convexUrl) return "dev";
205
+ if (/\b(api-dev|data-dev)\.cueframe\.ai/.test(convexUrl)) return "staging";
206
+ if (/\b(api|data)\.cueframe\.ai/.test(convexUrl)) return "production";
207
+ if (/\bexample-dev\.convex\.(cloud|site)/.test(convexUrl)) return "staging";
208
+ if (/\bexample-prod\.convex\.(cloud|site)/.test(convexUrl)) return "production";
209
+ return "dev";
210
+ }
211
+ function getEndpoints(convexUrl) {
212
+ const env = detectEnvironment(convexUrl);
213
+ return ENVIRONMENTS[env];
214
+ }
215
+
216
+ // ../cloud-import/src/index.ts
217
+ import {
218
+ useDropzone,
219
+ useUppyState,
220
+ useUppyEvent
221
+ } from "@uppy/react";
222
+ export {
223
+ ENVIRONMENTS,
224
+ ImportProvider,
225
+ cloudImportService,
226
+ detectEnvironment,
227
+ getEndpoints,
228
+ multipartUpload,
229
+ useDropzone,
230
+ useImport,
231
+ useImportIfAvailable,
232
+ useUppyEvent,
233
+ useUppyState
234
+ };
@@ -1,38 +1,35 @@
1
1
  import {
2
2
  resolvePrimitive
3
- } from "../chunk-MC5DLSEV.js";
3
+ } from "../chunk-ODL7GQJG.js";
4
4
  import "../chunk-H5LMJKZU.js";
5
- import "../chunk-FUWJOVVK.js";
6
- import "../chunk-UEI3NLNK.js";
7
5
  import "../chunk-GULDS3VE.js";
8
6
  import "../chunk-7DHP4ESU.js";
9
7
  import "../chunk-MFHXCHRI.js";
10
- import "../chunk-NDKERSXY.js";
11
- import "../chunk-P43IE4WB.js";
12
- import "../chunk-6QJ3V3VS.js";
13
- import "../chunk-JD77Y2WM.js";
14
- import "../chunk-EAUSEGB7.js";
15
- import "../chunk-WZTTZHNR.js";
8
+ import "../chunk-JQMPHKLU.js";
9
+ import "../chunk-MHOQTPOB.js";
10
+ import "../chunk-OLFOPQCA.js";
16
11
  import "../chunk-DLF4WVSE.js";
17
12
  import "../chunk-U4V4FZGE.js";
18
13
  import "../chunk-AWT3P5ZN.js";
19
- import "../chunk-QGAWDLYX.js";
20
- import "../chunk-MVEE6HEC.js";
21
- import "../chunk-ZSZABOE5.js";
22
- import "../chunk-BDMTUEEZ.js";
23
- import "../chunk-EMGFZ3PR.js";
24
- import "../chunk-S3P5BFFL.js";
25
- import "../chunk-ZFEXATWN.js";
14
+ import "../chunk-GA23TRNR.js";
15
+ import "../chunk-PMY24FUD.js";
26
16
  import {
27
17
  Grain,
28
18
  Vignette
29
- } from "../chunk-N67PDTKQ.js";
30
- import "../chunk-DSNG6WLU.js";
31
- import "../chunk-YA3OR2KK.js";
19
+ } from "../chunk-ABL557OT.js";
20
+ import "../chunk-P727GZVO.js";
21
+ import "../chunk-BDMTUEEZ.js";
22
+ import "../chunk-EMGFZ3PR.js";
23
+ import "../chunk-ZFEXATWN.js";
24
+ import "../chunk-YX2GSJK7.js";
25
+ import "../chunk-AYVJXDLB.js";
26
+ import "../chunk-SW336CJP.js";
27
+ import "../chunk-QGAWDLYX.js";
28
+ import "../chunk-ZSZABOE5.js";
32
29
  import "../chunk-CX2IIQ4R.js";
33
- import "../chunk-5I7VDCAC.js";
34
- import "../chunk-JF4JJAFP.js";
30
+ import "../chunk-ZB3C3HM7.js";
35
31
  import "../chunk-7PA7FGLD.js";
32
+ import "../chunk-JF4JJAFP.js";
36
33
  import {
37
34
  CueframeError,
38
35
  encodeError
package/dist/compose.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  resolveTokens,
3
3
  sceneToRenderInput
4
- } from "./chunk-G3PBH53P.js";
4
+ } from "./chunk-COYMZ76S.js";
5
5
  import {
6
6
  allCatalogs,
7
7
  getPrimitiveSubtext,
@@ -13,46 +13,43 @@ import {
13
13
  resetPrimitiveOverrides,
14
14
  resolvePrimitive,
15
15
  resolveTransitionPresentation
16
- } from "./chunk-MC5DLSEV.js";
16
+ } from "./chunk-ODL7GQJG.js";
17
17
  import "./chunk-H5LMJKZU.js";
18
- import "./chunk-FUWJOVVK.js";
19
- import "./chunk-UEI3NLNK.js";
20
18
  import "./chunk-GULDS3VE.js";
21
19
  import "./chunk-7DHP4ESU.js";
22
20
  import "./chunk-MFHXCHRI.js";
23
- import "./chunk-NDKERSXY.js";
24
- import "./chunk-P43IE4WB.js";
25
- import "./chunk-6QJ3V3VS.js";
26
- import "./chunk-JD77Y2WM.js";
27
- import "./chunk-EAUSEGB7.js";
28
- import "./chunk-WZTTZHNR.js";
21
+ import "./chunk-JQMPHKLU.js";
22
+ import "./chunk-MHOQTPOB.js";
23
+ import "./chunk-OLFOPQCA.js";
29
24
  import "./chunk-DLF4WVSE.js";
30
25
  import "./chunk-U4V4FZGE.js";
31
26
  import "./chunk-AWT3P5ZN.js";
32
- import "./chunk-QGAWDLYX.js";
33
- import "./chunk-MVEE6HEC.js";
34
- import "./chunk-ZSZABOE5.js";
27
+ import "./chunk-GA23TRNR.js";
28
+ import "./chunk-PMY24FUD.js";
29
+ import "./chunk-ABL557OT.js";
30
+ import "./chunk-P727GZVO.js";
35
31
  import "./chunk-BDMTUEEZ.js";
36
32
  import "./chunk-EMGFZ3PR.js";
37
- import "./chunk-S3P5BFFL.js";
38
33
  import "./chunk-ZFEXATWN.js";
39
- import "./chunk-N67PDTKQ.js";
40
- import "./chunk-DSNG6WLU.js";
41
- import "./chunk-YA3OR2KK.js";
34
+ import "./chunk-YX2GSJK7.js";
35
+ import "./chunk-AYVJXDLB.js";
36
+ import "./chunk-SW336CJP.js";
37
+ import "./chunk-QGAWDLYX.js";
38
+ import "./chunk-ZSZABOE5.js";
42
39
  import "./chunk-CX2IIQ4R.js";
43
40
  import {
44
41
  getPrimitiveSubtextParam,
45
42
  getPrimitiveTextParam,
46
43
  listPrimitivesByCategory
47
- } from "./chunk-5I7VDCAC.js";
48
- import "./chunk-JF4JJAFP.js";
49
- import "./chunk-6CMVBTTP.js";
44
+ } from "./chunk-ZB3C3HM7.js";
45
+ import "./chunk-YIOY2XEO.js";
50
46
  import "./chunk-QH3YI3ND.js";
51
- import "./chunk-TWQOKKAF.js";
52
47
  import "./chunk-JRQVPFLF.js";
48
+ import "./chunk-TWQOKKAF.js";
53
49
  import "./chunk-JMURQODM.js";
54
50
  import "./chunk-7PA7FGLD.js";
55
51
  import "./chunk-KYRDKK2D.js";
52
+ import "./chunk-JF4JJAFP.js";
56
53
  import "./chunk-DENF4TPI.js";
57
54
  import "./chunk-WREYUH2E.js";
58
55
  import "./chunk-37NJ27UU.js";
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  placeInLegalArea,
3
3
  resolveBrandRefsDeep
4
- } from "../chunk-BRKJKB33.js";
5
- import "../chunk-V43Y7IE4.js";
4
+ } from "../chunk-FYZVH3MC.js";
5
+ import "../chunk-DSMLHYJ4.js";
6
6
  import "../chunk-JF4JJAFP.js";
7
7
  import {
8
8
  ContentBeat,
@@ -26,7 +26,7 @@ import {
26
26
  PlanRect,
27
27
  StyleRole,
28
28
  ZPlane
29
- } from "../chunk-ATAF24QG.js";
29
+ } from "../chunk-MXFAADCQ.js";
30
30
  import "../chunk-W35ZMOXB.js";
31
31
  import "../chunk-EA6MYCYW.js";
32
32
  import "../chunk-WREYUH2E.js";
@@ -20,12 +20,12 @@ import {
20
20
  selectMediaClipAt,
21
21
  selectSceneMarkers,
22
22
  selectTracksByKind
23
- } from "../chunk-NV4I6GJV.js";
24
- import "../chunk-TULRCY6U.js";
25
- import "../chunk-ATAF24QG.js";
23
+ } from "../chunk-XWKZB5U5.js";
24
+ import "../chunk-KYRDKK2D.js";
25
+ import "../chunk-NFEGPWGS.js";
26
+ import "../chunk-MXFAADCQ.js";
26
27
  import "../chunk-W35ZMOXB.js";
27
28
  import "../chunk-EA6MYCYW.js";
28
- import "../chunk-KYRDKK2D.js";
29
29
  import "../chunk-WREYUH2E.js";
30
30
  import "../chunk-2ESYSVXG.js";
31
31
  export {
@@ -26,7 +26,7 @@ import {
26
26
  validateCatalogFilters,
27
27
  validateParamsAgainstSchema,
28
28
  validatePrimitiveParams
29
- } from "../chunk-5I7VDCAC.js";
29
+ } from "../chunk-ZB3C3HM7.js";
30
30
  import "../chunk-7PA7FGLD.js";
31
31
  import "../chunk-2ESYSVXG.js";
32
32
  export {
@@ -18,7 +18,7 @@ import {
18
18
  resolveSegmentAt,
19
19
  silhouetteKeepOutForWindow,
20
20
  sourceRectToOutput
21
- } from "../chunk-OIRUO5P7.js";
21
+ } from "../chunk-GEA7E2FL.js";
22
22
  import {
23
23
  BRAND_TOKEN_REFS,
24
24
  BRAND_TOKEN_ROOT_KEYS,
@@ -54,10 +54,10 @@ import {
54
54
  resolveLayoutIntent,
55
55
  resolveOverlayRegion,
56
56
  unionFaceKeepOutSeries
57
- } from "../chunk-BRKJKB33.js";
57
+ } from "../chunk-FYZVH3MC.js";
58
58
  import {
59
59
  apcaLc
60
- } from "../chunk-V43Y7IE4.js";
60
+ } from "../chunk-DSMLHYJ4.js";
61
61
  import "../chunk-JF4JJAFP.js";
62
62
  import "../chunk-37NJ27UU.js";
63
63
  import "../chunk-2ESYSVXG.js";
@@ -48,7 +48,7 @@ import {
48
48
  WebhookDeliveryStatus,
49
49
  WebhookDestination,
50
50
  YoutubeDestination
51
- } from "../chunk-TULRCY6U.js";
51
+ } from "../chunk-NFEGPWGS.js";
52
52
  import {
53
53
  ANIMATABLE_PARAMS,
54
54
  AlphaLayerClipSource,
@@ -80,7 +80,7 @@ import {
80
80
  TrackContent,
81
81
  Transition,
82
82
  captionWords
83
- } from "../chunk-ATAF24QG.js";
83
+ } from "../chunk-MXFAADCQ.js";
84
84
  import {
85
85
  AUTHORED_GRAPHIC_KINDS
86
86
  } from "../chunk-W35ZMOXB.js";
@@ -3,8 +3,17 @@ import {
3
3
  findClipById,
4
4
  findMarkerById,
5
5
  findTrackContainingClipId
6
- } from "./chunk-NV4I6GJV.js";
7
- import "./chunk-TULRCY6U.js";
6
+ } from "./chunk-XWKZB5U5.js";
7
+ import {
8
+ playableSpans
9
+ } from "./chunk-YIOY2XEO.js";
10
+ import "./chunk-QH3YI3ND.js";
11
+ import "./chunk-JRQVPFLF.js";
12
+ import "./chunk-TWQOKKAF.js";
13
+ import "./chunk-JMURQODM.js";
14
+ import "./chunk-7PA7FGLD.js";
15
+ import "./chunk-KYRDKK2D.js";
16
+ import "./chunk-NFEGPWGS.js";
8
17
  import {
9
18
  CaptionSegment,
10
19
  CaptionStyle,
@@ -14,20 +23,11 @@ import {
14
23
  PerClipEffect,
15
24
  TimelineClip,
16
25
  Track
17
- } from "./chunk-ATAF24QG.js";
26
+ } from "./chunk-MXFAADCQ.js";
18
27
  import "./chunk-W35ZMOXB.js";
19
28
  import {
20
29
  ReframeSegment
21
30
  } from "./chunk-EA6MYCYW.js";
22
- import {
23
- playableSpans
24
- } from "./chunk-6CMVBTTP.js";
25
- import "./chunk-QH3YI3ND.js";
26
- import "./chunk-TWQOKKAF.js";
27
- import "./chunk-JRQVPFLF.js";
28
- import "./chunk-JMURQODM.js";
29
- import "./chunk-7PA7FGLD.js";
30
- import "./chunk-KYRDKK2D.js";
31
31
  import "./chunk-DENF4TPI.js";
32
32
  import "./chunk-WREYUH2E.js";
33
33
  import "./chunk-37NJ27UU.js";