@rslsp1/fa-app-tools 2.0.78 → 2.0.81

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.
package/dist/index.d.ts CHANGED
@@ -1,9 +1,12 @@
1
1
  import * as React from 'react';
2
2
  import React__default, { RefObject, ReactNode } from 'react';
3
+ import { F as FlowGenerateText, b as FlowTextGenerationOptions, S as SelectedTag } from './flowTextGenerationPort-KHjCGt_S.js';
4
+ export { a as FlowSdk, c as buildFallbackPrompt, d as buildGenerationPrompt, e as buildImageGenerationOptions, f as buildPromptTabPayload, g as cleanAiResponse, h as createFlowServices, j as interpretSdkError, p as parsePromptResponse } from './flowTextGenerationPort-KHjCGt_S.js';
3
5
  import { Node, Edge } from '@xyflow/react';
4
6
  import * as zustand_vanilla from 'zustand/vanilla';
7
+ import { F as FeatureSliceId, b as SliceContract, a as PersistenceDescriptor, W as WorkspacePersistence, P as PersistedSlice, L as LoadResult, f as WriteResult, e as WorkspaceTabId, C as CommandResult, R as RequestContext, Q as QueryResult } from './contracts-DdYOMBl9.js';
5
8
 
6
- var version = "2.0.78";
9
+ var version = "2.0.81";
7
10
 
8
11
  declare function useOnClickOutside(ref: RefObject<HTMLElement | null>, handler: (e: MouseEvent | TouchEvent) => void): void;
9
12
 
@@ -133,7 +136,7 @@ declare const getFormattedTimestamp: () => string;
133
136
  /**
134
137
  * Hilfskonstante für CSS-Styles (Dark Scrollbar etc.)
135
138
  */
136
- declare const GLOBAL_STYLES = "\n .dark-scrollbar::-webkit-scrollbar { width: 4px; height: 4px; }\n .dark-scrollbar::-webkit-scrollbar-track { background: transparent; }\n .dark-scrollbar::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.1); border-radius: 10px; }\n html, body, #root { margin: 0; padding: 0; width: 100%; height: 100%; background: #0e0e0e; font-family: 'Google Sans Text', sans-serif; overflow: hidden; }\n @keyframes prompt-shimmer { 0% { background-position: -200% 0; } 100% { background-position: 200% 0; } }\n .prompt-loading { background: linear-gradient(90deg, rgba(255,255,255,0.02) 25%, rgba(255,255,255,0.05) 50%, rgba(255,255,255,0.02) 75%); background-size: 200% 100%; animation: prompt-shimmer 2s infinite linear; }\n @keyframes dropdown-enter { from { opacity: 0; transform: scale(0.95) translateY(-5px); } to { opacity: 1; transform: scale(1) translateY(0); } }\n .animate-dropdown { animation: dropdown-enter 0.1s ease-out forwards; }\n";
139
+ declare const GLOBAL_STYLES: string;
137
140
 
138
141
  declare function injectXMPMetadata(base64: string, prompt: string, seed?: number, model?: string, id?: string, tags?: string[], hierarchy?: string): string;
139
142
 
@@ -145,61 +148,6 @@ declare function exportProjectToZip(nodes: any[], edges: any[], history: any[],
145
148
  }>;
146
149
  declare function importProjectFromZip(file: File): Promise<any>;
147
150
 
148
- declare function buildGenerationPrompt(hierarchyText: string, mode?: 'literal' | 'creative'): string;
149
- declare function buildFallbackPrompt(hierarchyText: string): string;
150
- declare function cleanAiResponse(text: string): string;
151
- declare function buildImageGenerationOptions(prompt: string, aspectRatio: string, model: string, referenceMediaId?: string): Record<string, any>;
152
- interface SelectedTag {
153
- label: string;
154
- value: string;
155
- category: string;
156
- }
157
- declare function buildPromptTabPayload(selectedTags: SelectedTag[], instructions: string, rules: string, treeText?: string): string;
158
- declare function parsePromptResponse(raw: string): {
159
- prompt: string;
160
- feedback: string | null;
161
- };
162
- interface FlowSdkImage {
163
- base64: string;
164
- mimeType: string;
165
- }
166
- interface FlowSdk {
167
- generate: {
168
- image: (options: Record<string, any>) => Promise<{
169
- base64: string;
170
- mediaId: string;
171
- }>;
172
- text: (prompt: string, options?: {
173
- systemInstruction?: string;
174
- thinkingLevel?: string;
175
- images?: FlowSdkImage[];
176
- }) => Promise<{
177
- text: string;
178
- }>;
179
- };
180
- download: (args: {
181
- base64: string;
182
- mimeType: string;
183
- filename: string;
184
- }) => Promise<void>;
185
- media: {
186
- selectMultiple: (args: {
187
- filter: string;
188
- }) => Promise<any[]>;
189
- };
190
- }
191
- declare function createFlowServices(Flow: FlowSdk): {
192
- generateImage: (options: Record<string, any>) => Promise<{
193
- base64: string;
194
- mediaId: string;
195
- }>;
196
- generateText: (text: string, options?: {
197
- images?: FlowSdkImage[];
198
- systemInstruction?: string;
199
- }) => Promise<string>;
200
- };
201
- declare function interpretSdkError(err: any): Error;
202
-
203
151
  interface ExtractedCharacter {
204
152
  name: string;
205
153
  prompts: {
@@ -268,6 +216,8 @@ interface TagBaseUser {
268
216
  id: number;
269
217
  username: string;
270
218
  active_context_id?: number;
219
+ /** Exakte Context-Zugriffe wie Context.listForUser (explizit + Eigentum). */
220
+ context_ids: number[];
271
221
  }
272
222
  interface TagBaseContext {
273
223
  id: number;
@@ -429,39 +379,29 @@ interface AvatarArchitectAppProps {
429
379
  base64: string;
430
380
  mediaId?: string;
431
381
  }>;
432
- onGeneratePrompt: (text: string, options?: {
433
- images?: {
434
- base64: string;
435
- mimeType: string;
436
- }[];
437
- systemInstruction?: string;
438
- }) => Promise<string>;
382
+ onGeneratePrompt: FlowGenerateText;
439
383
  onDownload: (base64: string, mimeType: string, filename: string) => Promise<void>;
440
384
  onSelectMedia: () => Promise<MediaItem[]>;
441
385
  buildInfo?: string;
442
386
  initialHfToken?: string;
443
387
  hfNamespace?: string;
444
388
  allowDevNamespace?: boolean;
389
+ /** Flow-Host verlangt vor der App dieselbe User-/Context-Auswahl wie React. */
390
+ requireWorkspaceSelection?: boolean;
445
391
  serverBaseUrl?: string;
446
392
  onFetchServerProjects?: () => Promise<ProjectMeta[]>;
447
393
  onServerSave?: (zipBase64: string, name: string) => Promise<ProjectMeta>;
448
394
  onServerLoad?: (id: string) => Promise<File>;
449
395
  onServerDelete?: (id: string) => Promise<void>;
450
396
  }
451
- declare function AvatarArchitectApp({ onGenerateImage, onGeneratePrompt, onDownload, onSelectMedia, buildInfo, initialHfToken, hfNamespace, allowDevNamespace, serverBaseUrl, onFetchServerProjects, onServerSave, onServerLoad, onServerDelete }: AvatarArchitectAppProps): React__default.JSX.Element;
397
+ declare function AvatarArchitectApp({ onGenerateImage, onGeneratePrompt, onDownload, onSelectMedia, buildInfo, initialHfToken, hfNamespace, allowDevNamespace, requireWorkspaceSelection, serverBaseUrl, onFetchServerProjects, onServerSave, onServerLoad, onServerDelete }: AvatarArchitectAppProps): React__default.JSX.Element;
452
398
 
453
399
  interface FaAppProps {
454
400
  onGenerateImage: (params: Record<string, any>) => Promise<{
455
401
  base64: string;
456
402
  mediaId?: string;
457
403
  }>;
458
- onGeneratePrompt: (prompt: string, options?: {
459
- images?: {
460
- base64: string;
461
- mimeType: string;
462
- }[];
463
- systemInstruction?: string;
464
- }) => Promise<{
404
+ onGeneratePrompt: (prompt: string, options?: FlowTextGenerationOptions) => Promise<{
465
405
  text: string;
466
406
  }>;
467
407
  onGenerateVideo?: (params: Record<string, any>) => Promise<{
@@ -490,6 +430,20 @@ interface FaAppProps {
490
430
  }
491
431
  declare function FaApp({ onGenerateImage, onGeneratePrompt, onGenerateVideo: _onGenerateVideo, onDownload, onSelectMedia, onFlowSave: _onFlowSave, onFlowUpload: _onFlowUpload, onFlowMediaUpload: _onFlowMediaUpload, libToken, allowDevNamespace, serverBaseUrl, onFetchServerProjects, onServerSave, onServerLoad, onServerDelete, buildInfo, }: FaAppProps): React.JSX.Element;
492
432
 
433
+ interface FlowWorkspacePickerProps {
434
+ tagBase: TagBase;
435
+ selectedUserId: number | null;
436
+ message?: string | null;
437
+ onSelectUser: (userId: number) => void;
438
+ onSelectContext: (contextId: number) => void;
439
+ }
440
+ /**
441
+ * Flow-Einstieg wie in React: zuerst User, danach genau einer seiner Contexts.
442
+ * Die Zuordnung kommt aus der Server-generierten Tag-Base; die UI leitet
443
+ * weder Rechte aus owner_id ab noch zeigt sie pauschal alle Contexts.
444
+ */
445
+ declare function FlowWorkspacePicker({ tagBase, selectedUserId, message, onSelectUser, onSelectContext, }: FlowWorkspacePickerProps): React.JSX.Element;
446
+
493
447
  interface CollapsibleCardProps {
494
448
  title: string;
495
449
  icon?: ReactNode;
@@ -566,91 +520,6 @@ interface TagManagerPanelProps {
566
520
  }
567
521
  declare function TagManagerPanel({ workspaceTags, onTagCreate, onTagUpdate, onTagDelete, onTagReorder, onTagMove }: TagManagerPanelProps): React__default.JSX.Element;
568
522
 
569
- type FeatureSliceId = 'library' | 'tags' | 'prompt.builder' | 'prompt.negative' | 'labs.compare' | 'labs.remix' | 'labs.loop' | 'labs.blend' | 'labs.frameExtractor';
570
- type WorkspaceTabId = `react.${string}` | `flow.${string}`;
571
- interface PersistenceDescriptor<I extends FeatureSliceId = FeatureSliceId> {
572
- sliceId: I;
573
- tabId: WorkspaceTabId;
574
- schemaVersion: number;
575
- }
576
- interface PersistedSlice<T> {
577
- workspaceId: string;
578
- tabId: WorkspaceTabId;
579
- schemaVersion: number;
580
- revision: number;
581
- data: T;
582
- updatedAt: number;
583
- resetAt?: number;
584
- }
585
- type LoadResult<T> = {
586
- kind: 'loaded';
587
- slice: PersistedSlice<T>;
588
- } | {
589
- kind: 'notFound';
590
- } | {
591
- kind: 'invalidVersion';
592
- found: number;
593
- supported: number;
594
- } | {
595
- kind: 'transportError';
596
- message: string;
597
- retryable: boolean;
598
- };
599
- type WriteResult<T> = {
600
- kind: 'saved';
601
- slice: PersistedSlice<T>;
602
- } | {
603
- kind: 'conflict';
604
- expectedRevision: number;
605
- current: PersistedSlice<T>;
606
- } | {
607
- kind: 'notFound';
608
- } | {
609
- kind: 'invalidVersion';
610
- found: number;
611
- supported: number;
612
- } | {
613
- kind: 'transportError';
614
- message: string;
615
- retryable: boolean;
616
- };
617
- interface WorkspacePersistence {
618
- load<T>(workspaceId: string, descriptor: PersistenceDescriptor, signal: AbortSignal): Promise<LoadResult<T>>;
619
- save<T>(slice: PersistedSlice<T>, expectedRevision: number, signal: AbortSignal): Promise<WriteResult<T>>;
620
- reset<T>(sliceWithDefault: PersistedSlice<T>, expectedRevision: number, signal: AbortSignal): Promise<WriteResult<T>>;
621
- }
622
- interface SliceContract<T> {
623
- id: FeatureSliceId;
624
- schemaVersion: number;
625
- createDefault(): T;
626
- serialize(value: T): unknown;
627
- validate(value: unknown): T;
628
- migrate(fromVersion: number, value: unknown): T;
629
- }
630
- interface RequestContext {
631
- requestId: string;
632
- signal: AbortSignal;
633
- }
634
- type QueryResult<T> = {
635
- kind: 'ok';
636
- value: T;
637
- } | {
638
- kind: 'error';
639
- message: string;
640
- retryable: boolean;
641
- };
642
- type CommandResult<T> = {
643
- kind: 'ok';
644
- value: T;
645
- } | {
646
- kind: 'unsupported';
647
- capability: string;
648
- } | {
649
- kind: 'error';
650
- message: string;
651
- retryable: boolean;
652
- };
653
-
654
523
  type SaveState = 'idle' | 'saving' | 'restoring' | 'conflict';
655
524
  interface SliceMeta {
656
525
  revision: number;
@@ -1121,15 +990,6 @@ interface TaskRequestedPayload {
1121
990
  expiresAt?: number;
1122
991
  }
1123
992
 
1124
- declare function getHFToken(): string | null;
1125
- declare function setHFToken(token: string): void;
1126
- interface HFProjectMeta {
1127
- id: string;
1128
- name: string;
1129
- path: string;
1130
- size: number;
1131
- isLfs: boolean;
1132
- }
1133
993
  interface HFFileInfo {
1134
994
  type: 'file' | 'directory';
1135
995
  path: string;
@@ -1143,10 +1003,28 @@ declare function hfBatchArchive(moves: Array<{
1143
1003
  content: string;
1144
1004
  }>, token: string, summary: string): Promise<void>;
1145
1005
  declare function tsFromEventPath(repoPath: string): number;
1146
- declare function loadHFState(namespace: string, token: string): Promise<HFStateSnapshot | null>;
1147
1006
  declare function loadPendingEvents(namespace: string, token: string, sinceTs: number, knownPaths?: Set<string>): Promise<HFEvent[]>;
1148
1007
  declare function getSessionClientId(): string;
1149
- declare function writeHFEvent<P>(namespace: string, token: string, type: string, payload: P, prevTs: number[]): Promise<HFEvent<P>>;
1008
+ declare function writeHFEvent<P>(namespace: string, token: string, type: string, payload: P, prevTs: number[], options?: {
1009
+ /**
1010
+ * Schreibreihenfolge innerhalb einer Millisekunde erhalten.
1011
+ *
1012
+ * Vorgabe `false` — der Dateiname bleibt dann Byte für Byte der bisherige.
1013
+ * Domains, für die die Logreihenfolge fachlich zählt, schalten es ein.
1014
+ */
1015
+ ordered?: boolean;
1016
+ }): Promise<HFEvent<P>>;
1017
+
1018
+ declare function getHFToken(): string | null;
1019
+ declare function setHFToken(token: string): void;
1020
+ interface HFProjectMeta {
1021
+ id: string;
1022
+ name: string;
1023
+ path: string;
1024
+ size: number;
1025
+ isLfs: boolean;
1026
+ }
1027
+ declare function loadHFState(namespace: string, token: string): Promise<HFStateSnapshot | null>;
1150
1028
  declare function hfBootstrapFromLegacy(namespace: string, token: string, onProgress?: (msg: string) => void): Promise<void>;
1151
1029
  declare function hfListProjects(token: string): Promise<HFProjectMeta[]>;
1152
1030
  declare function hfDownloadProject(path: string, token: string): Promise<File>;
@@ -1202,4 +1080,4 @@ interface UseTagBaseResult {
1202
1080
  }
1203
1081
  declare function useTagBase(token: string, namespace: string): UseTagBaseResult;
1204
1082
 
1205
- export { AvatarArchitectApp, type AvatarArchitectAppProps, CURRENT_TAG_EVENT_VERSION, CollapsibleCard, type CommandResult, CompactDropdown, type CreateFaStoreOptions, type CreatePersistenceCoordinatorOptions, type ExtractedCharacter, FaApp, type FaAppProps, type FaStore, type FaStoreState, FaToolsBadge, type FeatureSliceId, type FlowSdk, GLOBAL_STYLES, type Generation, type HFEvent, type HFEventVersion, type HFFileInfo$1 as HFFileInfo, type HFMetadataEntry, type HFStateMeta, type HFStateResult, type HFStateSnapshot, HistoryPanel, type ImageAddedPayload, type InMemoryWorkspacePersistence, InspectPanel, LIBRARY_CUTOVER_MARKER, LIBRARY_SLICE_SCHEMA_VERSION, version as LIB_VERSION, LabBlend, LabCompare, type LabFrame, LabFrameExtractor, type LabFrameExtractorProps, LabImagePicker, type LabItem, LabLoop, LabRemix, type LabServices, type LabSlotId, LabsTab, type LegacyMigrationOptions, type LegacyMigrationResult, type LegacyRecentTagRef, type LegacySourceResult, type LibraryCommandName, type LibraryCommands, type LibraryDataSource, type LibraryLegacySource, type LibraryListQuery, type LibraryPage, LibraryView, type LibraryViewItem, type LibraryViewProps, type LibraryViewTag, type LibraryWorkspaceState, ListView, type LoadResult, type MediaItem, MediaLibrary, type MetadataUpdatedPayload, type PersistedSlice, type PersistenceCoordinator, type PersistenceDescriptor, PillButton, type ProjectMeta, type ProjectSettings, ProjectSyncTab, PromptTab, type QueryResult, type RequestContext, type RunLibraryLegacyImportOptions, type RunTagsLegacyImportOptions, SCOPE_MAP, type SaveState, SectionLabel, type SelectedLabImage, type SelectedTag, type SelectionValidation, ServerTab, SetupPanel, type SliceContract, type SliceMeta, type SyncDiff, TAGS_CUTOVER_MARKER, TAGS_SLICE_SCHEMA_VERSION, type TagBase, type TagBaseContext, type TagBaseEvent, type TagBaseMeta, TagBaseSection, type TagBaseSectionProps, type TagBaseTagEntry, type TagBaseTagOption, type TagBaseUser, type TagBaseWorkspaceTags, type TagCommandName, type TagCommands, type TagCreatedEvent, type TagCreatedPayload, type TagEntry, type TagEntryInput, TagManager, TagManagerPanel, type TagManagerProps, type TagManagerSelection, type TagOption, type TagQueries, type TagUpdateDelta, type TagUpdatedDelta, type TagUpdatedEvent, type TagUpdatedPayload, type TagUpsertedPayload, type TagViewCategory, type TagViewModel, type TagViewOption, type TagViewScope, type TagsWorkspaceState, type UseTagBaseResult, type WorkspacePersistence, type WorkspaceTabId, type WorkspaceTags, type WriteResult, autoLabel, buildBlendInstruction, buildCompareInstruction, buildFallbackPrompt, buildGenerationPrompt, buildImageGenerationOptions, buildLoopInstruction, buildPromptTabPayload, buildReferenceImageMediaIds, buildRemixInstruction, buildScanInstruction, cleanAiResponse, createFaStore, createFlowServices, createInMemoryLibraryDataSource, createInMemoryWorkspacePersistence, createLibraryDefault, createPersistenceCoordinator, createTagCreatedEvent, createTagUpdatedEvent, createTagsDefault, deriveTagBaseWorkspaceTags, deriveTagViewModel, exportProjectToZip, formatTreeToMarkdown, frameToGeneration, getFormattedTimestamp, getHFToken, getSessionClientId, groupGenerationsToLabItems, hfBatchArchive, hfBootstrapFromLegacy, hfDeleteProject, hfDownloadProject, hfListDir, hfListProjects, hfLoadImageAsBase64, hfUploadImage, hfUploadProjectForm, hfUploadSmallFile, importProjectFromZip, injectXMPMetadata, interpretSdkError, libraryContract, libraryReactDescriptor, listCategories, loadHFState, loadPendingEvents, loadTagBase, parseLegacyLibraryFilters, parseLegacyRecentTags, parsePromptFile, parsePromptResponse, runLegacyMigration, runLibraryLegacyImport, runTagsLegacyImport, setHFToken, tagsContract, tagsReactDescriptor, tsFromEventPath, useFaSlice, useFaSliceMeta, useHFState, useKeyboardNavigation, useOnClickOutside, useTagBase, validateTagBaseSelection, writeHFEvent, writeTagEvent };
1083
+ export { AvatarArchitectApp, type AvatarArchitectAppProps, CURRENT_TAG_EVENT_VERSION, CollapsibleCard, CommandResult, CompactDropdown, type CreateFaStoreOptions, type CreatePersistenceCoordinatorOptions, type ExtractedCharacter, FaApp, type FaAppProps, type FaStore, type FaStoreState, FaToolsBadge, FeatureSliceId, FlowTextGenerationOptions, FlowWorkspacePicker, type FlowWorkspacePickerProps, GLOBAL_STYLES, type Generation, type HFEvent, type HFEventVersion, type HFFileInfo$1 as HFFileInfo, type HFMetadataEntry, type HFStateMeta, type HFStateResult, type HFStateSnapshot, HistoryPanel, type ImageAddedPayload, type InMemoryWorkspacePersistence, InspectPanel, LIBRARY_CUTOVER_MARKER, LIBRARY_SLICE_SCHEMA_VERSION, version as LIB_VERSION, LabBlend, LabCompare, type LabFrame, LabFrameExtractor, type LabFrameExtractorProps, LabImagePicker, type LabItem, LabLoop, LabRemix, type LabServices, type LabSlotId, LabsTab, type LegacyMigrationOptions, type LegacyMigrationResult, type LegacyRecentTagRef, type LegacySourceResult, type LibraryCommandName, type LibraryCommands, type LibraryDataSource, type LibraryLegacySource, type LibraryListQuery, type LibraryPage, LibraryView, type LibraryViewItem, type LibraryViewProps, type LibraryViewTag, type LibraryWorkspaceState, ListView, LoadResult, type MediaItem, MediaLibrary, type MetadataUpdatedPayload, PersistedSlice, type PersistenceCoordinator, PersistenceDescriptor, PillButton, type ProjectMeta, type ProjectSettings, ProjectSyncTab, PromptTab, QueryResult, RequestContext, type RunLibraryLegacyImportOptions, type RunTagsLegacyImportOptions, SCOPE_MAP, type SaveState, SectionLabel, type SelectedLabImage, SelectedTag, type SelectionValidation, ServerTab, SetupPanel, SliceContract, type SliceMeta, type SyncDiff, TAGS_CUTOVER_MARKER, TAGS_SLICE_SCHEMA_VERSION, type TagBase, type TagBaseContext, type TagBaseEvent, type TagBaseMeta, TagBaseSection, type TagBaseSectionProps, type TagBaseTagEntry, type TagBaseTagOption, type TagBaseUser, type TagBaseWorkspaceTags, type TagCommandName, type TagCommands, type TagCreatedEvent, type TagCreatedPayload, type TagEntry, type TagEntryInput, TagManager, TagManagerPanel, type TagManagerProps, type TagManagerSelection, type TagOption, type TagQueries, type TagUpdateDelta, type TagUpdatedDelta, type TagUpdatedEvent, type TagUpdatedPayload, type TagUpsertedPayload, type TagViewCategory, type TagViewModel, type TagViewOption, type TagViewScope, type TagsWorkspaceState, type UseTagBaseResult, WorkspacePersistence, WorkspaceTabId, type WorkspaceTags, WriteResult, autoLabel, buildBlendInstruction, buildCompareInstruction, buildLoopInstruction, buildReferenceImageMediaIds, buildRemixInstruction, buildScanInstruction, createFaStore, createInMemoryLibraryDataSource, createInMemoryWorkspacePersistence, createLibraryDefault, createPersistenceCoordinator, createTagCreatedEvent, createTagUpdatedEvent, createTagsDefault, deriveTagBaseWorkspaceTags, deriveTagViewModel, exportProjectToZip, formatTreeToMarkdown, frameToGeneration, getFormattedTimestamp, getHFToken, getSessionClientId, groupGenerationsToLabItems, hfBatchArchive, hfBootstrapFromLegacy, hfDeleteProject, hfDownloadProject, hfListDir, hfListProjects, hfLoadImageAsBase64, hfUploadImage, hfUploadProjectForm, hfUploadSmallFile, importProjectFromZip, injectXMPMetadata, libraryContract, libraryReactDescriptor, listCategories, loadHFState, loadPendingEvents, loadTagBase, parseLegacyLibraryFilters, parseLegacyRecentTags, parsePromptFile, runLegacyMigration, runLibraryLegacyImport, runTagsLegacyImport, setHFToken, tagsContract, tagsReactDescriptor, tsFromEventPath, useFaSlice, useFaSliceMeta, useHFState, useKeyboardNavigation, useOnClickOutside, useTagBase, validateTagBaseSelection, writeHFEvent, writeTagEvent };