chihlasm
bfb6ba352c
docs: update CLAUDE.md — add ConnectWise PSA integration section and formatting fixes
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-13 13:24:43 -04:00
chihlasm
1d280a5c78
fix: address code review feedback on pane takeover
...
- Remove leftover text-left on TemplateCard div (was from button era)
- Use warning text as React key instead of array index
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-13 12:41:48 -04:00
chihlasm
87a5988fc3
chore: update stale comment in scriptGeneratorStore
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-13 12:39:15 -04:00
chihlasm
bcca095bdf
feat: delete ScriptGeneratorPanel — superseded by ScriptConfigurePane
...
The right pane is now ScriptPreview-only. Generate/Download/Copy controls
moved to ScriptConfigurePane in the left pane (configure mode).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-13 12:38:31 -04:00
chihlasm
16c0132b02
feat: rewrite ScriptLibraryPage with Browse/Configure pane modes
...
- Add paneMode state ('browse' | 'configure') local to page
- Move ScriptFilterBar inside left pane column (hidden in configure mode)
- inputValue owned at page level to survive mode transitions
- Left pane: ScriptFilterBar + ScriptTemplateList in browse; ScriptConfigurePane in configure
- Right pane: ScriptPreview only (read-only); empty state when no template selected
- canGenerate derived from usePermissions().isEngineer (matching ScriptGeneratorPanel pattern)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-13 12:38:05 -04:00
chihlasm
da86136ef3
fix: update ScriptConfigurePane elevation badge and separator per spec
...
- Replace unicode ⚠ with ShieldAlert icon in elevation badge
- Fix separator spacing: mb-4 → mt-3 pt-3 per spec
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-13 12:35:44 -04:00
chihlasm
93f332e027
feat: add ScriptConfigurePane — configure mode layout
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-13 12:32:39 -04:00
chihlasm
cad9dc83bd
refactor: ScriptTemplateList — add onConfigure prop threading
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-13 12:30:13 -04:00
chihlasm
40ebd2b200
refactor: TemplateCard — remove store subscription, add Configure button
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-13 12:29:45 -04:00
chihlasm
48db16ccbf
docs: add script library pane takeover implementation plan
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-13 12:13:18 -04:00
chihlasm
996244e8bd
docs: remove stale copy button language from round 6 review
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-13 12:00:32 -04:00
chihlasm
7334d55cf2
docs: fix spec issues from round 5 review
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-13 11:59:50 -04:00
chihlasm
cfcae08981
docs: fix spec issues from round 4 review
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-13 11:58:23 -04:00
chihlasm
e995e935dc
docs: fix spec issues from round 3 review
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-13 11:57:08 -04:00
chihlasm
0854bca13e
docs: fix spec issues from round 2 review
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-13 11:55:19 -04:00
chihlasm
e7a3ed6982
docs: add script library pane takeover design spec
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-13 11:49:14 -04:00
chihlasm
844b792bc2
fix: remove redundant wrapper div in password field
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-13 02:48:30 -04:00
chihlasm
64b02159e0
fix: wire error prop to Input/Textarea components and eliminate duplicate loadTemplates on mount
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-13 02:47:23 -04:00
chihlasm
f988d70bca
feat: add /scripts route and Script Library nav entry
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-13 02:41:19 -04:00
chihlasm
a5d7d56199
feat: add ScriptLibraryPage shell
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-13 02:40:38 -04:00
chihlasm
361ffabe57
fix: attach anchor to document before click for Firefox download compatibility
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-13 02:39:57 -04:00
chihlasm
8cadc5b1b3
feat: add ScriptGeneratorPanel with permission gating
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-13 02:37:15 -04:00
chihlasm
2548a81549
fix: replace non-standard Tailwind opacity /12 with rgba in ScriptFilterBar
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-13 02:35:48 -04:00
chihlasm
4269aea015
fix: loadCategories error handling and invalid Tailwind opacity fractions
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-13 02:34:03 -04:00
chihlasm
69404e0e12
fix: help_text ordering and Input component usage in scripts components
...
- ScriptParameterField: extract error <p> from select/boolean input blocks and remove error prop from Input/Textarea components so all types render help_text before error via unified bottom rendering
- ScriptFilterBar: replace native <input> with shared <Input> component from @/components/ui/Input, preserving search icon via absolute positioning wrapper
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-13 02:18:13 -04:00
chihlasm
43bccf9af1
feat: add ScriptFilterBar with category tabs and debounced search
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-13 02:11:11 -04:00
chihlasm
dd36f335de
feat: add ScriptTemplateList with skeleton and empty states
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-13 02:10:46 -04:00
chihlasm
19fde445fe
feat: add TemplateCard component
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-13 02:10:25 -04:00
chihlasm
20fabe48a5
feat: add ScriptParameterForm with parameter grouping
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-13 02:09:59 -04:00
chihlasm
cb51940cdb
feat: add ScriptParameterField — all 7 field types
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-13 02:09:35 -04:00
chihlasm
86a9d3b977
feat: add ScriptPreview with live substitution and copy
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-13 02:09:15 -04:00
chihlasm
a88b9c5483
feat: add PowerShellHighlighter syntax highlighter
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-13 02:09:01 -04:00
chihlasm
054f3acd67
fix: reset loading flags on error in scriptGeneratorStore
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-13 02:06:06 -04:00
chihlasm
9d10aa90ad
feat: add scriptGeneratorStore Zustand store
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-13 02:01:02 -04:00
chihlasm
b1c39f52be
feat: add scriptsApi client
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-13 01:56:53 -04:00
chihlasm
9631f6f474
feat: add script generator TypeScript types
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-13 01:53:26 -04:00
chihlasm
4745f16481
docs: add script generator phase 2 implementation plan
...
14 tasks covering types, API client, Zustand store, 8 UI components,
page shell, routing, sidebar navigation, and smoke test.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-13 01:51:29 -04:00
chihlasm
8bc28be537
docs: refine Phase 2 script generator spec (rounds 5-8 fixes)
...
- Fix canGenerate/disabled prop propagation: ScriptParameterForm passes
disabled={!canGenerate} to ScriptParameterField (was inconsistent)
- Clarify validate() only checks required fields; client-side pattern/
length/range validation deferred to backend
- Fix generate/download button disabled logic: OR of isGenerating and
!canGenerate
- Clarify manual vs shared error rendering split for select/boolean
- Add disabled prop to select and checkbox element examples
- Add parameters_schema cast note in ScriptParameterForm description
- Add loadCategories() prerequisite note on loadTemplates()
- Add exactly four asterisks clarification for sensitive param masking
- Document default_values and validation_rules as unused Phase 2 fields
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-13 01:41:18 -04:00
chihlasm
93fb69d1de
docs: final spec fixes — resolve inputValue ownership, spinner mode, clear-search wiring
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-13 01:30:43 -04:00
chihlasm
9a37caf596
docs: update Phase 2 spec after review loop — fix field names, permissions, search coordination
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-13 01:26:24 -04:00
chihlasm
e875d73c0b
docs: add Script Generator Phase 2 frontend design spec
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-13 01:05:39 -04:00
chihlasm
7eae167597
feat(scripts): add Script Generator API endpoints and integration tests
...
Implements REST endpoints for script categories, templates, generation,
and generation history. Includes 12 integration tests covering auth,
CRUD, search/filter, parameter validation, and sensitive field redaction.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 00:30:17 -04:00
chihlasm
7a3f3b186c
feat(scripts): add migration 057 - script tables + AD User Management seed templates
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-13 00:26:03 -04:00
chihlasm
f1ed1fabbb
feat(scripts): add ScriptTemplateEngine with substitution, filters, and sanitization
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-13 00:17:14 -04:00
chihlasm
dba0605cec
feat(scripts): add Pydantic schemas for Script Generator
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-13 00:15:17 -04:00
chihlasm
7c9708fa6e
feat(scripts): add ScriptCategory, ScriptTemplate, ScriptGeneration models
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-13 00:14:01 -04:00
chihlasm
83b13fcd26
polish: use 'step' instead of 'node' in procedural editor validation hints
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-12 23:32:52 -04:00
chihlasm
45fb468db3
feat: add validation summary and Fix with AI to procedural editor
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-12 23:32:52 -04:00
chihlasm
f9315d2f60
feat: add data-step-id anchor to StepList for validation scroll-to
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-12 23:32:52 -04:00
chihlasm
b89d0859d4
feat: add validation state and validate() to proceduralEditorStore
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-12 23:32:52 -04:00