@assistant-ui/react-o11y 0.0.41 → 0.0.43

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.
@@ -1 +1 @@
1
- {"version":3,"file":"SpanIndent.js","names":["ComponentPropsWithoutRef","ComponentRef","forwardRef","useMemo","Primitive","useAuiState","SpanPrimitiveIndent","Element","div","Props","baseIndent","indentPerLevel","t0","ref","$","_c","props","style","t1","t2","undefined","depth","_temp","t3","t4","paddingLeft","mergedStyle","t5","displayName","s","span"],"sources":["../../../src/primitives/span/SpanIndent.tsx"],"sourcesContent":["import {\n type ComponentPropsWithoutRef,\n type ComponentRef,\n forwardRef,\n useMemo,\n} from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useAuiState } from \"@assistant-ui/store\";\n\nexport namespace SpanPrimitiveIndent {\n export type Element = ComponentRef<typeof Primitive.div>;\n export type Props = ComponentPropsWithoutRef<typeof Primitive.div> & {\n baseIndent?: number;\n indentPerLevel?: number;\n };\n}\n\nexport const SpanPrimitiveIndent = forwardRef<\n SpanPrimitiveIndent.Element,\n SpanPrimitiveIndent.Props\n>(({ baseIndent = 8, indentPerLevel = 12, style, ...props }, ref) => {\n const depth = useAuiState((s) => s.span.depth);\n\n const mergedStyle = useMemo(\n () => ({\n ...style,\n paddingLeft: baseIndent + depth * indentPerLevel,\n }),\n [style, baseIndent, depth, indentPerLevel],\n );\n\n return (\n <Primitive.div\n {...props}\n ref={ref}\n style={mergedStyle}\n data-span-depth={depth}\n />\n );\n});\n\nSpanPrimitiveIndent.displayName = \"SpanPrimitive.Indent\";\n"],"mappings":";;;;;;AAiBA,MAAaM,sBAAsBJ,YAGjCU,IAAAC,QAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAL,EAAA,OAAAF,IAAA;EAAC,CAAA,CAAAF,YAAAQ,IAAAP,gBAAAQ,IAAAF,UAAAD,SAAAJ;EAAwDE,EAAA,KAAAF;EAAAE,EAAA,KAAAE;EAAAF,EAAA,KAAAG;EAAAH,EAAA,KAAAI;EAAAJ,EAAA,KAAAK;CAAA,OAAA;EAAAH,QAAAF,EAAA;EAAAG,QAAAH,EAAA;EAAAI,KAAAJ,EAAA;EAAAK,KAAAL,EAAA;CAAA;CAAtD,MAAAJ,aAAAQ,OAAAE,KAAAA,IAAA,IAAAF;CAAgB,MAAAP,iBAAAQ,OAAAC,KAAAA,IAAA,KAAAD;CACnB,MAAAE,QAAchB,YAAYiB,KAAmB;CAK5B,MAAAC,KAAAb,aAAaW,QAAQV;CAAc,IAAAa;CAAA,IAAAV,EAAA,OAAAG,SAAAH,EAAA,OAAAS,IAAA;EAF3CC,KAAA;GAAA,GACFP;GAAKQ,aACKF;EACf;EAACT,EAAA,KAAAG;EAAAH,EAAA,KAAAS;EAAAT,EAAA,KAAAU;CAAA,OAAAA,KAAAV,EAAA;CAJH,MAAAY,cACSF;CAKP,IAAAG;CAAA,IAAAb,EAAA,OAAAO,SAAAP,EAAA,OAAAY,eAAAZ,EAAA,QAAAE,SAAAF,EAAA,QAAAD,KAAA;EAGAc,KAAA,oBAAA,UAAA,KAAA;GAAA,GACMX;GACCH;GACEa,OAAAA;GACUL,mBAAAA;EAAK,CAAA;EACtBP,EAAA,KAAAO;EAAAP,EAAA,KAAAY;EAAAZ,EAAA,MAAAE;EAAAF,EAAA,MAAAD;EAAAC,EAAA,MAAAa;CAAA,OAAAA,KAAAb,EAAA;CAAA,OALFa;AAKE,CAEL;AAEDrB,oBAAoBsB,cAAc;AArBhC,SAAAN,MAAAO,GAAA;CAAA,OACiCA,EAACC,KAAKT;AAAM"}
1
+ {"version":3,"file":"SpanIndent.js","names":["ComponentPropsWithoutRef","ComponentRef","forwardRef","useMemo","Primitive","useAuiState","SpanPrimitiveIndent","Element","div","Props","baseIndent","indentPerLevel","t0","ref","$","_c","props","style","t1","t2","undefined","depth","_temp","t3","t4","paddingLeft","mergedStyle","t5","displayName","s","span"],"sources":["../../../src/primitives/span/SpanIndent.tsx"],"sourcesContent":["import {\n type ComponentPropsWithoutRef,\n type ComponentRef,\n forwardRef,\n useMemo,\n} from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useAuiState } from \"@assistant-ui/store\";\n\nexport namespace SpanPrimitiveIndent {\n export type Element = ComponentRef<typeof Primitive.div>;\n export type Props = ComponentPropsWithoutRef<typeof Primitive.div> & {\n baseIndent?: number;\n indentPerLevel?: number;\n };\n}\n\nexport const SpanPrimitiveIndent = forwardRef<\n SpanPrimitiveIndent.Element,\n SpanPrimitiveIndent.Props\n>(({ baseIndent = 8, indentPerLevel = 12, style, ...props }, ref) => {\n const depth = useAuiState((s) => s.span.depth);\n\n const mergedStyle = useMemo(\n () => ({\n ...style,\n paddingLeft: baseIndent + depth * indentPerLevel,\n }),\n [style, baseIndent, depth, indentPerLevel],\n );\n\n return (\n <Primitive.div\n {...props}\n ref={ref}\n style={mergedStyle}\n data-span-depth={depth}\n />\n );\n});\n\nSpanPrimitiveIndent.displayName = \"SpanPrimitive.Indent\";\n"],"mappings":";;;;;;AAiBA,MAAaM,sBAAsBJ,YAGjCU,IAAAC,QAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAL,EAAA,OAAAF,IAAA;EAAC,CAAA,CAAAF,YAAAQ,IAAAP,gBAAAQ,IAAAF,OAAA,GAAAD,SAAAJ;EAAwDE,EAAA,KAAAF;EAAAE,EAAA,KAAAE;EAAAF,EAAA,KAAAG;EAAAH,EAAA,KAAAI;EAAAJ,EAAA,KAAAK;CAAA,OAAA;EAAAH,QAAAF,EAAA;EAAAG,QAAAH,EAAA;EAAAI,KAAAJ,EAAA;EAAAK,KAAAL,EAAA;CAAA;CAAtD,MAAAJ,aAAAQ,OAAAE,KAAAA,IAAA,IAAAF;CAAgB,MAAAP,iBAAAQ,OAAAC,KAAAA,IAAA,KAAAD;CACnB,MAAAE,QAAchB,YAAYiB,KAAmB;CAK5B,MAAAC,KAAAb,aAAaW,QAAQV;CAAc,IAAAa;CAAA,IAAAV,EAAA,OAAAG,SAAAH,EAAA,OAAAS,IAAA;EAF3CC,KAAA;GAAA,GACFP;GAAKQ,aACKF;EACf;EAACT,EAAA,KAAAG;EAAAH,EAAA,KAAAS;EAAAT,EAAA,KAAAU;CAAA,OAAAA,KAAAV,EAAA;CAJH,MAAAY,cACSF;CAKP,IAAAG;CAAA,IAAAb,EAAA,OAAAO,SAAAP,EAAA,OAAAY,eAAAZ,EAAA,QAAAE,SAAAF,EAAA,QAAAD,KAAA;EAGAc,KAAA,oBAAA,UAAA,KAAA;GAAA,GACMX;GACCH;GACEa,OAAAA;GACUL,mBAAAA;EAAK,CAAA;EACtBP,EAAA,KAAAO;EAAAP,EAAA,KAAAY;EAAAZ,EAAA,MAAAE;EAAAF,EAAA,MAAAD;EAAAC,EAAA,MAAAa;CAAA,OAAAA,KAAAb,EAAA;CAAA,OALFa;AAKE,CAEL;AAEDrB,oBAAoBsB,cAAc;AArBhC,SAAAN,MAAAO,GAAA;CAAA,OACiCA,EAACC,KAAKT;AAAM"}
@@ -1 +1 @@
1
- {"version":3,"file":"SpanTimeline.js","names":["ComponentPropsWithoutRef","ComponentRef","CSSProperties","createContext","forwardRef","useContext","useMemo","Primitive","useAuiState","SpanTimelineRange","min","max","TimelineCssProperties","clampPercent","value","Math","normalizeRange","range","paddingEnd","duration","safePaddingEnd","SpanTimelineRangeContext","SpanPrimitiveTimeline","Element","div","Props","timeRange","t0","ref","$","_c","children","props","style","t1","undefined","spanTimeRange","_temp","t2","t3","resolvedRange","rangeMs","t4","mergedStyle","t5","t6","displayName","SpanPrimitiveTimelineBar","now","getSpanTimelineBarVars","startedAt","endedAt","effectiveEnd","leftPercent","rawEndPercent","endPercent","widthPercent","durationMs","contextRange","_temp2","_temp3","_temp4","status","_temp5","type","_temp6","vars","position","insetInlineStart","inlineSize","t7","t8","s","span","s_0","s_1","s_2","s_3"],"sources":["../../../src/primitives/span/SpanTimeline.tsx"],"sourcesContent":["import {\n type ComponentPropsWithoutRef,\n type ComponentRef,\n type CSSProperties,\n createContext,\n forwardRef,\n useContext,\n useMemo,\n} from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useAuiState } from \"@assistant-ui/store\";\n\nexport type SpanTimelineRange = { min: number; max: number };\n\ntype TimelineCssProperties = CSSProperties & {\n \"--span-timeline-min-ms\"?: number;\n \"--span-timeline-max-ms\"?: number;\n \"--span-timeline-range-ms\"?: number;\n \"--span-timeline-left\"?: string;\n \"--span-timeline-end\"?: string;\n \"--span-timeline-width\"?: string;\n \"--span-timeline-duration-ms\"?: number;\n \"--span-timeline-min-width\"?: string | number;\n};\n\nconst clampPercent = (value: number) => Math.min(100, Math.max(0, value));\n\nconst normalizeRange = (\n range: SpanTimelineRange,\n paddingEnd = 0,\n): SpanTimelineRange => {\n const duration = Math.max(1, range.max - range.min);\n const safePaddingEnd = Math.max(0, paddingEnd);\n return {\n min: range.min,\n max: range.max + duration * safePaddingEnd,\n };\n};\n\nconst SpanTimelineRangeContext = createContext<SpanTimelineRange | null>(null);\n\nexport namespace SpanPrimitiveTimeline {\n export type Element = ComponentRef<typeof Primitive.div>;\n export type Props = ComponentPropsWithoutRef<typeof Primitive.div> & {\n timeRange?: SpanTimelineRange | undefined;\n paddingEnd?: number | undefined;\n };\n}\n\nexport const SpanPrimitiveTimeline = forwardRef<\n SpanPrimitiveTimeline.Element,\n SpanPrimitiveTimeline.Props\n>(({ timeRange, paddingEnd = 0, style, children, ...props }, ref) => {\n const spanTimeRange = useAuiState((s) => s.span.timeRange);\n const resolvedRange = useMemo(\n () => normalizeRange(timeRange ?? spanTimeRange, paddingEnd),\n [timeRange, spanTimeRange, paddingEnd],\n );\n const rangeMs = Math.max(1, resolvedRange.max - resolvedRange.min);\n\n const mergedStyle: TimelineCssProperties = {\n ...style,\n \"--span-timeline-min-ms\": resolvedRange.min,\n \"--span-timeline-max-ms\": resolvedRange.max,\n \"--span-timeline-range-ms\": rangeMs,\n };\n\n return (\n <SpanTimelineRangeContext.Provider value={resolvedRange}>\n <Primitive.div\n {...props}\n ref={ref}\n style={mergedStyle}\n data-span-timeline=\"\"\n >\n {children}\n </Primitive.div>\n </SpanTimelineRangeContext.Provider>\n );\n});\n\nSpanPrimitiveTimeline.displayName = \"SpanPrimitive.Timeline\";\n\nexport namespace SpanPrimitiveTimelineBar {\n export type Element = ComponentRef<typeof Primitive.div>;\n export type Props = ComponentPropsWithoutRef<typeof Primitive.div> & {\n now?: number | undefined;\n timeRange?: SpanTimelineRange | undefined;\n };\n}\n\nexport const getSpanTimelineBarVars = ({\n startedAt,\n endedAt,\n timeRange,\n now,\n}: {\n startedAt: number;\n endedAt: number | null;\n timeRange: SpanTimelineRange;\n now?: number | undefined;\n}) => {\n const rangeMs = Math.max(1, timeRange.max - timeRange.min);\n const effectiveEnd = endedAt ?? now ?? timeRange.max;\n const leftPercent = clampPercent(\n ((startedAt - timeRange.min) / rangeMs) * 100,\n );\n const rawEndPercent = ((effectiveEnd - timeRange.min) / rangeMs) * 100;\n const endPercent = clampPercent(Math.max(leftPercent, rawEndPercent));\n const widthPercent = endPercent - leftPercent;\n const durationMs = Math.max(0, effectiveEnd - startedAt);\n\n return {\n leftPercent,\n endPercent,\n widthPercent,\n durationMs,\n effectiveEnd,\n };\n};\n\nexport const SpanPrimitiveTimelineBar = forwardRef<\n SpanPrimitiveTimelineBar.Element,\n SpanPrimitiveTimelineBar.Props\n>(({ now, timeRange, style, ...props }, ref) => {\n const contextRange = useContext(SpanTimelineRangeContext);\n const spanTimeRange = useAuiState((s) => s.span.timeRange);\n const startedAt = useAuiState((s) => s.span.startedAt);\n const endedAt = useAuiState((s) => s.span.endedAt);\n const status = useAuiState((s) => s.span.status);\n const type = useAuiState((s) => s.span.type);\n\n const vars = getSpanTimelineBarVars({\n startedAt,\n endedAt,\n timeRange: timeRange ?? contextRange ?? spanTimeRange,\n now,\n });\n\n const mergedStyle: TimelineCssProperties = {\n ...style,\n position: \"absolute\",\n insetInlineStart: \"var(--span-timeline-left)\",\n inlineSize:\n \"max(var(--span-timeline-width), var(--span-timeline-min-width, 0px))\",\n \"--span-timeline-left\": `${vars.leftPercent}%`,\n \"--span-timeline-end\": `${vars.endPercent}%`,\n \"--span-timeline-width\": `${vars.widthPercent}%`,\n \"--span-timeline-duration-ms\": vars.durationMs,\n };\n\n return (\n <Primitive.div\n {...props}\n ref={ref}\n style={mergedStyle}\n data-span-status={status}\n data-span-type={type}\n data-span-running={endedAt === null ? \"\" : undefined}\n />\n );\n});\n\nSpanPrimitiveTimelineBar.displayName = \"SpanPrimitive.TimelineBar\";\n"],"mappings":"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"}
1
+ {"version":3,"file":"SpanTimeline.js","names":["ComponentPropsWithoutRef","ComponentRef","CSSProperties","createContext","forwardRef","useContext","useMemo","Primitive","useAuiState","SpanTimelineRange","min","max","TimelineCssProperties","clampPercent","value","Math","normalizeRange","range","paddingEnd","duration","safePaddingEnd","SpanTimelineRangeContext","SpanPrimitiveTimeline","Element","div","Props","timeRange","t0","ref","$","_c","children","props","style","t1","undefined","spanTimeRange","_temp","t2","t3","resolvedRange","rangeMs","t4","mergedStyle","t5","t6","displayName","SpanPrimitiveTimelineBar","now","getSpanTimelineBarVars","startedAt","endedAt","effectiveEnd","leftPercent","rawEndPercent","endPercent","widthPercent","durationMs","contextRange","_temp2","_temp3","_temp4","status","_temp5","type","_temp6","vars","position","insetInlineStart","inlineSize","t7","t8","s","span","s_0","s_1","s_2","s_3"],"sources":["../../../src/primitives/span/SpanTimeline.tsx"],"sourcesContent":["import {\n type ComponentPropsWithoutRef,\n type ComponentRef,\n type CSSProperties,\n createContext,\n forwardRef,\n useContext,\n useMemo,\n} from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useAuiState } from \"@assistant-ui/store\";\n\nexport type SpanTimelineRange = { min: number; max: number };\n\ntype TimelineCssProperties = CSSProperties & {\n \"--span-timeline-min-ms\"?: number;\n \"--span-timeline-max-ms\"?: number;\n \"--span-timeline-range-ms\"?: number;\n \"--span-timeline-left\"?: string;\n \"--span-timeline-end\"?: string;\n \"--span-timeline-width\"?: string;\n \"--span-timeline-duration-ms\"?: number;\n \"--span-timeline-min-width\"?: string | number;\n};\n\nconst clampPercent = (value: number) => Math.min(100, Math.max(0, value));\n\nconst normalizeRange = (\n range: SpanTimelineRange,\n paddingEnd = 0,\n): SpanTimelineRange => {\n const duration = Math.max(1, range.max - range.min);\n const safePaddingEnd = Math.max(0, paddingEnd);\n return {\n min: range.min,\n max: range.max + duration * safePaddingEnd,\n };\n};\n\nconst SpanTimelineRangeContext = createContext<SpanTimelineRange | null>(null);\n\nexport namespace SpanPrimitiveTimeline {\n export type Element = ComponentRef<typeof Primitive.div>;\n export type Props = ComponentPropsWithoutRef<typeof Primitive.div> & {\n timeRange?: SpanTimelineRange | undefined;\n paddingEnd?: number | undefined;\n };\n}\n\nexport const SpanPrimitiveTimeline = forwardRef<\n SpanPrimitiveTimeline.Element,\n SpanPrimitiveTimeline.Props\n>(({ timeRange, paddingEnd = 0, style, children, ...props }, ref) => {\n const spanTimeRange = useAuiState((s) => s.span.timeRange);\n const resolvedRange = useMemo(\n () => normalizeRange(timeRange ?? spanTimeRange, paddingEnd),\n [timeRange, spanTimeRange, paddingEnd],\n );\n const rangeMs = Math.max(1, resolvedRange.max - resolvedRange.min);\n\n const mergedStyle: TimelineCssProperties = {\n ...style,\n \"--span-timeline-min-ms\": resolvedRange.min,\n \"--span-timeline-max-ms\": resolvedRange.max,\n \"--span-timeline-range-ms\": rangeMs,\n };\n\n return (\n <SpanTimelineRangeContext.Provider value={resolvedRange}>\n <Primitive.div\n {...props}\n ref={ref}\n style={mergedStyle}\n data-span-timeline=\"\"\n >\n {children}\n </Primitive.div>\n </SpanTimelineRangeContext.Provider>\n );\n});\n\nSpanPrimitiveTimeline.displayName = \"SpanPrimitive.Timeline\";\n\nexport namespace SpanPrimitiveTimelineBar {\n export type Element = ComponentRef<typeof Primitive.div>;\n export type Props = ComponentPropsWithoutRef<typeof Primitive.div> & {\n now?: number | undefined;\n timeRange?: SpanTimelineRange | undefined;\n };\n}\n\nexport const getSpanTimelineBarVars = ({\n startedAt,\n endedAt,\n timeRange,\n now,\n}: {\n startedAt: number;\n endedAt: number | null;\n timeRange: SpanTimelineRange;\n now?: number | undefined;\n}) => {\n const rangeMs = Math.max(1, timeRange.max - timeRange.min);\n const effectiveEnd = endedAt ?? now ?? timeRange.max;\n const leftPercent = clampPercent(\n ((startedAt - timeRange.min) / rangeMs) * 100,\n );\n const rawEndPercent = ((effectiveEnd - timeRange.min) / rangeMs) * 100;\n const endPercent = clampPercent(Math.max(leftPercent, rawEndPercent));\n const widthPercent = endPercent - leftPercent;\n const durationMs = Math.max(0, effectiveEnd - startedAt);\n\n return {\n leftPercent,\n endPercent,\n widthPercent,\n durationMs,\n effectiveEnd,\n };\n};\n\nexport const SpanPrimitiveTimelineBar = forwardRef<\n SpanPrimitiveTimelineBar.Element,\n SpanPrimitiveTimelineBar.Props\n>(({ now, timeRange, style, ...props }, ref) => {\n const contextRange = useContext(SpanTimelineRangeContext);\n const spanTimeRange = useAuiState((s) => s.span.timeRange);\n const startedAt = useAuiState((s) => s.span.startedAt);\n const endedAt = useAuiState((s) => s.span.endedAt);\n const status = useAuiState((s) => s.span.status);\n const type = useAuiState((s) => s.span.type);\n\n const vars = getSpanTimelineBarVars({\n startedAt,\n endedAt,\n timeRange: timeRange ?? contextRange ?? spanTimeRange,\n now,\n });\n\n const mergedStyle: TimelineCssProperties = {\n ...style,\n position: \"absolute\",\n insetInlineStart: \"var(--span-timeline-left)\",\n inlineSize:\n \"max(var(--span-timeline-width), var(--span-timeline-min-width, 0px))\",\n \"--span-timeline-left\": `${vars.leftPercent}%`,\n \"--span-timeline-end\": `${vars.endPercent}%`,\n \"--span-timeline-width\": `${vars.widthPercent}%`,\n \"--span-timeline-duration-ms\": vars.durationMs,\n };\n\n return (\n <Primitive.div\n {...props}\n ref={ref}\n style={mergedStyle}\n data-span-status={status}\n data-span-type={type}\n data-span-running={endedAt === null ? \"\" : undefined}\n />\n );\n});\n\nSpanPrimitiveTimelineBar.displayName = \"SpanPrimitive.TimelineBar\";\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@assistant-ui/react-o11y",
3
- "version": "0.0.41",
3
+ "version": "0.0.43",
4
4
  "description": "Observability primitives for @assistant-ui",
5
5
  "keywords": [
6
6
  "observability",
@@ -28,9 +28,9 @@
28
28
  ],
29
29
  "sideEffects": false,
30
30
  "dependencies": {
31
- "@radix-ui/react-primitive": "^2.1.10",
32
- "@assistant-ui/store": "0.3.10",
33
- "@assistant-ui/tap": "0.9.14"
31
+ "@assistant-ui/store": "^0.3.12",
32
+ "@assistant-ui/tap": "^0.9.16",
33
+ "@radix-ui/react-primitive": "^2.1.10"
34
34
  },
35
35
  "peerDependencies": {
36
36
  "@types/react": "*",
@@ -42,12 +42,12 @@
42
42
  }
43
43
  },
44
44
  "devDependencies": {
45
+ "@assistant-ui/x-buildutils": "0.0.25",
45
46
  "@types/react": "^19.2.18",
46
- "@types/react-dom": "^19.2.4",
47
+ "@types/react-dom": "^19.2.5",
47
48
  "react": "^19.2.8",
48
49
  "react-dom": "^19.2.8",
49
- "vitest": "^4.1.10",
50
- "@assistant-ui/x-buildutils": "0.0.23"
50
+ "vitest": "^4.1.11"
51
51
  },
52
52
  "publishConfig": {
53
53
  "access": "public",