Commit Graph

39 Commits

Author SHA1 Message Date
kashorin 68f1693645 refactor: publish video-domain packages independently for 0.3.1 2026-10-09 18:13:50 +08:00
kashorin 43a8250b0b refactor: give models and kits independent package ownership 2026-10-07 20:45:22 +08:00
kashorin 2bed7774e5 fix: preserve request fields and repair local preparation and file I/O (#278)
* fix(generation): refuse supplied media fields a provider cannot carry

* fix(media): probe selected tools in their execution environment

* fix(credentials): use native file replacement across processes

* fix(runtime): distinguish tool preparation from process startup

* fix(cli): bootstrap from the physical distribution directory
2026-09-17 20:53:18 +08:00
kashorin fb811976f5 fix(providers): resolve requests before transfers and retain execution evidence 2026-09-15 22:20:29 +08:00
kashorin 870fc33bc4 refactor: isolate build execution and complete production workflow 2026-09-14 18:48:45 +08:00
kashorin bb1af2996f feat(distribution): publish under @hypit/hypit and unify studio command 2026-09-10 04:30:13 +08:00
kashorin 59b17e777b feat(runtime): expose provider pricing and request support 2026-09-08 17:20:20 +08:00
kashorin 6d5a56c043 feat: complete public extension and transparent media paths 2026-09-07 04:34:42 +08:00
kashorin 1d4124aac7 refactor: make planning and observation boundaries explicit 2026-09-04 21:36:38 +08:00
kashorin a51e6fa113 chore: drop unpublished migration baggage 2026-09-03 13:29:02 +08:00
kashorin fd2387b738 refactor(build): finalize result-oriented execution model 2026-09-03 13:28:06 +08:00
kashorin e8dc1d07b6 refactor(runtime): replace content-addressed artifacts with resources 2026-09-03 13:25:57 +08:00
rpone 33ba5c7ea0 fix: finish HypiHub provider and CLI integration 2026-08-31 20:48:48 +08:00
rpone df23c73d97 refactor: rebrand Narratage as Hypit 2026-08-19 15:51:58 +08:00
kashorin 7683e38c0e refactor: remove defensive execution scaffolding 2026-08-17 14:03:53 +08:00
kashorin 3a7c60f8cb refactor: simplify package loading and runtime execution 2026-08-17 14:03:52 +08:00
kashorin fc1727b3d5 refactor: validate provider requests once 2026-08-13 20:33:32 +08:00
kashorin 8da921cb70 refactor: let capabilities identify need constraints 2026-08-13 20:30:41 +08:00
kashorin fba99b7f43 refactor: keep graph type identity on ports 2026-08-13 20:25:32 +08:00
kashorin 849ac2a76f refactor: simplify modular compilation and runtime state 2026-08-13 18:53:05 +08:00
rpone c4216c4b4c chore: declare licensing accurately before the public release
Every workspace manifest omitted a license field, so a scanner reading
the published repository would resolve all 90 of them as unknown. Both
Python services went further and declared plain Apache-2.0, which is
looser than the LICENSE they actually ship under.

Package bytes feed the example package locks, so adding the field
invalidated all three; refreshed them. Only closureDigest and artifacts
move — same 31 selected packages, nothing added or removed.

Also record what the READMEs never said: ffmpeg is a real prerequisite
for a Build and had zero mentions, and the media Lambda layer is a GPL
FFmpeg build. That build is deliberate — libx264 is GPL-only and the
encode path requires it — and it stays lawful only because the operator
builds and deploys it into their own account. Publishing a prebuilt
layer would break that, so the boundary is now written down.
2026-08-13 00:21:27 +08:00
kashorin 76cae8eaab refactor: separate markup text and typography
Rename the author frontend around Markup, replace PromptKit with graph-native Text templates, and keep video typography in its own package. Wire ordinary Text through explicit graph edges into model and visible consumers, refresh examples, locks, tests, and architecture documentation.
2026-08-10 10:55:46 +08:00
kashorin bbf536968f feat: keep generated media on graph edges 2026-08-10 06:35:36 +08:00
kashorin e8330033aa feat: add provider-neutral MiMo TTS 2026-08-10 05:51:07 +08:00
kashorin 81aeb2d169 Normalize logical identities and migration docs 2026-08-10 03:58:39 +08:00
kashorin b06b6b9442 test: remove redundant pre-release coverage 2026-08-09 03:26:59 +08:00
kashorin 359d199b13 refactor: remove client branding and freeze pre-release identities 2026-08-09 03:16:57 +08:00
kashorin 02676fe832 chore: run every test and refresh the KIE catalog description
The root test/ directory was outside the test glob, so three docs-site timing
tests had never run. The KIE README still described author 'modes', which
capability-per-exact-model replaced, and four generation helpers were exported
without a caller.
2026-08-08 04:13:56 +08:00
kashorin 327d9cfa29 refactor: let models declare their input ports
What an exact generation model accepts is fixed when the model is trained; no
service reselling it can widen or narrow that. Only the wire field names and the
endpoint splitting belong to a service.

An exact-model package now declares a closed svml.generation-ports@1 table, and
every request uses one svml.generation-request@1 envelope keyed by those port
names. A Provider contributes only a svml.generation-wire-mapping@1: which of
its fields carries each port, and which of its endpoints serves which port
combination. @narratage/provider-kie therefore imports no model package; its 313
hand-written translations become eleven mapping records, and a repository test
proves each mapping covers every declared port before any paid call.

Capability now means exact model, so mode unions disappear into port presence
and the count falls from sixteen to eleven. Request schemas, semantic validators
and author Surface bounds are all derived from the port table, removing the
duplicated reference cap and the standard-only 1080p branch.

The recorded limits were rechecked against KIE, and Seedance and MiniMax also
against ByteDance, fal and MiniMax's own specifications; several were wrong.
Reference modalities carry separate capacities, Grok runs 6-30s rather than
1-15s, Seedream takes 3000 prompt characters rather than 20000, GPT Image has a
resolution input, and the deprecated return_last_frame field is no longer sent.
2026-08-08 04:08:20 +08:00
kashorin a6686b0bad feat: rename the project to Narratage
Narratage (narration + montage) is the project, framework, npm scope
(@narratage/*) and CLI command. SVML remains the name of its markup
language, so file suffixes (.svml/.svs/.svrun), source Headers and
svml.* wire format ids are intentionally unchanged. Example locks are
regenerated because package manifests participate in artifact digests.
2026-08-07 22:29:26 +08:00
kashorin d8d7e38c1f chore: reset every wire format version to @1
The @0/@2/@4 numbers were rewrite-internal draft counters, not released
format versions. No external consumer or persisted data depends on them,
so the first public format of every id is @1. Negative-format tests use
@9 as the deliberately unknown version. Example package and runtime
locks are regenerated because format ids participate in digests.
2026-08-07 22:12:53 +08:00
kashorin 2855fd2a80 refactor(v2): complete graph-first runtime foundation
Remove payload lineage coupling, load deployment adapters from locked packages, add explicit artifact lifecycle tooling, and keep image/media execution behind replaceable endpoints. Refresh the executable examples and architecture records to match the implemented boundaries.
2026-08-07 20:40:49 +08:00
kashorin 8c17a587b6 feat(v2): activate independent packages and prove live run 2026-08-07 17:52:33 +08:00
kashorin 71f50ead3f refactor(v2): separate host and video distribution boundaries 2026-08-07 12:10:33 +08:00
kashorin bff2482866 docs(v2): audit live path and distribution boundaries 2026-08-07 06:42:16 +08:00
kashorin a820db63ee feat(v2): add author media surfaces and graph-first contracts 2026-08-06 22:21:02 +08:00
kashorin 4ff88c4fd2 feat: lock type validator facets 2026-08-06 13:11:22 +08:00
kashorin be54af0070 refactor: decouple components from node driver 2026-08-06 12:55:03 +08:00
kashorin d66c498799 feat: establish local media execution stack 2026-08-06 12:34:11 +08:00