@axis-ds/agentic-ui 1.1.0

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 (116) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +31 -0
  3. package/dist/agent-avatar/index.d.mts +22 -0
  4. package/dist/agent-avatar/index.d.ts +22 -0
  5. package/dist/agent-avatar/index.js +112 -0
  6. package/dist/agent-avatar/index.mjs +7 -0
  7. package/dist/approval-card/index.d.mts +31 -0
  8. package/dist/approval-card/index.d.ts +31 -0
  9. package/dist/approval-card/index.js +133 -0
  10. package/dist/approval-card/index.mjs +7 -0
  11. package/dist/attachment-card/index.d.mts +30 -0
  12. package/dist/attachment-card/index.d.ts +30 -0
  13. package/dist/attachment-card/index.js +140 -0
  14. package/dist/attachment-card/index.mjs +7 -0
  15. package/dist/chunk-2BWCQQLU.mjs +136 -0
  16. package/dist/chunk-3TH7GFBD.mjs +83 -0
  17. package/dist/chunk-4PCJFQHQ.mjs +66 -0
  18. package/dist/chunk-657RY6MM.mjs +106 -0
  19. package/dist/chunk-7UGSLEYG.mjs +75 -0
  20. package/dist/chunk-D6GHMPBC.mjs +76 -0
  21. package/dist/chunk-DPENLPBM.mjs +105 -0
  22. package/dist/chunk-DPLGRVNQ.mjs +95 -0
  23. package/dist/chunk-EF4MECAI.mjs +81 -0
  24. package/dist/chunk-ENIWC4WX.mjs +94 -0
  25. package/dist/chunk-ETFET3LT.mjs +72 -0
  26. package/dist/chunk-FAJF5RCY.mjs +115 -0
  27. package/dist/chunk-FPOHPDZ2.mjs +109 -0
  28. package/dist/chunk-FYAMA32G.mjs +50 -0
  29. package/dist/chunk-GQYOOLDL.mjs +63 -0
  30. package/dist/chunk-H6VXOP7U.mjs +86 -0
  31. package/dist/chunk-HLW7VEFF.mjs +47 -0
  32. package/dist/chunk-HWISMHCP.mjs +33 -0
  33. package/dist/chunk-KH4OXDEV.mjs +83 -0
  34. package/dist/chunk-KJVPVBET.mjs +103 -0
  35. package/dist/chunk-LZKOCELQ.mjs +136 -0
  36. package/dist/chunk-MGQ7AEYE.mjs +94 -0
  37. package/dist/chunk-MVBXXDZB.mjs +83 -0
  38. package/dist/chunk-NRBIHROX.mjs +162 -0
  39. package/dist/chunk-O5VXD6C3.mjs +114 -0
  40. package/dist/chunk-O5WFJCWK.mjs +63 -0
  41. package/dist/chunk-OOFM7NNH.mjs +68 -0
  42. package/dist/chunk-PAKLXPHD.mjs +115 -0
  43. package/dist/chunk-PWKN5UHT.mjs +152 -0
  44. package/dist/chunk-RGBY6EEU.mjs +80 -0
  45. package/dist/chunk-RGPKTWK4.mjs +77 -0
  46. package/dist/chunk-S3HVRSN2.mjs +95 -0
  47. package/dist/chunk-SCZ4BQ2G.mjs +68 -0
  48. package/dist/chunk-TCCZL2D5.mjs +51 -0
  49. package/dist/chunk-TKUAT5WE.mjs +105 -0
  50. package/dist/chunk-UG4H7RIP.mjs +77 -0
  51. package/dist/chunk-VKLPWFAI.mjs +79 -0
  52. package/dist/code-block/index.d.mts +24 -0
  53. package/dist/code-block/index.d.ts +24 -0
  54. package/dist/code-block/index.js +114 -0
  55. package/dist/code-block/index.mjs +6 -0
  56. package/dist/context-panel/index.d.mts +32 -0
  57. package/dist/context-panel/index.d.ts +32 -0
  58. package/dist/context-panel/index.js +137 -0
  59. package/dist/context-panel/index.mjs +6 -0
  60. package/dist/diff-viewer/index.d.mts +21 -0
  61. package/dist/diff-viewer/index.d.ts +21 -0
  62. package/dist/diff-viewer/index.js +201 -0
  63. package/dist/diff-viewer/index.mjs +7 -0
  64. package/dist/feedback-buttons/index.d.mts +21 -0
  65. package/dist/feedback-buttons/index.d.ts +21 -0
  66. package/dist/feedback-buttons/index.js +111 -0
  67. package/dist/feedback-buttons/index.mjs +7 -0
  68. package/dist/index.d.mts +20 -0
  69. package/dist/index.d.ts +20 -0
  70. package/dist/index.js +1774 -0
  71. package/dist/index.mjs +75 -0
  72. package/dist/message-bubble/index.d.mts +29 -0
  73. package/dist/message-bubble/index.d.ts +29 -0
  74. package/dist/message-bubble/index.js +135 -0
  75. package/dist/message-bubble/index.mjs +7 -0
  76. package/dist/plan-card/index.d.mts +32 -0
  77. package/dist/plan-card/index.d.ts +32 -0
  78. package/dist/plan-card/index.js +202 -0
  79. package/dist/plan-card/index.mjs +7 -0
  80. package/dist/recovery-banner/index.d.mts +20 -0
  81. package/dist/recovery-banner/index.d.ts +20 -0
  82. package/dist/recovery-banner/index.js +109 -0
  83. package/dist/recovery-banner/index.mjs +6 -0
  84. package/dist/run-progress/index.d.mts +29 -0
  85. package/dist/run-progress/index.d.ts +29 -0
  86. package/dist/run-progress/index.js +179 -0
  87. package/dist/run-progress/index.mjs +7 -0
  88. package/dist/source-panel/index.d.mts +25 -0
  89. package/dist/source-panel/index.d.ts +25 -0
  90. package/dist/source-panel/index.js +135 -0
  91. package/dist/source-panel/index.mjs +7 -0
  92. package/dist/step-timeline/index.d.mts +21 -0
  93. package/dist/step-timeline/index.d.ts +21 -0
  94. package/dist/step-timeline/index.js +110 -0
  95. package/dist/step-timeline/index.mjs +7 -0
  96. package/dist/streaming-text/index.d.mts +27 -0
  97. package/dist/streaming-text/index.d.ts +27 -0
  98. package/dist/streaming-text/index.js +97 -0
  99. package/dist/streaming-text/index.mjs +6 -0
  100. package/dist/surface-renderer/index.d.mts +22 -0
  101. package/dist/surface-renderer/index.d.ts +22 -0
  102. package/dist/surface-renderer/index.js +107 -0
  103. package/dist/surface-renderer/index.mjs +6 -0
  104. package/dist/thinking-indicator/index.d.mts +16 -0
  105. package/dist/thinking-indicator/index.d.ts +16 -0
  106. package/dist/thinking-indicator/index.js +74 -0
  107. package/dist/thinking-indicator/index.mjs +6 -0
  108. package/dist/token-usage-indicator/index.d.mts +22 -0
  109. package/dist/token-usage-indicator/index.d.ts +22 -0
  110. package/dist/token-usage-indicator/index.js +110 -0
  111. package/dist/token-usage-indicator/index.mjs +6 -0
  112. package/dist/tool-call-card/index.d.mts +31 -0
  113. package/dist/tool-call-card/index.d.ts +31 -0
  114. package/dist/tool-call-card/index.js +158 -0
  115. package/dist/tool-call-card/index.mjs +7 -0
  116. package/package.json +130 -0
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/token-usage-indicator/index.tsx
21
+ var token_usage_indicator_exports = {};
22
+ __export(token_usage_indicator_exports, {
23
+ TokenUsageIndicator: () => TokenUsageIndicator
24
+ });
25
+ module.exports = __toCommonJS(token_usage_indicator_exports);
26
+ var import_ui_react = require("@axis-ds/ui-react");
27
+ var import_jsx_runtime = require("react/jsx-runtime");
28
+ function TokenUsageIndicator({
29
+ current,
30
+ max,
31
+ cost,
32
+ warningThreshold = 0.8,
33
+ compact = false,
34
+ className
35
+ }) {
36
+ const ratio = max > 0 ? current / max : 0;
37
+ const percentage = Math.min(Math.round(ratio * 100), 100);
38
+ const getColor = () => {
39
+ if (ratio >= 1) return "bg-[var(--axis-color-red-500)]";
40
+ if (ratio >= warningThreshold) return "bg-[var(--axis-color-yellow-500)]";
41
+ return "bg-[var(--axis-color-green-500)]";
42
+ };
43
+ const getTextColor = () => {
44
+ if (ratio >= 1) return "text-[var(--axis-color-red-500)]";
45
+ if (ratio >= warningThreshold) return "text-[var(--axis-color-yellow-500)]";
46
+ return "text-[var(--axis-text-secondary)]";
47
+ };
48
+ const formatNumber = (n) => n >= 1e3 ? `${(n / 1e3).toFixed(1)}k` : String(n);
49
+ if (compact) {
50
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
51
+ "span",
52
+ {
53
+ role: "meter",
54
+ "aria-valuenow": current,
55
+ "aria-valuemin": 0,
56
+ "aria-valuemax": max,
57
+ "aria-label": `\uD1A0\uD070 \uC0AC\uC6A9\uB7C9: ${current} / ${max}`,
58
+ className: (0, import_ui_react.cn)("inline-flex items-center gap-1 text-xs", getTextColor(), className),
59
+ children: [
60
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", { className: "w-3 h-3", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M13 10V3L4 14h7v7l9-11h-7z" }) }),
61
+ formatNumber(current),
62
+ "/",
63
+ formatNumber(max),
64
+ cost !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { className: "text-[var(--axis-text-tertiary)]", children: [
65
+ "($",
66
+ cost.toFixed(4),
67
+ ")"
68
+ ] })
69
+ ]
70
+ }
71
+ );
72
+ }
73
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
74
+ "div",
75
+ {
76
+ role: "meter",
77
+ "aria-valuenow": current,
78
+ "aria-valuemin": 0,
79
+ "aria-valuemax": max,
80
+ "aria-label": `\uD1A0\uD070 \uC0AC\uC6A9\uB7C9: ${current} / ${max} (${percentage}%)`,
81
+ className: (0, import_ui_react.cn)("space-y-1", className),
82
+ children: [
83
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex items-center justify-between text-xs", children: [
84
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "text-[var(--axis-text-secondary)]", children: "\uD1A0\uD070 \uC0AC\uC6A9\uB7C9" }),
85
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { className: getTextColor(), children: [
86
+ formatNumber(current),
87
+ " / ",
88
+ formatNumber(max)
89
+ ] })
90
+ ] }),
91
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "h-1.5 rounded-full bg-[var(--axis-surface-secondary)] overflow-hidden", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
92
+ "div",
93
+ {
94
+ className: (0, import_ui_react.cn)("h-full rounded-full transition-all", getColor()),
95
+ style: { width: `${percentage}%` },
96
+ "aria-hidden": "true"
97
+ }
98
+ ) }),
99
+ cost !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "text-xs text-[var(--axis-text-tertiary)] text-right", children: [
100
+ "$",
101
+ cost.toFixed(4)
102
+ ] })
103
+ ]
104
+ }
105
+ );
106
+ }
107
+ // Annotate the CommonJS export names for ESM import in node:
108
+ 0 && (module.exports = {
109
+ TokenUsageIndicator
110
+ });
@@ -0,0 +1,6 @@
1
+ import {
2
+ TokenUsageIndicator
3
+ } from "../chunk-H6VXOP7U.mjs";
4
+ export {
5
+ TokenUsageIndicator
6
+ };
@@ -0,0 +1,31 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+
3
+ type ToolStatus = "pending" | "running" | "success" | "error";
4
+ interface ToolCallCardProps {
5
+ /** 도구 이름 */
6
+ toolName: string;
7
+ /** 도구 설명 */
8
+ description?: string;
9
+ /** 실행 상태 */
10
+ status: ToolStatus;
11
+ /** 입력 파라미터 */
12
+ input?: Record<string, unknown>;
13
+ /** 출력 결과 */
14
+ output?: unknown;
15
+ /** 에러 메시지 */
16
+ error?: string;
17
+ /** 실행 시간 (ms) */
18
+ duration?: number;
19
+ /** 펼침 상태 */
20
+ defaultExpanded?: boolean;
21
+ /** 접근성 레이블 */
22
+ "aria-label"?: string;
23
+ /** 추가 클래스 */
24
+ className?: string;
25
+ }
26
+ /**
27
+ * AI 도구 호출 정보를 표시하는 카드 컴포넌트
28
+ */
29
+ declare function ToolCallCard({ toolName, description, status, input, output, error, duration, defaultExpanded, "aria-label": ariaLabel, className, }: ToolCallCardProps): react_jsx_runtime.JSX.Element;
30
+
31
+ export { ToolCallCard, type ToolCallCardProps, type ToolStatus };
@@ -0,0 +1,31 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+
3
+ type ToolStatus = "pending" | "running" | "success" | "error";
4
+ interface ToolCallCardProps {
5
+ /** 도구 이름 */
6
+ toolName: string;
7
+ /** 도구 설명 */
8
+ description?: string;
9
+ /** 실행 상태 */
10
+ status: ToolStatus;
11
+ /** 입력 파라미터 */
12
+ input?: Record<string, unknown>;
13
+ /** 출력 결과 */
14
+ output?: unknown;
15
+ /** 에러 메시지 */
16
+ error?: string;
17
+ /** 실행 시간 (ms) */
18
+ duration?: number;
19
+ /** 펼침 상태 */
20
+ defaultExpanded?: boolean;
21
+ /** 접근성 레이블 */
22
+ "aria-label"?: string;
23
+ /** 추가 클래스 */
24
+ className?: string;
25
+ }
26
+ /**
27
+ * AI 도구 호출 정보를 표시하는 카드 컴포넌트
28
+ */
29
+ declare function ToolCallCard({ toolName, description, status, input, output, error, duration, defaultExpanded, "aria-label": ariaLabel, className, }: ToolCallCardProps): react_jsx_runtime.JSX.Element;
30
+
31
+ export { ToolCallCard, type ToolCallCardProps, type ToolStatus };
@@ -0,0 +1,158 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+
30
+ // src/tool-call-card/index.tsx
31
+ var tool_call_card_exports = {};
32
+ __export(tool_call_card_exports, {
33
+ ToolCallCard: () => ToolCallCard
34
+ });
35
+ module.exports = __toCommonJS(tool_call_card_exports);
36
+ var React = __toESM(require("react"));
37
+ var import_ui_react = require("@axis-ds/ui-react");
38
+
39
+ // src/constants/a11y-labels.ts
40
+ var STATUS_LABELS = {
41
+ pending: "\uB300\uAE30 \uC911",
42
+ running: "\uC2E4\uD589 \uC911",
43
+ complete: "\uC644\uB8CC",
44
+ success: "\uC131\uACF5",
45
+ error: "\uC624\uB958",
46
+ skipped: "\uAC74\uB108\uB700",
47
+ idle: "\uB300\uAE30 \uC911"
48
+ };
49
+
50
+ // src/tool-call-card/index.tsx
51
+ var import_jsx_runtime = require("react/jsx-runtime");
52
+ var statusConfig = {
53
+ pending: {
54
+ color: "text-[var(--axis-color-gray-400)]",
55
+ icon: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", { className: "w-4 h-4", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("circle", { cx: "12", cy: "12", r: "10", strokeWidth: 2 }) })
56
+ },
57
+ running: {
58
+ color: "text-[var(--axis-color-blue-500)]",
59
+ icon: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("svg", { className: "w-4 h-4 animate-spin", viewBox: "0 0 24 24", fill: "none", children: [
60
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("circle", { className: "opacity-25", cx: "12", cy: "12", r: "10", stroke: "currentColor", strokeWidth: "4" }),
61
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { className: "opacity-75", fill: "currentColor", d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z" })
62
+ ] })
63
+ },
64
+ success: {
65
+ color: "text-[var(--axis-color-green-500)]",
66
+ icon: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", { className: "w-4 h-4", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M5 13l4 4L19 7" }) })
67
+ },
68
+ error: {
69
+ color: "text-[var(--axis-color-red-500)]",
70
+ icon: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", { className: "w-4 h-4", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M6 18L18 6M6 6l12 12" }) })
71
+ }
72
+ };
73
+ function ToolCallCard({
74
+ toolName,
75
+ description,
76
+ status,
77
+ input,
78
+ output,
79
+ error,
80
+ duration,
81
+ defaultExpanded = false,
82
+ "aria-label": ariaLabel,
83
+ className
84
+ }) {
85
+ const [isExpanded, setIsExpanded] = React.useState(defaultExpanded);
86
+ const config = statusConfig[status];
87
+ const contentId = React.useId();
88
+ const statusLabel = STATUS_LABELS[status] || status;
89
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
90
+ "div",
91
+ {
92
+ className: (0, import_ui_react.cn)(
93
+ "rounded-lg border overflow-hidden",
94
+ "bg-[var(--axis-surface-default)] border-[var(--axis-border-default)]",
95
+ className
96
+ ),
97
+ children: [
98
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
99
+ "button",
100
+ {
101
+ onClick: () => setIsExpanded(!isExpanded),
102
+ "aria-expanded": isExpanded,
103
+ "aria-controls": contentId,
104
+ "aria-label": ariaLabel || `${toolName} - ${statusLabel}`,
105
+ className: "w-full flex items-center justify-between p-3 hover:bg-[var(--axis-surface-secondary)] transition-colors",
106
+ children: [
107
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex items-center gap-2", children: [
108
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: config.color, "aria-hidden": "true", children: config.icon }),
109
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("code", { className: "text-sm font-mono text-[var(--axis-text-primary)]", children: toolName }),
110
+ description && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { className: "text-xs text-[var(--axis-text-secondary)]", children: [
111
+ "\u2014 ",
112
+ description
113
+ ] })
114
+ ] }),
115
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex items-center gap-2", children: [
116
+ duration !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { className: "text-xs text-[var(--axis-text-tertiary)]", children: [
117
+ duration,
118
+ "ms"
119
+ ] }),
120
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
121
+ "svg",
122
+ {
123
+ className: (0, import_ui_react.cn)(
124
+ "w-4 h-4 text-[var(--axis-text-secondary)] transition-transform",
125
+ isExpanded && "rotate-180"
126
+ ),
127
+ fill: "none",
128
+ stroke: "currentColor",
129
+ viewBox: "0 0 24 24",
130
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M19 9l-7 7-7-7" })
131
+ }
132
+ )
133
+ ] })
134
+ ]
135
+ }
136
+ ),
137
+ isExpanded && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { id: contentId, className: "border-t border-[var(--axis-border-default)] p-3 space-y-3", children: [
138
+ input && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { children: [
139
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h5", { className: "text-xs font-medium text-[var(--axis-text-secondary)] mb-1", children: "\uC785\uB825" }),
140
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("pre", { className: "text-xs p-2 rounded bg-[var(--axis-surface-secondary)] overflow-x-auto", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("code", { className: "text-[var(--axis-text-primary)]", children: JSON.stringify(input, null, 2) }) })
141
+ ] }),
142
+ output !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { children: [
143
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h5", { className: "text-xs font-medium text-[var(--axis-text-secondary)] mb-1", children: "\uCD9C\uB825" }),
144
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("pre", { className: "text-xs p-2 rounded bg-[var(--axis-surface-secondary)] overflow-x-auto", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("code", { className: "text-[var(--axis-text-primary)]", children: typeof output === "string" ? output : JSON.stringify(output, null, 2) }) })
145
+ ] }),
146
+ error && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { children: [
147
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h5", { className: "text-xs font-medium text-[var(--axis-text-error)] mb-1", children: "\uC5D0\uB7EC" }),
148
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("pre", { className: "text-xs p-2 rounded bg-[var(--axis-surface-error)] overflow-x-auto", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("code", { className: "text-[var(--axis-text-error)]", children: error }) })
149
+ ] })
150
+ ] })
151
+ ]
152
+ }
153
+ );
154
+ }
155
+ // Annotate the CommonJS export names for ESM import in node:
156
+ 0 && (module.exports = {
157
+ ToolCallCard
158
+ });
@@ -0,0 +1,7 @@
1
+ import {
2
+ ToolCallCard
3
+ } from "../chunk-FAJF5RCY.mjs";
4
+ import "../chunk-SCZ4BQ2G.mjs";
5
+ export {
6
+ ToolCallCard
7
+ };
package/package.json ADDED
@@ -0,0 +1,130 @@
1
+ {
2
+ "name": "@axis-ds/agentic-ui",
3
+ "version": "1.1.0",
4
+ "description": "AXIS Design System - Agentic UI Components for AI/LLM Applications",
5
+ "main": "dist/index.js",
6
+ "module": "dist/index.mjs",
7
+ "types": "dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.mjs",
12
+ "require": "./dist/index.js"
13
+ },
14
+ "./run-progress": {
15
+ "types": "./dist/run-progress/index.d.ts",
16
+ "import": "./dist/run-progress/index.mjs",
17
+ "require": "./dist/run-progress/index.js"
18
+ },
19
+ "./approval-card": {
20
+ "types": "./dist/approval-card/index.d.ts",
21
+ "import": "./dist/approval-card/index.mjs",
22
+ "require": "./dist/approval-card/index.js"
23
+ },
24
+ "./streaming-text": {
25
+ "types": "./dist/streaming-text/index.d.ts",
26
+ "import": "./dist/streaming-text/index.mjs",
27
+ "require": "./dist/streaming-text/index.js"
28
+ },
29
+ "./tool-call-card": {
30
+ "types": "./dist/tool-call-card/index.d.ts",
31
+ "import": "./dist/tool-call-card/index.mjs",
32
+ "require": "./dist/tool-call-card/index.js"
33
+ },
34
+ "./message-bubble": {
35
+ "types": "./dist/message-bubble/index.d.ts",
36
+ "import": "./dist/message-bubble/index.mjs",
37
+ "require": "./dist/message-bubble/index.js"
38
+ },
39
+ "./feedback-buttons": {
40
+ "types": "./dist/feedback-buttons/index.d.ts",
41
+ "import": "./dist/feedback-buttons/index.mjs",
42
+ "require": "./dist/feedback-buttons/index.js"
43
+ },
44
+ "./code-block": {
45
+ "types": "./dist/code-block/index.d.ts",
46
+ "import": "./dist/code-block/index.mjs",
47
+ "require": "./dist/code-block/index.js"
48
+ },
49
+ "./diff-viewer": {
50
+ "types": "./dist/diff-viewer/index.d.ts",
51
+ "import": "./dist/diff-viewer/index.mjs",
52
+ "require": "./dist/diff-viewer/index.js"
53
+ },
54
+ "./plan-card": {
55
+ "types": "./dist/plan-card/index.d.ts",
56
+ "import": "./dist/plan-card/index.mjs",
57
+ "require": "./dist/plan-card/index.js"
58
+ },
59
+ "./context-panel": {
60
+ "types": "./dist/context-panel/index.d.ts",
61
+ "import": "./dist/context-panel/index.mjs",
62
+ "require": "./dist/context-panel/index.js"
63
+ },
64
+ "./token-usage-indicator": {
65
+ "types": "./dist/token-usage-indicator/index.d.ts",
66
+ "import": "./dist/token-usage-indicator/index.mjs",
67
+ "require": "./dist/token-usage-indicator/index.js"
68
+ },
69
+ "./attachment-card": {
70
+ "types": "./dist/attachment-card/index.d.ts",
71
+ "import": "./dist/attachment-card/index.mjs",
72
+ "require": "./dist/attachment-card/index.js"
73
+ }
74
+ },
75
+ "sideEffects": false,
76
+ "files": [
77
+ "dist"
78
+ ],
79
+ "publishConfig": {
80
+ "access": "public"
81
+ },
82
+ "peerDependencies": {
83
+ "react": ">=18.0.0",
84
+ "react-dom": ">=18.0.0"
85
+ },
86
+ "dependencies": {
87
+ "class-variance-authority": "^0.7.0",
88
+ "clsx": "^2.1.0",
89
+ "framer-motion": "^11.0.0",
90
+ "tailwind-merge": "^2.5.0",
91
+ "@axis-ds/tokens": "1.1.0",
92
+ "@axis-ds/ui-react": "1.1.0"
93
+ },
94
+ "devDependencies": {
95
+ "@testing-library/jest-dom": "^6.9.1",
96
+ "@testing-library/react": "^16.3.2",
97
+ "@types/react": "^18.2.0",
98
+ "@vitejs/plugin-react": "^5.1.2",
99
+ "jsdom": "^27.4.0",
100
+ "react": "^18.2.0",
101
+ "react-dom": "^18.2.0",
102
+ "tsup": "^8.0.0",
103
+ "typescript": "^5.7.0",
104
+ "vitest": "^2.1.0"
105
+ },
106
+ "keywords": [
107
+ "react",
108
+ "agentic",
109
+ "ai",
110
+ "llm",
111
+ "components",
112
+ "design-system",
113
+ "axis"
114
+ ],
115
+ "license": "MIT",
116
+ "repository": {
117
+ "type": "git",
118
+ "url": "https://github.com/thoughtandaction/axis.git",
119
+ "directory": "packages/axis-agentic-ui"
120
+ },
121
+ "homepage": "https://axis.minu.best",
122
+ "scripts": {
123
+ "build": "tsup src/index.ts src/*/index.tsx --format cjs,esm --dts --external react",
124
+ "dev": "tsup src/index.ts --format cjs,esm --dts --watch --external react",
125
+ "clean": "rm -rf dist",
126
+ "test": "vitest run",
127
+ "test:watch": "vitest",
128
+ "type-check": "tsc --noEmit"
129
+ }
130
+ }