@hypit/hypit 0.1.4 → 0.1.6

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 (462) hide show
  1. package/README.md +4 -2
  2. package/dist/public/caption.d.ts +206 -183
  3. package/dist/public/composition.d.ts +25 -3
  4. package/dist/public/endpoint-kit.d.ts +24 -2
  5. package/dist/public/generation.d.ts +5 -1
  6. package/dist/public/hyperframes.d.ts +19 -1
  7. package/dist/public/narrative.d.ts +17 -3
  8. package/dist/public/performance.d.ts +1590 -0
  9. package/dist/public/program-space.d.ts +179 -32
  10. package/dist/public/runtime-kit.d.ts +21 -8
  11. package/dist/public/sound.d.ts +822 -0
  12. package/dist/public/speech.d.ts +41 -0
  13. package/dist/public/studio-adapter.d.ts +77 -15
  14. package/dist/public/temporal-markup.d.ts +9 -44
  15. package/dist/public/temporal.d.ts +37 -28
  16. package/dist/public/{semantic-track.d.ts → timeline.d.ts} +62 -49
  17. package/examples/README.md +18 -10
  18. package/examples/minimal-author-package/packages/example-component/preview/preview.svml +19 -12
  19. package/examples/minimal-author-package/packages/example-component/src/component.ts +5 -5
  20. package/examples/minimal-author-package/packages/example-component/src/fragment.ts +3 -5
  21. package/examples/minimal-author-package/packages/example-component/src/manifest.ts +8 -10
  22. package/examples/minimal-author-package/packages/example-component/src/surface.ts +2 -2
  23. package/examples/provider-package/README.md +78 -0
  24. package/examples/provider-package/hypit.runtime.json +12 -0
  25. package/examples/provider-package/packages/provider-images/package.json +11 -0
  26. package/examples/provider-package/packages/provider-images/src/activation.ts +24 -0
  27. package/examples/provider-package/packages/provider-images/src/provider.ts +122 -0
  28. package/examples/provider-package/packages/provider-images/tsconfig.json +9 -0
  29. package/examples/semantic-composition/README.md +8 -1
  30. package/examples/semantic-composition/chat.svml +6 -5
  31. package/examples/semantic-composition/hypit.runtime.json +1 -1
  32. package/examples/semantic-composition/packages/chat-scene/README.md +3 -3
  33. package/examples/semantic-composition/packages/chat-scene/src/activation.ts +18 -21
  34. package/examples/semantic-composition/packages/chat-scene/src/render.ts +4 -4
  35. package/examples/semantic-composition/packages/performance-styles/README.md +42 -0
  36. package/examples/semantic-composition/packages/performance-styles/package.json +25 -0
  37. package/examples/semantic-composition/packages/performance-styles/src/activation.ts +57 -0
  38. package/examples/semantic-composition/packages/performance-styles/src/render.ts +54 -0
  39. package/examples/semantic-composition/packages/performance-styles/src/studio.ts +28 -0
  40. package/examples/semantic-composition/packages/performance-styles/tsconfig.json +18 -0
  41. package/examples/semantic-composition/packages/responsive-explainer/README.md +16 -9
  42. package/examples/semantic-composition/packages/responsive-explainer/src/activation.ts +12 -12
  43. package/examples/semantic-composition/packages/responsive-explainer/src/render.ts +5 -5
  44. package/examples/semantic-composition/packages/sound-styles/README.md +36 -0
  45. package/examples/semantic-composition/packages/sound-styles/package.json +25 -0
  46. package/examples/semantic-composition/packages/sound-styles/src/activation.ts +53 -0
  47. package/examples/semantic-composition/packages/sound-styles/src/render.ts +14 -0
  48. package/examples/semantic-composition/packages/sound-styles/tsconfig.json +18 -0
  49. package/package.json +35 -15
  50. package/packages/audio-track/README.md +20 -13
  51. package/packages/audio-track/package.json +1 -1
  52. package/packages/audio-track/src/component.ts +4 -4
  53. package/packages/audio-track/src/fragment.ts +6 -5
  54. package/packages/audio-track/src/index.ts +1 -1
  55. package/packages/audio-track/src/manifest.ts +17 -16
  56. package/packages/audio-track/src/program.ts +21 -25
  57. package/packages/audio-track/src/surface.ts +19 -18
  58. package/packages/audio-track-studio/README.md +23 -0
  59. package/packages/audio-track-studio/src/index.ts +28 -17
  60. package/packages/author-kit/README.md +1 -1
  61. package/packages/background-removal/README.md +4 -7
  62. package/packages/browser-capture/package.json +1 -1
  63. package/packages/build-result/README.md +11 -0
  64. package/packages/build-result/src/decode.ts +2 -0
  65. package/packages/build-result/src/execution-log.ts +17 -0
  66. package/packages/build-result/src/index.ts +1 -0
  67. package/packages/build-result/src/store.ts +14 -1
  68. package/packages/build-result/src/types.ts +3 -0
  69. package/packages/build-result-s3/src/repository.ts +4 -0
  70. package/packages/caption/README.md +61 -73
  71. package/packages/caption/package.json +3 -2
  72. package/packages/caption/src/activation.ts +2 -2
  73. package/packages/caption/src/component.ts +20 -5
  74. package/packages/caption/src/display.ts +3 -18
  75. package/packages/caption/src/fragment.ts +3 -7
  76. package/packages/caption/src/index.ts +6 -5
  77. package/packages/caption/src/manifest.ts +29 -46
  78. package/packages/caption/src/style.ts +24 -135
  79. package/packages/caption/src/surface.ts +12 -92
  80. package/packages/caption/src/temporalize.ts +18 -53
  81. package/packages/caption/src/types.ts +8 -35
  82. package/packages/caption/src/visibility.ts +23 -0
  83. package/packages/caption-fine/README.md +21 -9
  84. package/packages/caption-fine/package.json +4 -2
  85. package/packages/caption-fine/src/component.ts +3 -3
  86. package/packages/caption-fine/src/fragment.ts +7 -19
  87. package/packages/caption-fine/src/index.ts +2 -0
  88. package/packages/caption-fine/src/manifest.ts +26 -17
  89. package/packages/caption-fine/src/recipe.ts +7 -0
  90. package/packages/caption-fine/src/render.ts +14 -13
  91. package/packages/caption-fine/src/schedule.ts +39 -35
  92. package/packages/caption-fine/src/style.ts +10 -9
  93. package/packages/caption-fine/src/surface.ts +62 -35
  94. package/packages/caption-fine/src/types.ts +2 -0
  95. package/packages/caption-fine-studio/README.md +24 -2
  96. package/packages/caption-fine-studio/package.json +3 -1
  97. package/packages/caption-fine-studio/src/activation.ts +3 -3
  98. package/packages/caption-fine-studio/src/index.ts +54 -42
  99. package/packages/cli/README.md +57 -4
  100. package/packages/cli/package.json +1 -0
  101. package/packages/cli/src/arguments.ts +25 -6
  102. package/packages/cli/src/build-planning.ts +3 -2
  103. package/packages/cli/src/command.ts +6 -0
  104. package/packages/cli/src/commands/environment.ts +28 -18
  105. package/packages/cli/src/commands/execution.ts +81 -26
  106. package/packages/cli/src/commands/results.ts +7 -11
  107. package/packages/cli/src/index.ts +2 -2
  108. package/packages/cli/src/machine-view.ts +3 -2
  109. package/packages/cli/src/main.ts +34 -42
  110. package/packages/cli/src/observation.ts +7 -1
  111. package/packages/cli/src/output.ts +65 -23
  112. package/packages/cli/src/view.ts +66 -19
  113. package/packages/comment-sticker/README.md +3 -3
  114. package/packages/comment-sticker/package.json +1 -1
  115. package/packages/comment-sticker/src/component.ts +4 -4
  116. package/packages/comment-sticker/src/fragment.ts +5 -4
  117. package/packages/comment-sticker/src/manifest.ts +7 -6
  118. package/packages/comment-sticker/src/program.ts +9 -9
  119. package/packages/comment-sticker/src/surface.ts +6 -7
  120. package/packages/composition/README.md +21 -0
  121. package/packages/composition/src/audio-presentation.ts +44 -0
  122. package/packages/composition/src/index.ts +3 -0
  123. package/packages/composition/src/schema.ts +8 -3
  124. package/packages/composition/src/track.ts +15 -1
  125. package/packages/credential-store-env/README.md +1 -1
  126. package/packages/deck-track/README.md +3 -3
  127. package/packages/deck-track/package.json +1 -1
  128. package/packages/deck-track/src/component.ts +5 -5
  129. package/packages/deck-track/src/fragment.ts +6 -5
  130. package/packages/deck-track/src/lower.ts +12 -12
  131. package/packages/deck-track/src/manifest.ts +8 -7
  132. package/packages/deck-track/src/program.ts +13 -16
  133. package/packages/deck-track/src/surface.ts +9 -10
  134. package/packages/driver-node/src/driver.ts +41 -3
  135. package/packages/elevenlabs-speech/README.md +27 -0
  136. package/packages/{provider-xiaomi-mimo → elevenlabs-speech}/package.json +5 -8
  137. package/packages/elevenlabs-speech/src/activation.ts +26 -0
  138. package/packages/elevenlabs-speech/src/fragment.ts +11 -0
  139. package/packages/elevenlabs-speech/src/index.ts +111 -0
  140. package/packages/elevenlabs-speech/src/surface.ts +167 -0
  141. package/packages/endpoint-kit/README.md +24 -0
  142. package/packages/endpoint-kit/src/index.ts +7 -1
  143. package/packages/film/README.md +12 -7
  144. package/packages/film/package.json +1 -1
  145. package/packages/film/src/component.ts +4 -4
  146. package/packages/film/src/fragment.ts +6 -5
  147. package/packages/film/src/manifest.ts +11 -10
  148. package/packages/film/src/program.ts +5 -5
  149. package/packages/film/src/recipe.ts +2 -1
  150. package/packages/film/src/surface.ts +10 -7
  151. package/packages/film-studio/package.json +1 -1
  152. package/packages/film-studio/src/index.ts +2 -2
  153. package/packages/fishaudio-speech/README.md +33 -0
  154. package/packages/fishaudio-speech/package.json +21 -0
  155. package/packages/fishaudio-speech/src/activation.ts +32 -0
  156. package/packages/fishaudio-speech/src/fragment.ts +11 -0
  157. package/packages/fishaudio-speech/src/index.ts +156 -0
  158. package/packages/fishaudio-speech/src/surface.ts +192 -0
  159. package/packages/generation/README.md +11 -1
  160. package/packages/generation/src/mapping.ts +28 -30
  161. package/packages/gpt-image/README.md +1 -2
  162. package/packages/grok-imagine/README.md +1 -2
  163. package/packages/hyperframes/README.md +7 -3
  164. package/packages/hyperframes/src/browser-program.ts +11 -2
  165. package/packages/hyperframes/src/document.ts +15 -2
  166. package/packages/interview-emoji-reveal/README.md +4 -4
  167. package/packages/interview-emoji-reveal/package.json +1 -1
  168. package/packages/interview-emoji-reveal/src/component.ts +4 -4
  169. package/packages/interview-emoji-reveal/src/fragment.ts +6 -5
  170. package/packages/interview-emoji-reveal/src/manifest.ts +9 -8
  171. package/packages/interview-emoji-reveal/src/program.ts +14 -14
  172. package/packages/interview-emoji-reveal/src/surface.ts +8 -9
  173. package/packages/media-execution/README.md +7 -3
  174. package/packages/media-execution/src/audio-presentation.ts +23 -0
  175. package/packages/media-execution/src/execute.ts +2 -0
  176. package/packages/media-pipeline/README.md +7 -3
  177. package/packages/media-pipeline/src/audio-plan.ts +4 -1
  178. package/packages/media-pipeline/src/component.ts +16 -2
  179. package/packages/media-pipeline/src/manifest.ts +3 -1
  180. package/packages/media-pipeline/src/types.ts +2 -1
  181. package/packages/media-track/README.md +14 -47
  182. package/packages/media-track/package.json +1 -1
  183. package/packages/media-track/preview/preview.svml +5 -5
  184. package/packages/media-track/src/author.ts +12 -6
  185. package/packages/media-track/src/component.ts +10 -16
  186. package/packages/media-track/src/fragment.ts +8 -7
  187. package/packages/media-track/src/index.ts +3 -1
  188. package/packages/media-track/src/lower.ts +7 -7
  189. package/packages/media-track/src/manifest.ts +16 -38
  190. package/packages/media-track/src/program.ts +62 -67
  191. package/packages/media-track/src/sampling.ts +6 -6
  192. package/packages/media-track/src/sequence.ts +8 -8
  193. package/packages/media-track/src/surface.ts +25 -43
  194. package/packages/media-track-studio/README.md +9 -0
  195. package/packages/media-track-studio/src/index.ts +16 -11
  196. package/packages/mimo-speech/README.md +1 -1
  197. package/packages/minimax-h3/README.md +1 -1
  198. package/packages/nano-banana/README.md +1 -1
  199. package/packages/narrative/README.md +23 -1
  200. package/packages/narrative/src/identity.ts +11 -0
  201. package/packages/narrative/src/index.ts +3 -0
  202. package/packages/narrative/src/schema.ts +28 -27
  203. package/packages/narrative/src/selection.ts +52 -0
  204. package/packages/narrative/src/types.ts +2 -0
  205. package/packages/package-loader-node/README.md +30 -0
  206. package/packages/package-loader-node/package.json +5 -2
  207. package/packages/package-loader-node/src/distribution-resolution.ts +10 -3
  208. package/packages/package-loader-node/src/index.ts +1 -0
  209. package/packages/package-loader-node/src/loader.ts +12 -15
  210. package/packages/package-loader-node/src/location.ts +27 -1
  211. package/packages/package-loader-node/src/module-scope.ts +183 -0
  212. package/packages/package-loader-node/src/types.ts +4 -0
  213. package/packages/performance/README.md +83 -0
  214. package/packages/performance/package.json +30 -0
  215. package/packages/performance/src/activation.ts +11 -0
  216. package/packages/performance/src/component.ts +46 -0
  217. package/packages/performance/src/index.ts +6 -0
  218. package/packages/performance/src/manifest.ts +53 -0
  219. package/packages/{media-track/src/performance.ts → performance/src/media.ts} +9 -10
  220. package/packages/performance/src/program.ts +51 -0
  221. package/packages/performance/src/style.ts +35 -0
  222. package/packages/performance/src/surface.ts +99 -0
  223. package/packages/performance-studio/README.md +25 -0
  224. package/packages/performance-studio/package.json +21 -0
  225. package/packages/performance-studio/src/activation.ts +6 -0
  226. package/packages/performance-studio/src/index.ts +84 -0
  227. package/packages/program-space/README.md +9 -18
  228. package/packages/program-space/src/activation.ts +1 -5
  229. package/packages/program-space/src/index.ts +2 -11
  230. package/packages/program-space/src/surface.ts +1 -20
  231. package/packages/project-context-node/README.md +20 -0
  232. package/packages/project-context-node/package.json +10 -0
  233. package/packages/project-context-node/src/index.ts +3 -0
  234. package/packages/{cli → project-context-node}/src/runtime-selection.ts +7 -2
  235. package/packages/provider-hyperframes-local/README.md +43 -15
  236. package/packages/provider-hyperframes-local/src/activation.ts +4 -3
  237. package/packages/provider-hyperframes-local/src/capture-process.ts +26 -4
  238. package/packages/provider-hyperframes-local/src/capture.ts +96 -26
  239. package/packages/provider-hyperframes-local/src/concurrency.ts +86 -0
  240. package/packages/provider-hyperframes-local/src/opaque-capture.ts +92 -0
  241. package/packages/provider-hyperframes-local/src/options.ts +2 -0
  242. package/packages/provider-hyperframes-local/src/program.ts +6 -3
  243. package/packages/provider-hyperframes-local/src/progress.ts +53 -0
  244. package/packages/provider-hyperframes-local/src/provider.ts +18 -5
  245. package/packages/provider-hyperframes-local/src/render.ts +48 -7
  246. package/packages/provider-hypihub/README.md +48 -17
  247. package/packages/provider-hypihub/package.json +2 -0
  248. package/packages/provider-hypihub/src/mapping.ts +31 -7
  249. package/packages/provider-hypihub/src/oauth.ts +6 -0
  250. package/packages/provider-hypihub/src/provider.ts +25 -13
  251. package/packages/provider-hypihub/src/routes.ts +1 -2
  252. package/packages/provider-hypihub/src/upload.ts +2 -0
  253. package/packages/provider-media-local/README.md +3 -4
  254. package/packages/provider-whisperx-local/src/program.ts +1 -0
  255. package/packages/provider-whisperx-local/src/provider.ts +3 -0
  256. package/packages/ranking/README.md +8 -6
  257. package/packages/ranking/package.json +1 -1
  258. package/packages/ranking/src/component.ts +6 -6
  259. package/packages/ranking/src/fragment.ts +11 -7
  260. package/packages/ranking/src/manifest.ts +21 -14
  261. package/packages/ranking/src/render.ts +22 -26
  262. package/packages/ranking/src/schedule.ts +16 -19
  263. package/packages/ranking/src/surface.ts +12 -13
  264. package/packages/ranking-studio/README.md +18 -0
  265. package/packages/ranking-studio/src/index.ts +61 -9
  266. package/packages/render-hyperframes/README.md +7 -7
  267. package/packages/render-hyperframes/package.json +1 -1
  268. package/packages/render-hyperframes/src/component.ts +11 -1
  269. package/packages/render-hyperframes/src/fragment.ts +7 -4
  270. package/packages/render-hyperframes/src/manifest.ts +4 -4
  271. package/packages/render-hyperframes/src/surface.ts +6 -6
  272. package/packages/runtime/README.md +8 -1
  273. package/packages/runtime/src/execution.ts +15 -4
  274. package/packages/runtime/src/index.ts +2 -1
  275. package/packages/runtime/src/log.ts +51 -0
  276. package/packages/runtime/src/types.ts +5 -8
  277. package/packages/runtime-host-node/README.md +30 -0
  278. package/packages/runtime-host-node/package.json +1 -0
  279. package/packages/runtime-host-node/src/index.ts +24 -9
  280. package/packages/runtime-host-node/src/packages.ts +47 -50
  281. package/packages/runtime-kit/README.md +5 -0
  282. package/packages/runtime-kit/src/index.ts +3 -1
  283. package/packages/runtime-local/README.md +109 -4
  284. package/packages/runtime-local/src/config.ts +202 -56
  285. package/packages/runtime-local/src/control.ts +9 -1
  286. package/packages/runtime-local/src/executor.ts +66 -0
  287. package/packages/runtime-local/src/host.ts +37 -17
  288. package/packages/runtime-local/src/log.ts +48 -0
  289. package/packages/runtime-local/src/programs.ts +2 -1
  290. package/packages/runtime-local/src/result-writer.ts +2 -0
  291. package/packages/runtime-local/src/runtime.ts +8 -6
  292. package/packages/runtime-local/src/supervisor.ts +142 -0
  293. package/packages/runtime-local/src/types.ts +9 -2
  294. package/packages/runtime-local/src/worker-process.ts +7 -24
  295. package/packages/runtime-local/src/worker.ts +55 -83
  296. package/packages/screen-overlay/README.md +3 -3
  297. package/packages/screen-overlay/package.json +1 -1
  298. package/packages/screen-overlay/src/component.ts +3 -3
  299. package/packages/screen-overlay/src/fragment.ts +5 -4
  300. package/packages/screen-overlay/src/manifest.ts +7 -6
  301. package/packages/screen-overlay/src/program.ts +9 -9
  302. package/packages/screen-overlay/src/surface.ts +6 -7
  303. package/packages/script/README.md +30 -5
  304. package/packages/script/src/manifest.ts +4 -3
  305. package/packages/script/src/narrative.ts +1 -0
  306. package/packages/script/src/parser.ts +45 -6
  307. package/packages/script/src/surface.ts +4 -3
  308. package/packages/script/src/types.ts +1 -1
  309. package/packages/script-studio/package.json +9 -3
  310. package/packages/script-studio/src/index.ts +2 -0
  311. package/packages/script-studio/src/projection.ts +105 -0
  312. package/packages/seedance/README.md +30 -1
  313. package/packages/seedance/src/index.ts +18 -7
  314. package/packages/seedance/src/surface.ts +17 -4
  315. package/packages/seedance-kits/README.md +7 -1
  316. package/packages/seedream/README.md +1 -1
  317. package/packages/sound/README.md +81 -0
  318. package/packages/sound/package.json +25 -0
  319. package/packages/sound/src/activation.ts +11 -0
  320. package/packages/sound/src/component.ts +28 -0
  321. package/packages/sound/src/index.ts +5 -0
  322. package/packages/sound/src/manifest.ts +47 -0
  323. package/packages/sound/src/program.ts +84 -0
  324. package/packages/sound/src/style.ts +34 -0
  325. package/packages/sound/src/surface.ts +90 -0
  326. package/packages/sound-studio/README.md +22 -0
  327. package/packages/sound-studio/package.json +20 -0
  328. package/packages/sound-studio/src/activation.ts +6 -0
  329. package/packages/sound-studio/src/index.ts +74 -0
  330. package/packages/speech/README.md +2 -2
  331. package/packages/speech-alignment/src/local.ts +8 -0
  332. package/packages/speech-alignment/src/locate.ts +1 -1
  333. package/packages/store-sqlite/README.md +7 -0
  334. package/packages/store-sqlite/src/store.ts +84 -83
  335. package/packages/studio/INSPECTOR.md +15 -2
  336. package/packages/studio/LOCALIZATION.md +98 -0
  337. package/packages/studio/README.md +101 -14
  338. package/packages/studio/locales/en.json +197 -0
  339. package/packages/studio/locales/zh-CN.json +191 -0
  340. package/packages/studio/package.json +8 -7
  341. package/packages/studio/src/companion-assembly.ts +1 -0
  342. package/packages/studio/src/domain.ts +1 -1
  343. package/packages/studio/src/fallback-companions.ts +3 -3
  344. package/packages/studio/src/feedback-server.ts +51 -0
  345. package/packages/studio/src/feedback-store.ts +66 -0
  346. package/packages/studio/src/feedback.ts +60 -0
  347. package/packages/studio/src/localization-node.ts +46 -0
  348. package/packages/studio/src/localization.ts +85 -0
  349. package/packages/studio/src/parameter-values.ts +43 -1
  350. package/packages/studio/src/parameters.ts +114 -24
  351. package/packages/studio/src/preview/render.ts +5 -1
  352. package/packages/studio/src/preview/runtime-shim.ts +49 -3
  353. package/packages/studio/src/programme.ts +14 -30
  354. package/packages/studio/src/server.ts +10 -6
  355. package/packages/studio/src/shared.ts +4 -2
  356. package/packages/studio/src/snapshot.ts +21 -132
  357. package/packages/studio/src/studio-preflight.ts +3 -3
  358. package/packages/studio/src/studio-registry.ts +50 -6
  359. package/packages/studio/src/style.css +223 -50
  360. package/packages/studio/src/ui/artifact-name.ts +8 -6
  361. package/packages/studio/src/ui/artifact-preview.ts +5 -4
  362. package/packages/studio/src/ui/code.ts +17 -16
  363. package/packages/studio/src/ui/comments.ts +234 -0
  364. package/packages/studio/src/ui/dropdown.ts +68 -0
  365. package/packages/studio/src/ui/i18n.ts +109 -0
  366. package/packages/studio/src/ui/icons.ts +6 -0
  367. package/packages/studio/src/ui/library.ts +76 -65
  368. package/packages/studio/src/ui/main.ts +223 -211
  369. package/packages/studio/src/ui/overlay.ts +12 -8
  370. package/packages/studio/src/ui/scrub-preview.ts +110 -0
  371. package/packages/studio/src/ui/stage.ts +93 -29
  372. package/packages/studio/src/ui/timeline.ts +190 -118
  373. package/packages/studio/start.ts +41 -22
  374. package/packages/studio-adapter/README.md +130 -11
  375. package/packages/studio-adapter/src/index.ts +100 -13
  376. package/packages/temporal/README.md +6 -6
  377. package/packages/temporal/package.json +1 -1
  378. package/packages/temporal/src/component.ts +5 -6
  379. package/packages/temporal/src/index.ts +8 -6
  380. package/packages/temporal/src/location.ts +11 -11
  381. package/packages/temporal/src/projection.ts +19 -19
  382. package/packages/temporal/src/rational.ts +4 -4
  383. package/packages/temporal-markup/EDITING.md +2 -2
  384. package/packages/temporal-markup/README.md +27 -11
  385. package/packages/temporal-markup/package.json +1 -1
  386. package/packages/temporal-markup/src/index.ts +20 -25
  387. package/packages/temporal-markup/src/space.ts +10 -41
  388. package/packages/timeline/README.md +31 -0
  389. package/packages/{semantic-track → timeline}/package.json +1 -1
  390. package/packages/timeline/src/activation.ts +8 -0
  391. package/packages/timeline/src/component.ts +24 -0
  392. package/packages/timeline/src/identity.ts +60 -0
  393. package/packages/timeline/src/index.ts +6 -0
  394. package/packages/{semantic-track → timeline}/src/location.ts +20 -20
  395. package/packages/timeline/src/manifest.ts +39 -0
  396. package/packages/{semantic-track → timeline}/src/projection.ts +14 -14
  397. package/packages/timeline/src/types.ts +24 -0
  398. package/packages/timeline-author/README.md +68 -0
  399. package/packages/{speech-track → timeline-author}/package.json +6 -4
  400. package/packages/timeline-author/src/activation.ts +22 -0
  401. package/packages/{speech-track → timeline-author}/src/component.ts +15 -13
  402. package/packages/{speech-track → timeline-author}/src/fragment.ts +14 -23
  403. package/packages/timeline-author/src/index.ts +7 -0
  404. package/packages/timeline-author/src/manifest.ts +78 -0
  405. package/packages/timeline-author/src/program.ts +107 -0
  406. package/packages/timeline-author/src/surface.ts +46 -0
  407. package/packages/timeline-author/src/types.ts +6 -0
  408. package/packages/typography-track/README.md +4 -4
  409. package/packages/typography-track/package.json +1 -1
  410. package/packages/typography-track/src/component.ts +4 -4
  411. package/packages/typography-track/src/fragment.ts +4 -3
  412. package/packages/typography-track/src/manifest.ts +11 -9
  413. package/packages/typography-track/src/program.ts +15 -15
  414. package/packages/typography-track/src/surface.ts +17 -18
  415. package/packages/video-cli/README.md +4 -1
  416. package/packages/video-cli/package.json +2 -1
  417. package/packages/video-cli/src/creation.ts +14 -4
  418. package/packages/video-cli/src/index.ts +1 -1
  419. package/packages/video-cli/src/studio-distribution.ts +2 -1
  420. package/packages/volcengine-matting/README.md +3 -3
  421. package/packages/whisperx/README.md +1 -1
  422. package/services/whisperx/README.md +14 -0
  423. package/services/whisperx/pyproject.toml +2 -0
  424. package/services/whisperx/uv.lock +20 -20
  425. package/packages/provider-hyperframes-aws-lambda/README.md +0 -30
  426. package/packages/provider-hyperframes-aws-lambda/package.json +0 -30
  427. package/packages/provider-hyperframes-aws-lambda/src/activation.ts +0 -97
  428. package/packages/provider-hyperframes-aws-lambda/src/client.ts +0 -114
  429. package/packages/provider-hyperframes-aws-lambda/src/index.ts +0 -21
  430. package/packages/provider-hyperframes-aws-lambda/src/provider.ts +0 -522
  431. package/packages/provider-kie/README.md +0 -134
  432. package/packages/provider-kie/package.json +0 -43
  433. package/packages/provider-kie/src/activation.ts +0 -71
  434. package/packages/provider-kie/src/index.ts +0 -10
  435. package/packages/provider-kie/src/mapping.ts +0 -182
  436. package/packages/provider-kie/src/provider.ts +0 -657
  437. package/packages/provider-kie/src/routes.ts +0 -150
  438. package/packages/provider-xiaomi-mimo/README.md +0 -32
  439. package/packages/provider-xiaomi-mimo/src/activation.ts +0 -57
  440. package/packages/provider-xiaomi-mimo/src/index.ts +0 -5
  441. package/packages/provider-xiaomi-mimo/src/provider.ts +0 -214
  442. package/packages/runtime/src/environment.ts +0 -6
  443. package/packages/semantic-track/README.md +0 -21
  444. package/packages/semantic-track/src/activation.ts +0 -8
  445. package/packages/semantic-track/src/component.ts +0 -24
  446. package/packages/semantic-track/src/identity.ts +0 -58
  447. package/packages/semantic-track/src/index.ts +0 -6
  448. package/packages/semantic-track/src/manifest.ts +0 -38
  449. package/packages/semantic-track/src/types.ts +0 -26
  450. package/packages/speech-track/README.md +0 -51
  451. package/packages/speech-track/src/activation.ts +0 -19
  452. package/packages/speech-track/src/index.ts +0 -7
  453. package/packages/speech-track/src/manifest.ts +0 -73
  454. package/packages/speech-track/src/program.ts +0 -64
  455. package/packages/speech-track/src/surface.ts +0 -35
  456. package/packages/speech-track/src/types.ts +0 -6
  457. package/packages/speech-track-studio/README.md +0 -3
  458. package/packages/speech-track-studio/package.json +0 -14
  459. package/packages/speech-track-studio/src/activation.ts +0 -7
  460. package/packages/speech-track-studio/src/index.ts +0 -40
  461. /package/packages/{cli → project-context-node}/src/project-context.ts +0 -0
  462. /package/packages/{speech-track → timeline-author}/preview/Track.png +0 -0
package/README.md CHANGED
@@ -17,7 +17,7 @@
17
17
 
18
18
  <p align="center">
19
19
  <a href="https://github.com/hypit-ai/hypit/stargazers"><img alt="Stars" src="https://img.shields.io/github/stars/hypit-ai/hypit?style=flat-square&color=FFD700&logo=github&logoColor=white&label=Stars"></a>
20
- <a href="https://github.com/hypit-ai/hypit/blob/main/package.json"><img alt="Node 22.12+" src="https://img.shields.io/badge/Node.js-22.12%2B-5FA04E?style=flat-square&logo=nodedotjs&logoColor=white"></a>
20
+ <a href="https://github.com/hypit-ai/hypit/blob/main/package.json"><img alt="Node 22.15+" src="https://img.shields.io/badge/Node.js-22.15%2B-5FA04E?style=flat-square&logo=nodedotjs&logoColor=white"></a>
21
21
  <a href="https://github.com/hypit-ai/hypit/blob/main/package.json"><img alt="pnpm 10.33" src="https://img.shields.io/badge/pnpm-10.33-F69220?style=flat-square&logo=pnpm&logoColor=white"></a>
22
22
  <a href="https://github.com/hypit-ai/hypit/blob/main/package.json"><img alt="TypeScript 5.9" src="https://img.shields.io/badge/TypeScript-5.9-3178C6?style=flat-square&logo=typescript&logoColor=white"></a>
23
23
  <a href="https://github.com/hypit-ai/hypit/blob/main/LICENSE"><img alt="License" src="https://img.shields.io/badge/License-Apache--2.0%20with%20conditions-E3B341?style=flat-square"></a>
@@ -46,7 +46,7 @@ Hypit gives AI agents (Claude Code, Codex...) a language and system to create vi
46
46
 
47
47
  ## Install once
48
48
 
49
- Install the Hypit CLI (Node.js 22.12 or newer):
49
+ Install the Hypit CLI (Node.js 22.15 or newer):
50
50
 
51
51
  ```bash
52
52
  npm install -g @hypit/hypit
@@ -140,3 +140,5 @@ commands and the repository layout.
140
140
  ## License
141
141
 
142
142
  Hypit is released under the [Hypit Open Source License](https://github.com/hypit-ai/hypit/blob/main/LICENSE). The videos and other outputs you create belong to you; third-party models and services may have their own terms.
143
+
144
+ Partnership Community: [LINUX DO](https://linux.do/)
@@ -240,12 +240,14 @@ type SemanticAnchor = {
240
240
  readonly segmentId: string;
241
241
  readonly tokenId?: string;
242
242
  };
243
+ /** Complete authored content; local views are projections of this value. */
243
244
  type Narrative = {
244
245
  /** Author-visible `<script id>`; every exported semantic view retains it. */
245
246
  readonly id: string;
246
247
  readonly segments: readonly NarrativeSegment[];
247
248
  readonly tokens: readonly NarrativeToken[];
248
249
  readonly turns: readonly NarrativeTurn[];
250
+ readonly caption: CaptionDocument;
249
251
  readonly selections: readonly NarrativeSelection[];
250
252
  readonly moments: readonly NarrativeMoment[];
251
253
  readonly semanticIndex: {
@@ -259,13 +261,30 @@ type CaptionUnitSubset = {
259
261
  readonly unitIds: readonly string[];
260
262
  };
261
263
  /** Project a semantic Selection to complete authored N:M Caption units. */
262
- declare function captionUnitsForSelection(document: CaptionDocument, narrative: Narrative, selection: NarrativeSelection): CaptionUnitSubset;
264
+ declare function captionUnitsForSelection(narrative: Narrative, selection: NarrativeSelection): CaptionUnitSubset;
263
265
  declare function captionUnitsForRole(document: CaptionDocument, role: string): CaptionUnitSubset;
264
266
  declare function captionWordsForAttribute(document: CaptionDocument, attribute: string): readonly string[];
265
267
  declare function assertCaptionUnitSubset(value: CaptionUnitSubset, document: CaptionDocument): void;
266
268
 
267
269
  declare const captionComponent: {
268
- producers: {
270
+ producers: ({
271
+ producer: {
272
+ module: {
273
+ readonly name: "@hypit/caption";
274
+ readonly version: "1";
275
+ };
276
+ name: string;
277
+ };
278
+ handler: ({ inputs }: ProducerHandlerContext) => {
279
+ outputs: {
280
+ program: {
281
+ kind: "inline";
282
+ value: CanonicalValue;
283
+ };
284
+ };
285
+ needs: {};
286
+ };
287
+ } | {
269
288
  producer: {
270
289
  module: {
271
290
  readonly name: "@hypit/caption";
@@ -282,7 +301,7 @@ declare const captionComponent: {
282
301
  };
283
302
  needs: {};
284
303
  };
285
- }[];
304
+ })[];
286
305
  validators: {
287
306
  type: {
288
307
  module: {
@@ -381,14 +400,26 @@ type AuthorSourceIdentity = {
381
400
  type Awaitable<T> = T | Promise<T>;
382
401
 
383
402
  declare const captionTimingFragment: GraphFragment;
384
- /** Kept as the fragment's public name for callers that only know the old export. */
385
- declare const plannedCaptionTimingFragment: GraphFragment;
386
403
 
387
404
  declare const captionModuleRef: {
388
405
  readonly name: "@hypit/caption";
389
406
  readonly version: "1";
390
407
  };
391
408
  declare const captionProducers: {
409
+ create: {
410
+ module: {
411
+ readonly name: "@hypit/caption";
412
+ readonly version: "1";
413
+ };
414
+ name: string;
415
+ };
416
+ append: {
417
+ module: {
418
+ readonly name: "@hypit/caption";
419
+ readonly version: "1";
420
+ };
421
+ name: string;
422
+ };
392
423
  temporalizeDocument: {
393
424
  module: {
394
425
  readonly name: "@hypit/caption";
@@ -398,6 +429,20 @@ declare const captionProducers: {
398
429
  };
399
430
  };
400
431
  declare const captionTypes: {
432
+ header: {
433
+ module: {
434
+ readonly name: "@hypit/caption";
435
+ readonly version: "1";
436
+ };
437
+ name: string;
438
+ };
439
+ filter: {
440
+ module: {
441
+ readonly name: "@hypit/caption";
442
+ readonly version: "1";
443
+ };
444
+ name: string;
445
+ };
401
446
  style: {
402
447
  module: {
403
448
  readonly name: "@hypit/caption";
@@ -424,8 +469,8 @@ declare const captionStyleSchema: ValueSchema;
424
469
  declare const captionProgramSchema: ValueSchema;
425
470
  declare const timedCaptionProjectionSchema: ValueSchema;
426
471
  declare const captionMarkupSurfaces: readonly [{
427
- readonly name: "program";
428
- readonly tag: "Program";
472
+ readonly name: "hidden";
473
+ readonly tag: "Hidden";
429
474
  readonly mode: "structured";
430
475
  readonly outputs: readonly [{
431
476
  module: {
@@ -435,113 +480,15 @@ declare const captionMarkupSurfaces: readonly [{
435
480
  name: string;
436
481
  }];
437
482
  readonly vocabulary: {
438
- readonly summary: "Assigns rendering Styles to the Script-owned CaptionDocument using authored semantic selections.";
483
+ readonly summary: "Declares a Caption Style that contributes no rendering when selected by Use.";
439
484
  readonly attributes: readonly [{
440
485
  readonly name: "id";
441
486
  readonly kind: "identifier";
442
487
  readonly required: true;
443
- readonly summary: "Names the CaptionProgram.";
444
- }, {
445
- readonly name: "document";
446
- readonly kind: "reference";
447
- readonly required: true;
448
- readonly accepts: readonly [{
449
- module: {
450
- readonly name: "@hypit/narrative";
451
- readonly version: "1";
452
- };
453
- name: string;
454
- }];
455
- readonly summary: "The complete Script-owned CaptionDocument.";
456
- }, {
457
- readonly name: "narrative";
458
- readonly kind: "reference";
459
- readonly required: true;
460
- readonly accepts: readonly [{
461
- module: {
462
- readonly name: "@hypit/narrative";
463
- readonly version: "1";
464
- };
465
- name: string;
466
- }];
467
- readonly summary: "The semantic anchor universe used to project selections.";
468
- }, {
469
- readonly name: "default";
470
- readonly kind: "reference";
471
- readonly required: true;
472
- readonly accepts: readonly [{
473
- module: {
474
- readonly name: "@hypit/caption";
475
- readonly version: "1";
476
- };
477
- name: string;
478
- }];
479
- readonly summary: "The default Style.";
480
- }];
481
- readonly children: readonly [{
482
- readonly tag: "Use";
483
- readonly cardinality: "many";
484
- readonly summary: "Applies a complete Style by Role or semantic Selection, or supplies a word-attribute Style for a supporting family.";
485
- readonly attributes: readonly [{
486
- readonly name: "style";
487
- readonly kind: "reference";
488
- readonly required: true;
489
- readonly accepts: readonly [{
490
- module: {
491
- readonly name: "@hypit/caption";
492
- readonly version: "1";
493
- };
494
- name: string;
495
- }];
496
- readonly summary: "The Style to apply.";
497
- }, {
498
- readonly name: "role";
499
- readonly kind: "literal";
500
- readonly required: false;
501
- readonly summary: "Selects all Caption units authored for this Role.";
502
- }, {
503
- readonly name: "selection";
504
- readonly kind: "reference";
505
- readonly required: false;
506
- readonly accepts: readonly [{
507
- module: {
508
- readonly name: "@hypit/narrative";
509
- readonly version: "1";
510
- };
511
- name: string;
512
- }];
513
- readonly summary: "Selects complete Caption units contained by a semantic Selection.";
514
- }, {
515
- readonly name: "attribute";
516
- readonly kind: "literal";
517
- readonly required: false;
518
- readonly summary: "Selects display words carrying this Script-native attribute.";
519
- }];
520
- }, {
521
- readonly tag: "Mute";
522
- readonly cardinality: "many";
523
- readonly summary: "Hides selected complete Caption units.";
524
- readonly attributes: readonly [{
525
- readonly name: "role";
526
- readonly kind: "literal";
527
- readonly required: false;
528
- readonly summary: "Selects all Caption units authored for this Role.";
529
- }, {
530
- readonly name: "selection";
531
- readonly kind: "reference";
532
- readonly required: false;
533
- readonly accepts: readonly [{
534
- module: {
535
- readonly name: "@hypit/narrative";
536
- readonly version: "1";
537
- };
538
- name: string;
539
- }];
540
- readonly summary: "Selects complete Caption units contained by a semantic Selection.";
541
- }];
488
+ readonly summary: "Names the hidden Style.";
542
489
  }];
543
- readonly example: "<caption:Program id=\"captions\" document={story.caption} narrative={story} default={plain}>\n <caption:Use role=\"GUEST\" style={guest}/>\n <caption:Use selection={story.selection.answer} style={answer}/>\n <caption:Mute selection={story.selection.demonstration}/>\n</caption:Program>";
544
- readonly notes: readonly ["Use selects exactly one of role, selection or attribute; Mute selects exactly one of role or selection.", "For Role and Selection applications, the last matching Use in Source order selects the complete Style; properties are not merged.", "Selections may cover a phrase, a whole Segment, several Segments or the program, preserving complete display/pronunciation units.", "All Mute selections hide their words independently of Style order. They do not mute audio; the family still controls neighboring Cue lead and tail.", "Word-attribute runs are separate from Role/Selection overrides and require a family that implements them; Fine does not. Conflicting Styles on one attributed word are rejected."];
490
+ readonly example: "<caption:Hidden id=\"hidden\"/>";
491
+ readonly notes: readonly ["Hidden is a complete Style choice; it uses ordinary Use precedence and changes no speech or semantic anchors."];
545
492
  };
546
493
  }];
547
494
  declare const captionManifest: ModuleManifest;
@@ -608,75 +555,17 @@ type SurfaceResolvedReference = {
608
555
  };
609
556
  type StructuredSurfaceHandler = (input: StructuredSurfaceInput) => Awaitable<SurfaceDecodeOutput>;
610
557
 
611
- declare const decodeCaptionProgramSurface: StructuredSurfaceHandler;
558
+ declare const decodeHiddenCaptionStyleSurface: StructuredSurfaceHandler;
612
559
 
613
- type CaptionStyleIntent = {
560
+ type ProgramSpace = {
561
+ /** Author-visible identity of this film time axis. */
614
562
  readonly id: string;
615
- readonly rendering: {
616
- readonly family: string;
617
- readonly parameters: CanonicalValue;
563
+ readonly durationSec: number;
564
+ readonly frameRate: {
565
+ readonly numerator: number;
566
+ readonly denominator: number;
618
567
  };
619
568
  };
620
- type CaptionStyleApplication = {
621
- readonly id: string;
622
- readonly unitIds: readonly string[];
623
- readonly style: CaptionStyleIntent;
624
- };
625
- type CaptionWordStyleApplication = {
626
- readonly id: string;
627
- readonly attribute: string;
628
- readonly wordIds: readonly string[];
629
- readonly style: CaptionStyleIntent;
630
- };
631
- type CaptionMuteApplication = {
632
- readonly id: string;
633
- readonly unitIds: readonly string[];
634
- };
635
- type CaptionProgramRun = {
636
- readonly id: string;
637
- readonly styleId: string;
638
- readonly unitIds: readonly string[];
639
- };
640
- type CaptionProgramWordRun = {
641
- readonly id: string;
642
- readonly styleId: string;
643
- readonly wordIds: readonly string[];
644
- };
645
- type CaptionProgram = {
646
- readonly id: string;
647
- readonly documentId: string;
648
- readonly styles: readonly CaptionStyleIntent[];
649
- readonly runs: readonly CaptionProgramRun[];
650
- /** Optional local word styles resolved from Script-native word attributes. */
651
- readonly wordRuns: readonly CaptionProgramWordRun[];
652
- readonly mutedUnitIds: readonly string[];
653
- };
654
- type TimedCaptionUnit = {
655
- readonly unitId: string;
656
- readonly startFrame: number;
657
- readonly endFrameExclusive: number;
658
- };
659
- type TimedCaptionCue = {
660
- readonly id: string;
661
- readonly styleId: string;
662
- readonly startFrame: number;
663
- readonly endFrameExclusive: number;
664
- readonly units: readonly TimedCaptionUnit[];
665
- };
666
- type TimedCaptionProjection = {
667
- /** Semantic ProgramSpace from which every unit frame was measured. */
668
- readonly spaceId: string;
669
- readonly narrativeId: string;
670
- readonly documentId: string;
671
- readonly cues: readonly TimedCaptionCue[];
672
- };
673
-
674
- declare function sealCaptionStyle(value: CaptionStyleIntent): CaptionStyleIntent;
675
- declare function assertCaptionStyle(value: CaptionStyleIntent): void;
676
- declare function sealCaptionProgram(value: CaptionProgram): CaptionProgram;
677
- declare function assertCaptionProgram(value: CaptionProgram): void;
678
- declare function assertCaptionProgramForDocument(value: CaptionProgram, document: CaptionDocument): void;
679
- declare function resolveCaptionProgram(document: CaptionDocument, narrative: Narrative, id: string, defaultStyle: CaptionStyleIntent, applications: readonly CaptionStyleApplication[], mutes?: readonly CaptionMuteApplication[], wordApplications?: readonly CaptionWordStyleApplication[]): CaptionProgram;
680
569
 
681
570
  type MediaRational = {
682
571
  readonly numerator: number;
@@ -730,22 +619,156 @@ type SemanticTake = {
730
619
  }[];
731
620
  };
732
621
 
733
- type SemanticTrackItem = {
622
+ type TimelineItem = {
734
623
  readonly take: SemanticTake;
624
+ readonly startFrame: number;
625
+ };
626
+ /** One complete film time range, with prepared material placed where it belongs. */
627
+ type Timeline = ProgramSpace & {
628
+ readonly narrativeId?: string;
629
+ readonly items: readonly TimelineItem[];
630
+ };
631
+
632
+ /** Exact author duration. Decimal source spelling is reduced before reaching this value. */
633
+ type TemporalDuration = {
634
+ readonly unit: "frames";
635
+ readonly value: number;
636
+ } | {
637
+ readonly unit: "milliseconds";
638
+ readonly value: number;
639
+ } | {
640
+ readonly unit: "seconds";
641
+ readonly numerator: number;
642
+ readonly denominator: number;
643
+ };
644
+ /** A single projected boundary before it is resolved into ProgramSpace. */
645
+ type TemporalInstantExpression = {
646
+ readonly ref: "program.start";
647
+ readonly offset?: TemporalDuration;
648
+ } | {
649
+ readonly ref: "program.end";
650
+ readonly offset?: TemporalDuration;
651
+ } | {
652
+ readonly ref: "selection.start";
653
+ readonly offset?: TemporalDuration;
654
+ } | {
655
+ readonly ref: "selection.end";
656
+ readonly offset?: TemporalDuration;
657
+ } | {
658
+ readonly ref: "segment.start";
659
+ readonly offset?: TemporalDuration;
660
+ } | {
661
+ readonly ref: "segment.end";
662
+ readonly offset?: TemporalDuration;
663
+ } | {
664
+ readonly ref: "moment.cue";
665
+ readonly offset?: TemporalDuration;
666
+ } | {
667
+ readonly ref: "absolute";
668
+ readonly at: TemporalDuration;
669
+ readonly offset?: TemporalDuration;
670
+ };
671
+ /** Runtime dependency used to resolve an Instant. This is not its authoring authority. */
672
+ type TemporalSource = {
673
+ readonly spaceId: string;
674
+ /** Present when the boundary originates in a Script. */
675
+ readonly narrativeId?: string;
676
+ readonly kind: "program" | "selection" | "segment" | "moment";
677
+ readonly id: string;
735
678
  };
736
679
  /**
737
- * The continuous program skeleton. Every item is a real SemanticTake and the
738
- * global frame domain is exactly their prefix sum: no gap or empty item exists.
680
+ * The author-owned inverse of one projected Instant. Runtime dependencies and
681
+ * author authority are deliberately separate: an expression may read an
682
+ * anchor while remaining writable only at its author parameter.
739
683
  */
740
- type SemanticTrack = {
684
+ type TemporalInstantAuthority = {
685
+ readonly kind: "semantic";
686
+ readonly boundary: "start" | "end" | "cue";
687
+ } | {
688
+ readonly kind: "parameter";
689
+ readonly binding: string;
690
+ readonly relation: "direct" | "after-start" | "before-end";
691
+ } | {
692
+ readonly kind: "fixed";
693
+ };
694
+ type FrameSpan$1 = {
695
+ readonly startFrame: number;
696
+ readonly endFrameExclusive: number;
697
+ };
698
+ type ProjectedInstant = {
741
699
  readonly id: string;
700
+ readonly subjectId: string;
701
+ readonly source: TemporalSource;
702
+ readonly projection: TemporalInstantExpression;
703
+ readonly authority: TemporalInstantAuthority;
704
+ readonly frame: number;
705
+ };
706
+ type ProjectedWindow = {
707
+ readonly id: string;
708
+ readonly subjectId: string;
709
+ readonly start: ProjectedInstant;
710
+ readonly end: ProjectedInstant;
711
+ readonly span: FrameSpan$1;
712
+ };
713
+ /** Public projection protocol composed from two independently traced Instants. */
714
+ type TemporalWindow = ProjectedWindow;
715
+
716
+ type CaptionStyleIntent = {
717
+ readonly id: string;
718
+ /** null selects no rendering; later Uses can select a visible Style again. */
719
+ readonly rendering: {
720
+ readonly family: string;
721
+ readonly parameters: CanonicalValue;
722
+ } | null;
723
+ };
724
+ /** Ordered, resolved Uses owned by a Caption Track, not a separate author element. */
725
+ type CaptionUse = {
726
+ readonly window: TemporalWindow;
727
+ readonly styleId: string;
728
+ readonly role?: string;
729
+ };
730
+ type CaptionProgram = {
731
+ readonly id: string;
732
+ readonly documentId: string;
733
+ readonly styles: readonly CaptionStyleIntent[];
734
+ readonly uses: readonly CaptionUse[];
735
+ };
736
+ type TimedCaptionUnit = {
737
+ readonly unitId: string;
738
+ readonly startFrame: number;
739
+ readonly endFrameExclusive: number;
740
+ };
741
+ type TimedCaptionCue = {
742
+ readonly id: string;
743
+ readonly startFrame: number;
744
+ readonly endFrameExclusive: number;
745
+ readonly units: readonly TimedCaptionUnit[];
746
+ };
747
+ type TimedCaptionProjection = {
748
+ /** Semantic Timeline from which every unit frame was measured. */
749
+ readonly spaceId: string;
742
750
  readonly narrativeId: string;
743
- readonly items: readonly SemanticTrackItem[];
751
+ readonly documentId: string;
752
+ readonly cues: readonly TimedCaptionCue[];
744
753
  };
745
754
 
746
- declare function temporalizeCaptionDocument(document: CaptionDocument, semantic: SemanticTrack, program: CaptionProgram): TimedCaptionProjection;
747
- declare function applyCaptionMute(projection: TimedCaptionProjection, program: CaptionProgram, document: CaptionDocument): TimedCaptionProjection;
755
+ declare function sealCaptionStyle(value: CaptionStyleIntent): CaptionStyleIntent;
756
+ declare function assertCaptionStyle(value: CaptionStyleIntent): void;
757
+ declare function sealCaptionProgram(value: CaptionProgram): CaptionProgram;
758
+ declare function assertCaptionProgram(value: CaptionProgram): void;
759
+ declare function assertCaptionProgramForDocument(value: CaptionProgram, document: CaptionDocument): void;
760
+ declare function appendCaptionUse(program: CaptionProgram, window: TemporalWindow, style: CaptionStyleIntent, role?: string): CaptionProgram;
761
+
762
+ declare function temporalizeCaptionDocument(document: CaptionDocument, semantic: Timeline): TimedCaptionProjection;
748
763
  declare function assertTimedCaptionProjection(projection: TimedCaptionProjection): void;
749
764
 
750
- export { CaptionTimingError, applyCaptionMute, assertCaptionDocument, assertCaptionProgram, assertCaptionProgramForDocument, assertCaptionStyle, assertCaptionUnitSubset, assertTimedCaptionProjection, captionComponent, captionManifest, captionMarkupSurfaces, captionModuleRef, captionProducers, captionProgramSchema, captionStyleSchema, captionTimingFragment, captionTypes, captionUnitsForRole, captionUnitsForSelection, captionWordsForAttribute, decodeCaptionProgramSurface, plannedCaptionTimingFragment, resolveCaptionProgram, sealCaptionProgram, sealCaptionStyle, temporalizeCaptionDocument, timedCaptionProjectionSchema };
751
- export type { CaptionMuteApplication, CaptionProgram, CaptionProgramRun, CaptionProgramWordRun, CaptionStyleApplication, CaptionStyleIntent, CaptionUnitSubset, CaptionWordStyleApplication, TimedCaptionCue, TimedCaptionProjection, TimedCaptionUnit };
765
+ type FrameSpan = {
766
+ readonly startFrame: number;
767
+ readonly endFrameExclusive: number;
768
+ };
769
+
770
+ /** Later Uses replace this Cue's presentation inside their windows, including Hidden. */
771
+ declare function captionUseVisibility(program: CaptionProgram, index: number, role: string | undefined, envelope: FrameSpan): FrameSpan[];
772
+
773
+ export { CaptionTimingError, appendCaptionUse, assertCaptionDocument, assertCaptionProgram, assertCaptionProgramForDocument, assertCaptionStyle, assertCaptionUnitSubset, assertTimedCaptionProjection, captionComponent, captionManifest, captionMarkupSurfaces, captionModuleRef, captionProducers, captionProgramSchema, captionStyleSchema, captionTimingFragment, captionTypes, captionUnitsForRole, captionUnitsForSelection, captionUseVisibility, captionWordsForAttribute, decodeHiddenCaptionStyleSurface, sealCaptionProgram, sealCaptionStyle, temporalizeCaptionDocument, timedCaptionProjectionSchema };
774
+ export type { CaptionProgram, CaptionStyleIntent, CaptionUnitSubset, CaptionUse, TimedCaptionCue, TimedCaptionProjection, TimedCaptionUnit };
@@ -215,9 +215,29 @@ declare const visualSurfaceSchema: ValueSchema;
215
215
  declare const visualProgramSchema: ValueSchema;
216
216
  declare const visualElementSchema: ValueSchema;
217
217
  declare const visualTrackSchema: ValueSchema;
218
+ declare const audioSampleSpanSchema: ValueSchema;
219
+ declare const audioGainEnvelopeSchema: ValueSchema;
218
220
  declare const audioTrackSchema: ValueSchema;
219
221
  declare const compositionSchema: ValueSchema;
220
222
 
223
+ /** Gain and audibility are measured on the complete 48 kHz program clock. */
224
+ type AudioSampleSpan = {
225
+ readonly startSample: number;
226
+ readonly endSampleExclusive: number;
227
+ };
228
+ type AudioGainPoint = {
229
+ readonly sample: number;
230
+ readonly gain: number;
231
+ };
232
+ type AudioPresentation = {
233
+ /** Linear interpolation; hold the first/last gain outside the supplied points. */
234
+ readonly gainEnvelope?: readonly AudioGainPoint[];
235
+ /** Half-open audible regions; omission means the complete target, [] means silence. */
236
+ readonly audibility?: readonly AudioSampleSpan[];
237
+ };
238
+ declare function assertAudioPresentation(value: AudioPresentation, target: AudioSampleSpan, totalSamples?: number): void;
239
+ declare function audioEnvelopeGainAt(points: readonly AudioGainPoint[] | undefined, sample: number): number;
240
+
221
241
  /** Structural style vocabulary. Renderer programs own their richer layout and code formats. */
222
242
  declare const VISUAL_IR_V1: "hypit.visual-ir@1";
223
243
 
@@ -598,6 +618,8 @@ type VisualPresent = {
598
618
  /** Optional domain entity implemented by this renderer Present. */
599
619
  readonly subjectId?: string;
600
620
  readonly span: FrameSpan;
621
+ /** Optional visible subranges in program frames; span remains the animation and sampling origin. */
622
+ readonly visibility?: readonly FrameSpan[];
601
623
  /** Absolute paint position for this Present, not for its authoring Track. */
602
624
  readonly stacking: {
603
625
  readonly order: number;
@@ -615,7 +637,7 @@ type VisualTrack = {
615
637
  /** Author-owned contributions that Composition may interleave by absolute z. */
616
638
  readonly presents: readonly VisualPresent[];
617
639
  };
618
- type AudioClip = {
640
+ type AudioClip = AudioPresentation & {
619
641
  readonly id: string;
620
642
  /** Optional domain entity implemented by this renderer Clip. */
621
643
  readonly subjectId?: string;
@@ -668,5 +690,5 @@ declare function assertAudioTrackIdentity(track: AudioTrack, programSpace?: Prog
668
690
  declare function sealComposition(value: Composition): Composition;
669
691
  declare function assertCompositionIdentity(composition: Composition, programSpace?: ProgramSpace): void;
670
692
 
671
- export { animatableLocalStyles, assertAudioTrackIdentity, assertCompositionIdentity, assertVisualTrackIdentity, audioTrackSchema, compositionComponent, compositionDependency, compositionManifest, compositionModuleRef, compositionSchema, compositionTypes, sealAudioTrack, sealComposition, sealVisualTrack, visualBoxSchema, visualColorPaintSchema, visualElementSchema, visualImageSchema, visualMaskSchema, visualPathCommandSchema, visualProgramSchema, visualSurfaceSchema, visualTextDocumentSchema, visualTextFlowSchema, visualTextPaintSchema, visualTextSchema, visualTextSequenceSchema, visualTextTypographySchema, visualTimedSamplingSchema, visualTrackSchema, visualVideoSchema };
672
- export type { AudioClip, AudioTrack, Composition, FrameSpan, Track, VisualAnimation, VisualAttribute, VisualBoxElement, VisualColorPaint, VisualEasing, VisualElement, VisualElementBase, VisualKeyframe, VisualMaskElement, VisualMediaElement, VisualPathTextElement, VisualPresent, VisualProgramElement, VisualSamplingRational, VisualSamplingSegment, VisualStyleDeclaration, VisualSurfaceElement, VisualTextBoxDecoration, VisualTextDecoration, VisualTextDirection, VisualTextDocument, VisualTextElement, VisualTextFlow, VisualTextFlowElement, VisualTextInline, VisualTextPaintLayer, VisualTextPaintTarget, VisualTextRunStyle, VisualTextSequenceAnimation, VisualTextTypography, VisualTextWritingMode, VisualTimedSampling, VisualTrack, VisualVectorPathCommand };
693
+ export { animatableLocalStyles, assertAudioPresentation, assertAudioTrackIdentity, assertCompositionIdentity, assertVisualTrackIdentity, audioEnvelopeGainAt, audioGainEnvelopeSchema, audioSampleSpanSchema, audioTrackSchema, compositionComponent, compositionDependency, compositionManifest, compositionModuleRef, compositionSchema, compositionTypes, sealAudioTrack, sealComposition, sealVisualTrack, visualBoxSchema, visualColorPaintSchema, visualElementSchema, visualImageSchema, visualMaskSchema, visualPathCommandSchema, visualProgramSchema, visualSurfaceSchema, visualTextDocumentSchema, visualTextFlowSchema, visualTextPaintSchema, visualTextSchema, visualTextSequenceSchema, visualTextTypographySchema, visualTimedSamplingSchema, visualTrackSchema, visualVideoSchema };
694
+ export type { AudioClip, AudioGainPoint, AudioPresentation, AudioSampleSpan, AudioTrack, Composition, FrameSpan, Track, VisualAnimation, VisualAttribute, VisualBoxElement, VisualColorPaint, VisualEasing, VisualElement, VisualElementBase, VisualKeyframe, VisualMaskElement, VisualMediaElement, VisualPathTextElement, VisualPresent, VisualProgramElement, VisualSamplingRational, VisualSamplingSegment, VisualStyleDeclaration, VisualSurfaceElement, VisualTextBoxDecoration, VisualTextDecoration, VisualTextDirection, VisualTextDocument, VisualTextElement, VisualTextFlow, VisualTextFlowElement, VisualTextInline, VisualTextPaintLayer, VisualTextPaintTarget, VisualTextRunStyle, VisualTextSequenceAnimation, VisualTextTypography, VisualTextWritingMode, VisualTimedSampling, VisualTrack, VisualVectorPathCommand };
@@ -36,6 +36,8 @@ type StoredValue = {
36
36
  readonly value: CanonicalValue;
37
37
  } | BlobRef;
38
38
 
39
+ declare function canonicalize(value: unknown): CanonicalValue;
40
+
39
41
  type Need = {
40
42
  readonly id: NeedId;
41
43
  readonly capability: CapabilityRef;
@@ -70,6 +72,7 @@ type CredentialAcquisition = {
70
72
  /** Maximum duration of the service-owned token exchange after browser authorization returns. */
71
73
  readonly requestTimeoutMs: number;
72
74
  };
75
+ declare function credentialRef(store: string, key: string): CredentialRef;
73
76
 
74
77
  /** A shared resource: occupancy when periodMs is absent, a replenishing rate budget otherwise. */
75
78
  type CapacityResourceClaim = {
@@ -104,6 +107,13 @@ type OperationProgress = {
104
107
  readonly unit?: string;
105
108
  };
106
109
 
110
+ /** Provider-authored diagnostic text suitable for users; never credentials or request bodies. */
111
+ type ExecutionDiagnostic = {
112
+ readonly level: "info" | "warning" | "error";
113
+ readonly message: string;
114
+ readonly stream?: "stdout" | "stderr";
115
+ };
116
+
107
117
  /** Build-local byte resources. Location, retention and transport are Runtime policy. */
108
118
  type ResourceIOOptions = {
109
119
  /** Cancel the transfer, close its streams and discard unfinished writes before rejecting.
@@ -121,6 +131,14 @@ type ResourceStore = {
121
131
  /** Cheap presence query. */
122
132
  has(resource: ResourceId, options?: ResourceIOOptions): Promise<boolean>;
123
133
  };
134
+ /** Optional transfer capability. Core and components never require storage to expose it. */
135
+ type StreamingResourceStore = ResourceStore & {
136
+ putStream(chunks: AsyncIterable<Uint8Array>, mediaType: string, options?: ResourceIOOptions): Promise<BlobRef>;
137
+ writeStream(resource: BlobRef, chunks: AsyncIterable<Uint8Array>, options?: ResourceIOOptions): Promise<void>;
138
+ /** Stream bytes previously stored under this resource identity. */
139
+ open(resource: ResourceId, options?: ResourceIOOptions): Promise<AsyncIterable<Uint8Array> | undefined>;
140
+ };
141
+ declare function isStreamingResourceStore(value: ResourceStore): value is StreamingResourceStore;
124
142
 
125
143
  type Awaitable<T> = T | Promise<T>;
126
144
  type EndpointFulfillment = {
@@ -167,6 +185,10 @@ type EndpointInvocationContext = {
167
185
  readonly resources: ResourceStore;
168
186
  /** Only slots explicitly declared by this configured Endpoint instance are present. */
169
187
  readonly credentials: Readonly<Record<string, EndpointCredential>>;
188
+ /** Explicit non-secret diagnostic output. The Provider owns its content, never its storage. */
189
+ readonly reportDiagnostic?: (diagnostic: ExecutionDiagnostic) => Promise<void>;
190
+ /** Report non-secret activity of a long local call without creating a remote Operation. */
191
+ readonly reportProgress?: (progress: OperationProgress) => Promise<void>;
170
192
  };
171
193
  type ImmediateEndpointHandler = (context: EndpointInvocationContext) => Awaitable<EndpointFulfillment>;
172
194
  type EndpointCheckpoint = {
@@ -362,5 +384,5 @@ declare function wakeAfter(handle: CanonicalValue, delayMs: number, now?: number
362
384
  readonly progress?: OperationProgress;
363
385
  };
364
386
 
365
- export { actionResourceClaims, defineEndpointPackage, endpointActions, endpointResourceClaims, verifyEndpointPricingDocument, wakeAfter };
366
- export type { AsyncEndpoint, AsyncEndpointCapability, Awaitable, CanonicalValue, CapabilityRef, CapacityResourceClaim, CredentialAcquisition, CredentialRef, CredentialValue, DefineEndpointPackageOptions, EndpointAction, EndpointActionLimits, EndpointCancelOutcome, EndpointCapability, EndpointCheckpoint, EndpointCredential, EndpointCredentialDescription, EndpointFulfillment, EndpointInputSlot, EndpointInvocationContext, EndpointOffer, EndpointOutcome, EndpointPackage, EndpointPollContext, EndpointPricing, EndpointPricingDocument, EndpointPricingReader, EndpointPricingReaderContext, EndpointRegistrar, EndpointRegistrationOptions, EndpointRequest, EndpointScheduling, EndpointStartContext, EndpointSupport, ImmediateEndpointCapability, ImmediateEndpointHandler, ModuleRef, OperationFailure, OperationProgress, OperationReceipt, ResourceIOOptions, ResourceStore, StoredValue, TypeRef };
387
+ export { actionResourceClaims, canonicalize, credentialRef, defineEndpointPackage, endpointActions, endpointResourceClaims, isStreamingResourceStore, verifyEndpointPricingDocument, wakeAfter };
388
+ export type { AsyncEndpoint, AsyncEndpointCapability, Awaitable, BlobRef, CanonicalValue, CapabilityRef, CapacityResourceClaim, CredentialAcquisition, CredentialRef, CredentialValue, DefineEndpointPackageOptions, EndpointAction, EndpointActionLimits, EndpointCancelOutcome, EndpointCapability, EndpointCheckpoint, EndpointCredential, EndpointCredentialDescription, EndpointFulfillment, EndpointInputSlot, EndpointInvocationContext, EndpointOffer, EndpointOutcome, EndpointPackage, EndpointPollContext, EndpointPricing, EndpointPricingDocument, EndpointPricingReader, EndpointPricingReaderContext, EndpointRegistrar, EndpointRegistrationOptions, EndpointRequest, EndpointScheduling, EndpointStartContext, EndpointSupport, ImmediateEndpointCapability, ImmediateEndpointHandler, ModuleRef, OperationFailure, OperationProgress, OperationReceipt, ResourceIOOptions, ResourceId, ResourceStore, StoredValue, TypeRef };
@@ -447,6 +447,8 @@ declare function verifyRequestAgainstPorts(table: GenerationPortTable, value: un
447
447
  /** Build one canonical request for a model from its declared ports. */
448
448
  declare function sealGenerationPortRequest(table: GenerationPortTable, ports: Readonly<Record<string, readonly GenerationPortValue[]>>): GenerationRequest;
449
449
 
450
+ /** Per-reference fields consumed by the service's resource transport rather than its generation body. */
451
+ type GenerationArtifactUrlResolver = (artifact: BlobRef, fields?: Readonly<Record<string, string | number | boolean>>) => Promise<string>;
450
452
  /**
451
453
  * How one service names the fields of one model's declared input ports.
452
454
  *
@@ -454,7 +456,6 @@ declare function sealGenerationPortRequest(table: GenerationPortTable, ports: Re
454
456
  * Provider package therefore never imports a model package: the model owns what
455
457
  * it eats, the service owns what it calls that on the wire.
456
458
  */
457
- type GenerationArtifactUrlResolver = (artifact: BlobRef) => Promise<string>;
458
459
  type GenerationFieldMapping =
459
460
  /** One scalar written as-is. */
460
461
  {
@@ -478,12 +479,14 @@ type GenerationFieldMapping =
478
479
  | {
479
480
  readonly as: "url";
480
481
  readonly field: string;
482
+ readonly resourceFields?: readonly string[];
481
483
  readonly whenAbsent?: CanonicalValue;
482
484
  }
483
485
  /** Several media items written as one array of resolved URLs. */
484
486
  | {
485
487
  readonly as: "urlArray";
486
488
  readonly field: string;
489
+ readonly resourceFields?: readonly string[];
487
490
  readonly whenAbsent?: CanonicalValue;
488
491
  }
489
492
  /** Media items written as objects carrying the resolved URL and their item fields. */
@@ -491,6 +494,7 @@ type GenerationFieldMapping =
491
494
  readonly as: "itemObject";
492
495
  readonly field: string;
493
496
  readonly urlKey: string;
497
+ readonly resourceFields?: readonly string[];
494
498
  readonly fieldKeys: Readonly<Record<string, string>>;
495
499
  readonly whenAbsent?: CanonicalValue;
496
500
  };