dinkster-api 0.0.2__py3-none-any.whl

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 (238) hide show
  1. dinkster_api/__init__.py +9 -0
  2. dinkster_api/py.typed +0 -0
  3. dinkster_api/v1.py +935 -0
  4. dinkster_api-0.0.2.dist-info/METADATA +16 -0
  5. dinkster_api-0.0.2.dist-info/RECORD +238 -0
  6. dinkster_api-0.0.2.dist-info/WHEEL +4 -0
  7. dinkster_api-0.0.2.dist-info/entry_points.txt +2 -0
  8. dinkster_assets/__init__.py +337 -0
  9. dinkster_assets/acquire.py +226 -0
  10. dinkster_assets/acquisition_plan.py +145 -0
  11. dinkster_assets/audio.py +119 -0
  12. dinkster_assets/catalog.py +156 -0
  13. dinkster_assets/component_manifest.py +110 -0
  14. dinkster_assets/declared.py +218 -0
  15. dinkster_assets/fetch.py +495 -0
  16. dinkster_assets/guess.py +136 -0
  17. dinkster_assets/identity.py +72 -0
  18. dinkster_assets/integrity.py +310 -0
  19. dinkster_assets/json_metadata.py +41 -0
  20. dinkster_assets/kind.py +52 -0
  21. dinkster_assets/latent_format.py +346 -0
  22. dinkster_assets/library.py +816 -0
  23. dinkster_assets/media.py +1385 -0
  24. dinkster_assets/migrations/env.py +38 -0
  25. dinkster_assets/migrations/script.py.mako +28 -0
  26. dinkster_assets/migrations/versions/0001_asset_records_create_asset_record_catalog.py +109 -0
  27. dinkster_assets/migrations/versions/0002_asset_observations.py +36 -0
  28. dinkster_assets/model.py +242 -0
  29. dinkster_assets/mounts.py +1278 -0
  30. dinkster_assets/need.py +168 -0
  31. dinkster_assets/pack_assets.py +217 -0
  32. dinkster_assets/probe.py +118 -0
  33. dinkster_assets/provenance.py +254 -0
  34. dinkster_assets/public_acquisition.py +424 -0
  35. dinkster_assets/py.typed +0 -0
  36. dinkster_assets/records.py +899 -0
  37. dinkster_assets/resolution.py +778 -0
  38. dinkster_assets/resolver_index.py +364 -0
  39. dinkster_assets/resolver_subscription.py +1149 -0
  40. dinkster_assets/save_target.py +139 -0
  41. dinkster_assets/schema.py +73 -0
  42. dinkster_assets/selections.py +256 -0
  43. dinkster_assets/transport.py +243 -0
  44. dinkster_assets/value.py +258 -0
  45. dinkster_assets/vault.py +276 -0
  46. dinkster_assets/writer.py +765 -0
  47. dinkster_caches/__init__.py +19 -0
  48. dinkster_caches/cas.py +310 -0
  49. dinkster_caches/disk.py +330 -0
  50. dinkster_caches/layered.py +150 -0
  51. dinkster_caches/memory.py +208 -0
  52. dinkster_caches/py.typed +0 -0
  53. dinkster_caches/wire.py +346 -0
  54. dinkster_image_document/__init__.py +39 -0
  55. dinkster_image_document/blend.py +264 -0
  56. dinkster_image_document/compat.py +211 -0
  57. dinkster_image_document/document.py +374 -0
  58. dinkster_image_document/format.py +569 -0
  59. dinkster_image_document/interchange.py +572 -0
  60. dinkster_image_document/py.typed +1 -0
  61. dinkster_image_document/render.py +455 -0
  62. dinkster_inference_wire/__init__.py +141 -0
  63. dinkster_inference_wire/camera_wire.py +127 -0
  64. dinkster_inference_wire/conditioning.py +752 -0
  65. dinkster_inference_wire/conditioning_wire.py +1143 -0
  66. dinkster_inference_wire/devices.py +285 -0
  67. dinkster_inference_wire/generation.py +446 -0
  68. dinkster_inference_wire/hook_values.py +168 -0
  69. dinkster_inference_wire/ic_lora_parameters.py +69 -0
  70. dinkster_inference_wire/latents.py +244 -0
  71. dinkster_inference_wire/media_wire.py +169 -0
  72. dinkster_inference_wire/openai_generation.py +1035 -0
  73. dinkster_inference_wire/pose_keypoint.py +83 -0
  74. dinkster_inference_wire/process.py +33 -0
  75. dinkster_inference_wire/py.typed +0 -0
  76. dinkster_inference_wire/registry.py +116 -0
  77. dinkster_inference_wire/sam3_wire.py +68 -0
  78. dinkster_inference_wire/sampling_wire.py +279 -0
  79. dinkster_inference_wire/sources.py +399 -0
  80. dinkster_inference_wire/spaces.py +344 -0
  81. dinkster_inference_wire/sparse.py +372 -0
  82. dinkster_inference_wire/splat_wire.py +23 -0
  83. dinkster_inference_wire/types.py +256 -0
  84. dinkster_inference_wire/vision_wire.py +53 -0
  85. dinkster_inference_wire/voxel_wire.py +72 -0
  86. dinkster_inference_wire/wan_wire.py +93 -0
  87. dinkster_inference_wire/weights.py +219 -0
  88. dinkster_memory/__init__.py +92 -0
  89. dinkster_memory/accelerator.py +96 -0
  90. dinkster_memory/budgets.py +96 -0
  91. dinkster_memory/details.py +91 -0
  92. dinkster_memory/governor.py +554 -0
  93. dinkster_memory/leases.py +176 -0
  94. dinkster_memory/py.typed +0 -0
  95. dinkster_memory/release.py +131 -0
  96. dinkster_memory/reported.py +101 -0
  97. dinkster_memory/reservations.py +101 -0
  98. dinkster_memory/resident.py +600 -0
  99. dinkster_memory/system.py +614 -0
  100. dinkster_memory/tenants.py +67 -0
  101. dinkster_protocol/__init__.py +1008 -0
  102. dinkster_protocol/attention.py +652 -0
  103. dinkster_protocol/extension_contribution_kinds.json +21 -0
  104. dinkster_protocol/extension_contribution_kinds.py +43 -0
  105. dinkster_protocol/extensions.py +742 -0
  106. dinkster_protocol/frontend_modules.py +145 -0
  107. dinkster_protocol/multigpu.py +107 -0
  108. dinkster_protocol/pack_surfaces.py +489 -0
  109. dinkster_protocol/payload.py +63 -0
  110. dinkster_protocol/preview.py +86 -0
  111. dinkster_protocol/py.typed +0 -0
  112. dinkster_protocol/result_algebra.py +380 -0
  113. dinkster_protocol/result_document.py +244 -0
  114. dinkster_protocol/run_control.py +96 -0
  115. dinkster_protocol/training.py +399 -0
  116. dinkster_protocol/workgroup.py +1014 -0
  117. dinkster_registry/__init__.py +135 -0
  118. dinkster_registry/admission.py +372 -0
  119. dinkster_registry/artifact.py +128 -0
  120. dinkster_registry/composition.py +152 -0
  121. dinkster_registry/grants.py +206 -0
  122. dinkster_registry/install.py +1017 -0
  123. dinkster_registry/model.py +414 -0
  124. dinkster_registry/principals.py +494 -0
  125. dinkster_registry/py.typed +0 -0
  126. dinkster_schema/__init__.py +347 -0
  127. dinkster_schema/capture.py +240 -0
  128. dinkster_schema/coerce.py +186 -0
  129. dinkster_schema/comfy_alias.py +496 -0
  130. dinkster_schema/comfy_group.py +768 -0
  131. dinkster_schema/elaborate.py +676 -0
  132. dinkster_schema/execution.py +24 -0
  133. dinkster_schema/expansion.py +123 -0
  134. dinkster_schema/log.py +206 -0
  135. dinkster_schema/media.py +77 -0
  136. dinkster_schema/model.py +2920 -0
  137. dinkster_schema/names.py +25 -0
  138. dinkster_schema/node.py +137 -0
  139. dinkster_schema/output_descriptors.py +63 -0
  140. dinkster_schema/py.typed +0 -0
  141. dinkster_schema/replace.py +1853 -0
  142. dinkster_schema/reporting.py +441 -0
  143. dinkster_schema/solve.py +178 -0
  144. dinkster_schema/wire.py +1876 -0
  145. dinkster_values/__init__.py +625 -0
  146. dinkster_values/_media_array.py +7 -0
  147. dinkster_values/absent.py +77 -0
  148. dinkster_values/asset_folders.py +64 -0
  149. dinkster_values/assets.py +106 -0
  150. dinkster_values/audio_codec.py +594 -0
  151. dinkster_values/audio_lazy.py +871 -0
  152. dinkster_values/builtin_types.py +181 -0
  153. dinkster_values/curve.py +260 -0
  154. dinkster_values/detection_codec.py +286 -0
  155. dinkster_values/image_codec.py +691 -0
  156. dinkster_values/image_components.py +219 -0
  157. dinkster_values/latent_codec.py +514 -0
  158. dinkster_values/limits.py +52 -0
  159. dinkster_values/lists.py +216 -0
  160. dinkster_values/media_containers.py +70 -0
  161. dinkster_values/model.py +417 -0
  162. dinkster_values/model3d_codec.py +167 -0
  163. dinkster_values/names.py +168 -0
  164. dinkster_values/pins.py +77 -0
  165. dinkster_values/py.typed +0 -0
  166. dinkster_values/registry.py +1105 -0
  167. dinkster_values/resident.py +210 -0
  168. dinkster_values/resources.py +210 -0
  169. dinkster_values/splat_codec.py +477 -0
  170. dinkster_values/storage.py +133 -0
  171. dinkster_values/streams.py +241 -0
  172. dinkster_values/svg_codec.py +120 -0
  173. dinkster_values/timeline_video.py +68 -0
  174. dinkster_values/tuples.py +61 -0
  175. dinkster_values/video_codec.py +897 -0
  176. dinkster_values/video_document.py +315 -0
  177. dinkster_values/video_edits.py +253 -0
  178. dinkster_values/video_probe.py +221 -0
  179. dinkster_video/__init__.py +58 -0
  180. dinkster_video/document.py +352 -0
  181. dinkster_video/formats.py +722 -0
  182. dinkster_video/image_math.py +175 -0
  183. dinkster_video/preview/dinkster-pack.toml +36 -0
  184. dinkster_video/preview/src/dinkster_video_preview/__init__.py +84 -0
  185. dinkster_video/preview/src/dinkster_video_preview/preview.js +45 -0
  186. dinkster_video/py.typed +1 -0
  187. dinkster_video/runtime.py +1561 -0
  188. dinkster_video/timeline.py +576 -0
  189. dinkster_video/timeline_runtime.py +305 -0
  190. dinkster_video_preview/__init__.py +84 -0
  191. dinkster_video_preview/preview.js +45 -0
  192. dinkster_workers/__init__.py +207 -0
  193. dinkster_workers/_doctor_probe.py +359 -0
  194. dinkster_workers/accelerator.py +156 -0
  195. dinkster_workers/aimdo_bootstrap.py +81 -0
  196. dinkster_workers/backend_env.py +1485 -0
  197. dinkster_workers/blobs.py +402 -0
  198. dinkster_workers/boundary.py +1918 -0
  199. dinkster_workers/catalog.py +182 -0
  200. dinkster_workers/devices.py +164 -0
  201. dinkster_workers/diagnostics.py +64 -0
  202. dinkster_workers/dispatch.py +298 -0
  203. dinkster_workers/doctor.py +1382 -0
  204. dinkster_workers/egress.py +344 -0
  205. dinkster_workers/error_hints.py +175 -0
  206. dinkster_workers/execution.py +160 -0
  207. dinkster_workers/governed.py +123 -0
  208. dinkster_workers/headroom.py +156 -0
  209. dinkster_workers/host.py +3116 -0
  210. dinkster_workers/in_process.py +1325 -0
  211. dinkster_workers/interpreter.py +84 -0
  212. dinkster_workers/isolated.py +862 -0
  213. dinkster_workers/launch.py +72 -0
  214. dinkster_workers/manifest.py +3332 -0
  215. dinkster_workers/media.py +196 -0
  216. dinkster_workers/pack_environment.py +473 -0
  217. dinkster_workers/pack_lock.py +359 -0
  218. dinkster_workers/placement.py +215 -0
  219. dinkster_workers/preview_artifacts.py +233 -0
  220. dinkster_workers/produced_assets.py +218 -0
  221. dinkster_workers/provision.py +597 -0
  222. dinkster_workers/py.typed +0 -0
  223. dinkster_workers/relay.py +762 -0
  224. dinkster_workers/remote.py +921 -0
  225. dinkster_workers/resume.py +490 -0
  226. dinkster_workers/routing.py +134 -0
  227. dinkster_workers/run_control.py +275 -0
  228. dinkster_workers/sandbox.py +798 -0
  229. dinkster_workers/saved_artifacts.py +275 -0
  230. dinkster_workers/service.py +593 -0
  231. dinkster_workers/session.py +2605 -0
  232. dinkster_workers/single_job_multi_gpu.py +7 -0
  233. dinkster_workers/staging.py +230 -0
  234. dinkster_workers/transport.py +161 -0
  235. dinkster_workers/workgroup.py +729 -0
  236. dinkster_workers/workgroup_compose.py +135 -0
  237. dinkster_workers/workgroup_config.py +196 -0
  238. dinkster_workers/workgroup_session.py +340 -0
dinkster_api/v1.py ADDED
@@ -0,0 +1,935 @@
1
+ """dinkster_api.v1 - the frozen extension surface, version 1.
2
+
3
+ THE door for pack authors: everything a pack needs to author nodes,
4
+ register value types and codecs, declare memory policy, and extend the
5
+ asset system, re-exported from the internal packages in one place.
6
+
7
+ The compat promise (DESIGN 3.6, enforced by tests/test_api_v1.py):
8
+
9
+ - Within v1 supported extension contracts grow compatibly; breaking changes
10
+ require a ``v2`` module next to this one. Training-origin nodes and their
11
+ exclusive value identifiers are excluded from this supported surface.
12
+ - Every name below is the internal object itself, not a wrapper - zero
13
+ overhead, and ``isinstance``/identity checks agree across the door.
14
+ - Internal modules stay reachable (this is Python) but carry no promise:
15
+ a pack that imports them works until it doesn't, visibly, in dev
16
+ (isolation-by-default makes that breakage loud - DESIGN 3.6).
17
+
18
+ Grouped by concern:
19
+
20
+ - *Extension declarations*: scope-separated entry-point metadata, closed
21
+ composition modes, and immutable behavior snapshots/sha256 identity. These
22
+ are RPC-clean data contracts; runtime activation and enforcement are host
23
+ responsibilities.
24
+ - *Node authoring*: subclass ``Node``, return ``define_schema()`` built
25
+ from the spec dataclasses, implement ``execute()`` over plain Python
26
+ values. Envelopes, workers, and caching stay invisible (hazard H9).
27
+ - *Reporting*: ``report_progress``/``report_preview``/``report_log``/
28
+ ``report_event`` from inside ``execute()`` - the worker shim routes them;
29
+ no server or engine import needed.
30
+ - *Logging*: ``pack_logger("mypack")`` returns a stdlib logger named
31
+ ``dinkster.pack.mypack`` - origin-tagged, host-controlled verbosity.
32
+ Logs are for humans; anything a frontend renders goes through
33
+ ``report_*``. Packs never install handlers or configure output.
34
+ - *Value types and codecs*: register pack types in the ``TypeRegistry``
35
+ with a ``TypeSpec`` (codec, fingerprint, meta). Resource-backed types
36
+ (models that live in a worker) go through ``ResourceHandle``.
37
+ - *Memory policy*: a ``ReservationPlanner`` declares what invocations
38
+ materialize; ``Shedder``/``ConsumerItem`` surface a pack's governed
39
+ memory consumers to the host governor.
40
+ - *Assets*: ``AssetRef`` inputs resolve through the host's catalog;
41
+ packs may register custom ``AssetResolver`` implementations.
42
+ ``declared_asset("id")`` resolves the pack's own ``[[pack.assets]]``
43
+ declaration to a readable ref - acquired-or-loud-error, never a
44
+ download during execution.
45
+ - *Golden-file testing*: ``schema_to_wire`` encodes a ``NodeSchema`` to
46
+ its wire form (the exact shape ``/api/nodes`` serves, self-describing
47
+ via ``schemaVersion``) so pack tests can pin schemas against committed
48
+ JSON without importing host machinery.
49
+ """
50
+
51
+ from __future__ import annotations
52
+
53
+ from importlib import import_module
54
+ from typing import TYPE_CHECKING
55
+
56
+ from dinkster_assets import (
57
+ ASSET_TYPE,
58
+ SAVE_TARGET_TYPE,
59
+ AssetEntry,
60
+ AssetError,
61
+ AssetIntegrityError,
62
+ AssetRef,
63
+ AssetResolver,
64
+ AssetVault,
65
+ AssetWriter,
66
+ FolderListing,
67
+ IndexedAssetResolver,
68
+ LocalAssetRef,
69
+ MountSnapshotWriter,
70
+ SaveTarget,
71
+ admit_video_source,
72
+ asset_selection_names,
73
+ asset_selection_options,
74
+ bind_video_value,
75
+ declared_asset,
76
+ digest_bytes,
77
+ digest_file,
78
+ is_digest,
79
+ mount_roots_for_kind,
80
+ register_asset_type,
81
+ register_audio_value_type,
82
+ register_save_target_type,
83
+ register_video_value_type,
84
+ resolve_asset_selection,
85
+ resolver_from_env,
86
+ )
87
+ from dinkster_memory import (
88
+ ConsumerItem,
89
+ FullReleaseResult,
90
+ InvocationView,
91
+ MeasuredMemory,
92
+ PressureSignal,
93
+ ReleaseCandidate,
94
+ ReservationPlanner,
95
+ ReservationRequest,
96
+ Shedder,
97
+ )
98
+ from dinkster_memory.resident import obtain_resident
99
+ from dinkster_protocol import (
100
+ EXTENSION_CAPABILITIES,
101
+ EXTENSION_SCOPES,
102
+ ActiveExtension,
103
+ BehaviorValue,
104
+ CompositionMode,
105
+ ContributionSurfaceDescriptor,
106
+ ExportSnapshot,
107
+ ExtensionDeclaration,
108
+ ExtensionEntryPoints,
109
+ ExtensionScope,
110
+ ExtensionSnapshot,
111
+ GuidancePhase,
112
+ GuidancePhaseParticipation,
113
+ GuidanceRegistrySnapshot,
114
+ TrainingSessionHandle,
115
+ canonical_extension_snapshot,
116
+ current_export_snapshot,
117
+ extension_behavior_hash,
118
+ prepare_sampling_model,
119
+ )
120
+ from dinkster_protocol.frontend_modules import FrontendContribution, FrontendModule
121
+ from dinkster_protocol.pack_surfaces import (
122
+ JsonField,
123
+ JsonObjectSchema,
124
+ PackEvent,
125
+ PackRoute,
126
+ report_pack_event,
127
+ )
128
+ from dinkster_schema import (
129
+ ABSENT,
130
+ BLOCKED,
131
+ LOG_EVENT,
132
+ PREVIEW_EVENT,
133
+ PROGRESS_EVENT,
134
+ SCHEMA_WIRE_VERSION,
135
+ AbsentOutput,
136
+ AbsentPolicy,
137
+ AssetWidget,
138
+ BooleanWidget,
139
+ ColorWidget,
140
+ ComboOption,
141
+ ComboWidget,
142
+ CompositorWidget,
143
+ ConditionalWidgetCondition,
144
+ ConditionalWidgetGroup,
145
+ ControlAfterGenerate,
146
+ CurveWidget,
147
+ Deprecation,
148
+ DynamicComboOption,
149
+ DynamicComboSpec,
150
+ DynamicSlotSpec,
151
+ Expansion,
152
+ ExpansionBuilder,
153
+ ExpansionNode,
154
+ ExpansionOutput,
155
+ InputFamilyMapping,
156
+ InputFamilyMember,
157
+ InputFamilyOptionSource,
158
+ InputFamilySpec,
159
+ InputSpec,
160
+ MappingSource,
161
+ MirrorSpec,
162
+ MirrorTolerance,
163
+ MountWidget,
164
+ MultiComboWidget,
165
+ Node,
166
+ NodeOutputError,
167
+ NodeSchema,
168
+ NumberWidget,
169
+ OutputCountSpec,
170
+ OutputDescriptorsSpec,
171
+ OutputFamilyMapping,
172
+ OutputFamilyMember,
173
+ OutputFamilySpec,
174
+ OutputInterface,
175
+ OutputKnownValue,
176
+ OutputProbeSpec,
177
+ OutputRepresents,
178
+ OutputSpec,
179
+ ReplacementCase,
180
+ ReplacementLink,
181
+ ReplacementMigration,
182
+ ReplacementNode,
183
+ ReplacementPredicate,
184
+ ReplacementRule,
185
+ RunExecutionContext,
186
+ SaveTargetWidget,
187
+ SearchVisibility,
188
+ SelectorSpec,
189
+ SlotValue,
190
+ SlotVariant,
191
+ SourceFilenameSpec,
192
+ StringWidget,
193
+ TextCompletionItem,
194
+ TextCompletionKind,
195
+ TextCompletions,
196
+ TypeExpr,
197
+ ValueTransform,
198
+ WidgetRepresentation,
199
+ WidgetRepresentations,
200
+ attach_saved_artifact,
201
+ output_descriptor_entries,
202
+ pack_logger,
203
+ publish_preview_artifact,
204
+ publish_saved_file_preview,
205
+ report_event,
206
+ report_log,
207
+ report_preview,
208
+ report_progress,
209
+ report_value_diagnostic,
210
+ schema_from_wire,
211
+ schema_signature,
212
+ schema_to_wire,
213
+ )
214
+ from dinkster_values import (
215
+ ARRAY_TYPE,
216
+ AUDIO_ENCODER_OUTPUT_TYPE,
217
+ AUDIO_ENCODER_TYPE,
218
+ AUDIO_RECORD_TYPE,
219
+ AUDIO_TYPE,
220
+ BACKGROUND_REMOVAL_TYPE,
221
+ BOUNDING_BOX_TYPE,
222
+ BOUNDING_BOXES_TYPE,
223
+ CAMERA_INFO_STATE_TYPE,
224
+ CLIP_TYPE,
225
+ CLIP_VISION_OUTPUT_TYPE,
226
+ CLIP_VISION_TYPE,
227
+ COLOR_TYPE,
228
+ COLORS_TYPE,
229
+ COMFY_ARRAY_TYPE,
230
+ COMPOSITOR_TYPE,
231
+ CONDITIONING_TYPE,
232
+ CONTEXT_WINDOWS_TYPE,
233
+ CONTROL_NET_TYPE,
234
+ CORE_BOOLEAN,
235
+ CORE_COMBO,
236
+ CORE_FLOAT,
237
+ CORE_INT,
238
+ CORE_STRING,
239
+ COST_META_KEY,
240
+ CURVE_TYPE,
241
+ DETECTION_TYPE,
242
+ DICT_TYPE,
243
+ ENCODED_MEDIA_LIMIT_BYTES,
244
+ FLOATS_TYPE,
245
+ GIBIBYTE,
246
+ GLIGEN_TYPE,
247
+ GUIDER_TYPE,
248
+ HISTOGRAM_TYPE,
249
+ HOOK_KEYFRAMES_TYPE,
250
+ HOOKS_TYPE,
251
+ IC_LORA_PARAMETERS_TYPE,
252
+ IMAGE_BATCH_MERGER_ID,
253
+ IMAGE_DOCUMENT_TYPE,
254
+ IMAGE_TYPE,
255
+ IMAGE_WORKING_SET_LIMIT_BYTES,
256
+ IMAGECOMPARE_TYPE,
257
+ IMPACT_BASIC_PIPE_TYPE,
258
+ INFERENCE_LATENT_OPERATION_TYPE,
259
+ INLINE_STRING_CAP,
260
+ INPAINT_CONDITIONING_TYPE,
261
+ INTERP_MODEL_TYPE,
262
+ LATENT_OPERATION_TYPE,
263
+ LATENT_TYPE,
264
+ LATENT_UPSCALE_MODEL_TYPE,
265
+ LAYERS_TYPE,
266
+ LENGTH_META_KEY,
267
+ LOAD3D_CAMERA_TYPE,
268
+ LOAD3D_MODEL_INFO_TYPE,
269
+ MASK_TYPE,
270
+ MAX_CURVE_POINTS,
271
+ MEBIBYTE,
272
+ MESH_TYPE,
273
+ MODEL3D_FILE_DECODER_ID,
274
+ MODEL3D_TYPE,
275
+ MODEL_PATCH_TYPE,
276
+ MODEL_TYPE,
277
+ MOGE_GEOMETRY_TYPE,
278
+ MOGE_MODEL_TYPE,
279
+ NOISE_TYPE,
280
+ OPTICAL_FLOW_TYPE,
281
+ PHOTOMAKER_TYPE,
282
+ PNG_CONTAINER_VERSION,
283
+ POSE_KEYPOINT_TYPE,
284
+ POSE_TYPE,
285
+ REGION_TYPE,
286
+ RESOLUTION_PREVIEW_TYPE,
287
+ RESOURCE_HANDLE_TYPE,
288
+ RESOURCE_ID_META_KEY,
289
+ RESOURCES_META_KEY,
290
+ SAM3_TRACK_DATA_TYPE,
291
+ SAMPLER_TYPE,
292
+ SEGMENTATION_TYPE,
293
+ SHAPE_SUBDIVIDES_TYPE,
294
+ SIGMAS_TYPE,
295
+ SPLAT_FILE_DECODER_ID,
296
+ SPLAT_PLY_MIME,
297
+ SPLAT_TYPE,
298
+ STYLE_MODEL_TYPE,
299
+ SVG_TYPE,
300
+ TIMESTEPS_RANGE_TYPE,
301
+ TRACKS_TYPE,
302
+ UPSCALE_MODEL_TYPE,
303
+ VAE_TYPE,
304
+ VECTOR_TYPE,
305
+ VIDEO_AUDIO_WORKING_SET_LIMIT_BYTES,
306
+ VIDEO_DOCUMENT_TYPE,
307
+ VIDEO_EDIT_TYPE,
308
+ VIDEO_FRAME_WORKING_SET_LIMIT_BYTES,
309
+ VIDEO_TYPE,
310
+ VOXEL_TYPE,
311
+ WAN_CAMERA_EMBEDDING_TYPE,
312
+ BufferEncoding,
313
+ Curve,
314
+ CustomWidgetDescriptor,
315
+ Detection,
316
+ ImageComponents,
317
+ ReadableImageSource,
318
+ Region,
319
+ Rendition,
320
+ RenditionSpec,
321
+ ResourceHandle,
322
+ TypeId,
323
+ TypeRegistry,
324
+ TypeSpec,
325
+ Value,
326
+ annotate_image,
327
+ annotate_mask,
328
+ array_storage_meta,
329
+ audio_fingerprint,
330
+ audio_input,
331
+ audio_meta,
332
+ byte_storage_meta,
333
+ coerce_audio,
334
+ coerce_detection,
335
+ coerce_region,
336
+ coerce_video,
337
+ copy_media_semantics,
338
+ curve,
339
+ decode_audio,
340
+ decode_detection,
341
+ decode_image_array,
342
+ decode_image_components,
343
+ decode_model3d,
344
+ decode_model3d_file,
345
+ decode_region,
346
+ decode_splat,
347
+ decode_splat_file,
348
+ decode_video,
349
+ detection_meta,
350
+ edit_video,
351
+ effective_video_facts,
352
+ encode_audio,
353
+ encode_detection,
354
+ encode_image_array,
355
+ encode_model3d,
356
+ encode_region,
357
+ encode_splat,
358
+ encode_video,
359
+ image_array_fingerprint,
360
+ image_array_meta,
361
+ image_input,
362
+ list_children,
363
+ mask_array_meta,
364
+ materialize_svg,
365
+ media_semantics,
366
+ merge_image_batches,
367
+ model3d_fingerprint,
368
+ model3d_format,
369
+ model3d_meta,
370
+ open_image_components,
371
+ parse_ply_splat,
372
+ prepare_image_array_encoding,
373
+ region_meta,
374
+ register_curve_type,
375
+ register_model3d_type,
376
+ register_resource_handle_type,
377
+ register_splat_type,
378
+ register_video_edit_type,
379
+ render_audio_wav,
380
+ render_image_png,
381
+ render_mask_png,
382
+ render_model3d_original,
383
+ render_splat_ply,
384
+ render_video_original,
385
+ splat_fingerprint,
386
+ splat_meta,
387
+ stable_hash,
388
+ storage_dtype,
389
+ timeline_video,
390
+ validate_image_encoded,
391
+ validate_model3d_encoded,
392
+ validate_splat_encoded,
393
+ validate_video_encoded,
394
+ video_document,
395
+ video_fingerprint,
396
+ video_from_source,
397
+ video_meta,
398
+ video_rendition_mime,
399
+ )
400
+ from dinkster_values.audio_codec import (
401
+ AudioWindowReader,
402
+ append_audio_edit,
403
+ audio_from_source,
404
+ audio_window,
405
+ effective_audio_facts,
406
+ )
407
+ from dinkster_values.audio_lazy import channel_layout as audio_channel_layout
408
+ from dinkster_video import (
409
+ DITHERS,
410
+ FRAME_FORMATS,
411
+ assemble_video,
412
+ concatenate_video,
413
+ disassemble_video,
414
+ iter_video_pixels,
415
+ read_video_metadata,
416
+ save_frame_records,
417
+ save_video_frames,
418
+ save_video_stream,
419
+ )
420
+
421
+ _VIDEO_MODULE_EXPORTS = frozenset(
422
+ {"image_math", "timeline_document", "timeline_render", "timeline_runtime"}
423
+ )
424
+ _PACK_MEDIA_EXPORTS = {
425
+ "IMAGE_DOCUMENT_MEDIA_TYPE": "dinkster_image_document.format",
426
+ "BLEND_MODES": "dinkster_image_document.format",
427
+ "canonical_json": "dinkster_image_document.format",
428
+ "ordered_layer_ids": "dinkster_image_document.format",
429
+ "ImageDocument": "dinkster_image_document.document",
430
+ "apply_commands": "dinkster_image_document.document",
431
+ "append_raster": "dinkster_image_document.document",
432
+ "document_meta": "dinkster_image_document.document",
433
+ "empty_document": "dinkster_image_document.document",
434
+ "flatten": "dinkster_image_document.document",
435
+ "raster_png": "dinkster_image_document.document",
436
+ "blend": "dinkster_image_document.blend",
437
+ "dissolve_alpha": "dinkster_image_document.blend",
438
+ "linear_to_srgb": "dinkster_image_document.blend",
439
+ "srgb_to_linear": "dinkster_image_document.blend",
440
+ "from_comfy_layers": "dinkster_image_document.compat",
441
+ "register_comfy_compositor": "dinkster_image_document.compat",
442
+ "register_comfy_layers": "dinkster_image_document.compat",
443
+ "export_ora": "dinkster_image_document.interchange",
444
+ "export_psd": "dinkster_image_document.interchange",
445
+ "load_document": "dinkster_image_document.interchange",
446
+ "current_execution_context": "dinkster_workers.execution",
447
+ }
448
+
449
+
450
+ def __getattr__(name: str) -> object:
451
+ if name in _PACK_MEDIA_EXPORTS:
452
+ value = getattr(import_module(_PACK_MEDIA_EXPORTS[name]), name)
453
+ elif name in _VIDEO_MODULE_EXPORTS:
454
+ import dinkster_video
455
+
456
+ value = getattr(dinkster_video, name)
457
+ elif name in {"LatentStream", "MultiStreamLatent"}:
458
+ from dinkster_inference_wire import latents
459
+
460
+ value = getattr(latents, name)
461
+ elif name in {
462
+ "register_inference_types",
463
+ "materialize_audio",
464
+ "materialize_image",
465
+ "materialize_latent",
466
+ "materialize_clip_vision_output",
467
+ "materialize_splat",
468
+ "materialize_voxel",
469
+ }:
470
+ from dinkster_inference_wire import types
471
+
472
+ value = getattr(types, name)
473
+ elif name == "initialize_inference_process":
474
+ from dinkster_inference_wire.process import initialize_inference_process
475
+
476
+ value = initialize_inference_process
477
+ else:
478
+ raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
479
+ globals()[name] = value
480
+ return value
481
+
482
+
483
+ def __dir__() -> list[str]:
484
+ return sorted(
485
+ set(globals())
486
+ | _VIDEO_MODULE_EXPORTS
487
+ | _PACK_MEDIA_EXPORTS.keys()
488
+ | {
489
+ "LatentStream",
490
+ "MultiStreamLatent",
491
+ "register_inference_types",
492
+ "materialize_audio",
493
+ "materialize_image",
494
+ "materialize_latent",
495
+ "materialize_clip_vision_output",
496
+ "materialize_splat",
497
+ "materialize_voxel",
498
+ "initialize_inference_process",
499
+ }
500
+ )
501
+
502
+
503
+ if TYPE_CHECKING:
504
+ from dinkster_image_document.blend import blend, dissolve_alpha, linear_to_srgb, srgb_to_linear
505
+ from dinkster_image_document.compat import (
506
+ from_comfy_layers,
507
+ register_comfy_compositor,
508
+ register_comfy_layers,
509
+ )
510
+ from dinkster_image_document.document import (
511
+ ImageDocument,
512
+ append_raster,
513
+ apply_commands,
514
+ document_meta,
515
+ empty_document,
516
+ flatten,
517
+ raster_png,
518
+ )
519
+ from dinkster_image_document.format import (
520
+ BLEND_MODES,
521
+ IMAGE_DOCUMENT_MEDIA_TYPE,
522
+ canonical_json,
523
+ ordered_layer_ids,
524
+ )
525
+ from dinkster_image_document.interchange import export_ora, export_psd, load_document
526
+ from dinkster_inference_wire.latents import LatentStream, MultiStreamLatent
527
+ from dinkster_inference_wire.process import initialize_inference_process
528
+ from dinkster_inference_wire.types import (
529
+ materialize_audio,
530
+ materialize_clip_vision_output,
531
+ materialize_image,
532
+ materialize_latent,
533
+ materialize_splat,
534
+ materialize_voxel,
535
+ register_inference_types,
536
+ )
537
+ from dinkster_video import document as timeline_document
538
+ from dinkster_video import image_math, timeline_runtime
539
+ from dinkster_video import timeline as timeline_render
540
+ from dinkster_workers.execution import current_execution_context
541
+
542
+ __all__ = [
543
+ "IMAGE_DOCUMENT_MEDIA_TYPE",
544
+ "BLEND_MODES",
545
+ "ImageDocument",
546
+ "append_raster",
547
+ "apply_commands",
548
+ "blend",
549
+ "canonical_json",
550
+ "current_execution_context",
551
+ "dissolve_alpha",
552
+ "document_meta",
553
+ "empty_document",
554
+ "export_ora",
555
+ "export_psd",
556
+ "flatten",
557
+ "from_comfy_layers",
558
+ "linear_to_srgb",
559
+ "load_document",
560
+ "ordered_layer_ids",
561
+ "raster_png",
562
+ "register_comfy_compositor",
563
+ "register_comfy_layers",
564
+ "srgb_to_linear",
565
+ "RunExecutionContext",
566
+ "obtain_resident",
567
+ "Expansion",
568
+ "ExpansionBuilder",
569
+ "ExpansionNode",
570
+ "ExpansionOutput",
571
+ "LatentStream",
572
+ "MultiStreamLatent",
573
+ "initialize_inference_process",
574
+ "prepare_sampling_model",
575
+ "materialize_audio",
576
+ "materialize_clip_vision_output",
577
+ "materialize_image",
578
+ "materialize_latent",
579
+ "materialize_splat",
580
+ "materialize_svg",
581
+ "materialize_voxel",
582
+ "register_inference_types",
583
+ "FrontendContribution",
584
+ "FrontendModule",
585
+ "JsonField",
586
+ "JsonObjectSchema",
587
+ "PackEvent",
588
+ "PackRoute",
589
+ "report_pack_event",
590
+ "DITHERS",
591
+ "ENCODED_MEDIA_LIMIT_BYTES",
592
+ "FRAME_FORMATS",
593
+ "GIBIBYTE",
594
+ "IMAGE_WORKING_SET_LIMIT_BYTES",
595
+ "MEBIBYTE",
596
+ "read_video_metadata",
597
+ "save_video_frames",
598
+ "curve",
599
+ "timeline_video",
600
+ "video_document",
601
+ "image_math",
602
+ "timeline_document",
603
+ "timeline_render",
604
+ "timeline_runtime",
605
+ "assemble_video",
606
+ "concatenate_video",
607
+ "disassemble_video",
608
+ "iter_video_pixels",
609
+ "save_frame_records",
610
+ "save_video_stream",
611
+ "VIDEO_AUDIO_WORKING_SET_LIMIT_BYTES",
612
+ "VIDEO_FRAME_WORKING_SET_LIMIT_BYTES",
613
+ # -- extension declarations and behavior identity (dinkster-protocol)
614
+ "EXTENSION_CAPABILITIES",
615
+ "EXTENSION_SCOPES",
616
+ "ActiveExtension",
617
+ "BehaviorValue",
618
+ "CompositionMode",
619
+ "ContributionSurfaceDescriptor",
620
+ "ExtensionDeclaration",
621
+ "ExtensionEntryPoints",
622
+ "ExtensionScope",
623
+ "ExtensionSnapshot",
624
+ "GuidancePhase",
625
+ "GuidancePhaseParticipation",
626
+ "GuidanceRegistrySnapshot",
627
+ "canonical_extension_snapshot",
628
+ "extension_behavior_hash",
629
+ # -- training session boundary values (dinkster-protocol)
630
+ "TrainingSessionHandle",
631
+ "ExportSnapshot",
632
+ "current_export_snapshot",
633
+ # -- node authoring (dinkster-schema)
634
+ "ABSENT",
635
+ "BLOCKED",
636
+ "AbsentOutput",
637
+ "AbsentPolicy",
638
+ "BooleanWidget",
639
+ "ColorWidget",
640
+ "CompositorWidget",
641
+ "ConditionalWidgetCondition",
642
+ "ConditionalWidgetGroup",
643
+ "CurveWidget",
644
+ "ComboOption",
645
+ "ComboWidget",
646
+ "ControlAfterGenerate",
647
+ "CustomWidgetDescriptor",
648
+ "Deprecation",
649
+ "DynamicComboOption",
650
+ "DynamicComboSpec",
651
+ "DynamicSlotSpec",
652
+ "InputFamilyOptionSource",
653
+ "InputFamilyMapping",
654
+ "InputFamilyMember",
655
+ "InputFamilySpec",
656
+ "InputSpec",
657
+ "MirrorSpec",
658
+ "MirrorTolerance",
659
+ "MountWidget",
660
+ "MultiComboWidget",
661
+ "MappingSource",
662
+ "Node",
663
+ "NodeOutputError",
664
+ "NodeSchema",
665
+ "NumberWidget",
666
+ "OutputCountSpec",
667
+ "OutputDescriptorsSpec",
668
+ "OutputFamilyMapping",
669
+ "OutputFamilyMember",
670
+ "OutputFamilySpec",
671
+ "OutputInterface",
672
+ "OutputKnownValue",
673
+ "OutputProbeSpec",
674
+ "OutputRepresents",
675
+ "OutputSpec",
676
+ "ReplacementCase",
677
+ "ReplacementLink",
678
+ "ReplacementMigration",
679
+ "ReplacementNode",
680
+ "ReplacementPredicate",
681
+ "ReplacementRule",
682
+ "SearchVisibility",
683
+ "SelectorSpec",
684
+ "SlotValue",
685
+ "SlotVariant",
686
+ "SourceFilenameSpec",
687
+ "StringWidget",
688
+ "TextCompletionItem",
689
+ "TextCompletionKind",
690
+ "TextCompletions",
691
+ "TypeExpr",
692
+ "ValueTransform",
693
+ "WidgetRepresentation",
694
+ "WidgetRepresentations",
695
+ "SCHEMA_WIRE_VERSION",
696
+ "output_descriptor_entries",
697
+ "schema_from_wire",
698
+ "schema_signature",
699
+ "schema_to_wire",
700
+ # -- reporting and logging (dinkster-schema)
701
+ "LOG_EVENT",
702
+ "PREVIEW_EVENT",
703
+ "PROGRESS_EVENT",
704
+ "pack_logger",
705
+ "attach_saved_artifact",
706
+ "publish_preview_artifact",
707
+ "publish_saved_file_preview",
708
+ "report_event",
709
+ "report_log",
710
+ "report_preview",
711
+ "report_progress",
712
+ "report_value_diagnostic",
713
+ # -- value types and codecs (dinkster-values)
714
+ "CORE_BOOLEAN",
715
+ "CORE_COMBO",
716
+ "CORE_FLOAT",
717
+ "CORE_INT",
718
+ "CORE_STRING",
719
+ "ASSET_TYPE",
720
+ "AUDIO_RECORD_TYPE",
721
+ "AUDIO_ENCODER_OUTPUT_TYPE",
722
+ "AUDIO_ENCODER_TYPE",
723
+ "AUDIO_TYPE",
724
+ "ARRAY_TYPE",
725
+ "CAMERA_INFO_STATE_TYPE",
726
+ "CLIP_TYPE",
727
+ "CLIP_VISION_OUTPUT_TYPE",
728
+ "CLIP_VISION_TYPE",
729
+ "COLORS_TYPE",
730
+ "COLOR_TYPE",
731
+ "COMPOSITOR_TYPE",
732
+ "CONDITIONING_TYPE",
733
+ "CONTROL_NET_TYPE",
734
+ "COST_META_KEY",
735
+ "CURVE_TYPE",
736
+ "DETECTION_TYPE",
737
+ "DICT_TYPE",
738
+ "FLOATS_TYPE",
739
+ "GLIGEN_TYPE",
740
+ "HISTOGRAM_TYPE",
741
+ "PHOTOMAKER_TYPE",
742
+ "GUIDER_TYPE",
743
+ "HOOK_KEYFRAMES_TYPE",
744
+ "HOOKS_TYPE",
745
+ "IC_LORA_PARAMETERS_TYPE",
746
+ "IMAGE_DOCUMENT_TYPE",
747
+ "IMAGE_TYPE",
748
+ "IMPACT_BASIC_PIPE_TYPE",
749
+ "INFERENCE_LATENT_OPERATION_TYPE",
750
+ "INTERP_MODEL_TYPE",
751
+ "LATENT_OPERATION_TYPE",
752
+ "LATENT_TYPE",
753
+ "LATENT_UPSCALE_MODEL_TYPE",
754
+ "LAYERS_TYPE",
755
+ "LOAD3D_CAMERA_TYPE",
756
+ "LOAD3D_MODEL_INFO_TYPE",
757
+ "MASK_TYPE",
758
+ "MODEL3D_TYPE",
759
+ "MODEL_PATCH_TYPE",
760
+ "MODEL_TYPE",
761
+ "NOISE_TYPE",
762
+ "OPTICAL_FLOW_TYPE",
763
+ "POSE_KEYPOINT_TYPE",
764
+ "POSE_TYPE",
765
+ "IMAGE_BATCH_MERGER_ID",
766
+ "INLINE_STRING_CAP",
767
+ "ImageComponents",
768
+ "LENGTH_META_KEY",
769
+ "MAX_CURVE_POINTS",
770
+ "MODEL3D_FILE_DECODER_ID",
771
+ "PNG_CONTAINER_VERSION",
772
+ "REGION_TYPE",
773
+ "RESOLUTION_PREVIEW_TYPE",
774
+ "RESOURCE_HANDLE_TYPE",
775
+ "SAMPLER_TYPE",
776
+ "SAM3_TRACK_DATA_TYPE",
777
+ "SAVE_TARGET_TYPE",
778
+ "SEGMENTATION_TYPE",
779
+ "SIGMAS_TYPE",
780
+ "SPLAT_TYPE",
781
+ "STYLE_MODEL_TYPE",
782
+ "SVG_TYPE",
783
+ "TIMESTEPS_RANGE_TYPE",
784
+ "TRACKS_TYPE",
785
+ "UPSCALE_MODEL_TYPE",
786
+ "WAN_CAMERA_EMBEDDING_TYPE",
787
+ "VAE_TYPE",
788
+ "VECTOR_TYPE",
789
+ "VIDEO_DOCUMENT_TYPE",
790
+ "VIDEO_TYPE",
791
+ "VIDEO_EDIT_TYPE",
792
+ "VOXEL_TYPE",
793
+ "BACKGROUND_REMOVAL_TYPE",
794
+ "BOUNDING_BOX_TYPE",
795
+ "BOUNDING_BOXES_TYPE",
796
+ "IMAGECOMPARE_TYPE",
797
+ "COMFY_ARRAY_TYPE",
798
+ "CONTEXT_WINDOWS_TYPE",
799
+ "INPAINT_CONDITIONING_TYPE",
800
+ "MESH_TYPE",
801
+ "MOGE_GEOMETRY_TYPE",
802
+ "MOGE_MODEL_TYPE",
803
+ "SHAPE_SUBDIVIDES_TYPE",
804
+ "RESOURCES_META_KEY",
805
+ "RESOURCE_ID_META_KEY",
806
+ "SPLAT_FILE_DECODER_ID",
807
+ "SPLAT_PLY_MIME",
808
+ "BufferEncoding",
809
+ "Curve",
810
+ "Detection",
811
+ "Region",
812
+ "Rendition",
813
+ "RenditionSpec",
814
+ "ResourceHandle",
815
+ "ReadableImageSource",
816
+ "TypeId",
817
+ "TypeRegistry",
818
+ "TypeSpec",
819
+ "register_curve_type",
820
+ "register_video_edit_type",
821
+ "AudioWindowReader",
822
+ "append_audio_edit",
823
+ "audio_channel_layout",
824
+ "audio_fingerprint",
825
+ "audio_from_source",
826
+ "audio_meta",
827
+ "audio_window",
828
+ "array_storage_meta",
829
+ "audio_input",
830
+ "byte_storage_meta",
831
+ "coerce_audio",
832
+ "effective_audio_facts",
833
+ "coerce_detection",
834
+ "coerce_region",
835
+ "coerce_video",
836
+ "decode_audio",
837
+ "decode_detection",
838
+ "decode_image_array",
839
+ "decode_image_components",
840
+ "open_image_components",
841
+ "decode_model3d",
842
+ "decode_model3d_file",
843
+ "decode_region",
844
+ "decode_splat",
845
+ "decode_splat_file",
846
+ "decode_video",
847
+ "detection_meta",
848
+ "edit_video",
849
+ "effective_video_facts",
850
+ "encode_audio",
851
+ "encode_detection",
852
+ "encode_image_array",
853
+ "encode_model3d",
854
+ "encode_region",
855
+ "encode_splat",
856
+ "encode_video",
857
+ "image_array_fingerprint",
858
+ "image_array_meta",
859
+ "image_input",
860
+ "list_children",
861
+ "Value",
862
+ "annotate_image",
863
+ "annotate_mask",
864
+ "copy_media_semantics",
865
+ "mask_array_meta",
866
+ "media_semantics",
867
+ "validate_image_encoded",
868
+ "merge_image_batches",
869
+ "model3d_fingerprint",
870
+ "model3d_format",
871
+ "model3d_meta",
872
+ "parse_ply_splat",
873
+ "prepare_image_array_encoding",
874
+ "region_meta",
875
+ "register_model3d_type",
876
+ "register_resource_handle_type",
877
+ "register_splat_type",
878
+ "render_audio_wav",
879
+ "render_image_png",
880
+ "render_mask_png",
881
+ "render_model3d_original",
882
+ "render_splat_ply",
883
+ "render_video_original",
884
+ "splat_fingerprint",
885
+ "splat_meta",
886
+ "storage_dtype",
887
+ "stable_hash",
888
+ "validate_model3d_encoded",
889
+ "validate_splat_encoded",
890
+ "validate_video_encoded",
891
+ "video_fingerprint",
892
+ "video_from_source",
893
+ "video_meta",
894
+ "video_rendition_mime",
895
+ # -- memory policy (dinkster-memory)
896
+ "ConsumerItem",
897
+ "FullReleaseResult",
898
+ "InvocationView",
899
+ "MeasuredMemory",
900
+ "PressureSignal",
901
+ "ReleaseCandidate",
902
+ "ReservationPlanner",
903
+ "ReservationRequest",
904
+ "Shedder",
905
+ # -- assets (dinkster-assets)
906
+ "AssetEntry",
907
+ "AssetError",
908
+ "AssetIntegrityError",
909
+ "AssetRef",
910
+ "AssetResolver",
911
+ "AssetVault",
912
+ "LocalAssetRef",
913
+ "AssetWidget",
914
+ "AssetWriter",
915
+ "admit_video_source",
916
+ "bind_video_value",
917
+ "FolderListing",
918
+ "IndexedAssetResolver",
919
+ "MountSnapshotWriter",
920
+ "SaveTarget",
921
+ "SaveTargetWidget",
922
+ "declared_asset",
923
+ "digest_bytes",
924
+ "digest_file",
925
+ "is_digest",
926
+ "mount_roots_for_kind",
927
+ "asset_selection_names",
928
+ "asset_selection_options",
929
+ "resolve_asset_selection",
930
+ "register_asset_type",
931
+ "register_save_target_type",
932
+ "register_audio_value_type",
933
+ "register_video_value_type",
934
+ "resolver_from_env",
935
+ ]