semiotic 3.8.5 → 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.
Files changed (277) hide show
  1. package/CLAUDE.md +37 -10
  2. package/README.md +83 -56
  3. package/ai/behaviorContracts.cjs +88 -3
  4. package/ai/componentMetadata.cjs +5 -10
  5. package/ai/dist/mcp-server.js +99 -10
  6. package/ai/examples.md +198 -9
  7. package/ai/schema.json +2002 -165
  8. package/ai/surface-manifest.json +14 -10
  9. package/ai/system-prompt.md +9 -3
  10. package/dist/{chunk-chartContainerDataAudit-74TLKIP6.module.min.js → chunk-chartContainerDataAudit-JDSVSKGM.module.min.js} +1 -1
  11. package/dist/chunk-chunk-2JGJ5GUG.module.min.js +1 -0
  12. package/dist/chunk-chunk-2YAZHXL4.module.min.js +2 -0
  13. package/dist/chunk-chunk-3NGIKFD6.module.min.js +1 -0
  14. package/dist/{chunk-chunk-G7WFWHAD.module.min.js → chunk-chunk-4ITOQRXM.module.min.js} +1 -1
  15. package/dist/chunk-chunk-5SD6BHVW.module.min.js +2 -0
  16. package/dist/chunk-chunk-6V5VQVCT.module.min.js +2 -0
  17. package/dist/chunk-chunk-7TTBHSAG.module.min.js +2 -0
  18. package/dist/chunk-chunk-7ZDJSYKI.module.min.js +2 -0
  19. package/dist/chunk-chunk-BGHPD3RA.module.min.js +1 -0
  20. package/dist/chunk-chunk-BMRZ2SPU.module.min.js +2 -0
  21. package/dist/chunk-chunk-BNGBEY7N.module.min.js +2 -0
  22. package/dist/chunk-chunk-C7APLVQD.module.min.js +2 -0
  23. package/dist/chunk-chunk-DGWFBOGB.module.min.js +1 -0
  24. package/dist/chunk-chunk-DIVE2DRA.module.min.js +2 -0
  25. package/dist/chunk-chunk-FBUNUIPV.module.min.js +2 -0
  26. package/dist/chunk-chunk-FQPKOAIH.module.min.js +2 -0
  27. package/dist/chunk-chunk-FRO4TRXK.module.min.js +2 -0
  28. package/dist/chunk-chunk-G7QVPZUD.module.min.js +2 -0
  29. package/dist/chunk-chunk-GBPYV4FP.module.min.js +2 -0
  30. package/dist/chunk-chunk-GU2EJIDJ.module.min.js +2 -0
  31. package/dist/chunk-chunk-J5QD4RAM.module.min.js +2 -0
  32. package/dist/{chunk-chunk-LJLS6DY7.module.min.js → chunk-chunk-JWXLNZSM.module.min.js} +1 -1
  33. package/dist/chunk-chunk-KXAFCCDB.module.min.js +2 -0
  34. package/dist/chunk-chunk-LG7YKJAK.module.min.js +2 -0
  35. package/dist/{chunk-chunk-I36PJ4OC.module.min.js → chunk-chunk-LVHDZAT3.module.min.js} +1 -1
  36. package/dist/chunk-chunk-LWITSR2O.module.min.js +2 -0
  37. package/dist/chunk-chunk-MX35T6RX.module.min.js +2 -0
  38. package/dist/chunk-chunk-NH4MEAKP.module.min.js +2 -0
  39. package/dist/chunk-chunk-NJETWX42.module.min.js +2 -0
  40. package/dist/chunk-chunk-NW25WGLS.module.min.js +2 -0
  41. package/dist/{chunk-chunk-TMWIZL3K.module.min.js → chunk-chunk-OI7R7EJB.module.min.js} +1 -1
  42. package/dist/chunk-chunk-ONMLEXHR.module.min.js +2 -0
  43. package/dist/chunk-chunk-OY66GCE6.module.min.js +1 -0
  44. package/dist/chunk-chunk-PZFT457G.module.min.js +1 -0
  45. package/dist/chunk-chunk-Q3WW6JGR.module.min.js +1 -0
  46. package/dist/chunk-chunk-Q6XKQTOQ.module.min.js +1 -0
  47. package/dist/chunk-chunk-RJRM2E6P.module.min.js +1 -0
  48. package/dist/chunk-chunk-RPL7WYXI.module.min.js +1 -0
  49. package/dist/chunk-chunk-SV4XAZ3Q.module.min.js +1 -0
  50. package/dist/chunk-chunk-TSCFL235.module.min.js +1 -0
  51. package/dist/chunk-chunk-UOQRPGPK.module.min.js +2 -0
  52. package/dist/chunk-chunk-V3OAKG32.module.min.js +1 -0
  53. package/dist/chunk-chunk-WLOIUMWG.module.min.js +2 -0
  54. package/dist/chunk-chunk-XEGXX4F7.module.min.js +1 -0
  55. package/dist/chunk-chunk-XFRBLXYM.module.min.js +1 -0
  56. package/dist/chunk-chunk-Z2AJERX5.module.min.js +2 -0
  57. package/dist/chunk-chunk-ZXYDYAB7.module.min.js +2 -0
  58. package/dist/components/ai/SemioticVACPBridge.d.ts +22 -0
  59. package/dist/components/ai/chartCapabilities.d.ts +5 -3
  60. package/dist/components/ai/conversationArc.d.ts +2 -176
  61. package/dist/components/ai/conversationArcTypes.d.ts +202 -0
  62. package/dist/components/ai/readerGrounding.d.ts +12 -0
  63. package/dist/components/ai/vacpAdapter.d.ts +13 -0
  64. package/dist/components/ai/vacpAdapterActions.d.ts +2 -0
  65. package/dist/components/ai/vacpAdapterModel.d.ts +7 -0
  66. package/dist/components/ai/vacpAdapterRuntime.d.ts +26 -0
  67. package/dist/components/ai/vacpAdapterState.d.ts +3 -0
  68. package/dist/components/ai/vacpAdapterTypes.d.ts +169 -0
  69. package/dist/components/ai/vacpTypes.d.ts +160 -0
  70. package/dist/components/charts/custom/XYCustomChart.d.ts +3 -0
  71. package/dist/components/charts/geo/DistanceCartogram.d.ts +1 -1
  72. package/dist/components/charts/index.d.ts +7 -4
  73. package/dist/components/charts/ordinal/BarChart.d.ts +7 -14
  74. package/dist/components/charts/ordinal/GaugeChart.d.ts +3 -0
  75. package/dist/components/charts/ordinal/GroupedBarChart.d.ts +3 -0
  76. package/dist/components/charts/ordinal/StackedBarChart.d.ts +3 -0
  77. package/dist/components/charts/ordinal/SwimlaneChart.d.ts +4 -14
  78. package/dist/components/charts/physics/ChainReactionChart.capability.d.ts +9 -0
  79. package/dist/components/charts/physics/ChainReactionChart.d.ts +29 -0
  80. package/dist/components/charts/physics/CollisionSwarmChart.d.ts +1 -1
  81. package/dist/components/charts/physics/EventDropChart.d.ts +7 -2
  82. package/dist/components/charts/physics/GaltonBoardChart.d.ts +1 -1
  83. package/dist/components/charts/physics/{PhysicsPileChart.capability.d.ts → PacketFlowChart.capability.d.ts} +1 -1
  84. package/dist/components/charts/physics/{PhysicalFlowChart.d.ts → PacketFlowChart.d.ts} +22 -6
  85. package/dist/components/charts/physics/PhysicsCustomChart.d.ts +1 -1
  86. package/dist/components/charts/physics/ProcessFlowChart.d.ts +7 -4
  87. package/dist/components/charts/physics/{PhysicalFlowChart.capability.d.ts → UnitPileChart.capability.d.ts} +1 -1
  88. package/dist/components/charts/physics/{PhysicsPileChart.d.ts → UnitPileChart.d.ts} +19 -6
  89. package/dist/components/charts/physics/crucibleChartProps.d.ts +1 -1
  90. package/dist/components/charts/physics/crucibleChartUtils.d.ts +9 -0
  91. package/dist/components/charts/physics/gauntletChartProps.d.ts +6 -1
  92. package/dist/components/charts/physics/gauntletTerminal.d.ts +61 -0
  93. package/dist/components/charts/physics/packetFlowSemantics.d.ts +6 -0
  94. package/dist/components/charts/physics/physicsHocUtils.d.ts +45 -2
  95. package/dist/components/charts/shared/auditAccessibilityStyles.d.ts +9 -0
  96. package/dist/components/charts/shared/chartSpecCore.d.ts +2 -4
  97. package/dist/components/charts/shared/gaugeGradient.d.ts +4 -8
  98. package/dist/components/charts/shared/gradient.d.ts +35 -0
  99. package/dist/components/charts/shared/hatchFill.d.ts +3 -10
  100. package/dist/components/charts/shared/hooks.d.ts +2 -50
  101. package/dist/components/charts/shared/knownChartComponents.d.ts +1 -1
  102. package/dist/components/charts/shared/streamPropsHelpers.d.ts +1 -2
  103. package/dist/components/charts/shared/useChartLegend.d.ts +65 -0
  104. package/dist/components/charts/shared/useChartSetup.d.ts +12 -0
  105. package/dist/components/charts/shared/useCustomChartSetup.d.ts +6 -1
  106. package/dist/components/charts/shared/useNetworkChartSetup.d.ts +1 -0
  107. package/dist/components/charts/shared/useStreamingLegend.d.ts +1 -1
  108. package/dist/components/charts/xy/AreaChart.d.ts +25 -42
  109. package/dist/components/charts/xy/BumpChart.capability.d.ts +11 -0
  110. package/dist/components/charts/xy/BumpChart.d.ts +161 -0
  111. package/dist/components/charts/xy/DifferenceChart.d.ts +3 -10
  112. package/dist/components/charts/xy/Heatmap.d.ts +3 -0
  113. package/dist/components/charts/xy/LineChart.d.ts +6 -8
  114. package/dist/components/data/portability/capabilityBinding.d.ts +41 -0
  115. package/dist/components/data/portability/index.d.ts +2 -0
  116. package/dist/components/geometry/bumpRibbonGeometry.d.ts +36 -0
  117. package/dist/components/legendLayout.d.ts +75 -1
  118. package/dist/components/recipes/geographicDotGrid.d.ts +82 -0
  119. package/dist/components/recipes/geographicGrid.d.ts +100 -0
  120. package/dist/components/recipes/physics.d.ts +2 -0
  121. package/dist/components/recipes/physicsStageGeography.d.ts +137 -0
  122. package/dist/components/semiotic-ai.d.ts +6 -4
  123. package/dist/components/semiotic-experimental-vacp.d.ts +11 -0
  124. package/dist/components/semiotic-experimental.d.ts +6 -3
  125. package/dist/components/semiotic-geo.d.ts +5 -0
  126. package/dist/components/semiotic-network.d.ts +1 -0
  127. package/dist/components/semiotic-ordinal.d.ts +2 -0
  128. package/dist/components/semiotic-physics.d.ts +10 -6
  129. package/dist/components/semiotic-realtime-core.d.ts +1 -0
  130. package/dist/components/semiotic-recipes-core.d.ts +6 -1
  131. package/dist/components/semiotic-server-edge.d.ts +1 -1
  132. package/dist/components/semiotic-server.d.ts +1 -1
  133. package/dist/components/semiotic-xy.d.ts +4 -0
  134. package/dist/components/semiotic.d.ts +4 -4
  135. package/dist/components/server/renderEvidence.d.ts +1 -1
  136. package/dist/components/server/renderToStaticSVG.d.ts +2 -1
  137. package/dist/components/server/serverChartConfigHeatmap.d.ts +6 -0
  138. package/dist/components/server/serverChartConfigNetworkStyles.d.ts +12 -0
  139. package/dist/components/server/serverChartConfigShared.d.ts +16 -0
  140. package/dist/components/server/serverChartConfigs.d.ts +3 -2
  141. package/dist/components/server/serverChartConfigsPhysics.d.ts +2 -2
  142. package/dist/components/server/serverChartConfigsXY.d.ts +1 -1
  143. package/dist/components/server/staticLegend.d.ts +10 -2
  144. package/dist/components/server/staticSVGChrome.d.ts +14 -6
  145. package/dist/components/server/staticValue.d.ts +8 -0
  146. package/dist/components/stream/GeoSVGOverlay.d.ts +4 -10
  147. package/dist/components/stream/NetworkSVGOverlay.d.ts +2 -6
  148. package/dist/components/stream/OrdinalSVGOverlay.d.ts +2 -6
  149. package/dist/components/stream/SVGOverlay.d.ts +2 -6
  150. package/dist/components/stream/StalenessBadge.d.ts +2 -6
  151. package/dist/components/stream/geoPipelineConfig.d.ts +10 -0
  152. package/dist/components/stream/geoTypes.d.ts +3 -6
  153. package/dist/components/stream/legendRenderer.d.ts +10 -6
  154. package/dist/components/stream/ordinalTypes.d.ts +7 -31
  155. package/dist/components/stream/physics/PhysicsEvidence.d.ts +37 -0
  156. package/dist/components/stream/physics/PhysicsKernel.d.ts +1 -0
  157. package/dist/components/stream/physics/PhysicsPipelineStore.d.ts +9 -0
  158. package/dist/components/stream/physics/PhysicsSVGOverlay.d.ts +2 -6
  159. package/dist/components/stream/physics/PhysicsSettledScene.d.ts +5 -0
  160. package/dist/components/stream/physics/StreamPhysicsTypes.d.ts +2 -6
  161. package/dist/components/stream/physics/physicsFramePipelineConfig.d.ts +19 -0
  162. package/dist/components/stream/physics/physicsPipelineSettle.d.ts +52 -0
  163. package/dist/components/stream/physics/physicsRegionRuntime.d.ts +23 -0
  164. package/dist/components/stream/pipelineConfig.d.ts +7 -15
  165. package/dist/components/stream/renderers/canvasRenderHelpers.d.ts +9 -69
  166. package/dist/components/stream/renderers/cornerRadii.d.ts +2 -9
  167. package/dist/components/stream/renderers/thresholdLineSegments.d.ts +12 -0
  168. package/dist/components/stream/sceneToSVGShared.d.ts +3 -5
  169. package/dist/components/stream/types.d.ts +34 -56
  170. package/dist/components/stream/xySceneBuilders/areaGradient.d.ts +4 -20
  171. package/dist/components/stream/xySceneBuilders/types.d.ts +6 -6
  172. package/dist/components/types/legendTypes.d.ts +31 -6
  173. package/dist/controls.min.js +1 -1
  174. package/dist/controls.module.min.js +1 -1
  175. package/dist/geo.min.js +1 -1
  176. package/dist/geo.module.min.js +1 -1
  177. package/dist/network.min.js +1 -1
  178. package/dist/network.module.min.js +1 -1
  179. package/dist/ordinal.min.js +1 -1
  180. package/dist/ordinal.module.min.js +1 -1
  181. package/dist/physics.min.js +1 -1
  182. package/dist/physics.module.min.js +1 -1
  183. package/dist/physicsWorker.js +1 -1
  184. package/dist/realtime.min.js +1 -1
  185. package/dist/realtime.module.min.js +1 -1
  186. package/dist/semiotic-ai-core.min.js +1 -1
  187. package/dist/semiotic-ai-core.module.min.js +1 -1
  188. package/dist/semiotic-ai.d.ts +6 -4
  189. package/dist/semiotic-ai.min.js +1 -1
  190. package/dist/semiotic-ai.module.min.js +1 -1
  191. package/dist/semiotic-data.module.min.js +1 -1
  192. package/dist/semiotic-experimental-vacp.d.ts +11 -0
  193. package/dist/semiotic-experimental-vacp.min.js +1 -0
  194. package/dist/semiotic-experimental-vacp.module.min.js +1 -0
  195. package/dist/semiotic-experimental.d.ts +6 -3
  196. package/dist/semiotic-experimental.min.js +2 -1
  197. package/dist/semiotic-experimental.module.min.js +2 -1
  198. package/dist/semiotic-geo.d.ts +5 -0
  199. package/dist/semiotic-network.d.ts +1 -0
  200. package/dist/semiotic-ordinal.d.ts +2 -0
  201. package/dist/semiotic-physics.d.ts +10 -6
  202. package/dist/semiotic-realtime-core.d.ts +1 -0
  203. package/dist/semiotic-realtime-core.min.js +1 -1
  204. package/dist/semiotic-realtime-core.module.min.js +1 -1
  205. package/dist/semiotic-recipes-core.d.ts +6 -1
  206. package/dist/semiotic-recipes-core.min.js +1 -1
  207. package/dist/semiotic-recipes-core.module.min.js +1 -1
  208. package/dist/semiotic-recipes.min.js +1 -1
  209. package/dist/semiotic-recipes.module.min.js +1 -1
  210. package/dist/semiotic-server-edge.d.ts +1 -1
  211. package/dist/semiotic-server-edge.min.js +1 -1
  212. package/dist/semiotic-server-edge.module.min.js +1 -1
  213. package/dist/semiotic-server-node.min.js +1 -1
  214. package/dist/semiotic-server-node.module.min.js +1 -1
  215. package/dist/semiotic-server.d.ts +1 -1
  216. package/dist/semiotic-utils-core.min.js +1 -1
  217. package/dist/semiotic-utils-core.module.min.js +1 -1
  218. package/dist/semiotic-utils.min.js +1 -1
  219. package/dist/semiotic-utils.module.min.js +1 -1
  220. package/dist/semiotic-xy.d.ts +4 -0
  221. package/dist/semiotic.d.ts +4 -4
  222. package/dist/semiotic.min.js +1 -1
  223. package/dist/semiotic.module.min.js +1 -1
  224. package/dist/server.min.js +1 -1
  225. package/dist/server.module.min.js +1 -1
  226. package/dist/xy.min.js +1 -1
  227. package/dist/xy.module.min.js +1 -1
  228. package/package.json +18 -2
  229. package/spec/README.md +94 -2
  230. package/spec/bindings/README.md +14 -3
  231. package/spec/v0.1/examples/annotation-provenance-reviewed-revision.json +27 -0
  232. package/spec/v0.1/examples/annotation-provenance-watcher-threshold.json +21 -0
  233. package/spec/v0.1/examples/audience-profile-executive-review.json +24 -0
  234. package/spec/v0.1/examples/audience-profile-incident-operators.json +42 -0
  235. package/spec/v0.1/examples/chart-capability-bar-comparison.json +48 -0
  236. package/spec/v0.1/examples/chart-capability-service-flow.json +54 -0
  237. package/dist/chunk-chunk-4AANPFOX.module.min.js +0 -2
  238. package/dist/chunk-chunk-5I3UZV4Q.module.min.js +0 -2
  239. package/dist/chunk-chunk-5RKXZQ2P.module.min.js +0 -1
  240. package/dist/chunk-chunk-74CCPVXB.module.min.js +0 -1
  241. package/dist/chunk-chunk-7ALTGHK6.module.min.js +0 -1
  242. package/dist/chunk-chunk-ANYDWOZF.module.min.js +0 -1
  243. package/dist/chunk-chunk-AVBI6GDT.module.min.js +0 -1
  244. package/dist/chunk-chunk-BANTPINB.module.min.js +0 -2
  245. package/dist/chunk-chunk-C4YA6TDR.module.min.js +0 -1
  246. package/dist/chunk-chunk-C57LR3YG.module.min.js +0 -1
  247. package/dist/chunk-chunk-CKMD5NV3.module.min.js +0 -2
  248. package/dist/chunk-chunk-CO5KQMGH.module.min.js +0 -1
  249. package/dist/chunk-chunk-CWQ5YIHX.module.min.js +0 -2
  250. package/dist/chunk-chunk-E6TXX6MI.module.min.js +0 -1
  251. package/dist/chunk-chunk-GMQ5AYTD.module.min.js +0 -1
  252. package/dist/chunk-chunk-JCG72SGW.module.min.js +0 -2
  253. package/dist/chunk-chunk-K3DMEW22.module.min.js +0 -1
  254. package/dist/chunk-chunk-KT2VAZMZ.module.min.js +0 -1
  255. package/dist/chunk-chunk-L6EA5V3G.module.min.js +0 -2
  256. package/dist/chunk-chunk-LJPCLYSC.module.min.js +0 -2
  257. package/dist/chunk-chunk-LRIFN2HK.module.min.js +0 -1
  258. package/dist/chunk-chunk-N5DDKCCF.module.min.js +0 -1
  259. package/dist/chunk-chunk-NEVE562N.module.min.js +0 -1
  260. package/dist/chunk-chunk-NLO44TOS.module.min.js +0 -2
  261. package/dist/chunk-chunk-PZJ2SBLL.module.min.js +0 -2
  262. package/dist/chunk-chunk-QSQVBIJA.module.min.js +0 -1
  263. package/dist/chunk-chunk-QUJ6TTLY.module.min.js +0 -1
  264. package/dist/chunk-chunk-RBIDBUT4.module.min.js +0 -2
  265. package/dist/chunk-chunk-RCF52Z42.module.min.js +0 -2
  266. package/dist/chunk-chunk-RFLAG356.module.min.js +0 -1
  267. package/dist/chunk-chunk-RPU4IZAV.module.min.js +0 -2
  268. package/dist/chunk-chunk-SKMBCFIL.module.min.js +0 -2
  269. package/dist/chunk-chunk-TAE7W424.module.min.js +0 -2
  270. package/dist/chunk-chunk-TUBMTZMU.module.min.js +0 -2
  271. package/dist/chunk-chunk-UFFEXJQY.module.min.js +0 -1
  272. package/dist/chunk-chunk-XSCHTS4D.module.min.js +0 -2
  273. package/dist/chunk-chunk-XXWSHGPL.module.min.js +0 -2
  274. package/dist/chunk-chunk-ZOAQDIJO.module.min.js +0 -1
  275. package/dist/chunk-chunk-ZXIXAPRE.module.min.js +0 -2
  276. package/dist/chunk-statisticalOverlays-QGDLRUHX.module.min.js +0 -1
  277. package/dist/chunk-statisticalOverlays-T77OKLDY.module.min.js +0 -1
@@ -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 {};
@@ -1,6 +1,7 @@
1
1
  import type { ChartCapability } from "./chartCapabilityTypes";
2
2
  import { LineChartCapability } from "../charts/xy/LineChart.capability";
3
3
  import { AreaChartCapability } from "../charts/xy/AreaChart.capability";
4
+ import { BumpChartCapability } from "../charts/xy/BumpChart.capability";
4
5
  import { StackedAreaChartCapability } from "../charts/xy/StackedAreaChart.capability";
5
6
  import { ScatterplotCapability } from "../charts/xy/Scatterplot.capability";
6
7
  import { ConnectedScatterplotCapability } from "../charts/xy/ConnectedScatterplot.capability";
@@ -40,12 +41,13 @@ import { FlowMapCapability } from "../charts/geo/FlowMap.capability";
40
41
  import { DistanceCartogramCapability } from "../charts/geo/DistanceCartogram.capability";
41
42
  import { GaltonBoardChartCapability } from "../charts/physics/GaltonBoardChart.capability";
42
43
  import { EventDropChartCapability } from "../charts/physics/EventDropChart.capability";
43
- import { PhysicsPileChartCapability } from "../charts/physics/PhysicsPileChart.capability";
44
+ import { UnitPileChartCapability } from "../charts/physics/UnitPileChart.capability";
44
45
  import { CollisionSwarmChartCapability } from "../charts/physics/CollisionSwarmChart.capability";
45
- import { PhysicalFlowChartCapability } from "../charts/physics/PhysicalFlowChart.capability";
46
+ import { PacketFlowChartCapability } from "../charts/physics/PacketFlowChart.capability";
46
47
  import { ProcessFlowChartCapability } from "../charts/physics/ProcessFlowChart.capability";
47
48
  import { GauntletChartCapability } from "../charts/physics/GauntletChart.capability";
48
49
  import { CrucibleChartCapability } from "../charts/physics/CrucibleChart.capability";
50
+ import { ChainReactionChartCapability } from "../charts/physics/ChainReactionChart.capability";
49
51
  /**
50
52
  * Register a capability for a chart (built-in or third-party). Re-registering by
51
53
  * component name replaces the previous descriptor — useful for overriding defaults.
@@ -60,4 +62,4 @@ export declare function unregisterChartCapability(component: string): void;
60
62
  export declare function getCapabilities(): ReadonlyArray<ChartCapability>;
61
63
  /** Look up a capability by component name. */
62
64
  export declare function getCapability(component: string): ChartCapability | undefined;
63
- export { LineChartCapability, AreaChartCapability, 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, PhysicsPileChartCapability, CollisionSwarmChartCapability, PhysicalFlowChartCapability, ProcessFlowChartCapability, GauntletChartCapability, CrucibleChartCapability };
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 ConversationArcEventType = "suggestion-shown" | "suggestion-chosen" | "audience-set" | "chart-rendered" | "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
- 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;