@autocode-cli/autocode 0.0.43 → 0.1.4

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 (106) hide show
  1. package/LICENSE +5 -5
  2. package/LICENSE.fr.md +203 -0
  3. package/README.md +48 -15
  4. package/dist/cli/parser.d.ts +1 -1
  5. package/dist/cli/parser.d.ts.map +1 -1
  6. package/dist/cli/parser.js +5 -4
  7. package/dist/cli/parser.js.map +1 -1
  8. package/dist/index.js +4 -1
  9. package/dist/index.js.map +1 -1
  10. package/dist/server/api.d.ts.map +1 -1
  11. package/dist/server/api.js +47 -7
  12. package/dist/server/api.js.map +1 -1
  13. package/dist/server/dashboard/index.d.ts +10 -0
  14. package/dist/server/dashboard/index.d.ts.map +1 -0
  15. package/dist/server/dashboard/index.js +16 -0
  16. package/dist/server/dashboard/index.js.map +1 -0
  17. package/dist/server/dashboard/pages/column-edit.d.ts +8 -0
  18. package/dist/server/dashboard/pages/column-edit.d.ts.map +1 -0
  19. package/dist/server/dashboard/pages/column-edit.js +303 -0
  20. package/dist/server/dashboard/pages/column-edit.js.map +1 -0
  21. package/dist/server/dashboard/pages/column-prompt.d.ts +8 -0
  22. package/dist/server/dashboard/pages/column-prompt.d.ts.map +1 -0
  23. package/dist/server/dashboard/pages/column-prompt.js +228 -0
  24. package/dist/server/dashboard/pages/column-prompt.js.map +1 -0
  25. package/dist/server/dashboard/pages/column-terminal.d.ts +8 -0
  26. package/dist/server/dashboard/pages/column-terminal.d.ts.map +1 -0
  27. package/dist/server/dashboard/pages/column-terminal.js +529 -0
  28. package/dist/server/dashboard/pages/column-terminal.js.map +1 -0
  29. package/dist/server/dashboard/pages/index.d.ts +12 -0
  30. package/dist/server/dashboard/pages/index.d.ts.map +1 -0
  31. package/dist/server/dashboard/pages/index.js +12 -0
  32. package/dist/server/dashboard/pages/index.js.map +1 -0
  33. package/dist/server/dashboard/pages/main-dashboard.d.ts +11 -0
  34. package/dist/server/dashboard/pages/main-dashboard.d.ts.map +1 -0
  35. package/dist/server/dashboard/pages/main-dashboard.js +209 -0
  36. package/dist/server/dashboard/pages/main-dashboard.js.map +1 -0
  37. package/dist/server/dashboard/pages/shared.d.ts +8 -0
  38. package/dist/server/dashboard/pages/shared.d.ts.map +1 -0
  39. package/dist/server/dashboard/pages/shared.js +58 -0
  40. package/dist/server/dashboard/pages/shared.js.map +1 -0
  41. package/dist/server/dashboard/pages/ticket-view.d.ts +8 -0
  42. package/dist/server/dashboard/pages/ticket-view.d.ts.map +1 -0
  43. package/dist/server/dashboard/pages/ticket-view.js +1364 -0
  44. package/dist/server/dashboard/pages/ticket-view.js.map +1 -0
  45. package/dist/server/dashboard/scripts/index.d.ts +11 -0
  46. package/dist/server/dashboard/scripts/index.d.ts.map +1 -0
  47. package/dist/server/dashboard/scripts/index.js +1325 -0
  48. package/dist/server/dashboard/scripts/index.js.map +1 -0
  49. package/dist/server/dashboard/styles/base.d.ts +5 -0
  50. package/dist/server/dashboard/styles/base.d.ts.map +1 -0
  51. package/dist/server/dashboard/styles/base.js +110 -0
  52. package/dist/server/dashboard/styles/base.js.map +1 -0
  53. package/dist/server/dashboard/styles/board.d.ts +5 -0
  54. package/dist/server/dashboard/styles/board.d.ts.map +1 -0
  55. package/dist/server/dashboard/styles/board.js +168 -0
  56. package/dist/server/dashboard/styles/board.js.map +1 -0
  57. package/dist/server/dashboard/styles/comments.d.ts +5 -0
  58. package/dist/server/dashboard/styles/comments.d.ts.map +1 -0
  59. package/dist/server/dashboard/styles/comments.js +249 -0
  60. package/dist/server/dashboard/styles/comments.js.map +1 -0
  61. package/dist/server/dashboard/styles/components.d.ts +5 -0
  62. package/dist/server/dashboard/styles/components.d.ts.map +1 -0
  63. package/dist/server/dashboard/styles/components.js +190 -0
  64. package/dist/server/dashboard/styles/components.js.map +1 -0
  65. package/dist/server/dashboard/styles/footer.d.ts +5 -0
  66. package/dist/server/dashboard/styles/footer.d.ts.map +1 -0
  67. package/dist/server/dashboard/styles/footer.js +32 -0
  68. package/dist/server/dashboard/styles/footer.js.map +1 -0
  69. package/dist/server/dashboard/styles/index.d.ts +8 -0
  70. package/dist/server/dashboard/styles/index.d.ts.map +1 -0
  71. package/dist/server/dashboard/styles/index.js +27 -0
  72. package/dist/server/dashboard/styles/index.js.map +1 -0
  73. package/dist/server/dashboard/styles/logs.d.ts +5 -0
  74. package/dist/server/dashboard/styles/logs.d.ts.map +1 -0
  75. package/dist/server/dashboard/styles/logs.js +89 -0
  76. package/dist/server/dashboard/styles/logs.js.map +1 -0
  77. package/dist/server/dashboard/styles/notifications.d.ts +5 -0
  78. package/dist/server/dashboard/styles/notifications.d.ts.map +1 -0
  79. package/dist/server/dashboard/styles/notifications.js +51 -0
  80. package/dist/server/dashboard/styles/notifications.js.map +1 -0
  81. package/dist/server/dashboard/styles/variables.d.ts +5 -0
  82. package/dist/server/dashboard/styles/variables.d.ts.map +1 -0
  83. package/dist/server/dashboard/styles/variables.js +29 -0
  84. package/dist/server/dashboard/styles/variables.js.map +1 -0
  85. package/dist/server/dashboard/utils.d.ts +8 -0
  86. package/dist/server/dashboard/utils.d.ts.map +1 -0
  87. package/dist/server/dashboard/utils.js +14 -0
  88. package/dist/server/dashboard/utils.js.map +1 -0
  89. package/dist/server/dashboard.d.ts +5 -21
  90. package/dist/server/dashboard.d.ts.map +1 -1
  91. package/dist/server/dashboard.js +5 -4843
  92. package/dist/server/dashboard.js.map +1 -1
  93. package/dist/server/websocket.d.ts +12 -0
  94. package/dist/server/websocket.d.ts.map +1 -1
  95. package/dist/server/websocket.js +19 -0
  96. package/dist/server/websocket.js.map +1 -1
  97. package/dist/services/claude.d.ts.map +1 -1
  98. package/dist/services/claude.js +4 -1
  99. package/dist/services/claude.js.map +1 -1
  100. package/dist/utils/config.d.ts +1 -1
  101. package/dist/utils/config.js +1 -1
  102. package/dist/utils/version-check.d.ts +26 -0
  103. package/dist/utils/version-check.d.ts.map +1 -0
  104. package/dist/utils/version-check.js +234 -0
  105. package/dist/utils/version-check.js.map +1 -0
  106. package/package.json +2 -2
@@ -0,0 +1,190 @@
1
+ /**
2
+ * Component styles (buttons, modals, forms, pills)
3
+ */
4
+ export function getComponentStyles() {
5
+ return `
6
+ .btn {
7
+ padding: 10px 24px;
8
+ border: none;
9
+ border-radius: 8px;
10
+ font-size: 0.9rem;
11
+ font-weight: 600;
12
+ cursor: pointer;
13
+ transition: all 0.3s;
14
+ }
15
+ .btn-primary { background: var(--accent); color: #fff; }
16
+ .btn-primary:hover { background: var(--accent-light); transform: translateY(-2px); }
17
+ .btn-secondary { background: var(--bg-tertiary); color: var(--text-secondary); border: 1px solid var(--border); }
18
+ .btn-secondary:hover { border-color: var(--accent); }
19
+ .btn-danger { background: var(--red); color: #fff; }
20
+ .btn-next { background: var(--blue); color: #fff; }
21
+
22
+ /* Modal */
23
+ .modal-overlay {
24
+ position: fixed;
25
+ inset: 0;
26
+ background: rgba(0,0,0,0.8);
27
+ backdrop-filter: blur(5px);
28
+ z-index: 1000;
29
+ display: none;
30
+ overflow-y: auto;
31
+ }
32
+ .modal-overlay.active { display: block; }
33
+
34
+ .modal {
35
+ width: 100%;
36
+ min-height: 100vh;
37
+ padding: 24px 48px;
38
+ max-width: 100%;
39
+ margin: 0;
40
+ background: var(--bg-secondary);
41
+ }
42
+
43
+ .modal-header {
44
+ display: flex;
45
+ justify-content: space-between;
46
+ align-items: center;
47
+ margin-bottom: 24px;
48
+ padding-bottom: 16px;
49
+ border-bottom: 1px solid var(--border);
50
+ }
51
+ .modal-header h2 { font-size: 1.1rem; font-weight: 600; }
52
+ .modal-close {
53
+ background: none;
54
+ border: none;
55
+ color: var(--text-secondary);
56
+ font-size: 1.5rem;
57
+ cursor: pointer;
58
+ line-height: 1;
59
+ padding: 0;
60
+ }
61
+ .modal-close:hover { color: var(--text-primary); }
62
+
63
+ .modal-body { display: flex; flex-direction: column; gap: 16px; }
64
+
65
+ .form-group { display: flex; flex-direction: column; gap: 6px; }
66
+ .form-group label { font-size: 13px; color: var(--muted); font-weight: 500; }
67
+ .form-group input, .form-group textarea, .form-group select {
68
+ padding: 10px 12px;
69
+ font-size: 14px;
70
+ }
71
+ .form-group textarea { min-height: 100px; resize: vertical; }
72
+
73
+ .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
74
+
75
+ .labels-select .selected-labels {
76
+ display: flex;
77
+ flex-wrap: wrap;
78
+ gap: 6px;
79
+ margin-top: 8px;
80
+ }
81
+ .label-tag {
82
+ background: #21262d;
83
+ padding: 4px 8px;
84
+ border-radius: 4px;
85
+ font-size: 12px;
86
+ display: flex;
87
+ align-items: center;
88
+ gap: 6px;
89
+ }
90
+ .remove-label {
91
+ cursor: pointer;
92
+ opacity: 0.6;
93
+ }
94
+ .remove-label:hover { opacity: 1; color: var(--red); }
95
+
96
+ .criteria-list { display: flex; flex-direction: column; gap: 8px; }
97
+ .criteria-item {
98
+ display: flex;
99
+ gap: 8px;
100
+ align-items: center;
101
+ }
102
+ .criteria-item input { flex: 1; }
103
+ .btn-remove {
104
+ background: none;
105
+ border: none;
106
+ color: var(--red);
107
+ font-size: 18px;
108
+ cursor: pointer;
109
+ }
110
+ .btn-add {
111
+ background: none;
112
+ border: 1px dashed var(--border);
113
+ color: var(--muted);
114
+ padding: 8px 12px;
115
+ border-radius: 6px;
116
+ cursor: pointer;
117
+ font-size: 13px;
118
+ margin-top: 8px;
119
+ }
120
+ .btn-add:hover { border-color: var(--accent); color: var(--accent); }
121
+
122
+ .modal-actions {
123
+ display: flex;
124
+ gap: 12px;
125
+ justify-content: flex-end;
126
+ margin-top: 24px;
127
+ padding-top: 24px;
128
+ border-top: 1px solid var(--border);
129
+ }
130
+
131
+ /* Action Modal */
132
+ .action-modal textarea {
133
+ width: 100%;
134
+ min-height: 300px;
135
+ font-family: monospace;
136
+ font-size: 13px;
137
+ background: var(--bg);
138
+ resize: vertical;
139
+ }
140
+ .action-toolbar {
141
+ display: flex;
142
+ gap: 8px;
143
+ margin-bottom: 12px;
144
+ }
145
+ .action-meta {
146
+ font-size: 12px;
147
+ color: var(--muted);
148
+ margin-bottom: 8px;
149
+ }
150
+ .action-empty {
151
+ background: var(--bg);
152
+ padding: 24px;
153
+ text-align: center;
154
+ border-radius: 6px;
155
+ color: var(--muted);
156
+ }
157
+ .pill {
158
+ background: var(--accent);
159
+ color: #fff;
160
+ padding: 4px 8px;
161
+ border-radius: 4px;
162
+ font-size: 11px;
163
+ font-weight: 600;
164
+ margin-right: 8px;
165
+ }
166
+
167
+ /* Context Menu */
168
+ .context-menu {
169
+ position: fixed;
170
+ background: var(--bg-tertiary);
171
+ border: 1px solid var(--border);
172
+ border-radius: 8px;
173
+ padding: 4px 0;
174
+ min-width: 140px;
175
+ z-index: 1001;
176
+ display: none;
177
+ box-shadow: 0 10px 40px rgba(0, 0, 0, 0.4);
178
+ }
179
+ .context-menu.active { display: block; }
180
+ .context-menu-item {
181
+ padding: 8px 16px;
182
+ font-size: 0.85rem;
183
+ cursor: pointer;
184
+ transition: background 0.2s;
185
+ }
186
+ .context-menu-item:hover { background: var(--bg-secondary); }
187
+ .context-menu-item.danger { color: var(--red); }
188
+ `;
189
+ }
190
+ //# sourceMappingURL=components.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components.js","sourceRoot":"","sources":["../../../../src/server/dashboard/styles/components.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,UAAU,kBAAkB;IAChC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuLN,CAAC;AACJ,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Footer and responsive styles
3
+ */
4
+ export declare function getFooterStyles(): string;
5
+ //# sourceMappingURL=footer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"footer.d.ts","sourceRoot":"","sources":["../../../../src/server/dashboard/styles/footer.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,wBAAgB,eAAe,IAAI,MAAM,CA2BxC"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Footer and responsive styles
3
+ */
4
+ export function getFooterStyles() {
5
+ return `
6
+ /* Footer */
7
+ footer {
8
+ position: fixed;
9
+ bottom: 0;
10
+ left: 0;
11
+ right: 0;
12
+ padding: 16px 24px;
13
+ text-align: center;
14
+ font-size: 0.9rem;
15
+ color: var(--text-secondary);
16
+ background: var(--bg-secondary);
17
+ border-top: 1px solid var(--border);
18
+ display: flex;
19
+ align-items: center;
20
+ justify-content: center;
21
+ gap: 16px;
22
+ height: 50px;
23
+ }
24
+
25
+ @media (max-width: 768px) {
26
+ header { flex-direction: column; align-items: stretch; }
27
+ .filters { flex-wrap: wrap; }
28
+ .form-row { grid-template-columns: 1fr; }
29
+ }
30
+ `;
31
+ }
32
+ //# sourceMappingURL=footer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"footer.js","sourceRoot":"","sources":["../../../../src/server/dashboard/styles/footer.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,UAAU,eAAe;IAC7B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;GAyBN,CAAC;AACJ,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Main styles aggregator
3
+ */
4
+ /**
5
+ * Get all CSS styles for the dashboard
6
+ */
7
+ export declare function getStyles(): string;
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/dashboard/styles/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAWH;;GAEG;AACH,wBAAgB,SAAS,IAAI,MAAM,CAWlC"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Main styles aggregator
3
+ */
4
+ import { getVariables } from './variables.js';
5
+ import { getBaseStyles } from './base.js';
6
+ import { getComponentStyles } from './components.js';
7
+ import { getBoardStyles } from './board.js';
8
+ import { getCommentsStyles } from './comments.js';
9
+ import { getNotificationStyles } from './notifications.js';
10
+ import { getLogStyles } from './logs.js';
11
+ import { getFooterStyles } from './footer.js';
12
+ /**
13
+ * Get all CSS styles for the dashboard
14
+ */
15
+ export function getStyles() {
16
+ return [
17
+ getVariables(),
18
+ getBaseStyles(),
19
+ getComponentStyles(),
20
+ getBoardStyles(),
21
+ getCommentsStyles(),
22
+ getNotificationStyles(),
23
+ getLogStyles(),
24
+ getFooterStyles()
25
+ ].join('\n');
26
+ }
27
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/server/dashboard/styles/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C;;GAEG;AACH,MAAM,UAAU,SAAS;IACvB,OAAO;QACL,YAAY,EAAE;QACd,aAAa,EAAE;QACf,kBAAkB,EAAE;QACpB,cAAc,EAAE;QAChB,iBAAiB,EAAE;QACnB,qBAAqB,EAAE;QACvB,YAAY,EAAE;QACd,eAAe,EAAE;KAClB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Claude log section styles
3
+ */
4
+ export declare function getLogStyles(): string;
5
+ //# sourceMappingURL=logs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logs.d.ts","sourceRoot":"","sources":["../../../../src/server/dashboard/styles/logs.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,wBAAgB,YAAY,IAAI,MAAM,CAoFrC"}
@@ -0,0 +1,89 @@
1
+ /**
2
+ * Claude log section styles
3
+ */
4
+ export function getLogStyles() {
5
+ return `
6
+ /* Claude Log Section (in modal) */
7
+ .claude-log-section {
8
+ border-top: 1px solid var(--border);
9
+ padding-top: 16px;
10
+ margin-top: 8px;
11
+ }
12
+ .claude-log-header {
13
+ display: flex;
14
+ align-items: center;
15
+ gap: 8px;
16
+ margin-bottom: 12px;
17
+ }
18
+ .claude-log-header h3 { font-size: 14px; font-weight: 600; }
19
+ .claude-log-status {
20
+ font-size: 12px;
21
+ padding: 2px 8px;
22
+ border-radius: 10px;
23
+ background: #21262d;
24
+ }
25
+ .claude-log-status.processing { color: var(--yellow); animation: pulse 1s infinite; }
26
+ .claude-log-status.success { color: var(--green); }
27
+ .claude-log-status.error { color: var(--red); }
28
+ .claude-log {
29
+ background: #0d1117;
30
+ border: 1px solid var(--border);
31
+ border-radius: 6px;
32
+ padding: 16px;
33
+ max-height: 500px;
34
+ overflow-y: auto;
35
+ font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
36
+ font-size: 13px;
37
+ line-height: 1.6;
38
+ white-space: pre-wrap;
39
+ word-break: break-word;
40
+ color: var(--text);
41
+ margin: 0;
42
+ }
43
+ /* Formatted log entries */
44
+ .log-entry { margin-bottom: 8px; padding: 8px 12px; border-radius: 4px; border-left: 3px solid transparent; flex-shrink: 0; }
45
+ .log-entry.timestamp { color: #8b949e; font-size: 11px; border-left-color: #484f58; background: transparent; padding: 4px 12px; }
46
+ .log-entry.system { color: #8b949e; border-left-color: #484f58; background: rgba(139,148,158,0.1); }
47
+ .log-entry.user { color: #58a6ff; border-left-color: #58a6ff; background: rgba(88,166,255,0.1); }
48
+ .log-entry.assistant { color: #7ee787; border-left-color: #7ee787; background: rgba(126,231,135,0.1); }
49
+ .log-entry.tool-call { color: #d2a8ff; border-left-color: #d2a8ff; background: rgba(210,168,255,0.1); padding: 12px; }
50
+ .log-entry.tool-result { color: #ffa657; border-left-color: #ffa657; background: rgba(255,166,87,0.1); }
51
+ .log-entry.error { color: #f85149; border-left-color: #f85149; background: rgba(248,81,73,0.1); }
52
+ .log-entry.success { color: #7ee787; border-left-color: #7ee787; background: rgba(126,231,135,0.1); }
53
+ .log-label { font-weight: 600; font-size: 11px; text-transform: uppercase; margin-bottom: 4px; display: block; opacity: 0.8; }
54
+ .log-content { white-space: pre-wrap; word-break: break-word; }
55
+
56
+ /* Code blocks with line numbers */
57
+ .log-code-block { background: #161b22; border-radius: 6px; overflow: hidden; margin: 8px 0; border: 1px solid #30363d; }
58
+ .log-code-header { background: #21262d; padding: 8px 12px; font-size: 12px; color: #8b949e; border-bottom: 1px solid #30363d; display: flex; align-items: center; gap: 8px; }
59
+ .log-code-header::before { content: ''; display: inline-block; width: 12px; height: 12px; background: #ffa657; border-radius: 50%; }
60
+ .log-code-content { padding: 12px; overflow-x: auto; font-family: 'Fira Code', 'SF Mono', Monaco, monospace; font-size: 12px; line-height: 1.5; max-height: 400px; overflow-y: auto; }
61
+ .log-code-line { display: flex; min-height: 20px; }
62
+ .log-line-number { color: #484f58; text-align: right; padding-right: 16px; user-select: none; min-width: 40px; flex-shrink: 0; }
63
+ .log-line-content { color: #c9d1d9; white-space: pre; }
64
+
65
+ /* Message cards */
66
+ .log-message-card { background: #161b22; border-radius: 8px; margin: 12px 0; overflow: hidden; border: 1px solid #30363d; flex-shrink: 0; }
67
+ .log-message-header { padding: 10px 14px; display: flex; align-items: center; gap: 8px; font-weight: 500; font-size: 13px; }
68
+ .log-message-header.assistant-header { background: linear-gradient(135deg, #238636 0%, #2ea043 100%); color: white; }
69
+ .log-message-header.user-header { background: linear-gradient(135deg, #1f6feb 0%, #388bfd 100%); color: white; }
70
+ .log-message-header.tool-header { background: linear-gradient(135deg, #8b5cf6 0%, #a78bfa 100%); color: white; }
71
+ .log-message-header.result-header { background: linear-gradient(135deg, #f97316 0%, #fb923c 100%); color: white; }
72
+ .log-message-body { padding: 14px; border-top: 1px solid #30363d; color: #c9d1d9; white-space: pre-wrap; word-break: break-word; }
73
+
74
+ /* Tool badges */
75
+ .log-tool-badge { display: inline-flex; align-items: center; gap: 6px; background: rgba(139,92,246,0.2); color: #a78bfa; padding: 4px 10px; border-radius: 12px; font-size: 12px; font-weight: 500; }
76
+ .log-tool-input { background: #0d1117; border-radius: 4px; padding: 8px 12px; margin-top: 8px; font-family: 'Fira Code', monospace; font-size: 11px; color: #8b949e; max-height: 150px; overflow: auto; white-space: pre-wrap; }
77
+
78
+ /* Collapsible raw JSON */
79
+ .log-raw-details { margin: 8px 0; }
80
+ .log-raw-summary { cursor: pointer; color: #8b949e; font-size: 12px; padding: 8px; background: rgba(139,148,158,0.1); border-radius: 4px; }
81
+ .log-raw-summary:hover { background: rgba(139,148,158,0.2); }
82
+ .log-raw-json { background: #0d1117; border-radius: 4px; padding: 12px; margin-top: 8px; font-size: 11px; color: #8b949e; max-height: 200px; overflow: auto; white-space: pre-wrap; }
83
+ @keyframes pulse {
84
+ 0%, 100% { opacity: 1; }
85
+ 50% { opacity: 0.5; }
86
+ }
87
+ `;
88
+ }
89
+ //# sourceMappingURL=logs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logs.js","sourceRoot":"","sources":["../../../../src/server/dashboard/styles/logs.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,UAAU,YAAY;IAC1B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkFN,CAAC;AACJ,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Notifications styles
3
+ */
4
+ export declare function getNotificationStyles(): string;
5
+ //# sourceMappingURL=notifications.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notifications.d.ts","sourceRoot":"","sources":["../../../../src/server/dashboard/styles/notifications.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,wBAAgB,qBAAqB,IAAI,MAAM,CA8C9C"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Notifications styles
3
+ */
4
+ export function getNotificationStyles() {
5
+ return `
6
+ /* Notifications */
7
+ .notifications {
8
+ position: fixed;
9
+ top: 80px;
10
+ right: 20px;
11
+ z-index: 1001;
12
+ display: flex;
13
+ flex-direction: column;
14
+ gap: 10px;
15
+ max-width: 350px;
16
+ }
17
+ .notification {
18
+ background: var(--bg-tertiary);
19
+ border: 1px solid var(--border);
20
+ border-left: 4px solid var(--accent);
21
+ border-radius: 8px;
22
+ padding: 12px 16px;
23
+ display: flex;
24
+ align-items: flex-start;
25
+ gap: 12px;
26
+ animation: slideInRight 0.4s ease;
27
+ box-shadow: 0 10px 40px rgba(0, 0, 0, 0.4);
28
+ }
29
+ .notification.success { border-left-color: var(--green); }
30
+ .notification.error { border-left-color: var(--red); }
31
+ .notification.warning { border-left-color: var(--yellow); }
32
+ .notification.claude { border-left-color: #a855f7; }
33
+ .notification-icon { font-size: 1.2rem; flex-shrink: 0; }
34
+ .notification-content { flex: 1; }
35
+ .notification-title { font-weight: 600; font-size: 0.9rem; margin-bottom: 2px; }
36
+ .notification-message { font-size: 0.8rem; color: var(--text-secondary); }
37
+ .notification-close {
38
+ background: none;
39
+ border: none;
40
+ color: var(--text-secondary);
41
+ cursor: pointer;
42
+ font-size: 16px;
43
+ }
44
+
45
+ @keyframes slideInRight {
46
+ from { transform: translateX(100%); opacity: 0; }
47
+ to { transform: translateX(0); opacity: 1; }
48
+ }
49
+ `;
50
+ }
51
+ //# sourceMappingURL=notifications.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notifications.js","sourceRoot":"","sources":["../../../../src/server/dashboard/styles/notifications.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,UAAU,qBAAqB;IACnC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CN,CAAC;AACJ,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * CSS Variables
3
+ */
4
+ export declare function getVariables(): string;
5
+ //# sourceMappingURL=variables.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variables.d.ts","sourceRoot":"","sources":["../../../../src/server/dashboard/styles/variables.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,wBAAgB,YAAY,IAAI,MAAM,CAwBrC"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * CSS Variables
3
+ */
4
+ export function getVariables() {
5
+ return `
6
+ :root {
7
+ --bg-primary: #0a0a0f;
8
+ --bg-secondary: #12121a;
9
+ --bg-tertiary: #1a1a25;
10
+ --bg: #0a0a0f;
11
+ --card: #12121a;
12
+ --border: #2a2a3a;
13
+ --text: #f1f5f9;
14
+ --text-primary: #f1f5f9;
15
+ --text-secondary: #94a3b8;
16
+ --muted: #64748b;
17
+ --accent: #6366f1;
18
+ --accent-light: #818cf8;
19
+ --accent-hover: #818cf8;
20
+ --accent-glow: rgba(99, 102, 241, 0.3);
21
+ --blue: #3b82f6;
22
+ --green: #22c55e;
23
+ --yellow: #f59e0b;
24
+ --red: #ef4444;
25
+ --gradient-1: linear-gradient(135deg, #6366f1 0%, #a855f7 50%, #ec4899 100%);
26
+ }
27
+ `;
28
+ }
29
+ //# sourceMappingURL=variables.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variables.js","sourceRoot":"","sources":["../../../../src/server/dashboard/styles/variables.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,UAAU,YAAY;IAC1B,OAAO;;;;;;;;;;;;;;;;;;;;;;GAsBN,CAAC;AACJ,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Dashboard utilities
3
+ */
4
+ /**
5
+ * Escape HTML entities
6
+ */
7
+ export declare function escapeHtml(text: string): string;
8
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/server/dashboard/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAM/C"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Dashboard utilities
3
+ */
4
+ /**
5
+ * Escape HTML entities
6
+ */
7
+ export function escapeHtml(text) {
8
+ return text
9
+ .replace(/&/g, '&')
10
+ .replace(/</g, '&lt;')
11
+ .replace(/>/g, '&gt;')
12
+ .replace(/"/g, '&quot;');
13
+ }
14
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/server/dashboard/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,IAAI;SACR,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC7B,CAAC"}
@@ -1,24 +1,8 @@
1
1
  /**
2
- * Dashboard HTML generation - Full feature parity with legacy autocode.sh
2
+ * Dashboard HTML generation
3
+ *
4
+ * This is a wrapper module that re-exports from the modular structure.
5
+ * See ./dashboard/ for the module organization.
3
6
  */
4
- /**
5
- * Generate the full dashboard HTML
6
- */
7
- export declare function generateDashboard(): string;
8
- /**
9
- * Generate column edit page
10
- */
11
- export declare function generateColumnEditPage(slug: string, lang: string): string;
12
- /**
13
- * Generate ticket view page
14
- */
15
- export declare function generateTicketViewPage(ticketKey: string, lang: string): string;
16
- /**
17
- * Generate the column terminal page HTML
18
- */
19
- export declare function generateColumnTerminalPage(ticketKey: string, columnSlug: string, lang: string): string;
20
- /**
21
- * Generate the column prompt page HTML
22
- */
23
- export declare function generateColumnPromptPage(ticketKey: string, columnSlug: string, lang: string): string;
7
+ export { generateDashboard, generateColumnEditPage, generateTicketViewPage, generateColumnTerminalPage, generateColumnPromptPage } from './dashboard/pages/index.js';
24
8
  //# sourceMappingURL=dashboard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../../src/server/dashboard.ts"],"names":[],"mappings":"AAAA;;GAEG;AAYH;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAgM1C;AAypED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAsSzE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAo2C9E;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAogBtG;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAuPpG"}
1
+ {"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../../src/server/dashboard.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,sBAAsB,EACtB,0BAA0B,EAC1B,wBAAwB,EACzB,MAAM,4BAA4B,CAAC"}