@stigmer/react 0.0.52 → 0.0.54

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 (160) hide show
  1. package/deployment-mode.d.ts +35 -0
  2. package/deployment-mode.d.ts.map +1 -0
  3. package/deployment-mode.js +41 -0
  4. package/deployment-mode.js.map +1 -0
  5. package/execution/ApprovalCard.d.ts +8 -6
  6. package/execution/ApprovalCard.d.ts.map +1 -1
  7. package/execution/ApprovalCard.js +34 -96
  8. package/execution/ApprovalCard.js.map +1 -1
  9. package/execution/ArtifactCard.d.ts +11 -1
  10. package/execution/ArtifactCard.d.ts.map +1 -1
  11. package/execution/ArtifactCard.js +22 -3
  12. package/execution/ArtifactCard.js.map +1 -1
  13. package/execution/ArtifactPreviewModal.d.ts.map +1 -1
  14. package/execution/ArtifactPreviewModal.js +1 -1
  15. package/execution/ArtifactPreviewModal.js.map +1 -1
  16. package/execution/ArtifactsWidget.d.ts +26 -19
  17. package/execution/ArtifactsWidget.d.ts.map +1 -1
  18. package/execution/ArtifactsWidget.js +24 -26
  19. package/execution/ArtifactsWidget.js.map +1 -1
  20. package/execution/McpToolDetail.d.ts +48 -0
  21. package/execution/McpToolDetail.d.ts.map +1 -0
  22. package/execution/McpToolDetail.js +159 -0
  23. package/execution/McpToolDetail.js.map +1 -0
  24. package/execution/MessageThread.d.ts +10 -1
  25. package/execution/MessageThread.d.ts.map +1 -1
  26. package/execution/MessageThread.js +19 -17
  27. package/execution/MessageThread.js.map +1 -1
  28. package/execution/SandboxContext.d.ts +32 -0
  29. package/execution/SandboxContext.d.ts.map +1 -0
  30. package/execution/SandboxContext.js +26 -0
  31. package/execution/SandboxContext.js.map +1 -0
  32. package/execution/ToolArgsView.d.ts +41 -0
  33. package/execution/ToolArgsView.d.ts.map +1 -0
  34. package/execution/ToolArgsView.js +134 -0
  35. package/execution/ToolArgsView.js.map +1 -0
  36. package/execution/ToolCallDetail.d.ts +11 -4
  37. package/execution/ToolCallDetail.d.ts.map +1 -1
  38. package/execution/ToolCallDetail.js +32 -101
  39. package/execution/ToolCallDetail.js.map +1 -1
  40. package/execution/ToolCallGroup.d.ts.map +1 -1
  41. package/execution/ToolCallGroup.js +3 -2
  42. package/execution/ToolCallGroup.js.map +1 -1
  43. package/execution/ToolCallItem.d.ts +2 -0
  44. package/execution/ToolCallItem.d.ts.map +1 -1
  45. package/execution/ToolCallItem.js +13 -3
  46. package/execution/ToolCallItem.js.map +1 -1
  47. package/execution/WriteBackCard.d.ts +34 -0
  48. package/execution/WriteBackCard.d.ts.map +1 -0
  49. package/execution/WriteBackCard.js +75 -0
  50. package/execution/WriteBackCard.js.map +1 -0
  51. package/execution/WriteBacksWidget.d.ts +49 -0
  52. package/execution/WriteBacksWidget.d.ts.map +1 -0
  53. package/execution/WriteBacksWidget.js +44 -0
  54. package/execution/WriteBacksWidget.js.map +1 -0
  55. package/execution/__tests__/file-path-resolver.test.d.ts +2 -0
  56. package/execution/__tests__/file-path-resolver.test.d.ts.map +1 -0
  57. package/execution/__tests__/file-path-resolver.test.js +180 -0
  58. package/execution/__tests__/file-path-resolver.test.js.map +1 -0
  59. package/execution/file-path-resolver.d.ts +3 -3
  60. package/execution/file-path-resolver.d.ts.map +1 -1
  61. package/execution/file-path-resolver.js +23 -12
  62. package/execution/file-path-resolver.js.map +1 -1
  63. package/execution/index.d.ts +16 -1
  64. package/execution/index.d.ts.map +1 -1
  65. package/execution/index.js +9 -1
  66. package/execution/index.js.map +1 -1
  67. package/execution/sandbox-path-normalizer.d.ts +46 -0
  68. package/execution/sandbox-path-normalizer.d.ts.map +1 -0
  69. package/execution/sandbox-path-normalizer.js +73 -0
  70. package/execution/sandbox-path-normalizer.js.map +1 -0
  71. package/execution/tool-categories.d.ts +35 -8
  72. package/execution/tool-categories.d.ts.map +1 -1
  73. package/execution/tool-categories.js +76 -10
  74. package/execution/tool-categories.js.map +1 -1
  75. package/execution/tool-rendering-primitives.d.ts +61 -0
  76. package/execution/tool-rendering-primitives.d.ts.map +1 -0
  77. package/execution/tool-rendering-primitives.js +106 -0
  78. package/execution/tool-rendering-primitives.js.map +1 -0
  79. package/execution/useArtifactContent.d.ts +5 -1
  80. package/execution/useArtifactContent.d.ts.map +1 -1
  81. package/execution/useArtifactContent.js +6 -2
  82. package/execution/useArtifactContent.js.map +1 -1
  83. package/execution/useWorkspaceWriteBacks.d.ts +40 -0
  84. package/execution/useWorkspaceWriteBacks.d.ts.map +1 -0
  85. package/execution/useWorkspaceWriteBacks.js +41 -0
  86. package/execution/useWorkspaceWriteBacks.js.map +1 -0
  87. package/github/GitHubRepoPicker.d.ts +5 -2
  88. package/github/GitHubRepoPicker.d.ts.map +1 -1
  89. package/github/GitHubRepoPicker.js +133 -36
  90. package/github/GitHubRepoPicker.js.map +1 -1
  91. package/github/index.d.ts +1 -0
  92. package/github/index.d.ts.map +1 -1
  93. package/github/index.js +1 -0
  94. package/github/index.js.map +1 -1
  95. package/github/useGitHubSearch.d.ts +20 -0
  96. package/github/useGitHubSearch.d.ts.map +1 -0
  97. package/github/useGitHubSearch.js +127 -0
  98. package/github/useGitHubSearch.js.map +1 -0
  99. package/index.d.ts +9 -6
  100. package/index.d.ts.map +1 -1
  101. package/index.js +7 -3
  102. package/index.js.map +1 -1
  103. package/internal/CloudFeatureNotice.d.ts +19 -0
  104. package/internal/CloudFeatureNotice.d.ts.map +1 -0
  105. package/internal/CloudFeatureNotice.js +21 -0
  106. package/internal/CloudFeatureNotice.js.map +1 -0
  107. package/mcp-server/McpServerDetailView.d.ts +15 -1
  108. package/mcp-server/McpServerDetailView.d.ts.map +1 -1
  109. package/mcp-server/McpServerDetailView.js +11 -3
  110. package/mcp-server/McpServerDetailView.js.map +1 -1
  111. package/package.json +4 -4
  112. package/provider.d.ts +14 -2
  113. package/provider.d.ts.map +1 -1
  114. package/provider.js +3 -2
  115. package/provider.js.map +1 -1
  116. package/session/index.d.ts +4 -0
  117. package/session/index.d.ts.map +1 -1
  118. package/session/index.js +2 -0
  119. package/session/index.js.map +1 -1
  120. package/session/useSessionArtifacts.d.ts +73 -0
  121. package/session/useSessionArtifacts.d.ts.map +1 -0
  122. package/session/useSessionArtifacts.js +95 -0
  123. package/session/useSessionArtifacts.js.map +1 -0
  124. package/session/useSessionWriteBacks.d.ts +56 -0
  125. package/session/useSessionWriteBacks.d.ts.map +1 -0
  126. package/session/useSessionWriteBacks.js +56 -0
  127. package/session/useSessionWriteBacks.js.map +1 -0
  128. package/src/deployment-mode.ts +46 -0
  129. package/src/execution/ApprovalCard.tsx +130 -283
  130. package/src/execution/ArtifactCard.tsx +40 -0
  131. package/src/execution/ArtifactPreviewModal.tsx +2 -0
  132. package/src/execution/ArtifactsWidget.tsx +51 -43
  133. package/src/execution/McpToolDetail.tsx +283 -0
  134. package/src/execution/MessageThread.tsx +18 -0
  135. package/src/execution/SandboxContext.ts +47 -0
  136. package/src/execution/ToolArgsView.tsx +279 -0
  137. package/src/execution/ToolCallDetail.tsx +54 -220
  138. package/src/execution/ToolCallGroup.tsx +3 -2
  139. package/src/execution/ToolCallItem.tsx +21 -3
  140. package/src/execution/WriteBackCard.tsx +210 -0
  141. package/src/execution/WriteBacksWidget.tsx +82 -0
  142. package/src/execution/__tests__/file-path-resolver.test.ts +295 -0
  143. package/src/execution/file-path-resolver.ts +24 -12
  144. package/src/execution/index.ts +38 -0
  145. package/src/execution/sandbox-path-normalizer.ts +80 -0
  146. package/src/execution/tool-categories.ts +89 -9
  147. package/src/execution/tool-rendering-primitives.tsx +253 -0
  148. package/src/execution/useArtifactContent.ts +6 -1
  149. package/src/execution/useWorkspaceWriteBacks.ts +56 -0
  150. package/src/github/GitHubRepoPicker.tsx +413 -108
  151. package/src/github/index.ts +5 -0
  152. package/src/github/useGitHubSearch.ts +162 -0
  153. package/src/index.ts +27 -0
  154. package/src/internal/CloudFeatureNotice.tsx +60 -0
  155. package/src/mcp-server/McpServerDetailView.tsx +24 -2
  156. package/src/provider.tsx +18 -2
  157. package/src/session/index.ts +12 -0
  158. package/src/session/useSessionArtifacts.ts +143 -0
  159. package/src/session/useSessionWriteBacks.ts +94 -0
  160. package/styles.css +1 -1
@@ -9,6 +9,10 @@ export { useExecutionArtifacts } from "./useExecutionArtifacts";
9
9
  export type { UseExecutionArtifactsReturn } from "./useExecutionArtifacts";
10
10
  export { useArtifactContent } from "./useArtifactContent";
11
11
  export type { UseArtifactContentReturn } from "./useArtifactContent";
12
+ export { useWorkspaceWriteBacks } from "./useWorkspaceWriteBacks";
13
+ export type { UseWorkspaceWriteBacksReturn } from "./useWorkspaceWriteBacks";
14
+ export { WriteBackCard } from "./WriteBackCard";
15
+ export type { WriteBackCardProps } from "./WriteBackCard";
12
16
  export { isTextArtifact, isArtifactExpired, formatArtifactSize, getArtifactExtension, getFileExtension, getArtifactRenderMode, } from "./artifact-utils";
13
17
  export type { ArtifactRenderMode } from "./artifact-utils";
14
18
  export { ExecutionPhaseBadge } from "./ExecutionPhaseBadge";
@@ -19,6 +23,12 @@ export { ToolCallGroup } from "./ToolCallGroup";
19
23
  export type { ToolCallGroupProps } from "./ToolCallGroup";
20
24
  export { ToolCallDetail, formatDuration } from "./ToolCallDetail";
21
25
  export type { ToolCallDetailProps } from "./ToolCallDetail";
26
+ export { McpToolDetail, McpArgsView, McpMetadataRow, parseMcpResult } from "./McpToolDetail";
27
+ export type { McpToolDetailProps } from "./McpToolDetail";
28
+ export { ToolArgsView } from "./ToolArgsView";
29
+ export type { ToolArgsViewProps } from "./ToolArgsView";
30
+ export { CollapsibleCode, CollapsiblePre, CollapsibleJsonBlock, FilePathIcon, McpServerIcon, TRUNCATION_LINE_LIMIT, formatJson, formatResult, isScalar, humanizeArgKey, } from "./tool-rendering-primitives";
31
+ export type { CollapsibleCodeProps, CollapsiblePreProps, CollapsibleJsonBlockProps, } from "./tool-rendering-primitives";
22
32
  export { ToolCallItem } from "./ToolCallItem";
23
33
  export type { ToolCallItemProps } from "./ToolCallItem";
24
34
  export { SubAgentSection } from "./SubAgentSection";
@@ -45,12 +55,17 @@ export { ArtifactPreviewModal } from "./ArtifactPreviewModal";
45
55
  export type { ArtifactPreviewModalProps } from "./ArtifactPreviewModal";
46
56
  export { ArtifactsWidget } from "./ArtifactsWidget";
47
57
  export type { ArtifactsWidgetProps } from "./ArtifactsWidget";
48
- export { resolveToolCategory, extractPrimaryArg, extractPrimaryArgFromPreview, } from "./tool-categories";
58
+ export { WriteBacksWidget } from "./WriteBacksWidget";
59
+ export type { WriteBacksWidgetProps } from "./WriteBacksWidget";
60
+ export { resolveToolCategory, extractPrimaryArg, extractPrimaryArgFromPreview, humanizeToolName, } from "./tool-categories";
49
61
  export type { ToolCategory, ToolCategoryInfo } from "./tool-categories";
50
62
  export { FilePathLink } from "./FilePathLink";
51
63
  export type { FilePathLinkProps } from "./FilePathLink";
52
64
  export { FilePathContext } from "./FilePathContext";
53
65
  export type { FilePathContextValue } from "./FilePathContext";
66
+ export { normalizeSandboxPaths } from "./sandbox-path-normalizer";
67
+ export { SandboxContext, useSandboxNormalize } from "./SandboxContext";
68
+ export type { SandboxContextValue } from "./SandboxContext";
54
69
  export { classifyPath, resolveGitBrowseUrl, resolvePathAction } from "./file-path-resolver";
55
70
  export type { PathClassification, ResolvedPathAction } from "./file-path-resolver";
56
71
  export { useSessionVariables } from "./useSessionVariables";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/execution/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/execution/index.ts"],"names":[],"mappings":"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"}
@@ -4,11 +4,16 @@ export { useExecutionStream } from "./useExecutionStream";
4
4
  export { useExecutionUsage, aggregateUsage } from "./useExecutionUsage";
5
5
  export { useExecutionArtifacts } from "./useExecutionArtifacts";
6
6
  export { useArtifactContent } from "./useArtifactContent";
7
+ export { useWorkspaceWriteBacks } from "./useWorkspaceWriteBacks";
8
+ export { WriteBackCard } from "./WriteBackCard";
7
9
  export { isTextArtifact, isArtifactExpired, formatArtifactSize, getArtifactExtension, getFileExtension, getArtifactRenderMode, } from "./artifact-utils";
8
10
  export { ExecutionPhaseBadge } from "./ExecutionPhaseBadge";
9
11
  export { SetupProgress } from "./SetupProgress";
10
12
  export { ToolCallGroup } from "./ToolCallGroup";
11
13
  export { ToolCallDetail, formatDuration } from "./ToolCallDetail";
14
+ export { McpToolDetail, McpArgsView, McpMetadataRow, parseMcpResult } from "./McpToolDetail";
15
+ export { ToolArgsView } from "./ToolArgsView";
16
+ export { CollapsibleCode, CollapsiblePre, CollapsibleJsonBlock, FilePathIcon, McpServerIcon, TRUNCATION_LINE_LIMIT, formatJson, formatResult, isScalar, humanizeArgKey, } from "./tool-rendering-primitives";
12
17
  export { ToolCallItem } from "./ToolCallItem";
13
18
  export { SubAgentSection } from "./SubAgentSection";
14
19
  export { MessageEntry } from "./MessageEntry";
@@ -22,9 +27,12 @@ export { ArtifactCard } from "./ArtifactCard";
22
27
  export { ArtifactContentRenderer } from "./ArtifactContentRenderer";
23
28
  export { ArtifactPreviewModal } from "./ArtifactPreviewModal";
24
29
  export { ArtifactsWidget } from "./ArtifactsWidget";
25
- export { resolveToolCategory, extractPrimaryArg, extractPrimaryArgFromPreview, } from "./tool-categories";
30
+ export { WriteBacksWidget } from "./WriteBacksWidget";
31
+ export { resolveToolCategory, extractPrimaryArg, extractPrimaryArgFromPreview, humanizeToolName, } from "./tool-categories";
26
32
  export { FilePathLink } from "./FilePathLink";
27
33
  export { FilePathContext } from "./FilePathContext";
34
+ export { normalizeSandboxPaths } from "./sandbox-path-normalizer";
35
+ export { SandboxContext, useSandboxNormalize } from "./SandboxContext";
28
36
  export { classifyPath, resolveGitBrowseUrl, resolvePathAction } from "./file-path-resolver";
29
37
  export { useSessionVariables } from "./useSessionVariables";
30
38
  export { SessionVariablesInput } from "./SessionVariablesInput";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/execution/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAOpE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAGhE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAG5D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGlE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG5F,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAGpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAG9D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,4BAA4B,GAC7B,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAG5F,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAM5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/execution/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAOpE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAGhE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAGlE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAG5D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGlE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAG7F,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,OAAO,EACL,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,YAAY,EACZ,aAAa,EACb,qBAAqB,EACrB,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,cAAc,GACf,MAAM,6BAA6B,CAAC;AAOrC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG5F,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAGpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAG9D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,4BAA4B,EAC5B,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAGvE,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAG5F,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAM5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Display-time normalization for sandbox workspace paths.
3
+ *
4
+ * Mirrors the Python `humanize_sandbox_paths` in
5
+ * `graphton.core.backends.platform_mount` — same semantics, same
6
+ * replacement order. The SDK version acts as a safety net for
7
+ * historical data (persisted before backend humanization was added)
8
+ * and streaming edge cases.
9
+ *
10
+ * @module
11
+ */
12
+ /**
13
+ * Replace absolute sandbox workspace paths with workspace-relative
14
+ * display paths.
15
+ *
16
+ * Performs three ordered replacements:
17
+ *
18
+ * 1. `workspaceRoot + "/"` → empty string (makes paths workspace-relative)
19
+ * 2. `workspaceRoot` (exact) → `"."` (the workspace root itself)
20
+ * 3. Parent of `workspaceRoot` (sandbox home) → `"~"` (Unix convention)
21
+ *
22
+ * Returns `text` unchanged when `workspaceRoot` is empty.
23
+ *
24
+ * @example
25
+ * ```ts
26
+ * normalizeSandboxPaths(
27
+ * "ls /home/daytona/workspace/plantonhq/",
28
+ * "/home/daytona/workspace",
29
+ * );
30
+ * // => "ls plantonhq/"
31
+ *
32
+ * normalizeSandboxPaths(
33
+ * "cd /home/daytona/workspace && ls",
34
+ * "/home/daytona/workspace",
35
+ * );
36
+ * // => "cd . && ls"
37
+ *
38
+ * normalizeSandboxPaths(
39
+ * "cat /home/daytona/.bashrc",
40
+ * "/home/daytona/workspace",
41
+ * );
42
+ * // => "cat ~/.bashrc"
43
+ * ```
44
+ */
45
+ export declare function normalizeSandboxPaths(text: string, workspaceRoot: string): string;
46
+ //# sourceMappingURL=sandbox-path-normalizer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandbox-path-normalizer.d.ts","sourceRoot":"","sources":["../../src/execution/sandbox-path-normalizer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,GACpB,MAAM,CAoBR"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Display-time normalization for sandbox workspace paths.
3
+ *
4
+ * Mirrors the Python `humanize_sandbox_paths` in
5
+ * `graphton.core.backends.platform_mount` — same semantics, same
6
+ * replacement order. The SDK version acts as a safety net for
7
+ * historical data (persisted before backend humanization was added)
8
+ * and streaming edge cases.
9
+ *
10
+ * @module
11
+ */
12
+ /**
13
+ * Replace absolute sandbox workspace paths with workspace-relative
14
+ * display paths.
15
+ *
16
+ * Performs three ordered replacements:
17
+ *
18
+ * 1. `workspaceRoot + "/"` → empty string (makes paths workspace-relative)
19
+ * 2. `workspaceRoot` (exact) → `"."` (the workspace root itself)
20
+ * 3. Parent of `workspaceRoot` (sandbox home) → `"~"` (Unix convention)
21
+ *
22
+ * Returns `text` unchanged when `workspaceRoot` is empty.
23
+ *
24
+ * @example
25
+ * ```ts
26
+ * normalizeSandboxPaths(
27
+ * "ls /home/daytona/workspace/plantonhq/",
28
+ * "/home/daytona/workspace",
29
+ * );
30
+ * // => "ls plantonhq/"
31
+ *
32
+ * normalizeSandboxPaths(
33
+ * "cd /home/daytona/workspace && ls",
34
+ * "/home/daytona/workspace",
35
+ * );
36
+ * // => "cd . && ls"
37
+ *
38
+ * normalizeSandboxPaths(
39
+ * "cat /home/daytona/.bashrc",
40
+ * "/home/daytona/workspace",
41
+ * );
42
+ * // => "cat ~/.bashrc"
43
+ * ```
44
+ */
45
+ export function normalizeSandboxPaths(text, workspaceRoot) {
46
+ if (!text || !workspaceRoot)
47
+ return text;
48
+ const wsRoot = workspaceRoot.replace(/\/+$/, "");
49
+ // 1) Strip workspace root prefix (with trailing slash) → workspace-relative
50
+ text = replaceAll(text, wsRoot + "/", "");
51
+ // 2) Replace bare workspace root → "."
52
+ text = replaceAll(text, wsRoot, ".");
53
+ // 3) Replace sandbox home prefix → "~"
54
+ const lastSlash = wsRoot.lastIndexOf("/");
55
+ if (lastSlash > 0) {
56
+ const sandboxHome = wsRoot.slice(0, lastSlash);
57
+ text = replaceAll(text, sandboxHome + "/", "~/");
58
+ text = replaceAll(text, sandboxHome, "~");
59
+ }
60
+ return text;
61
+ }
62
+ function replaceAll(text, search, replacement) {
63
+ if (!search)
64
+ return text;
65
+ let result = text;
66
+ let idx = result.indexOf(search);
67
+ while (idx !== -1) {
68
+ result = result.slice(0, idx) + replacement + result.slice(idx + search.length);
69
+ idx = result.indexOf(search, idx + replacement.length);
70
+ }
71
+ return result;
72
+ }
73
+ //# sourceMappingURL=sandbox-path-normalizer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandbox-path-normalizer.js","sourceRoot":"","sources":["../../src/execution/sandbox-path-normalizer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,UAAU,qBAAqB,CACnC,IAAY,EACZ,aAAqB;IAErB,IAAI,CAAC,IAAI,IAAI,CAAC,aAAa;QAAE,OAAO,IAAI,CAAC;IAEzC,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAEjD,4EAA4E;IAC5E,IAAI,GAAG,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,EAAE,EAAE,CAAC,CAAC;IAE1C,uCAAuC;IACvC,IAAI,GAAG,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IAErC,uCAAuC;IACvC,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC1C,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QAClB,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QAC/C,IAAI,GAAG,UAAU,CAAC,IAAI,EAAE,WAAW,GAAG,GAAG,EAAE,IAAI,CAAC,CAAC;QACjD,IAAI,GAAG,UAAU,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,UAAU,CAAC,IAAY,EAAE,MAAc,EAAE,WAAmB;IACnE,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,IAAI,MAAM,GAAG,IAAI,CAAC;IAClB,IAAI,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACjC,OAAO,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;QAClB,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAChF,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -4,8 +4,12 @@ import type { ToolCall } from "@stigmer/protos/ai/stigmer/agentic/agentexecution
4
4
  *
5
5
  * Mirrors the CLI's `toolDisplayMap` in
6
6
  * `client-apps/cli/pkg/toolrender/render.go`.
7
+ *
8
+ * `"mcp"` covers tools originating from an MCP server whose
9
+ * names are dynamic and cannot be statically listed in
10
+ * {@link TOOL_DISPLAY_MAP}.
7
11
  */
8
- export type ToolCategory = "shell" | "read" | "write" | "edit" | "delete" | "search" | "list" | "think" | "sub-agent" | "unknown";
12
+ export type ToolCategory = "shell" | "read" | "write" | "edit" | "delete" | "search" | "list" | "think" | "sub-agent" | "mcp" | "unknown";
9
13
  export interface ToolCategoryInfo {
10
14
  readonly category: ToolCategory;
11
15
  readonly label: string;
@@ -14,17 +18,31 @@ export interface ToolCategoryInfo {
14
18
  }
15
19
  /**
16
20
  * Resolves a tool name to its category metadata for type-aware
17
- * rendering. Returns a stable `"unknown"` entry for unrecognized
18
- * tools using the raw tool name as the label.
21
+ * rendering.
22
+ *
23
+ * When `mcpServerSlug` is provided and the tool name is not a
24
+ * known built-in, the tool is categorised as `"mcp"` with a
25
+ * human-readable label derived from the raw tool name.
26
+ *
27
+ * Falls back to `"unknown"` only when the tool is neither
28
+ * built-in nor MCP-originated.
19
29
  */
20
- export declare function resolveToolCategory(toolName: string): ToolCategoryInfo;
30
+ export declare function resolveToolCategory(toolName: string, mcpServerSlug?: string): ToolCategoryInfo;
31
+ /**
32
+ * Converts a snake_case or camelCase tool name into a
33
+ * human-readable title.
34
+ *
35
+ * @example
36
+ * humanizeToolName("apply_mcp_server") // "Apply MCP Server"
37
+ * humanizeToolName("deleteAgent") // "Delete Agent"
38
+ */
39
+ export declare function humanizeToolName(name: string): string;
21
40
  /**
22
41
  * Extracts the most relevant argument value from a tool call
23
42
  * based on its category (command for shell tools, path for file
24
- * tools, pattern for search tools, etc.).
43
+ * tools, slug for MCP tools, etc.).
25
44
  *
26
- * Returns `null` when the tool is unknown and has no arguments,
27
- * or when the expected argument fields are missing.
45
+ * Returns `null` when the tool has no recognised arguments.
28
46
  */
29
47
  export declare function extractPrimaryArg(toolCall: ToolCall): string | null;
30
48
  /**
@@ -32,5 +50,14 @@ export declare function extractPrimaryArg(toolCall: ToolCall): string | null;
32
50
  * (typically `PendingApproval.argsPreview`). Returns `null` if
33
51
  * parsing fails or the expected field is not found.
34
52
  */
35
- export declare function extractPrimaryArgFromPreview(toolName: string, argsPreview: string): string | null;
53
+ export declare function extractPrimaryArgFromPreview(toolName: string, argsPreview: string, mcpServerSlug?: string): string | null;
54
+ /**
55
+ * Extracts the file content body from a JSON `argsPreview` string
56
+ * for write/edit tool categories. Scans the same field names used
57
+ * by the post-execution {@link ToolCallDetail} renderer so that
58
+ * the approval preview matches the completed tool call display.
59
+ *
60
+ * Returns `null` if parsing fails or no content field is found.
61
+ */
62
+ export declare function extractWriteContentFromPreview(argsPreview: string): string | null;
36
63
  //# sourceMappingURL=tool-categories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool-categories.d.ts","sourceRoot":"","sources":["../../src/execution/tool-categories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iEAAiE,CAAC;AAGhG;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GACpB,OAAO,GACP,MAAM,GACN,OAAO,GACP,MAAM,GACN,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,OAAO,GACP,WAAW,GACX,SAAS,CAAC;AAEd,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;CAC/C;AA0CD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,CAgBtE;AA4BD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI,CAmBnE;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAClB,MAAM,GAAG,IAAI,CAgBf"}
1
+ {"version":3,"file":"tool-categories.d.ts","sourceRoot":"","sources":["../../src/execution/tool-categories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iEAAiE,CAAC;AAGhG;;;;;;;;;GASG;AACH,MAAM,MAAM,YAAY,GACpB,OAAO,GACP,MAAM,GACN,OAAO,GACP,MAAM,GACN,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,OAAO,GACP,WAAW,GACX,KAAK,GACL,SAAS,CAAC;AAEd,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;CAC/C;AA0CD;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,aAAa,CAAC,EAAE,MAAM,GACrB,gBAAgB,CA0BlB;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAUrD;AA4BD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI,CAmBnE;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,aAAa,CAAC,EAAE,MAAM,GACrB,MAAM,GAAG,IAAI,CAgBf;AAWD;;;;;;;GAOG;AACH,wBAAgB,8BAA8B,CAC5C,WAAW,EAAE,MAAM,GAClB,MAAM,GAAG,IAAI,CAef"}
@@ -24,10 +24,16 @@ const TOOL_DISPLAY_MAP = new Map([
24
24
  ]);
25
25
  /**
26
26
  * Resolves a tool name to its category metadata for type-aware
27
- * rendering. Returns a stable `"unknown"` entry for unrecognized
28
- * tools using the raw tool name as the label.
27
+ * rendering.
28
+ *
29
+ * When `mcpServerSlug` is provided and the tool name is not a
30
+ * known built-in, the tool is categorised as `"mcp"` with a
31
+ * human-readable label derived from the raw tool name.
32
+ *
33
+ * Falls back to `"unknown"` only when the tool is neither
34
+ * built-in nor MCP-originated.
29
35
  */
30
- export function resolveToolCategory(toolName) {
36
+ export function resolveToolCategory(toolName, mcpServerSlug) {
31
37
  const entry = TOOL_DISPLAY_MAP.get(toolName);
32
38
  if (entry) {
33
39
  return {
@@ -37,6 +43,14 @@ export function resolveToolCategory(toolName) {
37
43
  fallbackArgFields: entry.fallbackFields ?? [],
38
44
  };
39
45
  }
46
+ if (mcpServerSlug) {
47
+ return {
48
+ category: "mcp",
49
+ label: humanizeToolName(toolName),
50
+ primaryArgField: "slug",
51
+ fallbackArgFields: ["name", "org"],
52
+ };
53
+ }
40
54
  return {
41
55
  category: "unknown",
42
56
  label: toolName,
@@ -44,6 +58,25 @@ export function resolveToolCategory(toolName) {
44
58
  fallbackArgFields: [],
45
59
  };
46
60
  }
61
+ /**
62
+ * Converts a snake_case or camelCase tool name into a
63
+ * human-readable title.
64
+ *
65
+ * @example
66
+ * humanizeToolName("apply_mcp_server") // "Apply MCP Server"
67
+ * humanizeToolName("deleteAgent") // "Delete Agent"
68
+ */
69
+ export function humanizeToolName(name) {
70
+ return name
71
+ .replace(/([a-z])([A-Z])/g, "$1 $2")
72
+ .replace(/[_-]+/g, " ")
73
+ .replace(/\b[a-z]/g, (c) => c.toUpperCase())
74
+ .replace(/\bMcp\b/gi, "MCP")
75
+ .replace(/\bApi\b/gi, "API")
76
+ .replace(/\bId\b/gi, "ID")
77
+ .replace(/\bUrl\b/gi, "URL")
78
+ .replace(/\bIam\b/gi, "IAM");
79
+ }
47
80
  function extractArgValue(args, primary, fallbacks) {
48
81
  if (!args)
49
82
  return null;
@@ -68,17 +101,16 @@ function extractArgValue(args, primary, fallbacks) {
68
101
  /**
69
102
  * Extracts the most relevant argument value from a tool call
70
103
  * based on its category (command for shell tools, path for file
71
- * tools, pattern for search tools, etc.).
104
+ * tools, slug for MCP tools, etc.).
72
105
  *
73
- * Returns `null` when the tool is unknown and has no arguments,
74
- * or when the expected argument fields are missing.
106
+ * Returns `null` when the tool has no recognised arguments.
75
107
  */
76
108
  export function extractPrimaryArg(toolCall) {
77
- const info = resolveToolCategory(toolCall.name);
109
+ const info = resolveToolCategory(toolCall.name, toolCall.mcpServerSlug);
78
110
  const result = extractArgValue(toolCall.args, info.primaryArgField, info.fallbackArgFields);
79
111
  if (result)
80
112
  return result;
81
- if (info.category === "unknown" && toolCall.args) {
113
+ if ((info.category === "unknown" || info.category === "mcp") && toolCall.args) {
82
114
  const keys = Object.keys(toolCall.args);
83
115
  if (keys.length > 0) {
84
116
  const val = toolCall.args[keys[0]];
@@ -93,18 +125,52 @@ export function extractPrimaryArg(toolCall) {
93
125
  * (typically `PendingApproval.argsPreview`). Returns `null` if
94
126
  * parsing fails or the expected field is not found.
95
127
  */
96
- export function extractPrimaryArgFromPreview(toolName, argsPreview) {
128
+ export function extractPrimaryArgFromPreview(toolName, argsPreview, mcpServerSlug) {
97
129
  if (!argsPreview)
98
130
  return null;
99
131
  try {
100
132
  const parsed = JSON.parse(argsPreview);
101
133
  if (typeof parsed !== "object" || parsed === null)
102
134
  return null;
103
- const info = resolveToolCategory(toolName);
135
+ const info = resolveToolCategory(toolName, mcpServerSlug);
104
136
  return extractArgValue(parsed, info.primaryArgField, info.fallbackArgFields);
105
137
  }
106
138
  catch {
107
139
  return null;
108
140
  }
109
141
  }
142
+ const WRITE_CONTENT_FIELDS = [
143
+ "contents",
144
+ "content",
145
+ "file_content",
146
+ "new_text",
147
+ "new_string",
148
+ "replacement",
149
+ ];
150
+ /**
151
+ * Extracts the file content body from a JSON `argsPreview` string
152
+ * for write/edit tool categories. Scans the same field names used
153
+ * by the post-execution {@link ToolCallDetail} renderer so that
154
+ * the approval preview matches the completed tool call display.
155
+ *
156
+ * Returns `null` if parsing fails or no content field is found.
157
+ */
158
+ export function extractWriteContentFromPreview(argsPreview) {
159
+ if (!argsPreview)
160
+ return null;
161
+ try {
162
+ const parsed = JSON.parse(argsPreview);
163
+ if (typeof parsed !== "object" || parsed === null)
164
+ return null;
165
+ for (const field of WRITE_CONTENT_FIELDS) {
166
+ const val = parsed[field];
167
+ if (typeof val === "string" && val.length > 0)
168
+ return val;
169
+ }
170
+ return null;
171
+ }
172
+ catch {
173
+ return null;
174
+ }
175
+ }
110
176
  //# sourceMappingURL=tool-categories.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool-categories.js","sourceRoot":"","sources":["../../src/execution/tool-categories.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-categories.js","sourceRoot":"","sources":["../../src/execution/tool-categories.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Shared truncation threshold for all collapsible tool rendering
3
+ * primitives. Applied consistently across detail views and approval
4
+ * card previews.
5
+ */
6
+ export declare const TRUNCATION_LINE_LIMIT = 10;
7
+ export interface CollapsibleCodeProps {
8
+ readonly label: string;
9
+ readonly content: string;
10
+ readonly className?: string;
11
+ }
12
+ /**
13
+ * A labeled `<pre>` block with automatic line-based truncation and
14
+ * an expand/collapse toggle.
15
+ *
16
+ * Used for tool arguments, file content previews, and result blocks
17
+ * across both the detail view and the approval card.
18
+ */
19
+ export declare function CollapsibleCode({ label, content, className }: CollapsibleCodeProps): import("react/jsx-runtime").JSX.Element;
20
+ export interface CollapsiblePreProps {
21
+ readonly content: string;
22
+ readonly className?: string;
23
+ }
24
+ /**
25
+ * A bare `<pre>` element with line-based truncation. Unlike
26
+ * {@link CollapsibleCode}, this has no label, border, or background
27
+ * — the caller controls container styling via `className`.
28
+ *
29
+ * Pass container styles (border, background, max-height) through
30
+ * `className` when rendering standalone; omit when the parent
31
+ * already provides a styled container (e.g. terminal blocks).
32
+ */
33
+ export declare function CollapsiblePre({ content, className }: CollapsiblePreProps): import("react/jsx-runtime").JSX.Element;
34
+ export interface CollapsibleJsonBlockProps {
35
+ readonly label: string;
36
+ readonly content: string;
37
+ }
38
+ /**
39
+ * A collapsible JSON section with a chevron toggle. Initially
40
+ * collapsed, showing the label and line count. Useful for complex
41
+ * (non-scalar) tool arguments.
42
+ */
43
+ export declare function CollapsibleJsonBlock({ label, content }: CollapsibleJsonBlockProps): import("react/jsx-runtime").JSX.Element;
44
+ /** Small document icon for file path displays (10x10). */
45
+ export declare function FilePathIcon(): import("react/jsx-runtime").JSX.Element;
46
+ /** MCP server node/link icon (10x10). */
47
+ export declare function McpServerIcon(): import("react/jsx-runtime").JSX.Element;
48
+ /** Safely serialise an object to pretty JSON. */
49
+ export declare function formatJson(obj: unknown): string;
50
+ /** Pretty-print a result string if it's valid JSON, otherwise return as-is. */
51
+ export declare function formatResult(result: string): string;
52
+ /** Detect scalar values (string, number, boolean). */
53
+ export declare function isScalar(value: unknown): value is string | number | boolean;
54
+ /**
55
+ * Title-case a snake_case or camelCase argument key for display.
56
+ *
57
+ * @example
58
+ * humanizeArgKey("mcp_server_slug") // "Mcp Server Slug"
59
+ */
60
+ export declare function humanizeArgKey(key: string): string;
61
+ //# sourceMappingURL=tool-rendering-primitives.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-rendering-primitives.d.ts","sourceRoot":"","sources":["../../src/execution/tool-rendering-primitives.tsx"],"names":[],"mappings":"AAKA;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,KAAK,CAAC;AAMxC,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,oBAAoB,2CA2BlF;AAMD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,mBAAmB,2CA0BzE;AAMD,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,yBAAyB,2CA2CjF;AAMD,0DAA0D;AAC1D,wBAAgB,YAAY,4CAkB3B;AAED,yCAAyC;AACzC,wBAAgB,aAAa,4CAqB5B;AAMD,iDAAiD;AACjD,wBAAgB,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAM/C;AAED,+EAA+E;AAC/E,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAOnD;AAED,sDAAsD;AACtD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,GAAG,MAAM,GAAG,OAAO,CAG3E;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAKlD"}