@datalayer/core 1.0.3 → 1.0.12

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 (117) hide show
  1. package/lib/api/constants.d.ts +3 -0
  2. package/lib/api/constants.js +3 -0
  3. package/lib/api/runtimes/checkpoints.d.ts +122 -0
  4. package/lib/api/runtimes/checkpoints.js +118 -0
  5. package/lib/api/runtimes/index.d.ts +1 -0
  6. package/lib/api/runtimes/index.js +1 -0
  7. package/lib/api/runtimes/runtimes.d.ts +84 -0
  8. package/lib/api/runtimes/runtimes.js +50 -0
  9. package/lib/components/auth/Login.js +1 -1
  10. package/lib/components/display/BusyDots.d.ts +9 -0
  11. package/lib/components/display/BusyDots.js +31 -0
  12. package/lib/components/display/LiveRelativeTime.d.ts +10 -0
  13. package/lib/components/display/LiveRelativeTime.js +21 -0
  14. package/lib/components/display/index.d.ts +2 -0
  15. package/lib/components/display/index.js +2 -0
  16. package/lib/components/flashes/FlashSurveys.js +1 -1
  17. package/lib/components/index.d.ts +1 -0
  18. package/lib/components/index.js +1 -0
  19. package/lib/components/navbar/SubdomainNavBar.js +1 -1
  20. package/lib/components/progress/ConsumptionBar.js +6 -7
  21. package/lib/components/progress/CreditsIndicator.js +2 -2
  22. package/lib/components/progress/consumption.d.ts +12 -0
  23. package/lib/components/progress/consumption.js +31 -0
  24. package/lib/components/progress/index.d.ts +1 -0
  25. package/lib/components/progress/index.js +1 -0
  26. package/lib/components/sparklines/Sparklines.d.ts +16 -0
  27. package/lib/components/sparklines/Sparklines.js +65 -0
  28. package/lib/components/sparklines/SparklinesLine.d.ts +8 -0
  29. package/lib/components/sparklines/SparklinesLine.js +37 -0
  30. package/lib/components/sparklines/dataProcessing.d.ts +25 -0
  31. package/lib/components/sparklines/dataProcessing.js +35 -0
  32. package/lib/components/sparklines/index.d.ts +4 -0
  33. package/lib/components/sparklines/index.js +7 -0
  34. package/lib/components/sparklines/types.d.ts +36 -0
  35. package/lib/components/sparklines/types.js +5 -0
  36. package/lib/components/storage/ContentsBrowser.js +17 -1
  37. package/lib/components/subnav/SubNav.js +1 -1
  38. package/lib/hooks/index.d.ts +3 -0
  39. package/lib/hooks/index.js +3 -0
  40. package/lib/hooks/useCache.d.ts +5 -67
  41. package/lib/hooks/useCache.js +15 -213
  42. package/lib/hooks/useHighZIndexPortal.d.ts +4 -0
  43. package/lib/hooks/useHighZIndexPortal.js +36 -0
  44. package/lib/hooks/useKeyboardShortcuts.d.ts +23 -0
  45. package/lib/hooks/useKeyboardShortcuts.js +124 -0
  46. package/lib/hooks/useProjects.d.ts +1 -1
  47. package/lib/models/ItemDTO.js +1 -1
  48. package/lib/models/RolesPlatform.js +2 -2
  49. package/lib/models/User.d.ts +2 -0
  50. package/lib/models/User.js +4 -1
  51. package/lib/otel/client/OtelClient.d.ts +93 -0
  52. package/lib/otel/client/OtelClient.js +232 -0
  53. package/lib/otel/client/index.d.ts +2 -0
  54. package/lib/otel/client/index.js +5 -0
  55. package/lib/otel/{hooks.d.ts → hooks/index.d.ts} +15 -1
  56. package/lib/otel/{hooks.js → hooks/index.js} +58 -16
  57. package/lib/otel/index.d.ts +29 -20
  58. package/lib/otel/index.js +19 -15
  59. package/lib/otel/{OtelLive.d.ts → views/OtelLive.d.ts} +1 -1
  60. package/lib/otel/{OtelLive.js → views/OtelLive.js} +22 -4
  61. package/lib/otel/{OtelLogsList.d.ts → views/OtelLogsList.d.ts} +1 -1
  62. package/lib/otel/{OtelLogsList.js → views/OtelLogsList.js} +1 -1
  63. package/lib/otel/{OtelMetricsChart.d.ts → views/OtelMetricsChart.d.ts} +1 -1
  64. package/lib/otel/{OtelMetricsList.d.ts → views/OtelMetricsList.d.ts} +1 -1
  65. package/lib/otel/{OtelMetricsList.js → views/OtelMetricsList.js} +1 -1
  66. package/lib/otel/{OtelSearchBar.d.ts → views/OtelSearchBar.d.ts} +1 -1
  67. package/lib/otel/{OtelSpanDetail.d.ts → views/OtelSpanDetail.d.ts} +1 -1
  68. package/lib/otel/{OtelSpanDetail.js → views/OtelSpanDetail.js} +1 -1
  69. package/lib/otel/{OtelSpanTree.d.ts → views/OtelSpanTree.d.ts} +1 -1
  70. package/lib/otel/{OtelSpanTree.js → views/OtelSpanTree.js} +1 -1
  71. package/lib/otel/{OtelSqlView.js → views/OtelSqlView.js} +1 -1
  72. package/lib/otel/{OtelSystemView.js → views/OtelSystemView.js} +1 -1
  73. package/lib/otel/{OtelTimeline.d.ts → views/OtelTimeline.d.ts} +1 -1
  74. package/lib/otel/{OtelTimeline.js → views/OtelTimeline.js} +1 -1
  75. package/lib/otel/{OtelTimelineRangeSlider.d.ts → views/OtelTimelineRangeSlider.d.ts} +1 -1
  76. package/lib/otel/{OtelTracesList.d.ts → views/OtelTracesList.d.ts} +1 -1
  77. package/lib/otel/{OtelTracesList.js → views/OtelTracesList.js} +1 -1
  78. package/lib/otel/views/index.d.ts +20 -0
  79. package/lib/otel/views/index.js +21 -0
  80. package/lib/state/substates/CoreState.js +6 -6
  81. package/lib/utils/Date.d.ts +6 -0
  82. package/lib/utils/Date.js +37 -0
  83. package/lib/views/iam/SignInSimple.d.ts +5 -0
  84. package/lib/views/iam/SignInSimple.js +39 -6
  85. package/lib/views/iam-tokens/IAMTokenEdit.d.ts +5 -1
  86. package/lib/views/iam-tokens/IAMTokenEdit.js +3 -3
  87. package/lib/views/iam-tokens/IAMTokenNew.js +2 -2
  88. package/lib/views/iam-tokens/IAMTokens.d.ts +4 -2
  89. package/lib/views/iam-tokens/IAMTokens.js +4 -4
  90. package/lib/views/index.d.ts +1 -0
  91. package/lib/views/index.js +1 -0
  92. package/lib/views/otel/DashboardView.d.ts +16 -0
  93. package/lib/views/otel/DashboardView.js +4 -0
  94. package/lib/views/otel/LogsView.d.ts +12 -0
  95. package/lib/views/otel/LogsView.js +4 -0
  96. package/lib/views/otel/MetricsView.d.ts +12 -0
  97. package/lib/views/otel/MetricsView.js +4 -0
  98. package/lib/views/otel/OtelHeader.d.ts +33 -0
  99. package/lib/views/otel/OtelHeader.js +105 -0
  100. package/lib/views/otel/SqlView.d.ts +9 -0
  101. package/lib/views/otel/SqlView.js +4 -0
  102. package/lib/views/otel/SystemView.d.ts +9 -0
  103. package/lib/views/otel/SystemView.js +4 -0
  104. package/lib/views/otel/TracesView.d.ts +12 -0
  105. package/lib/views/otel/TracesView.js +4 -0
  106. package/lib/views/otel/index.d.ts +16 -0
  107. package/lib/views/otel/index.js +12 -0
  108. package/lib/views/otel/simpleAuthStore.d.ts +21 -0
  109. package/lib/views/otel/simpleAuthStore.js +22 -0
  110. package/lib/views/profile/UserBadge.d.ts +2 -0
  111. package/lib/views/profile/UserBadge.js +3 -3
  112. package/package.json +1 -26
  113. /package/lib/otel/{OtelMetricsChart.js → views/OtelMetricsChart.js} +0 -0
  114. /package/lib/otel/{OtelSearchBar.js → views/OtelSearchBar.js} +0 -0
  115. /package/lib/otel/{OtelSqlView.d.ts → views/OtelSqlView.d.ts} +0 -0
  116. /package/lib/otel/{OtelSystemView.d.ts → views/OtelSystemView.d.ts} +0 -0
  117. /package/lib/otel/{OtelTimelineRangeSlider.js → views/OtelTimelineRangeSlider.js} +0 -0
@@ -0,0 +1,9 @@
1
+ /**
2
+ * SqlView – Standalone SQL query view for exploring OTEL data.
3
+ */
4
+ import React from 'react';
5
+ export interface SqlViewProps {
6
+ baseUrl?: string;
7
+ token?: string;
8
+ }
9
+ export declare const SqlView: React.FC<SqlViewProps>;
@@ -0,0 +1,4 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Box } from '@primer/react';
3
+ import { OtelSqlView } from '../../otel';
4
+ export const SqlView = ({ baseUrl = '', token }) => (_jsx(Box, { sx: { display: 'flex', flex: 1, minHeight: 0, overflow: 'hidden' }, children: _jsx(OtelSqlView, { baseUrl: baseUrl, token: token }) }));
@@ -0,0 +1,9 @@
1
+ /**
2
+ * SystemView – OTEL system/infrastructure view.
3
+ */
4
+ import React from 'react';
5
+ export interface SystemViewProps {
6
+ baseUrl?: string;
7
+ token?: string;
8
+ }
9
+ export declare const SystemView: React.FC<SystemViewProps>;
@@ -0,0 +1,4 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Box } from '@primer/react';
3
+ import { OtelSystemView } from '../../otel';
4
+ export const SystemView = ({ baseUrl = '', token, }) => (_jsx(Box, { sx: { display: 'flex', flex: 1, minHeight: 0, overflow: 'hidden' }, children: _jsx(OtelSystemView, { baseUrl: baseUrl, token: token }) }));
@@ -0,0 +1,12 @@
1
+ /**
2
+ * TracesView – Standalone traces-only view.
3
+ * Renders OtelLive defaulting to the traces signal.
4
+ */
5
+ import React from 'react';
6
+ export interface TracesViewProps {
7
+ baseUrl?: string;
8
+ token?: string;
9
+ autoRefreshMs?: number;
10
+ limit?: number;
11
+ }
12
+ export declare const TracesView: React.FC<TracesViewProps>;
@@ -0,0 +1,4 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Box } from '@primer/react';
3
+ import { OtelLive } from '../../otel';
4
+ export const TracesView = ({ baseUrl = '', token, autoRefreshMs = 5000, limit = 200, }) => (_jsx(Box, { sx: { display: 'flex', flex: 1, minHeight: 0, overflow: 'hidden' }, children: _jsx(OtelLive, { baseUrl: baseUrl, token: token, autoRefreshMs: autoRefreshMs, defaultSignal: "traces", limit: limit }) }));
@@ -0,0 +1,16 @@
1
+ export { DashboardView } from './DashboardView';
2
+ export type { DashboardViewProps } from './DashboardView';
3
+ export { TracesView } from './TracesView';
4
+ export type { TracesViewProps } from './TracesView';
5
+ export { LogsView } from './LogsView';
6
+ export type { LogsViewProps } from './LogsView';
7
+ export { MetricsView } from './MetricsView';
8
+ export type { MetricsViewProps } from './MetricsView';
9
+ export { SqlView } from './SqlView';
10
+ export type { SqlViewProps } from './SqlView';
11
+ export { SystemView } from './SystemView';
12
+ export type { SystemViewProps } from './SystemView';
13
+ export { OtelHeader } from './OtelHeader';
14
+ export type { OtelHeaderProps } from './OtelHeader';
15
+ export { useSimpleAuthStore } from './simpleAuthStore';
16
+ export type { SimpleAuthState } from './simpleAuthStore';
@@ -0,0 +1,12 @@
1
+ /*
2
+ * Copyright (c) 2023-2025 Datalayer, Inc.
3
+ * Distributed under the terms of the Modified BSD License.
4
+ */
5
+ export { DashboardView } from './DashboardView';
6
+ export { TracesView } from './TracesView';
7
+ export { LogsView } from './LogsView';
8
+ export { MetricsView } from './MetricsView';
9
+ export { SqlView } from './SqlView';
10
+ export { SystemView } from './SystemView';
11
+ export { OtelHeader } from './OtelHeader';
12
+ export { useSimpleAuthStore } from './simpleAuthStore';
@@ -0,0 +1,21 @@
1
+ export interface SimpleAuthState {
2
+ /** JWT bearer token (from IAM login). */
3
+ token: string | null;
4
+ /** Authenticated user's handle. */
5
+ handle: string | null;
6
+ /** Set credentials after successful login. */
7
+ setAuth: (token: string, handle: string) => void;
8
+ /** Clear credentials (logout). */
9
+ clearAuth: () => void;
10
+ }
11
+ export declare const useSimpleAuthStore: import("zustand").UseBoundStore<Omit<import("zustand").StoreApi<SimpleAuthState>, "persist"> & {
12
+ persist: {
13
+ setOptions: (options: Partial<import("zustand/middleware").PersistOptions<SimpleAuthState, SimpleAuthState>>) => void;
14
+ clearStorage: () => void;
15
+ rehydrate: () => Promise<void> | void;
16
+ hasHydrated: () => boolean;
17
+ onHydrate: (fn: (state: SimpleAuthState) => void) => () => void;
18
+ onFinishHydration: (fn: (state: SimpleAuthState) => void) => () => void;
19
+ getOptions: () => Partial<import("zustand/middleware").PersistOptions<SimpleAuthState, SimpleAuthState>>;
20
+ };
21
+ }>;
@@ -0,0 +1,22 @@
1
+ /*
2
+ * Copyright (c) 2023-2025 Datalayer, Inc.
3
+ * Distributed under the terms of the Modified BSD License.
4
+ */
5
+ /**
6
+ * Minimal token-based authentication store.
7
+ *
8
+ * Persists a JWT bearer token and a user handle to localStorage so the
9
+ * session survives page refreshes. Intended for demo / example apps that
10
+ * need a lightweight auth layer without a full IAM integration.
11
+ *
12
+ * Import via the `@datalayer/core/views/otel` subpath:
13
+ * import { useSimpleAuthStore } from '@datalayer/core/views/otel';
14
+ */
15
+ import { create } from 'zustand';
16
+ import { persist } from 'zustand/middleware';
17
+ export const useSimpleAuthStore = create()(persist((set) => ({
18
+ token: null,
19
+ handle: null,
20
+ setAuth: (token, handle) => set({ token, handle }),
21
+ clearAuth: () => set({ token: null, handle: null }),
22
+ }), { name: 'datalayer-simple-auth' }));
@@ -13,6 +13,8 @@ import React from 'react';
13
13
  export interface UserBadgeProps {
14
14
  /** Raw JWT bearer token. */
15
15
  token: string;
16
+ /** Display variant for the claims overlay. */
17
+ variant?: 'full' | 'small';
16
18
  }
17
19
  export declare const UserBadge: React.FC<UserBadgeProps>;
18
20
  export default UserBadge;
@@ -18,7 +18,7 @@ import { useState, useRef, useCallback } from 'react';
18
18
  import { Box, Text } from '@primer/react';
19
19
  import { parseJwtPayload, getDatalayerJwtUser, getDatalayerDisplayName, } from '../../utils/Jwt';
20
20
  // ── Component ─────────────────────────────────────────────────────
21
- export const UserBadge = ({ token }) => {
21
+ export const UserBadge = ({ token, variant = 'full', }) => {
22
22
  const [open, setOpen] = useState(false);
23
23
  const closeTimer = useRef(null);
24
24
  const handleEnter = useCallback(() => {
@@ -85,7 +85,7 @@ export const UserBadge = ({ token }) => {
85
85
  borderRadius: 1,
86
86
  border: '1px solid',
87
87
  borderColor: 'accent.muted',
88
- }, children: r }, r))) })] })), _jsx(Box, { as: "pre", sx: {
88
+ }, children: r }, r))) })] })), variant === 'full' && (_jsx(Box, { as: "pre", sx: {
89
89
  m: 0,
90
90
  px: 3,
91
91
  py: 2,
@@ -96,6 +96,6 @@ export const UserBadge = ({ token }) => {
96
96
  overflow: 'auto',
97
97
  maxHeight: '220px',
98
98
  whiteSpace: 'pre',
99
- }, children: JSON.stringify(claims, null, 2) })] }))] }));
99
+ }, children: JSON.stringify(claims, null, 2) }))] }))] }));
100
100
  };
101
101
  export default UserBadge;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@datalayer/core",
3
- "version": "1.0.3",
3
+ "version": "1.0.12",
4
4
  "type": "module",
5
5
  "workspaces": [
6
6
  ".",
@@ -28,30 +28,6 @@
28
28
  ],
29
29
  "main": "lib/index.js",
30
30
  "types": "lib/index.d.ts",
31
- "exports": {
32
- ".": {
33
- "types": "./lib/index.d.ts",
34
- "default": "./lib/index.js"
35
- },
36
- "./otel": {
37
- "types": "./lib/otel/index.d.ts",
38
- "default": "./lib/otel/index.js"
39
- },
40
- "./views/iam": {
41
- "types": "./lib/views/iam/index.d.ts",
42
- "default": "./lib/views/iam/index.js"
43
- },
44
- "./views/profile": {
45
- "types": "./lib/views/profile/index.d.ts",
46
- "default": "./lib/views/profile/index.js"
47
- },
48
- "./utils/jwt": {
49
- "types": "./lib/utils/Jwt.d.ts",
50
- "default": "./lib/utils/Jwt.js"
51
- },
52
- "./style/*": "./style/*",
53
- "./*": "./*"
54
- },
55
31
  "style": "style/index.css",
56
32
  "repository": {
57
33
  "type": "git",
@@ -220,7 +196,6 @@
220
196
  "@types/node": "^20.11.0",
221
197
  "@types/react": "18.3.20",
222
198
  "@types/react-dom": "18.3.6",
223
- "@types/react-syntax-highlighter": "^15.5.13",
224
199
  "@vitejs/plugin-react": "^4.5.2",
225
200
  "@vitest/browser": "^3.2.4",
226
201
  "@vitest/coverage-v8": "^3.2.4",