@bitcobblers/wod-wiki-lang 0.44.2159 → 0.45.2166

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.cts CHANGED
@@ -1,9 +1,11 @@
1
1
  import { IMetric, MetricContainer, MetricOrigin, MetricType, IDialect, ICodeStatement, DialectAnalysis, TagIndex, ParsedCodeStatement, TagMetricContribution, IOutputStatement, OutputStatementType, BlockKey, TagReferenceMetadata, ScriptBlock, FenceDialect, Segment, AnalyticsGroup, StoredOutputStatement, OutputStatement } from '@bitcobblers/wod-wiki-core';
2
2
  export { ParseError } from '@bitcobblers/wod-wiki-core';
3
- import { R as ReferenceIndex, a as ReferenceResolutionDefaults, W as WhiteboardScript, I as IEquipment, b as IEffort, c as IEffortResolver, d as IEffortRegistry, E as EffortResolverOptions, e as EffortResolutionOptions, f as ResolvedEffort, g as EffortRegistrySource, h as EffortStorageAdapter, i as IRuntimeActionable, j as IEventBus, k as IRuntimeStack, l as IRuntimeClock, m as IJitCompiler, n as INowProvider, o as RuntimeStackOptions, p as RuntimeError, A as AnalyticsContext, q as IEvent, r as IRuntimeAction, O as OutputListener, U as Unsubscribe, s as IAnalyticsEngine, t as IRuntimeBlock, u as IBehaviorContext, B as BehaviorEventType, v as BehaviorEventListener, S as SubscribeOptions, w as Unsubscribe$1, x as OutputOptions, M as MemoryTag, y as IMemoryLocation, z as IRuntimeBehavior, C as IBlockContext, D as MetricVisibility, F as BlockLifecycleOptions, G as CompletionDecision, T as TimeSpan, H as IRuntimeMemory, J as TypedMemoryReference, K as MemorySearchCriteria, L as IMemoryReference, N as RuntimeStackLogger, P as StackObserver, Q as StackSnapshot, V as StackListener, X as MemoryTypeEnum, Y as IAnchorValue, Z as SoundProfile, _ as ButtonConfig, $ as IEventHandler, a0 as HandlerScope, a1 as IScriptRuntime, a2 as TestableBlockConfig, a3 as IRuntimeOptions, a4 as ScriptRuntime, a5 as EventHandlerOptions, a6 as EventCallback, a7 as TimerState, a8 as CalculationDefinition$1, a9 as IRealtimeProcessor, aa as ISummaryProcessor, ab as ProjectionResult, ac as DimVector, ad as CalcLine, ae as ExprNode, af as CalcScope } from './browserRuntimeNow-_zhhbzoE.cjs';
4
- export { ag as BinaryOp, ah as ButtonVariant, ai as ButtonsState, aj as CATALOG_PRECEDENCE_RANK, ak as CalcNode, al as CalcOrigin, am as CalcVariant, an as CatalogPrecedenceTier, ao as ChildrenStatusState, ap as CompletionState, aq as DEFAULT_RESOLVER_OPTIONS, ar as DEFAULT_RUNTIME_OPTIONS, as as DEFAULT_SOUND_PROFILE, at as DIM_COUNT, au as DIM_ENERGY, av as DIM_LENGTH, aw as DIM_MASS, ax as DIM_TIME, ay as DIM_ZERO, az as DISCIPLINE_FACTORS, aA as DisplayState, aB as EFFORT_DISCIPLINES, aC as EFFORT_REGISTRY_ORIGINS, aD as EffortBaseAttributes, aE as EffortDerivation, aF as EffortDiscipline, aG as EffortMaterializer, aH as EffortResolvedFrom, aI as EquipmentStorageAdapter, aJ as FenceDialect, aK as FragmentDisplayState, aL as FragmentState, aM as IAnalyticsProcessorDescriptor, aN as IEquipmentRegistry, aO as INTENSITY_TIERS, aP as IScript, aQ as IntensityTier, aR as InterceptMode, aS as MemoryLocation, aT as MemoryType, aU as MemoryTypeMap, aV as MemoryValueOf, aW as NAMED_COMPOUNDS, aX as ReferenceCatalog, aY as ResolvedReferences, aZ as RoundState, a_ as RuntimeState, a$ as ScriptRuntimeDependencies, b0 as SoundRule, b1 as SoundTriggerAnchor, b2 as SoundTriggerPoint, b3 as StackEvent, b4 as TimerDirection, b5 as VISIBILITY_ICONS, b6 as VISIBILITY_LABELS, b7 as addDim, b8 as compoundName, b9 as createBrowserRuntimeNow, ba as createReferenceIndex, bb as dedupeEntitiesByPrecedence, bc as dimEquals, bd as disciplineFactorFor, be as extractStatementRefs, bf as filterTagsByVisibility, bg as formatDim, bh as formatSoundTrigger, bi as frozenNow, bj as getMetricVisibility, bk as getRuntimeNowMs, bl as isDimensionless, bm as isEffortDiscipline, bn as isFragmentTag, bo as parseSoundTrigger, bp as resolveEntityRank, bq as resolveEntityTier, br as resolveProfileRules, bs as resolveSourceRank, bt as resolveSourceTier, bu as slugifyRefLabel, bv as subDim, bw as wallClockNow } from './browserRuntimeNow-_zhhbzoE.cjs';
3
+ import { R as ReferenceIndex, a as ReferenceResolutionDefaults, W as WhiteboardScript, I as IEquipment, b as IEffort, c as IEffortResolver, d as IEffortRegistry, E as EffortResolverOptions, e as EffortResolutionOptions, f as ResolvedEffort, g as EffortRegistrySource, h as EffortStorageAdapter, i as IRuntimeActionable, j as IEventBus, k as IRuntimeStack, l as IRuntimeClock, m as IJitCompiler, n as INowProvider, o as RuntimeStackOptions, p as RuntimeError, A as AnalyticsContext, q as IEvent, r as IRuntimeAction, O as OutputListener, U as Unsubscribe, s as IAnalyticsEngine, t as IRuntimeBlock, u as IBehaviorContext, B as BehaviorEventType, v as BehaviorEventListener, S as SubscribeOptions, w as Unsubscribe$1, x as OutputOptions, M as MemoryTag, y as IMemoryLocation, z as IRuntimeBehavior, C as IBlockContext, D as MetricVisibility, F as BlockLifecycleOptions, G as CompletionDecision, T as TimeSpan, H as IRuntimeMemory, J as TypedMemoryReference, K as MemorySearchCriteria, L as IMemoryReference, N as RuntimeStackLogger, P as StackObserver, Q as StackSnapshot, V as StackListener, X as MemoryTypeEnum, Y as IAnchorValue, Z as SoundProfile, _ as ButtonConfig, $ as IEventHandler, a0 as HandlerScope, a1 as IScriptRuntime, a2 as TestableBlockConfig, a3 as IRuntimeOptions, a4 as ScriptRuntime, a5 as EventHandlerOptions, a6 as EventCallback, a7 as TimerState, a8 as CalculationDefinition$1, a9 as IRealtimeProcessor, aa as ISummaryProcessor, ab as ProjectionResult, ac as DimVector, ad as CalcLine, ae as ExprNode, af as CalcScope } from './browserRuntimeNow-CnGciOM0.cjs';
4
+ export { ag as BinaryOp, ah as ButtonVariant, ai as ButtonsState, aj as CalcNode, ak as CalcOrigin, al as CalcVariant, am as ChildrenStatusState, an as CompletionState, ao as DEFAULT_RESOLVER_OPTIONS, ap as DEFAULT_RUNTIME_OPTIONS, aq as DEFAULT_SOUND_PROFILE, ar as DIM_COUNT, as as DIM_ENERGY, at as DIM_LENGTH, au as DIM_MASS, av as DIM_TIME, aw as DIM_ZERO, ax as DISCIPLINE_FACTORS, ay as DisplayState, az as EFFORT_DISCIPLINES, aA as EFFORT_REGISTRY_ORIGINS, aB as EffortBaseAttributes, aC as EffortDerivation, aD as EffortDiscipline, aE as EffortMaterializer, aF as EffortResolvedFrom, aG as EquipmentStorageAdapter, aH as FenceDialect, aI as FragmentDisplayState, aJ as FragmentState, aK as IAnalyticsProcessorDescriptor, aL as IEquipmentRegistry, aM as INTENSITY_TIERS, aN as IScript, aO as IntensityTier, aP as InterceptMode, aQ as MemoryLocation, aR as MemoryType, aS as MemoryTypeMap, aT as MemoryValueOf, aU as NAMED_COMPOUNDS, aV as ReferenceCatalog, aW as ResolvedReferences, aX as RoundState, aY as RuntimeState, aZ as SEED_PRECEDENCE_RANK, a_ as ScriptRuntimeDependencies, a$ as SeedPrecedenceTier, b0 as SoundRule, b1 as SoundTriggerAnchor, b2 as SoundTriggerPoint, b3 as StackEvent, b4 as TimerDirection, b5 as VISIBILITY_ICONS, b6 as VISIBILITY_LABELS, b7 as addDim, b8 as compoundName, b9 as createBrowserRuntimeNow, ba as createReferenceIndex, bb as dedupeEntitiesByPrecedence, bc as dimEquals, bd as disciplineFactorFor, be as extractStatementRefs, bf as filterTagsByVisibility, bg as formatDim, bh as formatSoundTrigger, bi as frozenNow, bj as getMetricVisibility, bk as getRuntimeNowMs, bl as isDimensionless, bm as isEffortDiscipline, bn as isFragmentTag, bo as parseSoundTrigger, bp as resolveEntityRank, bq as resolveEntityTier, br as resolveProfileRules, bs as resolveSourceRank, bt as resolveSourceTier, bu as slugifyRefLabel, bv as subDim, bw as wallClockNow } from './browserRuntimeNow-CnGciOM0.cjs';
5
5
  import { Tree } from '@lezer/common';
6
6
  import { LanguageSupport, LRLanguage } from '@codemirror/language';
7
+ import { CompletionSource, Completion } from '@codemirror/autocomplete';
8
+ import { Extension } from '@codemirror/state';
7
9
  import { LRParser } from '@lezer/lr';
8
10
 
9
11
  /**
@@ -347,28 +349,6 @@ declare class WodDialect implements IDialect {
347
349
  analyze(statement: ICodeStatement): DialectAnalysis;
348
350
  }
349
351
 
350
- /**
351
- * Cardio dialect for recognizing endurance/aerobic workout patterns.
352
- *
353
- * Recognizes:
354
- * - RUN / JOG / SPRINT: Running activities
355
- * - ROW: Rowing (erg, water)
356
- * - BIKE / CYCLE: Cycling activities
357
- * - SWIM: Swimming
358
- * - WALK: Walking / recovery activity
359
- * - Distance-only statements (e.g. "5km", "400m") without explicit activity
360
- *
361
- * Emitted hints (dot-namespaced):
362
- * domain.cardio - any statement processed by this dialect
363
- * workout.run - running activity
364
- * workout.row - rowing activity
365
- * workout.bike - cycling activity
366
- * workout.swim - swimming activity
367
- * workout.walk - walking activity
368
- * behavior.distance_based - primary metric is distance
369
- * behavior.pace_based - pacing / splits are relevant
370
- * behavior.aerobic - sustained aerobic effort
371
- */
372
352
  declare class CardioDialect implements IDialect {
373
353
  id: string;
374
354
  name: string;
@@ -403,10 +383,10 @@ declare class YogaDialect implements IDialect {
403
383
  * Common yoga pose keywords.
404
384
  * TODO: Expand this list as the dialect matures.
405
385
  */
406
- private static readonly POSE_KEYWORDS;
407
- private static readonly FLOW_KEYWORDS;
408
- private static readonly BREATHING_KEYWORDS;
409
- private static readonly MEDITATION_KEYWORDS;
386
+ static readonly POSE_KEYWORDS: string[];
387
+ static readonly FLOW_KEYWORDS: string[];
388
+ static readonly BREATHING_KEYWORDS: string[];
389
+ static readonly MEDITATION_KEYWORDS: string[];
410
390
  private hasAnyKeyword;
411
391
  analyze(statement: ICodeStatement): DialectAnalysis;
412
392
  }
@@ -437,8 +417,8 @@ declare class HabitsDialect implements IDialect {
437
417
  * Keywords that indicate a habit/daily-tracking context.
438
418
  * TODO: Expand as habit vocabulary is refined.
439
419
  */
440
- private static readonly HABIT_KEYWORDS;
441
- private static readonly STREAK_KEYWORDS;
420
+ static readonly HABIT_KEYWORDS: string[];
421
+ static readonly STREAK_KEYWORDS: string[];
442
422
  private hasAnyKeyword;
443
423
  analyze(statement: ICodeStatement): DialectAnalysis;
444
424
  }
@@ -688,6 +668,8 @@ interface SyntaxFacts {
688
668
  statements: SyntaxStatement[];
689
669
  }
690
670
 
671
+ /** Property keys the classifier understands, mapped to their metric type. */
672
+ declare const PROPERTY_KEY_TO_METRIC_TYPE: Record<string, MetricType>;
691
673
  /** Parser-level reference configuration: shared index + note-level defaults. */
692
674
  interface ParseReferences {
693
675
  index: ReferenceIndex;
@@ -695,6 +677,10 @@ interface ParseReferences {
695
677
  /** Tags a script can reference with `#tag-slug`. */
696
678
  tags?: TagIndex;
697
679
  }
680
+ /** Structural keywords that lex as effort words but are not movements. */
681
+ declare const STRUCTURAL_EFFORT_WORDS: ReadonlySet<string>;
682
+ /** Property keys resolved against the reference catalog (effort/equipment). */
683
+ declare const REFERENCE_PAIR_KEYS: ReadonlySet<string>;
698
684
  declare function classifyStatements(facts: SyntaxFacts, references?: ParseReferences): ParsedCodeStatement[];
699
685
 
700
686
  /** Helper to compute line and column numbers from offset without EditorState */
@@ -799,8 +785,100 @@ declare class MdTimerRuntime {
799
785
  */
800
786
  declare function createParser(config?: ParserConfig): MdTimerRuntime;
801
787
 
788
+ /**
789
+ * One host-supplied catalog value (effort, equipment, tag, sound profile).
790
+ * Hosts map their hydrated catalogs onto this shape; the provider only
791
+ * decides *where* each value is offered.
792
+ */
793
+ interface CompletionValueOption {
794
+ /** Text inserted when accepted (slug, authored label, or token). */
795
+ value: string;
796
+ /** Display label; defaults to `value`. */
797
+ label?: string;
798
+ /** Short annotation shown after the label; the provider supplies a default. */
799
+ detail?: string;
800
+ /** Longer description shown in the completion info panel. */
801
+ info?: string;
802
+ }
803
+ /** Sync-or-async catalog callback; called per completion query, never cached globally. */
804
+ type CompletionValueSource = () => readonly CompletionValueOption[] | Promise<readonly CompletionValueOption[]>;
805
+ /** Options for the Whiteboard Script completion provider. Pure — captured per extension. */
806
+ interface WhiteboardScriptCompletionOptions {
807
+ /** `:sport` dialect id (`cardio`, `yoga`, `habits`, `climb`/`climbing`) adding dialect vocabulary to effort slots. */
808
+ sport?: string;
809
+ /** Effort catalog — offered for bare efforts and `effort:` property values. */
810
+ efforts?: CompletionValueSource;
811
+ /** Equipment catalog — offered for `equipment:` property values. */
812
+ equipment?: CompletionValueSource;
813
+ /** Sound profile catalog — offered for `sound:` property values. */
814
+ sounds?: CompletionValueSource;
815
+ /** Tag index — offered after `#` tag references. */
816
+ tags?: CompletionValueSource;
817
+ /** Unit set for this section, including dialect extensions. Defaults to the standard registry. */
818
+ units?: UnitSet;
819
+ }
820
+ /** Property keys offered at `Identifier` positions: reference keys + typed metric properties. */
821
+ declare const COMPLETION_PROPERTY_KEYS: readonly string[];
822
+ /**
823
+ * Syntax-aware Whiteboard Script completion source.
824
+ *
825
+ * Slots (driven by the Lezer tree and line shape, never a global word list):
826
+ * - empty statement → structure snippets, structure keywords, effort catalog, dialect words
827
+ * - effort word → structure keywords, effort catalog, dialect words
828
+ * - after a quantity number → configured standard/dialect units (canonical + aliases), mass-only after `@`
829
+ * - `Identifier` line start → property keys (effort, equipment, rpe, rir, intensity, load, volume, work, sound)
830
+ * - `key: value` → catalog values for effort/equipment/sound
831
+ * - after `#` → tag slugs
832
+ *
833
+ * Pure: all host data arrives via {@link WhiteboardScriptCompletionOptions} closures — no module state.
834
+ */
835
+ declare function whiteboardScriptCompletionSource(options?: WhiteboardScriptCompletionOptions): CompletionSource;
836
+ /**
837
+ * Standalone autocomplete extension for Whiteboard Script — `autocompletion`
838
+ * overridden to the syntax-aware source. Use {@link whiteboardScriptCompletionSource}
839
+ * instead when composing with other completion sources.
840
+ */
841
+ declare function whiteboardScriptCompletion(options?: WhiteboardScriptCompletionOptions): Extension;
842
+
802
843
  declare const whiteboardScriptLanguage: LRLanguage;
803
- declare function whiteboardScript(): LanguageSupport;
844
+ /**
845
+ * Whiteboard Script language support with syntax-aware completion attached.
846
+ *
847
+ * @param options Optional completion configuration (sport, catalog callbacks).
848
+ * Omit for the default provider; pass `whiteboardScriptLanguage` instead when
849
+ * a host composes its own completion sources.
850
+ */
851
+ declare function whiteboardScript(options?: WhiteboardScriptCompletionOptions): LanguageSupport;
852
+
853
+ /**
854
+ * Machine-readable Whiteboard Script structure snippets.
855
+ *
856
+ * Every `template` is a CodeMirror snippet template (`${n:default}` fields,
857
+ * `${0}` final cursor) whose **defaults expand to text the real Lezer grammar
858
+ * accepts with no error nodes** — verified against `whiteboardParser` in
859
+ * `tests/parser/completion.test.ts`. Text follows `docs/language/syntax-reference.md`.
860
+ * The final cursor must use the braced `${0}` form: CodeMirror's snippet parser
861
+ * only recognizes `$…` inside braces and would insert a bare `$0` literally.
862
+ */
863
+ interface WhiteboardScriptSnippet {
864
+ /** Stable machine identifier. */
865
+ name: string;
866
+ /** Menu label. */
867
+ label: string;
868
+ /** Short description shown in the completion menu. */
869
+ detail: string;
870
+ /** CodeMirror snippet template; defaults parse cleanly on their own. */
871
+ template: string;
872
+ }
873
+ declare const whiteboardScriptSnippets: readonly WhiteboardScriptSnippet[];
874
+ /**
875
+ * Expand a snippet template to its plain text by substituting each field's
876
+ * default (and dropping bare `$n` stops). Used to verify snippet defaults
877
+ * parse and by hosts that want a static preview.
878
+ */
879
+ declare function applyTemplateDefaults(template: string): string;
880
+ /** Snippet completions using CodeMirror's snippet apply. */
881
+ declare function snippetCompletions(): Completion[];
804
882
 
805
883
  declare const parser: LRParser;
806
884
 
@@ -5395,4 +5473,4 @@ declare function diffStatement(expected: MetricLine[], actual: readonly IMetric[
5395
5473
  */
5396
5474
  declare function compareStatement(expectations: MetricLine[], actual: readonly IMetric[], mode: MatchMode): string[];
5397
5475
 
5398
- export { ABSENT, AGGREGATE_BUILTINS, AUTHORITATIVE_CASTS, AbortSessionAction, type ActionDescriptor, type ActionPrimitive, AmrapLogicStrategy, AnalyticsContext, AnalyticsEngine, type AnalyticsProfileContext, type AnalyticsResult, AnalyticsTransformer, BUILTIN_CALCS, BUNDLED_EFFORT_COUNT, BehaviorContext, BehaviorEventListener, BehaviorEventType, BlockBuilder, BlockContext, BlockLifecycleOptions, ButtonBehavior, ButtonConfig, CONSUMED_HINTS, CONSUMED_HINT_KEYS, CONTEXT_ATOMS, type CalcAnalysis, CalculationDefinition$1 as CalcDefinition, type CalcDiagnostic, CalcEngine, type CalcEngineDeps, CalcEvalError, CalcLine, CalcParseError, CalcRegistrationError, CalcScope, type CalcStack, type CalcStackOptions, type UnitDef as CalcUnitDef, CalcUnitError, type CalculationDefinition as CalculateBlockDefinition, type CalculateBlockParseError, type CalculateBlockParseResult, CalculateBlockProcessor, CalculationDefinition$1 as CalculationDefinition, CalculationRegistry, CardioDialect, ChildSelectionBehavior, type ChildSelectionConfig, type ChildSelectionLoopCondition, ChildrenStrategy, ChoiceGroupMetric, ClearChildrenAction, ClimbDialect, type ClimbGradeMetricValue, type ClimbGradeSystem, ClimbMetricType, CompileAndPushBlockAction, type CompiledLineForm, CompletionDecision, CompletionTimestampBehavior, CompositeEffortRegistry, type CompositeEffortRegistryOptions, type ControlsConfig, type CountdownMode, CountdownTimerBehavior, type CountdownTimerConfig, CountupTimerBehavior, type CountupTimerConfig, type CreateAnalyticsEngineOptions, type CreateAnalyticsEngineResult, CrossFitDialect, DAY, DEFAULT_UNRESOLVED_EFFORT_MET, type DayRollup, DialectStack, DimVector, type Dimension, type DurationPrimitive, EFFORT_DATA_METRIC_TYPE, EffortBlock, type EffortBlockConfig, EffortFallbackStrategy, type EffortPrimitive, EffortRegistrySource, EffortResolutionOptions, EffortResolver, EffortResolverOptions, EffortStorageAdapter, EmitEventAction, EmitSystemOutputAction, type EquipmentParseResult, ErrorAction, type EvalContext, EventBus, EventCallback, EventHandlerOptions, type EventHandlerRegistration, ExecutionContext, type ExecutionSnapshot, type ExecutionStatus, ExitBehavior, type ExitConfig, ExprNode, FixtureSyntaxError, type FuzzyCandidate, GenericGroupStrategy, GenericLoopStrategy, GenericTimerStrategy, HabitsDialect, type HeadingPrimitive, IAnalyticsEngine, type IAnalyticsProfile, IAnchorValue, IBehaviorContext, IBlockContext, type ICastSubscription, IEffort, IEffortRegistry, IEffortResolver, IEquipment, IEvent, IEventBus, IEventHandler, IJitCompiler, type ILookupTable, IMemoryLocation, IMemoryReference, type IMetricPresentationPolicy, INowProvider, type IProfileSource, IRealtimeProcessor, IRuntimeAction, IRuntimeActionable, IRuntimeBehavior, IRuntimeBlock, type IRuntimeBlockStrategy, IRuntimeClock, type IRuntimeEventProvider, type IRuntimeFactory, IRuntimeMemory, IRuntimeStack, type IRuntimeSubscription, IScriptRuntime, ISummaryProcessor, InMemoryEffortRegistry, IntervalLogicStrategy, JitCompiler, LabelingBehavior, type LabelingConfig, type LapPrimitive, type LineFormScope, type LineLocator, type LiteralKind, LocalEventProvider, LocalRuntimeSubscription, type LogLevel, type LoggableOutput, type LookupFieldDef, type LookupLayer, LookupRegistry, MAX_TAG_CONTRIBUTION_DEPTH, type MatchMode, MdTimerRuntime, type MemoryEntry, MemoryTag, MemoryTypeEnum, type MetricLine, type MetricObjectPrimitive, type MetricPresentationSurface, type MetricPresentationToken, MetricPromotionBehavior, type MetricPromotionConfig, type MetricRenderKind, type MetricTone, MetricVisibility, type MockClock, NextAction, NextEvent, NextEventHandler, OutputEmitter, OutputListener, PRODUCTION_STRATEGIES, type ParseOptions, type ParseReferences, type ParseResult, type ParserConfig, PopBlockAction, ProjectionResult, type PromotionRule, type PropertyPrimitive, PushBlockAction, PushRestBlockAction, type QuantityPrimitive, REST_EXCLUSION, RPE_LABELS, RUNTIME_LOG_SUBJECT_WIDTH, ReferenceIndex, ReferenceResolutionDefaults, RegisterEventHandlerAction, Registry, ReportOutputBehavior, type ReportOutputConfig, ReportOutputStrategy, ResolvedEffort, type ResolvedEffortData, type ResolvedTagContributions, RestBlock, type RestBlockConfig, type RoundSchemePrimitive, RoundsMetric, type RoundsPrimitive, RuntimeAdapter, RuntimeBlock, type RuntimeBlockOptions, RuntimeBuilder, type RuntimeButton, RuntimeClock, type RuntimeController, type RuntimeControls, RuntimeError, RuntimeFactory, type RuntimeLogEntry, RuntimeLogger, RuntimeMemory, type RuntimeMemoryLocation, RuntimeObservers, RuntimeStack, RuntimeStackOptions, SOUND_PLAY_EVENT, SOUND_PROFILE_METRIC, STANDARD_UNITS, STORE_CALCS, STREAM_ATOMS, ScriptRuntime, type SegmentWithMetadata, SessionRootBlock, type SessionRootConfig, SessionRootStrategy, SnapshotClock, SoundProfile, SoundProfileBehavior, type SoundProfileBehaviorConfig, SoundStrategy, type SourceInput, type SpanList, SpanTrackingBehavior, StackListener, StackObserver, StackSnapshot, StandardAnalyticsProfile, StartSessionAction, type StartSessionOptions, StartWorkoutAction, type StartWorkoutOptions, type StatementMetricDiff, type StaticEnv, type StreamAtomDef, SubscribeOptions, SubscriptionManager, type SyntaxFacts, type SyntaxMeta, type SyntaxPrimitive, type SyntaxStatement, TAG_MARKER_PREFIX, type TagRefPrimitive, TestableBlockConfig, type TextPrimitive, ThrowError, ThrowErrorAction, TimeSpan, TimerState, TwoPassEffortResolutionProcess, TypedMemoryReference, UNITS, type UnitDef$1 as UnitDef, type UnitMatch, UnitRegistry, UnitSet, UnitsDialect, UnregisterEventHandlerAction, Unsubscribe, UpdateNextPreviewAction, type Val, WaitingToStartBlock, WaitingToStartInjectorBehavior, WhiteboardScript, WodDialect, YogaDialect, addAliasToEffort, buildStaticLookups, buildTooltip, bundledEfforts, calculateElapsed, canonicalizeType, checkCalcLine, classifyStatements, closeCurrentSpan, collapseUnresolvedChoices, commonFixtureSet, compareStatement, compileLineForm, composeDivUnit, composeMulUnit, computeColumnLabel, computeLabel, computeWorkloadRollups, convertScalar, createAnalyticsEngineForBlock, createCalcEngine, createCalcStack, createCompiler, createDialectStack, createDisciplinesTable, createEffortTable, createLineLocator, createPolicy as createMetricPresentationPolicy, createMockClock, createParser, createProfileTable, createRpeLabelsTable, dailySessionLoads, dayBucket, dialectRegistry, dialectStack, diffStatement, documentToEffort, documentToEquipment, effortToDocument, equipmentToDocument, evaluate, evaluateCalculateDefinitions, extractEffortData, extractMetrics, extractStatements, extractStatementsRaw, extractSyntaxFacts, findBestFuzzyMatch, findTagContributionCycles, findUnresolvedChoices, fixtureBackSquat, fixtureBurpee, fixturePlank, fixtureRowing, fixtureRunning, fixtureUserCustom, fixtureUserOverride, formatDuration, formatRuntimeLogLine, formatRuntimeLogRule, formatRuntimeTimestamp, metricsToLabel as fragmentsToLabel, fullFixtureSet, fuseUnits, fuseUnitsInMetrics, getAnalyticsFromLogs, getAnalyticsFromRuntime, getHints, getUnit, hasHint, hintMetric, hintsToContainer, inferDim, isCastSubscription, isChoiceResolved, isTimeLikeMetric, isWithinThreshold, levenshteinDistance, metricPresentation, mutateTimerSpans, normalizeForFuzzy, num, openSpan, outputNodeId, outputNodeIds, padRuntimeLogEvent, padRuntimeLogSubject, parseCalcLine, parseCalculateBlock, parseEffortFile, parseEquipmentFile, parseExpression, parseMetricLine, parseScript, printCalculation, readNestedSection, readTimer, realtimeProcessorRegistry, renderMetric, resolveDominantOrigin, resolveSoundProfile, resolveTagContributions, startSpan, str, strategyRegistry, summaryProcessorRegistry, tagContributionMetrics, tagMarkerSlug, tagMarkerSlugs, tagMarkerType, toStoredOutputStatement, truthy, validateOutputUnit, parser as whiteboardParser, whiteboardScript, whiteboardScriptLanguage, writeChoiceSelection };
5476
+ export { ABSENT, AGGREGATE_BUILTINS, AUTHORITATIVE_CASTS, AbortSessionAction, type ActionDescriptor, type ActionPrimitive, AmrapLogicStrategy, AnalyticsContext, AnalyticsEngine, type AnalyticsProfileContext, type AnalyticsResult, AnalyticsTransformer, BUILTIN_CALCS, BUNDLED_EFFORT_COUNT, BehaviorContext, BehaviorEventListener, BehaviorEventType, BlockBuilder, BlockContext, BlockLifecycleOptions, ButtonBehavior, ButtonConfig, COMPLETION_PROPERTY_KEYS, CONSUMED_HINTS, CONSUMED_HINT_KEYS, CONTEXT_ATOMS, type CalcAnalysis, CalculationDefinition$1 as CalcDefinition, type CalcDiagnostic, CalcEngine, type CalcEngineDeps, CalcEvalError, CalcLine, CalcParseError, CalcRegistrationError, CalcScope, type CalcStack, type CalcStackOptions, type UnitDef as CalcUnitDef, CalcUnitError, type CalculationDefinition as CalculateBlockDefinition, type CalculateBlockParseError, type CalculateBlockParseResult, CalculateBlockProcessor, CalculationDefinition$1 as CalculationDefinition, CalculationRegistry, CardioDialect, ChildSelectionBehavior, type ChildSelectionConfig, type ChildSelectionLoopCondition, ChildrenStrategy, ChoiceGroupMetric, ClearChildrenAction, ClimbDialect, type ClimbGradeMetricValue, type ClimbGradeSystem, ClimbMetricType, CompileAndPushBlockAction, type CompiledLineForm, CompletionDecision, CompletionTimestampBehavior, type CompletionValueOption, type CompletionValueSource, CompositeEffortRegistry, type CompositeEffortRegistryOptions, type ControlsConfig, type CountdownMode, CountdownTimerBehavior, type CountdownTimerConfig, CountupTimerBehavior, type CountupTimerConfig, type CreateAnalyticsEngineOptions, type CreateAnalyticsEngineResult, CrossFitDialect, DAY, DEFAULT_UNRESOLVED_EFFORT_MET, type DayRollup, DialectStack, DimVector, type Dimension, type DurationPrimitive, EFFORT_DATA_METRIC_TYPE, EffortBlock, type EffortBlockConfig, EffortFallbackStrategy, type EffortPrimitive, EffortRegistrySource, EffortResolutionOptions, EffortResolver, EffortResolverOptions, EffortStorageAdapter, EmitEventAction, EmitSystemOutputAction, type EquipmentParseResult, ErrorAction, type EvalContext, EventBus, EventCallback, EventHandlerOptions, type EventHandlerRegistration, ExecutionContext, type ExecutionSnapshot, type ExecutionStatus, ExitBehavior, type ExitConfig, ExprNode, FixtureSyntaxError, type FuzzyCandidate, GenericGroupStrategy, GenericLoopStrategy, GenericTimerStrategy, HabitsDialect, type HeadingPrimitive, IAnalyticsEngine, type IAnalyticsProfile, IAnchorValue, IBehaviorContext, IBlockContext, type ICastSubscription, IEffort, IEffortRegistry, IEffortResolver, IEquipment, IEvent, IEventBus, IEventHandler, IJitCompiler, type ILookupTable, IMemoryLocation, IMemoryReference, type IMetricPresentationPolicy, INowProvider, type IProfileSource, IRealtimeProcessor, IRuntimeAction, IRuntimeActionable, IRuntimeBehavior, IRuntimeBlock, type IRuntimeBlockStrategy, IRuntimeClock, type IRuntimeEventProvider, type IRuntimeFactory, IRuntimeMemory, IRuntimeStack, type IRuntimeSubscription, IScriptRuntime, ISummaryProcessor, InMemoryEffortRegistry, IntervalLogicStrategy, JitCompiler, LabelingBehavior, type LabelingConfig, type LapPrimitive, type LineFormScope, type LineLocator, type LiteralKind, LocalEventProvider, LocalRuntimeSubscription, type LogLevel, type LoggableOutput, type LookupFieldDef, type LookupLayer, LookupRegistry, MAX_TAG_CONTRIBUTION_DEPTH, type MatchMode, MdTimerRuntime, type MemoryEntry, MemoryTag, MemoryTypeEnum, type MetricLine, type MetricObjectPrimitive, type MetricPresentationSurface, type MetricPresentationToken, MetricPromotionBehavior, type MetricPromotionConfig, type MetricRenderKind, type MetricTone, MetricVisibility, type MockClock, NextAction, NextEvent, NextEventHandler, OutputEmitter, OutputListener, PRODUCTION_STRATEGIES, PROPERTY_KEY_TO_METRIC_TYPE, type ParseOptions, type ParseReferences, type ParseResult, type ParserConfig, PopBlockAction, ProjectionResult, type PromotionRule, type PropertyPrimitive, PushBlockAction, PushRestBlockAction, type QuantityPrimitive, REFERENCE_PAIR_KEYS, REST_EXCLUSION, RPE_LABELS, RUNTIME_LOG_SUBJECT_WIDTH, ReferenceIndex, ReferenceResolutionDefaults, RegisterEventHandlerAction, Registry, ReportOutputBehavior, type ReportOutputConfig, ReportOutputStrategy, ResolvedEffort, type ResolvedEffortData, type ResolvedTagContributions, RestBlock, type RestBlockConfig, type RoundSchemePrimitive, RoundsMetric, type RoundsPrimitive, RuntimeAdapter, RuntimeBlock, type RuntimeBlockOptions, RuntimeBuilder, type RuntimeButton, RuntimeClock, type RuntimeController, type RuntimeControls, RuntimeError, RuntimeFactory, type RuntimeLogEntry, RuntimeLogger, RuntimeMemory, type RuntimeMemoryLocation, RuntimeObservers, RuntimeStack, RuntimeStackOptions, SOUND_PLAY_EVENT, SOUND_PROFILE_METRIC, STANDARD_UNITS, STORE_CALCS, STREAM_ATOMS, STRUCTURAL_EFFORT_WORDS, ScriptRuntime, type SegmentWithMetadata, SessionRootBlock, type SessionRootConfig, SessionRootStrategy, SnapshotClock, SoundProfile, SoundProfileBehavior, type SoundProfileBehaviorConfig, SoundStrategy, type SourceInput, type SpanList, SpanTrackingBehavior, StackListener, StackObserver, StackSnapshot, StandardAnalyticsProfile, StartSessionAction, type StartSessionOptions, StartWorkoutAction, type StartWorkoutOptions, type StatementMetricDiff, type StaticEnv, type StreamAtomDef, SubscribeOptions, SubscriptionManager, type SyntaxFacts, type SyntaxMeta, type SyntaxPrimitive, type SyntaxStatement, TAG_MARKER_PREFIX, type TagRefPrimitive, TestableBlockConfig, type TextPrimitive, ThrowError, ThrowErrorAction, TimeSpan, TimerState, TwoPassEffortResolutionProcess, TypedMemoryReference, UNITS, type UnitDef$1 as UnitDef, type UnitMatch, UnitRegistry, UnitSet, UnitsDialect, UnregisterEventHandlerAction, Unsubscribe, UpdateNextPreviewAction, type Val, WaitingToStartBlock, WaitingToStartInjectorBehavior, WhiteboardScript, type WhiteboardScriptCompletionOptions, type WhiteboardScriptSnippet, WodDialect, YogaDialect, addAliasToEffort, applyTemplateDefaults, buildStaticLookups, buildTooltip, bundledEfforts, calculateElapsed, canonicalizeType, checkCalcLine, classifyStatements, closeCurrentSpan, collapseUnresolvedChoices, commonFixtureSet, compareStatement, compileLineForm, composeDivUnit, composeMulUnit, computeColumnLabel, computeLabel, computeWorkloadRollups, convertScalar, createAnalyticsEngineForBlock, createCalcEngine, createCalcStack, createCompiler, createDialectStack, createDisciplinesTable, createEffortTable, createLineLocator, createPolicy as createMetricPresentationPolicy, createMockClock, createParser, createProfileTable, createRpeLabelsTable, dailySessionLoads, dayBucket, dialectRegistry, dialectStack, diffStatement, documentToEffort, documentToEquipment, effortToDocument, equipmentToDocument, evaluate, evaluateCalculateDefinitions, extractEffortData, extractMetrics, extractStatements, extractStatementsRaw, extractSyntaxFacts, findBestFuzzyMatch, findTagContributionCycles, findUnresolvedChoices, fixtureBackSquat, fixtureBurpee, fixturePlank, fixtureRowing, fixtureRunning, fixtureUserCustom, fixtureUserOverride, formatDuration, formatRuntimeLogLine, formatRuntimeLogRule, formatRuntimeTimestamp, metricsToLabel as fragmentsToLabel, fullFixtureSet, fuseUnits, fuseUnitsInMetrics, getAnalyticsFromLogs, getAnalyticsFromRuntime, getHints, getUnit, hasHint, hintMetric, hintsToContainer, inferDim, isCastSubscription, isChoiceResolved, isTimeLikeMetric, isWithinThreshold, levenshteinDistance, metricPresentation, mutateTimerSpans, normalizeForFuzzy, num, openSpan, outputNodeId, outputNodeIds, padRuntimeLogEvent, padRuntimeLogSubject, parseCalcLine, parseCalculateBlock, parseEffortFile, parseEquipmentFile, parseExpression, parseMetricLine, parseScript, printCalculation, readNestedSection, readTimer, realtimeProcessorRegistry, renderMetric, resolveDominantOrigin, resolveSoundProfile, resolveTagContributions, snippetCompletions, startSpan, str, strategyRegistry, summaryProcessorRegistry, tagContributionMetrics, tagMarkerSlug, tagMarkerSlugs, tagMarkerType, toStoredOutputStatement, truthy, validateOutputUnit, parser as whiteboardParser, whiteboardScript, whiteboardScriptCompletion, whiteboardScriptCompletionSource, whiteboardScriptLanguage, whiteboardScriptSnippets, writeChoiceSelection };
package/dist/index.d.ts CHANGED
@@ -1,9 +1,11 @@
1
1
  import { IMetric, MetricContainer, MetricOrigin, MetricType, IDialect, ICodeStatement, DialectAnalysis, TagIndex, ParsedCodeStatement, TagMetricContribution, IOutputStatement, OutputStatementType, BlockKey, TagReferenceMetadata, ScriptBlock, FenceDialect, Segment, AnalyticsGroup, StoredOutputStatement, OutputStatement } from '@bitcobblers/wod-wiki-core';
2
2
  export { ParseError } from '@bitcobblers/wod-wiki-core';
3
- import { R as ReferenceIndex, a as ReferenceResolutionDefaults, W as WhiteboardScript, I as IEquipment, b as IEffort, c as IEffortResolver, d as IEffortRegistry, E as EffortResolverOptions, e as EffortResolutionOptions, f as ResolvedEffort, g as EffortRegistrySource, h as EffortStorageAdapter, i as IRuntimeActionable, j as IEventBus, k as IRuntimeStack, l as IRuntimeClock, m as IJitCompiler, n as INowProvider, o as RuntimeStackOptions, p as RuntimeError, A as AnalyticsContext, q as IEvent, r as IRuntimeAction, O as OutputListener, U as Unsubscribe, s as IAnalyticsEngine, t as IRuntimeBlock, u as IBehaviorContext, B as BehaviorEventType, v as BehaviorEventListener, S as SubscribeOptions, w as Unsubscribe$1, x as OutputOptions, M as MemoryTag, y as IMemoryLocation, z as IRuntimeBehavior, C as IBlockContext, D as MetricVisibility, F as BlockLifecycleOptions, G as CompletionDecision, T as TimeSpan, H as IRuntimeMemory, J as TypedMemoryReference, K as MemorySearchCriteria, L as IMemoryReference, N as RuntimeStackLogger, P as StackObserver, Q as StackSnapshot, V as StackListener, X as MemoryTypeEnum, Y as IAnchorValue, Z as SoundProfile, _ as ButtonConfig, $ as IEventHandler, a0 as HandlerScope, a1 as IScriptRuntime, a2 as TestableBlockConfig, a3 as IRuntimeOptions, a4 as ScriptRuntime, a5 as EventHandlerOptions, a6 as EventCallback, a7 as TimerState, a8 as CalculationDefinition$1, a9 as IRealtimeProcessor, aa as ISummaryProcessor, ab as ProjectionResult, ac as DimVector, ad as CalcLine, ae as ExprNode, af as CalcScope } from './browserRuntimeNow-_zhhbzoE.js';
4
- export { ag as BinaryOp, ah as ButtonVariant, ai as ButtonsState, aj as CATALOG_PRECEDENCE_RANK, ak as CalcNode, al as CalcOrigin, am as CalcVariant, an as CatalogPrecedenceTier, ao as ChildrenStatusState, ap as CompletionState, aq as DEFAULT_RESOLVER_OPTIONS, ar as DEFAULT_RUNTIME_OPTIONS, as as DEFAULT_SOUND_PROFILE, at as DIM_COUNT, au as DIM_ENERGY, av as DIM_LENGTH, aw as DIM_MASS, ax as DIM_TIME, ay as DIM_ZERO, az as DISCIPLINE_FACTORS, aA as DisplayState, aB as EFFORT_DISCIPLINES, aC as EFFORT_REGISTRY_ORIGINS, aD as EffortBaseAttributes, aE as EffortDerivation, aF as EffortDiscipline, aG as EffortMaterializer, aH as EffortResolvedFrom, aI as EquipmentStorageAdapter, aJ as FenceDialect, aK as FragmentDisplayState, aL as FragmentState, aM as IAnalyticsProcessorDescriptor, aN as IEquipmentRegistry, aO as INTENSITY_TIERS, aP as IScript, aQ as IntensityTier, aR as InterceptMode, aS as MemoryLocation, aT as MemoryType, aU as MemoryTypeMap, aV as MemoryValueOf, aW as NAMED_COMPOUNDS, aX as ReferenceCatalog, aY as ResolvedReferences, aZ as RoundState, a_ as RuntimeState, a$ as ScriptRuntimeDependencies, b0 as SoundRule, b1 as SoundTriggerAnchor, b2 as SoundTriggerPoint, b3 as StackEvent, b4 as TimerDirection, b5 as VISIBILITY_ICONS, b6 as VISIBILITY_LABELS, b7 as addDim, b8 as compoundName, b9 as createBrowserRuntimeNow, ba as createReferenceIndex, bb as dedupeEntitiesByPrecedence, bc as dimEquals, bd as disciplineFactorFor, be as extractStatementRefs, bf as filterTagsByVisibility, bg as formatDim, bh as formatSoundTrigger, bi as frozenNow, bj as getMetricVisibility, bk as getRuntimeNowMs, bl as isDimensionless, bm as isEffortDiscipline, bn as isFragmentTag, bo as parseSoundTrigger, bp as resolveEntityRank, bq as resolveEntityTier, br as resolveProfileRules, bs as resolveSourceRank, bt as resolveSourceTier, bu as slugifyRefLabel, bv as subDim, bw as wallClockNow } from './browserRuntimeNow-_zhhbzoE.js';
3
+ import { R as ReferenceIndex, a as ReferenceResolutionDefaults, W as WhiteboardScript, I as IEquipment, b as IEffort, c as IEffortResolver, d as IEffortRegistry, E as EffortResolverOptions, e as EffortResolutionOptions, f as ResolvedEffort, g as EffortRegistrySource, h as EffortStorageAdapter, i as IRuntimeActionable, j as IEventBus, k as IRuntimeStack, l as IRuntimeClock, m as IJitCompiler, n as INowProvider, o as RuntimeStackOptions, p as RuntimeError, A as AnalyticsContext, q as IEvent, r as IRuntimeAction, O as OutputListener, U as Unsubscribe, s as IAnalyticsEngine, t as IRuntimeBlock, u as IBehaviorContext, B as BehaviorEventType, v as BehaviorEventListener, S as SubscribeOptions, w as Unsubscribe$1, x as OutputOptions, M as MemoryTag, y as IMemoryLocation, z as IRuntimeBehavior, C as IBlockContext, D as MetricVisibility, F as BlockLifecycleOptions, G as CompletionDecision, T as TimeSpan, H as IRuntimeMemory, J as TypedMemoryReference, K as MemorySearchCriteria, L as IMemoryReference, N as RuntimeStackLogger, P as StackObserver, Q as StackSnapshot, V as StackListener, X as MemoryTypeEnum, Y as IAnchorValue, Z as SoundProfile, _ as ButtonConfig, $ as IEventHandler, a0 as HandlerScope, a1 as IScriptRuntime, a2 as TestableBlockConfig, a3 as IRuntimeOptions, a4 as ScriptRuntime, a5 as EventHandlerOptions, a6 as EventCallback, a7 as TimerState, a8 as CalculationDefinition$1, a9 as IRealtimeProcessor, aa as ISummaryProcessor, ab as ProjectionResult, ac as DimVector, ad as CalcLine, ae as ExprNode, af as CalcScope } from './browserRuntimeNow-CnGciOM0.js';
4
+ export { ag as BinaryOp, ah as ButtonVariant, ai as ButtonsState, aj as CalcNode, ak as CalcOrigin, al as CalcVariant, am as ChildrenStatusState, an as CompletionState, ao as DEFAULT_RESOLVER_OPTIONS, ap as DEFAULT_RUNTIME_OPTIONS, aq as DEFAULT_SOUND_PROFILE, ar as DIM_COUNT, as as DIM_ENERGY, at as DIM_LENGTH, au as DIM_MASS, av as DIM_TIME, aw as DIM_ZERO, ax as DISCIPLINE_FACTORS, ay as DisplayState, az as EFFORT_DISCIPLINES, aA as EFFORT_REGISTRY_ORIGINS, aB as EffortBaseAttributes, aC as EffortDerivation, aD as EffortDiscipline, aE as EffortMaterializer, aF as EffortResolvedFrom, aG as EquipmentStorageAdapter, aH as FenceDialect, aI as FragmentDisplayState, aJ as FragmentState, aK as IAnalyticsProcessorDescriptor, aL as IEquipmentRegistry, aM as INTENSITY_TIERS, aN as IScript, aO as IntensityTier, aP as InterceptMode, aQ as MemoryLocation, aR as MemoryType, aS as MemoryTypeMap, aT as MemoryValueOf, aU as NAMED_COMPOUNDS, aV as ReferenceCatalog, aW as ResolvedReferences, aX as RoundState, aY as RuntimeState, aZ as SEED_PRECEDENCE_RANK, a_ as ScriptRuntimeDependencies, a$ as SeedPrecedenceTier, b0 as SoundRule, b1 as SoundTriggerAnchor, b2 as SoundTriggerPoint, b3 as StackEvent, b4 as TimerDirection, b5 as VISIBILITY_ICONS, b6 as VISIBILITY_LABELS, b7 as addDim, b8 as compoundName, b9 as createBrowserRuntimeNow, ba as createReferenceIndex, bb as dedupeEntitiesByPrecedence, bc as dimEquals, bd as disciplineFactorFor, be as extractStatementRefs, bf as filterTagsByVisibility, bg as formatDim, bh as formatSoundTrigger, bi as frozenNow, bj as getMetricVisibility, bk as getRuntimeNowMs, bl as isDimensionless, bm as isEffortDiscipline, bn as isFragmentTag, bo as parseSoundTrigger, bp as resolveEntityRank, bq as resolveEntityTier, br as resolveProfileRules, bs as resolveSourceRank, bt as resolveSourceTier, bu as slugifyRefLabel, bv as subDim, bw as wallClockNow } from './browserRuntimeNow-CnGciOM0.js';
5
5
  import { Tree } from '@lezer/common';
6
6
  import { LanguageSupport, LRLanguage } from '@codemirror/language';
7
+ import { CompletionSource, Completion } from '@codemirror/autocomplete';
8
+ import { Extension } from '@codemirror/state';
7
9
  import { LRParser } from '@lezer/lr';
8
10
 
9
11
  /**
@@ -347,28 +349,6 @@ declare class WodDialect implements IDialect {
347
349
  analyze(statement: ICodeStatement): DialectAnalysis;
348
350
  }
349
351
 
350
- /**
351
- * Cardio dialect for recognizing endurance/aerobic workout patterns.
352
- *
353
- * Recognizes:
354
- * - RUN / JOG / SPRINT: Running activities
355
- * - ROW: Rowing (erg, water)
356
- * - BIKE / CYCLE: Cycling activities
357
- * - SWIM: Swimming
358
- * - WALK: Walking / recovery activity
359
- * - Distance-only statements (e.g. "5km", "400m") without explicit activity
360
- *
361
- * Emitted hints (dot-namespaced):
362
- * domain.cardio - any statement processed by this dialect
363
- * workout.run - running activity
364
- * workout.row - rowing activity
365
- * workout.bike - cycling activity
366
- * workout.swim - swimming activity
367
- * workout.walk - walking activity
368
- * behavior.distance_based - primary metric is distance
369
- * behavior.pace_based - pacing / splits are relevant
370
- * behavior.aerobic - sustained aerobic effort
371
- */
372
352
  declare class CardioDialect implements IDialect {
373
353
  id: string;
374
354
  name: string;
@@ -403,10 +383,10 @@ declare class YogaDialect implements IDialect {
403
383
  * Common yoga pose keywords.
404
384
  * TODO: Expand this list as the dialect matures.
405
385
  */
406
- private static readonly POSE_KEYWORDS;
407
- private static readonly FLOW_KEYWORDS;
408
- private static readonly BREATHING_KEYWORDS;
409
- private static readonly MEDITATION_KEYWORDS;
386
+ static readonly POSE_KEYWORDS: string[];
387
+ static readonly FLOW_KEYWORDS: string[];
388
+ static readonly BREATHING_KEYWORDS: string[];
389
+ static readonly MEDITATION_KEYWORDS: string[];
410
390
  private hasAnyKeyword;
411
391
  analyze(statement: ICodeStatement): DialectAnalysis;
412
392
  }
@@ -437,8 +417,8 @@ declare class HabitsDialect implements IDialect {
437
417
  * Keywords that indicate a habit/daily-tracking context.
438
418
  * TODO: Expand as habit vocabulary is refined.
439
419
  */
440
- private static readonly HABIT_KEYWORDS;
441
- private static readonly STREAK_KEYWORDS;
420
+ static readonly HABIT_KEYWORDS: string[];
421
+ static readonly STREAK_KEYWORDS: string[];
442
422
  private hasAnyKeyword;
443
423
  analyze(statement: ICodeStatement): DialectAnalysis;
444
424
  }
@@ -688,6 +668,8 @@ interface SyntaxFacts {
688
668
  statements: SyntaxStatement[];
689
669
  }
690
670
 
671
+ /** Property keys the classifier understands, mapped to their metric type. */
672
+ declare const PROPERTY_KEY_TO_METRIC_TYPE: Record<string, MetricType>;
691
673
  /** Parser-level reference configuration: shared index + note-level defaults. */
692
674
  interface ParseReferences {
693
675
  index: ReferenceIndex;
@@ -695,6 +677,10 @@ interface ParseReferences {
695
677
  /** Tags a script can reference with `#tag-slug`. */
696
678
  tags?: TagIndex;
697
679
  }
680
+ /** Structural keywords that lex as effort words but are not movements. */
681
+ declare const STRUCTURAL_EFFORT_WORDS: ReadonlySet<string>;
682
+ /** Property keys resolved against the reference catalog (effort/equipment). */
683
+ declare const REFERENCE_PAIR_KEYS: ReadonlySet<string>;
698
684
  declare function classifyStatements(facts: SyntaxFacts, references?: ParseReferences): ParsedCodeStatement[];
699
685
 
700
686
  /** Helper to compute line and column numbers from offset without EditorState */
@@ -799,8 +785,100 @@ declare class MdTimerRuntime {
799
785
  */
800
786
  declare function createParser(config?: ParserConfig): MdTimerRuntime;
801
787
 
788
+ /**
789
+ * One host-supplied catalog value (effort, equipment, tag, sound profile).
790
+ * Hosts map their hydrated catalogs onto this shape; the provider only
791
+ * decides *where* each value is offered.
792
+ */
793
+ interface CompletionValueOption {
794
+ /** Text inserted when accepted (slug, authored label, or token). */
795
+ value: string;
796
+ /** Display label; defaults to `value`. */
797
+ label?: string;
798
+ /** Short annotation shown after the label; the provider supplies a default. */
799
+ detail?: string;
800
+ /** Longer description shown in the completion info panel. */
801
+ info?: string;
802
+ }
803
+ /** Sync-or-async catalog callback; called per completion query, never cached globally. */
804
+ type CompletionValueSource = () => readonly CompletionValueOption[] | Promise<readonly CompletionValueOption[]>;
805
+ /** Options for the Whiteboard Script completion provider. Pure — captured per extension. */
806
+ interface WhiteboardScriptCompletionOptions {
807
+ /** `:sport` dialect id (`cardio`, `yoga`, `habits`, `climb`/`climbing`) adding dialect vocabulary to effort slots. */
808
+ sport?: string;
809
+ /** Effort catalog — offered for bare efforts and `effort:` property values. */
810
+ efforts?: CompletionValueSource;
811
+ /** Equipment catalog — offered for `equipment:` property values. */
812
+ equipment?: CompletionValueSource;
813
+ /** Sound profile catalog — offered for `sound:` property values. */
814
+ sounds?: CompletionValueSource;
815
+ /** Tag index — offered after `#` tag references. */
816
+ tags?: CompletionValueSource;
817
+ /** Unit set for this section, including dialect extensions. Defaults to the standard registry. */
818
+ units?: UnitSet;
819
+ }
820
+ /** Property keys offered at `Identifier` positions: reference keys + typed metric properties. */
821
+ declare const COMPLETION_PROPERTY_KEYS: readonly string[];
822
+ /**
823
+ * Syntax-aware Whiteboard Script completion source.
824
+ *
825
+ * Slots (driven by the Lezer tree and line shape, never a global word list):
826
+ * - empty statement → structure snippets, structure keywords, effort catalog, dialect words
827
+ * - effort word → structure keywords, effort catalog, dialect words
828
+ * - after a quantity number → configured standard/dialect units (canonical + aliases), mass-only after `@`
829
+ * - `Identifier` line start → property keys (effort, equipment, rpe, rir, intensity, load, volume, work, sound)
830
+ * - `key: value` → catalog values for effort/equipment/sound
831
+ * - after `#` → tag slugs
832
+ *
833
+ * Pure: all host data arrives via {@link WhiteboardScriptCompletionOptions} closures — no module state.
834
+ */
835
+ declare function whiteboardScriptCompletionSource(options?: WhiteboardScriptCompletionOptions): CompletionSource;
836
+ /**
837
+ * Standalone autocomplete extension for Whiteboard Script — `autocompletion`
838
+ * overridden to the syntax-aware source. Use {@link whiteboardScriptCompletionSource}
839
+ * instead when composing with other completion sources.
840
+ */
841
+ declare function whiteboardScriptCompletion(options?: WhiteboardScriptCompletionOptions): Extension;
842
+
802
843
  declare const whiteboardScriptLanguage: LRLanguage;
803
- declare function whiteboardScript(): LanguageSupport;
844
+ /**
845
+ * Whiteboard Script language support with syntax-aware completion attached.
846
+ *
847
+ * @param options Optional completion configuration (sport, catalog callbacks).
848
+ * Omit for the default provider; pass `whiteboardScriptLanguage` instead when
849
+ * a host composes its own completion sources.
850
+ */
851
+ declare function whiteboardScript(options?: WhiteboardScriptCompletionOptions): LanguageSupport;
852
+
853
+ /**
854
+ * Machine-readable Whiteboard Script structure snippets.
855
+ *
856
+ * Every `template` is a CodeMirror snippet template (`${n:default}` fields,
857
+ * `${0}` final cursor) whose **defaults expand to text the real Lezer grammar
858
+ * accepts with no error nodes** — verified against `whiteboardParser` in
859
+ * `tests/parser/completion.test.ts`. Text follows `docs/language/syntax-reference.md`.
860
+ * The final cursor must use the braced `${0}` form: CodeMirror's snippet parser
861
+ * only recognizes `$…` inside braces and would insert a bare `$0` literally.
862
+ */
863
+ interface WhiteboardScriptSnippet {
864
+ /** Stable machine identifier. */
865
+ name: string;
866
+ /** Menu label. */
867
+ label: string;
868
+ /** Short description shown in the completion menu. */
869
+ detail: string;
870
+ /** CodeMirror snippet template; defaults parse cleanly on their own. */
871
+ template: string;
872
+ }
873
+ declare const whiteboardScriptSnippets: readonly WhiteboardScriptSnippet[];
874
+ /**
875
+ * Expand a snippet template to its plain text by substituting each field's
876
+ * default (and dropping bare `$n` stops). Used to verify snippet defaults
877
+ * parse and by hosts that want a static preview.
878
+ */
879
+ declare function applyTemplateDefaults(template: string): string;
880
+ /** Snippet completions using CodeMirror's snippet apply. */
881
+ declare function snippetCompletions(): Completion[];
804
882
 
805
883
  declare const parser: LRParser;
806
884
 
@@ -5395,4 +5473,4 @@ declare function diffStatement(expected: MetricLine[], actual: readonly IMetric[
5395
5473
  */
5396
5474
  declare function compareStatement(expectations: MetricLine[], actual: readonly IMetric[], mode: MatchMode): string[];
5397
5475
 
5398
- export { ABSENT, AGGREGATE_BUILTINS, AUTHORITATIVE_CASTS, AbortSessionAction, type ActionDescriptor, type ActionPrimitive, AmrapLogicStrategy, AnalyticsContext, AnalyticsEngine, type AnalyticsProfileContext, type AnalyticsResult, AnalyticsTransformer, BUILTIN_CALCS, BUNDLED_EFFORT_COUNT, BehaviorContext, BehaviorEventListener, BehaviorEventType, BlockBuilder, BlockContext, BlockLifecycleOptions, ButtonBehavior, ButtonConfig, CONSUMED_HINTS, CONSUMED_HINT_KEYS, CONTEXT_ATOMS, type CalcAnalysis, CalculationDefinition$1 as CalcDefinition, type CalcDiagnostic, CalcEngine, type CalcEngineDeps, CalcEvalError, CalcLine, CalcParseError, CalcRegistrationError, CalcScope, type CalcStack, type CalcStackOptions, type UnitDef as CalcUnitDef, CalcUnitError, type CalculationDefinition as CalculateBlockDefinition, type CalculateBlockParseError, type CalculateBlockParseResult, CalculateBlockProcessor, CalculationDefinition$1 as CalculationDefinition, CalculationRegistry, CardioDialect, ChildSelectionBehavior, type ChildSelectionConfig, type ChildSelectionLoopCondition, ChildrenStrategy, ChoiceGroupMetric, ClearChildrenAction, ClimbDialect, type ClimbGradeMetricValue, type ClimbGradeSystem, ClimbMetricType, CompileAndPushBlockAction, type CompiledLineForm, CompletionDecision, CompletionTimestampBehavior, CompositeEffortRegistry, type CompositeEffortRegistryOptions, type ControlsConfig, type CountdownMode, CountdownTimerBehavior, type CountdownTimerConfig, CountupTimerBehavior, type CountupTimerConfig, type CreateAnalyticsEngineOptions, type CreateAnalyticsEngineResult, CrossFitDialect, DAY, DEFAULT_UNRESOLVED_EFFORT_MET, type DayRollup, DialectStack, DimVector, type Dimension, type DurationPrimitive, EFFORT_DATA_METRIC_TYPE, EffortBlock, type EffortBlockConfig, EffortFallbackStrategy, type EffortPrimitive, EffortRegistrySource, EffortResolutionOptions, EffortResolver, EffortResolverOptions, EffortStorageAdapter, EmitEventAction, EmitSystemOutputAction, type EquipmentParseResult, ErrorAction, type EvalContext, EventBus, EventCallback, EventHandlerOptions, type EventHandlerRegistration, ExecutionContext, type ExecutionSnapshot, type ExecutionStatus, ExitBehavior, type ExitConfig, ExprNode, FixtureSyntaxError, type FuzzyCandidate, GenericGroupStrategy, GenericLoopStrategy, GenericTimerStrategy, HabitsDialect, type HeadingPrimitive, IAnalyticsEngine, type IAnalyticsProfile, IAnchorValue, IBehaviorContext, IBlockContext, type ICastSubscription, IEffort, IEffortRegistry, IEffortResolver, IEquipment, IEvent, IEventBus, IEventHandler, IJitCompiler, type ILookupTable, IMemoryLocation, IMemoryReference, type IMetricPresentationPolicy, INowProvider, type IProfileSource, IRealtimeProcessor, IRuntimeAction, IRuntimeActionable, IRuntimeBehavior, IRuntimeBlock, type IRuntimeBlockStrategy, IRuntimeClock, type IRuntimeEventProvider, type IRuntimeFactory, IRuntimeMemory, IRuntimeStack, type IRuntimeSubscription, IScriptRuntime, ISummaryProcessor, InMemoryEffortRegistry, IntervalLogicStrategy, JitCompiler, LabelingBehavior, type LabelingConfig, type LapPrimitive, type LineFormScope, type LineLocator, type LiteralKind, LocalEventProvider, LocalRuntimeSubscription, type LogLevel, type LoggableOutput, type LookupFieldDef, type LookupLayer, LookupRegistry, MAX_TAG_CONTRIBUTION_DEPTH, type MatchMode, MdTimerRuntime, type MemoryEntry, MemoryTag, MemoryTypeEnum, type MetricLine, type MetricObjectPrimitive, type MetricPresentationSurface, type MetricPresentationToken, MetricPromotionBehavior, type MetricPromotionConfig, type MetricRenderKind, type MetricTone, MetricVisibility, type MockClock, NextAction, NextEvent, NextEventHandler, OutputEmitter, OutputListener, PRODUCTION_STRATEGIES, type ParseOptions, type ParseReferences, type ParseResult, type ParserConfig, PopBlockAction, ProjectionResult, type PromotionRule, type PropertyPrimitive, PushBlockAction, PushRestBlockAction, type QuantityPrimitive, REST_EXCLUSION, RPE_LABELS, RUNTIME_LOG_SUBJECT_WIDTH, ReferenceIndex, ReferenceResolutionDefaults, RegisterEventHandlerAction, Registry, ReportOutputBehavior, type ReportOutputConfig, ReportOutputStrategy, ResolvedEffort, type ResolvedEffortData, type ResolvedTagContributions, RestBlock, type RestBlockConfig, type RoundSchemePrimitive, RoundsMetric, type RoundsPrimitive, RuntimeAdapter, RuntimeBlock, type RuntimeBlockOptions, RuntimeBuilder, type RuntimeButton, RuntimeClock, type RuntimeController, type RuntimeControls, RuntimeError, RuntimeFactory, type RuntimeLogEntry, RuntimeLogger, RuntimeMemory, type RuntimeMemoryLocation, RuntimeObservers, RuntimeStack, RuntimeStackOptions, SOUND_PLAY_EVENT, SOUND_PROFILE_METRIC, STANDARD_UNITS, STORE_CALCS, STREAM_ATOMS, ScriptRuntime, type SegmentWithMetadata, SessionRootBlock, type SessionRootConfig, SessionRootStrategy, SnapshotClock, SoundProfile, SoundProfileBehavior, type SoundProfileBehaviorConfig, SoundStrategy, type SourceInput, type SpanList, SpanTrackingBehavior, StackListener, StackObserver, StackSnapshot, StandardAnalyticsProfile, StartSessionAction, type StartSessionOptions, StartWorkoutAction, type StartWorkoutOptions, type StatementMetricDiff, type StaticEnv, type StreamAtomDef, SubscribeOptions, SubscriptionManager, type SyntaxFacts, type SyntaxMeta, type SyntaxPrimitive, type SyntaxStatement, TAG_MARKER_PREFIX, type TagRefPrimitive, TestableBlockConfig, type TextPrimitive, ThrowError, ThrowErrorAction, TimeSpan, TimerState, TwoPassEffortResolutionProcess, TypedMemoryReference, UNITS, type UnitDef$1 as UnitDef, type UnitMatch, UnitRegistry, UnitSet, UnitsDialect, UnregisterEventHandlerAction, Unsubscribe, UpdateNextPreviewAction, type Val, WaitingToStartBlock, WaitingToStartInjectorBehavior, WhiteboardScript, WodDialect, YogaDialect, addAliasToEffort, buildStaticLookups, buildTooltip, bundledEfforts, calculateElapsed, canonicalizeType, checkCalcLine, classifyStatements, closeCurrentSpan, collapseUnresolvedChoices, commonFixtureSet, compareStatement, compileLineForm, composeDivUnit, composeMulUnit, computeColumnLabel, computeLabel, computeWorkloadRollups, convertScalar, createAnalyticsEngineForBlock, createCalcEngine, createCalcStack, createCompiler, createDialectStack, createDisciplinesTable, createEffortTable, createLineLocator, createPolicy as createMetricPresentationPolicy, createMockClock, createParser, createProfileTable, createRpeLabelsTable, dailySessionLoads, dayBucket, dialectRegistry, dialectStack, diffStatement, documentToEffort, documentToEquipment, effortToDocument, equipmentToDocument, evaluate, evaluateCalculateDefinitions, extractEffortData, extractMetrics, extractStatements, extractStatementsRaw, extractSyntaxFacts, findBestFuzzyMatch, findTagContributionCycles, findUnresolvedChoices, fixtureBackSquat, fixtureBurpee, fixturePlank, fixtureRowing, fixtureRunning, fixtureUserCustom, fixtureUserOverride, formatDuration, formatRuntimeLogLine, formatRuntimeLogRule, formatRuntimeTimestamp, metricsToLabel as fragmentsToLabel, fullFixtureSet, fuseUnits, fuseUnitsInMetrics, getAnalyticsFromLogs, getAnalyticsFromRuntime, getHints, getUnit, hasHint, hintMetric, hintsToContainer, inferDim, isCastSubscription, isChoiceResolved, isTimeLikeMetric, isWithinThreshold, levenshteinDistance, metricPresentation, mutateTimerSpans, normalizeForFuzzy, num, openSpan, outputNodeId, outputNodeIds, padRuntimeLogEvent, padRuntimeLogSubject, parseCalcLine, parseCalculateBlock, parseEffortFile, parseEquipmentFile, parseExpression, parseMetricLine, parseScript, printCalculation, readNestedSection, readTimer, realtimeProcessorRegistry, renderMetric, resolveDominantOrigin, resolveSoundProfile, resolveTagContributions, startSpan, str, strategyRegistry, summaryProcessorRegistry, tagContributionMetrics, tagMarkerSlug, tagMarkerSlugs, tagMarkerType, toStoredOutputStatement, truthy, validateOutputUnit, parser as whiteboardParser, whiteboardScript, whiteboardScriptLanguage, writeChoiceSelection };
5476
+ export { ABSENT, AGGREGATE_BUILTINS, AUTHORITATIVE_CASTS, AbortSessionAction, type ActionDescriptor, type ActionPrimitive, AmrapLogicStrategy, AnalyticsContext, AnalyticsEngine, type AnalyticsProfileContext, type AnalyticsResult, AnalyticsTransformer, BUILTIN_CALCS, BUNDLED_EFFORT_COUNT, BehaviorContext, BehaviorEventListener, BehaviorEventType, BlockBuilder, BlockContext, BlockLifecycleOptions, ButtonBehavior, ButtonConfig, COMPLETION_PROPERTY_KEYS, CONSUMED_HINTS, CONSUMED_HINT_KEYS, CONTEXT_ATOMS, type CalcAnalysis, CalculationDefinition$1 as CalcDefinition, type CalcDiagnostic, CalcEngine, type CalcEngineDeps, CalcEvalError, CalcLine, CalcParseError, CalcRegistrationError, CalcScope, type CalcStack, type CalcStackOptions, type UnitDef as CalcUnitDef, CalcUnitError, type CalculationDefinition as CalculateBlockDefinition, type CalculateBlockParseError, type CalculateBlockParseResult, CalculateBlockProcessor, CalculationDefinition$1 as CalculationDefinition, CalculationRegistry, CardioDialect, ChildSelectionBehavior, type ChildSelectionConfig, type ChildSelectionLoopCondition, ChildrenStrategy, ChoiceGroupMetric, ClearChildrenAction, ClimbDialect, type ClimbGradeMetricValue, type ClimbGradeSystem, ClimbMetricType, CompileAndPushBlockAction, type CompiledLineForm, CompletionDecision, CompletionTimestampBehavior, type CompletionValueOption, type CompletionValueSource, CompositeEffortRegistry, type CompositeEffortRegistryOptions, type ControlsConfig, type CountdownMode, CountdownTimerBehavior, type CountdownTimerConfig, CountupTimerBehavior, type CountupTimerConfig, type CreateAnalyticsEngineOptions, type CreateAnalyticsEngineResult, CrossFitDialect, DAY, DEFAULT_UNRESOLVED_EFFORT_MET, type DayRollup, DialectStack, DimVector, type Dimension, type DurationPrimitive, EFFORT_DATA_METRIC_TYPE, EffortBlock, type EffortBlockConfig, EffortFallbackStrategy, type EffortPrimitive, EffortRegistrySource, EffortResolutionOptions, EffortResolver, EffortResolverOptions, EffortStorageAdapter, EmitEventAction, EmitSystemOutputAction, type EquipmentParseResult, ErrorAction, type EvalContext, EventBus, EventCallback, EventHandlerOptions, type EventHandlerRegistration, ExecutionContext, type ExecutionSnapshot, type ExecutionStatus, ExitBehavior, type ExitConfig, ExprNode, FixtureSyntaxError, type FuzzyCandidate, GenericGroupStrategy, GenericLoopStrategy, GenericTimerStrategy, HabitsDialect, type HeadingPrimitive, IAnalyticsEngine, type IAnalyticsProfile, IAnchorValue, IBehaviorContext, IBlockContext, type ICastSubscription, IEffort, IEffortRegistry, IEffortResolver, IEquipment, IEvent, IEventBus, IEventHandler, IJitCompiler, type ILookupTable, IMemoryLocation, IMemoryReference, type IMetricPresentationPolicy, INowProvider, type IProfileSource, IRealtimeProcessor, IRuntimeAction, IRuntimeActionable, IRuntimeBehavior, IRuntimeBlock, type IRuntimeBlockStrategy, IRuntimeClock, type IRuntimeEventProvider, type IRuntimeFactory, IRuntimeMemory, IRuntimeStack, type IRuntimeSubscription, IScriptRuntime, ISummaryProcessor, InMemoryEffortRegistry, IntervalLogicStrategy, JitCompiler, LabelingBehavior, type LabelingConfig, type LapPrimitive, type LineFormScope, type LineLocator, type LiteralKind, LocalEventProvider, LocalRuntimeSubscription, type LogLevel, type LoggableOutput, type LookupFieldDef, type LookupLayer, LookupRegistry, MAX_TAG_CONTRIBUTION_DEPTH, type MatchMode, MdTimerRuntime, type MemoryEntry, MemoryTag, MemoryTypeEnum, type MetricLine, type MetricObjectPrimitive, type MetricPresentationSurface, type MetricPresentationToken, MetricPromotionBehavior, type MetricPromotionConfig, type MetricRenderKind, type MetricTone, MetricVisibility, type MockClock, NextAction, NextEvent, NextEventHandler, OutputEmitter, OutputListener, PRODUCTION_STRATEGIES, PROPERTY_KEY_TO_METRIC_TYPE, type ParseOptions, type ParseReferences, type ParseResult, type ParserConfig, PopBlockAction, ProjectionResult, type PromotionRule, type PropertyPrimitive, PushBlockAction, PushRestBlockAction, type QuantityPrimitive, REFERENCE_PAIR_KEYS, REST_EXCLUSION, RPE_LABELS, RUNTIME_LOG_SUBJECT_WIDTH, ReferenceIndex, ReferenceResolutionDefaults, RegisterEventHandlerAction, Registry, ReportOutputBehavior, type ReportOutputConfig, ReportOutputStrategy, ResolvedEffort, type ResolvedEffortData, type ResolvedTagContributions, RestBlock, type RestBlockConfig, type RoundSchemePrimitive, RoundsMetric, type RoundsPrimitive, RuntimeAdapter, RuntimeBlock, type RuntimeBlockOptions, RuntimeBuilder, type RuntimeButton, RuntimeClock, type RuntimeController, type RuntimeControls, RuntimeError, RuntimeFactory, type RuntimeLogEntry, RuntimeLogger, RuntimeMemory, type RuntimeMemoryLocation, RuntimeObservers, RuntimeStack, RuntimeStackOptions, SOUND_PLAY_EVENT, SOUND_PROFILE_METRIC, STANDARD_UNITS, STORE_CALCS, STREAM_ATOMS, STRUCTURAL_EFFORT_WORDS, ScriptRuntime, type SegmentWithMetadata, SessionRootBlock, type SessionRootConfig, SessionRootStrategy, SnapshotClock, SoundProfile, SoundProfileBehavior, type SoundProfileBehaviorConfig, SoundStrategy, type SourceInput, type SpanList, SpanTrackingBehavior, StackListener, StackObserver, StackSnapshot, StandardAnalyticsProfile, StartSessionAction, type StartSessionOptions, StartWorkoutAction, type StartWorkoutOptions, type StatementMetricDiff, type StaticEnv, type StreamAtomDef, SubscribeOptions, SubscriptionManager, type SyntaxFacts, type SyntaxMeta, type SyntaxPrimitive, type SyntaxStatement, TAG_MARKER_PREFIX, type TagRefPrimitive, TestableBlockConfig, type TextPrimitive, ThrowError, ThrowErrorAction, TimeSpan, TimerState, TwoPassEffortResolutionProcess, TypedMemoryReference, UNITS, type UnitDef$1 as UnitDef, type UnitMatch, UnitRegistry, UnitSet, UnitsDialect, UnregisterEventHandlerAction, Unsubscribe, UpdateNextPreviewAction, type Val, WaitingToStartBlock, WaitingToStartInjectorBehavior, WhiteboardScript, type WhiteboardScriptCompletionOptions, type WhiteboardScriptSnippet, WodDialect, YogaDialect, addAliasToEffort, applyTemplateDefaults, buildStaticLookups, buildTooltip, bundledEfforts, calculateElapsed, canonicalizeType, checkCalcLine, classifyStatements, closeCurrentSpan, collapseUnresolvedChoices, commonFixtureSet, compareStatement, compileLineForm, composeDivUnit, composeMulUnit, computeColumnLabel, computeLabel, computeWorkloadRollups, convertScalar, createAnalyticsEngineForBlock, createCalcEngine, createCalcStack, createCompiler, createDialectStack, createDisciplinesTable, createEffortTable, createLineLocator, createPolicy as createMetricPresentationPolicy, createMockClock, createParser, createProfileTable, createRpeLabelsTable, dailySessionLoads, dayBucket, dialectRegistry, dialectStack, diffStatement, documentToEffort, documentToEquipment, effortToDocument, equipmentToDocument, evaluate, evaluateCalculateDefinitions, extractEffortData, extractMetrics, extractStatements, extractStatementsRaw, extractSyntaxFacts, findBestFuzzyMatch, findTagContributionCycles, findUnresolvedChoices, fixtureBackSquat, fixtureBurpee, fixturePlank, fixtureRowing, fixtureRunning, fixtureUserCustom, fixtureUserOverride, formatDuration, formatRuntimeLogLine, formatRuntimeLogRule, formatRuntimeTimestamp, metricsToLabel as fragmentsToLabel, fullFixtureSet, fuseUnits, fuseUnitsInMetrics, getAnalyticsFromLogs, getAnalyticsFromRuntime, getHints, getUnit, hasHint, hintMetric, hintsToContainer, inferDim, isCastSubscription, isChoiceResolved, isTimeLikeMetric, isWithinThreshold, levenshteinDistance, metricPresentation, mutateTimerSpans, normalizeForFuzzy, num, openSpan, outputNodeId, outputNodeIds, padRuntimeLogEvent, padRuntimeLogSubject, parseCalcLine, parseCalculateBlock, parseEffortFile, parseEquipmentFile, parseExpression, parseMetricLine, parseScript, printCalculation, readNestedSection, readTimer, realtimeProcessorRegistry, renderMetric, resolveDominantOrigin, resolveSoundProfile, resolveTagContributions, snippetCompletions, startSpan, str, strategyRegistry, summaryProcessorRegistry, tagContributionMetrics, tagMarkerSlug, tagMarkerSlugs, tagMarkerType, toStoredOutputStatement, truthy, validateOutputUnit, parser as whiteboardParser, whiteboardScript, whiteboardScriptCompletion, whiteboardScriptCompletionSource, whiteboardScriptLanguage, whiteboardScriptSnippets, writeChoiceSelection };