Commit Graph

91 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 4bcda61494 fix: preserve cross-platform release diagnostics 2026-10-09 01:44:00 +08:00
kashorin 25520fecdf refactor: compose CLI and Studio from owned capabilities 2026-10-07 20:45:22 +08:00
kashorin 205bfeb98d refactor: establish the adaptive composition model 2026-10-07 20:44:28 +08:00
kashorin 089c39a012 perf: localize build and render working sets
Preserve forwarded Result values without eager materialization, advance live Builds from disposable indexes, and bound HyperFrames resource, source-frame, and output work.
2026-09-26 06:38:25 +08:00
Sharky Wang 66a35294ad fix(oauth): return sign-in through the hosted callback page (#349)
fix(oauth): return sign-in through the hosted callback page (#349)
2026-09-23 17:09:46 +08:00
Sharky Wang 0aa8038183 Merge pull request #266 from fetw882/fix/cli-programs-prepare-help
fix: list programs prepare in overview help and explain missing Profiles
2026-09-17 17:50:17 +08:00
rpone 0cd38e4e92 test: follow the runtime Profile message to its recovery sentence
runtime-selection.test.ts pinned the earlier wording, which named the missing
Profile without saying how to select one. The assertion now reads the sentence
this command shares with build, pricing, auth and the execution commands, which
is what the test's own name describes.
2026-09-17 17:46:18 +08:00
Flandern bc1d80dbde fix(runtime): stop probe-only Programs without claiming a process 2026-09-17 15:45:39 +08:00
fetw 25ad83f9f9 fix: list programs prepare in overview help and explain missing Profiles
hypit help omitted prepare even though hypit help programs and the
Skill document it. programs/runtime errors named the missing Profile
without the recovery sentence auth already uses.
2026-09-17 13:22:11 +08:00
kashorin e882b0e47f test: respect platform paths and observe process termination without a race 2026-09-17 09:01:10 +08:00
kashorin 216287361d fix(local): prepare resources explicitly and pass authored languages 2026-09-17 06:25:43 +08:00
kashorin 8690e795c5 fix(credentials): separate management from reads and add explicit file storage 2026-09-17 03:30:36 +08:00
kashorin 14c0b2bcb4 fix(oauth): preserve literal Windows URLs and tolerate missing openers 2026-09-17 03:02:28 +08:00
fetw 5653c25377 fix: quote the Windows OAuth authorize URL so cmd keeps query ampersands
cmd /c start splits on `&` unless the URL is a quoted token after an
explicit window title. PKCE authorize URLs always contain `&`, so the
browser never received client_id, redirect_uri or the challenge.

Use ComSpec the way host package install already does, pass
windowsVerbatimArguments, and ignore a missing opener so the printed
URL remains usable.
2026-09-17 01:34:57 +08:00
kashorin 72a62f24d3 test: use native path separators in history output assertion 2026-09-16 22:34:31 +08:00
kashorin 963d7b6c90 fix: resolve project directory aliases at Node entry points 2026-09-16 22:27:43 +08:00
fetw a56576a49e fix: admit in-root paths whose basename starts with ..
path.relative of a workspace file named ..keep.svml is the string
..keep.svml. Treating any relative result that starts with .. as an
escape rejected that file as SOURCE_OUTSIDE_ROOT, and the same
predicate was copied into source discovery, Build Result project
paths, Studio writes and CLI short paths.

Use the repository's existing check: only `..` and `..${sep}` are
parent traversal. A Source still cannot import ../outside.svs.
2026-09-16 17:45:33 +08:00
kashorin 30a4a5d7a7 fix(hypihub): separate canonical model identity from input modes 2026-09-15 23:15:07 +08:00
kashorin e6aa3a23ef fix(runtime): expose preparation progress and preserve CLI context 2026-09-15 22:20:29 +08:00
kashorin b4389a3af7 fix(cli): clarify usage errors and preserve query context 2026-09-15 01:03:49 +08:00
kashorin 300a130593 fix: validate Film inputs and retain verbose execution receipts 2026-09-14 23:29:54 +08:00
kashorin 870fc33bc4 refactor: isolate build execution and complete production workflow 2026-09-14 18:48:45 +08:00
kashorin df129a3c65 feat: preserve Result references and refine Studio workflows
Keep reused media as explicit references, publish Result changes only when needed, and replace Windows files without timed retries. Clarify environment selection and CLI output.

Refine Studio task and media browsing, editable display names, inline media previews, single-row track overlap, semantic ruler pinning, and Companion-owned Ranking selection.
2026-09-11 04:32:05 +08:00
kashorin 2924ace5a7 fix(environment): expose preparation evidence and guide practical service choices 2026-09-10 21:28:02 +08:00
kashorin f1c23248c4 test(cli): keep simulated OAuth request alive until timeout 2026-09-10 04:41:01 +08:00
kashorin 599b2d05d2 fix(pricing): show complete provider-owned rate material
Group requests by endpoint and rate material, summarize explicit no-charge work, and preserve every priced request in JSON. Providers may supply a concise summary alongside their original rate documents; the CLI does not infer prices or walk upstream media dependencies.
2026-09-09 17:26:57 +08:00
kashorin cdd087711d chore(protocol): keep unpublished formats at version 1 2026-09-09 17:26:39 +08:00
kashorin 59b17e777b feat(runtime): expose provider pricing and request support 2026-09-08 17:20:20 +08:00
kashorin 0dfee16c2e test: respect host paths and media tools 2026-09-07 05:22:43 +08:00
kashorin 1ed40edd6f refactor(runtime): separate endpoint actions from durable operations 2026-09-07 04:25:49 +08:00
kashorin efc8bd56e7 feat(runtime): render selected ranges with weighted capacity
Let HyperFrames render explicit frame intervals with independent browser workers, and make Runtime account for request-dependent resource units across Builds. Preserve external Operations while stopped executions settle so capacity is released only after real work ends.
2026-09-07 04:25:49 +08:00
kashorin f15b1d46f8 refactor(studio): make authoring execution runtime-owned 2026-09-07 04:25:49 +08:00
kashorin 507cd5685e refactor(runtime): keep program lifecycle separate from capacity 2026-09-04 23:01:02 +08:00
kashorin 1d4124aac7 refactor: make planning and observation boundaries explicit 2026-09-04 21:36:38 +08:00
kashorin 95995555b1 feat(plan): the complete bill of needs before anything is paid for
plan now lists every external request the Build will make, one entry per
request, and runs the plan's Producers that need nothing from outside so
each request's exact constraints exist before submission. Parameters are
read off the request itself (scalars by their own names, prose as a word
count, referenced media counted by kind); no model-specific field table
lives in the CLI. A request whose references are still to be generated
reads the author's request draft upstream and says the references are
pending. Requests with the same shape are grouped and counted, word counts
shown as a range.

Core scheduling becomes incremental: a ready Producer no longer waits for
an unrelated external request that shared its scheduling turn, which is
what let plan-time evaluation reach every request and also stops Builds
serializing cheap steps behind long paid ones.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-04 20:32:49 +08:00
kashorin 0df5e1ff9b feat(runtime): Profile bindings decide contested capabilities; one resolver for plan, invoke and Build
Providers declare everything they can do and never hide a capability:
HypiHub's audio:false flag is gone. When several selected Endpoints offer
the same capability, the Profile's bindings name the one that serves it,
keyed by name@version#capability. plan, creation-time invoke and the Build
resolve through the same EndpointRegistry with the same bindings; doctor
reports a contested capability without a binding (error when a Run demands
it, warning otherwise) and a binding to an Endpoint that does not offer the
capability. Unknown Profile keys are listed together, and the retired
nested-runtime Profile shape gets a migration message.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-04 20:21:59 +08:00
kashorin 5793277bf2 feat(runtime): execute creation-time Needs through the selected Profile
Add the one-shot boundary the creation-time tools were missing: the
Runtime host's `invoke(need, resources)`, implemented by runtime-local as
the same Endpoint activation, capability resolution and credential
resolution a Build uses, with no Build id, Worker, Result or stored state.
Unresolved, ambiguous and asynchronous capabilities are refused with the
exact command that fixes them; the caller owns the ResourceStore.

The reference-video tools now observe and transcribe through it. Gemini
observation seals a real GeminiRequest against the Profile's Gemini
Endpoint instead of picking HypiHub or Vertex from HYPIT_GEMINI_PROVIDER
and reading credential stores itself; the transcript asks the Profile's
whisperx-alignment Endpoint instead of instantiating the local Provider
and probing 127.0.0.1:8765. `--runtime <profile>` names the Profile on
prepare_reference, observe_reference and compare_reconstruction; without
it the project's `hypit runtime use` selection is read, the way `hypit`
reads it. A missing selection, Endpoint or credential leaves the
transcript unavailable with that exact reason and prepares everything
else. The observation retry loop is unchanged but now reports each failed
attempt; its limits wait for real-video measurements.

The Gemini default model comes from @hypit/gemini's declaration rather
than a string, and the Skill's four passages about the environment switch
now describe the Profile binding.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-04 02:09:17 +08:00
kashorin 7a0a325383 feat(plan): name the Provider and price page behind each request
A Provider declares only where it publishes prices: `pricing` on
defineEndpointPackage is either { kind: "page", url } for a paid remote
service or { kind: "local" } for work that runs on this machine. Hypit
never copies or interprets the prices.

The Runtime host gains `providers(capabilities)`, implemented by
runtime-local from the Profile and Endpoint declarations alone; it never
resolves a credential or contacts a service, and reports an unresolved or
ambiguous selection as such. `hypit plan --runtime <profile>` prints a
"Providers and price pages" section so the Agent has exactly one place to
learn which Endpoint serves each external request and where to read its
price; without --runtime it says to pass one.

HypiHub, KIE, Vertex, Xiaomi MiMo and AWS Lambda declare their public
pricing pages; the media, WhisperX, HyperFrames and OpenCV local Providers
declare local. The Provider guide documents the declaration in place of
the removed quote paragraph.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-04 01:18:19 +08:00
kashorin cb0b061e5c feat(runtime): establish honest starter environment 2026-09-03 22:36:29 +08:00
kashorin 930b092b67 refactor(cli): clarify build progress and runtime ownership 2026-09-03 17:52:17 +08:00
kashorin b834d45a09 fix(results): keep forwards on finished owners 2026-09-03 13:29:02 +08:00
kashorin 40ff5fc9d5 fix(cli): isolate runtime context by command 2026-09-03 13:29:02 +08:00
kashorin c5dbb4defc refactor(cli): separate commands from storage details 2026-09-03 13:29:02 +08:00
kashorin 1e355a802f refactor(cli): expose bounded semantic views 2026-09-03 13:28:06 +08:00
kashorin 26cf353733 refactor(cli): make result export explicit 2026-09-03 13:28:06 +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
kashorin d1e40ef0a7 feat(runtime): make build result storage pluggable 2026-09-03 13:23:52 +08:00
kashorin 0664b5bac0 feat(runtime): add project-owned build results 2026-09-03 13:23:52 +08:00