Skip to content

Commit 128408d

Browse files
fix: variables search bug and lite mode dataset seeding (#54)
* fix: remove non-existent label field from variables search Variables don't have a label field, only name and description. The search filter was referencing Variable.label which caused 500 errors when searching with tax_benefit_model_name filter. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * feat: include datasets in lite mode, filter to 2026 only - Lite mode now seeds FRS 2026 and CPS 2026 datasets instead of skipping all - Added hugging_face_token setting for dataset downloads 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * Update agent ui * feat: improve agent chat UX and add conversation history - Fix tool name display with proper mapping (e.g. "Calculate household") - Add conversation history support for multi-turn chat - Move response styling to global CSS with Inter font - Add PolicyEngine style guide to agent prompt (tables, active voice) - Persist tool steps per message so they don't disappear --------- Co-authored-by: Claude <noreply@anthropic.com>
1 parent de6a882 commit 128408d

9 files changed

Lines changed: 349 additions & 76 deletions

File tree

docs/bun.lock

Lines changed: 33 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@
1313
"react": "19.2.1",
1414
"react-dom": "19.2.1",
1515
"react-markdown": "^10.1.0",
16-
"remark-breaks": "^4.0.0"
16+
"remark-breaks": "^4.0.0",
17+
"remark-gfm": "^4.0.1"
1718
},
1819
"devDependencies": {
1920
"@tailwindcss/postcss": "^4",

docs/src/app/globals.css

Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,3 +100,125 @@ code {
100100
background: var(--color-pe-green);
101101
color: white;
102102
}
103+
104+
/* Agent response content */
105+
.response-content {
106+
font-family: var(--font-inter), -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
107+
font-size: 15px;
108+
line-height: 1.7;
109+
color: #1e293b;
110+
-webkit-font-smoothing: antialiased;
111+
}
112+
.response-content p {
113+
margin: 0.875em 0;
114+
}
115+
.response-content p:first-child {
116+
margin-top: 0;
117+
}
118+
.response-content p:last-child {
119+
margin-bottom: 0;
120+
}
121+
.response-content h1,
122+
.response-content h2,
123+
.response-content h3 {
124+
font-weight: 600;
125+
color: #0f172a;
126+
margin-top: 1.5em;
127+
margin-bottom: 0.5em;
128+
line-height: 1.3;
129+
}
130+
.response-content h1 {
131+
font-size: 1.375em;
132+
}
133+
.response-content h2 {
134+
font-size: 1.125em;
135+
}
136+
.response-content h3 {
137+
font-size: 1em;
138+
}
139+
.response-content h1:first-child,
140+
.response-content h2:first-child,
141+
.response-content h3:first-child {
142+
margin-top: 0;
143+
}
144+
.response-content strong {
145+
font-weight: 600;
146+
color: #0f172a;
147+
}
148+
.response-content ul,
149+
.response-content ol {
150+
margin: 0.875em 0;
151+
padding-left: 1.5em;
152+
}
153+
.response-content li {
154+
margin: 0.375em 0;
155+
}
156+
.response-content li::marker {
157+
color: #64748b;
158+
}
159+
.response-content code {
160+
font-family: "JetBrains Mono", ui-monospace, monospace;
161+
font-size: 0.875em;
162+
background: #f1f5f9;
163+
padding: 0.2em 0.4em;
164+
border-radius: 4px;
165+
color: #334155;
166+
}
167+
.response-content pre {
168+
font-family: "JetBrains Mono", ui-monospace, monospace;
169+
font-size: 13px;
170+
background: #1e293b;
171+
color: #e2e8f0;
172+
padding: 1em 1.25em;
173+
border-radius: 8px;
174+
overflow-x: auto;
175+
margin: 1em 0;
176+
line-height: 1.6;
177+
}
178+
.response-content pre code {
179+
background: none;
180+
padding: 0;
181+
font-size: inherit;
182+
color: inherit;
183+
}
184+
.response-content table {
185+
width: 100%;
186+
border-collapse: collapse;
187+
margin: 1em 0;
188+
font-size: 14px;
189+
}
190+
.response-content th {
191+
background: #f8fafc;
192+
border: 1px solid #e2e8f0;
193+
padding: 0.625em 0.875em;
194+
text-align: left;
195+
font-weight: 600;
196+
color: #475569;
197+
}
198+
.response-content td {
199+
border: 1px solid #e2e8f0;
200+
padding: 0.625em 0.875em;
201+
color: #334155;
202+
}
203+
.response-content tr:hover td {
204+
background: #f8fafc;
205+
}
206+
.response-content blockquote {
207+
border-left: 3px solid #2c6e49;
208+
padding-left: 1em;
209+
margin: 1em 0;
210+
color: #64748b;
211+
font-style: italic;
212+
}
213+
.response-content a {
214+
color: #2c6e49;
215+
text-decoration: underline;
216+
}
217+
.response-content a:hover {
218+
color: #1a4a2e;
219+
}
220+
.response-content hr {
221+
border: none;
222+
border-top: 1px solid #e2e8f0;
223+
margin: 1.5em 0;
224+
}

0 commit comments

Comments
 (0)