semiotic 3.8.6 → 3.8.7
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/CLAUDE.md +33 -7
- package/README.md +82 -55
- package/ai/behaviorContracts.cjs +86 -1
- package/ai/componentMetadata.cjs +4 -9
- package/ai/dist/mcp-server.js +97 -10
- package/ai/examples.md +154 -7
- package/ai/schema.json +1611 -145
- package/ai/surface-manifest.json +12 -10
- package/ai/system-prompt.md +9 -3
- package/dist/{chunk-chartContainerDataAudit-FEOD5GTQ.module.min.js → chunk-chartContainerDataAudit-JDSVSKGM.module.min.js} +1 -1
- package/dist/chunk-chunk-2YAZHXL4.module.min.js +2 -0
- package/dist/{chunk-chunk-G7WFWHAD.module.min.js → chunk-chunk-4ITOQRXM.module.min.js} +1 -1
- package/dist/chunk-chunk-5SD6BHVW.module.min.js +2 -0
- package/dist/chunk-chunk-6V5VQVCT.module.min.js +2 -0
- package/dist/chunk-chunk-7TTBHSAG.module.min.js +2 -0
- package/dist/chunk-chunk-7ZDJSYKI.module.min.js +2 -0
- package/dist/chunk-chunk-BGHPD3RA.module.min.js +1 -0
- package/dist/chunk-chunk-BMRZ2SPU.module.min.js +2 -0
- package/dist/chunk-chunk-BNGBEY7N.module.min.js +2 -0
- package/dist/chunk-chunk-C7APLVQD.module.min.js +2 -0
- package/dist/chunk-chunk-DGWFBOGB.module.min.js +1 -0
- package/dist/{chunk-chunk-Q2BS46W2.module.min.js → chunk-chunk-DIVE2DRA.module.min.js} +1 -1
- package/dist/chunk-chunk-FBUNUIPV.module.min.js +2 -0
- package/dist/chunk-chunk-FQPKOAIH.module.min.js +2 -0
- package/dist/chunk-chunk-FRO4TRXK.module.min.js +2 -0
- package/dist/chunk-chunk-G7QVPZUD.module.min.js +2 -0
- package/dist/chunk-chunk-GBPYV4FP.module.min.js +2 -0
- package/dist/chunk-chunk-GU2EJIDJ.module.min.js +2 -0
- package/dist/chunk-chunk-J5QD4RAM.module.min.js +2 -0
- package/dist/{chunk-chunk-RA7JCG7D.module.min.js → chunk-chunk-JWXLNZSM.module.min.js} +1 -1
- package/dist/chunk-chunk-KXAFCCDB.module.min.js +2 -0
- package/dist/chunk-chunk-LG7YKJAK.module.min.js +2 -0
- package/dist/{chunk-chunk-XP3OHHFX.module.min.js → chunk-chunk-LVHDZAT3.module.min.js} +1 -1
- package/dist/chunk-chunk-LWITSR2O.module.min.js +2 -0
- package/dist/{chunk-chunk-SMVD3EQJ.module.min.js → chunk-chunk-MX35T6RX.module.min.js} +1 -1
- package/dist/chunk-chunk-NH4MEAKP.module.min.js +2 -0
- package/dist/chunk-chunk-NJETWX42.module.min.js +2 -0
- package/dist/chunk-chunk-NW25WGLS.module.min.js +2 -0
- package/dist/{chunk-chunk-GFTVACTO.module.min.js → chunk-chunk-OI7R7EJB.module.min.js} +1 -1
- package/dist/{chunk-chunk-OM6NWS4H.module.min.js → chunk-chunk-ONMLEXHR.module.min.js} +1 -1
- package/dist/chunk-chunk-OY66GCE6.module.min.js +1 -0
- package/dist/chunk-chunk-PZFT457G.module.min.js +1 -0
- package/dist/chunk-chunk-Q3WW6JGR.module.min.js +1 -0
- package/dist/chunk-chunk-Q6XKQTOQ.module.min.js +1 -0
- package/dist/chunk-chunk-RJRM2E6P.module.min.js +1 -0
- package/dist/chunk-chunk-RPL7WYXI.module.min.js +1 -0
- package/dist/chunk-chunk-SV4XAZ3Q.module.min.js +1 -0
- package/dist/chunk-chunk-TSCFL235.module.min.js +1 -0
- package/dist/chunk-chunk-UOQRPGPK.module.min.js +2 -0
- package/dist/chunk-chunk-V3OAKG32.module.min.js +1 -0
- package/dist/chunk-chunk-WLOIUMWG.module.min.js +2 -0
- package/dist/chunk-chunk-XEGXX4F7.module.min.js +1 -0
- package/dist/chunk-chunk-XFRBLXYM.module.min.js +1 -0
- package/dist/chunk-chunk-Z2AJERX5.module.min.js +2 -0
- package/dist/chunk-chunk-ZXYDYAB7.module.min.js +2 -0
- package/dist/components/ai/SemioticVACPBridge.d.ts +22 -0
- package/dist/components/ai/chartCapabilities.d.ts +4 -3
- package/dist/components/ai/conversationArc.d.ts +2 -176
- package/dist/components/ai/conversationArcTypes.d.ts +202 -0
- package/dist/components/ai/readerGrounding.d.ts +12 -0
- package/dist/components/ai/vacpAdapter.d.ts +13 -0
- package/dist/components/ai/vacpAdapterActions.d.ts +2 -0
- package/dist/components/ai/vacpAdapterModel.d.ts +7 -0
- package/dist/components/ai/vacpAdapterRuntime.d.ts +26 -0
- package/dist/components/ai/vacpAdapterState.d.ts +3 -0
- package/dist/components/ai/vacpAdapterTypes.d.ts +169 -0
- package/dist/components/ai/vacpTypes.d.ts +160 -0
- package/dist/components/charts/index.d.ts +4 -4
- package/dist/components/charts/physics/ChainReactionChart.capability.d.ts +9 -0
- package/dist/components/charts/physics/ChainReactionChart.d.ts +29 -0
- package/dist/components/charts/physics/CollisionSwarmChart.d.ts +1 -1
- package/dist/components/charts/physics/EventDropChart.d.ts +7 -2
- package/dist/components/charts/physics/GaltonBoardChart.d.ts +1 -1
- package/dist/components/charts/physics/{PhysicsPileChart.capability.d.ts → PacketFlowChart.capability.d.ts} +1 -1
- package/dist/components/charts/physics/{PhysicalFlowChart.d.ts → PacketFlowChart.d.ts} +22 -6
- package/dist/components/charts/physics/PhysicsCustomChart.d.ts +1 -1
- package/dist/components/charts/physics/ProcessFlowChart.d.ts +7 -4
- package/dist/components/charts/physics/{PhysicalFlowChart.capability.d.ts → UnitPileChart.capability.d.ts} +1 -1
- package/dist/components/charts/physics/{PhysicsPileChart.d.ts → UnitPileChart.d.ts} +19 -6
- package/dist/components/charts/physics/crucibleChartProps.d.ts +1 -1
- package/dist/components/charts/physics/crucibleChartUtils.d.ts +9 -0
- package/dist/components/charts/physics/gauntletChartProps.d.ts +6 -1
- package/dist/components/charts/physics/gauntletTerminal.d.ts +61 -0
- package/dist/components/charts/physics/packetFlowSemantics.d.ts +6 -0
- package/dist/components/charts/physics/physicsHocUtils.d.ts +45 -2
- package/dist/components/charts/shared/auditAccessibilityStyles.d.ts +9 -0
- package/dist/components/charts/shared/knownChartComponents.d.ts +1 -1
- package/dist/components/charts/shared/useChartLegend.d.ts +8 -1
- package/dist/components/charts/shared/useChartSetup.d.ts +7 -0
- package/dist/components/data/portability/capabilityBinding.d.ts +41 -0
- package/dist/components/data/portability/index.d.ts +2 -0
- package/dist/components/legendLayout.d.ts +56 -0
- package/dist/components/recipes/geographicDotGrid.d.ts +82 -0
- package/dist/components/recipes/geographicGrid.d.ts +100 -0
- package/dist/components/recipes/physics.d.ts +2 -0
- package/dist/components/recipes/physicsStageGeography.d.ts +137 -0
- package/dist/components/semiotic-ai.d.ts +4 -3
- package/dist/components/semiotic-experimental-vacp.d.ts +11 -0
- package/dist/components/semiotic-experimental.d.ts +6 -3
- package/dist/components/semiotic-geo.d.ts +4 -0
- package/dist/components/semiotic-physics.d.ts +9 -6
- package/dist/components/semiotic-recipes-core.d.ts +6 -1
- package/dist/components/server/renderEvidence.d.ts +1 -1
- package/dist/components/server/renderToStaticSVG.d.ts +2 -1
- package/dist/components/server/serverChartConfigHeatmap.d.ts +6 -0
- package/dist/components/server/serverChartConfigNetworkStyles.d.ts +12 -0
- package/dist/components/server/serverChartConfigShared.d.ts +16 -0
- package/dist/components/server/serverChartConfigs.d.ts +2 -2
- package/dist/components/server/serverChartConfigsPhysics.d.ts +2 -2
- package/dist/components/server/serverChartConfigsXY.d.ts +0 -1
- package/dist/components/server/staticLegend.d.ts +6 -0
- package/dist/components/server/staticSVGChrome.d.ts +10 -2
- package/dist/components/server/staticValue.d.ts +8 -0
- package/dist/components/stream/geoPipelineConfig.d.ts +10 -0
- package/dist/components/stream/legendRenderer.d.ts +8 -0
- package/dist/components/stream/physics/PhysicsEvidence.d.ts +37 -0
- package/dist/components/stream/physics/PhysicsPipelineStore.d.ts +9 -0
- package/dist/components/stream/physics/PhysicsSettledScene.d.ts +5 -0
- package/dist/components/stream/physics/physicsFramePipelineConfig.d.ts +19 -0
- package/dist/components/stream/physics/physicsPipelineSettle.d.ts +52 -0
- package/dist/components/stream/physics/physicsRegionRuntime.d.ts +23 -0
- package/dist/components/stream/types.d.ts +2 -0
- package/dist/components/types/legendTypes.d.ts +17 -1
- package/dist/controls.min.js +1 -1
- package/dist/controls.module.min.js +1 -1
- package/dist/geo.min.js +1 -1
- package/dist/geo.module.min.js +1 -1
- package/dist/network.min.js +1 -1
- package/dist/network.module.min.js +1 -1
- package/dist/ordinal.min.js +1 -1
- package/dist/ordinal.module.min.js +1 -1
- package/dist/physics.min.js +1 -1
- package/dist/physics.module.min.js +1 -1
- package/dist/physicsWorker.js +1 -1
- package/dist/realtime.min.js +1 -1
- package/dist/realtime.module.min.js +1 -1
- package/dist/semiotic-ai-core.min.js +1 -1
- package/dist/semiotic-ai-core.module.min.js +1 -1
- package/dist/semiotic-ai.d.ts +4 -3
- package/dist/semiotic-ai.min.js +1 -1
- package/dist/semiotic-ai.module.min.js +1 -1
- package/dist/semiotic-data.module.min.js +1 -1
- package/dist/semiotic-experimental-vacp.d.ts +11 -0
- package/dist/semiotic-experimental-vacp.min.js +1 -0
- package/dist/semiotic-experimental-vacp.module.min.js +1 -0
- package/dist/semiotic-experimental.d.ts +6 -3
- package/dist/semiotic-experimental.min.js +2 -1
- package/dist/semiotic-experimental.module.min.js +2 -1
- package/dist/semiotic-geo.d.ts +4 -0
- package/dist/semiotic-physics.d.ts +9 -6
- package/dist/semiotic-realtime-core.min.js +1 -1
- package/dist/semiotic-realtime-core.module.min.js +1 -1
- package/dist/semiotic-recipes-core.d.ts +6 -1
- package/dist/semiotic-recipes-core.min.js +1 -1
- package/dist/semiotic-recipes-core.module.min.js +1 -1
- package/dist/semiotic-recipes.min.js +1 -1
- package/dist/semiotic-recipes.module.min.js +1 -1
- package/dist/semiotic-server-edge.min.js +1 -1
- package/dist/semiotic-server-edge.module.min.js +1 -1
- package/dist/semiotic-server-node.min.js +1 -1
- package/dist/semiotic-server-node.module.min.js +1 -1
- package/dist/semiotic-utils-core.min.js +1 -1
- package/dist/semiotic-utils-core.module.min.js +1 -1
- package/dist/semiotic-utils.min.js +1 -1
- package/dist/semiotic-utils.module.min.js +1 -1
- package/dist/semiotic.min.js +1 -1
- package/dist/semiotic.module.min.js +1 -1
- package/dist/server.min.js +1 -1
- package/dist/server.module.min.js +1 -1
- package/dist/xy.min.js +1 -1
- package/dist/xy.module.min.js +1 -1
- package/package.json +18 -2
- package/spec/README.md +94 -2
- package/spec/bindings/README.md +14 -3
- package/spec/v0.1/examples/annotation-provenance-reviewed-revision.json +27 -0
- package/spec/v0.1/examples/annotation-provenance-watcher-threshold.json +21 -0
- package/spec/v0.1/examples/audience-profile-executive-review.json +24 -0
- package/spec/v0.1/examples/audience-profile-incident-operators.json +42 -0
- package/spec/v0.1/examples/chart-capability-bar-comparison.json +48 -0
- package/spec/v0.1/examples/chart-capability-service-flow.json +54 -0
- package/dist/chunk-chunk-2CHN2TA3.module.min.js +0 -1
- package/dist/chunk-chunk-3SHB24AG.module.min.js +0 -1
- package/dist/chunk-chunk-4MMOOYTX.module.min.js +0 -2
- package/dist/chunk-chunk-5RKXZQ2P.module.min.js +0 -1
- package/dist/chunk-chunk-75OTQSXS.module.min.js +0 -1
- package/dist/chunk-chunk-7ALTGHK6.module.min.js +0 -1
- package/dist/chunk-chunk-A5GRQUOF.module.min.js +0 -1
- package/dist/chunk-chunk-AAF5LZAU.module.min.js +0 -2
- package/dist/chunk-chunk-ARZGA4LJ.module.min.js +0 -2
- package/dist/chunk-chunk-C4YA6TDR.module.min.js +0 -1
- package/dist/chunk-chunk-CAFLML4L.module.min.js +0 -2
- package/dist/chunk-chunk-CO5KQMGH.module.min.js +0 -1
- package/dist/chunk-chunk-FHBN7OEB.module.min.js +0 -2
- package/dist/chunk-chunk-GMQ5AYTD.module.min.js +0 -1
- package/dist/chunk-chunk-IP2UE74X.module.min.js +0 -1
- package/dist/chunk-chunk-ITDWLZXV.module.min.js +0 -2
- package/dist/chunk-chunk-JCG72SGW.module.min.js +0 -2
- package/dist/chunk-chunk-LPSPATPC.module.min.js +0 -1
- package/dist/chunk-chunk-PX5YQGDP.module.min.js +0 -2
- package/dist/chunk-chunk-QSQVBIJA.module.min.js +0 -1
- package/dist/chunk-chunk-RCF52Z42.module.min.js +0 -2
- package/dist/chunk-chunk-RNUHEXZA.module.min.js +0 -2
- package/dist/chunk-chunk-ROZWKEUG.module.min.js +0 -1
- package/dist/chunk-chunk-T2FKJD4O.module.min.js +0 -2
- package/dist/chunk-chunk-UDREYOLV.module.min.js +0 -1
- package/dist/chunk-chunk-VOWE3SAP.module.min.js +0 -2
- package/dist/chunk-chunk-VQPNBUSW.module.min.js +0 -2
- package/dist/chunk-chunk-WAWCIHFJ.module.min.js +0 -1
- package/dist/chunk-chunk-WYARAXHR.module.min.js +0 -2
- package/dist/chunk-chunk-XV3KGYTR.module.min.js +0 -2
- package/dist/chunk-chunk-YC2IVEPX.module.min.js +0 -1
- package/dist/chunk-chunk-ZOAQDIJO.module.min.js +0 -1
- package/dist/chunk-chunk-ZXIXAPRE.module.min.js +0 -2
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { type CreateSemioticVACPBridgeOptions, type SemioticVACPBridgeInstallation } from "./vacpAdapter";
|
|
2
|
+
type StoreBackedBridgeOption = "getSelections" | "getObservations" | "selectionActions";
|
|
3
|
+
export interface SemioticVACPBridgeProps extends Omit<CreateSemioticVACPBridgeOptions, StoreBackedBridgeOption> {
|
|
4
|
+
/** Global property used for installation. Default `__vacp`. */
|
|
5
|
+
globalKey?: string;
|
|
6
|
+
/** Receives either the successful installation or its refusal result. */
|
|
7
|
+
onInstallationChange?: (installation: SemioticVACPBridgeInstallation) => void;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Installs a live VACP bridge for the nearest LinkedCharts stores.
|
|
11
|
+
*
|
|
12
|
+
* Render this component inside the same `<LinkedCharts>` instance as the
|
|
13
|
+
* charts it describes. That ensures agent mutations and human observations
|
|
14
|
+
* share the same SelectionStore and ObservationStore. The component renders
|
|
15
|
+
* no DOM, and installation only runs after a client commit.
|
|
16
|
+
*
|
|
17
|
+
* `appId`, `viewId`, `globalKey`, and `stateCacheSize` establish the mounted
|
|
18
|
+
* bridge's identity/lifecycle. Remount to change them. Other protocol inputs
|
|
19
|
+
* are read live without replacing the installed bridge.
|
|
20
|
+
*/
|
|
21
|
+
export declare function SemioticVACPBridge(props: SemioticVACPBridgeProps): null;
|
|
22
|
+
export {};
|
|
@@ -41,12 +41,13 @@ import { FlowMapCapability } from "../charts/geo/FlowMap.capability";
|
|
|
41
41
|
import { DistanceCartogramCapability } from "../charts/geo/DistanceCartogram.capability";
|
|
42
42
|
import { GaltonBoardChartCapability } from "../charts/physics/GaltonBoardChart.capability";
|
|
43
43
|
import { EventDropChartCapability } from "../charts/physics/EventDropChart.capability";
|
|
44
|
-
import {
|
|
44
|
+
import { UnitPileChartCapability } from "../charts/physics/UnitPileChart.capability";
|
|
45
45
|
import { CollisionSwarmChartCapability } from "../charts/physics/CollisionSwarmChart.capability";
|
|
46
|
-
import {
|
|
46
|
+
import { PacketFlowChartCapability } from "../charts/physics/PacketFlowChart.capability";
|
|
47
47
|
import { ProcessFlowChartCapability } from "../charts/physics/ProcessFlowChart.capability";
|
|
48
48
|
import { GauntletChartCapability } from "../charts/physics/GauntletChart.capability";
|
|
49
49
|
import { CrucibleChartCapability } from "../charts/physics/CrucibleChart.capability";
|
|
50
|
+
import { ChainReactionChartCapability } from "../charts/physics/ChainReactionChart.capability";
|
|
50
51
|
/**
|
|
51
52
|
* Register a capability for a chart (built-in or third-party). Re-registering by
|
|
52
53
|
* component name replaces the previous descriptor — useful for overriding defaults.
|
|
@@ -61,4 +62,4 @@ export declare function unregisterChartCapability(component: string): void;
|
|
|
61
62
|
export declare function getCapabilities(): ReadonlyArray<ChartCapability>;
|
|
62
63
|
/** Look up a capability by component name. */
|
|
63
64
|
export declare function getCapability(component: string): ChartCapability | undefined;
|
|
64
|
-
export { LineChartCapability, AreaChartCapability, BumpChartCapability, StackedAreaChartCapability, ScatterplotCapability, ConnectedScatterplotCapability, BubbleChartCapability, QuadrantChartCapability, MultiAxisLineChartCapability, MinimapChartCapability, DifferenceChartCapability, CandlestickChartCapability, HeatmapCapability, BarChartCapability, GroupedBarChartCapability, StackedBarChartCapability, DotPlotCapability, PieChartCapability, DonutChartCapability, FunnelChartCapability, GaugeChartCapability, LikertChartCapability, SwimlaneChartCapability, HistogramCapability, BoxPlotCapability, SwarmPlotCapability, ViolinPlotCapability, RidgelinePlotCapability, ForceDirectedGraphCapability, SankeyDiagramCapability, ChordDiagramCapability, ProcessSankeyCapability, TreeDiagramCapability, TreemapCapability, CirclePackCapability, OrbitDiagramCapability, ChoroplethMapCapability, ProportionalSymbolMapCapability, FlowMapCapability, DistanceCartogramCapability, GaltonBoardChartCapability, EventDropChartCapability,
|
|
65
|
+
export { LineChartCapability, AreaChartCapability, BumpChartCapability, StackedAreaChartCapability, ScatterplotCapability, ConnectedScatterplotCapability, BubbleChartCapability, QuadrantChartCapability, MultiAxisLineChartCapability, MinimapChartCapability, DifferenceChartCapability, CandlestickChartCapability, HeatmapCapability, BarChartCapability, GroupedBarChartCapability, StackedBarChartCapability, DotPlotCapability, PieChartCapability, DonutChartCapability, FunnelChartCapability, GaugeChartCapability, LikertChartCapability, SwimlaneChartCapability, HistogramCapability, BoxPlotCapability, SwarmPlotCapability, ViolinPlotCapability, RidgelinePlotCapability, ForceDirectedGraphCapability, SankeyDiagramCapability, ChordDiagramCapability, ProcessSankeyCapability, TreeDiagramCapability, TreemapCapability, CirclePackCapability, OrbitDiagramCapability, ChoroplethMapCapability, ProportionalSymbolMapCapability, FlowMapCapability, DistanceCartogramCapability, GaltonBoardChartCapability, EventDropChartCapability, UnitPileChartCapability, CollisionSwarmChartCapability, PacketFlowChartCapability, ProcessFlowChartCapability, GauntletChartCapability, CrucibleChartCapability, ChainReactionChartCapability };
|
|
@@ -1,179 +1,6 @@
|
|
|
1
|
+
import type { ConversationArcEvent, ConversationArcEventInput } from "./conversationArcTypes";
|
|
1
2
|
import type { AnnotationStatus } from "./annotationProvenance";
|
|
2
|
-
export type
|
|
3
|
-
interface ConversationArcEventBase {
|
|
4
|
-
/** Discriminator for the event variant. */
|
|
5
|
-
type: ConversationArcEventType;
|
|
6
|
-
/** `Date.now()` at the moment the event was recorded. Stamped by the store. */
|
|
7
|
-
timestamp: number;
|
|
8
|
-
/** Stable ID for the enabled session — survives until `disableConversationArc()` or `reset()`. */
|
|
9
|
-
sessionId: string;
|
|
10
|
-
/** Optional opaque correlation key that threads a single arc together. */
|
|
11
|
-
arcId?: string;
|
|
12
|
-
/** Free-form bag for context the talk-track doesn't need a typed slot for. */
|
|
13
|
-
meta?: Record<string, unknown>;
|
|
14
|
-
}
|
|
15
|
-
export interface SuggestionShownEvent extends ConversationArcEventBase {
|
|
16
|
-
type: "suggestion-shown";
|
|
17
|
-
/**
|
|
18
|
-
* Intent label fed into `suggestCharts` (e.g. "trend", "distribution").
|
|
19
|
-
* Accepts a single intent or an array — mirrors `SuggestChartsOptions.intent`.
|
|
20
|
-
*/
|
|
21
|
-
intent?: string | ReadonlyArray<string>;
|
|
22
|
-
/** Ranked component names in the order the suggester returned them. */
|
|
23
|
-
components: string[];
|
|
24
|
-
/** Top suggestion's composite score, if known. */
|
|
25
|
-
topScore?: number;
|
|
26
|
-
/** Audience target active when the suggestion ran. */
|
|
27
|
-
audience?: string;
|
|
28
|
-
}
|
|
29
|
-
export interface SuggestionChosenEvent extends ConversationArcEventBase {
|
|
30
|
-
type: "suggestion-chosen";
|
|
31
|
-
component: string;
|
|
32
|
-
/** 1-based rank in the matching `suggestion-shown` event, if known. */
|
|
33
|
-
rank?: number;
|
|
34
|
-
/** Who picked the suggestion: a human, an agent loop, or a default-fall-through. */
|
|
35
|
-
source?: "user" | "agent" | "auto";
|
|
36
|
-
}
|
|
37
|
-
export interface AudienceSetEvent extends ConversationArcEventBase {
|
|
38
|
-
type: "audience-set";
|
|
39
|
-
audience: string;
|
|
40
|
-
previous?: string;
|
|
41
|
-
}
|
|
42
|
-
export interface ChartRenderedEvent extends ConversationArcEventBase {
|
|
43
|
-
type: "chart-rendered";
|
|
44
|
-
component: string;
|
|
45
|
-
chartId?: string;
|
|
46
|
-
}
|
|
47
|
-
export interface ChartEditedEvent extends ConversationArcEventBase {
|
|
48
|
-
type: "chart-edited";
|
|
49
|
-
component: string;
|
|
50
|
-
chartId?: string;
|
|
51
|
-
/** Names of props that changed in this edit. */
|
|
52
|
-
changedProps?: string[];
|
|
53
|
-
}
|
|
54
|
-
export interface ChartReplacedEvent extends ConversationArcEventBase {
|
|
55
|
-
type: "chart-replaced";
|
|
56
|
-
from: string;
|
|
57
|
-
to: string;
|
|
58
|
-
/** Why the swap happened — `"repair"`, `"variant"`, `"user-rejected"`, etc. */
|
|
59
|
-
reason?: string;
|
|
60
|
-
}
|
|
61
|
-
export interface ChartExportedEvent extends ConversationArcEventBase {
|
|
62
|
-
type: "chart-exported";
|
|
63
|
-
component: string;
|
|
64
|
-
/** What was exported: `"jsx"`, `"svg"`, `"png"`, `"json"`, `"url"`, etc. */
|
|
65
|
-
format: string;
|
|
66
|
-
}
|
|
67
|
-
export interface ChartAbandonedEvent extends ConversationArcEventBase {
|
|
68
|
-
type: "chart-abandoned";
|
|
69
|
-
component?: string;
|
|
70
|
-
reason?: string;
|
|
71
|
-
}
|
|
72
|
-
export interface InterrogationAskedEvent extends ConversationArcEventBase {
|
|
73
|
-
type: "interrogation-asked";
|
|
74
|
-
/** Chart the question was directed at, if known. */
|
|
75
|
-
component?: string;
|
|
76
|
-
/**
|
|
77
|
-
* Question text. The `useChartInterrogation` instrumentation
|
|
78
|
-
* truncates to ~500 chars before recording so the ring buffer
|
|
79
|
-
* stays bounded; callers stamping their own events should do the
|
|
80
|
-
* same.
|
|
81
|
-
*/
|
|
82
|
-
query: string;
|
|
83
|
-
/** Optional payload size hint (e.g. summary token count) for diagnostics. */
|
|
84
|
-
contextSize?: number;
|
|
85
|
-
}
|
|
86
|
-
export interface InterrogationAnsweredEvent extends ConversationArcEventBase {
|
|
87
|
-
type: "interrogation-answered";
|
|
88
|
-
/** Chart the answer was directed at, if known. */
|
|
89
|
-
component?: string;
|
|
90
|
-
/**
|
|
91
|
-
* Answer text. The `useChartInterrogation` instrumentation
|
|
92
|
-
* truncates to ~2000 chars before recording so multi-kilobyte LLM
|
|
93
|
-
* responses don't bloat the ring buffer. Callers stamping their
|
|
94
|
-
* own events should follow the same convention.
|
|
95
|
-
*/
|
|
96
|
-
answer?: string;
|
|
97
|
-
/** Number of annotations the response attached, if known. */
|
|
98
|
-
annotationCount?: number;
|
|
99
|
-
/**
|
|
100
|
-
* Round-trip latency in ms from ask to answer, clamped to ≥ 0.
|
|
101
|
-
* The instrumentation measures via `performance.now()` when
|
|
102
|
-
* available; the `Date.now()` fallback can produce negative
|
|
103
|
-
* deltas under clock changes, hence the clamp.
|
|
104
|
-
*/
|
|
105
|
-
latencyMs?: number;
|
|
106
|
-
/** Set when the response was an error rather than a successful answer. */
|
|
107
|
-
error?: boolean;
|
|
108
|
-
}
|
|
109
|
-
/**
|
|
110
|
-
* A reader focused a node in an `AccessibleNavTree` (keyboard or click). The
|
|
111
|
-
* first *reception*-side behavioral signal in the arc — which structural nodes
|
|
112
|
-
* a non-visual (or AI) reader actually visits, the dependent measure visualization-
|
|
113
|
-
* literacy studies usually lack. Emitted only on genuine tree interaction, not
|
|
114
|
-
* when the active node is driven externally (canvas → tree sync).
|
|
115
|
-
*/
|
|
116
|
-
export interface NavNodeFocusedEvent extends ConversationArcEventBase {
|
|
117
|
-
type: "nav-node-focused";
|
|
118
|
-
/** `chartId` of the chart the tree describes, when correlated. */
|
|
119
|
-
chartId?: string;
|
|
120
|
-
/** Tree node id that gained focus. */
|
|
121
|
-
nodeId: string;
|
|
122
|
-
/** Node role: `"chart" | "axis" | "series" | "datum"`. */
|
|
123
|
-
role: string;
|
|
124
|
-
/** 1-based depth (aria-level). */
|
|
125
|
-
level: number;
|
|
126
|
-
/** The node's announced label (the emitter truncates to ~200 chars). */
|
|
127
|
-
label?: string;
|
|
128
|
-
}
|
|
129
|
-
/** A reader expanded or collapsed a branch in an `AccessibleNavTree`. */
|
|
130
|
-
export interface NavBranchExpandedEvent extends ConversationArcEventBase {
|
|
131
|
-
type: "nav-branch-expanded";
|
|
132
|
-
/** `chartId` of the chart the tree describes, when correlated. */
|
|
133
|
-
chartId?: string;
|
|
134
|
-
/** Tree node id that was toggled. */
|
|
135
|
-
nodeId: string;
|
|
136
|
-
/** Node role of the toggled branch. */
|
|
137
|
-
role: string;
|
|
138
|
-
/** 1-based depth (aria-level). */
|
|
139
|
-
level: number;
|
|
140
|
-
/** `true` on expand, `false` on collapse. */
|
|
141
|
-
expanded: boolean;
|
|
142
|
-
}
|
|
143
|
-
/**
|
|
144
|
-
* An annotation's editorial status transitioned (M7). The accept / dispute /
|
|
145
|
-
* retract / propose flow is what turns an annotation into the durable,
|
|
146
|
-
* observable node of the conversation arc (IDID §13.4): the note is the unit
|
|
147
|
-
* the arc is *about*, not chart chrome.
|
|
148
|
-
*
|
|
149
|
-
* `fromStatus`/`toStatus` are deliberately not named `from`/`to` — `summarizeArc`
|
|
150
|
-
* reads `from`/`to` as chart-component names (the `chart-replaced` shape), so a
|
|
151
|
-
* status value there would pollute `componentsSeen`.
|
|
152
|
-
*/
|
|
153
|
-
export interface AnnotationStatusChangedEvent extends ConversationArcEventBase {
|
|
154
|
-
type: "annotation-status-changed";
|
|
155
|
-
/** `provenance.stableId` of the annotation whose status changed, when known. */
|
|
156
|
-
annotationId?: string;
|
|
157
|
-
/** Previous editorial status, if known. */
|
|
158
|
-
fromStatus?: AnnotationStatus;
|
|
159
|
-
/** New editorial status. */
|
|
160
|
-
toStatus: AnnotationStatus;
|
|
161
|
-
/** `chartId` of the chart carrying the annotation, when correlated. */
|
|
162
|
-
chartId?: string;
|
|
163
|
-
}
|
|
164
|
-
export type ConversationArcEvent = SuggestionShownEvent | SuggestionChosenEvent | AudienceSetEvent | ChartRenderedEvent | ChartEditedEvent | ChartReplacedEvent | ChartExportedEvent | ChartAbandonedEvent | InterrogationAskedEvent | InterrogationAnsweredEvent | NavNodeFocusedEvent | NavBranchExpandedEvent | AnnotationStatusChangedEvent;
|
|
165
|
-
/**
|
|
166
|
-
* Input shape accepted by `record()`: the event variant without the
|
|
167
|
-
* stamped fields (`timestamp` and `sessionId`). Callers may still
|
|
168
|
-
* provide them to backfill historical events.
|
|
169
|
-
*
|
|
170
|
-
* Implemented as a distributive conditional so each member of the
|
|
171
|
-
* discriminated union keeps its variant-specific payload (e.g.
|
|
172
|
-
* `SuggestionShownEvent.components`). A non-distributive
|
|
173
|
-
* `Omit<ConversationArcEvent, ...>` collapses to the union's common
|
|
174
|
-
* fields and rejects every variant-specific key.
|
|
175
|
-
*/
|
|
176
|
-
export type ConversationArcEventInput = ConversationArcEvent extends infer E ? E extends ConversationArcEvent ? Omit<E, "timestamp" | "sessionId"> & Partial<Pick<E, "timestamp" | "sessionId">> : never : never;
|
|
3
|
+
export type { AnnotationStatusChangedEvent, AudienceSetEvent, ChartAbandonedEvent, ChartEditedEvent, ChartExportedEvent, ChartRenderedEvent, ChartReplacedEvent, ConversationArcEvent, ConversationArcEventInput, ConversationArcEventType, InterrogationAnsweredEvent, InterrogationAskedEvent, NavBranchExpandedEvent, NavNodeFocusedEvent, ProposalRefusedEvent, RenderEvidenceEvent, SuggestionChosenEvent, SuggestionShownEvent, } from "./conversationArcTypes";
|
|
177
4
|
export type ConversationArcListener = (event: ConversationArcEvent) => void;
|
|
178
5
|
export interface ConversationArcSink {
|
|
179
6
|
/**
|
|
@@ -376,4 +203,3 @@ export declare function disableConversationArc(): void;
|
|
|
376
203
|
* empty arrays, `subscribe()` returns a no-op unsubscriber.
|
|
377
204
|
*/
|
|
378
205
|
export declare function getConversationArcStore(): ConversationArcStore;
|
|
379
|
-
export {};
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
import type { AnnotationStatus } from "./annotationProvenance";
|
|
2
|
+
export type ConversationArcEventType = "suggestion-shown" | "suggestion-chosen" | "audience-set" | "proposal-refused" | "chart-rendered" | "render-evidence" | "chart-edited" | "chart-replaced" | "chart-exported" | "chart-abandoned" | "interrogation-asked" | "interrogation-answered" | "nav-node-focused" | "nav-branch-expanded" | "annotation-status-changed";
|
|
3
|
+
interface ConversationArcEventBase {
|
|
4
|
+
/** Discriminator for the event variant. */
|
|
5
|
+
type: ConversationArcEventType;
|
|
6
|
+
/** `Date.now()` at the moment the event was recorded. Stamped by the store. */
|
|
7
|
+
timestamp: number;
|
|
8
|
+
/** Stable ID for the enabled session — survives until `disableConversationArc()` or `reset()`. */
|
|
9
|
+
sessionId: string;
|
|
10
|
+
/** Optional opaque correlation key that threads a single arc together. */
|
|
11
|
+
arcId?: string;
|
|
12
|
+
/** Free-form bag for context the talk-track doesn't need a typed slot for. */
|
|
13
|
+
meta?: Record<string, unknown>;
|
|
14
|
+
}
|
|
15
|
+
export interface SuggestionShownEvent extends ConversationArcEventBase {
|
|
16
|
+
type: "suggestion-shown";
|
|
17
|
+
/**
|
|
18
|
+
* Intent label fed into `suggestCharts` (e.g. "trend", "distribution").
|
|
19
|
+
* Accepts a single intent or an array — mirrors `SuggestChartsOptions.intent`.
|
|
20
|
+
*/
|
|
21
|
+
intent?: string | ReadonlyArray<string>;
|
|
22
|
+
/** Ranked component names in the order the suggester returned them. */
|
|
23
|
+
components: string[];
|
|
24
|
+
/** Top suggestion's composite score, if known. */
|
|
25
|
+
topScore?: number;
|
|
26
|
+
/** Audience target active when the suggestion ran. */
|
|
27
|
+
audience?: string;
|
|
28
|
+
}
|
|
29
|
+
export interface SuggestionChosenEvent extends ConversationArcEventBase {
|
|
30
|
+
type: "suggestion-chosen";
|
|
31
|
+
component: string;
|
|
32
|
+
/** 1-based rank in the matching `suggestion-shown` event, if known. */
|
|
33
|
+
rank?: number;
|
|
34
|
+
/** Who picked the suggestion: a human, an agent loop, or a default-fall-through. */
|
|
35
|
+
source?: "user" | "agent" | "auto";
|
|
36
|
+
}
|
|
37
|
+
export interface AudienceSetEvent extends ConversationArcEventBase {
|
|
38
|
+
type: "audience-set";
|
|
39
|
+
audience: string;
|
|
40
|
+
previous?: string;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* The deterministic trust loop declined to paint a model proposal.
|
|
44
|
+
* `stage` identifies which gate stopped it and `codes` preserves the
|
|
45
|
+
* machine-readable reasons an agent can use for repair.
|
|
46
|
+
*/
|
|
47
|
+
export interface ProposalRefusedEvent extends ConversationArcEventBase {
|
|
48
|
+
type: "proposal-refused";
|
|
49
|
+
component?: string;
|
|
50
|
+
stage: "validation" | "diagnosis" | "fit" | "render";
|
|
51
|
+
codes: string[];
|
|
52
|
+
alternatives?: string[];
|
|
53
|
+
}
|
|
54
|
+
export interface ChartRenderedEvent extends ConversationArcEventBase {
|
|
55
|
+
type: "chart-rendered";
|
|
56
|
+
component: string;
|
|
57
|
+
chartId?: string;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Render evidence captured after a chart attempt. Unlike `chart-rendered`, this
|
|
61
|
+
* records whether the output was actually non-empty and free of error findings.
|
|
62
|
+
*/
|
|
63
|
+
export interface RenderEvidenceEvent extends ConversationArcEventBase {
|
|
64
|
+
type: "render-evidence";
|
|
65
|
+
component: string;
|
|
66
|
+
chartId?: string;
|
|
67
|
+
markCount: number;
|
|
68
|
+
empty: boolean;
|
|
69
|
+
/** Stable warning codes emitted by `renderChartWithEvidence`. */
|
|
70
|
+
warnings: string[];
|
|
71
|
+
}
|
|
72
|
+
export interface ChartEditedEvent extends ConversationArcEventBase {
|
|
73
|
+
type: "chart-edited";
|
|
74
|
+
component: string;
|
|
75
|
+
chartId?: string;
|
|
76
|
+
/** Names of props that changed in this edit. */
|
|
77
|
+
changedProps?: string[];
|
|
78
|
+
}
|
|
79
|
+
export interface ChartReplacedEvent extends ConversationArcEventBase {
|
|
80
|
+
type: "chart-replaced";
|
|
81
|
+
from: string;
|
|
82
|
+
to: string;
|
|
83
|
+
/** Why the swap happened — `"repair"`, `"variant"`, `"user-rejected"`, etc. */
|
|
84
|
+
reason?: string;
|
|
85
|
+
}
|
|
86
|
+
export interface ChartExportedEvent extends ConversationArcEventBase {
|
|
87
|
+
type: "chart-exported";
|
|
88
|
+
component: string;
|
|
89
|
+
/** What was exported: `"jsx"`, `"svg"`, `"png"`, `"json"`, `"url"`, etc. */
|
|
90
|
+
format: string;
|
|
91
|
+
}
|
|
92
|
+
export interface ChartAbandonedEvent extends ConversationArcEventBase {
|
|
93
|
+
type: "chart-abandoned";
|
|
94
|
+
component?: string;
|
|
95
|
+
reason?: string;
|
|
96
|
+
}
|
|
97
|
+
export interface InterrogationAskedEvent extends ConversationArcEventBase {
|
|
98
|
+
type: "interrogation-asked";
|
|
99
|
+
/** Chart the question was directed at, if known. */
|
|
100
|
+
component?: string;
|
|
101
|
+
/**
|
|
102
|
+
* Question text. The `useChartInterrogation` instrumentation
|
|
103
|
+
* truncates to ~500 chars before recording so the ring buffer
|
|
104
|
+
* stays bounded; callers stamping their own events should do the
|
|
105
|
+
* same.
|
|
106
|
+
*/
|
|
107
|
+
query: string;
|
|
108
|
+
/** Optional payload size hint (e.g. summary token count) for diagnostics. */
|
|
109
|
+
contextSize?: number;
|
|
110
|
+
}
|
|
111
|
+
export interface InterrogationAnsweredEvent extends ConversationArcEventBase {
|
|
112
|
+
type: "interrogation-answered";
|
|
113
|
+
/** Chart the answer was directed at, if known. */
|
|
114
|
+
component?: string;
|
|
115
|
+
/**
|
|
116
|
+
* Answer text. The `useChartInterrogation` instrumentation
|
|
117
|
+
* truncates to ~2000 chars before recording so multi-kilobyte LLM
|
|
118
|
+
* responses don't bloat the ring buffer. Callers stamping their
|
|
119
|
+
* own events should follow the same convention.
|
|
120
|
+
*/
|
|
121
|
+
answer?: string;
|
|
122
|
+
/** Number of annotations the response attached, if known. */
|
|
123
|
+
annotationCount?: number;
|
|
124
|
+
/**
|
|
125
|
+
* Round-trip latency in ms from ask to answer, clamped to ≥ 0.
|
|
126
|
+
* The instrumentation measures via `performance.now()` when
|
|
127
|
+
* available; the `Date.now()` fallback can produce negative
|
|
128
|
+
* deltas under clock changes, hence the clamp.
|
|
129
|
+
*/
|
|
130
|
+
latencyMs?: number;
|
|
131
|
+
/** Set when the response was an error rather than a successful answer. */
|
|
132
|
+
error?: boolean;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* A reader focused a node in an `AccessibleNavTree` (keyboard or click). The
|
|
136
|
+
* first *reception*-side behavioral signal in the arc — which structural nodes
|
|
137
|
+
* a non-visual (or AI) reader actually visits, the dependent measure visualization-
|
|
138
|
+
* literacy studies usually lack. Emitted only on genuine tree interaction, not
|
|
139
|
+
* when the active node is driven externally (canvas → tree sync).
|
|
140
|
+
*/
|
|
141
|
+
export interface NavNodeFocusedEvent extends ConversationArcEventBase {
|
|
142
|
+
type: "nav-node-focused";
|
|
143
|
+
/** `chartId` of the chart the tree describes, when correlated. */
|
|
144
|
+
chartId?: string;
|
|
145
|
+
/** Tree node id that gained focus. */
|
|
146
|
+
nodeId: string;
|
|
147
|
+
/** Node role: `"chart" | "axis" | "series" | "datum"`. */
|
|
148
|
+
role: string;
|
|
149
|
+
/** 1-based depth (aria-level). */
|
|
150
|
+
level: number;
|
|
151
|
+
/** The node's announced label (the emitter truncates to ~200 chars). */
|
|
152
|
+
label?: string;
|
|
153
|
+
}
|
|
154
|
+
/** A reader expanded or collapsed a branch in an `AccessibleNavTree`. */
|
|
155
|
+
export interface NavBranchExpandedEvent extends ConversationArcEventBase {
|
|
156
|
+
type: "nav-branch-expanded";
|
|
157
|
+
/** `chartId` of the chart the tree describes, when correlated. */
|
|
158
|
+
chartId?: string;
|
|
159
|
+
/** Tree node id that was toggled. */
|
|
160
|
+
nodeId: string;
|
|
161
|
+
/** Node role of the toggled branch. */
|
|
162
|
+
role: string;
|
|
163
|
+
/** 1-based depth (aria-level). */
|
|
164
|
+
level: number;
|
|
165
|
+
/** `true` on expand, `false` on collapse. */
|
|
166
|
+
expanded: boolean;
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* An annotation's editorial status transitioned (M7). The accept / dispute /
|
|
170
|
+
* retract / propose flow is what turns an annotation into the durable,
|
|
171
|
+
* observable node of the conversation arc (IDID §13.4): the note is the unit
|
|
172
|
+
* the arc is *about*, not chart chrome.
|
|
173
|
+
*
|
|
174
|
+
* `fromStatus`/`toStatus` are deliberately not named `from`/`to` — `summarizeArc`
|
|
175
|
+
* reads `from`/`to` as chart-component names (the `chart-replaced` shape), so a
|
|
176
|
+
* status value there would pollute `componentsSeen`.
|
|
177
|
+
*/
|
|
178
|
+
export interface AnnotationStatusChangedEvent extends ConversationArcEventBase {
|
|
179
|
+
type: "annotation-status-changed";
|
|
180
|
+
/** `provenance.stableId` of the annotation whose status changed, when known. */
|
|
181
|
+
annotationId?: string;
|
|
182
|
+
/** Previous editorial status, if known. */
|
|
183
|
+
fromStatus?: AnnotationStatus;
|
|
184
|
+
/** New editorial status. */
|
|
185
|
+
toStatus: AnnotationStatus;
|
|
186
|
+
/** `chartId` of the chart carrying the annotation, when correlated. */
|
|
187
|
+
chartId?: string;
|
|
188
|
+
}
|
|
189
|
+
export type ConversationArcEvent = SuggestionShownEvent | SuggestionChosenEvent | AudienceSetEvent | ProposalRefusedEvent | ChartRenderedEvent | RenderEvidenceEvent | ChartEditedEvent | ChartReplacedEvent | ChartExportedEvent | ChartAbandonedEvent | InterrogationAskedEvent | InterrogationAnsweredEvent | NavNodeFocusedEvent | NavBranchExpandedEvent | AnnotationStatusChangedEvent;
|
|
190
|
+
/**
|
|
191
|
+
* Input shape accepted by `record()`: the event variant without the
|
|
192
|
+
* stamped fields (`timestamp` and `sessionId`). Callers may still
|
|
193
|
+
* provide them to backfill historical events.
|
|
194
|
+
*
|
|
195
|
+
* Implemented as a distributive conditional so each member of the
|
|
196
|
+
* discriminated union keeps its variant-specific payload (e.g.
|
|
197
|
+
* `SuggestionShownEvent.components`). A non-distributive
|
|
198
|
+
* `Omit<ConversationArcEvent, ...>` collapses to the union's common
|
|
199
|
+
* fields and rejects every variant-specific key.
|
|
200
|
+
*/
|
|
201
|
+
export type ConversationArcEventInput = ConversationArcEvent extends infer E ? E extends ConversationArcEvent ? Omit<E, "timestamp" | "sessionId"> & Partial<Pick<E, "timestamp" | "sessionId">> : never : never;
|
|
202
|
+
export {};
|
|
@@ -142,9 +142,21 @@ export interface ChartReaderGrounding {
|
|
|
142
142
|
structure?: NavTreeNode;
|
|
143
143
|
/** Physics-specific runtime grounding for simulation charts. */
|
|
144
144
|
physics?: PhysicsReaderGrounding;
|
|
145
|
+
/**
|
|
146
|
+
* Exact source facts for chart families whose visual/navigation summary
|
|
147
|
+
* does not enumerate their scalar, edge, hierarchy, or simulation inputs.
|
|
148
|
+
* These statements report supplied props only; they never infer causes,
|
|
149
|
+
* forecasts, or runtime outcomes.
|
|
150
|
+
*/
|
|
151
|
+
facts?: ChartReaderGroundingFacts;
|
|
145
152
|
/** L1–L4 joined into one prose blob an LLM can read directly. */
|
|
146
153
|
text: string;
|
|
147
154
|
}
|
|
155
|
+
export interface ChartReaderGroundingFacts {
|
|
156
|
+
source: "chart-props";
|
|
157
|
+
statements: string[];
|
|
158
|
+
text: string;
|
|
159
|
+
}
|
|
148
160
|
/**
|
|
149
161
|
* Build the combined reader-grounding payload for a chart config. See the
|
|
150
162
|
* module docstring; pass a `capability` (or a resolved context) for the most
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { CreateSemioticVACPBridgeOptions, InstallSemioticVACPBridgeOptions, SemioticVACPBridge, SemioticVACPBridgeInstallation } from "./vacpAdapterTypes";
|
|
2
|
+
export { SEMIOTIC_VACP_ACTIVATE_NAVIGATION_ACTION, SEMIOTIC_VACP_CLEAR_SELECTION_ACTION, SEMIOTIC_VACP_INSPECT_DATA_ACTION, SEMIOTIC_VACP_SET_INTERVAL_SELECTION_ACTION, SEMIOTIC_VACP_SET_POINT_SELECTION_ACTION, type CreateSemioticVACPBridgeOptions, type InstallSemioticVACPBridgeOptions, type SemioticVACPCustomAction, type SemioticVACPBridge, type SemioticVACPBridgeInstallation, type SemioticVACPChart, type SemioticVACPDataAccess, type SemioticVACPNavigationBinding, type SemioticVACPRefs, type SemioticVACPSelectionActions, type SemioticVACPSelectionBinding, type SemioticVACPSelectionMode, } from "./vacpAdapterTypes";
|
|
3
|
+
/**
|
|
4
|
+
* Create a dependency-free, SSR-safe bridge matching VACP's documented 0.1.0
|
|
5
|
+
* in-page shape. The returned object does not touch `window`; installation is
|
|
6
|
+
* an explicit separate step.
|
|
7
|
+
*/
|
|
8
|
+
export declare function createSemioticVACPBridge(options: CreateSemioticVACPBridgeOptions): SemioticVACPBridge;
|
|
9
|
+
/**
|
|
10
|
+
* Install without clobbering an existing foreign bridge. Cleanup is
|
|
11
|
+
* ownership-safe: it never deletes a value installed by somebody else later.
|
|
12
|
+
*/
|
|
13
|
+
export declare function installSemioticVACPBridge(bridge: SemioticVACPBridge, options?: InstallSemioticVACPBridgeOptions): SemioticVACPBridgeInstallation;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { type CreateSemioticVACPBridgeOptions, type RuntimeAction, type RuntimeModelBase, type SemioticVACPRefs } from "./vacpAdapterTypes";
|
|
2
|
+
export declare function buildRuntimeActions(model: RuntimeModelBase, options: CreateSemioticVACPBridgeOptions, refs: SemioticVACPRefs): RuntimeAction[];
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { NavTreeNode } from "./navigationTree";
|
|
2
|
+
import { type CreateSemioticVACPBridgeOptions, type RuntimeModelBase, type SemioticVACPRefs } from "./vacpAdapterTypes";
|
|
3
|
+
export declare function createRefs(appId: string, viewId: string): SemioticVACPRefs;
|
|
4
|
+
export declare function clock(options: CreateSemioticVACPBridgeOptions): string;
|
|
5
|
+
export declare function findTreeNode(tree: NavTreeNode, id: string | undefined): NavTreeNode | undefined;
|
|
6
|
+
export declare function matchFromNode(node: NavTreeNode, fields: readonly string[]): Record<string, unknown> | undefined;
|
|
7
|
+
export declare function buildRuntimeModelBase(options: CreateSemioticVACPBridgeOptions, refs: SemioticVACPRefs): RuntimeModelBase;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { VacpCapabilitiesRequest, VacpCapabilitiesSnapshot, VacpDataSchemaDetail, VacpDataSchemaResult, VacpRef, VacpStateDeltaPayload, VacpStateRequest, VacpStateSnapshot } from "./vacpTypes";
|
|
2
|
+
export declare function isRecord(value: unknown): value is Record<string, unknown>;
|
|
3
|
+
/**
|
|
4
|
+
* Convert application values to bounded, JSON-compatible data. Functions,
|
|
5
|
+
* symbols, React elements, and cyclic references are intentionally omitted.
|
|
6
|
+
*/
|
|
7
|
+
export declare function jsonSafe(value: unknown, options?: {
|
|
8
|
+
maxDepth?: number;
|
|
9
|
+
maxArrayLength?: number;
|
|
10
|
+
}): unknown;
|
|
11
|
+
export declare function safeRecord(value: unknown): Record<string, unknown>;
|
|
12
|
+
export declare function stableStringify(value: unknown): string;
|
|
13
|
+
export declare function stableHash(value: unknown): string;
|
|
14
|
+
export declare function stateToken(snapshot: VacpStateSnapshot): string;
|
|
15
|
+
export declare function scopeStateSnapshot(snapshot: VacpStateSnapshot, request: VacpStateRequest): {
|
|
16
|
+
snapshot: VacpStateSnapshot;
|
|
17
|
+
refs?: VacpRef[];
|
|
18
|
+
};
|
|
19
|
+
export declare function diffStateSnapshots(baseline: VacpStateSnapshot, current: VacpStateSnapshot): VacpStateDeltaPayload;
|
|
20
|
+
export declare function scopeCapabilitiesSnapshot(snapshot: VacpCapabilitiesSnapshot, request: VacpCapabilitiesRequest): VacpCapabilitiesSnapshot;
|
|
21
|
+
export declare function buildDataSchema(args: {
|
|
22
|
+
handleRef: VacpRef;
|
|
23
|
+
rows: readonly unknown[];
|
|
24
|
+
detail: VacpDataSchemaDetail;
|
|
25
|
+
sampleRows: number;
|
|
26
|
+
}): VacpDataSchemaResult;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { CreateSemioticVACPBridgeOptions, RuntimeModelBase, SemioticVACPRefs } from "./vacpAdapterTypes";
|
|
2
|
+
import { type VacpStateSnapshot } from "./vacpTypes";
|
|
3
|
+
export declare function buildStateSnapshot(model: RuntimeModelBase, options: CreateSemioticVACPBridgeOptions, refs: SemioticVACPRefs): VacpStateSnapshot;
|