@hypit/hypit 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 (962) hide show
  1. package/LICENSE +26 -0
  2. package/README.md +203 -0
  3. package/README.zh-CN.md +195 -0
  4. package/bin/hypit.mjs +46 -0
  5. package/dist/public/artifact.d.ts +75 -0
  6. package/dist/public/author-kit.d.ts +559 -0
  7. package/dist/public/browser-capture.d.ts +56 -0
  8. package/dist/public/caption.d.ts +751 -0
  9. package/dist/public/composition.d.ts +672 -0
  10. package/dist/public/endpoint-kit.d.ts +366 -0
  11. package/dist/public/generation.d.ts +591 -0
  12. package/dist/public/hyperframes.d.ts +774 -0
  13. package/dist/public/media.d.ts +708 -0
  14. package/dist/public/model-kit.d.ts +523 -0
  15. package/dist/public/narrative.d.ts +315 -0
  16. package/dist/public/program-space.d.ts +193 -0
  17. package/dist/public/runtime-kit.d.ts +427 -0
  18. package/dist/public/semantic-track.d.ts +418 -0
  19. package/dist/public/spatial.d.ts +1193 -0
  20. package/dist/public/speech.d.ts +391 -0
  21. package/dist/public/studio-adapter.d.ts +686 -0
  22. package/dist/public/svs.d.ts +311 -0
  23. package/dist/public/temporal-markup.d.ts +343 -0
  24. package/dist/public/temporal.d.ts +497 -0
  25. package/dist/public/text.d.ts +817 -0
  26. package/dist/public/visual-ir.d.ts +98 -0
  27. package/docs/public/hypit-logo-dark.svg +36 -0
  28. package/docs/public/hypit-logo-light.svg +38 -0
  29. package/examples/README.md +24 -0
  30. package/examples/minimal-author-package/README.md +18 -0
  31. package/examples/minimal-author-package/packages/example-component/README.md +44 -0
  32. package/examples/minimal-author-package/packages/example-component/package.json +27 -0
  33. package/examples/minimal-author-package/packages/example-component/preview/Box.png +0 -0
  34. package/examples/minimal-author-package/packages/example-component/preview/build.svrun +6 -0
  35. package/examples/minimal-author-package/packages/example-component/preview/preview.svml +47 -0
  36. package/examples/minimal-author-package/packages/example-component/preview/recipes.svs +8 -0
  37. package/examples/minimal-author-package/packages/example-component/src/activation.ts +10 -0
  38. package/examples/minimal-author-package/packages/example-component/src/component.ts +44 -0
  39. package/examples/minimal-author-package/packages/example-component/src/fragment.ts +32 -0
  40. package/examples/minimal-author-package/packages/example-component/src/index.ts +6 -0
  41. package/examples/minimal-author-package/packages/example-component/src/manifest.ts +82 -0
  42. package/examples/minimal-author-package/packages/example-component/src/style.ts +13 -0
  43. package/examples/minimal-author-package/packages/example-component/src/surface.ts +41 -0
  44. package/examples/minimal-author-package/packages/example-component/src/temporal.ts +6 -0
  45. package/examples/minimal-author-package/packages/example-component/tsconfig.json +18 -0
  46. package/examples/semantic-composition/README.md +35 -0
  47. package/examples/semantic-composition/chat.svml +25 -0
  48. package/examples/semantic-composition/chat.svrun +6 -0
  49. package/examples/semantic-composition/chat.svs +4 -0
  50. package/examples/semantic-composition/hypit.runtime.json +8 -0
  51. package/examples/semantic-composition/packages/chat-scene/README.md +29 -0
  52. package/examples/semantic-composition/packages/chat-scene/package.json +11 -0
  53. package/examples/semantic-composition/packages/chat-scene/src/activation.ts +112 -0
  54. package/examples/semantic-composition/packages/chat-scene/src/render.ts +64 -0
  55. package/examples/semantic-composition/packages/chat-scene/tsconfig.json +18 -0
  56. package/examples/semantic-composition/packages/responsive-explainer/README.md +45 -0
  57. package/examples/semantic-composition/packages/responsive-explainer/package.json +11 -0
  58. package/examples/semantic-composition/packages/responsive-explainer/src/activation.ts +90 -0
  59. package/examples/semantic-composition/packages/responsive-explainer/src/render.ts +68 -0
  60. package/examples/semantic-composition/packages/responsive-explainer/tsconfig.json +18 -0
  61. package/package.json +259 -7
  62. package/packages/artifact/README.md +10 -0
  63. package/packages/artifact/package.json +16 -0
  64. package/packages/artifact/src/activation.ts +8 -0
  65. package/packages/artifact/src/index.ts +24 -0
  66. package/packages/audio-track/README.md +43 -0
  67. package/packages/audio-track/package.json +36 -0
  68. package/packages/audio-track/src/activation.ts +20 -0
  69. package/packages/audio-track/src/component.ts +40 -0
  70. package/packages/audio-track/src/fragment.ts +63 -0
  71. package/packages/audio-track/src/index.ts +7 -0
  72. package/packages/audio-track/src/manifest.ts +151 -0
  73. package/packages/audio-track/src/program.ts +254 -0
  74. package/packages/audio-track/src/surface.ts +187 -0
  75. package/packages/audio-track/src/types.ts +62 -0
  76. package/packages/audio-track-studio/README.md +3 -0
  77. package/packages/audio-track-studio/package.json +14 -0
  78. package/packages/audio-track-studio/src/activation.ts +7 -0
  79. package/packages/audio-track-studio/src/index.ts +72 -0
  80. package/packages/author-kit/README.md +31 -0
  81. package/packages/author-kit/package.json +16 -0
  82. package/packages/author-kit/src/index.ts +59 -0
  83. package/packages/background-removal/README.md +29 -0
  84. package/packages/background-removal/package.json +16 -0
  85. package/packages/background-removal/src/activation.ts +18 -0
  86. package/packages/background-removal/src/component.ts +32 -0
  87. package/packages/background-removal/src/fragment.ts +18 -0
  88. package/packages/background-removal/src/index.ts +6 -0
  89. package/packages/background-removal/src/manifest.ts +45 -0
  90. package/packages/background-removal/src/program.ts +19 -0
  91. package/packages/background-removal/src/surface.ts +27 -0
  92. package/packages/background-removal/src/types.ts +5 -0
  93. package/packages/browser-capture/README.md +82 -0
  94. package/packages/browser-capture/package.json +15 -0
  95. package/packages/browser-capture/src/browser.ts +19 -0
  96. package/packages/browser-capture/src/index.ts +198 -0
  97. package/packages/build-result/package.json +13 -0
  98. package/packages/build-result/src/decode.ts +286 -0
  99. package/packages/build-result/src/index.ts +25 -0
  100. package/packages/build-result/src/store.ts +505 -0
  101. package/packages/build-result/src/types.ts +354 -0
  102. package/packages/build-result/src/writer.ts +184 -0
  103. package/packages/build-result-fs/README.md +29 -0
  104. package/packages/build-result-fs/package.json +17 -0
  105. package/packages/build-result-fs/src/activation.ts +62 -0
  106. package/packages/build-result-fs/src/index.ts +1 -0
  107. package/packages/build-result-kit/README.md +10 -0
  108. package/packages/build-result-kit/package.json +15 -0
  109. package/packages/build-result-kit/src/index.ts +144 -0
  110. package/packages/build-result-s3/README.md +49 -0
  111. package/packages/build-result-s3/package.json +19 -0
  112. package/packages/build-result-s3/src/activation.ts +71 -0
  113. package/packages/build-result-s3/src/client.ts +254 -0
  114. package/packages/build-result-s3/src/index.ts +4 -0
  115. package/packages/build-result-s3/src/repository.ts +361 -0
  116. package/packages/caption/README.md +77 -0
  117. package/packages/caption/package.json +28 -0
  118. package/packages/caption/src/activation.ts +17 -0
  119. package/packages/caption/src/component.ts +38 -0
  120. package/packages/caption/src/display.ts +111 -0
  121. package/packages/caption/src/error.ts +9 -0
  122. package/packages/caption/src/fragment.ts +26 -0
  123. package/packages/caption/src/index.ts +33 -0
  124. package/packages/caption/src/manifest.ts +97 -0
  125. package/packages/caption/src/style.ts +170 -0
  126. package/packages/caption/src/surface.ts +96 -0
  127. package/packages/caption/src/temporalize.ts +124 -0
  128. package/packages/caption/src/types.ts +71 -0
  129. package/packages/caption-fine/README.md +108 -0
  130. package/packages/caption-fine/package.json +30 -0
  131. package/packages/caption-fine/preview/Track.png +0 -0
  132. package/packages/caption-fine/src/activation.ts +32 -0
  133. package/packages/caption-fine/src/component.ts +58 -0
  134. package/packages/caption-fine/src/fragment.ts +112 -0
  135. package/packages/caption-fine/src/index.ts +19 -0
  136. package/packages/caption-fine/src/manifest.ts +383 -0
  137. package/packages/caption-fine/src/recipe.ts +120 -0
  138. package/packages/caption-fine/src/render.ts +1133 -0
  139. package/packages/caption-fine/src/schedule.ts +126 -0
  140. package/packages/caption-fine/src/spacing.ts +69 -0
  141. package/packages/caption-fine/src/style.ts +370 -0
  142. package/packages/caption-fine/src/surface.ts +152 -0
  143. package/packages/caption-fine/src/types.ts +191 -0
  144. package/packages/caption-fine-studio/README.md +3 -0
  145. package/packages/caption-fine-studio/package.json +15 -0
  146. package/packages/caption-fine-studio/src/activation.ts +7 -0
  147. package/packages/caption-fine-studio/src/index.ts +163 -0
  148. package/packages/cli/README.md +51 -0
  149. package/packages/cli/package.json +33 -0
  150. package/packages/cli/src/arguments.ts +605 -0
  151. package/packages/cli/src/build-planning.ts +460 -0
  152. package/packages/cli/src/command.ts +202 -0
  153. package/packages/cli/src/commands/environment.ts +391 -0
  154. package/packages/cli/src/commands/execution.ts +321 -0
  155. package/packages/cli/src/commands/results.ts +187 -0
  156. package/packages/cli/src/commands/types.ts +9 -0
  157. package/packages/cli/src/distribution.ts +74 -0
  158. package/packages/cli/src/index.ts +30 -0
  159. package/packages/cli/src/machine-view.ts +28 -0
  160. package/packages/cli/src/main.ts +654 -0
  161. package/packages/cli/src/oauth.ts +228 -0
  162. package/packages/cli/src/observation.ts +203 -0
  163. package/packages/cli/src/output.ts +1007 -0
  164. package/packages/cli/src/paths.ts +7 -0
  165. package/packages/cli/src/project-context.ts +38 -0
  166. package/packages/cli/src/reachability.ts +91 -0
  167. package/packages/cli/src/result-export.ts +148 -0
  168. package/packages/cli/src/result-query.ts +46 -0
  169. package/packages/cli/src/run-file.ts +186 -0
  170. package/packages/cli/src/runtime-port.ts +13 -0
  171. package/packages/cli/src/runtime-selection.ts +94 -0
  172. package/packages/cli/src/runtime-view.ts +15 -0
  173. package/packages/cli/src/source-discovery.ts +150 -0
  174. package/packages/cli/src/source-packages.ts +91 -0
  175. package/packages/cli/src/view.ts +228 -0
  176. package/packages/comment-sticker/README.md +41 -0
  177. package/packages/comment-sticker/package.json +29 -0
  178. package/packages/comment-sticker/preview/Track.png +0 -0
  179. package/packages/comment-sticker/src/activation.ts +32 -0
  180. package/packages/comment-sticker/src/author.ts +148 -0
  181. package/packages/comment-sticker/src/component.ts +97 -0
  182. package/packages/comment-sticker/src/fragment.ts +124 -0
  183. package/packages/comment-sticker/src/index.ts +8 -0
  184. package/packages/comment-sticker/src/manifest.ts +373 -0
  185. package/packages/comment-sticker/src/program.ts +610 -0
  186. package/packages/comment-sticker/src/surface.ts +172 -0
  187. package/packages/comment-sticker/src/types.ts +109 -0
  188. package/packages/comment-sticker-studio/README.md +3 -0
  189. package/packages/comment-sticker-studio/package.json +14 -0
  190. package/packages/comment-sticker-studio/src/activation.ts +7 -0
  191. package/packages/comment-sticker-studio/src/index.ts +132 -0
  192. package/packages/compiler-markup-node/README.md +12 -0
  193. package/packages/compiler-markup-node/package.json +22 -0
  194. package/packages/compiler-markup-node/src/index.ts +59 -0
  195. package/packages/compiler-node/README.md +60 -0
  196. package/packages/compiler-node/package.json +25 -0
  197. package/packages/compiler-node/src/compiler.ts +207 -0
  198. package/packages/compiler-node/src/error.ts +11 -0
  199. package/packages/compiler-node/src/graph-query.ts +51 -0
  200. package/packages/compiler-node/src/index.ts +27 -0
  201. package/packages/compiler-node/src/modules.ts +107 -0
  202. package/packages/compiler-node/src/run.ts +355 -0
  203. package/packages/component-kit/README.md +97 -0
  204. package/packages/component-kit/package.json +13 -0
  205. package/packages/component-kit/src/index.ts +155 -0
  206. package/packages/composition/README.md +53 -0
  207. package/packages/composition/package.json +29 -0
  208. package/packages/composition/src/activation.ts +3 -0
  209. package/packages/composition/src/component.ts +10 -0
  210. package/packages/composition/src/index.ts +18 -0
  211. package/packages/composition/src/manifest.ts +13 -0
  212. package/packages/composition/src/schema.ts +194 -0
  213. package/packages/composition/src/track.ts +1403 -0
  214. package/packages/core/README.md +22 -0
  215. package/packages/core/package.json +13 -0
  216. package/packages/core/src/error.ts +12 -0
  217. package/packages/core/src/graph.ts +341 -0
  218. package/packages/core/src/index.ts +32 -0
  219. package/packages/core/src/link.ts +240 -0
  220. package/packages/core/src/machine.ts +60 -0
  221. package/packages/core/src/plan.ts +504 -0
  222. package/packages/core/src/reducer.ts +428 -0
  223. package/packages/core/src/reference.ts +25 -0
  224. package/packages/core/src/slice.ts +108 -0
  225. package/packages/credential-store-env/README.md +11 -0
  226. package/packages/credential-store-env/package.json +17 -0
  227. package/packages/credential-store-env/src/activation.ts +25 -0
  228. package/packages/credential-store-env/src/index.ts +23 -0
  229. package/packages/credential-store-os/README.md +13 -0
  230. package/packages/credential-store-os/package.json +22 -0
  231. package/packages/credential-store-os/runtime/windows-credential.ps1 +59 -0
  232. package/packages/credential-store-os/src/activation.ts +32 -0
  233. package/packages/credential-store-os/src/index.ts +2 -0
  234. package/packages/credential-store-os/src/store.ts +196 -0
  235. package/packages/deck-track/README.md +52 -0
  236. package/packages/deck-track/package.json +35 -0
  237. package/packages/deck-track/preview/DepthStack.png +0 -0
  238. package/packages/deck-track/src/activation.ts +32 -0
  239. package/packages/deck-track/src/author.ts +217 -0
  240. package/packages/deck-track/src/component.ts +86 -0
  241. package/packages/deck-track/src/fragment.ts +148 -0
  242. package/packages/deck-track/src/index.ts +16 -0
  243. package/packages/deck-track/src/lower.ts +370 -0
  244. package/packages/deck-track/src/manifest.ts +438 -0
  245. package/packages/deck-track/src/program.ts +367 -0
  246. package/packages/deck-track/src/surface.ts +286 -0
  247. package/packages/deck-track/src/types.ts +119 -0
  248. package/packages/deck-track-studio/README.md +3 -0
  249. package/packages/deck-track-studio/package.json +14 -0
  250. package/packages/deck-track-studio/src/activation.ts +7 -0
  251. package/packages/deck-track-studio/src/index.ts +134 -0
  252. package/packages/driver-node/README.md +23 -0
  253. package/packages/driver-node/package.json +18 -0
  254. package/packages/driver-node/src/driver.ts +616 -0
  255. package/packages/driver-node/src/index.ts +10 -0
  256. package/packages/driver-node/src/planning.ts +67 -0
  257. package/packages/driver-node/src/registry.ts +234 -0
  258. package/packages/driver-node/src/resources.ts +36 -0
  259. package/packages/driver-node/src/types.ts +69 -0
  260. package/packages/elaborator/README.md +74 -0
  261. package/packages/elaborator/package.json +16 -0
  262. package/packages/elaborator/src/author.ts +308 -0
  263. package/packages/elaborator/src/fragment.ts +505 -0
  264. package/packages/elaborator/src/frontend-facet.ts +30 -0
  265. package/packages/elaborator/src/index.ts +78 -0
  266. package/packages/elaborator/src/source.ts +608 -0
  267. package/packages/endpoint-kit/README.md +111 -0
  268. package/packages/endpoint-kit/package.json +14 -0
  269. package/packages/endpoint-kit/src/index.ts +488 -0
  270. package/packages/estimate/README.md +32 -0
  271. package/packages/estimate/package.json +20 -0
  272. package/packages/estimate/src/activation.ts +11 -0
  273. package/packages/estimate/src/index.ts +16 -0
  274. package/packages/estimate/src/manifest.ts +34 -0
  275. package/packages/estimate/src/policy.ts +70 -0
  276. package/packages/estimate/src/program.ts +196 -0
  277. package/packages/estimate/src/types.ts +15 -0
  278. package/packages/film/README.md +49 -0
  279. package/packages/film/package.json +34 -0
  280. package/packages/film/src/activation.ts +16 -0
  281. package/packages/film/src/component.ts +61 -0
  282. package/packages/film/src/fragment.ts +83 -0
  283. package/packages/film/src/index.ts +11 -0
  284. package/packages/film/src/manifest.ts +152 -0
  285. package/packages/film/src/program.ts +110 -0
  286. package/packages/film/src/recipe.ts +24 -0
  287. package/packages/film/src/surface.ts +146 -0
  288. package/packages/film/src/types.ts +26 -0
  289. package/packages/film-studio/package.json +16 -0
  290. package/packages/film-studio/src/activation.ts +8 -0
  291. package/packages/film-studio/src/index.ts +17 -0
  292. package/packages/fonts-open/README.md +77 -0
  293. package/packages/fonts-open/package.json +130 -0
  294. package/packages/fonts-open/src/activation.ts +30 -0
  295. package/packages/fonts-open/src/catalog.ts +317 -0
  296. package/packages/fonts-open/src/index.ts +13 -0
  297. package/packages/fonts-open/src/manifest.ts +83 -0
  298. package/packages/fonts-open/src/surface.ts +239 -0
  299. package/packages/generation/README.md +19 -0
  300. package/packages/generation/package.json +23 -0
  301. package/packages/generation/src/activation.ts +9 -0
  302. package/packages/generation/src/component.ts +77 -0
  303. package/packages/generation/src/identity.ts +80 -0
  304. package/packages/generation/src/index.ts +79 -0
  305. package/packages/generation/src/manifest.ts +65 -0
  306. package/packages/generation/src/mapping.ts +231 -0
  307. package/packages/generation/src/ports.ts +222 -0
  308. package/packages/generation/src/request.ts +427 -0
  309. package/packages/generation/src/schema.ts +62 -0
  310. package/packages/generation/src/types.ts +17 -0
  311. package/packages/gpt-image/README.md +54 -0
  312. package/packages/gpt-image/package.json +34 -0
  313. package/packages/gpt-image/src/activation.ts +39 -0
  314. package/packages/gpt-image/src/fragment.ts +101 -0
  315. package/packages/gpt-image/src/index.ts +203 -0
  316. package/packages/gpt-image/src/surface.ts +194 -0
  317. package/packages/gpt-image-kits/README.md +44 -0
  318. package/packages/gpt-image-kits/kits/phone-ugc-v1.svs +34 -0
  319. package/packages/gpt-image-kits/package.json +15 -0
  320. package/packages/grok-imagine/README.md +21 -0
  321. package/packages/grok-imagine/package.json +21 -0
  322. package/packages/grok-imagine/src/activation.ts +29 -0
  323. package/packages/grok-imagine/src/index.ts +174 -0
  324. package/packages/grok-imagine/src/surface.ts +149 -0
  325. package/packages/host/README.md +5 -0
  326. package/packages/host/package.json +10 -0
  327. package/packages/host/src/facet.ts +6 -0
  328. package/packages/host/src/frontend.ts +56 -0
  329. package/packages/host/src/index.ts +9 -0
  330. package/packages/hyperframes/README.md +69 -0
  331. package/packages/hyperframes/package.json +36 -0
  332. package/packages/hyperframes/src/activation.ts +8 -0
  333. package/packages/hyperframes/src/browser-program.ts +79 -0
  334. package/packages/hyperframes/src/component.ts +32 -0
  335. package/packages/hyperframes/src/document.ts +827 -0
  336. package/packages/hyperframes/src/fragment.ts +32 -0
  337. package/packages/hyperframes/src/index.ts +13 -0
  338. package/packages/hyperframes/src/manifest.ts +67 -0
  339. package/packages/hyperframes/src/project.ts +118 -0
  340. package/packages/hyperframes/src/text.ts +1179 -0
  341. package/packages/hyperframes/src/types.ts +38 -0
  342. package/packages/image-compose/README.md +25 -0
  343. package/packages/image-compose/package.json +18 -0
  344. package/packages/image-compose/src/activation.ts +21 -0
  345. package/packages/image-compose/src/component.ts +100 -0
  346. package/packages/image-compose/src/fragment.ts +54 -0
  347. package/packages/image-compose/src/index.ts +10 -0
  348. package/packages/image-compose/src/manifest.ts +119 -0
  349. package/packages/image-compose/src/program.ts +75 -0
  350. package/packages/image-compose/src/surface.ts +83 -0
  351. package/packages/image-compose/src/types.ts +22 -0
  352. package/packages/image-transform/README.md +29 -0
  353. package/packages/image-transform/package.json +21 -0
  354. package/packages/image-transform/src/activation.ts +33 -0
  355. package/packages/image-transform/src/component.ts +67 -0
  356. package/packages/image-transform/src/fragment.ts +25 -0
  357. package/packages/image-transform/src/index.ts +13 -0
  358. package/packages/image-transform/src/manifest.ts +209 -0
  359. package/packages/image-transform/src/program.ts +23 -0
  360. package/packages/image-transform/src/surface.ts +216 -0
  361. package/packages/image-transform/src/types.ts +20 -0
  362. package/packages/interview-emoji-reveal/README.md +39 -0
  363. package/packages/interview-emoji-reveal/package.json +23 -0
  364. package/packages/interview-emoji-reveal/preview/Track.png +0 -0
  365. package/packages/interview-emoji-reveal/src/activation.ts +14 -0
  366. package/packages/interview-emoji-reveal/src/component.ts +45 -0
  367. package/packages/interview-emoji-reveal/src/fragment.ts +62 -0
  368. package/packages/interview-emoji-reveal/src/index.ts +16 -0
  369. package/packages/interview-emoji-reveal/src/manifest.ts +174 -0
  370. package/packages/interview-emoji-reveal/src/program.ts +242 -0
  371. package/packages/interview-emoji-reveal/src/style.ts +47 -0
  372. package/packages/interview-emoji-reveal/src/surface.ts +110 -0
  373. package/packages/interview-emoji-reveal/src/types.ts +52 -0
  374. package/packages/markup/README.md +81 -0
  375. package/packages/markup/package.json +16 -0
  376. package/packages/markup/src/element.ts +39 -0
  377. package/packages/markup/src/error.ts +20 -0
  378. package/packages/markup/src/frontend.ts +518 -0
  379. package/packages/markup/src/host-facet.ts +115 -0
  380. package/packages/markup/src/index.ts +25 -0
  381. package/packages/markup/src/registry.ts +83 -0
  382. package/packages/markup/src/syntax.ts +271 -0
  383. package/packages/markup/src/types.ts +246 -0
  384. package/packages/media/README.md +37 -0
  385. package/packages/media/package.json +19 -0
  386. package/packages/media/src/activation.ts +38 -0
  387. package/packages/media/src/component.ts +16 -0
  388. package/packages/media/src/frame-range.ts +33 -0
  389. package/packages/media/src/identity.ts +227 -0
  390. package/packages/media/src/index.ts +15 -0
  391. package/packages/media/src/manifest.ts +122 -0
  392. package/packages/media/src/render.ts +140 -0
  393. package/packages/media/src/schema.ts +69 -0
  394. package/packages/media/src/surface.ts +150 -0
  395. package/packages/media/src/types.ts +121 -0
  396. package/packages/media-execution/README.md +28 -0
  397. package/packages/media-execution/package.json +17 -0
  398. package/packages/media-execution/src/execute.ts +1322 -0
  399. package/packages/media-execution/src/index.ts +16 -0
  400. package/packages/media-execution/src/probe.ts +315 -0
  401. package/packages/media-execution/src/surface.ts +286 -0
  402. package/packages/media-execution/src/toolchain.ts +81 -0
  403. package/packages/media-execution/src/webp.ts +200 -0
  404. package/packages/media-pipeline/README.md +113 -0
  405. package/packages/media-pipeline/package.json +27 -0
  406. package/packages/media-pipeline/src/activation.ts +47 -0
  407. package/packages/media-pipeline/src/audio-plan.ts +113 -0
  408. package/packages/media-pipeline/src/component.ts +373 -0
  409. package/packages/media-pipeline/src/fragment.ts +167 -0
  410. package/packages/media-pipeline/src/index.ts +46 -0
  411. package/packages/media-pipeline/src/manifest.ts +653 -0
  412. package/packages/media-pipeline/src/operations.ts +248 -0
  413. package/packages/media-pipeline/src/selection.ts +110 -0
  414. package/packages/media-pipeline/src/surface.ts +389 -0
  415. package/packages/media-pipeline/src/types.ts +175 -0
  416. package/packages/media-track/README.md +197 -0
  417. package/packages/media-track/package.json +29 -0
  418. package/packages/media-track/preview/Track.png +0 -0
  419. package/packages/media-track/preview/build.svrun +5 -0
  420. package/packages/media-track/preview/flush.png +0 -0
  421. package/packages/media-track/preview/preview.svml +47 -0
  422. package/packages/media-track/preview/recipes.svs +23 -0
  423. package/packages/media-track/preview/rounded.png +0 -0
  424. package/packages/media-track/src/activation.ts +20 -0
  425. package/packages/media-track/src/author.ts +317 -0
  426. package/packages/media-track/src/component.ts +162 -0
  427. package/packages/media-track/src/fragment.ts +57 -0
  428. package/packages/media-track/src/index.ts +65 -0
  429. package/packages/media-track/src/layers.ts +308 -0
  430. package/packages/media-track/src/lower.ts +335 -0
  431. package/packages/media-track/src/manifest.ts +624 -0
  432. package/packages/media-track/src/motion.ts +387 -0
  433. package/packages/media-track/src/performance.ts +37 -0
  434. package/packages/media-track/src/presentation.ts +35 -0
  435. package/packages/media-track/src/program.ts +565 -0
  436. package/packages/media-track/src/sampling.ts +118 -0
  437. package/packages/media-track/src/sequence.ts +403 -0
  438. package/packages/media-track/src/sounds.ts +71 -0
  439. package/packages/media-track/src/surface.ts +668 -0
  440. package/packages/media-track/src/types.ts +311 -0
  441. package/packages/media-track-studio/README.md +3 -0
  442. package/packages/media-track-studio/package.json +15 -0
  443. package/packages/media-track-studio/src/activation.ts +7 -0
  444. package/packages/media-track-studio/src/index.ts +235 -0
  445. package/packages/mimo-speech/README.md +33 -0
  446. package/packages/mimo-speech/package.json +21 -0
  447. package/packages/mimo-speech/src/activation.ts +32 -0
  448. package/packages/mimo-speech/src/fragment.ts +11 -0
  449. package/packages/mimo-speech/src/index.ts +160 -0
  450. package/packages/mimo-speech/src/surface.ts +193 -0
  451. package/packages/minimax-h3/README.md +21 -0
  452. package/packages/minimax-h3/package.json +21 -0
  453. package/packages/minimax-h3/src/activation.ts +14 -0
  454. package/packages/minimax-h3/src/index.ts +188 -0
  455. package/packages/minimax-h3/src/surface.ts +87 -0
  456. package/packages/model-kit/README.md +52 -0
  457. package/packages/model-kit/package.json +19 -0
  458. package/packages/model-kit/src/index.ts +728 -0
  459. package/packages/nano-banana/README.md +23 -0
  460. package/packages/nano-banana/package.json +21 -0
  461. package/packages/nano-banana/src/activation.ts +14 -0
  462. package/packages/nano-banana/src/index.ts +172 -0
  463. package/packages/nano-banana/src/surface.ts +120 -0
  464. package/packages/narrative/README.md +7 -0
  465. package/packages/narrative/package.json +17 -0
  466. package/packages/narrative/src/activation.ts +7 -0
  467. package/packages/narrative/src/component.ts +33 -0
  468. package/packages/narrative/src/identity.ts +131 -0
  469. package/packages/narrative/src/index.ts +11 -0
  470. package/packages/narrative/src/manifest.ts +30 -0
  471. package/packages/narrative/src/schema.ts +89 -0
  472. package/packages/narrative/src/types.ts +141 -0
  473. package/packages/package-loader-node/README.md +23 -0
  474. package/packages/package-loader-node/package.json +15 -0
  475. package/packages/package-loader-node/src/contribution.ts +97 -0
  476. package/packages/package-loader-node/src/distribution-resolution.ts +146 -0
  477. package/packages/package-loader-node/src/index.ts +27 -0
  478. package/packages/package-loader-node/src/loader.ts +301 -0
  479. package/packages/package-loader-node/src/location.ts +279 -0
  480. package/packages/package-loader-node/src/types.ts +60 -0
  481. package/packages/program-space/README.md +20 -0
  482. package/packages/program-space/package.json +17 -0
  483. package/packages/program-space/src/activation.ts +19 -0
  484. package/packages/program-space/src/index.ts +107 -0
  485. package/packages/program-space/src/surface.ts +55 -0
  486. package/packages/protocol/README.md +11 -0
  487. package/packages/protocol/package.json +10 -0
  488. package/packages/protocol/src/build-id.ts +52 -0
  489. package/packages/protocol/src/build.ts +265 -0
  490. package/packages/protocol/src/canonical.ts +37 -0
  491. package/packages/protocol/src/error.ts +11 -0
  492. package/packages/protocol/src/identity.ts +59 -0
  493. package/packages/protocol/src/index.ts +9 -0
  494. package/packages/protocol/src/module.ts +67 -0
  495. package/packages/protocol/src/value.ts +88 -0
  496. package/packages/provider-hyperframes-aws-lambda/README.md +30 -0
  497. package/packages/provider-hyperframes-aws-lambda/package.json +30 -0
  498. package/packages/provider-hyperframes-aws-lambda/src/activation.ts +97 -0
  499. package/packages/provider-hyperframes-aws-lambda/src/client.ts +114 -0
  500. package/packages/provider-hyperframes-aws-lambda/src/index.ts +21 -0
  501. package/packages/provider-hyperframes-aws-lambda/src/provider.ts +522 -0
  502. package/packages/provider-hyperframes-local/README.md +129 -0
  503. package/packages/provider-hyperframes-local/package.json +34 -0
  504. package/packages/provider-hyperframes-local/src/activation.ts +107 -0
  505. package/packages/provider-hyperframes-local/src/capture-process.ts +110 -0
  506. package/packages/provider-hyperframes-local/src/capture-worker.ts +17 -0
  507. package/packages/provider-hyperframes-local/src/capture.ts +184 -0
  508. package/packages/provider-hyperframes-local/src/index.ts +10 -0
  509. package/packages/provider-hyperframes-local/src/options.ts +19 -0
  510. package/packages/provider-hyperframes-local/src/output.ts +73 -0
  511. package/packages/provider-hyperframes-local/src/process.ts +83 -0
  512. package/packages/provider-hyperframes-local/src/program.ts +58 -0
  513. package/packages/provider-hyperframes-local/src/provider.ts +62 -0
  514. package/packages/provider-hyperframes-local/src/render.ts +114 -0
  515. package/packages/provider-hyperframes-local/src/sampling.ts +89 -0
  516. package/packages/provider-hypihub/README.md +143 -0
  517. package/packages/provider-hypihub/package.json +26 -0
  518. package/packages/provider-hypihub/src/activation.ts +91 -0
  519. package/packages/provider-hypihub/src/index.ts +2 -0
  520. package/packages/provider-hypihub/src/mapping.ts +145 -0
  521. package/packages/provider-hypihub/src/oauth.ts +113 -0
  522. package/packages/provider-hypihub/src/provider.ts +566 -0
  523. package/packages/provider-hypihub/src/routes.ts +134 -0
  524. package/packages/provider-hypihub/src/upload.ts +402 -0
  525. package/packages/provider-image-opencv-local/README.md +16 -0
  526. package/packages/provider-image-opencv-local/package.json +27 -0
  527. package/packages/provider-image-opencv-local/runtime/raster_execute.py +299 -0
  528. package/packages/provider-image-opencv-local/src/activation.ts +61 -0
  529. package/packages/provider-image-opencv-local/src/deployment.ts +68 -0
  530. package/packages/provider-image-opencv-local/src/index.ts +2 -0
  531. package/packages/provider-image-opencv-local/src/program.ts +60 -0
  532. package/packages/provider-image-opencv-local/src/provider.ts +155 -0
  533. package/packages/provider-kie/README.md +134 -0
  534. package/packages/provider-kie/package.json +43 -0
  535. package/packages/provider-kie/src/activation.ts +71 -0
  536. package/packages/provider-kie/src/index.ts +10 -0
  537. package/packages/provider-kie/src/mapping.ts +182 -0
  538. package/packages/provider-kie/src/provider.ts +657 -0
  539. package/packages/provider-kie/src/routes.ts +150 -0
  540. package/packages/provider-media-local/README.md +58 -0
  541. package/packages/provider-media-local/package.json +28 -0
  542. package/packages/provider-media-local/src/activation.ts +65 -0
  543. package/packages/provider-media-local/src/index.ts +2 -0
  544. package/packages/provider-media-local/src/program.ts +19 -0
  545. package/packages/provider-media-local/src/provider.ts +150 -0
  546. package/packages/provider-whisperx-local/README.md +44 -0
  547. package/packages/provider-whisperx-local/package.json +27 -0
  548. package/packages/provider-whisperx-local/src/activation.ts +93 -0
  549. package/packages/provider-whisperx-local/src/index.ts +5 -0
  550. package/packages/provider-whisperx-local/src/program.ts +157 -0
  551. package/packages/provider-whisperx-local/src/provider.ts +191 -0
  552. package/packages/provider-xiaomi-mimo/README.md +32 -0
  553. package/packages/provider-xiaomi-mimo/package.json +24 -0
  554. package/packages/provider-xiaomi-mimo/src/activation.ts +57 -0
  555. package/packages/provider-xiaomi-mimo/src/index.ts +5 -0
  556. package/packages/provider-xiaomi-mimo/src/provider.ts +214 -0
  557. package/packages/ranking/README.md +67 -0
  558. package/packages/ranking/package.json +33 -0
  559. package/packages/ranking/preview/Column.svg +29 -0
  560. package/packages/ranking/preview/TierBoard.png +0 -0
  561. package/packages/ranking/preview/TierBoard.svg +36 -0
  562. package/packages/ranking/preview/TopThree.png +0 -0
  563. package/packages/ranking/src/activation.ts +38 -0
  564. package/packages/ranking/src/component.ts +271 -0
  565. package/packages/ranking/src/fragment.ts +206 -0
  566. package/packages/ranking/src/index.ts +26 -0
  567. package/packages/ranking/src/manifest.ts +807 -0
  568. package/packages/ranking/src/render.ts +698 -0
  569. package/packages/ranking/src/schedule.ts +895 -0
  570. package/packages/ranking/src/style.ts +272 -0
  571. package/packages/ranking/src/surface.ts +322 -0
  572. package/packages/ranking/src/tier.ts +176 -0
  573. package/packages/ranking/src/types.ts +277 -0
  574. package/packages/ranking-studio/README.md +3 -0
  575. package/packages/ranking-studio/package.json +14 -0
  576. package/packages/ranking-studio/src/activation.ts +7 -0
  577. package/packages/ranking-studio/src/index.ts +255 -0
  578. package/packages/raster/README.md +7 -0
  579. package/packages/raster/package.json +14 -0
  580. package/packages/raster/src/activation.ts +7 -0
  581. package/packages/raster/src/index.ts +7 -0
  582. package/packages/raster/src/manifest.ts +14 -0
  583. package/packages/raster/src/program.ts +128 -0
  584. package/packages/raster/src/schema.ts +53 -0
  585. package/packages/raster/src/types.ts +61 -0
  586. package/packages/render-hyperframes/README.md +58 -0
  587. package/packages/render-hyperframes/package.json +33 -0
  588. package/packages/render-hyperframes/src/activation.ts +18 -0
  589. package/packages/render-hyperframes/src/component.ts +37 -0
  590. package/packages/render-hyperframes/src/fragment.ts +73 -0
  591. package/packages/render-hyperframes/src/index.ts +6 -0
  592. package/packages/render-hyperframes/src/manifest.ts +100 -0
  593. package/packages/render-hyperframes/src/product.ts +29 -0
  594. package/packages/render-hyperframes/src/surface.ts +65 -0
  595. package/packages/resource-store-fs/README.md +13 -0
  596. package/packages/resource-store-fs/package.json +14 -0
  597. package/packages/resource-store-fs/src/index.ts +2 -0
  598. package/packages/resource-store-fs/src/store.ts +154 -0
  599. package/packages/resource-store-s3/README.md +15 -0
  600. package/packages/resource-store-s3/package.json +15 -0
  601. package/packages/resource-store-s3/src/client.ts +138 -0
  602. package/packages/resource-store-s3/src/index.ts +10 -0
  603. package/packages/resource-store-s3/src/store.ts +258 -0
  604. package/packages/run/README.md +23 -0
  605. package/packages/run/package.json +16 -0
  606. package/packages/run/src/candidate.ts +33 -0
  607. package/packages/run/src/facet.ts +59 -0
  608. package/packages/run/src/frontend-facet.ts +23 -0
  609. package/packages/run/src/frontend.ts +62 -0
  610. package/packages/run/src/graph.ts +65 -0
  611. package/packages/run/src/index.ts +33 -0
  612. package/packages/run/src/registry.ts +24 -0
  613. package/packages/run/src/resolve.ts +213 -0
  614. package/packages/run/src/types.ts +147 -0
  615. package/packages/run-markup/README.md +60 -0
  616. package/packages/run-markup/package.json +22 -0
  617. package/packages/run-markup/src/activation.ts +10 -0
  618. package/packages/run-markup/src/frontend.ts +16 -0
  619. package/packages/run-markup/src/index.ts +5 -0
  620. package/packages/run-markup/src/syntax.ts +304 -0
  621. package/packages/runtime/README.md +39 -0
  622. package/packages/runtime/package.json +15 -0
  623. package/packages/runtime/src/capacity.ts +51 -0
  624. package/packages/runtime/src/catalog.ts +30 -0
  625. package/packages/runtime/src/credentials.ts +124 -0
  626. package/packages/runtime/src/environment.ts +6 -0
  627. package/packages/runtime/src/execution.ts +125 -0
  628. package/packages/runtime/src/index.ts +24 -0
  629. package/packages/runtime/src/operations.ts +99 -0
  630. package/packages/runtime/src/scheduler.ts +281 -0
  631. package/packages/runtime/src/submission.ts +24 -0
  632. package/packages/runtime/src/types.ts +157 -0
  633. package/packages/runtime-host-node/README.md +25 -0
  634. package/packages/runtime-host-node/package.json +19 -0
  635. package/packages/runtime-host-node/src/index.ts +421 -0
  636. package/packages/runtime-host-node/src/packages.ts +158 -0
  637. package/packages/runtime-kit/README.md +42 -0
  638. package/packages/runtime-kit/package.json +16 -0
  639. package/packages/runtime-kit/src/index.ts +307 -0
  640. package/packages/runtime-kit/src/request-deadline.ts +17 -0
  641. package/packages/runtime-local/README.md +119 -0
  642. package/packages/runtime-local/package.json +33 -0
  643. package/packages/runtime-local/src/actions.ts +20 -0
  644. package/packages/runtime-local/src/config.ts +1229 -0
  645. package/packages/runtime-local/src/control.ts +120 -0
  646. package/packages/runtime-local/src/credentials.ts +61 -0
  647. package/packages/runtime-local/src/host.ts +174 -0
  648. package/packages/runtime-local/src/index.ts +36 -0
  649. package/packages/runtime-local/src/process-control.ts +59 -0
  650. package/packages/runtime-local/src/process-logs.ts +33 -0
  651. package/packages/runtime-local/src/programs.ts +441 -0
  652. package/packages/runtime-local/src/result-writer.ts +246 -0
  653. package/packages/runtime-local/src/runtime.ts +342 -0
  654. package/packages/runtime-local/src/types.ts +100 -0
  655. package/packages/runtime-local/src/worker-process.ts +343 -0
  656. package/packages/runtime-local/src/worker.ts +449 -0
  657. package/packages/screen-overlay/README.md +17 -0
  658. package/packages/screen-overlay/package.json +31 -0
  659. package/packages/screen-overlay/preview/Track.png +0 -0
  660. package/packages/screen-overlay/src/activation.ts +15 -0
  661. package/packages/screen-overlay/src/component.ts +20 -0
  662. package/packages/screen-overlay/src/fragment.ts +40 -0
  663. package/packages/screen-overlay/src/index.ts +7 -0
  664. package/packages/screen-overlay/src/manifest.ts +305 -0
  665. package/packages/screen-overlay/src/program.ts +321 -0
  666. package/packages/screen-overlay/src/surface.ts +90 -0
  667. package/packages/screen-overlay/src/types.ts +69 -0
  668. package/packages/screen-overlay-studio/README.md +3 -0
  669. package/packages/screen-overlay-studio/package.json +14 -0
  670. package/packages/screen-overlay-studio/src/activation.ts +7 -0
  671. package/packages/screen-overlay-studio/src/index.ts +80 -0
  672. package/packages/script/README.md +137 -0
  673. package/packages/script/package.json +22 -0
  674. package/packages/script/src/activation.ts +20 -0
  675. package/packages/script/src/edit.ts +174 -0
  676. package/packages/script/src/error.ts +13 -0
  677. package/packages/script/src/format.ts +83 -0
  678. package/packages/script/src/index.ts +20 -0
  679. package/packages/script/src/lexical.ts +133 -0
  680. package/packages/script/src/manifest.ts +95 -0
  681. package/packages/script/src/narrative.ts +232 -0
  682. package/packages/script/src/parser.ts +850 -0
  683. package/packages/script/src/surface.ts +132 -0
  684. package/packages/script/src/types.ts +125 -0
  685. package/packages/script-studio/package.json +13 -0
  686. package/packages/script-studio/src/activation.ts +8 -0
  687. package/packages/script-studio/src/index.ts +61 -0
  688. package/packages/seedance/README.md +19 -0
  689. package/packages/seedance/package.json +22 -0
  690. package/packages/seedance/src/activation.ts +38 -0
  691. package/packages/seedance/src/fragment.ts +46 -0
  692. package/packages/seedance/src/index.ts +329 -0
  693. package/packages/seedance/src/surface.ts +355 -0
  694. package/packages/seedance-kits/README.md +153 -0
  695. package/packages/seedance-kits/kits/broll-v1.svs +52 -0
  696. package/packages/seedance-kits/kits/call-v1.svs +55 -0
  697. package/packages/seedance-kits/kits/camera-reference-v1.svs +9 -0
  698. package/packages/seedance-kits/kits/motion-reference-v1.svs +9 -0
  699. package/packages/seedance-kits/kits/podcast-v1.svs +55 -0
  700. package/packages/seedance-kits/kits/speaker-v1.svs +136 -0
  701. package/packages/seedance-kits/kits/street-interview-v1.svs +49 -0
  702. package/packages/seedance-kits/package.json +24 -0
  703. package/packages/seedream/README.md +21 -0
  704. package/packages/seedream/package.json +21 -0
  705. package/packages/seedream/src/activation.ts +12 -0
  706. package/packages/seedream/src/index.ts +162 -0
  707. package/packages/seedream/src/surface.ts +84 -0
  708. package/packages/semantic-take-adjust/package.json +21 -0
  709. package/packages/semantic-take-adjust/src/activation.ts +22 -0
  710. package/packages/semantic-take-adjust/src/component.ts +31 -0
  711. package/packages/semantic-take-adjust/src/fragment.ts +24 -0
  712. package/packages/semantic-take-adjust/src/index.ts +12 -0
  713. package/packages/semantic-take-adjust/src/manifest.ts +57 -0
  714. package/packages/semantic-take-adjust/src/program.ts +49 -0
  715. package/packages/semantic-take-adjust/src/surface.ts +96 -0
  716. package/packages/semantic-take-adjust/src/types.ts +9 -0
  717. package/packages/semantic-track/README.md +21 -0
  718. package/packages/semantic-track/package.json +22 -0
  719. package/packages/semantic-track/src/activation.ts +8 -0
  720. package/packages/semantic-track/src/component.ts +24 -0
  721. package/packages/semantic-track/src/identity.ts +58 -0
  722. package/packages/semantic-track/src/index.ts +6 -0
  723. package/packages/semantic-track/src/location.ts +81 -0
  724. package/packages/semantic-track/src/manifest.ts +38 -0
  725. package/packages/semantic-track/src/projection.ts +71 -0
  726. package/packages/semantic-track/src/types.ts +26 -0
  727. package/packages/source/README.md +13 -0
  728. package/packages/source/package.json +13 -0
  729. package/packages/source/src/header.ts +80 -0
  730. package/packages/source/src/index.ts +17 -0
  731. package/packages/source/src/unit.ts +38 -0
  732. package/packages/spatial/README.md +77 -0
  733. package/packages/spatial/package.json +24 -0
  734. package/packages/spatial/src/activation.ts +43 -0
  735. package/packages/spatial/src/author.ts +59 -0
  736. package/packages/spatial/src/component.ts +45 -0
  737. package/packages/spatial/src/fragment.ts +36 -0
  738. package/packages/spatial/src/geometry.ts +238 -0
  739. package/packages/spatial/src/index.ts +37 -0
  740. package/packages/spatial/src/manifest.ts +341 -0
  741. package/packages/spatial/src/region-timeline.ts +69 -0
  742. package/packages/spatial/src/schema.ts +47 -0
  743. package/packages/spatial/src/surface.ts +319 -0
  744. package/packages/spatial/src/types.ts +101 -0
  745. package/packages/speech/README.md +16 -0
  746. package/packages/speech/package.json +19 -0
  747. package/packages/speech/src/activation.ts +7 -0
  748. package/packages/speech/src/component.ts +43 -0
  749. package/packages/speech/src/identity.ts +73 -0
  750. package/packages/speech/src/index.ts +6 -0
  751. package/packages/speech/src/manifest.ts +30 -0
  752. package/packages/speech/src/materialize.ts +103 -0
  753. package/packages/speech/src/schema.ts +42 -0
  754. package/packages/speech/src/types.ts +54 -0
  755. package/packages/speech-alignment/README.md +29 -0
  756. package/packages/speech-alignment/package.json +25 -0
  757. package/packages/speech-alignment/src/activation.ts +8 -0
  758. package/packages/speech-alignment/src/align.ts +235 -0
  759. package/packages/speech-alignment/src/component.ts +37 -0
  760. package/packages/speech-alignment/src/error.ts +9 -0
  761. package/packages/speech-alignment/src/index.ts +7 -0
  762. package/packages/speech-alignment/src/local.ts +64 -0
  763. package/packages/speech-alignment/src/locate.ts +473 -0
  764. package/packages/speech-alignment/src/manifest.ts +37 -0
  765. package/packages/speech-alignment/src/normalize.ts +79 -0
  766. package/packages/speech-alignment/src/types.ts +30 -0
  767. package/packages/speech-evidence/README.md +3 -0
  768. package/packages/speech-evidence/package.json +16 -0
  769. package/packages/speech-evidence/src/activation.ts +3 -0
  770. package/packages/speech-evidence/src/index.ts +102 -0
  771. package/packages/speech-track/README.md +51 -0
  772. package/packages/speech-track/package.json +28 -0
  773. package/packages/speech-track/preview/Track.png +0 -0
  774. package/packages/speech-track/src/activation.ts +19 -0
  775. package/packages/speech-track/src/component.ts +45 -0
  776. package/packages/speech-track/src/fragment.ts +74 -0
  777. package/packages/speech-track/src/index.ts +7 -0
  778. package/packages/speech-track/src/manifest.ts +73 -0
  779. package/packages/speech-track/src/program.ts +64 -0
  780. package/packages/speech-track/src/surface.ts +35 -0
  781. package/packages/speech-track/src/types.ts +6 -0
  782. package/packages/speech-track-studio/README.md +3 -0
  783. package/packages/speech-track-studio/package.json +14 -0
  784. package/packages/speech-track-studio/src/activation.ts +7 -0
  785. package/packages/speech-track-studio/src/index.ts +40 -0
  786. package/packages/store-sqlite/README.md +14 -0
  787. package/packages/store-sqlite/package.json +18 -0
  788. package/packages/store-sqlite/src/index.ts +2 -0
  789. package/packages/store-sqlite/src/store.ts +1101 -0
  790. package/packages/studio/README.md +125 -0
  791. package/packages/studio/index.html +10 -0
  792. package/packages/studio/package.json +50 -0
  793. package/packages/studio/src/build-library.ts +281 -0
  794. package/packages/studio/src/companion-assembly.ts +39 -0
  795. package/packages/studio/src/compile.ts +166 -0
  796. package/packages/studio/src/domain.ts +139 -0
  797. package/packages/studio/src/execute.ts +57 -0
  798. package/packages/studio/src/fallback-companions.ts +98 -0
  799. package/packages/studio/src/observe.ts +202 -0
  800. package/packages/studio/src/parameter-values.ts +81 -0
  801. package/packages/studio/src/parameters.ts +550 -0
  802. package/packages/studio/src/preview/render.ts +51 -0
  803. package/packages/studio/src/preview/runtime-shim.ts +184 -0
  804. package/packages/studio/src/programme.ts +276 -0
  805. package/packages/studio/src/run.ts +85 -0
  806. package/packages/studio/src/server.ts +725 -0
  807. package/packages/studio/src/session.ts +111 -0
  808. package/packages/studio/src/shared.ts +315 -0
  809. package/packages/studio/src/snapshot.ts +454 -0
  810. package/packages/studio/src/source-transaction.ts +57 -0
  811. package/packages/studio/src/storyboard.ts +133 -0
  812. package/packages/studio/src/studio-preflight.ts +198 -0
  813. package/packages/studio/src/studio-registry.ts +406 -0
  814. package/packages/studio/src/studio-trace.ts +136 -0
  815. package/packages/studio/src/style.css +1525 -0
  816. package/packages/studio/src/surface-preview.ts +35 -0
  817. package/packages/studio/src/temporal-graph.ts +227 -0
  818. package/packages/studio/src/ui/code.ts +450 -0
  819. package/packages/studio/src/ui/icons.ts +51 -0
  820. package/packages/studio/src/ui/library.ts +378 -0
  821. package/packages/studio/src/ui/main.ts +1001 -0
  822. package/packages/studio/src/ui/markers.ts +152 -0
  823. package/packages/studio/src/ui/material-preview.ts +176 -0
  824. package/packages/studio/src/ui/overlay.ts +144 -0
  825. package/packages/studio/src/ui/resize.ts +74 -0
  826. package/packages/studio/src/ui/selection.ts +178 -0
  827. package/packages/studio/src/ui/stage.ts +231 -0
  828. package/packages/studio/src/ui/syntax.ts +195 -0
  829. package/packages/studio/src/ui/timeline.ts +1041 -0
  830. package/packages/studio/src/ui/writeback.ts +10 -0
  831. package/packages/studio/src/ui/zoom.ts +129 -0
  832. package/packages/studio/start.ts +143 -0
  833. package/packages/studio-adapter/README.md +186 -0
  834. package/packages/studio-adapter/package.json +14 -0
  835. package/packages/studio-adapter/src/index.ts +850 -0
  836. package/packages/svs/README.md +37 -0
  837. package/packages/svs/package.json +21 -0
  838. package/packages/svs/src/activation.ts +11 -0
  839. package/packages/svs/src/format.ts +16 -0
  840. package/packages/svs/src/frontend.ts +33 -0
  841. package/packages/svs/src/index.ts +5 -0
  842. package/packages/svs/src/manifest.ts +17 -0
  843. package/packages/svs/src/parser.ts +279 -0
  844. package/packages/svs/src/types.ts +26 -0
  845. package/packages/temporal/README.md +31 -0
  846. package/packages/temporal/package.json +20 -0
  847. package/packages/temporal/src/activation.ts +9 -0
  848. package/packages/temporal/src/component.ts +68 -0
  849. package/packages/temporal/src/index.ts +110 -0
  850. package/packages/temporal/src/location.ts +67 -0
  851. package/packages/temporal/src/projection.ts +280 -0
  852. package/packages/temporal/src/rational.ts +80 -0
  853. package/packages/temporal/src/sample.ts +43 -0
  854. package/packages/temporal/src/schedule.ts +52 -0
  855. package/packages/temporal/src/types.ts +124 -0
  856. package/packages/temporal-markup/README.md +75 -0
  857. package/packages/temporal-markup/package.json +18 -0
  858. package/packages/temporal-markup/src/index.ts +537 -0
  859. package/packages/temporal-markup/src/space.ts +59 -0
  860. package/packages/text/README.md +59 -0
  861. package/packages/text/package.json +21 -0
  862. package/packages/text/src/activation.ts +33 -0
  863. package/packages/text/src/component.ts +72 -0
  864. package/packages/text/src/fragment.ts +57 -0
  865. package/packages/text/src/frontend.ts +39 -0
  866. package/packages/text/src/index.ts +27 -0
  867. package/packages/text/src/manifest.ts +170 -0
  868. package/packages/text/src/program.ts +418 -0
  869. package/packages/text/src/surface.ts +212 -0
  870. package/packages/text/src/svs.ts +189 -0
  871. package/packages/text/src/types.ts +82 -0
  872. package/packages/transport-aws-lambda/README.md +20 -0
  873. package/packages/transport-aws-lambda/package.json +14 -0
  874. package/packages/transport-aws-lambda/src/index.ts +131 -0
  875. package/packages/typography-track/README.md +50 -0
  876. package/packages/typography-track/package.json +34 -0
  877. package/packages/typography-track/preview/Mask.png +0 -0
  878. package/packages/typography-track/preview/Track.png +0 -0
  879. package/packages/typography-track/src/activation.ts +36 -0
  880. package/packages/typography-track/src/component.ts +93 -0
  881. package/packages/typography-track/src/fragment.ts +30 -0
  882. package/packages/typography-track/src/index.ts +11 -0
  883. package/packages/typography-track/src/manifest.ts +556 -0
  884. package/packages/typography-track/src/program.ts +622 -0
  885. package/packages/typography-track/src/surface.ts +842 -0
  886. package/packages/typography-track/src/types.ts +109 -0
  887. package/packages/typography-track-studio/README.md +3 -0
  888. package/packages/typography-track-studio/package.json +14 -0
  889. package/packages/typography-track-studio/src/activation.ts +7 -0
  890. package/packages/typography-track-studio/src/index.ts +116 -0
  891. package/packages/validation/README.md +11 -0
  892. package/packages/validation/package.json +15 -0
  893. package/packages/validation/src/index.ts +100 -0
  894. package/packages/video-cli/README.md +181 -0
  895. package/packages/video-cli/package.json +37 -0
  896. package/packages/video-cli/src/capture.ts +174 -0
  897. package/packages/video-cli/src/cli.ts +109 -0
  898. package/packages/video-cli/src/compiler.ts +32 -0
  899. package/packages/video-cli/src/creation.ts +449 -0
  900. package/packages/video-cli/src/distribution.ts +88 -0
  901. package/packages/video-cli/src/index.ts +50 -0
  902. package/packages/video-cli/src/media.ts +701 -0
  903. package/packages/video-cli/src/package-selection.ts +34 -0
  904. package/packages/video-cli/src/process.ts +71 -0
  905. package/packages/video-cli/src/studio-distribution.ts +19 -0
  906. package/packages/video-cli/src/transcript.ts +71 -0
  907. package/packages/video-cli/src/vocabulary.ts +386 -0
  908. package/packages/visual-ir/README.md +36 -0
  909. package/packages/visual-ir/package.json +16 -0
  910. package/packages/visual-ir/src/activation.ts +3 -0
  911. package/packages/visual-ir/src/index.ts +7 -0
  912. package/packages/visual-ir/src/style.ts +222 -0
  913. package/packages/volcengine-matting/README.md +89 -0
  914. package/packages/volcengine-matting/package.json +16 -0
  915. package/packages/volcengine-matting/src/activation.ts +13 -0
  916. package/packages/volcengine-matting/src/index.ts +45 -0
  917. package/packages/volcengine-matting/src/surface.ts +48 -0
  918. package/packages/whisperx/README.md +34 -0
  919. package/packages/whisperx/package.json +28 -0
  920. package/packages/whisperx/src/activation.ts +18 -0
  921. package/packages/whisperx/src/component.ts +64 -0
  922. package/packages/whisperx/src/evidence.ts +69 -0
  923. package/packages/whisperx/src/fragment.ts +76 -0
  924. package/packages/whisperx/src/index.ts +14 -0
  925. package/packages/whisperx/src/manifest.ts +92 -0
  926. package/packages/whisperx/src/surface.ts +90 -0
  927. package/packages/whisperx/src/transcript.ts +97 -0
  928. package/packages/whisperx/src/types.ts +9 -0
  929. package/packages/workspace/README.md +4 -0
  930. package/packages/workspace/package.json +14 -0
  931. package/packages/workspace/src/index.ts +38 -0
  932. package/packages/workspace-fs-node/README.md +13 -0
  933. package/packages/workspace-fs-node/package.json +15 -0
  934. package/packages/workspace-fs-node/src/index.ts +6 -0
  935. package/packages/workspace-fs-node/src/workspace.ts +226 -0
  936. package/packages/yt-dlp/README.md +31 -0
  937. package/packages/yt-dlp/package.json +10 -0
  938. package/packages/yt-dlp/src/download.ts +104 -0
  939. package/packages/yt-dlp/src/index.ts +1 -0
  940. package/services/image-opencv/README.md +33 -0
  941. package/services/image-opencv/package.json +14 -0
  942. package/services/image-opencv/pyproject.toml +13 -0
  943. package/services/image-opencv/uv.lock +56 -0
  944. package/services/whisperx/README.md +82 -0
  945. package/services/whisperx/package.json +15 -0
  946. package/services/whisperx/pyproject.toml +26 -0
  947. package/services/whisperx/src/hypit_whisperx_service/__init__.py +6 -0
  948. package/services/whisperx/src/hypit_whisperx_service/__main__.py +29 -0
  949. package/services/whisperx/src/hypit_whisperx_service/application.py +88 -0
  950. package/services/whisperx/src/hypit_whisperx_service/audio.py +66 -0
  951. package/services/whisperx/src/hypit_whisperx_service/check.py +35 -0
  952. package/services/whisperx/src/hypit_whisperx_service/config.py +81 -0
  953. package/services/whisperx/src/hypit_whisperx_service/engine.py +173 -0
  954. package/services/whisperx/src/hypit_whisperx_service/prepare.py +19 -0
  955. package/services/whisperx/src/hypit_whisperx_service/resources.py +41 -0
  956. package/services/whisperx/src/hypit_whisperx_service/server.py +101 -0
  957. package/services/whisperx/uv.lock +3381 -0
  958. package/services/yt-dlp/README.md +19 -0
  959. package/services/yt-dlp/package.json +14 -0
  960. package/services/yt-dlp/pyproject.toml +13 -0
  961. package/services/yt-dlp/uv.lock +23 -0
  962. package/index.js +0 -1
@@ -0,0 +1,58 @@
1
+ import { execFile } from "node:child_process";
2
+
3
+ import { probeMediaToolchain } from "@hypit/media-execution";
4
+ import type { ManagedProgram, ManagedProgramState } from "@hypit/runtime-kit";
5
+
6
+ function run(executable: string, args: readonly string[]): Promise<{ ok: boolean; output: string }> {
7
+ return new Promise((resolve) => {
8
+ execFile(executable, [...args], { timeout: 15_000, shell: false, windowsHide: true }, (error, stdout, stderr) => {
9
+ resolve(error === null
10
+ ? { ok: true, output: stdout.trim() }
11
+ : { ok: false, output: (stderr.trim() || error.message).split("\n").at(-1) ?? "" });
12
+ });
13
+ });
14
+ }
15
+
16
+ /**
17
+ * HyperFrames owns the browser cache behind its CLI. It is deployment state,
18
+ * not an author dependency, so the Endpoint lifecycle prepares it only
19
+ * when this Provider is selected.
20
+ */
21
+ export function localHyperframesBrowserProgram(
22
+ input: {
23
+ readonly id: string;
24
+ readonly nodePath: string;
25
+ readonly hyperframesCliPath: string;
26
+ readonly ffprobePath: string;
27
+ readonly ffmpegPath?: string;
28
+ },
29
+ ): ManagedProgram {
30
+ const probeBrowser = async (): Promise<ManagedProgramState> => {
31
+ const located = await run(input.nodePath, [input.hyperframesCliPath, "browser", "path"]);
32
+ if (!located.ok) return { state: "down", detail: `HyperFrames browser is unavailable: ${located.output}` };
33
+ const path = located.output.trim();
34
+ if (path.length === 0 || path.includes("\n") || path.includes("\r")) {
35
+ return { state: "mismatch", detail: "HyperFrames returned an invalid browser path" };
36
+ }
37
+ const version = await run(path, ["--version"]);
38
+ if (!version.ok || version.output.length === 0) {
39
+ return { state: "mismatch", detail: `HyperFrames browser cannot start: ${version.output}` };
40
+ }
41
+ return { state: "ready" };
42
+ };
43
+ return {
44
+ id: input.id,
45
+ installation: {
46
+ probe: probeBrowser,
47
+ commands: [{ command: input.nodePath, args: [input.hyperframesCliPath, "browser", "ensure"] }],
48
+ },
49
+ async probe(): Promise<ManagedProgramState> {
50
+ const browser = await probeBrowser();
51
+ if (browser.state !== "ready") return browser;
52
+ const media = await probeMediaToolchain({ ffprobePath: input.ffprobePath, ...(input.ffmpegPath === undefined ? {} : { ffmpegPath: input.ffmpegPath }) });
53
+ return media.state === "ready"
54
+ ? { state: "ready" }
55
+ : { state: media.state, detail: media.detail };
56
+ },
57
+ };
58
+ }
@@ -0,0 +1,62 @@
1
+ import { defineEndpointPackage } from "@hypit/endpoint-kit";
2
+ import { mediaTypes } from "@hypit/media";
3
+ import { renderHyperframesCapabilities, verifyHyperframesVisualRequest } from "@hypit/render-hyperframes";
4
+ import { canonicalize } from "@hypit/protocol";
5
+ import { resolveNodePackageExecutable } from "@hypit/package-loader-node";
6
+ import { renderHyperframesVisual, resolveExecutionOptions } from "./render.js";
7
+ import type { HyperframesExecutionOptions } from "./options.js";
8
+
9
+ export type * from "./options.js";
10
+ export const localHyperframesProviderModuleRef = { name: "@hypit/provider-hyperframes-local", version: "1" } as const;
11
+ export type CreateLocalHyperframesProviderOptions = HyperframesExecutionOptions & {
12
+ readonly instance?: string;
13
+ readonly pool?: string;
14
+ /** Used by managed browser installation, not frame capture. */
15
+ readonly nodePath?: string;
16
+ readonly hyperframesCliPath?: string;
17
+ /** Whole render requests admitted concurrently; independent of frame workers. */
18
+ readonly defaultConcurrency?: number;
19
+ /** Shared Chrome slots across Need executions using this pool. */
20
+ readonly browserCapacity?: number;
21
+ };
22
+
23
+ export function defaultHyperframesCliPath(): string {
24
+ return resolveNodePackageExecutable("hyperframes", "hyperframes", { from: import.meta.url });
25
+ }
26
+
27
+ export function createLocalHyperframesProvider(config: CreateLocalHyperframesProviderOptions) {
28
+ const execution = resolveExecutionOptions(config);
29
+ const pool = config.pool ?? config.instance ?? "hyperframes.local";
30
+ const browsers = `capacity:${pool}/browsers`;
31
+ if (config.browserCapacity !== undefined && (!Number.isSafeInteger(config.browserCapacity) || config.browserCapacity < 1)) {
32
+ throw new Error("HyperFrames browserCapacity must be a positive integer");
33
+ }
34
+ return defineEndpointPackage({
35
+ module: localHyperframesProviderModuleRef,
36
+ facet: "render",
37
+ instance: config.instance ?? "hyperframes.local",
38
+ pool,
39
+ pricing: { kind: "local" },
40
+ defaultConcurrency: config.defaultConcurrency ?? 1,
41
+ capabilities: [{
42
+ lifecycle: "immediate" as const,
43
+ capability: renderHyperframesCapabilities.renderVisual,
44
+ returns: mediaTypes.renderedVisual,
45
+ ...(config.browserCapacity === undefined ? {} : {
46
+ resources: [{ id: browsers, limit: config.browserCapacity }],
47
+ unitsForRequest: (request: import("@hypit/endpoint-kit").EndpointRequest) => {
48
+ verifyHyperframesVisualRequest(request.constraints);
49
+ const { document, range } = request.constraints;
50
+ return { [browsers]: Math.min(execution.workers,
51
+ range === undefined ? document.frameCount : range.endFrameExclusive - range.startFrame) };
52
+ },
53
+ }),
54
+ handler: async (context) => {
55
+ const request = context.need.constraints;
56
+ verifyHyperframesVisualRequest(request);
57
+ const visual = await renderHyperframesVisual(request, { ...config, workers: execution.workers, resources: context.resources });
58
+ return { value: { kind: "inline", value: canonicalize(visual) } };
59
+ },
60
+ }],
61
+ });
62
+ }
@@ -0,0 +1,114 @@
1
+ import { createReadStream } from "node:fs";
2
+ import { mkdtemp, readFile, rm } from "node:fs/promises";
3
+ import { availableParallelism, tmpdir } from "node:os";
4
+ import { join } from "node:path";
5
+ import type { EndpointInvocationContext } from "@hypit/endpoint-kit";
6
+ import { stageHyperframesProject } from "@hypit/hyperframes/project";
7
+ import { sealRenderedVisual } from "@hypit/media";
8
+ import type { MediaFrameRange, RenderedVisual } from "@hypit/media";
9
+ import { verifyCompositableSurfaceBytes } from "@hypit/media-execution";
10
+ import { verifyHyperframesVisualRequest } from "@hypit/render-hyperframes";
11
+ import type { HyperframesVisualRequest } from "@hypit/render-hyperframes";
12
+ import { isStreamingResourceStore } from "@hypit/runtime";
13
+ import type { HyperframesExecutionOptions } from "./options.js";
14
+ import { assert, positiveInteger } from "./process.js";
15
+ import { runCaptureProcess } from "./capture-process.js";
16
+ import { finished } from "node:stream/promises";
17
+
18
+ export type HyperframesRenderProgress =
19
+ | { readonly phase: "prepared"; readonly workers: number; readonly sourceFrames: number; readonly elapsedMs: number }
20
+ | { readonly phase: "worker-initializing" | "worker-start" | "worker-complete"; readonly worker: number; readonly range: MediaFrameRange;
21
+ readonly browserPid: number | undefined; readonly elapsedMs: number }
22
+ | { readonly phase: "complete"; readonly frames: number; readonly elapsedMs: number };
23
+
24
+ export type RenderHyperframesVisualOptions = HyperframesExecutionOptions & {
25
+ readonly resources: EndpointInvocationContext["resources"];
26
+ readonly signal?: AbortSignal;
27
+ readonly onProgress?: (event: HyperframesRenderProgress) => void;
28
+ };
29
+
30
+ export function resolveExecutionOptions(options: HyperframesExecutionOptions) {
31
+ const workers = options.workers ?? "auto";
32
+ assert(workers === "auto" || (Number.isSafeInteger(workers) && workers > 0),
33
+ "workers must be auto or a positive safe integer");
34
+ const quality = options.quality ?? "standard";
35
+ assert(["draft", "standard", "high"].includes(quality), "HyperFrames quality is invalid");
36
+ const browserGpu = options.browserGpu ?? "hardware";
37
+ assert(["auto", "software", "hardware"].includes(browserGpu), "HyperFrames browserGpu is invalid");
38
+ return {
39
+ workers: workers === "auto" ? Math.min(4, Math.max(1, Math.floor(availableParallelism() / 2))) : workers,
40
+ quality, browserGpu,
41
+ ffmpegPath: options.ffmpegPath ?? "ffmpeg",
42
+ ffprobePath: options.ffprobePath ?? "ffprobe",
43
+ initializationTimeoutMs: options.initializationTimeoutMs === undefined
44
+ ? undefined
45
+ : positiveInteger(options.initializationTimeoutMs, "initializationTimeoutMs"),
46
+ frameTimeoutMs: options.frameTimeoutMs === undefined
47
+ ? undefined
48
+ : positiveInteger(options.frameTimeoutMs, "frameTimeoutMs"),
49
+ processTimeoutMs: positiveInteger(options.processTimeoutMs ?? 30 * 60_000, "processTimeoutMs"),
50
+ maxProcessOutputBytes: positiveInteger(options.maxProcessOutputBytes ?? 4 * 1024 * 1024, "maxProcessOutputBytes"),
51
+ maxRenderedBytes: positiveInteger(options.maxRenderedBytes ?? 16 * 1024 * 1024 * 1024, "maxRenderedBytes"),
52
+ };
53
+ }
54
+
55
+ /** Execute one attempt. Its deadline includes resource preparation and output storage. */
56
+ export async function renderHyperframesVisual(
57
+ request: HyperframesVisualRequest,
58
+ options: RenderHyperframesVisualOptions,
59
+ ): Promise<RenderedVisual> {
60
+ verifyHyperframesVisualRequest(request);
61
+ const config = resolveExecutionOptions(options);
62
+ const { document } = request;
63
+ const range = request.range ?? { startFrame: 0, endFrameExclusive: document.frameCount };
64
+ const controller = new AbortController();
65
+ const signal = options.signal === undefined ? controller.signal : AbortSignal.any([controller.signal, options.signal]);
66
+ const started = performance.now();
67
+ let phase = "preparing resources";
68
+ const timer = setTimeout(() => controller.abort(new Error(`HyperFrames render timed out during ${phase}`)), config.processTimeoutMs);
69
+ let work: string | undefined;
70
+ try {
71
+ signal.throwIfAborted();
72
+ work = await mkdtemp(join(tmpdir(), "hypit-hyperframes-local-"));
73
+ await stageHyperframesProject({ document, directory: work, signal,
74
+ read: async (artifact, readSignal) => {
75
+ const io = { signal: readSignal! };
76
+ const bytes = isStreamingResourceStore(options.resources)
77
+ ? await options.resources.open(artifact.resource, io) : await options.resources.get(artifact.resource, io);
78
+ assert(bytes !== undefined, `HyperFrames Artifact ${artifact.resource} is unavailable`);
79
+ return bytes;
80
+ },
81
+ validateSurface: (surface, bytes, probeSignal) => verifyCompositableSurfaceBytes({ surface, bytes,
82
+ ffprobePath: config.ffprobePath, processTimeoutMs: config.processTimeoutMs,
83
+ maxProbeOutputBytes: config.maxProcessOutputBytes, signal: probeSignal! }),
84
+ });
85
+ phase = "rendering frames";
86
+ await runCaptureProcess({ document, range, config, directory: work,
87
+ engineModule: import.meta.resolve("@hyperframes/engine"),
88
+ producerModule: import.meta.resolve("@hyperframes/producer"),
89
+ }, signal, (event) => options.onProgress?.({ ...event, elapsedMs: Math.round(performance.now() - started) }));
90
+ signal.throwIfAborted();
91
+ phase = "storing output";
92
+ const output = join(work, "visual.mp4");
93
+ let artifact;
94
+ if (isStreamingResourceStore(options.resources)) {
95
+ const stream = createReadStream(output, { signal });
96
+ const closed = finished(stream).catch(() => {});
97
+ try { artifact = await options.resources.putStream(stream, "video/mp4", { signal }); }
98
+ finally { stream.destroy(); await closed; }
99
+ } else {
100
+ artifact = await options.resources.put(await readFile(output, { signal }), "video/mp4", { signal });
101
+ }
102
+ signal.throwIfAborted();
103
+ const frameCount = range.endFrameExclusive - range.startFrame;
104
+ options.onProgress?.({ phase: "complete", frames: frameCount, elapsedMs: Math.round(performance.now() - started) });
105
+ return sealRenderedVisual({ frameRate: document.frameRate, frameCount, canvas: document.canvas, artifact });
106
+ } catch (error) {
107
+ if (signal.aborted) throw signal.reason;
108
+ controller.abort(error);
109
+ throw error;
110
+ } finally {
111
+ clearTimeout(timer);
112
+ if (work !== undefined) await rm(work, { recursive: true, force: true });
113
+ }
114
+ }
@@ -0,0 +1,89 @@
1
+ import type { MediaFrameRange } from "@hypit/media";
2
+ import { assert } from "./process.js";
3
+
4
+ type Rational = { readonly numerator: bigint; readonly denominator: bigint };
5
+ export type VideoSlot = MediaFrameRange & {
6
+ readonly id: string;
7
+ readonly src: string;
8
+ readonly sourceFrame: Rational;
9
+ readonly sourceRate: Rational;
10
+ readonly sourceFps: { readonly num: number; readonly den: number };
11
+ };
12
+
13
+ function rational(value: string, label: string): Rational {
14
+ assert(/^\d+\/[1-9]\d*$/u.test(value), `HyperFrames ${label} must be a non-negative rational`);
15
+ const [a, b] = value.split("/");
16
+ return { numerator: BigInt(a!), denominator: BigInt(b!) };
17
+ }
18
+
19
+ /** Read the compiler's exact frame markers, without reconstructing author intent from seconds. */
20
+ export function videoSlots(html: string): VideoSlot[] {
21
+ return [...html.matchAll(/<video\b[^>]*>/gu)].map(([tag]) => {
22
+ const attribute = (name: string): string => {
23
+ const value = new RegExp(`(?:\\s)${name}="([^"]*)"`, "u").exec(tag)?.[1];
24
+ assert(value !== undefined, `HyperFrames video lacks ${name}; compile its frame sampling before rendering`);
25
+ return value.replaceAll("&amp;", "&").replaceAll("&quot;", '"').replaceAll("&lt;", "<").replaceAll("&gt;", ">");
26
+ };
27
+ const sourceFps = rational(attribute("data-hypit-source-fps"), "source frame rate");
28
+ const slot = {
29
+ id: attribute("id"), src: attribute("src"),
30
+ startFrame: Number(attribute("data-hypit-start-frame")),
31
+ endFrameExclusive: Number(attribute("data-hypit-end-frame")),
32
+ sourceFrame: rational(attribute("data-hypit-source-frame"), "source frame"),
33
+ sourceRate: rational(attribute("data-hypit-source-rate"), "source rate"),
34
+ sourceFps: { num: Number(sourceFps.numerator), den: Number(sourceFps.denominator) },
35
+ };
36
+ assert(Number.isSafeInteger(slot.startFrame) && slot.startFrame >= 0
37
+ && Number.isSafeInteger(slot.endFrameExclusive) && slot.endFrameExclusive > slot.startFrame
38
+ && Number.isSafeInteger(slot.sourceFps.num) && slot.sourceFps.num > 0
39
+ && Number.isSafeInteger(slot.sourceFps.den), "HyperFrames video frame mapping is invalid");
40
+ return slot;
41
+ });
42
+ }
43
+
44
+ /** A decoded frame owns [n, n+1) in source-frame coordinates. */
45
+ export function sourceFrameAt(slot: VideoSlot, frame: number): number {
46
+ const a = slot.sourceFrame;
47
+ const r = slot.sourceRate;
48
+ const value = Number((a.numerator * r.denominator
49
+ + BigInt(frame - slot.startFrame) * r.numerator * a.denominator) / (a.denominator * r.denominator));
50
+ assert(Number.isSafeInteger(value) && value >= 0, "HyperFrames source frame exceeds safe arithmetic");
51
+ return value;
52
+ }
53
+
54
+ export function sourceWindows(slots: readonly VideoSlot[], range: MediaFrameRange) {
55
+ const sources = new Map<string, { fps: VideoSlot["sourceFps"]; windows: MediaFrameRange[] }>();
56
+ for (const slot of slots) {
57
+ const first = Math.max(range.startFrame, slot.startFrame);
58
+ const last = Math.min(range.endFrameExclusive, slot.endFrameExclusive) - 1;
59
+ if (last < first) continue;
60
+ let source = sources.get(slot.src);
61
+ if (source === undefined) {
62
+ source = { fps: slot.sourceFps, windows: [] };
63
+ sources.set(slot.src, source);
64
+ }
65
+ assert(source.fps.num * slot.sourceFps.den === slot.sourceFps.num * source.fps.den,
66
+ "One HyperFrames source has conflicting frame rates");
67
+ source.windows.push({ startFrame: sourceFrameAt(slot, first), endFrameExclusive: sourceFrameAt(slot, last) + 1 });
68
+ }
69
+ return [...sources].map(([src, source]) => {
70
+ const windows: MediaFrameRange[] = [];
71
+ for (const window of source.windows.sort((a, b) => a.startFrame - b.startFrame)) {
72
+ const previous = windows.at(-1);
73
+ if (previous !== undefined && window.startFrame <= previous.endFrameExclusive) {
74
+ windows[windows.length - 1] = { startFrame: previous.startFrame,
75
+ endFrameExclusive: Math.max(previous.endFrameExclusive, window.endFrameExclusive) };
76
+ } else windows.push(window);
77
+ }
78
+ return { src, fps: source.fps, windows };
79
+ });
80
+ }
81
+
82
+ export function distributeFrameRange(range: MediaFrameRange, workers: number): MediaFrameRange[] {
83
+ const count = range.endFrameExclusive - range.startFrame;
84
+ const active = Math.min(count, workers);
85
+ return Array.from({ length: active }, (_, index) => ({
86
+ startFrame: range.startFrame + Math.floor(index * count / active),
87
+ endFrameExclusive: range.startFrame + Math.floor((index + 1) * count / active),
88
+ }));
89
+ }
@@ -0,0 +1,143 @@
1
+ # `@hypit/provider-hypihub`
2
+
3
+ Thin Hypit Runtime Provider for a HypiHub deployment. It is an optional default gateway for
4
+ paid generation and WhisperX alignment requests; callers may keep their own Provider and select HypiHub only
5
+ when its OAuth login is configured.
6
+
7
+ It maps the currently shipped image/video model capabilities to HypiHub, including image edits and
8
+ image-to-video first-frame inputs, submits jobs, polls them, downloads the first-class assets and
9
+ admits them into the current Build's working byte area. Image references use HypiHub's documented
10
+ `reference_images` object shape (`[{ "url": "…" }]`); video references use the public
11
+ `reference_image_urls`, `reference_videos`, and `reference_audios` fields (with `ref_video_url`
12
+ for one video). First/last-frame images use `first_frame` and `last_frame`.
13
+
14
+ The current HypiHub GPT Image 2 route exposes the same request surface as its KIE upstream:
15
+
16
+ | Resolution | Ratios unavailable at this Endpoint | `background` |
17
+ | --- | --- | --- |
18
+ | `1K` | none | optional |
19
+ | `2K` | `5:4`, `4:5`, `3:1`, `1:3`, `9:21` | omit |
20
+ | `4K` | `3:1`, `1:3`, `9:21` | omit |
21
+
22
+ HypiHub owns this support check independently: it neither imports the KIE Provider nor narrows the
23
+ GPT Image model package. When the service surface changes, this Provider can change without changing
24
+ the model or another Provider.
25
+
26
+ For moving portraits, [Volcengine Matting](../volcengine-matting/README.md) maps
27
+ `@hypit/volcengine-matting@1#matte-portrait-video` to `POST /v1/videos` with
28
+ `model: "matte-portrait-video"`, `ref_video_url` and `format` (`WEBM` by default, or `MOV`).
29
+ Both formats carry transparency. The source video uses the same upload transport as other video
30
+ references; the returned job uses the same polling and asset collection lifecycle. The selected
31
+ account's `/v1/models` establishes availability. The processed video enters ordinary Normalize,
32
+ then either semantic alignment for a Script performance or Media Track for B-roll.
33
+
34
+ The existing [Background Removal](../background-removal/README.md) package handles single images
35
+ through KIE Recraft. This Provider does not bind that separate image capability either.
36
+
37
+ Runtime Profile example:
38
+
39
+ ```json
40
+ {
41
+ "endpoints": {
42
+ "hypihub.default": {
43
+ "use": "@hypit/provider-hypihub",
44
+ "pool": "hypihub.default",
45
+ "config": {
46
+ "baseUrl": "https://hypit.ai",
47
+ "apiKey": { "store": "os", "key": "hypihub.oauth" },
48
+ "defaultConcurrency": 3,
49
+ "pollIntervalMs": 10000
50
+ }
51
+ }
52
+ }
53
+ }
54
+ ```
55
+
56
+ Remote transcription exposes the same `@hypit/whisperx` alignment capability implemented by the local
57
+ WhisperX Provider. The Runtime Profile selects which Endpoint serves it. Run
58
+ `hypit auth login hypihub.default --runtime hypit.runtime.json` to sign in with HypiHub OAuth when
59
+ choosing HypiHub. A Profile may set `baseUrl`
60
+ to the selected deployment's origin or an existing `/v1`/`/v1beta` base. The Runtime Provider
61
+ normalizes it to `/v1`; missing or insufficient user
62
+ credentials should be resolved at [hypit.ai](https://hypit.ai). Referenced image, audio and video
63
+ Resources are uploaded through a session from `POST /v1/files/uploads`, followed by the private
64
+ regional multipart instructions returned by HypiHub. The Provider follows the server-selected part
65
+ size and part concurrency, retries a failed part with a fresh signed URL, completes or cancels that
66
+ one upload, and then passes the returned HTTPS URL to generation or transcription. One
67
+ Resource identity is uploaded once within one Runtime operation. Hypit keeps no upload catalog or
68
+ cross-Build cache. Embedded callers may replace this transport with `publicAssetUrl`.
69
+
70
+ OAuth login stores the access token, refresh token and expiry as one opaque credential value. The
71
+ browser callback only confirms that authorization returned to the CLI; the CLI reports success after
72
+ the bounded token exchange and Credential Store write complete. `oauthRequestTimeoutMs` controls that
73
+ exchange and defaults to 30 seconds, independently of the longer inference request timeout. The
74
+ Provider refreshes that value shortly before expiry or after an unauthorised response when the
75
+ selected Store is writable. Its Endpoint receives only the credential slot it declared and a narrow
76
+ operation for replacing that same slot; it cannot enumerate the Store, choose another key or read
77
+ another Endpoint's credentials. A raw credential remains an ordinary static API key.
78
+
79
+ The service currently requires whole-file and per-part SHA-256 values as fields of its signed upload
80
+ protocol. They exist only while transferring bytes; Hypit never uses them as Resource identity,
81
+ Result metadata, lookup keys or reuse evidence. Signed URLs and their query credentials are removed
82
+ from surfaced upload errors.
83
+
84
+ The default remote alignment model is `victor-upmeet/whisperx`; `transcriptionModel` may select another
85
+ HypiHub model that exposes the `transcriptions` route. `hypit doctor` reads the authenticated model
86
+ catalog to verify configured capabilities; ordinary preflight never makes that request. The package
87
+ declares HypiHub's public pricing page, `https://hypit.ai/commercial/pricing/`, as its price source.
88
+ For each selected Need, `readPricing` resolves the corresponding HypiHub model and returns the service's
89
+ authenticated `GET /v1/pricing?model=<model>` response unchanged together with that URL. It covers
90
+ generation, alignment, Voice Design, and Voice Clone through the same mechanism;
91
+ the Provider does not maintain a second list of billing formulas or calculate a request total.
92
+
93
+ HypiHub declares MiMo Voice Design and Voice Clone together with every other capability it serves; it
94
+ never hides one. Voice Design produces an accepted voice-reference Resource, and Voice Clone uses
95
+ that reference to produce independent speech. Hypit does not expose MiMo preset voices. When another
96
+ selected Endpoint offers the same capability (a local WhisperX or the official MiMo
97
+ Provider), the Runtime Profile's `bindings` say which Endpoint serves it.
98
+
99
+ Execution policy remains local to this Provider:
100
+
101
+ | Profile field | Default | What it controls |
102
+ | --- | ---: | --- |
103
+ | `requestTimeoutMs` | 300 seconds | ordinary Provider HTTP requests |
104
+ | `oauthRequestTimeoutMs` | 30 seconds | OAuth token exchange and refresh |
105
+ | `pricingRequestTimeoutMs` | 30 seconds | authenticated pricing requests |
106
+ | `operationTimeoutMs` | 20 minutes | one remote asynchronous operation |
107
+ | `uploadConcurrency` | 8 | whole file sessions per origin/credential within this process |
108
+ | `uploadPartTimeoutMs` | 5 minutes | one upload part |
109
+ | `uploadPartAttempts` | 3 | attempts for one upload part |
110
+ | `downloadAttempts` | 3 | attempts to collect one result |
111
+
112
+ `defaultConcurrency` controls the total shared capacity of this Profile's HypiHub pool. Optional `capabilityConcurrency`
113
+ sets narrower group limits, for example `{ "seedance-2-mini": 2, "transcription": 1 }`.
114
+ Image/video/speech groups use the exact capability name; WhisperX uses `transcription`. These limits
115
+ coordinate this Runtime's requests; HypiHub remains
116
+ responsible for service-wide account limits. Immediate speech/transcription slots cover the
117
+ active HTTP invocation, while asynchronous image/video slots cover remote work until completion or local execution failure.
118
+
119
+ For asynchronous image/video jobs, `actionLimits` configures the common `submit`, `poll` and `collect`
120
+ admission budgets. Each accepts `concurrency` and `rate: { limit, periodMs }`, shared by the pool.
121
+ These limits count lifecycle actions; Provider-specific upload parts and HTTP requests remain inside
122
+ those actions. Synchronous speech and transcription retain their ordinary request capacity.
123
+
124
+ A submission, polling or collection error ends the local attempt. Known job IDs and credential
125
+ references remain available in Result receipts; a timeout with no ID is recorded as such. A job can
126
+ be inspected at `/jobs/<id>` and its generated assets at `/jobs/<id>/assets` on the selected API base.
127
+ The next production attempt uses a new Run and Build. Runtime bindings never switch from a user's
128
+ own Provider to HypiHub after a key, quota or transport failure.
129
+
130
+ `uploadConcurrency` bounds whole files inside the Provider transport. Uploader instances in the same
131
+ process share the limit for the same service origin and current credential; the smallest outstanding
132
+ limit applies. Token refresh can change that grouping. Separate processes are not coordinated by this
133
+ local limit. It is a positive safe integer; HypiHub still enforces its own account quota. Part
134
+ concurrency is separately negotiated by HypiHub for each file. These are transport limits inside a
135
+ Runtime action, not additional Build admission limits.
136
+
137
+ Signing, completing and cancelling a known upload session may retry temporary transport failures
138
+ within at most four attempts and the smaller of `requestTimeoutMs` or 120 seconds. A new upload
139
+ session is retried only after an explicit temporary 429 rejection; an unknown creation result ends
140
+ the attempt. Daily and storage quota errors fail immediately. Active part workers finish before the
141
+ session is cancelled. An unconfirmed cancellation logs its upload ID without exposing signed URLs.
142
+ OAuth refresh retries the rejected control request on the same session. None of this resumes a
143
+ failed Build or changes the selected Provider.
@@ -0,0 +1,26 @@
1
+ {
2
+ "name": "@hypit/provider-hypihub",
3
+ "version": "0.0.0-dev",
4
+ "license": "SEE LICENSE IN LICENSE",
5
+ "private": true,
6
+ "type": "module",
7
+ "exports": { ".": "./src/index.ts" },
8
+ "hypit": { "activation": "./src/activation.ts" },
9
+ "dependencies": {
10
+ "@hypit/endpoint-kit": "workspace:*",
11
+ "@hypit/generation": "workspace:*",
12
+ "@hypit/protocol": "workspace:*",
13
+ "@hypit/runtime": "workspace:*",
14
+ "@hypit/runtime-kit": "workspace:*",
15
+ "@hypit/speech-evidence": "workspace:*",
16
+ "@hypit/text": "workspace:*",
17
+ "@hypit/whisperx": "workspace:*"
18
+ },
19
+ "devDependencies": {
20
+ "@hypit/driver-node": "workspace:*",
21
+ "@hypit/mimo-speech": "workspace:*",
22
+ "@hypit/seedance": "workspace:*",
23
+ "@hypit/speech": "workspace:*",
24
+ "@hypit/volcengine-matting": "workspace:*"
25
+ }
26
+ }
@@ -0,0 +1,91 @@
1
+ import {
2
+ createRuntimeEndpointAdapterFacet,
3
+ runtimeConfigCredentialRef,
4
+ runtimeConfigActionLimits,
5
+ runtimeConfigExact,
6
+ runtimeConfigObject,
7
+ runtimeConfigPositiveInteger,
8
+ runtimeConfigString,
9
+ } from "@hypit/runtime-kit";
10
+
11
+ import { createHypiHubProvider, diagnoseHypiHubProvider } from "./provider.js";
12
+
13
+ const adapter = createRuntimeEndpointAdapterFacet({
14
+ use: "@hypit/provider-hypihub",
15
+ activate(context) {
16
+ if (context.pool === undefined) throw new Error("HypiHub Provider Pool is required");
17
+ const config = runtimeConfigObject(context.config, "HypiHub");
18
+ runtimeConfigExact(config, [
19
+ "baseUrl",
20
+ "apiKey",
21
+ "defaultConcurrency",
22
+ "actionLimits",
23
+ "capabilityConcurrency",
24
+ "pollIntervalMs",
25
+ "requestTimeoutMs",
26
+ "oauthRequestTimeoutMs",
27
+ "pricingRequestTimeoutMs",
28
+ "operationTimeoutMs",
29
+ "uploadConcurrency",
30
+ "uploadPartTimeoutMs",
31
+ "uploadPartAttempts",
32
+ "downloadAttempts",
33
+ "transcriptionModel",
34
+ ], "HypiHub");
35
+ const baseUrl = runtimeConfigString(config.baseUrl, "HypiHub baseUrl");
36
+ if (baseUrl !== undefined) {
37
+ const url = new URL(baseUrl);
38
+ if (url.protocol !== "https:" && url.hostname !== "localhost" && url.hostname !== "127.0.0.1") {
39
+ throw new Error("HypiHub baseUrl must use HTTPS or loopback");
40
+ }
41
+ }
42
+ const apiKey = runtimeConfigCredentialRef(config.apiKey, "HypiHub apiKey");
43
+ if (apiKey === undefined) throw new Error("HypiHub apiKey CredentialRef is required");
44
+ const actionLimits = runtimeConfigActionLimits(config.actionLimits);
45
+ const defaultConcurrency = runtimeConfigPositiveInteger(config.defaultConcurrency, "HypiHub defaultConcurrency");
46
+ const pollIntervalMs = runtimeConfigPositiveInteger(config.pollIntervalMs, "HypiHub pollIntervalMs");
47
+ const requestTimeoutMs = runtimeConfigPositiveInteger(config.requestTimeoutMs, "HypiHub requestTimeoutMs");
48
+ const oauthRequestTimeoutMs = runtimeConfigPositiveInteger(config.oauthRequestTimeoutMs, "HypiHub oauthRequestTimeoutMs");
49
+ const pricingRequestTimeoutMs = runtimeConfigPositiveInteger(config.pricingRequestTimeoutMs, "HypiHub pricingRequestTimeoutMs");
50
+ const operationTimeoutMs = runtimeConfigPositiveInteger(config.operationTimeoutMs, "HypiHub operationTimeoutMs");
51
+ const uploadConcurrency = runtimeConfigPositiveInteger(config.uploadConcurrency, "HypiHub uploadConcurrency");
52
+ const uploadPartTimeoutMs = runtimeConfigPositiveInteger(config.uploadPartTimeoutMs, "HypiHub uploadPartTimeoutMs");
53
+ const uploadPartAttempts = runtimeConfigPositiveInteger(config.uploadPartAttempts, "HypiHub uploadPartAttempts");
54
+ const downloadAttempts = runtimeConfigPositiveInteger(config.downloadAttempts, "HypiHub downloadAttempts");
55
+ const transcriptionModel = runtimeConfigString(config.transcriptionModel, "HypiHub transcriptionModel");
56
+ const capabilityConcurrency = config.capabilityConcurrency === undefined ? undefined : Object.fromEntries(
57
+ Object.entries(runtimeConfigObject(config.capabilityConcurrency, "HypiHub capabilityConcurrency"))
58
+ .map(([name, value]) => [name, runtimeConfigPositiveInteger(value, `HypiHub ${name} capacity`)!]),
59
+ );
60
+ const options = {
61
+ instance: context.instance,
62
+ pool: context.pool,
63
+ ...(baseUrl === undefined ? {} : { baseUrl }),
64
+ apiKey,
65
+ ...(defaultConcurrency === undefined ? {} : { defaultConcurrency }),
66
+ ...(actionLimits === undefined ? {} : { actionLimits }),
67
+ ...(capabilityConcurrency === undefined ? {} : { capabilityConcurrency }),
68
+ ...(pollIntervalMs === undefined ? {} : { pollIntervalMs }),
69
+ ...(requestTimeoutMs === undefined ? {} : { requestTimeoutMs }),
70
+ ...(oauthRequestTimeoutMs === undefined ? {} : { oauthRequestTimeoutMs }),
71
+ ...(pricingRequestTimeoutMs === undefined ? {} : { pricingRequestTimeoutMs }),
72
+ ...(operationTimeoutMs === undefined ? {} : { operationTimeoutMs }),
73
+ ...(uploadConcurrency === undefined ? {} : { uploadConcurrency }),
74
+ ...(uploadPartTimeoutMs === undefined ? {} : { uploadPartTimeoutMs }),
75
+ ...(uploadPartAttempts === undefined ? {} : { uploadPartAttempts }),
76
+ ...(downloadAttempts === undefined ? {} : { downloadAttempts }),
77
+ ...(transcriptionModel === undefined ? {} : { transcriptionModel }),
78
+ };
79
+ return {
80
+ endpoint: createHypiHubProvider(options),
81
+ diagnose: async (doctor) => await diagnoseHypiHubProvider(options, doctor),
82
+ };
83
+ },
84
+ });
85
+
86
+ export const hypitPackage = {
87
+ format: "hypit.node-package@1" as const,
88
+ hostFacets: [adapter],
89
+ };
90
+
91
+ export default hypitPackage;
@@ -0,0 +1,2 @@
1
+ export { createHypiHubProvider, hypiHubProviderModuleRef } from "./provider.js";
2
+ export type { CreateHypiHubProviderOptions } from "./provider.js";