Commit 0bff0b7
feat: SDK feature completion, UX improvements, security hardening
* ci: add CodeQL scanning workflow and secret scanning setup script
- Create .github/workflows/codeql.yml (JS/TS analysis, weekly + PR triggers)
- Create scripts/setup-security.sh for enabling secret scanning + push protection
- Update SECURITY.md with secret scanning documentation
Closes #78
Closes #79
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* ci: add branch protection script and release-please workflow
- Create scripts/setup-branch-protection.sh (gh api, requires admin)
- Create .github/workflows/release.yml (release-please for semver + changelog)
- Create release-please-config.json and .release-please-manifest.json
Closes #75
Closes #80
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* ci: enhance CI with Playwright E2E, conventional commit check, caching
- Add e2e job with Playwright desktop tests and artifact upload on failure
- Add commit-lint job checking PR title against conventional commits pattern
- Add concurrency group to cancel redundant runs
- Add npm cache via setup-node
Closes #70
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* docs: enhance PR template, YAML issue forms, and CODEOWNERS
- Upgrade PR template with GitHub Flow + security checklist
- Convert issue templates from Markdown to YAML forms
- Add SDK feature issue template
- Add security advisory contact link
- Create CODEOWNERS with path-based ownership
Closes #73
Closes #74
Closes #77
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* ci: add PR auto-labeler and stale issues/PR management
- Create labeler config with 10 path-based labels (backend, frontend, sdk, etc.)
- Create labeler.yml workflow using actions/labeler@v5
- Create stale.yml workflow (30-day stale, 7-day close, exempt security/killer-feature)
Closes #71
Closes #72
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* docs: add Copilot prompt files and rewrite copilot-instructions.md
- Create 4 prompt files: generate-test, review-security, add-feature, fix-bug
- Rewrite copilot-instructions.md with accurate counts (20 components, 78 message types)
- Add skills system, testing sections, updated project structure
Closes #76
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* feat: adopt awesome-copilot skills, agents, instructions, and workflows
Skills added (4): github-issues, doublecheck, copilot-spaces, automate-this
Agents added (6): 4.1-Beast, critical-thinking, implementation-plan, refine-issue, polyglot-test-generator, adr-generator
Instructions added (2): code-review-generic, performance-optimization
Workflows added (2): codespell, check-pr-target
Closes #86
Closes #87
Closes #88
Closes #69
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* feat: expose infinite session compaction config in settings (#84)
Add InfiniteSessionsSettings type with enabled, backgroundThreshold,
and bufferThreshold fields. Wire through settings store (with clamping
validation and localStorage persistence), WS types, WS store, page
component, and handler mapping to SDK's InfiniteSessionConfig.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* feat: SDK feature completion + UX improvements + security hardening
SDK Features:
- Image thumbnails in user messages with file chips (#31)
- Directory and selection attachment types (#85)
- Infinite session compaction config (#83)
- @ file fuzzy mention with autocomplete (#34)
- File serving route for uploaded images
Security:
- Path traversal protection on attachment validation
- Workspace path validation for file mentions
- Auth-required file serving endpoint
Tests: 306 passing (29 test files)
Closes #31
Closes #34
Closes #83
Closes #85
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>1 parent fd75bed commit 0bff0b7
16 files changed
Lines changed: 1002 additions & 48 deletions
File tree
- src
- lib
- components
- server
- copilot
- files
- ws
- stores
- types
- routes
- api
- files
- upload/files/[uploadId]/[filename]
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | | - | |
| 2 | + | |
| 3 | + | |
3 | 4 | | |
4 | 5 | | |
5 | 6 | | |
| |||
8 | 9 | | |
9 | 10 | | |
10 | 11 | | |
11 | | - | |
| 12 | + | |
12 | 13 | | |
13 | 14 | | |
14 | 15 | | |
| |||
52 | 53 | | |
53 | 54 | | |
54 | 55 | | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
55 | 66 | | |
56 | 67 | | |
57 | 68 | | |
| |||
87 | 98 | | |
88 | 99 | | |
89 | 100 | | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
90 | 104 | | |
91 | 105 | | |
92 | 106 | | |
| |||
180 | 194 | | |
181 | 195 | | |
182 | 196 | | |
183 | | - | |
| 197 | + | |
184 | 198 | | |
185 | 199 | | |
186 | 200 | | |
187 | 201 | | |
188 | 202 | | |
189 | | - | |
| 203 | + | |
190 | 204 | | |
191 | 205 | | |
192 | 206 | | |
| |||
209 | 223 | | |
210 | 224 | | |
211 | 225 | | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
212 | 342 | | |
213 | 343 | | |
214 | 344 | | |
| |||
317 | 447 | | |
318 | 448 | | |
319 | 449 | | |
| 450 | + | |
| 451 | + | |
| 452 | + | |
| 453 | + | |
| 454 | + | |
| 455 | + | |
| 456 | + | |
| 457 | + | |
| 458 | + | |
| 459 | + | |
| 460 | + | |
| 461 | + | |
| 462 | + | |
| 463 | + | |
| 464 | + | |
| 465 | + | |
| 466 | + | |
| 467 | + | |
| 468 | + | |
| 469 | + | |
| 470 | + | |
| 471 | + | |
| 472 | + | |
| 473 | + | |
| 474 | + | |
| 475 | + | |
| 476 | + | |
320 | 477 | | |
321 | 478 | | |
322 | 479 | | |
| |||
614 | 771 | | |
615 | 772 | | |
616 | 773 | | |
| 774 | + | |
| 775 | + | |
| 776 | + | |
| 777 | + | |
| 778 | + | |
| 779 | + | |
| 780 | + | |
| 781 | + | |
| 782 | + | |
| 783 | + | |
| 784 | + | |
| 785 | + | |
| 786 | + | |
| 787 | + | |
| 788 | + | |
| 789 | + | |
| 790 | + | |
| 791 | + | |
| 792 | + | |
| 793 | + | |
| 794 | + | |
| 795 | + | |
| 796 | + | |
| 797 | + | |
| 798 | + | |
| 799 | + | |
| 800 | + | |
| 801 | + | |
| 802 | + | |
| 803 | + | |
| 804 | + | |
| 805 | + | |
| 806 | + | |
| 807 | + | |
| 808 | + | |
| 809 | + | |
| 810 | + | |
| 811 | + | |
| 812 | + | |
| 813 | + | |
| 814 | + | |
| 815 | + | |
| 816 | + | |
| 817 | + | |
| 818 | + | |
| 819 | + | |
| 820 | + | |
| 821 | + | |
| 822 | + | |
| 823 | + | |
| 824 | + | |
| 825 | + | |
| 826 | + | |
| 827 | + | |
| 828 | + | |
| 829 | + | |
| 830 | + | |
| 831 | + | |
| 832 | + | |
| 833 | + | |
| 834 | + | |
| 835 | + | |
| 836 | + | |
| 837 | + | |
| 838 | + | |
| 839 | + | |
| 840 | + | |
| 841 | + | |
| 842 | + | |
| 843 | + | |
| 844 | + | |
617 | 845 | | |
618 | 846 | | |
619 | 847 | | |
| |||
0 commit comments