@tanstack/ai-devtools-core 0.0.1

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 (103) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +131 -0
  3. package/dist/esm/components/ConversationDetails.d.ts +2 -0
  4. package/dist/esm/components/ConversationDetails.js +134 -0
  5. package/dist/esm/components/ConversationDetails.js.map +1 -0
  6. package/dist/esm/components/ConversationsList.d.ts +2 -0
  7. package/dist/esm/components/ConversationsList.js +30 -0
  8. package/dist/esm/components/ConversationsList.js.map +1 -0
  9. package/dist/esm/components/Shell.d.ts +1 -0
  10. package/dist/esm/components/Shell.js +94 -0
  11. package/dist/esm/components/Shell.js.map +1 -0
  12. package/dist/esm/components/conversation/ChunkBadges.d.ts +7 -0
  13. package/dist/esm/components/conversation/ChunkBadges.js +54 -0
  14. package/dist/esm/components/conversation/ChunkBadges.js.map +1 -0
  15. package/dist/esm/components/conversation/ChunkItem.d.ts +9 -0
  16. package/dist/esm/components/conversation/ChunkItem.js +247 -0
  17. package/dist/esm/components/conversation/ChunkItem.js.map +1 -0
  18. package/dist/esm/components/conversation/ChunksCollapsible.d.ts +7 -0
  19. package/dist/esm/components/conversation/ChunksCollapsible.js +77 -0
  20. package/dist/esm/components/conversation/ChunksCollapsible.js.map +1 -0
  21. package/dist/esm/components/conversation/ChunksTab.d.ts +8 -0
  22. package/dist/esm/components/conversation/ChunksTab.js +87 -0
  23. package/dist/esm/components/conversation/ChunksTab.js.map +1 -0
  24. package/dist/esm/components/conversation/ConversationHeader.d.ts +7 -0
  25. package/dist/esm/components/conversation/ConversationHeader.js +187 -0
  26. package/dist/esm/components/conversation/ConversationHeader.js.map +1 -0
  27. package/dist/esm/components/conversation/ConversationTabs.d.ts +10 -0
  28. package/dist/esm/components/conversation/ConversationTabs.js +88 -0
  29. package/dist/esm/components/conversation/ConversationTabs.js.map +1 -0
  30. package/dist/esm/components/conversation/EmbeddingsTab.d.ts +7 -0
  31. package/dist/esm/components/conversation/EmbeddingsTab.js +90 -0
  32. package/dist/esm/components/conversation/EmbeddingsTab.js.map +1 -0
  33. package/dist/esm/components/conversation/MessageCard.d.ts +7 -0
  34. package/dist/esm/components/conversation/MessageCard.js +152 -0
  35. package/dist/esm/components/conversation/MessageCard.js.map +1 -0
  36. package/dist/esm/components/conversation/MessageGroup.d.ts +15 -0
  37. package/dist/esm/components/conversation/MessageGroup.js +119 -0
  38. package/dist/esm/components/conversation/MessageGroup.js.map +1 -0
  39. package/dist/esm/components/conversation/MessagesTab.d.ts +7 -0
  40. package/dist/esm/components/conversation/MessagesTab.js +37 -0
  41. package/dist/esm/components/conversation/MessagesTab.js.map +1 -0
  42. package/dist/esm/components/conversation/SummariesTab.d.ts +7 -0
  43. package/dist/esm/components/conversation/SummariesTab.js +110 -0
  44. package/dist/esm/components/conversation/SummariesTab.js.map +1 -0
  45. package/dist/esm/components/conversation/ToolCallDisplay.d.ts +7 -0
  46. package/dist/esm/components/conversation/ToolCallDisplay.js +123 -0
  47. package/dist/esm/components/conversation/ToolCallDisplay.js.map +1 -0
  48. package/dist/esm/components/conversation/index.d.ts +7 -0
  49. package/dist/esm/components/list/ConversationRow.d.ts +7 -0
  50. package/dist/esm/components/list/ConversationRow.js +122 -0
  51. package/dist/esm/components/list/ConversationRow.js.map +1 -0
  52. package/dist/esm/components/list/index.d.ts +1 -0
  53. package/dist/esm/components/utils/format.d.ts +6 -0
  54. package/dist/esm/components/utils/format.js +68 -0
  55. package/dist/esm/components/utils/format.js.map +1 -0
  56. package/dist/esm/components/utils/index.d.ts +1 -0
  57. package/dist/esm/core.d.ts +18 -0
  58. package/dist/esm/core.js +9 -0
  59. package/dist/esm/core.js.map +1 -0
  60. package/dist/esm/index.d.ts +9 -0
  61. package/dist/esm/index.js +6 -0
  62. package/dist/esm/index.js.map +1 -0
  63. package/dist/esm/production.d.ts +2 -0
  64. package/dist/esm/production.js +5 -0
  65. package/dist/esm/production.js.map +1 -0
  66. package/dist/esm/store/ai-context.d.ts +126 -0
  67. package/dist/esm/store/ai-context.js +1081 -0
  68. package/dist/esm/store/ai-context.js.map +1 -0
  69. package/dist/esm/store/ai-store.d.ts +1 -0
  70. package/dist/esm/styles/tokens.d.ts +298 -0
  71. package/dist/esm/styles/tokens.js +107 -0
  72. package/dist/esm/styles/tokens.js.map +1 -0
  73. package/dist/esm/styles/use-styles.d.ts +226 -0
  74. package/dist/esm/styles/use-styles.js +1538 -0
  75. package/dist/esm/styles/use-styles.js.map +1 -0
  76. package/package.json +61 -0
  77. package/src/components/ConversationDetails.tsx +89 -0
  78. package/src/components/ConversationsList.tsx +21 -0
  79. package/src/components/Shell.tsx +93 -0
  80. package/src/components/conversation/ChunkBadges.tsx +51 -0
  81. package/src/components/conversation/ChunkItem.tsx +273 -0
  82. package/src/components/conversation/ChunksCollapsible.tsx +58 -0
  83. package/src/components/conversation/ChunksTab.tsx +85 -0
  84. package/src/components/conversation/ConversationHeader.tsx +130 -0
  85. package/src/components/conversation/ConversationTabs.tsx +104 -0
  86. package/src/components/conversation/EmbeddingsTab.tsx +80 -0
  87. package/src/components/conversation/MessageCard.tsx +137 -0
  88. package/src/components/conversation/MessageGroup.tsx +101 -0
  89. package/src/components/conversation/MessagesTab.tsx +30 -0
  90. package/src/components/conversation/SummariesTab.tsx +91 -0
  91. package/src/components/conversation/ToolCallDisplay.tsx +99 -0
  92. package/src/components/conversation/index.ts +8 -0
  93. package/src/components/list/ConversationRow.tsx +85 -0
  94. package/src/components/list/index.ts +1 -0
  95. package/src/components/utils/format.ts +61 -0
  96. package/src/components/utils/index.ts +1 -0
  97. package/src/core.tsx +10 -0
  98. package/src/index.ts +8 -0
  99. package/src/production.ts +3 -0
  100. package/src/store/ai-context.tsx +1784 -0
  101. package/src/store/ai-store.ts +2 -0
  102. package/src/styles/tokens.ts +305 -0
  103. package/src/styles/use-styles.ts +1537 -0
@@ -0,0 +1,61 @@
1
+ import type { Chunk } from '../../store/ai-store'
2
+
3
+ export const formatTimestamp = (timestamp: number): string => {
4
+ const date = new Date(timestamp)
5
+ return (
6
+ date.toLocaleTimeString() +
7
+ '.' +
8
+ date.getMilliseconds().toString().padStart(3, '0')
9
+ )
10
+ }
11
+
12
+ export const formatDuration = (ms?: number): string => {
13
+ if (!ms) return '-'
14
+ if (ms < 1000) return `${ms}ms`
15
+ return `${(ms / 1000).toFixed(2)}s`
16
+ }
17
+
18
+ export const getChunkTypeColor = (type: Chunk['type']): string => {
19
+ switch (type) {
20
+ case 'content':
21
+ return '#10b981' // green
22
+ case 'tool_call':
23
+ return '#8b5cf6' // purple
24
+ case 'tool_result':
25
+ return '#3b82f6' // blue
26
+ case 'done':
27
+ return '#6b7280' // gray
28
+ case 'error':
29
+ return '#ef4444' // red
30
+ case 'approval':
31
+ return '#f59e0b' // orange/amber
32
+ default:
33
+ return '#6b7280' // gray
34
+ }
35
+ }
36
+
37
+ export const getStatusColor = (
38
+ status: 'active' | 'completed' | 'error',
39
+ ): string => {
40
+ switch (status) {
41
+ case 'active':
42
+ return 'oklch(0.7 0.17 142)' // green
43
+ case 'completed':
44
+ return 'oklch(0.65 0.1 260)' // blue
45
+ case 'error':
46
+ return 'oklch(0.65 0.2 25)' // red
47
+ default:
48
+ return 'oklch(0.6 0.05 200)'
49
+ }
50
+ }
51
+
52
+ export const getTypeColor = (type: 'client' | 'server'): string => {
53
+ switch (type) {
54
+ case 'client':
55
+ return 'oklch(0.68 0.16 330)' // pink
56
+ case 'server':
57
+ return 'oklch(0.68 0.15 280)' // purple
58
+ default:
59
+ return 'oklch(0.6 0.05 200)'
60
+ }
61
+ }
@@ -0,0 +1 @@
1
+ export * from './format'
package/src/core.tsx ADDED
@@ -0,0 +1,10 @@
1
+ import { lazy } from 'solid-js'
2
+ import { constructCoreClass } from '@tanstack/devtools-utils/solid'
3
+
4
+ const Component = lazy(() => import('./components/Shell'))
5
+
6
+ export interface AiDevtoolsInit {}
7
+
8
+ const [AiDevtoolsCore, AiDevtoolsCoreNoOp] = constructCoreClass(Component)
9
+
10
+ export { AiDevtoolsCore, AiDevtoolsCoreNoOp }
package/src/index.ts ADDED
@@ -0,0 +1,8 @@
1
+ import * as Devtools from './core'
2
+
3
+ export const AiDevtoolsCore =
4
+ process.env.NODE_ENV !== 'development'
5
+ ? Devtools.AiDevtoolsCoreNoOp
6
+ : Devtools.AiDevtoolsCore
7
+
8
+ export type { AiDevtoolsInit } from './core'
@@ -0,0 +1,3 @@
1
+ export { AiDevtoolsCore } from './core'
2
+
3
+ export type { AiDevtoolsInit } from './core'