@axis-ds/agentic-ui 1.3.0 → 1.5.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.
- package/README.md +71 -1
- package/dist/agent-avatar/index.js +6 -16
- package/dist/agent-avatar/index.mjs +75 -4
- package/dist/approval-card/index.js +6 -16
- package/dist/approval-card/index.mjs +86 -4
- package/dist/attachment-card/index.js +5 -17
- package/dist/attachment-card/index.mjs +101 -4
- package/dist/code-block/index.js +2 -3
- package/dist/code-block/index.mjs +76 -3
- package/dist/constants/a11y-labels.d.mts +86 -0
- package/dist/constants/a11y-labels.d.ts +86 -0
- package/dist/constants/a11y-labels.js +105 -0
- package/dist/{chunk-SCZ4BQ2G.mjs → constants/a11y-labels.mjs} +21 -17
- package/dist/context-panel/index.js +2 -3
- package/dist/context-panel/index.mjs +99 -3
- package/dist/diff-viewer/index.js +8 -17
- package/dist/diff-viewer/index.mjs +155 -4
- package/dist/feedback-buttons/index.js +7 -16
- package/dist/feedback-buttons/index.mjs +65 -4
- package/dist/index.js +36 -1732
- package/dist/index.mjs +18 -55
- package/dist/message-bubble/index.js +5 -15
- package/dist/message-bubble/index.mjs +98 -4
- package/dist/plan-card/index.js +6 -28
- package/dist/plan-card/index.mjs +143 -4
- package/dist/recovery-banner/index.js +1 -3
- package/dist/recovery-banner/index.mjs +70 -3
- package/dist/run-progress/index.js +5 -19
- package/dist/run-progress/index.mjs +128 -4
- package/dist/source-panel/index.js +5 -15
- package/dist/source-panel/index.mjs +88 -4
- package/dist/step-timeline/index.js +3 -17
- package/dist/step-timeline/index.mjs +69 -4
- package/dist/streaming-text/index.js +2 -3
- package/dist/streaming-text/index.mjs +59 -3
- package/dist/surface-renderer/index.js +1 -3
- package/dist/surface-renderer/index.mjs +79 -3
- package/dist/thinking-indicator/index.js +3 -5
- package/dist/thinking-indicator/index.mjs +45 -3
- package/dist/token-usage-indicator/index.js +1 -3
- package/dist/token-usage-indicator/index.mjs +81 -3
- package/dist/tool-call-card/index.js +5 -18
- package/dist/tool-call-card/index.mjs +108 -4
- package/package.json +39 -7
- package/tailwind.css +10 -0
- package/dist/chunk-42KEAZ2Y.mjs +0 -109
- package/dist/chunk-4CMUEGLK.mjs +0 -80
- package/dist/chunk-4V4BWBRC.mjs +0 -77
- package/dist/chunk-7HTVJ6MK.mjs +0 -94
- package/dist/chunk-DPLGRVNQ.mjs +0 -95
- package/dist/chunk-FYAMA32G.mjs +0 -50
- package/dist/chunk-GQYOOLDL.mjs +0 -63
- package/dist/chunk-IOF4OET6.mjs +0 -162
- package/dist/chunk-J4FIMXXG.mjs +0 -106
- package/dist/chunk-JY7MTMMB.mjs +0 -83
- package/dist/chunk-KJVPVBET.mjs +0 -103
- package/dist/chunk-OYQX3SL4.mjs +0 -152
- package/dist/chunk-QS6GQNSE.mjs +0 -86
- package/dist/chunk-R4CMHIRO.mjs +0 -72
- package/dist/chunk-SCXUEQLI.mjs +0 -136
- package/dist/chunk-UDL4M5RP.mjs +0 -75
- package/dist/chunk-WFYQINWD.mjs +0 -115
- package/dist/chunk-ZW4Z27AB.mjs +0 -84
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 접근성(a11y)을 위한 레이블 상수
|
|
3
|
+
* WCAG 2.1 AA 기준 준수를 위한 스크린 리더 텍스트
|
|
4
|
+
*/
|
|
5
|
+
/** 상태 레이블 (도구 호출, 실행 단계 등) */
|
|
6
|
+
declare const STATUS_LABELS: {
|
|
7
|
+
readonly pending: "대기 중";
|
|
8
|
+
readonly running: "실행 중";
|
|
9
|
+
readonly complete: "완료";
|
|
10
|
+
readonly success: "성공";
|
|
11
|
+
readonly error: "오류";
|
|
12
|
+
readonly skipped: "건너뜀";
|
|
13
|
+
readonly idle: "대기 중";
|
|
14
|
+
};
|
|
15
|
+
/** 심각도 레이블 (알림, 승인 카드 등) */
|
|
16
|
+
declare const SEVERITY_LABELS: {
|
|
17
|
+
readonly info: "정보";
|
|
18
|
+
readonly warning: "주의";
|
|
19
|
+
readonly error: "오류";
|
|
20
|
+
};
|
|
21
|
+
/** 에이전트 상태 레이블 */
|
|
22
|
+
declare const AGENT_STATUS_LABELS: {
|
|
23
|
+
readonly online: "온라인";
|
|
24
|
+
readonly busy: "사용 중";
|
|
25
|
+
readonly offline: "오프라인";
|
|
26
|
+
};
|
|
27
|
+
/** 에이전트 타입 레이블 */
|
|
28
|
+
declare const AGENT_TYPE_LABELS: {
|
|
29
|
+
readonly assistant: "어시스턴트";
|
|
30
|
+
readonly tool: "도구";
|
|
31
|
+
readonly system: "시스템";
|
|
32
|
+
};
|
|
33
|
+
/** 소스 타입 레이블 */
|
|
34
|
+
declare const SOURCE_TYPE_LABELS: {
|
|
35
|
+
readonly web: "웹 페이지";
|
|
36
|
+
readonly file: "파일";
|
|
37
|
+
readonly database: "데이터베이스";
|
|
38
|
+
readonly api: "API";
|
|
39
|
+
};
|
|
40
|
+
type StatusLabel = keyof typeof STATUS_LABELS;
|
|
41
|
+
type SeverityLabel = keyof typeof SEVERITY_LABELS;
|
|
42
|
+
type AgentStatusLabel = keyof typeof AGENT_STATUS_LABELS;
|
|
43
|
+
type AgentTypeLabel = keyof typeof AGENT_TYPE_LABELS;
|
|
44
|
+
/** 메시지 역할 레이블 */
|
|
45
|
+
declare const MESSAGE_ROLE_LABELS: {
|
|
46
|
+
readonly user: "사용자";
|
|
47
|
+
readonly assistant: "어시스턴트";
|
|
48
|
+
readonly system: "시스템";
|
|
49
|
+
};
|
|
50
|
+
/** 피드백 레이블 */
|
|
51
|
+
declare const FEEDBACK_LABELS: {
|
|
52
|
+
readonly like: "좋아요";
|
|
53
|
+
readonly dislike: "싫어요";
|
|
54
|
+
readonly none: "피드백 없음";
|
|
55
|
+
};
|
|
56
|
+
/** 첨부파일 타입 레이블 */
|
|
57
|
+
declare const ATTACHMENT_TYPE_LABELS: {
|
|
58
|
+
readonly image: "이미지";
|
|
59
|
+
readonly document: "문서";
|
|
60
|
+
readonly code: "코드";
|
|
61
|
+
readonly archive: "압축 파일";
|
|
62
|
+
readonly other: "기타 파일";
|
|
63
|
+
};
|
|
64
|
+
/** Diff 변경 타입 레이블 */
|
|
65
|
+
declare const DIFF_LABELS: {
|
|
66
|
+
readonly added: "추가됨";
|
|
67
|
+
readonly removed: "삭제됨";
|
|
68
|
+
readonly unchanged: "변경 없음";
|
|
69
|
+
};
|
|
70
|
+
/** 계획 상태 레이블 */
|
|
71
|
+
declare const PLAN_STATUS_LABELS: {
|
|
72
|
+
readonly draft: "초안";
|
|
73
|
+
readonly pending: "승인 대기";
|
|
74
|
+
readonly approved: "승인됨";
|
|
75
|
+
readonly rejected: "거절됨";
|
|
76
|
+
readonly executing: "실행 중";
|
|
77
|
+
readonly completed: "완료";
|
|
78
|
+
};
|
|
79
|
+
type SourceTypeLabel = keyof typeof SOURCE_TYPE_LABELS;
|
|
80
|
+
type MessageRoleLabel = keyof typeof MESSAGE_ROLE_LABELS;
|
|
81
|
+
type FeedbackLabel = keyof typeof FEEDBACK_LABELS;
|
|
82
|
+
type AttachmentTypeLabel = keyof typeof ATTACHMENT_TYPE_LABELS;
|
|
83
|
+
type DiffLabel = keyof typeof DIFF_LABELS;
|
|
84
|
+
type PlanStatusLabel = keyof typeof PLAN_STATUS_LABELS;
|
|
85
|
+
|
|
86
|
+
export { AGENT_STATUS_LABELS, AGENT_TYPE_LABELS, ATTACHMENT_TYPE_LABELS, type AgentStatusLabel, type AgentTypeLabel, type AttachmentTypeLabel, DIFF_LABELS, type DiffLabel, FEEDBACK_LABELS, type FeedbackLabel, MESSAGE_ROLE_LABELS, type MessageRoleLabel, PLAN_STATUS_LABELS, type PlanStatusLabel, SEVERITY_LABELS, SOURCE_TYPE_LABELS, STATUS_LABELS, type SeverityLabel, type SourceTypeLabel, type StatusLabel };
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 접근성(a11y)을 위한 레이블 상수
|
|
3
|
+
* WCAG 2.1 AA 기준 준수를 위한 스크린 리더 텍스트
|
|
4
|
+
*/
|
|
5
|
+
/** 상태 레이블 (도구 호출, 실행 단계 등) */
|
|
6
|
+
declare const STATUS_LABELS: {
|
|
7
|
+
readonly pending: "대기 중";
|
|
8
|
+
readonly running: "실행 중";
|
|
9
|
+
readonly complete: "완료";
|
|
10
|
+
readonly success: "성공";
|
|
11
|
+
readonly error: "오류";
|
|
12
|
+
readonly skipped: "건너뜀";
|
|
13
|
+
readonly idle: "대기 중";
|
|
14
|
+
};
|
|
15
|
+
/** 심각도 레이블 (알림, 승인 카드 등) */
|
|
16
|
+
declare const SEVERITY_LABELS: {
|
|
17
|
+
readonly info: "정보";
|
|
18
|
+
readonly warning: "주의";
|
|
19
|
+
readonly error: "오류";
|
|
20
|
+
};
|
|
21
|
+
/** 에이전트 상태 레이블 */
|
|
22
|
+
declare const AGENT_STATUS_LABELS: {
|
|
23
|
+
readonly online: "온라인";
|
|
24
|
+
readonly busy: "사용 중";
|
|
25
|
+
readonly offline: "오프라인";
|
|
26
|
+
};
|
|
27
|
+
/** 에이전트 타입 레이블 */
|
|
28
|
+
declare const AGENT_TYPE_LABELS: {
|
|
29
|
+
readonly assistant: "어시스턴트";
|
|
30
|
+
readonly tool: "도구";
|
|
31
|
+
readonly system: "시스템";
|
|
32
|
+
};
|
|
33
|
+
/** 소스 타입 레이블 */
|
|
34
|
+
declare const SOURCE_TYPE_LABELS: {
|
|
35
|
+
readonly web: "웹 페이지";
|
|
36
|
+
readonly file: "파일";
|
|
37
|
+
readonly database: "데이터베이스";
|
|
38
|
+
readonly api: "API";
|
|
39
|
+
};
|
|
40
|
+
type StatusLabel = keyof typeof STATUS_LABELS;
|
|
41
|
+
type SeverityLabel = keyof typeof SEVERITY_LABELS;
|
|
42
|
+
type AgentStatusLabel = keyof typeof AGENT_STATUS_LABELS;
|
|
43
|
+
type AgentTypeLabel = keyof typeof AGENT_TYPE_LABELS;
|
|
44
|
+
/** 메시지 역할 레이블 */
|
|
45
|
+
declare const MESSAGE_ROLE_LABELS: {
|
|
46
|
+
readonly user: "사용자";
|
|
47
|
+
readonly assistant: "어시스턴트";
|
|
48
|
+
readonly system: "시스템";
|
|
49
|
+
};
|
|
50
|
+
/** 피드백 레이블 */
|
|
51
|
+
declare const FEEDBACK_LABELS: {
|
|
52
|
+
readonly like: "좋아요";
|
|
53
|
+
readonly dislike: "싫어요";
|
|
54
|
+
readonly none: "피드백 없음";
|
|
55
|
+
};
|
|
56
|
+
/** 첨부파일 타입 레이블 */
|
|
57
|
+
declare const ATTACHMENT_TYPE_LABELS: {
|
|
58
|
+
readonly image: "이미지";
|
|
59
|
+
readonly document: "문서";
|
|
60
|
+
readonly code: "코드";
|
|
61
|
+
readonly archive: "압축 파일";
|
|
62
|
+
readonly other: "기타 파일";
|
|
63
|
+
};
|
|
64
|
+
/** Diff 변경 타입 레이블 */
|
|
65
|
+
declare const DIFF_LABELS: {
|
|
66
|
+
readonly added: "추가됨";
|
|
67
|
+
readonly removed: "삭제됨";
|
|
68
|
+
readonly unchanged: "변경 없음";
|
|
69
|
+
};
|
|
70
|
+
/** 계획 상태 레이블 */
|
|
71
|
+
declare const PLAN_STATUS_LABELS: {
|
|
72
|
+
readonly draft: "초안";
|
|
73
|
+
readonly pending: "승인 대기";
|
|
74
|
+
readonly approved: "승인됨";
|
|
75
|
+
readonly rejected: "거절됨";
|
|
76
|
+
readonly executing: "실행 중";
|
|
77
|
+
readonly completed: "완료";
|
|
78
|
+
};
|
|
79
|
+
type SourceTypeLabel = keyof typeof SOURCE_TYPE_LABELS;
|
|
80
|
+
type MessageRoleLabel = keyof typeof MESSAGE_ROLE_LABELS;
|
|
81
|
+
type FeedbackLabel = keyof typeof FEEDBACK_LABELS;
|
|
82
|
+
type AttachmentTypeLabel = keyof typeof ATTACHMENT_TYPE_LABELS;
|
|
83
|
+
type DiffLabel = keyof typeof DIFF_LABELS;
|
|
84
|
+
type PlanStatusLabel = keyof typeof PLAN_STATUS_LABELS;
|
|
85
|
+
|
|
86
|
+
export { AGENT_STATUS_LABELS, AGENT_TYPE_LABELS, ATTACHMENT_TYPE_LABELS, type AgentStatusLabel, type AgentTypeLabel, type AttachmentTypeLabel, DIFF_LABELS, type DiffLabel, FEEDBACK_LABELS, type FeedbackLabel, MESSAGE_ROLE_LABELS, type MessageRoleLabel, PLAN_STATUS_LABELS, type PlanStatusLabel, SEVERITY_LABELS, SOURCE_TYPE_LABELS, STATUS_LABELS, type SeverityLabel, type SourceTypeLabel, type StatusLabel };
|
|
@@ -0,0 +1,105 @@
|
|
|
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
|
+
var a11y_labels_exports = {};
|
|
20
|
+
__export(a11y_labels_exports, {
|
|
21
|
+
AGENT_STATUS_LABELS: () => AGENT_STATUS_LABELS,
|
|
22
|
+
AGENT_TYPE_LABELS: () => AGENT_TYPE_LABELS,
|
|
23
|
+
ATTACHMENT_TYPE_LABELS: () => ATTACHMENT_TYPE_LABELS,
|
|
24
|
+
DIFF_LABELS: () => DIFF_LABELS,
|
|
25
|
+
FEEDBACK_LABELS: () => FEEDBACK_LABELS,
|
|
26
|
+
MESSAGE_ROLE_LABELS: () => MESSAGE_ROLE_LABELS,
|
|
27
|
+
PLAN_STATUS_LABELS: () => PLAN_STATUS_LABELS,
|
|
28
|
+
SEVERITY_LABELS: () => SEVERITY_LABELS,
|
|
29
|
+
SOURCE_TYPE_LABELS: () => SOURCE_TYPE_LABELS,
|
|
30
|
+
STATUS_LABELS: () => STATUS_LABELS
|
|
31
|
+
});
|
|
32
|
+
module.exports = __toCommonJS(a11y_labels_exports);
|
|
33
|
+
const STATUS_LABELS = {
|
|
34
|
+
pending: "\uB300\uAE30 \uC911",
|
|
35
|
+
running: "\uC2E4\uD589 \uC911",
|
|
36
|
+
complete: "\uC644\uB8CC",
|
|
37
|
+
success: "\uC131\uACF5",
|
|
38
|
+
error: "\uC624\uB958",
|
|
39
|
+
skipped: "\uAC74\uB108\uB700",
|
|
40
|
+
idle: "\uB300\uAE30 \uC911"
|
|
41
|
+
};
|
|
42
|
+
const SEVERITY_LABELS = {
|
|
43
|
+
info: "\uC815\uBCF4",
|
|
44
|
+
warning: "\uC8FC\uC758",
|
|
45
|
+
error: "\uC624\uB958"
|
|
46
|
+
};
|
|
47
|
+
const AGENT_STATUS_LABELS = {
|
|
48
|
+
online: "\uC628\uB77C\uC778",
|
|
49
|
+
busy: "\uC0AC\uC6A9 \uC911",
|
|
50
|
+
offline: "\uC624\uD504\uB77C\uC778"
|
|
51
|
+
};
|
|
52
|
+
const AGENT_TYPE_LABELS = {
|
|
53
|
+
assistant: "\uC5B4\uC2DC\uC2A4\uD134\uD2B8",
|
|
54
|
+
tool: "\uB3C4\uAD6C",
|
|
55
|
+
system: "\uC2DC\uC2A4\uD15C"
|
|
56
|
+
};
|
|
57
|
+
const SOURCE_TYPE_LABELS = {
|
|
58
|
+
web: "\uC6F9 \uD398\uC774\uC9C0",
|
|
59
|
+
file: "\uD30C\uC77C",
|
|
60
|
+
database: "\uB370\uC774\uD130\uBCA0\uC774\uC2A4",
|
|
61
|
+
api: "API"
|
|
62
|
+
};
|
|
63
|
+
const MESSAGE_ROLE_LABELS = {
|
|
64
|
+
user: "\uC0AC\uC6A9\uC790",
|
|
65
|
+
assistant: "\uC5B4\uC2DC\uC2A4\uD134\uD2B8",
|
|
66
|
+
system: "\uC2DC\uC2A4\uD15C"
|
|
67
|
+
};
|
|
68
|
+
const FEEDBACK_LABELS = {
|
|
69
|
+
like: "\uC88B\uC544\uC694",
|
|
70
|
+
dislike: "\uC2EB\uC5B4\uC694",
|
|
71
|
+
none: "\uD53C\uB4DC\uBC31 \uC5C6\uC74C"
|
|
72
|
+
};
|
|
73
|
+
const ATTACHMENT_TYPE_LABELS = {
|
|
74
|
+
image: "\uC774\uBBF8\uC9C0",
|
|
75
|
+
document: "\uBB38\uC11C",
|
|
76
|
+
code: "\uCF54\uB4DC",
|
|
77
|
+
archive: "\uC555\uCD95 \uD30C\uC77C",
|
|
78
|
+
other: "\uAE30\uD0C0 \uD30C\uC77C"
|
|
79
|
+
};
|
|
80
|
+
const DIFF_LABELS = {
|
|
81
|
+
added: "\uCD94\uAC00\uB428",
|
|
82
|
+
removed: "\uC0AD\uC81C\uB428",
|
|
83
|
+
unchanged: "\uBCC0\uACBD \uC5C6\uC74C"
|
|
84
|
+
};
|
|
85
|
+
const PLAN_STATUS_LABELS = {
|
|
86
|
+
draft: "\uCD08\uC548",
|
|
87
|
+
pending: "\uC2B9\uC778 \uB300\uAE30",
|
|
88
|
+
approved: "\uC2B9\uC778\uB428",
|
|
89
|
+
rejected: "\uAC70\uC808\uB428",
|
|
90
|
+
executing: "\uC2E4\uD589 \uC911",
|
|
91
|
+
completed: "\uC644\uB8CC"
|
|
92
|
+
};
|
|
93
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
94
|
+
0 && (module.exports = {
|
|
95
|
+
AGENT_STATUS_LABELS,
|
|
96
|
+
AGENT_TYPE_LABELS,
|
|
97
|
+
ATTACHMENT_TYPE_LABELS,
|
|
98
|
+
DIFF_LABELS,
|
|
99
|
+
FEEDBACK_LABELS,
|
|
100
|
+
MESSAGE_ROLE_LABELS,
|
|
101
|
+
PLAN_STATUS_LABELS,
|
|
102
|
+
SEVERITY_LABELS,
|
|
103
|
+
SOURCE_TYPE_LABELS,
|
|
104
|
+
STATUS_LABELS
|
|
105
|
+
});
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
var STATUS_LABELS = {
|
|
1
|
+
const STATUS_LABELS = {
|
|
3
2
|
pending: "\uB300\uAE30 \uC911",
|
|
4
3
|
running: "\uC2E4\uD589 \uC911",
|
|
5
4
|
complete: "\uC644\uB8CC",
|
|
@@ -8,45 +7,50 @@ var STATUS_LABELS = {
|
|
|
8
7
|
skipped: "\uAC74\uB108\uB700",
|
|
9
8
|
idle: "\uB300\uAE30 \uC911"
|
|
10
9
|
};
|
|
11
|
-
|
|
10
|
+
const SEVERITY_LABELS = {
|
|
12
11
|
info: "\uC815\uBCF4",
|
|
13
12
|
warning: "\uC8FC\uC758",
|
|
14
13
|
error: "\uC624\uB958"
|
|
15
14
|
};
|
|
16
|
-
|
|
15
|
+
const AGENT_STATUS_LABELS = {
|
|
17
16
|
online: "\uC628\uB77C\uC778",
|
|
18
17
|
busy: "\uC0AC\uC6A9 \uC911",
|
|
19
18
|
offline: "\uC624\uD504\uB77C\uC778"
|
|
20
19
|
};
|
|
21
|
-
|
|
20
|
+
const AGENT_TYPE_LABELS = {
|
|
21
|
+
assistant: "\uC5B4\uC2DC\uC2A4\uD134\uD2B8",
|
|
22
|
+
tool: "\uB3C4\uAD6C",
|
|
23
|
+
system: "\uC2DC\uC2A4\uD15C"
|
|
24
|
+
};
|
|
25
|
+
const SOURCE_TYPE_LABELS = {
|
|
22
26
|
web: "\uC6F9 \uD398\uC774\uC9C0",
|
|
23
27
|
file: "\uD30C\uC77C",
|
|
24
28
|
database: "\uB370\uC774\uD130\uBCA0\uC774\uC2A4",
|
|
25
29
|
api: "API"
|
|
26
30
|
};
|
|
27
|
-
|
|
31
|
+
const MESSAGE_ROLE_LABELS = {
|
|
28
32
|
user: "\uC0AC\uC6A9\uC790",
|
|
29
33
|
assistant: "\uC5B4\uC2DC\uC2A4\uD134\uD2B8",
|
|
30
34
|
system: "\uC2DC\uC2A4\uD15C"
|
|
31
35
|
};
|
|
32
|
-
|
|
36
|
+
const FEEDBACK_LABELS = {
|
|
33
37
|
like: "\uC88B\uC544\uC694",
|
|
34
38
|
dislike: "\uC2EB\uC5B4\uC694",
|
|
35
39
|
none: "\uD53C\uB4DC\uBC31 \uC5C6\uC74C"
|
|
36
40
|
};
|
|
37
|
-
|
|
41
|
+
const ATTACHMENT_TYPE_LABELS = {
|
|
38
42
|
image: "\uC774\uBBF8\uC9C0",
|
|
39
43
|
document: "\uBB38\uC11C",
|
|
40
44
|
code: "\uCF54\uB4DC",
|
|
41
45
|
archive: "\uC555\uCD95 \uD30C\uC77C",
|
|
42
46
|
other: "\uAE30\uD0C0 \uD30C\uC77C"
|
|
43
47
|
};
|
|
44
|
-
|
|
48
|
+
const DIFF_LABELS = {
|
|
45
49
|
added: "\uCD94\uAC00\uB428",
|
|
46
50
|
removed: "\uC0AD\uC81C\uB428",
|
|
47
51
|
unchanged: "\uBCC0\uACBD \uC5C6\uC74C"
|
|
48
52
|
};
|
|
49
|
-
|
|
53
|
+
const PLAN_STATUS_LABELS = {
|
|
50
54
|
draft: "\uCD08\uC548",
|
|
51
55
|
pending: "\uC2B9\uC778 \uB300\uAE30",
|
|
52
56
|
approved: "\uC2B9\uC778\uB428",
|
|
@@ -54,15 +58,15 @@ var PLAN_STATUS_LABELS = {
|
|
|
54
58
|
executing: "\uC2E4\uD589 \uC911",
|
|
55
59
|
completed: "\uC644\uB8CC"
|
|
56
60
|
};
|
|
57
|
-
|
|
58
61
|
export {
|
|
59
|
-
STATUS_LABELS,
|
|
60
|
-
SEVERITY_LABELS,
|
|
61
62
|
AGENT_STATUS_LABELS,
|
|
62
|
-
|
|
63
|
-
MESSAGE_ROLE_LABELS,
|
|
64
|
-
FEEDBACK_LABELS,
|
|
63
|
+
AGENT_TYPE_LABELS,
|
|
65
64
|
ATTACHMENT_TYPE_LABELS,
|
|
66
65
|
DIFF_LABELS,
|
|
67
|
-
|
|
66
|
+
FEEDBACK_LABELS,
|
|
67
|
+
MESSAGE_ROLE_LABELS,
|
|
68
|
+
PLAN_STATUS_LABELS,
|
|
69
|
+
SEVERITY_LABELS,
|
|
70
|
+
SOURCE_TYPE_LABELS,
|
|
71
|
+
STATUS_LABELS
|
|
68
72
|
};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
"use client";
|
|
1
2
|
"use strict";
|
|
2
3
|
var __create = Object.create;
|
|
3
4
|
var __defProp = Object.defineProperty;
|
|
@@ -26,16 +27,14 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
26
27
|
mod
|
|
27
28
|
));
|
|
28
29
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
-
|
|
30
|
-
// src/context-panel/index.tsx
|
|
31
30
|
var context_panel_exports = {};
|
|
32
31
|
__export(context_panel_exports, {
|
|
33
32
|
ContextPanel: () => ContextPanel
|
|
34
33
|
});
|
|
35
34
|
module.exports = __toCommonJS(context_panel_exports);
|
|
35
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
36
36
|
var React = __toESM(require("react"));
|
|
37
37
|
var import_ui_react = require("@axis-ds/ui-react");
|
|
38
|
-
var import_jsx_runtime = require("react/jsx-runtime");
|
|
39
38
|
function ContextPanel({
|
|
40
39
|
modelInfo,
|
|
41
40
|
systemPrompt,
|
|
@@ -1,6 +1,102 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
"use client";
|
|
2
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import { cn } from "@axis-ds/ui-react";
|
|
5
|
+
function ContextPanel({
|
|
6
|
+
modelInfo,
|
|
7
|
+
systemPrompt,
|
|
8
|
+
attachedFiles,
|
|
9
|
+
settings,
|
|
10
|
+
collapsible = true,
|
|
11
|
+
defaultExpanded = false,
|
|
12
|
+
className
|
|
13
|
+
}) {
|
|
14
|
+
const [isExpanded, setIsExpanded] = React.useState(defaultExpanded);
|
|
15
|
+
const contentId = React.useId();
|
|
16
|
+
const hasContent = modelInfo || systemPrompt || attachedFiles && attachedFiles.length > 0 || settings && Object.keys(settings).length > 0;
|
|
17
|
+
if (!hasContent) return null;
|
|
18
|
+
const header = /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
19
|
+
/* @__PURE__ */ jsxs("svg", { className: "w-4 h-4 text-[var(--axis-icon-secondary)]", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", "aria-hidden": "true", children: [
|
|
20
|
+
/* @__PURE__ */ jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.066 2.573c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.573 1.066c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.066-2.573c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z" }),
|
|
21
|
+
/* @__PURE__ */ jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M15 12a3 3 0 11-6 0 3 3 0 016 0z" })
|
|
22
|
+
] }),
|
|
23
|
+
/* @__PURE__ */ jsx("span", { className: "text-xs font-medium text-[var(--axis-text-secondary)]", children: "\uCEE8\uD14D\uC2A4\uD2B8" })
|
|
24
|
+
] });
|
|
25
|
+
const content = /* @__PURE__ */ jsxs("div", { id: contentId, className: "space-y-3 mt-2", children: [
|
|
26
|
+
modelInfo && /* @__PURE__ */ jsxs("div", { children: [
|
|
27
|
+
/* @__PURE__ */ jsx("h5", { className: "text-xs font-medium text-[var(--axis-text-secondary)] mb-1", children: "\uBAA8\uB378" }),
|
|
28
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
29
|
+
/* @__PURE__ */ jsx("code", { className: "text-sm font-mono text-[var(--axis-text-primary)]", children: modelInfo.name }),
|
|
30
|
+
modelInfo.provider && /* @__PURE__ */ jsx("span", { className: "text-xs text-[var(--axis-text-tertiary)]", children: modelInfo.provider }),
|
|
31
|
+
modelInfo.version && /* @__PURE__ */ jsx("span", { className: "text-xs px-1.5 py-0.5 rounded bg-[var(--axis-surface-tertiary)] text-[var(--axis-text-tertiary)]", children: modelInfo.version })
|
|
32
|
+
] })
|
|
33
|
+
] }),
|
|
34
|
+
systemPrompt && /* @__PURE__ */ jsxs("div", { children: [
|
|
35
|
+
/* @__PURE__ */ jsx("h5", { className: "text-xs font-medium text-[var(--axis-text-secondary)] mb-1", children: "\uC2DC\uC2A4\uD15C \uD504\uB86C\uD504\uD2B8" }),
|
|
36
|
+
/* @__PURE__ */ jsx("p", { className: "text-xs text-[var(--axis-text-primary)] p-2 rounded bg-[var(--axis-surface-secondary)] line-clamp-3 whitespace-pre-wrap", children: systemPrompt })
|
|
37
|
+
] }),
|
|
38
|
+
attachedFiles && attachedFiles.length > 0 && /* @__PURE__ */ jsxs("div", { children: [
|
|
39
|
+
/* @__PURE__ */ jsxs("h5", { className: "text-xs font-medium text-[var(--axis-text-secondary)] mb-1", children: [
|
|
40
|
+
"\uCCA8\uBD80 \uD30C\uC77C (",
|
|
41
|
+
attachedFiles.length,
|
|
42
|
+
")"
|
|
43
|
+
] }),
|
|
44
|
+
/* @__PURE__ */ jsx("div", { className: "space-y-1", children: attachedFiles.map((file, i) => /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1.5 text-xs text-[var(--axis-text-primary)]", children: [
|
|
45
|
+
/* @__PURE__ */ jsx("svg", { className: "w-3 h-3 text-[var(--axis-icon-secondary)]", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", "aria-hidden": "true", children: /* @__PURE__ */ jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M15.172 7l-6.586 6.586a2 2 0 102.828 2.828l6.414-6.586a4 4 0 00-5.656-5.656l-6.415 6.585a6 6 0 108.486 8.486L20.5 13" }) }),
|
|
46
|
+
/* @__PURE__ */ jsx("span", { className: "truncate", children: file })
|
|
47
|
+
] }, i)) })
|
|
48
|
+
] }),
|
|
49
|
+
settings && Object.keys(settings).length > 0 && /* @__PURE__ */ jsxs("div", { children: [
|
|
50
|
+
/* @__PURE__ */ jsx("h5", { className: "text-xs font-medium text-[var(--axis-text-secondary)] mb-1", children: "\uC124\uC815" }),
|
|
51
|
+
/* @__PURE__ */ jsx("div", { className: "space-y-1", children: Object.entries(settings).map(([key, value]) => /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between text-xs", children: [
|
|
52
|
+
/* @__PURE__ */ jsx("span", { className: "text-[var(--axis-text-secondary)]", children: key }),
|
|
53
|
+
/* @__PURE__ */ jsx("code", { className: "font-mono text-[var(--axis-text-primary)]", children: value })
|
|
54
|
+
] }, key)) })
|
|
55
|
+
] })
|
|
56
|
+
] });
|
|
57
|
+
return /* @__PURE__ */ jsx(
|
|
58
|
+
"div",
|
|
59
|
+
{
|
|
60
|
+
className: cn(
|
|
61
|
+
"rounded-lg border p-3",
|
|
62
|
+
"bg-[var(--axis-surface-secondary)] border-[var(--axis-border-default)]",
|
|
63
|
+
className
|
|
64
|
+
),
|
|
65
|
+
children: collapsible ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
66
|
+
/* @__PURE__ */ jsxs(
|
|
67
|
+
"button",
|
|
68
|
+
{
|
|
69
|
+
onClick: () => setIsExpanded(!isExpanded),
|
|
70
|
+
"aria-expanded": isExpanded,
|
|
71
|
+
"aria-controls": contentId,
|
|
72
|
+
className: "w-full flex items-center justify-between hover:opacity-80 transition-opacity",
|
|
73
|
+
children: [
|
|
74
|
+
header,
|
|
75
|
+
/* @__PURE__ */ jsx(
|
|
76
|
+
"svg",
|
|
77
|
+
{
|
|
78
|
+
className: cn(
|
|
79
|
+
"w-4 h-4 text-[var(--axis-text-secondary)] transition-transform",
|
|
80
|
+
isExpanded && "rotate-180"
|
|
81
|
+
),
|
|
82
|
+
fill: "none",
|
|
83
|
+
stroke: "currentColor",
|
|
84
|
+
viewBox: "0 0 24 24",
|
|
85
|
+
"aria-hidden": "true",
|
|
86
|
+
children: /* @__PURE__ */ jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M19 9l-7 7-7-7" })
|
|
87
|
+
}
|
|
88
|
+
)
|
|
89
|
+
]
|
|
90
|
+
}
|
|
91
|
+
),
|
|
92
|
+
isExpanded && content
|
|
93
|
+
] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
94
|
+
header,
|
|
95
|
+
content
|
|
96
|
+
] })
|
|
97
|
+
}
|
|
98
|
+
);
|
|
99
|
+
}
|
|
4
100
|
export {
|
|
5
101
|
ContextPanel
|
|
6
102
|
};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
"use client";
|
|
1
2
|
"use strict";
|
|
2
3
|
var __create = Object.create;
|
|
3
4
|
var __defProp = Object.defineProperty;
|
|
@@ -26,25 +27,15 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
26
27
|
mod
|
|
27
28
|
));
|
|
28
29
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
-
|
|
30
|
-
// src/diff-viewer/index.tsx
|
|
31
30
|
var diff_viewer_exports = {};
|
|
32
31
|
__export(diff_viewer_exports, {
|
|
33
32
|
DiffViewer: () => DiffViewer
|
|
34
33
|
});
|
|
35
34
|
module.exports = __toCommonJS(diff_viewer_exports);
|
|
35
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
36
36
|
var React = __toESM(require("react"));
|
|
37
37
|
var import_ui_react = require("@axis-ds/ui-react");
|
|
38
|
-
|
|
39
|
-
// src/constants/a11y-labels.ts
|
|
40
|
-
var DIFF_LABELS = {
|
|
41
|
-
added: "\uCD94\uAC00\uB428",
|
|
42
|
-
removed: "\uC0AD\uC81C\uB428",
|
|
43
|
-
unchanged: "\uBCC0\uACBD \uC5C6\uC74C"
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
// src/diff-viewer/index.tsx
|
|
47
|
-
var import_jsx_runtime = require("react/jsx-runtime");
|
|
38
|
+
var import_a11y_labels = require("../constants/a11y-labels.js");
|
|
48
39
|
function computeDiff(before, after) {
|
|
49
40
|
const oldLines = before.split("\n");
|
|
50
41
|
const newLines = after.split("\n");
|
|
@@ -78,17 +69,17 @@ function computeDiff(before, after) {
|
|
|
78
69
|
}
|
|
79
70
|
return result;
|
|
80
71
|
}
|
|
81
|
-
|
|
72
|
+
const lineTypeStyles = {
|
|
82
73
|
added: "bg-[color:color-mix(in_srgb,var(--axis-diff-added)_10%,transparent)]",
|
|
83
74
|
removed: "bg-[color:color-mix(in_srgb,var(--axis-diff-removed)_10%,transparent)]",
|
|
84
75
|
unchanged: ""
|
|
85
76
|
};
|
|
86
|
-
|
|
77
|
+
const lineTypeTextStyles = {
|
|
87
78
|
added: "text-[var(--axis-diff-added-text)]",
|
|
88
79
|
removed: "text-[var(--axis-diff-removed-text)]",
|
|
89
80
|
unchanged: "text-[var(--axis-text-primary)]"
|
|
90
81
|
};
|
|
91
|
-
|
|
82
|
+
const lineTypeSymbols = {
|
|
92
83
|
added: "+",
|
|
93
84
|
removed: "-",
|
|
94
85
|
unchanged: " "
|
|
@@ -119,11 +110,11 @@ function DiffViewer({
|
|
|
119
110
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex items-center gap-2 min-w-0", children: [
|
|
120
111
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", { className: "w-4 h-4 text-[var(--axis-icon-secondary)]", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M4 6h16M4 12h16M4 18h7" }) }),
|
|
121
112
|
filename && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("code", { className: "text-xs font-mono text-[var(--axis-text-primary)] truncate", children: filename }),
|
|
122
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { className: "text-xs text-[var(--axis-diff-added)]", "aria-label": `${addedCount}\uC904 ${DIFF_LABELS.added}`, children: [
|
|
113
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { className: "text-xs text-[var(--axis-diff-added)]", "aria-label": `${addedCount}\uC904 ${import_a11y_labels.DIFF_LABELS.added}`, children: [
|
|
123
114
|
"+",
|
|
124
115
|
addedCount
|
|
125
116
|
] }),
|
|
126
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { className: "text-xs text-[var(--axis-diff-removed)]", "aria-label": `${removedCount}\uC904 ${DIFF_LABELS.removed}`, children: [
|
|
117
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { className: "text-xs text-[var(--axis-diff-removed)]", "aria-label": `${removedCount}\uC904 ${import_a11y_labels.DIFF_LABELS.removed}`, children: [
|
|
127
118
|
"-",
|
|
128
119
|
removedCount
|
|
129
120
|
] })
|