MCPcopy Create free account

hub / github.com/UfukNode/Noustiny / functions

Functions384 in github.com/UfukNode/Noustiny

↓ 31 callersFunctiontrace
(reqId: string, phase: string, detail: Record<string, unknown> = {})
web/app/api/hermes/route.ts:26
↓ 16 callersFunctionagentEvent
(agent: AgentId, label: string, model = 'gemini-2.5-flash')
web/lib/hermes-client.ts:424
↓ 12 callersFunctionclose
()
web/components/RefreshGuard.tsx:112
↓ 10 callersFunctionstreamViaSkill
Run a skill-backed chat completion on the Hermes gateway. The skill body * becomes the system prompt (via the same activation wrapper Hermes uses
web/app/api/hermes/route.ts:330
↓ 7 callersFunctionemitToolEvents
Hydrate tool events from the image-pipeline envelope into the agent * ticker. Each event fires a short-lived visible entry so the demo * viewer c
web/lib/hermes-client.ts:440
↓ 7 callersFunctiongenerateNodeImage
(nodeId: string, _prompt: string)
web/lib/hermes-client.ts:981
↓ 7 callersFunctionimageUrl
(opts: ImageOpts)
web/lib/image.ts:14
↓ 7 callersFunctionparseJsonSafe
Parse JSON emitted by Hermes even if the model wrapped it in a fence or * leaked commentary around it. Throws if nothing parseable is present.
web/lib/hermes-client.ts:474
↓ 7 callersFunctionreadIndex
()
web/lib/save-system.ts:82
↓ 7 callersFunctionrelayoutAndRecompute
( nodes: Map<string, StoryNode>, rootId: string, currentId: string, )
web/lib/store.ts:248
↓ 7 callersFunctionseedFromString
(s: string)
web/lib/image.ts:28
↓ 6 callersFunctionconsumeStream
Read a text/plain stream into a single string, updating the agent ticker * live so the user sees the agent typing. Throttled via requestAnimationFra
web/lib/hermes-client.ts:641
↓ 6 callersFunctionexpandNode
( nodeId: string, branchCount = 3, opts: { force?: boolean } = {}, )
web/lib/hermes-client.ts:687
↓ 6 callersFunctionisAbortError
True when an exception came from the shared AbortController. We * don't want aborted fetches to surface as red agent errors — they * are intentio
web/lib/hermes-client.ts:465
↓ 6 callersFunctionstorage
()
web/lib/save-system.ts:77
↓ 6 callersFunctionvariantOf
(n: Pick<StoryNode, 'status' | 'parentId' | 'inserted'>)
web/lib/layout.ts:39
↓ 5 callersFunction_is_title_case_token
(tok: str)
hermes-additions/tools/narrative_context_builder.py:138
↓ 5 callersFunctiondetectStoryCopyright
(seed: string)
web/lib/story-copyright-detector.ts:117
↓ 5 callersFunctionfreshTree
(seed: string)
web/lib/store.ts:278
↓ 5 callersFunctionisTitleCase
(tok: string)
web/lib/context-builder.ts:79
↓ 4 callersFunction_cache_path
(sha: str)
hermes-additions/tools/voice_clone_synthesize.py:230
↓ 4 callersMethodabortAll
Abort every inflight hermes fetch sharing this controller, then * arm a fresh controller for subsequent calls.
web/lib/request-control.ts:37
↓ 4 callersFunctionclamp01
(n: number)
web/components/StorybookModal.tsx:188
↓ 4 callersFunctioncollectWords
(text: string)
web/lib/context-builder.ts:104
↓ 4 callersFunctionitem
( label: string, icon: React.ReactNode, handler: () => void, trailing?: React.ReactNode, d
web/components/BottomBar.tsx:291
↓ 4 callersFunctionpriorCanonImageUrl
Resolve the prior-canon beat's rendered image URL, if any, so we can * pass it as a scene reference to the next image render. Single-frame * chai
web/lib/hermes-client.ts:1467
↓ 3 callersFunction_cleanup_work_dir
Remove the per-call yt-dlp scratch dir. Best-effort; a leftover work dir is annoying but never breaks correctness.
hermes-additions/tools/voice_sample_builder.py:413
↓ 3 callersFunction_request
Minimal urllib-based HTTP helper. Returns ``(status, body, headers)``. No third-party deps so the tool works in any venv that has stdlib.
hermes-additions/tools/voice_clone_synthesize.py:294
↓ 3 callersFunctionclampToViewport
(pos: Pos)
web/components/ScenesList.tsx:28
↓ 3 callersFunctioncollectDescendants
Recursively collect downstream descendants (excluding the start node).
web/lib/store.ts:289
↓ 3 callersFunctionheaderKind
(l: string)
web/lib/hermes-client.ts:528
↓ 3 callersFunctionlayoutTree
(nodes: Map<string, StoryNode>, rootId: string)
web/lib/layout.ts:116
↓ 3 callersFunctionlistSaves
()
web/lib/save-system.ts:200
↓ 3 callersFunctionnodeHeight
(n: StoryNode)
web/lib/layout.ts:58
↓ 3 callersFunctionrefresh
()
web/components/SavedStoriesList.tsx:40
↓ 3 callersFunctionreharmonize
({ insertedNodeId, maxRounds = 2, judgeThreshold = 0.6, }: ReharmonizeOpts)
web/lib/hermes-client.ts:1637
↓ 3 callersFunctionsubtreeHeight
(id: string, nodes: Map<string, StoryNode>)
web/lib/layout.ts:79
↓ 3 callersFunctionwinToWsl
(p: string)
web/app/api/voice-upload/route.ts:42
↓ 3 callersFunctionwriteIndex
(index: SavedStoryMeta[])
web/lib/save-system.ts:93
↓ 2 callersFunction_cache_dir
()
hermes-additions/tools/voice_sample_builder.py:174
↓ 2 callersFunction_meta_path
(cache_path: Path)
hermes-additions/tools/voice_sample_builder.py:395
↓ 2 callersFunction_portrait_prompt
(description: str, story_register: str)
hermes-additions/tools/character_sheet_builder.py:152
↓ 2 callersFunction_sentence_initial_indices
Return a set of character offsets in ``text`` where a new sentence begins (offset of the first word-character of each sentence).
hermes-additions/tools/narrative_context_builder.py:98
↓ 2 callersFunction_sentinel_path
(cache_path: Path)
hermes-additions/tools/voice_sample_builder.py:205
↓ 2 callersFunction_service_url
()
hermes-additions/tools/noustiny_storybook_tool.py:71
↓ 2 callersFunction_short
(text: str, cap: int)
hermes-additions/tools/narrative_context_builder.py:280
↓ 2 callersFunction_synthesize_blocking
Sync synthesis call. Returns (bytes_written, alignment). ``alignment`` is the per-character timing dict returned by ElevenLabs's ``with-time
hermes-additions/tools/voice_clone_synthesize.py:395
↓ 2 callersFunction_tokenise
Return raw word tokens preserving original case.
hermes-additions/tools/motif_tracker.py:129
↓ 2 callersFunction_write_sentinel
(cache_path: Path, error: str)
hermes-additions/tools/voice_sample_builder.py:224
↓ 2 callersFunctionactivationPrompt
(skillName: string, skillBody: string)
web/app/api/hermes/route.ts:92
↓ 2 callersFunctionapplyDict
Apply a dictionary of case-insensitive whole-phrase substitutions. * Collects every replacement actually made so the UI can diff them. * Sorted by
web/lib/moderation-rewriter.ts:204
↓ 2 callersFunctionbracketPath
(sx: number, sy: number, tx: number, ty: number)
web/components/StoryEdge.tsx:119
↓ 2 callersFunctioncache_drop
(sha: str)
hermes-additions/tools/voice_clone_synthesize.py:269
↓ 2 callersFunctioncache_set
(sha: str, voice_id: str, *, created_at: Optional[float] = None)
hermes-additions/tools/voice_clone_synthesize.py:245
↓ 2 callersFunctioncanonBeatsForImage
(nodeId: string)
web/lib/hermes-client.ts:1477
↓ 2 callersFunctioncanonTitlesUpTo
(nodeId: string)
web/lib/hermes-client.ts:272
↓ 2 callersFunctionclone_voice
Register a wav file as an ElevenLabs Instant Voice Cloning voice and return its ``voice_id``. Caller decides whether to delete the voice afte
hermes-additions/tools/voice_clone_synthesize.py:354
↓ 2 callersFunctioncollectCanonDescendants
Collect the CANON descendant chain from `start` (excluding start). Walks * a single path by preferring current → canon → author-canon insert → * n
web/lib/store.ts:317
↓ 2 callersFunctioncommitSave
(overwriteId?: string)
web/components/SaveStoryModal.tsx:50
↓ 2 callersFunctioncomputeSpine
(sx: number, tx: number)
web/components/StoryEdge.tsx:30
↓ 2 callersFunctionensureDir
()
web/app/api/saves/route.ts:35
↓ 2 callersFunctionhermesClient
Hermes Agent gateway client (OpenAI-compatible, served by `hermes gateway * run` on localhost:8642). Every narrative call goes through this path so
web/app/api/hermes/route.ts:55
↓ 2 callersFunctionhydrateSavesFromDisk
()
web/lib/save-system.ts:265
↓ 2 callersFunctionisHeader
(l: string)
web/lib/hermes-client.ts:537
↓ 2 callersFunctionloadSave
(id: string)
web/lib/save-system.ts:208
↓ 2 callersFunctionloadSkill
(category: string, slug: string)
web/app/api/hermes/route.ts:72
↓ 2 callersFunctionlookupCharacterRegistry
( body: string, title: string, registry: Record<string, string>, )
web/lib/character-registry-lookup.ts:42
↓ 2 callersFunctionnodeTitle
(id: string, nodes: Map<string, { title: string }>)
web/components/DecisionLog.tsx:64
↓ 2 callersFunctionnodeWidth
(n: StoryNode)
web/lib/layout.ts:62
↓ 2 callersFunctiononPick
(childId: string)
web/components/DecisionOverlay.tsx:139
↓ 2 callersFunctionpatch
(data: Record<string, unknown>)
web/app/api/storybook/route.ts:392
↓ 2 callersFunctionpushCurrent
()
web/lib/hermes-client.ts:603
↓ 2 callersFunctionresolve_api_key
Public so consumers can fail fast when the key is missing without actually attempting a synthesis call.
hermes-additions/tools/voice_clone_synthesize.py:135
↓ 2 callersFunctionsceneAccent
(scene: Scene)
web/components/StoryNode.tsx:27
↓ 2 callersFunctionsceneActRoman
(n: 1 | 2 | 3 | undefined)
web/components/StoryNode.tsx:33
↓ 2 callersFunctionshortText
(text: string, cap: number)
web/lib/context-builder.ts:327
↓ 2 callersFunctionsnapXPct
(pct: number)
web/components/StorybookModal.tsx:1395
↓ 2 callersFunctionsnapYPct
(pct: number)
web/components/StorybookModal.tsx:1409
↓ 2 callersFunctionspawn
(seedEdge = false)
web/components/AmbienceLayer.tsx:78
↓ 2 callersFunctionstaleBorder
(node: TStoryNode)
web/components/StoryNode.tsx:97
↓ 2 callersFunctionstripEmph
(s: string)
web/lib/hermes-client.ts:511
↓ 2 callersFunctionsynthesize_with_voice_blocking
Sync variant for consumers not running an event loop. Same retry semantics as the async version. Returns ``(bytes_written, alignment)``.
hermes-additions/tools/voice_clone_synthesize.py:517
↓ 2 callersFunctionuseSceneFocus
Subscribe to scene focus state. Returns: * - `hovered`: the scene currently hovered in the panel (or null) * - `thisNodeScene`: the scene this nod
web/components/StoryNode.tsx:46
↓ 2 callersFunctionvalidateMood
(m: string)
web/lib/hermes-client.ts:246
↓ 2 callersFunctionwholePhrase
(phrase: string)
web/lib/story-copyright-detector.ts:113
↓ 1 callersFunction_build_brief
( canon_beats: List[Dict[str, Any]], focus_beat: Dict[str, Any], characters: List[Dict[str, Any]],
hermes-additions/tools/narrative_context_builder.py:285
↓ 1 callersFunction_build_user_message
( title: str, seed: str, voice_gender: Optional[str], franchise: Optional[str], )
hermes-additions/tools/narration_voice_director.py:163
↓ 1 callersFunction_cache_key
Stable hash of the (query, duration window) tuple. Different duration windows are different samples — a 6 s slice and a 10 s slice from the s
hermes-additions/tools/voice_sample_builder.py:180
↓ 1 callersFunction_cache_path
(query: str, min_d: float, max_d: float)
hermes-additions/tools/voice_sample_builder.py:189
↓ 1 callersFunction_children_index
Reverse-index parentId → [child ids] in insertion order.
hermes-additions/tools/story_tree_graph.py:84
↓ 1 callersFunction_classify
Split proper-noun registry into characters vs objects. Heuristic: a multi-word phrase or a single-word name that appears in more than one bea
hermes-additions/tools/narrative_context_builder.py:226
↓ 1 callersFunction_collect_lowercase_vocab
Return every word that appears lowercase anywhere in the corpus. Used to disambiguate sentence-initial Title-Case. A word whose lowercase fo
hermes-additions/tools/narrative_context_builder.py:358
↓ 1 callersFunction_collect_words
Return a list of (word, sentence_initial) pairs from ``text``.
hermes-additions/tools/narrative_context_builder.py:120
↓ 1 callersFunction_default_protagonist
(story_register: str)
hermes-additions/tools/character_sheet_builder.py:160
↓ 1 callersFunction_diarization_pipeline
Lazy-load the pyannote speaker-diarization pipeline. Returns the pipeline instance on success, ``None`` if pyannote isn't installed OR no HF
hermes-additions/tools/voice_sample_builder.py:97
↓ 1 callersFunction_extract_json_object
(text: str)
hermes-additions/tools/narration_voice_director.py:243
↓ 1 callersFunction_extract_motifs
( scenes: List[Dict[str, Any]], *, min_scene_presence: int, top_n: Optional[int], min_toke
hermes-additions/tools/motif_tracker.py:151
↓ 1 callersFunction_fetch_youtube_audio
Download top YouTube result for ``query`` as an audio file. Returns ``{"audio_path": Path, "url": str, "title": str, "duration": float}`` on
hermes-additions/tools/voice_sample_builder.py:248
↓ 1 callersFunction_ffmpeg_concat_segments_to_wav
Cut [start, end] segments from ``src`` and concat them into a single 24 kHz mono 16-bit PCM wav at ``dst``. For a single segment this is just
hermes-additions/tools/voice_sample_builder.py:576
↓ 1 callersFunction_ffmpeg_to_wav
Re-encode ``src`` to 24 kHz mono 16-bit PCM wav at ``dst``. Raises on non-zero ffmpeg exit so the caller can write the error sentinel.
hermes-additions/tools/voice_sample_builder.py:366
next →1–100 of 384, ranked by callers