@hypit/hypit 0.0.1 → 0.1.1

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 (961) hide show
  1. package/LICENSE +26 -0
  2. package/README.md +142 -0
  3. package/bin/hypit.mjs +46 -0
  4. package/dist/public/artifact.d.ts +75 -0
  5. package/dist/public/author-kit.d.ts +559 -0
  6. package/dist/public/browser-capture.d.ts +56 -0
  7. package/dist/public/caption.d.ts +751 -0
  8. package/dist/public/composition.d.ts +672 -0
  9. package/dist/public/endpoint-kit.d.ts +366 -0
  10. package/dist/public/generation.d.ts +591 -0
  11. package/dist/public/hyperframes.d.ts +774 -0
  12. package/dist/public/media.d.ts +708 -0
  13. package/dist/public/model-kit.d.ts +523 -0
  14. package/dist/public/narrative.d.ts +315 -0
  15. package/dist/public/program-space.d.ts +193 -0
  16. package/dist/public/runtime-kit.d.ts +427 -0
  17. package/dist/public/semantic-track.d.ts +418 -0
  18. package/dist/public/spatial.d.ts +1193 -0
  19. package/dist/public/speech.d.ts +391 -0
  20. package/dist/public/studio-adapter.d.ts +686 -0
  21. package/dist/public/svs.d.ts +311 -0
  22. package/dist/public/temporal-markup.d.ts +343 -0
  23. package/dist/public/temporal.d.ts +497 -0
  24. package/dist/public/text.d.ts +817 -0
  25. package/dist/public/visual-ir.d.ts +98 -0
  26. package/docs/public/hypit-logo-dark.svg +36 -0
  27. package/docs/public/hypit-logo-light.svg +38 -0
  28. package/examples/README.md +24 -0
  29. package/examples/minimal-author-package/README.md +18 -0
  30. package/examples/minimal-author-package/packages/example-component/README.md +44 -0
  31. package/examples/minimal-author-package/packages/example-component/package.json +27 -0
  32. package/examples/minimal-author-package/packages/example-component/preview/Box.png +0 -0
  33. package/examples/minimal-author-package/packages/example-component/preview/build.svrun +6 -0
  34. package/examples/minimal-author-package/packages/example-component/preview/preview.svml +47 -0
  35. package/examples/minimal-author-package/packages/example-component/preview/recipes.svs +8 -0
  36. package/examples/minimal-author-package/packages/example-component/src/activation.ts +10 -0
  37. package/examples/minimal-author-package/packages/example-component/src/component.ts +44 -0
  38. package/examples/minimal-author-package/packages/example-component/src/fragment.ts +32 -0
  39. package/examples/minimal-author-package/packages/example-component/src/index.ts +6 -0
  40. package/examples/minimal-author-package/packages/example-component/src/manifest.ts +82 -0
  41. package/examples/minimal-author-package/packages/example-component/src/style.ts +13 -0
  42. package/examples/minimal-author-package/packages/example-component/src/surface.ts +41 -0
  43. package/examples/minimal-author-package/packages/example-component/src/temporal.ts +6 -0
  44. package/examples/minimal-author-package/packages/example-component/tsconfig.json +18 -0
  45. package/examples/semantic-composition/README.md +35 -0
  46. package/examples/semantic-composition/chat.svml +25 -0
  47. package/examples/semantic-composition/chat.svrun +6 -0
  48. package/examples/semantic-composition/chat.svs +4 -0
  49. package/examples/semantic-composition/hypit.runtime.json +8 -0
  50. package/examples/semantic-composition/packages/chat-scene/README.md +29 -0
  51. package/examples/semantic-composition/packages/chat-scene/package.json +11 -0
  52. package/examples/semantic-composition/packages/chat-scene/src/activation.ts +112 -0
  53. package/examples/semantic-composition/packages/chat-scene/src/render.ts +64 -0
  54. package/examples/semantic-composition/packages/chat-scene/tsconfig.json +18 -0
  55. package/examples/semantic-composition/packages/responsive-explainer/README.md +45 -0
  56. package/examples/semantic-composition/packages/responsive-explainer/package.json +11 -0
  57. package/examples/semantic-composition/packages/responsive-explainer/src/activation.ts +90 -0
  58. package/examples/semantic-composition/packages/responsive-explainer/src/render.ts +68 -0
  59. package/examples/semantic-composition/packages/responsive-explainer/tsconfig.json +18 -0
  60. package/package.json +263 -5
  61. package/packages/artifact/README.md +10 -0
  62. package/packages/artifact/package.json +16 -0
  63. package/packages/artifact/src/activation.ts +8 -0
  64. package/packages/artifact/src/index.ts +24 -0
  65. package/packages/audio-track/README.md +43 -0
  66. package/packages/audio-track/package.json +36 -0
  67. package/packages/audio-track/src/activation.ts +20 -0
  68. package/packages/audio-track/src/component.ts +40 -0
  69. package/packages/audio-track/src/fragment.ts +63 -0
  70. package/packages/audio-track/src/index.ts +7 -0
  71. package/packages/audio-track/src/manifest.ts +151 -0
  72. package/packages/audio-track/src/program.ts +254 -0
  73. package/packages/audio-track/src/surface.ts +187 -0
  74. package/packages/audio-track/src/types.ts +62 -0
  75. package/packages/audio-track-studio/README.md +3 -0
  76. package/packages/audio-track-studio/package.json +14 -0
  77. package/packages/audio-track-studio/src/activation.ts +7 -0
  78. package/packages/audio-track-studio/src/index.ts +72 -0
  79. package/packages/author-kit/README.md +31 -0
  80. package/packages/author-kit/package.json +16 -0
  81. package/packages/author-kit/src/index.ts +59 -0
  82. package/packages/background-removal/README.md +29 -0
  83. package/packages/background-removal/package.json +16 -0
  84. package/packages/background-removal/src/activation.ts +18 -0
  85. package/packages/background-removal/src/component.ts +32 -0
  86. package/packages/background-removal/src/fragment.ts +18 -0
  87. package/packages/background-removal/src/index.ts +6 -0
  88. package/packages/background-removal/src/manifest.ts +45 -0
  89. package/packages/background-removal/src/program.ts +19 -0
  90. package/packages/background-removal/src/surface.ts +27 -0
  91. package/packages/background-removal/src/types.ts +5 -0
  92. package/packages/browser-capture/README.md +82 -0
  93. package/packages/browser-capture/package.json +15 -0
  94. package/packages/browser-capture/src/browser.ts +19 -0
  95. package/packages/browser-capture/src/index.ts +198 -0
  96. package/packages/build-result/package.json +13 -0
  97. package/packages/build-result/src/decode.ts +286 -0
  98. package/packages/build-result/src/index.ts +25 -0
  99. package/packages/build-result/src/store.ts +505 -0
  100. package/packages/build-result/src/types.ts +354 -0
  101. package/packages/build-result/src/writer.ts +184 -0
  102. package/packages/build-result-fs/README.md +29 -0
  103. package/packages/build-result-fs/package.json +17 -0
  104. package/packages/build-result-fs/src/activation.ts +62 -0
  105. package/packages/build-result-fs/src/index.ts +1 -0
  106. package/packages/build-result-kit/README.md +10 -0
  107. package/packages/build-result-kit/package.json +15 -0
  108. package/packages/build-result-kit/src/index.ts +144 -0
  109. package/packages/build-result-s3/README.md +49 -0
  110. package/packages/build-result-s3/package.json +19 -0
  111. package/packages/build-result-s3/src/activation.ts +71 -0
  112. package/packages/build-result-s3/src/client.ts +254 -0
  113. package/packages/build-result-s3/src/index.ts +4 -0
  114. package/packages/build-result-s3/src/repository.ts +361 -0
  115. package/packages/caption/README.md +77 -0
  116. package/packages/caption/package.json +28 -0
  117. package/packages/caption/src/activation.ts +17 -0
  118. package/packages/caption/src/component.ts +38 -0
  119. package/packages/caption/src/display.ts +111 -0
  120. package/packages/caption/src/error.ts +9 -0
  121. package/packages/caption/src/fragment.ts +26 -0
  122. package/packages/caption/src/index.ts +33 -0
  123. package/packages/caption/src/manifest.ts +97 -0
  124. package/packages/caption/src/style.ts +170 -0
  125. package/packages/caption/src/surface.ts +96 -0
  126. package/packages/caption/src/temporalize.ts +124 -0
  127. package/packages/caption/src/types.ts +71 -0
  128. package/packages/caption-fine/README.md +108 -0
  129. package/packages/caption-fine/package.json +30 -0
  130. package/packages/caption-fine/preview/Track.png +0 -0
  131. package/packages/caption-fine/src/activation.ts +32 -0
  132. package/packages/caption-fine/src/component.ts +58 -0
  133. package/packages/caption-fine/src/fragment.ts +112 -0
  134. package/packages/caption-fine/src/index.ts +19 -0
  135. package/packages/caption-fine/src/manifest.ts +383 -0
  136. package/packages/caption-fine/src/recipe.ts +120 -0
  137. package/packages/caption-fine/src/render.ts +1133 -0
  138. package/packages/caption-fine/src/schedule.ts +126 -0
  139. package/packages/caption-fine/src/spacing.ts +69 -0
  140. package/packages/caption-fine/src/style.ts +370 -0
  141. package/packages/caption-fine/src/surface.ts +152 -0
  142. package/packages/caption-fine/src/types.ts +191 -0
  143. package/packages/caption-fine-studio/README.md +3 -0
  144. package/packages/caption-fine-studio/package.json +15 -0
  145. package/packages/caption-fine-studio/src/activation.ts +7 -0
  146. package/packages/caption-fine-studio/src/index.ts +163 -0
  147. package/packages/cli/README.md +51 -0
  148. package/packages/cli/package.json +33 -0
  149. package/packages/cli/src/arguments.ts +605 -0
  150. package/packages/cli/src/build-planning.ts +460 -0
  151. package/packages/cli/src/command.ts +202 -0
  152. package/packages/cli/src/commands/environment.ts +391 -0
  153. package/packages/cli/src/commands/execution.ts +321 -0
  154. package/packages/cli/src/commands/results.ts +187 -0
  155. package/packages/cli/src/commands/types.ts +9 -0
  156. package/packages/cli/src/distribution.ts +74 -0
  157. package/packages/cli/src/index.ts +30 -0
  158. package/packages/cli/src/machine-view.ts +28 -0
  159. package/packages/cli/src/main.ts +654 -0
  160. package/packages/cli/src/oauth.ts +228 -0
  161. package/packages/cli/src/observation.ts +203 -0
  162. package/packages/cli/src/output.ts +1007 -0
  163. package/packages/cli/src/paths.ts +7 -0
  164. package/packages/cli/src/project-context.ts +38 -0
  165. package/packages/cli/src/reachability.ts +91 -0
  166. package/packages/cli/src/result-export.ts +148 -0
  167. package/packages/cli/src/result-query.ts +46 -0
  168. package/packages/cli/src/run-file.ts +186 -0
  169. package/packages/cli/src/runtime-port.ts +13 -0
  170. package/packages/cli/src/runtime-selection.ts +94 -0
  171. package/packages/cli/src/runtime-view.ts +15 -0
  172. package/packages/cli/src/source-discovery.ts +150 -0
  173. package/packages/cli/src/source-packages.ts +91 -0
  174. package/packages/cli/src/view.ts +228 -0
  175. package/packages/comment-sticker/README.md +41 -0
  176. package/packages/comment-sticker/package.json +29 -0
  177. package/packages/comment-sticker/preview/Track.png +0 -0
  178. package/packages/comment-sticker/src/activation.ts +32 -0
  179. package/packages/comment-sticker/src/author.ts +148 -0
  180. package/packages/comment-sticker/src/component.ts +97 -0
  181. package/packages/comment-sticker/src/fragment.ts +124 -0
  182. package/packages/comment-sticker/src/index.ts +8 -0
  183. package/packages/comment-sticker/src/manifest.ts +373 -0
  184. package/packages/comment-sticker/src/program.ts +610 -0
  185. package/packages/comment-sticker/src/surface.ts +172 -0
  186. package/packages/comment-sticker/src/types.ts +109 -0
  187. package/packages/comment-sticker-studio/README.md +3 -0
  188. package/packages/comment-sticker-studio/package.json +14 -0
  189. package/packages/comment-sticker-studio/src/activation.ts +7 -0
  190. package/packages/comment-sticker-studio/src/index.ts +132 -0
  191. package/packages/compiler-markup-node/README.md +12 -0
  192. package/packages/compiler-markup-node/package.json +22 -0
  193. package/packages/compiler-markup-node/src/index.ts +59 -0
  194. package/packages/compiler-node/README.md +60 -0
  195. package/packages/compiler-node/package.json +25 -0
  196. package/packages/compiler-node/src/compiler.ts +207 -0
  197. package/packages/compiler-node/src/error.ts +11 -0
  198. package/packages/compiler-node/src/graph-query.ts +51 -0
  199. package/packages/compiler-node/src/index.ts +27 -0
  200. package/packages/compiler-node/src/modules.ts +107 -0
  201. package/packages/compiler-node/src/run.ts +355 -0
  202. package/packages/component-kit/README.md +97 -0
  203. package/packages/component-kit/package.json +13 -0
  204. package/packages/component-kit/src/index.ts +155 -0
  205. package/packages/composition/README.md +53 -0
  206. package/packages/composition/package.json +29 -0
  207. package/packages/composition/src/activation.ts +3 -0
  208. package/packages/composition/src/component.ts +10 -0
  209. package/packages/composition/src/index.ts +18 -0
  210. package/packages/composition/src/manifest.ts +13 -0
  211. package/packages/composition/src/schema.ts +194 -0
  212. package/packages/composition/src/track.ts +1403 -0
  213. package/packages/core/README.md +22 -0
  214. package/packages/core/package.json +13 -0
  215. package/packages/core/src/error.ts +12 -0
  216. package/packages/core/src/graph.ts +341 -0
  217. package/packages/core/src/index.ts +32 -0
  218. package/packages/core/src/link.ts +240 -0
  219. package/packages/core/src/machine.ts +60 -0
  220. package/packages/core/src/plan.ts +504 -0
  221. package/packages/core/src/reducer.ts +428 -0
  222. package/packages/core/src/reference.ts +25 -0
  223. package/packages/core/src/slice.ts +108 -0
  224. package/packages/credential-store-env/README.md +11 -0
  225. package/packages/credential-store-env/package.json +17 -0
  226. package/packages/credential-store-env/src/activation.ts +25 -0
  227. package/packages/credential-store-env/src/index.ts +23 -0
  228. package/packages/credential-store-os/README.md +13 -0
  229. package/packages/credential-store-os/package.json +22 -0
  230. package/packages/credential-store-os/runtime/windows-credential.ps1 +59 -0
  231. package/packages/credential-store-os/src/activation.ts +32 -0
  232. package/packages/credential-store-os/src/index.ts +2 -0
  233. package/packages/credential-store-os/src/store.ts +196 -0
  234. package/packages/deck-track/README.md +52 -0
  235. package/packages/deck-track/package.json +35 -0
  236. package/packages/deck-track/preview/DepthStack.png +0 -0
  237. package/packages/deck-track/src/activation.ts +32 -0
  238. package/packages/deck-track/src/author.ts +217 -0
  239. package/packages/deck-track/src/component.ts +86 -0
  240. package/packages/deck-track/src/fragment.ts +148 -0
  241. package/packages/deck-track/src/index.ts +16 -0
  242. package/packages/deck-track/src/lower.ts +370 -0
  243. package/packages/deck-track/src/manifest.ts +438 -0
  244. package/packages/deck-track/src/program.ts +367 -0
  245. package/packages/deck-track/src/surface.ts +286 -0
  246. package/packages/deck-track/src/types.ts +119 -0
  247. package/packages/deck-track-studio/README.md +3 -0
  248. package/packages/deck-track-studio/package.json +14 -0
  249. package/packages/deck-track-studio/src/activation.ts +7 -0
  250. package/packages/deck-track-studio/src/index.ts +134 -0
  251. package/packages/driver-node/README.md +23 -0
  252. package/packages/driver-node/package.json +18 -0
  253. package/packages/driver-node/src/driver.ts +616 -0
  254. package/packages/driver-node/src/index.ts +10 -0
  255. package/packages/driver-node/src/planning.ts +67 -0
  256. package/packages/driver-node/src/registry.ts +234 -0
  257. package/packages/driver-node/src/resources.ts +36 -0
  258. package/packages/driver-node/src/types.ts +69 -0
  259. package/packages/elaborator/README.md +74 -0
  260. package/packages/elaborator/package.json +16 -0
  261. package/packages/elaborator/src/author.ts +308 -0
  262. package/packages/elaborator/src/fragment.ts +505 -0
  263. package/packages/elaborator/src/frontend-facet.ts +30 -0
  264. package/packages/elaborator/src/index.ts +78 -0
  265. package/packages/elaborator/src/source.ts +608 -0
  266. package/packages/endpoint-kit/README.md +111 -0
  267. package/packages/endpoint-kit/package.json +14 -0
  268. package/packages/endpoint-kit/src/index.ts +488 -0
  269. package/packages/estimate/README.md +32 -0
  270. package/packages/estimate/package.json +20 -0
  271. package/packages/estimate/src/activation.ts +11 -0
  272. package/packages/estimate/src/index.ts +16 -0
  273. package/packages/estimate/src/manifest.ts +34 -0
  274. package/packages/estimate/src/policy.ts +70 -0
  275. package/packages/estimate/src/program.ts +196 -0
  276. package/packages/estimate/src/types.ts +15 -0
  277. package/packages/film/README.md +49 -0
  278. package/packages/film/package.json +34 -0
  279. package/packages/film/src/activation.ts +16 -0
  280. package/packages/film/src/component.ts +61 -0
  281. package/packages/film/src/fragment.ts +83 -0
  282. package/packages/film/src/index.ts +11 -0
  283. package/packages/film/src/manifest.ts +152 -0
  284. package/packages/film/src/program.ts +110 -0
  285. package/packages/film/src/recipe.ts +24 -0
  286. package/packages/film/src/surface.ts +146 -0
  287. package/packages/film/src/types.ts +26 -0
  288. package/packages/film-studio/package.json +16 -0
  289. package/packages/film-studio/src/activation.ts +8 -0
  290. package/packages/film-studio/src/index.ts +17 -0
  291. package/packages/fonts-open/README.md +77 -0
  292. package/packages/fonts-open/package.json +130 -0
  293. package/packages/fonts-open/src/activation.ts +30 -0
  294. package/packages/fonts-open/src/catalog.ts +317 -0
  295. package/packages/fonts-open/src/index.ts +13 -0
  296. package/packages/fonts-open/src/manifest.ts +83 -0
  297. package/packages/fonts-open/src/surface.ts +239 -0
  298. package/packages/generation/README.md +19 -0
  299. package/packages/generation/package.json +23 -0
  300. package/packages/generation/src/activation.ts +9 -0
  301. package/packages/generation/src/component.ts +77 -0
  302. package/packages/generation/src/identity.ts +80 -0
  303. package/packages/generation/src/index.ts +79 -0
  304. package/packages/generation/src/manifest.ts +65 -0
  305. package/packages/generation/src/mapping.ts +231 -0
  306. package/packages/generation/src/ports.ts +222 -0
  307. package/packages/generation/src/request.ts +427 -0
  308. package/packages/generation/src/schema.ts +62 -0
  309. package/packages/generation/src/types.ts +17 -0
  310. package/packages/gpt-image/README.md +54 -0
  311. package/packages/gpt-image/package.json +34 -0
  312. package/packages/gpt-image/src/activation.ts +39 -0
  313. package/packages/gpt-image/src/fragment.ts +101 -0
  314. package/packages/gpt-image/src/index.ts +203 -0
  315. package/packages/gpt-image/src/surface.ts +194 -0
  316. package/packages/gpt-image-kits/README.md +44 -0
  317. package/packages/gpt-image-kits/kits/phone-ugc-v1.svs +34 -0
  318. package/packages/gpt-image-kits/package.json +15 -0
  319. package/packages/grok-imagine/README.md +21 -0
  320. package/packages/grok-imagine/package.json +21 -0
  321. package/packages/grok-imagine/src/activation.ts +29 -0
  322. package/packages/grok-imagine/src/index.ts +174 -0
  323. package/packages/grok-imagine/src/surface.ts +149 -0
  324. package/packages/host/README.md +5 -0
  325. package/packages/host/package.json +10 -0
  326. package/packages/host/src/facet.ts +6 -0
  327. package/packages/host/src/frontend.ts +56 -0
  328. package/packages/host/src/index.ts +9 -0
  329. package/packages/hyperframes/README.md +69 -0
  330. package/packages/hyperframes/package.json +36 -0
  331. package/packages/hyperframes/src/activation.ts +8 -0
  332. package/packages/hyperframes/src/browser-program.ts +79 -0
  333. package/packages/hyperframes/src/component.ts +32 -0
  334. package/packages/hyperframes/src/document.ts +827 -0
  335. package/packages/hyperframes/src/fragment.ts +32 -0
  336. package/packages/hyperframes/src/index.ts +13 -0
  337. package/packages/hyperframes/src/manifest.ts +67 -0
  338. package/packages/hyperframes/src/project.ts +118 -0
  339. package/packages/hyperframes/src/text.ts +1179 -0
  340. package/packages/hyperframes/src/types.ts +38 -0
  341. package/packages/image-compose/README.md +25 -0
  342. package/packages/image-compose/package.json +18 -0
  343. package/packages/image-compose/src/activation.ts +21 -0
  344. package/packages/image-compose/src/component.ts +100 -0
  345. package/packages/image-compose/src/fragment.ts +54 -0
  346. package/packages/image-compose/src/index.ts +10 -0
  347. package/packages/image-compose/src/manifest.ts +119 -0
  348. package/packages/image-compose/src/program.ts +75 -0
  349. package/packages/image-compose/src/surface.ts +83 -0
  350. package/packages/image-compose/src/types.ts +22 -0
  351. package/packages/image-transform/README.md +29 -0
  352. package/packages/image-transform/package.json +21 -0
  353. package/packages/image-transform/src/activation.ts +33 -0
  354. package/packages/image-transform/src/component.ts +67 -0
  355. package/packages/image-transform/src/fragment.ts +25 -0
  356. package/packages/image-transform/src/index.ts +13 -0
  357. package/packages/image-transform/src/manifest.ts +209 -0
  358. package/packages/image-transform/src/program.ts +23 -0
  359. package/packages/image-transform/src/surface.ts +216 -0
  360. package/packages/image-transform/src/types.ts +20 -0
  361. package/packages/interview-emoji-reveal/README.md +39 -0
  362. package/packages/interview-emoji-reveal/package.json +23 -0
  363. package/packages/interview-emoji-reveal/preview/Track.png +0 -0
  364. package/packages/interview-emoji-reveal/src/activation.ts +14 -0
  365. package/packages/interview-emoji-reveal/src/component.ts +45 -0
  366. package/packages/interview-emoji-reveal/src/fragment.ts +62 -0
  367. package/packages/interview-emoji-reveal/src/index.ts +16 -0
  368. package/packages/interview-emoji-reveal/src/manifest.ts +174 -0
  369. package/packages/interview-emoji-reveal/src/program.ts +242 -0
  370. package/packages/interview-emoji-reveal/src/style.ts +47 -0
  371. package/packages/interview-emoji-reveal/src/surface.ts +110 -0
  372. package/packages/interview-emoji-reveal/src/types.ts +52 -0
  373. package/packages/markup/README.md +81 -0
  374. package/packages/markup/package.json +16 -0
  375. package/packages/markup/src/element.ts +39 -0
  376. package/packages/markup/src/error.ts +20 -0
  377. package/packages/markup/src/frontend.ts +518 -0
  378. package/packages/markup/src/host-facet.ts +115 -0
  379. package/packages/markup/src/index.ts +25 -0
  380. package/packages/markup/src/registry.ts +83 -0
  381. package/packages/markup/src/syntax.ts +271 -0
  382. package/packages/markup/src/types.ts +246 -0
  383. package/packages/media/README.md +37 -0
  384. package/packages/media/package.json +19 -0
  385. package/packages/media/src/activation.ts +38 -0
  386. package/packages/media/src/component.ts +16 -0
  387. package/packages/media/src/frame-range.ts +33 -0
  388. package/packages/media/src/identity.ts +227 -0
  389. package/packages/media/src/index.ts +15 -0
  390. package/packages/media/src/manifest.ts +122 -0
  391. package/packages/media/src/render.ts +140 -0
  392. package/packages/media/src/schema.ts +69 -0
  393. package/packages/media/src/surface.ts +150 -0
  394. package/packages/media/src/types.ts +121 -0
  395. package/packages/media-execution/README.md +28 -0
  396. package/packages/media-execution/package.json +17 -0
  397. package/packages/media-execution/src/execute.ts +1322 -0
  398. package/packages/media-execution/src/index.ts +16 -0
  399. package/packages/media-execution/src/probe.ts +315 -0
  400. package/packages/media-execution/src/surface.ts +286 -0
  401. package/packages/media-execution/src/toolchain.ts +81 -0
  402. package/packages/media-execution/src/webp.ts +200 -0
  403. package/packages/media-pipeline/README.md +113 -0
  404. package/packages/media-pipeline/package.json +27 -0
  405. package/packages/media-pipeline/src/activation.ts +47 -0
  406. package/packages/media-pipeline/src/audio-plan.ts +113 -0
  407. package/packages/media-pipeline/src/component.ts +373 -0
  408. package/packages/media-pipeline/src/fragment.ts +167 -0
  409. package/packages/media-pipeline/src/index.ts +46 -0
  410. package/packages/media-pipeline/src/manifest.ts +653 -0
  411. package/packages/media-pipeline/src/operations.ts +248 -0
  412. package/packages/media-pipeline/src/selection.ts +110 -0
  413. package/packages/media-pipeline/src/surface.ts +389 -0
  414. package/packages/media-pipeline/src/types.ts +175 -0
  415. package/packages/media-track/README.md +197 -0
  416. package/packages/media-track/package.json +29 -0
  417. package/packages/media-track/preview/Track.png +0 -0
  418. package/packages/media-track/preview/build.svrun +5 -0
  419. package/packages/media-track/preview/flush.png +0 -0
  420. package/packages/media-track/preview/preview.svml +47 -0
  421. package/packages/media-track/preview/recipes.svs +23 -0
  422. package/packages/media-track/preview/rounded.png +0 -0
  423. package/packages/media-track/src/activation.ts +20 -0
  424. package/packages/media-track/src/author.ts +317 -0
  425. package/packages/media-track/src/component.ts +162 -0
  426. package/packages/media-track/src/fragment.ts +57 -0
  427. package/packages/media-track/src/index.ts +65 -0
  428. package/packages/media-track/src/layers.ts +308 -0
  429. package/packages/media-track/src/lower.ts +335 -0
  430. package/packages/media-track/src/manifest.ts +624 -0
  431. package/packages/media-track/src/motion.ts +387 -0
  432. package/packages/media-track/src/performance.ts +37 -0
  433. package/packages/media-track/src/presentation.ts +35 -0
  434. package/packages/media-track/src/program.ts +565 -0
  435. package/packages/media-track/src/sampling.ts +118 -0
  436. package/packages/media-track/src/sequence.ts +403 -0
  437. package/packages/media-track/src/sounds.ts +71 -0
  438. package/packages/media-track/src/surface.ts +668 -0
  439. package/packages/media-track/src/types.ts +311 -0
  440. package/packages/media-track-studio/README.md +3 -0
  441. package/packages/media-track-studio/package.json +15 -0
  442. package/packages/media-track-studio/src/activation.ts +7 -0
  443. package/packages/media-track-studio/src/index.ts +235 -0
  444. package/packages/mimo-speech/README.md +33 -0
  445. package/packages/mimo-speech/package.json +21 -0
  446. package/packages/mimo-speech/src/activation.ts +32 -0
  447. package/packages/mimo-speech/src/fragment.ts +11 -0
  448. package/packages/mimo-speech/src/index.ts +160 -0
  449. package/packages/mimo-speech/src/surface.ts +193 -0
  450. package/packages/minimax-h3/README.md +21 -0
  451. package/packages/minimax-h3/package.json +21 -0
  452. package/packages/minimax-h3/src/activation.ts +14 -0
  453. package/packages/minimax-h3/src/index.ts +188 -0
  454. package/packages/minimax-h3/src/surface.ts +87 -0
  455. package/packages/model-kit/README.md +52 -0
  456. package/packages/model-kit/package.json +19 -0
  457. package/packages/model-kit/src/index.ts +728 -0
  458. package/packages/nano-banana/README.md +23 -0
  459. package/packages/nano-banana/package.json +21 -0
  460. package/packages/nano-banana/src/activation.ts +14 -0
  461. package/packages/nano-banana/src/index.ts +172 -0
  462. package/packages/nano-banana/src/surface.ts +120 -0
  463. package/packages/narrative/README.md +7 -0
  464. package/packages/narrative/package.json +17 -0
  465. package/packages/narrative/src/activation.ts +7 -0
  466. package/packages/narrative/src/component.ts +33 -0
  467. package/packages/narrative/src/identity.ts +131 -0
  468. package/packages/narrative/src/index.ts +11 -0
  469. package/packages/narrative/src/manifest.ts +30 -0
  470. package/packages/narrative/src/schema.ts +89 -0
  471. package/packages/narrative/src/types.ts +141 -0
  472. package/packages/package-loader-node/README.md +23 -0
  473. package/packages/package-loader-node/package.json +15 -0
  474. package/packages/package-loader-node/src/contribution.ts +97 -0
  475. package/packages/package-loader-node/src/distribution-resolution.ts +146 -0
  476. package/packages/package-loader-node/src/index.ts +27 -0
  477. package/packages/package-loader-node/src/loader.ts +301 -0
  478. package/packages/package-loader-node/src/location.ts +279 -0
  479. package/packages/package-loader-node/src/types.ts +60 -0
  480. package/packages/program-space/README.md +20 -0
  481. package/packages/program-space/package.json +17 -0
  482. package/packages/program-space/src/activation.ts +19 -0
  483. package/packages/program-space/src/index.ts +107 -0
  484. package/packages/program-space/src/surface.ts +55 -0
  485. package/packages/protocol/README.md +11 -0
  486. package/packages/protocol/package.json +10 -0
  487. package/packages/protocol/src/build-id.ts +52 -0
  488. package/packages/protocol/src/build.ts +265 -0
  489. package/packages/protocol/src/canonical.ts +37 -0
  490. package/packages/protocol/src/error.ts +11 -0
  491. package/packages/protocol/src/identity.ts +59 -0
  492. package/packages/protocol/src/index.ts +9 -0
  493. package/packages/protocol/src/module.ts +67 -0
  494. package/packages/protocol/src/value.ts +88 -0
  495. package/packages/provider-hyperframes-aws-lambda/README.md +30 -0
  496. package/packages/provider-hyperframes-aws-lambda/package.json +30 -0
  497. package/packages/provider-hyperframes-aws-lambda/src/activation.ts +97 -0
  498. package/packages/provider-hyperframes-aws-lambda/src/client.ts +114 -0
  499. package/packages/provider-hyperframes-aws-lambda/src/index.ts +21 -0
  500. package/packages/provider-hyperframes-aws-lambda/src/provider.ts +522 -0
  501. package/packages/provider-hyperframes-local/README.md +129 -0
  502. package/packages/provider-hyperframes-local/package.json +34 -0
  503. package/packages/provider-hyperframes-local/src/activation.ts +107 -0
  504. package/packages/provider-hyperframes-local/src/capture-process.ts +110 -0
  505. package/packages/provider-hyperframes-local/src/capture-worker.ts +17 -0
  506. package/packages/provider-hyperframes-local/src/capture.ts +184 -0
  507. package/packages/provider-hyperframes-local/src/index.ts +10 -0
  508. package/packages/provider-hyperframes-local/src/options.ts +19 -0
  509. package/packages/provider-hyperframes-local/src/output.ts +73 -0
  510. package/packages/provider-hyperframes-local/src/process.ts +83 -0
  511. package/packages/provider-hyperframes-local/src/program.ts +58 -0
  512. package/packages/provider-hyperframes-local/src/provider.ts +62 -0
  513. package/packages/provider-hyperframes-local/src/render.ts +114 -0
  514. package/packages/provider-hyperframes-local/src/sampling.ts +89 -0
  515. package/packages/provider-hypihub/README.md +143 -0
  516. package/packages/provider-hypihub/package.json +26 -0
  517. package/packages/provider-hypihub/src/activation.ts +91 -0
  518. package/packages/provider-hypihub/src/index.ts +2 -0
  519. package/packages/provider-hypihub/src/mapping.ts +145 -0
  520. package/packages/provider-hypihub/src/oauth.ts +113 -0
  521. package/packages/provider-hypihub/src/provider.ts +566 -0
  522. package/packages/provider-hypihub/src/routes.ts +134 -0
  523. package/packages/provider-hypihub/src/upload.ts +402 -0
  524. package/packages/provider-image-opencv-local/README.md +16 -0
  525. package/packages/provider-image-opencv-local/package.json +27 -0
  526. package/packages/provider-image-opencv-local/runtime/raster_execute.py +299 -0
  527. package/packages/provider-image-opencv-local/src/activation.ts +61 -0
  528. package/packages/provider-image-opencv-local/src/deployment.ts +68 -0
  529. package/packages/provider-image-opencv-local/src/index.ts +2 -0
  530. package/packages/provider-image-opencv-local/src/program.ts +60 -0
  531. package/packages/provider-image-opencv-local/src/provider.ts +155 -0
  532. package/packages/provider-kie/README.md +134 -0
  533. package/packages/provider-kie/package.json +43 -0
  534. package/packages/provider-kie/src/activation.ts +71 -0
  535. package/packages/provider-kie/src/index.ts +10 -0
  536. package/packages/provider-kie/src/mapping.ts +182 -0
  537. package/packages/provider-kie/src/provider.ts +657 -0
  538. package/packages/provider-kie/src/routes.ts +150 -0
  539. package/packages/provider-media-local/README.md +58 -0
  540. package/packages/provider-media-local/package.json +28 -0
  541. package/packages/provider-media-local/src/activation.ts +65 -0
  542. package/packages/provider-media-local/src/index.ts +2 -0
  543. package/packages/provider-media-local/src/program.ts +19 -0
  544. package/packages/provider-media-local/src/provider.ts +150 -0
  545. package/packages/provider-whisperx-local/README.md +44 -0
  546. package/packages/provider-whisperx-local/package.json +27 -0
  547. package/packages/provider-whisperx-local/src/activation.ts +93 -0
  548. package/packages/provider-whisperx-local/src/index.ts +5 -0
  549. package/packages/provider-whisperx-local/src/program.ts +157 -0
  550. package/packages/provider-whisperx-local/src/provider.ts +191 -0
  551. package/packages/provider-xiaomi-mimo/README.md +32 -0
  552. package/packages/provider-xiaomi-mimo/package.json +24 -0
  553. package/packages/provider-xiaomi-mimo/src/activation.ts +57 -0
  554. package/packages/provider-xiaomi-mimo/src/index.ts +5 -0
  555. package/packages/provider-xiaomi-mimo/src/provider.ts +214 -0
  556. package/packages/ranking/README.md +67 -0
  557. package/packages/ranking/package.json +33 -0
  558. package/packages/ranking/preview/Column.svg +29 -0
  559. package/packages/ranking/preview/TierBoard.png +0 -0
  560. package/packages/ranking/preview/TierBoard.svg +36 -0
  561. package/packages/ranking/preview/TopThree.png +0 -0
  562. package/packages/ranking/src/activation.ts +38 -0
  563. package/packages/ranking/src/component.ts +271 -0
  564. package/packages/ranking/src/fragment.ts +206 -0
  565. package/packages/ranking/src/index.ts +26 -0
  566. package/packages/ranking/src/manifest.ts +807 -0
  567. package/packages/ranking/src/render.ts +698 -0
  568. package/packages/ranking/src/schedule.ts +895 -0
  569. package/packages/ranking/src/style.ts +272 -0
  570. package/packages/ranking/src/surface.ts +322 -0
  571. package/packages/ranking/src/tier.ts +176 -0
  572. package/packages/ranking/src/types.ts +277 -0
  573. package/packages/ranking-studio/README.md +3 -0
  574. package/packages/ranking-studio/package.json +14 -0
  575. package/packages/ranking-studio/src/activation.ts +7 -0
  576. package/packages/ranking-studio/src/index.ts +255 -0
  577. package/packages/raster/README.md +7 -0
  578. package/packages/raster/package.json +14 -0
  579. package/packages/raster/src/activation.ts +7 -0
  580. package/packages/raster/src/index.ts +7 -0
  581. package/packages/raster/src/manifest.ts +14 -0
  582. package/packages/raster/src/program.ts +128 -0
  583. package/packages/raster/src/schema.ts +53 -0
  584. package/packages/raster/src/types.ts +61 -0
  585. package/packages/render-hyperframes/README.md +58 -0
  586. package/packages/render-hyperframes/package.json +33 -0
  587. package/packages/render-hyperframes/src/activation.ts +18 -0
  588. package/packages/render-hyperframes/src/component.ts +37 -0
  589. package/packages/render-hyperframes/src/fragment.ts +73 -0
  590. package/packages/render-hyperframes/src/index.ts +6 -0
  591. package/packages/render-hyperframes/src/manifest.ts +100 -0
  592. package/packages/render-hyperframes/src/product.ts +29 -0
  593. package/packages/render-hyperframes/src/surface.ts +65 -0
  594. package/packages/resource-store-fs/README.md +13 -0
  595. package/packages/resource-store-fs/package.json +14 -0
  596. package/packages/resource-store-fs/src/index.ts +2 -0
  597. package/packages/resource-store-fs/src/store.ts +154 -0
  598. package/packages/resource-store-s3/README.md +15 -0
  599. package/packages/resource-store-s3/package.json +15 -0
  600. package/packages/resource-store-s3/src/client.ts +138 -0
  601. package/packages/resource-store-s3/src/index.ts +10 -0
  602. package/packages/resource-store-s3/src/store.ts +258 -0
  603. package/packages/run/README.md +23 -0
  604. package/packages/run/package.json +16 -0
  605. package/packages/run/src/candidate.ts +33 -0
  606. package/packages/run/src/facet.ts +59 -0
  607. package/packages/run/src/frontend-facet.ts +23 -0
  608. package/packages/run/src/frontend.ts +62 -0
  609. package/packages/run/src/graph.ts +65 -0
  610. package/packages/run/src/index.ts +33 -0
  611. package/packages/run/src/registry.ts +24 -0
  612. package/packages/run/src/resolve.ts +213 -0
  613. package/packages/run/src/types.ts +147 -0
  614. package/packages/run-markup/README.md +60 -0
  615. package/packages/run-markup/package.json +22 -0
  616. package/packages/run-markup/src/activation.ts +10 -0
  617. package/packages/run-markup/src/frontend.ts +16 -0
  618. package/packages/run-markup/src/index.ts +5 -0
  619. package/packages/run-markup/src/syntax.ts +304 -0
  620. package/packages/runtime/README.md +39 -0
  621. package/packages/runtime/package.json +15 -0
  622. package/packages/runtime/src/capacity.ts +51 -0
  623. package/packages/runtime/src/catalog.ts +30 -0
  624. package/packages/runtime/src/credentials.ts +124 -0
  625. package/packages/runtime/src/environment.ts +6 -0
  626. package/packages/runtime/src/execution.ts +125 -0
  627. package/packages/runtime/src/index.ts +24 -0
  628. package/packages/runtime/src/operations.ts +99 -0
  629. package/packages/runtime/src/scheduler.ts +281 -0
  630. package/packages/runtime/src/submission.ts +24 -0
  631. package/packages/runtime/src/types.ts +157 -0
  632. package/packages/runtime-host-node/README.md +25 -0
  633. package/packages/runtime-host-node/package.json +19 -0
  634. package/packages/runtime-host-node/src/index.ts +421 -0
  635. package/packages/runtime-host-node/src/packages.ts +158 -0
  636. package/packages/runtime-kit/README.md +42 -0
  637. package/packages/runtime-kit/package.json +16 -0
  638. package/packages/runtime-kit/src/index.ts +307 -0
  639. package/packages/runtime-kit/src/request-deadline.ts +17 -0
  640. package/packages/runtime-local/README.md +119 -0
  641. package/packages/runtime-local/package.json +33 -0
  642. package/packages/runtime-local/src/actions.ts +20 -0
  643. package/packages/runtime-local/src/config.ts +1229 -0
  644. package/packages/runtime-local/src/control.ts +120 -0
  645. package/packages/runtime-local/src/credentials.ts +61 -0
  646. package/packages/runtime-local/src/host.ts +174 -0
  647. package/packages/runtime-local/src/index.ts +36 -0
  648. package/packages/runtime-local/src/process-control.ts +59 -0
  649. package/packages/runtime-local/src/process-logs.ts +33 -0
  650. package/packages/runtime-local/src/programs.ts +441 -0
  651. package/packages/runtime-local/src/result-writer.ts +246 -0
  652. package/packages/runtime-local/src/runtime.ts +342 -0
  653. package/packages/runtime-local/src/types.ts +100 -0
  654. package/packages/runtime-local/src/worker-process.ts +343 -0
  655. package/packages/runtime-local/src/worker.ts +449 -0
  656. package/packages/screen-overlay/README.md +17 -0
  657. package/packages/screen-overlay/package.json +31 -0
  658. package/packages/screen-overlay/preview/Track.png +0 -0
  659. package/packages/screen-overlay/src/activation.ts +15 -0
  660. package/packages/screen-overlay/src/component.ts +20 -0
  661. package/packages/screen-overlay/src/fragment.ts +40 -0
  662. package/packages/screen-overlay/src/index.ts +7 -0
  663. package/packages/screen-overlay/src/manifest.ts +305 -0
  664. package/packages/screen-overlay/src/program.ts +321 -0
  665. package/packages/screen-overlay/src/surface.ts +90 -0
  666. package/packages/screen-overlay/src/types.ts +69 -0
  667. package/packages/screen-overlay-studio/README.md +3 -0
  668. package/packages/screen-overlay-studio/package.json +14 -0
  669. package/packages/screen-overlay-studio/src/activation.ts +7 -0
  670. package/packages/screen-overlay-studio/src/index.ts +80 -0
  671. package/packages/script/README.md +137 -0
  672. package/packages/script/package.json +22 -0
  673. package/packages/script/src/activation.ts +20 -0
  674. package/packages/script/src/edit.ts +174 -0
  675. package/packages/script/src/error.ts +13 -0
  676. package/packages/script/src/format.ts +83 -0
  677. package/packages/script/src/index.ts +20 -0
  678. package/packages/script/src/lexical.ts +133 -0
  679. package/packages/script/src/manifest.ts +95 -0
  680. package/packages/script/src/narrative.ts +232 -0
  681. package/packages/script/src/parser.ts +850 -0
  682. package/packages/script/src/surface.ts +132 -0
  683. package/packages/script/src/types.ts +125 -0
  684. package/packages/script-studio/package.json +13 -0
  685. package/packages/script-studio/src/activation.ts +8 -0
  686. package/packages/script-studio/src/index.ts +61 -0
  687. package/packages/seedance/README.md +19 -0
  688. package/packages/seedance/package.json +22 -0
  689. package/packages/seedance/src/activation.ts +38 -0
  690. package/packages/seedance/src/fragment.ts +46 -0
  691. package/packages/seedance/src/index.ts +329 -0
  692. package/packages/seedance/src/surface.ts +355 -0
  693. package/packages/seedance-kits/README.md +153 -0
  694. package/packages/seedance-kits/kits/broll-v1.svs +52 -0
  695. package/packages/seedance-kits/kits/call-v1.svs +55 -0
  696. package/packages/seedance-kits/kits/camera-reference-v1.svs +9 -0
  697. package/packages/seedance-kits/kits/motion-reference-v1.svs +9 -0
  698. package/packages/seedance-kits/kits/podcast-v1.svs +55 -0
  699. package/packages/seedance-kits/kits/speaker-v1.svs +136 -0
  700. package/packages/seedance-kits/kits/street-interview-v1.svs +49 -0
  701. package/packages/seedance-kits/package.json +24 -0
  702. package/packages/seedream/README.md +21 -0
  703. package/packages/seedream/package.json +21 -0
  704. package/packages/seedream/src/activation.ts +12 -0
  705. package/packages/seedream/src/index.ts +162 -0
  706. package/packages/seedream/src/surface.ts +84 -0
  707. package/packages/semantic-take-adjust/package.json +21 -0
  708. package/packages/semantic-take-adjust/src/activation.ts +22 -0
  709. package/packages/semantic-take-adjust/src/component.ts +31 -0
  710. package/packages/semantic-take-adjust/src/fragment.ts +24 -0
  711. package/packages/semantic-take-adjust/src/index.ts +12 -0
  712. package/packages/semantic-take-adjust/src/manifest.ts +57 -0
  713. package/packages/semantic-take-adjust/src/program.ts +49 -0
  714. package/packages/semantic-take-adjust/src/surface.ts +96 -0
  715. package/packages/semantic-take-adjust/src/types.ts +9 -0
  716. package/packages/semantic-track/README.md +21 -0
  717. package/packages/semantic-track/package.json +22 -0
  718. package/packages/semantic-track/src/activation.ts +8 -0
  719. package/packages/semantic-track/src/component.ts +24 -0
  720. package/packages/semantic-track/src/identity.ts +58 -0
  721. package/packages/semantic-track/src/index.ts +6 -0
  722. package/packages/semantic-track/src/location.ts +81 -0
  723. package/packages/semantic-track/src/manifest.ts +38 -0
  724. package/packages/semantic-track/src/projection.ts +71 -0
  725. package/packages/semantic-track/src/types.ts +26 -0
  726. package/packages/source/README.md +13 -0
  727. package/packages/source/package.json +13 -0
  728. package/packages/source/src/header.ts +80 -0
  729. package/packages/source/src/index.ts +17 -0
  730. package/packages/source/src/unit.ts +38 -0
  731. package/packages/spatial/README.md +77 -0
  732. package/packages/spatial/package.json +24 -0
  733. package/packages/spatial/src/activation.ts +43 -0
  734. package/packages/spatial/src/author.ts +59 -0
  735. package/packages/spatial/src/component.ts +45 -0
  736. package/packages/spatial/src/fragment.ts +36 -0
  737. package/packages/spatial/src/geometry.ts +238 -0
  738. package/packages/spatial/src/index.ts +37 -0
  739. package/packages/spatial/src/manifest.ts +341 -0
  740. package/packages/spatial/src/region-timeline.ts +69 -0
  741. package/packages/spatial/src/schema.ts +47 -0
  742. package/packages/spatial/src/surface.ts +319 -0
  743. package/packages/spatial/src/types.ts +101 -0
  744. package/packages/speech/README.md +16 -0
  745. package/packages/speech/package.json +19 -0
  746. package/packages/speech/src/activation.ts +7 -0
  747. package/packages/speech/src/component.ts +43 -0
  748. package/packages/speech/src/identity.ts +73 -0
  749. package/packages/speech/src/index.ts +6 -0
  750. package/packages/speech/src/manifest.ts +30 -0
  751. package/packages/speech/src/materialize.ts +103 -0
  752. package/packages/speech/src/schema.ts +42 -0
  753. package/packages/speech/src/types.ts +54 -0
  754. package/packages/speech-alignment/README.md +29 -0
  755. package/packages/speech-alignment/package.json +25 -0
  756. package/packages/speech-alignment/src/activation.ts +8 -0
  757. package/packages/speech-alignment/src/align.ts +235 -0
  758. package/packages/speech-alignment/src/component.ts +37 -0
  759. package/packages/speech-alignment/src/error.ts +9 -0
  760. package/packages/speech-alignment/src/index.ts +7 -0
  761. package/packages/speech-alignment/src/local.ts +64 -0
  762. package/packages/speech-alignment/src/locate.ts +473 -0
  763. package/packages/speech-alignment/src/manifest.ts +37 -0
  764. package/packages/speech-alignment/src/normalize.ts +79 -0
  765. package/packages/speech-alignment/src/types.ts +30 -0
  766. package/packages/speech-evidence/README.md +3 -0
  767. package/packages/speech-evidence/package.json +16 -0
  768. package/packages/speech-evidence/src/activation.ts +3 -0
  769. package/packages/speech-evidence/src/index.ts +102 -0
  770. package/packages/speech-track/README.md +51 -0
  771. package/packages/speech-track/package.json +28 -0
  772. package/packages/speech-track/preview/Track.png +0 -0
  773. package/packages/speech-track/src/activation.ts +19 -0
  774. package/packages/speech-track/src/component.ts +45 -0
  775. package/packages/speech-track/src/fragment.ts +74 -0
  776. package/packages/speech-track/src/index.ts +7 -0
  777. package/packages/speech-track/src/manifest.ts +73 -0
  778. package/packages/speech-track/src/program.ts +64 -0
  779. package/packages/speech-track/src/surface.ts +35 -0
  780. package/packages/speech-track/src/types.ts +6 -0
  781. package/packages/speech-track-studio/README.md +3 -0
  782. package/packages/speech-track-studio/package.json +14 -0
  783. package/packages/speech-track-studio/src/activation.ts +7 -0
  784. package/packages/speech-track-studio/src/index.ts +40 -0
  785. package/packages/store-sqlite/README.md +14 -0
  786. package/packages/store-sqlite/package.json +18 -0
  787. package/packages/store-sqlite/src/index.ts +2 -0
  788. package/packages/store-sqlite/src/store.ts +1101 -0
  789. package/packages/studio/README.md +125 -0
  790. package/packages/studio/index.html +10 -0
  791. package/packages/studio/package.json +50 -0
  792. package/packages/studio/src/build-library.ts +281 -0
  793. package/packages/studio/src/companion-assembly.ts +39 -0
  794. package/packages/studio/src/compile.ts +166 -0
  795. package/packages/studio/src/domain.ts +139 -0
  796. package/packages/studio/src/execute.ts +57 -0
  797. package/packages/studio/src/fallback-companions.ts +98 -0
  798. package/packages/studio/src/observe.ts +202 -0
  799. package/packages/studio/src/parameter-values.ts +81 -0
  800. package/packages/studio/src/parameters.ts +550 -0
  801. package/packages/studio/src/preview/render.ts +51 -0
  802. package/packages/studio/src/preview/runtime-shim.ts +184 -0
  803. package/packages/studio/src/programme.ts +276 -0
  804. package/packages/studio/src/run.ts +85 -0
  805. package/packages/studio/src/server.ts +725 -0
  806. package/packages/studio/src/session.ts +111 -0
  807. package/packages/studio/src/shared.ts +315 -0
  808. package/packages/studio/src/snapshot.ts +454 -0
  809. package/packages/studio/src/source-transaction.ts +57 -0
  810. package/packages/studio/src/storyboard.ts +133 -0
  811. package/packages/studio/src/studio-preflight.ts +198 -0
  812. package/packages/studio/src/studio-registry.ts +406 -0
  813. package/packages/studio/src/studio-trace.ts +136 -0
  814. package/packages/studio/src/style.css +1525 -0
  815. package/packages/studio/src/surface-preview.ts +35 -0
  816. package/packages/studio/src/temporal-graph.ts +227 -0
  817. package/packages/studio/src/ui/code.ts +450 -0
  818. package/packages/studio/src/ui/icons.ts +51 -0
  819. package/packages/studio/src/ui/library.ts +378 -0
  820. package/packages/studio/src/ui/main.ts +1001 -0
  821. package/packages/studio/src/ui/markers.ts +152 -0
  822. package/packages/studio/src/ui/material-preview.ts +176 -0
  823. package/packages/studio/src/ui/overlay.ts +144 -0
  824. package/packages/studio/src/ui/resize.ts +74 -0
  825. package/packages/studio/src/ui/selection.ts +178 -0
  826. package/packages/studio/src/ui/stage.ts +231 -0
  827. package/packages/studio/src/ui/syntax.ts +195 -0
  828. package/packages/studio/src/ui/timeline.ts +1041 -0
  829. package/packages/studio/src/ui/writeback.ts +10 -0
  830. package/packages/studio/src/ui/zoom.ts +129 -0
  831. package/packages/studio/start.ts +143 -0
  832. package/packages/studio-adapter/README.md +186 -0
  833. package/packages/studio-adapter/package.json +14 -0
  834. package/packages/studio-adapter/src/index.ts +850 -0
  835. package/packages/svs/README.md +37 -0
  836. package/packages/svs/package.json +21 -0
  837. package/packages/svs/src/activation.ts +11 -0
  838. package/packages/svs/src/format.ts +16 -0
  839. package/packages/svs/src/frontend.ts +33 -0
  840. package/packages/svs/src/index.ts +5 -0
  841. package/packages/svs/src/manifest.ts +17 -0
  842. package/packages/svs/src/parser.ts +279 -0
  843. package/packages/svs/src/types.ts +26 -0
  844. package/packages/temporal/README.md +31 -0
  845. package/packages/temporal/package.json +20 -0
  846. package/packages/temporal/src/activation.ts +9 -0
  847. package/packages/temporal/src/component.ts +68 -0
  848. package/packages/temporal/src/index.ts +110 -0
  849. package/packages/temporal/src/location.ts +67 -0
  850. package/packages/temporal/src/projection.ts +280 -0
  851. package/packages/temporal/src/rational.ts +80 -0
  852. package/packages/temporal/src/sample.ts +43 -0
  853. package/packages/temporal/src/schedule.ts +52 -0
  854. package/packages/temporal/src/types.ts +124 -0
  855. package/packages/temporal-markup/README.md +75 -0
  856. package/packages/temporal-markup/package.json +18 -0
  857. package/packages/temporal-markup/src/index.ts +537 -0
  858. package/packages/temporal-markup/src/space.ts +59 -0
  859. package/packages/text/README.md +59 -0
  860. package/packages/text/package.json +21 -0
  861. package/packages/text/src/activation.ts +33 -0
  862. package/packages/text/src/component.ts +72 -0
  863. package/packages/text/src/fragment.ts +57 -0
  864. package/packages/text/src/frontend.ts +39 -0
  865. package/packages/text/src/index.ts +27 -0
  866. package/packages/text/src/manifest.ts +170 -0
  867. package/packages/text/src/program.ts +418 -0
  868. package/packages/text/src/surface.ts +212 -0
  869. package/packages/text/src/svs.ts +189 -0
  870. package/packages/text/src/types.ts +82 -0
  871. package/packages/transport-aws-lambda/README.md +20 -0
  872. package/packages/transport-aws-lambda/package.json +14 -0
  873. package/packages/transport-aws-lambda/src/index.ts +131 -0
  874. package/packages/typography-track/README.md +50 -0
  875. package/packages/typography-track/package.json +34 -0
  876. package/packages/typography-track/preview/Mask.png +0 -0
  877. package/packages/typography-track/preview/Track.png +0 -0
  878. package/packages/typography-track/src/activation.ts +36 -0
  879. package/packages/typography-track/src/component.ts +93 -0
  880. package/packages/typography-track/src/fragment.ts +30 -0
  881. package/packages/typography-track/src/index.ts +11 -0
  882. package/packages/typography-track/src/manifest.ts +556 -0
  883. package/packages/typography-track/src/program.ts +622 -0
  884. package/packages/typography-track/src/surface.ts +842 -0
  885. package/packages/typography-track/src/types.ts +109 -0
  886. package/packages/typography-track-studio/README.md +3 -0
  887. package/packages/typography-track-studio/package.json +14 -0
  888. package/packages/typography-track-studio/src/activation.ts +7 -0
  889. package/packages/typography-track-studio/src/index.ts +116 -0
  890. package/packages/validation/README.md +11 -0
  891. package/packages/validation/package.json +15 -0
  892. package/packages/validation/src/index.ts +100 -0
  893. package/packages/video-cli/README.md +181 -0
  894. package/packages/video-cli/package.json +37 -0
  895. package/packages/video-cli/src/capture.ts +174 -0
  896. package/packages/video-cli/src/cli.ts +109 -0
  897. package/packages/video-cli/src/compiler.ts +32 -0
  898. package/packages/video-cli/src/creation.ts +449 -0
  899. package/packages/video-cli/src/distribution.ts +88 -0
  900. package/packages/video-cli/src/index.ts +50 -0
  901. package/packages/video-cli/src/media.ts +701 -0
  902. package/packages/video-cli/src/package-selection.ts +34 -0
  903. package/packages/video-cli/src/process.ts +71 -0
  904. package/packages/video-cli/src/studio-distribution.ts +19 -0
  905. package/packages/video-cli/src/transcript.ts +71 -0
  906. package/packages/video-cli/src/vocabulary.ts +386 -0
  907. package/packages/visual-ir/README.md +36 -0
  908. package/packages/visual-ir/package.json +16 -0
  909. package/packages/visual-ir/src/activation.ts +3 -0
  910. package/packages/visual-ir/src/index.ts +7 -0
  911. package/packages/visual-ir/src/style.ts +222 -0
  912. package/packages/volcengine-matting/README.md +89 -0
  913. package/packages/volcengine-matting/package.json +16 -0
  914. package/packages/volcengine-matting/src/activation.ts +13 -0
  915. package/packages/volcengine-matting/src/index.ts +45 -0
  916. package/packages/volcengine-matting/src/surface.ts +48 -0
  917. package/packages/whisperx/README.md +34 -0
  918. package/packages/whisperx/package.json +28 -0
  919. package/packages/whisperx/src/activation.ts +18 -0
  920. package/packages/whisperx/src/component.ts +64 -0
  921. package/packages/whisperx/src/evidence.ts +69 -0
  922. package/packages/whisperx/src/fragment.ts +76 -0
  923. package/packages/whisperx/src/index.ts +14 -0
  924. package/packages/whisperx/src/manifest.ts +92 -0
  925. package/packages/whisperx/src/surface.ts +90 -0
  926. package/packages/whisperx/src/transcript.ts +97 -0
  927. package/packages/whisperx/src/types.ts +9 -0
  928. package/packages/workspace/README.md +4 -0
  929. package/packages/workspace/package.json +14 -0
  930. package/packages/workspace/src/index.ts +38 -0
  931. package/packages/workspace-fs-node/README.md +13 -0
  932. package/packages/workspace-fs-node/package.json +15 -0
  933. package/packages/workspace-fs-node/src/index.ts +6 -0
  934. package/packages/workspace-fs-node/src/workspace.ts +226 -0
  935. package/packages/yt-dlp/README.md +31 -0
  936. package/packages/yt-dlp/package.json +10 -0
  937. package/packages/yt-dlp/src/download.ts +104 -0
  938. package/packages/yt-dlp/src/index.ts +1 -0
  939. package/services/image-opencv/README.md +33 -0
  940. package/services/image-opencv/package.json +14 -0
  941. package/services/image-opencv/pyproject.toml +13 -0
  942. package/services/image-opencv/uv.lock +56 -0
  943. package/services/whisperx/README.md +82 -0
  944. package/services/whisperx/package.json +15 -0
  945. package/services/whisperx/pyproject.toml +26 -0
  946. package/services/whisperx/src/hypit_whisperx_service/__init__.py +6 -0
  947. package/services/whisperx/src/hypit_whisperx_service/__main__.py +29 -0
  948. package/services/whisperx/src/hypit_whisperx_service/application.py +88 -0
  949. package/services/whisperx/src/hypit_whisperx_service/audio.py +66 -0
  950. package/services/whisperx/src/hypit_whisperx_service/check.py +35 -0
  951. package/services/whisperx/src/hypit_whisperx_service/config.py +81 -0
  952. package/services/whisperx/src/hypit_whisperx_service/engine.py +173 -0
  953. package/services/whisperx/src/hypit_whisperx_service/prepare.py +19 -0
  954. package/services/whisperx/src/hypit_whisperx_service/resources.py +41 -0
  955. package/services/whisperx/src/hypit_whisperx_service/server.py +101 -0
  956. package/services/whisperx/uv.lock +3381 -0
  957. package/services/yt-dlp/README.md +19 -0
  958. package/services/yt-dlp/package.json +14 -0
  959. package/services/yt-dlp/pyproject.toml +13 -0
  960. package/services/yt-dlp/uv.lock +23 -0
  961. package/index.js +0 -1
@@ -0,0 +1,522 @@
1
+ import { mkdtemp, rm } from "node:fs/promises";
2
+ import { tmpdir } from "node:os";
3
+ import { join } from "node:path";
4
+
5
+ import {
6
+ defineEndpointPackage,
7
+ wakeAfter,
8
+ } from "@hypit/endpoint-kit";
9
+ import type {
10
+ EndpointFulfillment,
11
+ EndpointOutcome,
12
+ EndpointPollContext,
13
+ EndpointStartContext,
14
+ AsyncEndpoint,
15
+ } from "@hypit/endpoint-kit";
16
+ import {
17
+ assertHyperframesDocument,
18
+ } from "@hypit/hyperframes";
19
+ import type { HyperframesDocument } from "@hypit/hyperframes";
20
+ import { stageHyperframesProject } from "@hypit/hyperframes/project";
21
+ import {
22
+ mediaTypes,
23
+ sealRenderedVisual,
24
+ } from "@hypit/media";
25
+ import type { RenderedVisual } from "@hypit/media";
26
+ import {
27
+ canonicalize,
28
+ } from "@hypit/protocol";
29
+ import type {
30
+ BlobRef,
31
+ CanonicalValue,
32
+ } from "@hypit/protocol";
33
+ import { renderHyperframesCapabilities } from "@hypit/render-hyperframes";
34
+ import { isStreamingResourceStore } from "@hypit/runtime";
35
+
36
+ import {
37
+ createHyperframesAwsLambdaClient,
38
+ parseS3Uri,
39
+ } from "./client.js";
40
+ import type {
41
+ HyperframesAwsLambdaClient,
42
+ HyperframesLambdaProgress,
43
+ HyperframesLambdaRender,
44
+ HyperframesLambdaRenderConfig,
45
+ HyperframesLambdaSite,
46
+ } from "./client.js";
47
+
48
+ const HANDLE_CONTRACT = "hypit.hyperframes-aws-lambda-operation@1";
49
+ const SUPPORTED_FPS = new Set([24, 30, 60]);
50
+
51
+ export const awsLambdaHyperframesProviderModuleRef = {
52
+ name: "@hypit/provider-hyperframes-aws-lambda",
53
+ version: "1",
54
+ } as const;
55
+ export type HyperframesLambdaQuality = "draft" | "standard" | "high";
56
+
57
+ export type CreateAwsLambdaHyperframesProviderOptions = {
58
+ readonly instance?: string;
59
+ readonly pool?: string;
60
+ readonly stateMachineArn: string;
61
+ readonly bucketName: string;
62
+ readonly quality?: HyperframesLambdaQuality;
63
+ readonly chunkSize?: number;
64
+ readonly maxParallelChunks?: number;
65
+ readonly targetChunkFrames?: number;
66
+ readonly defaultMemorySizeMb?: number;
67
+ readonly defaultConcurrency?: number;
68
+ readonly pollIntervalMs?: number;
69
+ readonly maxOperationMs?: number;
70
+ readonly maxRenderedBytes?: number;
71
+ readonly client?: HyperframesAwsLambdaClient;
72
+ readonly now?: () => number;
73
+ };
74
+
75
+ type HyperframesHandle = {
76
+ readonly contract: typeof HANDLE_CONTRACT;
77
+ readonly operationId: string;
78
+ readonly executionArn: string;
79
+ readonly outputS3Uri: string;
80
+ readonly bucketName: string;
81
+ readonly site: HyperframesLambdaSite;
82
+ readonly startedAt: number;
83
+ readonly polls: number;
84
+ };
85
+
86
+ function assert(condition: unknown, message: string): asserts condition {
87
+ if (!condition) throw new Error(message);
88
+ }
89
+
90
+ function positiveInteger(value: number, subject: string): number {
91
+ assert(Number.isSafeInteger(value) && value > 0, `${subject} must be a positive integer`);
92
+ return value;
93
+ }
94
+
95
+ function nonNegativeInteger(value: number, subject: string): number {
96
+ assert(Number.isSafeInteger(value) && value >= 0, `${subject} must be a non-negative integer`);
97
+ return value;
98
+ }
99
+
100
+ function stateMachine(value: string): { readonly arn: string; readonly region: string; readonly name: string } {
101
+ const found = /^(arn:aws(?:-[a-z]+)*:states):([a-z0-9-]+):(\d{12}):stateMachine:([A-Za-z0-9_-]+)$/u.exec(value);
102
+ assert(found !== null,
103
+ `HyperFrames stateMachineArn must be an unqualified AWS Step Functions state-machine ARN; got ${value}`);
104
+ return { arn: value, region: found[2]!, name: found[4]! };
105
+ }
106
+
107
+ function executionArn(machine: ReturnType<typeof stateMachine>, executionName: string): string {
108
+ const prefix = machine.arn.slice(0, machine.arn.indexOf(":states") + ":states".length);
109
+ const account = machine.arn.split(":")[4]!;
110
+ return `${prefix}:${machine.region}:${account}:execution:${machine.name}:${executionName}`;
111
+ }
112
+
113
+ function requestDocument(value: CanonicalValue): HyperframesDocument {
114
+ assert(value !== null && typeof value === "object" && !Array.isArray(value),
115
+ "HyperFrames visual request must be an object");
116
+ const request = value as { readonly document?: unknown };
117
+ assert(Object.keys(request).sort().join(",") === "document",
118
+ "HyperFrames visual request contains unsupported requirements");
119
+ assertHyperframesDocument(request.document as HyperframesDocument);
120
+ return request.document as HyperframesDocument;
121
+ }
122
+
123
+ function awsLambdaHyperframesRejection(value: CanonicalValue): string | undefined {
124
+ try {
125
+ const document = requestDocument(value);
126
+ if (document.surfaces.length > 0) return "AWS Lambda HyperFrames does not accept embedded Surfaces";
127
+ if (document.frameRate.denominator !== 1 || !SUPPORTED_FPS.has(document.frameRate.numerator)) {
128
+ return "AWS Lambda HyperFrames accepts integer 24, 30 or 60 fps";
129
+ }
130
+ return undefined;
131
+ } catch (error) {
132
+ return error instanceof Error ? error.message : String(error);
133
+ }
134
+ }
135
+
136
+ export function supportsAwsLambdaHyperframes(value: CanonicalValue): boolean {
137
+ return awsLambdaHyperframesRejection(value) === undefined;
138
+ }
139
+
140
+ function implementationFailure(code: string, error: unknown): EndpointOutcome {
141
+ return {
142
+ status: "failed",
143
+ failure: {
144
+ code,
145
+ message: error instanceof Error ? error.message : String(error),
146
+ },
147
+ };
148
+ }
149
+
150
+ function operationName(operationId: string): string {
151
+ return operationId.replace(/[^A-Za-z0-9_-]/gu, "-").slice(0, 64);
152
+ }
153
+
154
+ function executionName(operationId: string): string {
155
+ return `hypit-${operationName(operationId)}`;
156
+ }
157
+
158
+ function outputKey(operationId: string): string {
159
+ return `renders/hypit/${operationName(operationId)}/visual.mp4`;
160
+ }
161
+
162
+ function alreadyStopped(error: unknown): boolean {
163
+ return error !== null && typeof error === "object"
164
+ && ["ExecutionDoesNotExist", "SFN.ExecutionDoesNotExist", "ExecutionNotRunning"]
165
+ .includes(String((error as { readonly name?: unknown }).name));
166
+ }
167
+
168
+ async function artifactBytes(
169
+ context: EndpointStartContext,
170
+ artifact: BlobRef,
171
+ ): Promise<Uint8Array | AsyncIterable<Uint8Array>> {
172
+ if (isStreamingResourceStore(context.resources)) {
173
+ const chunks = await context.resources.open(artifact.resource);
174
+ assert(chunks !== undefined, `HyperFrames Artifact ${artifact.resource} is unavailable`);
175
+ return chunks;
176
+ }
177
+ const bytes = await context.resources.get(artifact.resource);
178
+ assert(bytes !== undefined, `HyperFrames Artifact ${artifact.resource} is unavailable`);
179
+ assert(bytes.byteLength === artifact.size, `HyperFrames Artifact ${artifact.resource} size differs`);
180
+ return bytes;
181
+ }
182
+
183
+ function verifySite(site: HyperframesLambdaSite, bucketName: string): void {
184
+ assert(/^[A-Za-z0-9._-]+$/u.test(site.siteId), "HyperFrames site id is invalid");
185
+ assert(site.bucketName === bucketName, "HyperFrames site was deployed to another bucket");
186
+ const target = parseS3Uri(site.projectS3Uri);
187
+ assert(target.bucket === bucketName && target.key === `sites/${site.siteId}/project.tar.gz`,
188
+ "HyperFrames site URI does not name its deployed project");
189
+ positiveInteger(site.bytes, "HyperFrames site bytes");
190
+ assert(Number.isFinite(Date.parse(site.uploadedAt)), "HyperFrames site upload timestamp is invalid");
191
+ assert(typeof site.uploaded === "boolean", "HyperFrames site upload state is invalid");
192
+ }
193
+
194
+ function readHandle(value: CanonicalValue | undefined, context: EndpointPollContext): HyperframesHandle {
195
+ assert(value !== undefined && value !== null && typeof value === "object" && !Array.isArray(value),
196
+ "HyperFrames handle is absent or invalid");
197
+ const item = value as unknown as HyperframesHandle;
198
+ assert(item.contract === HANDLE_CONTRACT, "HyperFrames handle contract is invalid");
199
+ assert(item.operationId === context.operation, "HyperFrames handle Operation differs");
200
+ assert(typeof item.executionArn === "string" && item.executionArn.length > 0,
201
+ "HyperFrames handle execution ARN is missing");
202
+ assert(item.startedAt >= 0 && Number.isSafeInteger(item.startedAt), "HyperFrames handle start time is invalid");
203
+ nonNegativeInteger(item.polls, "HyperFrames handle polls");
204
+ return structuredClone(item);
205
+ }
206
+
207
+ function boundedChunks(
208
+ chunks: AsyncIterable<Uint8Array>,
209
+ maximum: number,
210
+ expected: number | null,
211
+ count: { value: number },
212
+ ): AsyncIterable<Uint8Array> {
213
+ return (async function* () {
214
+ for await (const chunk of chunks) {
215
+ count.value += chunk.byteLength;
216
+ assert(count.value <= maximum, "HyperFrames output exceeded the configured byte limit");
217
+ if (expected !== null) assert(count.value <= expected, "HyperFrames output exceeded its reported byte count");
218
+ yield chunk;
219
+ }
220
+ assert(count.value > 0, "HyperFrames output is empty");
221
+ if (expected !== null) assert(count.value === expected, "HyperFrames output byte count differs from progress");
222
+ })();
223
+ }
224
+
225
+ async function storeOutput(
226
+ context: EndpointPollContext,
227
+ client: HyperframesAwsLambdaClient,
228
+ progress: HyperframesLambdaProgress,
229
+ handle: HyperframesHandle,
230
+ region: string,
231
+ maxRenderedBytes: number,
232
+ ): Promise<BlobRef> {
233
+ const output = progress.outputFile;
234
+ assert(output !== null, "HyperFrames succeeded without an output file");
235
+ assert(output.s3Uri === handle.outputS3Uri, "HyperFrames completed at an unexpected output URI");
236
+ const target = parseS3Uri(output.s3Uri);
237
+ assert(target.bucket === handle.bucketName, "HyperFrames output is outside its configured bucket");
238
+ if (output.bytes !== null) positiveInteger(output.bytes, "HyperFrames output bytes");
239
+ const source = await client.openOutput({ s3Uri: output.s3Uri, region });
240
+ if (source.contentLength !== undefined) {
241
+ positiveInteger(source.contentLength, "HyperFrames S3 content length");
242
+ if (output.bytes !== null) assert(source.contentLength === output.bytes,
243
+ "HyperFrames S3 content length differs from progress");
244
+ }
245
+ const expected = output.bytes ?? source.contentLength ?? null;
246
+ if (expected !== null) assert(expected <= maxRenderedBytes,
247
+ "HyperFrames output exceeded the configured byte limit");
248
+ const count = { value: 0 };
249
+ const bounded = boundedChunks(source.chunks, maxRenderedBytes, expected, count);
250
+ if (isStreamingResourceStore(context.resources)) {
251
+ return await context.resources.putStream(bounded, "video/mp4");
252
+ }
253
+ const buffers: Uint8Array[] = [];
254
+ for await (const chunk of bounded) buffers.push(chunk);
255
+ const bytes = new Uint8Array(count.value);
256
+ let offset = 0;
257
+ for (const chunk of buffers) {
258
+ bytes.set(chunk, offset);
259
+ offset += chunk.byteLength;
260
+ }
261
+ return await context.resources.put(bytes, "video/mp4");
262
+ }
263
+
264
+ function fulfillment(
265
+ document: HyperframesDocument,
266
+ artifact: BlobRef,
267
+ ): EndpointFulfillment {
268
+ const value: RenderedVisual = sealRenderedVisual({
269
+ frameRate: document.frameRate,
270
+ frameCount: document.frameCount,
271
+ canvas: document.canvas,
272
+ artifact,
273
+ });
274
+ return { value: { kind: "inline", value: canonicalize(value) } };
275
+ }
276
+
277
+ function renderConfiguration(document: HyperframesDocument, options: {
278
+ readonly quality: HyperframesLambdaQuality;
279
+ readonly chunkSize?: number;
280
+ readonly maxParallelChunks: number;
281
+ readonly targetChunkFrames?: number;
282
+ }): HyperframesLambdaRenderConfig {
283
+ assert(document.surfaces.length === 0,
284
+ "AWS Lambda HyperFrames has no deployed Surface-byte verifier");
285
+ assert(document.frameRate.denominator === 1 && SUPPORTED_FPS.has(document.frameRate.numerator),
286
+ "AWS Lambda HyperFrames supports only integer 24, 30 or 60 fps documents");
287
+ return {
288
+ fps: document.frameRate.numerator as 24 | 30 | 60,
289
+ width: document.canvas.width,
290
+ height: document.canvas.height,
291
+ format: "mp4",
292
+ codec: "h264",
293
+ quality: options.quality,
294
+ ...(options.chunkSize === undefined ? {} : { chunkSize: options.chunkSize }),
295
+ maxParallelChunks: options.maxParallelChunks,
296
+ ...(options.targetChunkFrames === undefined ? {} : { targetChunkFrames: options.targetChunkFrames }),
297
+ runtimeCap: "lambda",
298
+ rejectOnSystemFonts: true,
299
+ failClosedFontFetch: true,
300
+ hdrMode: "force-sdr",
301
+ cfr: true,
302
+ entryFile: "index.html",
303
+ strictness: "strict",
304
+ };
305
+ }
306
+
307
+ function verifyProgress(progress: HyperframesLambdaProgress, document: HyperframesDocument): void {
308
+ assert(["RUNNING", "SUCCEEDED", "FAILED", "TIMED_OUT", "ABORTED", "PENDING_REDRIVE"]
309
+ .includes(progress.status), "HyperFrames status is invalid");
310
+ assert(Number.isFinite(progress.overallProgress)
311
+ && progress.overallProgress >= 0 && progress.overallProgress <= 1,
312
+ "HyperFrames overall progress is invalid");
313
+ nonNegativeInteger(progress.framesRendered, "HyperFrames rendered frames");
314
+ nonNegativeInteger(progress.lambdasInvoked, "HyperFrames Lambda invocation count");
315
+ assert(Array.isArray(progress.errors), "HyperFrames errors are invalid");
316
+ for (const error of progress.errors) {
317
+ assert(typeof error.state === "string" && typeof error.error === "string"
318
+ && typeof error.cause === "string", "HyperFrames error entry is invalid");
319
+ }
320
+ assert(typeof progress.fatalErrorEncountered === "boolean",
321
+ "HyperFrames fatal-error marker is invalid");
322
+ assert(Number.isFinite(Date.parse(progress.startedAt)), "HyperFrames progress start time is invalid");
323
+ assert(progress.endedAt === null || Number.isFinite(Date.parse(progress.endedAt)),
324
+ "HyperFrames progress end time is invalid");
325
+ if (progress.totalFrames !== null) {
326
+ positiveInteger(progress.totalFrames, "HyperFrames planned frames");
327
+ assert(progress.totalFrames === document.frameCount,
328
+ `HyperFrames planned ${progress.totalFrames} frames for a ${document.frameCount}-frame document`);
329
+ assert(progress.framesRendered <= progress.totalFrames,
330
+ "HyperFrames rendered frame count exceeds its plan");
331
+ }
332
+ if (progress.status === "SUCCEEDED") {
333
+ assert(progress.fatalErrorEncountered === false,
334
+ "HyperFrames succeeded while reporting a fatal error");
335
+ assert(progress.overallProgress === 1,
336
+ "HyperFrames succeeded without reporting complete progress");
337
+ assert(progress.totalFrames === document.frameCount
338
+ && progress.framesRendered === document.frameCount,
339
+ "HyperFrames succeeded without reporting the complete document frame domain");
340
+ assert(progress.outputFile !== null,
341
+ "HyperFrames succeeded without reporting an output file");
342
+ }
343
+ }
344
+
345
+ export function createAwsLambdaHyperframesProvider(config: CreateAwsLambdaHyperframesProviderOptions) {
346
+ const machine = stateMachine(config.stateMachineArn);
347
+ const region = machine.region;
348
+ const quality = config.quality ?? "standard";
349
+ assert(["draft", "standard", "high"].includes(quality), "HyperFrames quality is invalid");
350
+ const chunkSize = config.chunkSize === undefined ? undefined : positiveInteger(config.chunkSize, "chunkSize");
351
+ const maxParallelChunks = positiveInteger(config.maxParallelChunks ?? 16, "maxParallelChunks");
352
+ const targetChunkFrames = config.targetChunkFrames === undefined
353
+ ? undefined : positiveInteger(config.targetChunkFrames, "targetChunkFrames");
354
+ assert(chunkSize === undefined || targetChunkFrames === undefined,
355
+ "HyperFrames chunkSize and targetChunkFrames are mutually exclusive");
356
+ const defaultMemorySizeMb = positiveInteger(config.defaultMemorySizeMb ?? 10_240, "defaultMemorySizeMb");
357
+ const pollIntervalMs = positiveInteger(config.pollIntervalMs ?? 5_000, "pollIntervalMs");
358
+ const maxOperationMs = positiveInteger(config.maxOperationMs ?? 6 * 60 * 60_000, "maxOperationMs");
359
+ const maxRenderedBytes = positiveInteger(config.maxRenderedBytes ?? 16 * 1024 * 1024 * 1024,
360
+ "maxRenderedBytes");
361
+ const client = config.client ?? createHyperframesAwsLambdaClient(region);
362
+ const now = config.now ?? Date.now;
363
+
364
+ const makeHandle = (
365
+ context: EndpointStartContext,
366
+ site: HyperframesLambdaSite,
367
+ handle: HyperframesLambdaRender,
368
+ startedAt: number,
369
+ ): HyperframesHandle => {
370
+ return {
371
+ contract: HANDLE_CONTRACT,
372
+ operationId: context.operation,
373
+ executionArn: handle.executionArn,
374
+ outputS3Uri: handle.outputS3Uri,
375
+ bucketName: handle.bucketName,
376
+ site,
377
+ startedAt,
378
+ polls: 0,
379
+ };
380
+ };
381
+
382
+ const submit = async (context: EndpointStartContext): Promise<EndpointOutcome> => {
383
+ const startedAt = now();
384
+ const document = requestDocument(context.need.constraints);
385
+ const renderConfig = renderConfiguration(document, {
386
+ quality,
387
+ ...(chunkSize === undefined ? {} : { chunkSize }),
388
+ maxParallelChunks,
389
+ ...(targetChunkFrames === undefined ? {} : { targetChunkFrames }),
390
+ });
391
+ let site: HyperframesLambdaSite;
392
+ const work = await mkdtemp(join(tmpdir(), "hypit-hyperframes-aws-"));
393
+ try {
394
+ await stageHyperframesProject({
395
+ document,
396
+ directory: work,
397
+ read: (artifact) => artifactBytes(context, artifact),
398
+ });
399
+ site = await client.deploySite({ projectDir: work, bucketName: config.bucketName, region });
400
+ } catch (error) {
401
+ return implementationFailure("HYPERFRAMES_SITE_DEPLOY_FAILED", error);
402
+ } finally {
403
+ await rm(work, { recursive: true, force: true }).catch(() => {});
404
+ }
405
+ verifySite(site, config.bucketName);
406
+ let render: HyperframesLambdaRender;
407
+ try {
408
+ render = await client.render({
409
+ siteHandle: site,
410
+ config: renderConfig,
411
+ bucketName: config.bucketName,
412
+ stateMachineArn: machine.arn,
413
+ region,
414
+ outputKey: outputKey(context.operation),
415
+ executionName: executionName(context.operation),
416
+ });
417
+ const handle = makeHandle(context, site, render, startedAt);
418
+ const receipt = { id: handle.executionArn };
419
+ await context.checkpoint?.({ handle: canonicalize(handle), receipt });
420
+ return { ...wakeAfter(canonicalize(handle), pollIntervalMs, now(), { phase: "submitted" }), receipt };
421
+ } catch (error) {
422
+ return implementationFailure("HYPERFRAMES_SUBMISSION_FAILED", error);
423
+ }
424
+ };
425
+
426
+ const safeSubmit = async (
427
+ context: EndpointStartContext,
428
+ ): Promise<EndpointOutcome> => {
429
+ try {
430
+ return await submit(context);
431
+ } catch (error) {
432
+ return implementationFailure("HYPERFRAMES_SUBMISSION_INVALID", error);
433
+ }
434
+ };
435
+
436
+ const endpoint: AsyncEndpoint = {
437
+ start: async (context) => await safeSubmit(context),
438
+ async poll(context) {
439
+ let handle: HyperframesHandle;
440
+ try {
441
+ handle = readHandle(context.handle, context);
442
+ } catch (error) {
443
+ throw error;
444
+ }
445
+ if (now() - handle.startedAt >= maxOperationMs) {
446
+ return implementationFailure("HYPERFRAMES_OPERATION_TIMEOUT", new Error("HyperFrames deadline exceeded"));
447
+ }
448
+ let document: HyperframesDocument;
449
+ let progress: HyperframesLambdaProgress;
450
+ try {
451
+ document = requestDocument(context.need.constraints);
452
+ progress = await client.progress({
453
+ executionArn: handle.executionArn,
454
+ defaultMemorySizeMb,
455
+ region,
456
+ });
457
+ } catch (error) {
458
+ return implementationFailure("HYPERFRAMES_POLL_FAILED", error);
459
+ }
460
+ try {
461
+ verifyProgress(progress, document);
462
+ } catch (error) {
463
+ return implementationFailure("HYPERFRAMES_POLL_FAILED", error);
464
+ }
465
+ const next = { ...handle, polls: handle.polls + 1 };
466
+ if (progress.status === "RUNNING") {
467
+ return wakeAfter(canonicalize(next), pollIntervalMs, now(), {
468
+ phase: "rendering",
469
+ completed: progress.framesRendered,
470
+ ...(progress.totalFrames === null ? {} : { total: progress.totalFrames }),
471
+ unit: "frames",
472
+ });
473
+ }
474
+ if (progress.status !== "SUCCEEDED") {
475
+ const details = progress.errors.map((item) => `${item.state}: ${item.error}: ${item.cause}`).join("; ");
476
+ return implementationFailure(`HYPERFRAMES_${progress.status}`,
477
+ new Error(details || `HyperFrames execution ended as ${progress.status}`));
478
+ }
479
+ try {
480
+ const artifact = await storeOutput(context, client, progress, next, region, maxRenderedBytes);
481
+ return {
482
+ status: "completed",
483
+ result: fulfillment(document, artifact),
484
+ };
485
+ } catch (error) {
486
+ return implementationFailure("HYPERFRAMES_OUTPUT_INVALID", error);
487
+ }
488
+ },
489
+ async cancel(context) {
490
+ const target = readHandle(context.handle, context).executionArn;
491
+ try {
492
+ await client.stop({
493
+ executionArn: target,
494
+ region,
495
+ reason: `Hypit cancelled Operation ${context.operation}`,
496
+ });
497
+ } catch (error) {
498
+ if (!alreadyStopped(error)) throw error;
499
+ }
500
+ return { status: "accepted" };
501
+ },
502
+ };
503
+
504
+ return defineEndpointPackage({
505
+ module: awsLambdaHyperframesProviderModuleRef,
506
+ facet: "render",
507
+ instance: config.instance ?? "hyperframes.aws-lambda",
508
+ pool: config.pool ?? config.instance ?? "hyperframes.aws-lambda",
509
+ pricing: { kind: "page", url: "https://aws.amazon.com/lambda/pricing/" },
510
+ defaultConcurrency: config.defaultConcurrency ?? 2,
511
+ capabilities: [{
512
+ lifecycle: "asynchronous" as const,
513
+ capability: renderHyperframesCapabilities.renderVisual,
514
+ returns: mediaTypes.renderedVisual,
515
+ supports: (need) => {
516
+ const reason = awsLambdaHyperframesRejection(need.constraints);
517
+ return reason === undefined ? { status: "supported" } : { status: "unsupported", reason };
518
+ },
519
+ endpoint,
520
+ }],
521
+ });
522
+ }
@@ -0,0 +1,129 @@
1
+ # @hypit/provider-hyperframes-local
2
+
3
+ Trusted local Provider for the `@hypit/render-hyperframes#render-visual` capability. It stages the
4
+ Resource dependencies declared by a `HyperframesDocument`, renders a silent MP4 with the
5
+ HyperFrames engine, probes the bytes, and returns a verified `RenderedVisual`. Before staging a typed
6
+ Surface it decodes the exact bytes and checks declared dimensions, still/frame timing, SDR/sRGB and
7
+ opaque/straight-alpha facts. These checks validate the typed rendering input; they do not create
8
+ content identity or hidden output metadata.
9
+
10
+ Normalized transparent videos displayed by Media or project components use the ordinary video path.
11
+ The engine decodes them to PNG frames with alpha, then Chrome blends them with lower layers and
12
+ the authored Canvas background. PNG is the intermediate capture format; it does not ask to erase
13
+ the Film's background. The returned MP4 contains the completed composition.
14
+
15
+ Runtime configuration separates work size from shared capacity:
16
+
17
+ - `defaultConcurrency` limits whole render requests admitted by the Endpoint's Runtime capacity resource.
18
+ - Optional `browserCapacity` limits Chrome slots shared by all render Needs in the same `pool`.
19
+ Each Need reserves its actual worker count atomically with the whole-request slot. A request larger
20
+ than this budget reports a configuration error; it does not silently reduce the requested workers.
21
+ Both reservations last for the whole Need, including preparation and final encoding. Closing one
22
+ Chrome early does not release part of that reservation. Without `browserCapacity`, admission uses
23
+ the whole-request limit alone.
24
+ - `workers` controls independent Chrome processes inside one admitted render. Explicit counts are
25
+ honored, capped only by selected frame count. `auto` uses half the available CPU parallelism,
26
+ bounded to 1–4 workers.
27
+
28
+ The Runtime Profile configures these controls through the Provider because they are deployment policy.
29
+ `auto` is resolved when the Provider is activated, so admission and execution use the same count. It never
30
+ renders program audio; `@hypit/provider-media-local` separately prepares `TimelineAudio` and muxes
31
+ the final media.
32
+
33
+ For a Runtime Profile, place `pool` on the Endpoint entry and these Provider settings inside
34
+ `config`. This is an illustrative entry to merge into the Profile's existing `endpoints`:
35
+
36
+ ```json
37
+ "hyperframes.local": {
38
+ "use": "@hypit/provider-hyperframes-local",
39
+ "pool": "local-render",
40
+ "config": {
41
+ "workers": 4,
42
+ "defaultConcurrency": 2,
43
+ "browserCapacity": 6
44
+ }
45
+ }
46
+ ```
47
+
48
+ This configuration admits one 4-worker request at a time under its 6-browser budget even though
49
+ the whole-request limit is 2. Two 4-worker requests would need 8 browser slots. Choose budgets from
50
+ the actual machine and shared workloads; the example is not an automatic tuning recommendation.
51
+ Reload the Runtime Worker after changing its Profile and restart Studio if it uses that Profile.
52
+
53
+ `browserGpu` picks Chrome's rasterizer and defaults to `hardware`. Set `software` without a usable
54
+ GPU, or `auto` to let the engine decide. Capture uses screenshots and independent browser processes;
55
+ the CLI's automatic worker and drawElement policies do not override the count.
56
+
57
+ The Runtime Adapter also declares one managed browser program. `programs up` invokes the pinned
58
+ HyperFrames CLI's `browser ensure`; its probe resolves and starts that browser and checks
59
+ the FFmpeg/FFprobe toolchain before a Build.
60
+
61
+ The same executor is exported for callers with an already compiled document:
62
+
63
+ ```ts
64
+ import { renderHyperframesVisual } from "@hypit/provider-hyperframes-local";
65
+
66
+ const visual = await renderHyperframesVisual(
67
+ { document, range: { startFrame: 240, endFrameExclusive: 360 } },
68
+ { resources, workers: 4, onProgress: (event) => console.log(event) },
69
+ );
70
+ ```
71
+
72
+ Omit `range` for the complete document. Ranges are zero-based and half-open on the original
73
+ programme clock. At 30 fps, `[240, 360)` returns 120 frames covering seconds 8–12.
74
+ `onProgress` reports preparation, worker ranges, browser PIDs, completion and elapsed time to direct
75
+ executor callers. The Runtime Provider does not currently forward these events as Build progress.
76
+ `processTimeoutMs` defaults to 30 minutes and starts one deadline before resource preparation. It
77
+ covers resource reads, Surface validation, rendering and output storage. `signal` can end the same
78
+ execution earlier. ResourceStore I/O and Surface probes receive the cancellation signal; a custom
79
+ ResourceStore must implement the port's cancellation behavior, including streaming reads and writes.
80
+
81
+ Browser launch, source extraction, capture and encoding run in one disposable child process per
82
+ render. At cancellation it receives a stop request and has up to five seconds to clean up. The owner
83
+ then terminates any remaining process tree, including Chrome's separate process groups, and awaits
84
+ the child exit before removing temporary files and returning failure. This also covers engine calls
85
+ that do not accept a signal. The deadline initiates shutdown; the call may spend additional time
86
+ closing resources. Completed Outputs in the Build remain available for a new Run and Build.
87
+
88
+ Deployments may additionally set `initializationTimeoutMs` or `frameTimeoutMs` when they have a
89
+ measured stage deadline. Initialization here means initializing an already created browser session;
90
+ Chrome launch precedes it. Stage deadlines are otherwise unset, allowing a busy machine to spend
91
+ more of the shared render budget on a slow initialization or frame.
92
+ An explicit stage-timeout error names the worker and stage/frame, aborts sibling workers and awaits
93
+ cleanup. A completed worker closes its Chrome immediately.
94
+
95
+ One call stages the HTML and every declared asset once. Typed Surface validation includes a complete
96
+ decoded-frame count, even for a short render interval. The renderer then finds source-frame windows
97
+ needed by that interval, merges overlapping windows, and extracts them one source/window at a time.
98
+ Decoded PNGs are shared by all workers in this call. Each worker initializes its own page and captures
99
+ its assigned frames at their original absolute times. Output numbering starts at zero; final H.264
100
+ encoding runs once after all workers finish. More workers parallelize capture, while staging,
101
+ validation, source extraction and final encoding still contribute their own cost.
102
+
103
+ Each call has its own temporary directory, local server port and Chrome processes. Separate renders
104
+ do not share staged files or decoded PNGs. Exact compiler sampling markers retain loops, holds and
105
+ fractional playback rates. There is no SVML rewrite, intermediate cut MP4 or repeat normalization.
106
+ Already compiled video documents need the current compiler's frame markers.
107
+
108
+ Source extraction uses the pinned engine's FFmpeg/FFprobe resolver. `ffmpegPath` selects the final
109
+ H.264 encoder; `ffprobePath` verifies output and typed surfaces. `nodePath` and `hyperframesCliPath`
110
+ serve managed browser installation. The requested frame range travels in the Model's Need.
111
+
112
+ ```ts
113
+ import { createLocalHyperframesProvider } from "@hypit/provider-hyperframes-local";
114
+
115
+ const provider = createLocalHyperframesProvider({
116
+ pool: "local-render",
117
+ workers: 4,
118
+ defaultConcurrency: 2,
119
+ browserCapacity: 6,
120
+ });
121
+ ```
122
+
123
+ Two instances in `local-render`, configured with 4 and 2 workers and identical capacity limits, can
124
+ render together. With `browserCapacity: 4`, the second waits. Coordination applies to Builds sharing
125
+ the same Runtime Execution Store; the pool name alone does not coordinate separate stores or machines.
126
+ Direct `renderHyperframesVisual()` calls do not enter Runtime's shared admission system.
127
+
128
+ The current package executes trusted official code in a local process. It is not a sandbox for
129
+ untrusted documents or community renderer implementations.
@@ -0,0 +1,34 @@
1
+ {
2
+ "name": "@hypit/provider-hyperframes-local",
3
+ "version": "0.0.0-dev",
4
+ "license": "SEE LICENSE IN LICENSE",
5
+ "private": true,
6
+ "type": "module",
7
+ "exports": {
8
+ ".": "./src/index.ts"
9
+ },
10
+ "hypit": {
11
+ "activation": "./src/activation.ts"
12
+ },
13
+ "dependencies": {
14
+ "@hyperframes/engine": "0.7.101",
15
+ "@hyperframes/producer": "0.7.101",
16
+ "@hypit/endpoint-kit": "workspace:*",
17
+ "@hypit/hyperframes": "workspace:*",
18
+ "@hypit/media": "workspace:*",
19
+ "@hypit/media-execution": "workspace:*",
20
+ "@hypit/package-loader-node": "workspace:*",
21
+ "@hypit/protocol": "workspace:*",
22
+ "@hypit/render-hyperframes": "workspace:*",
23
+ "@hypit/runtime": "workspace:*",
24
+ "@hypit/runtime-host-node": "workspace:*",
25
+ "@hypit/runtime-kit": "workspace:*",
26
+ "hyperframes": "0.7.101",
27
+ "tsx": "4.21.0"
28
+ },
29
+ "devDependencies": {
30
+ "@hypit/composition": "workspace:*",
31
+ "@hypit/driver-node": "workspace:*",
32
+ "@hypit/program-space": "workspace:*"
33
+ }
34
+ }