From 3cd67dc7f9f42b03c4740580bb374be93fa78895 Mon Sep 17 00:00:00 2001 From: Cole Bemis Date: Tue, 5 Nov 2024 16:24:11 -0800 Subject: [PATCH] Add github-spark extension MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Update raycast owner - Create Raycast extension - Merge pull request #778 from githubnext/drifkin/debugging - add admin override to fetch gists - Merge pull request #777 from githubnext/colebemis/add-loading-message - Merge pull request #776 from githubnext/autogrow-initial-input - Add a new loading message - Clean up - Make initial input grow - Merge pull request #774 from githubnext/terkelg/multiline-refine - Make input field grow - Merge pull request #773 from githubnext/terkelg/remember-input - Remember prompt input when switching between tabs - Merge pull request #757 from githubnext/terkelg/remove-tabbar1 - Merge branch \'main\' into terkelg/remove-tabbar1 - Add support for returning to the previous prompt (#767) - Disable variants when needed (#766) - Merge pull request #765 from githubnext/drifkin/bluetooth - iframe: enable bluetooth permissions and a few othwers - Encourage the use of specific libraries (#764) - Merge pull request #763 from githubnext/revert-762-colebemis/prompt-textarea - Revert "Make initial prompt input an autogrowing textarea" - Merge pull request #762 from githubnext/colebemis/prompt-textarea - Make initial prompt input an autogrowing textarea - Proxy missing icons (#761) - Fix multi-line imports (#760) - Merge pull request #753 from githubnext/terkelg/742 - Adjust particles and loading messages on mobile (#755) - Merge pull request #758 from githubnext/drifkin/post-keynote - allow everyone to use the model picker - restore full sign in page - remove tabbar1 code - Merge pull request #756 from githubnext/drifkin/access-for-capi-ppl - fix capi access - Merge pull request #754 from githubnext/drifkin/access-for-capi-ppl - hook up v1 capi, add more people - Validate KV JSON - Merge pull request #752 from githubnext/drifkin/loading - loading more loading messages... - Merge pull request #751 from githubnext/terkelg/model-history - Format - Add models to history on mobile and desktop - Update primer icons to get new models icon - Merge pull request #749 from githubnext/drifkin/clean-up-logging - fix lint - turn off almost all logging by default - remove tanstack devtools - Merge pull request #748 from githubnext/drifkin/more - fix lint - change sync debounce: 3s to 1.5s - don\'t allow admitted waitlist users on staging/preprod - Merge pull request #747 from githubnext/drifkin/default-tabs-to-code - disable logging telemetry to console - editor tabs: default to selecting a code file, if one exists - Merge pull request #741 from githubnext/drifkin/error-logging - better error forwarding - Merge pull request #746 from githubnext/drifkin/sparks-url - url: rename /gists/ -> /sparks/ - Merge pull request #745 from githubnext/drifkin/save-model - save which model was used for each history entry - add thatspaige to ff (#744) - Introducing spark.llmPrompt (#739) - Merge pull request #743 from githubnext/drifkin/unbranded-sign-in - temporarily remove branding from signin page - Merge pull request #740 from githubnext/drifkin/fix-css-updates - support adding/removing css stylesheets during css "hot reload" - Merge pull request #738 from githubnext/drifkin/more-telemetry - fix tests by making db init lazy - add some server-side telemetry - Tweak icon prompt (#737) - Merge pull request #735 from githubnext/terkelg/730 - Merge pull request #736 from githubnext/drifkin/disable-input-syncing - disable input syncing - Add initial state to seenKvEntries - Merge pull request #734 from githubnext/drifkin/direct - add ff for extended model picker - Merge pull request #733 from githubnext/terkelg/link-icon-fullscreen - Link to dashboard - Explicitly tell the model about which hero icons are available (#731) - Merge pull request #732 from githubnext/terkelg/tweak-border - Remove focus border - Update animated border. Use spark colors. - Merge pull request #729 from githubnext/drifkin/direct - Merge pull request #728 from githubnext/terkelg/fix-dashboard-link - add direct v1 & v2 support for debugging - Prevent flash when navigating to the dashboard - Merge pull request #727 from githubnext/terkelg/animate-presence - Remove double AnimatePresence - Merge pull request #726 from githubnext/drifkin/cli-parser-command - update cli - Merge pull request #725 from githubnext/terkelg/canvas - LOOOOOAAAD - Merge pull request #721 from githubnext/drifkin/no-snippy - Merge pull request #724 from githubnext/terkelg/loading-messages - Merge pull request #718 from githubnext/terkelg/unused-component - Make loading fun - Merge pull request #723 from githubnext/colebemis/split-recent-sparks - Merge pull request #719 from githubnext/terkelg/508 - prettier - Split recent sparks into favorite and recent sparks - Merge pull request #722 from githubnext/example-topics - Only show example topics if there aren\'t any sparks - explicitly disable snippy for CAPI calls - update model name (#720) - Make error message bold - style error pages - Remove next logo component - Merge pull request #716 from githubnext/multi-line-imports - fix multiline builtin imports - Merge pull request #715 from githubnext/terkelg/instant-feedback-mobile - Merge pull request #714 from githubnext/update-dashboard - Show metadata on drag - Center the dashboard - Adjust spacing - Fix some safari bugs - Remove unused imports - Update dashboard design - Merge pull request #713 from githubnext/drifkin/fix-tailwind-mime-type - fix vendored tailwind loading - Rename according to new panel naming convention - Merge pull request #712 from githubnext/terkelg/fix-inert-share-close - add failing multiline import test - Remove inert when clicking close icon - Merge pull request #711 from githubnext/terkelg/disable-history - Increase hisotry size - Hide and disable history when empty - Merge pull request #709 from githubnext/drifkin/vendor-tailwind - disable tailwind cdn console warning - vendor tailwind cdn instead of loading from cdn - Merge pull request #708 from githubnext/terkelg/disable-sidebar - Comment out sidebar code - Merge pull request #707 from githubnext/fix-renamed-imports - allow import renames for our special imports - Merge pull request #701 from githubnext/terkelg/drag-sidebar - Merge pull request #706 from githubnext/terkelg/empty-state - Add copy to empty prompts view - Merge pull request #705 from githubnext/terkelg/loader-overlay - Make glow border 2px wide - Add overlay during load - Merge pull request #704 from githubnext/terkelg/optimize-loader-glow - Move animation into data attribute - Merge pull request #700 from githubnext/add-waitlist-link - remove target _blank - update copy & link - Merge pull request #698 from githubnext/drifkin/multi-request-variants - variants via multiple requests - Merge pull request #702 from githubnext/colebemis/dashboard - Update dashboard design - Disable drag to open sidebar - Show waitlist link if user is not authorized - Merge pull request #666 from githubnext/sign-in-page - Merge pull request #699 from githubnext/terkelg/mobile-tab-order - Update formatting - Hide divider on mobile - Store mobile sort order separately from desktop sort order - Merge pull request #697 from githubnext/drifkin/disable-sid - temporarily disable auto-sid processing - Merge pull request #695 from githubnext/terkelg/data-badge-update - keep track of seen data entries - Fix data badge - Merge pull request #693 from githubnext/terkelg/pwa-safe-area2 - Tweak PWA spacing - Merge pull request #692 from githubnext/terkelg/pwa-safe-area1 - Remove comments - Try again with the correct syntax - Merge pull request #690 from githubnext/drifkin/defaults - Merge pull request #691 from githubnext/terkelg/pwa-safe-area - change default - PWA safe-area - hide the button too when there\'s an error - Merge pull request #689 from githubnext/terkelg/enable-tabbar2 - use signin page for error as well - enable tabbar2 by default - signin: move to own file; add callbackUrl support - Merge pull request #688 from githubnext/terkelg/badges - Use CSS to animate badge position - Fix badge not updating for logs - Merge pull request #687 from githubnext/terkelg/fix-z-index - Add containment - animate sign in page logo - Merge pull request #686 from githubnext/drifkin/fix-gen - fix new spark generation - Merge pull request #685 from githubnext/terkelg/store-tab-order - Store tab order - Merge pull request #683 from githubnext/terkeg/tab-notifications - Animate when a label appear - Fix story file - Add note about LLM panel - Add notification on data tab - Make tabs typesafe - Make dot border color match background of tabs - Merge remote-tracking branch \'origin/main\' into sign-in-page - Style the sign in page - Merge pull request #681 from githubnext/terkelg/tab-order - Reorder tabs and rename console to logs - Merge pull request #679 from githubnext/drifkin/telemetry - fix more build issues - add missing property - fix lint & disable local telemetry - Merge branch \'main\' into drifkin/telemetry - telemetry: set up some scaffolding, add one client event - Merge pull request #669 from githubnext/terkelg/tabbar2-panels-2 - Hide sidebar if tabbar2 is enabled - Remove unused import - Add prompts and console - Copy KVPanel over, and add new tabs - Add reminders to rename after migration - Fix tab colors - Merge pull request #668 from githubnext/terkelg/tabbar2-panels-1 - Port existing views to new tabbar - Remove log - Hide all notifications from tabs - Merge pull request #667 from githubnext/terkelg/tabbar2-feature-flag - Update storybook storie - Use correct icon for the iterate tab - Make tabbar 2 render behind a feature flag - Hide divider when there is no dyanmic tabs - Disable more button when it\'s empty - Use global hidden atom instead of prop drilling - Rename glow to loading - Add flag to utils - Move icon utility - Update comment - Merge pull request #665 from githubnext/terkelg/tabbar2-components - Create custom sign in page - Tabbar2 components - Parse token usage stats from OAI streaming events & re-enable CAPI model (#653) - Merge pull request #664 from githubnext/terkelg/fix-inert - Fix inert iframe - Merge pull request #663 from githubnext/default-layout - Remove unused import - Create a PageContainer component - Merge pull request #656 from githubnext/design-tweaks - Add spacing to feedback link - Merge pull request #654 from githubnext/button-tweak - Adjust padding in panel header - Add docs about using "plain" variant for icon buttons - Minor spacing and shadows polish - Make sure icon buttons don\'t shrink - Merge pull request #644 from githubnext/drifkin/fix-prompt-panel - fix llm call parsing that broke from rename - Support icon-only buttons (#643) - Create DropdownMenu component (#640) - Merge pull request #642 from githubnext/drifkin/telemetry - client: remove AppInsights plugins - Merge pull request #641 from githubnext/terkelg/chevron-model-picker - Add pointer events none - Merge pull request #639 from githubnext/terkelg/ref-bug - Fix bug after removing framer motion - Merge pull request #638 from githubnext/terkelg/logo-click - Make entire logo clickable - Merge pull request #637 from githubnext/terkelg/picker-css-animations - Use CSS over JS for butter smooth GPU animations - Merge pull request #636 from githubnext/terkelg/dashboard-tweak - Add back shiny model picker - Adjust headline size - Merge pull request #635 from githubnext/fix-tabs-301 - Tweak sizing - Use custom tabs to fix #301 - Merge pull request #634 from githubnext/terkelg/inert-iframe - Render iframe inert while popovers are visible - Remove log - Merge pull request #633 from githubnext/terkelg/picker-dashboard - Remove transition - Do not show shine effect on touch devices - Tweak selector on dashboard - Merge pull request #632 from githubnext/drifkin/fix-o1-from-dashboard - make it so o1-from-dashboard shows loading indicators - Merge pull request #631 from githubnext/drifkin/4o-always-for-titles - prevent the model picker from affecting title gen - Merge pull request #630 from githubnext/terkelg/dashboard-logo - Replace dashboard logo - Merge pull request #624 from githubnext/terkelg/model-picker - temporarily remove the CAPI version - Add model picker - Merge pull request #626 from githubnext/terkelg/outline-avatar - Merge pull request #628 from githubnext/drifkin/handle-failed-gen - failed gens: show toast, delete partial state - adjust header layout - Fix focus outline on avatar - Merge pull request #625 from githubnext/terkelg/pwa-icon - Add new icon - Merge pull request #623 from githubnext/terkelg/avatar-size - Merge pull request #622 from githubnext/terkelg/remove-old-history - Tweak avatar size - Remove unused components - Merge pull request #620 from githubnext/drifkin/fix-safari - don\'t use \`Upgrade-Insecure-Requests\` in dev mode - Merge pull request #614 from githubnext/terkelg/logo - Merge branch \'main\' into terkelg/logo - Add new logo + animations - Add new logo - Merge pull request #611 from githubnext/terkelg/revise-fullscreen-toolbar - Add some spark styling and a new approach to minimal UI mode - Merge pull request #610 from githubnext/terkelg/fix-icon-flicker - Reuse same icon to prevent flicker on iOS - Merge pull request #609 from githubnext/terkelg/tabbar-gesture-fix - Reset gesture if touch count change during gesture - Merge pull request #608 from githubnext/terkelg/tabbar-gesture-fix - uncomment guard - Merge pull request #607 from githubnext/terkelg/tabbar-gesture-fix - Make toolbar blend with top color - fix tap count - Merge pull request #606 from githubnext/terkelg/tabbar-gesture - Hide tabbar by default in fullscreen mode - Use 2 finger gesture to toggle tabbar - Merge pull request #605 from githubnext/terkelg/fullscreen-mode-banner - Add tiny toolbar in fullscreen mode on mobile - Merge branch \'main\' into terkelg/fullscreen-mode-banner - wip - Merge pull request #603 from githubnext/drifkin/ff - add feature flags to userInfo - Merge pull request #604 from githubnext/terkelg/selection - Remove else statement from 3x tap gesture - fix selection while dragging - Merge pull request #600 from githubnext/terkelg/fullscreen-mode - Tweak hit areas - Add fullscreen gesture - Merge pull request #592 from githubnext/colebemis/add-tooltip-1 - Use CAPI github-spark integration for o1-mini, o1-preview, and byom-c1 (#601) - Remove unused export - Add widget to fullscreen mode - Merge pull request #594 from githubnext/terkelg/590 - Comment out x-ray button - Delete runtime/vite.config.ts.timestamp-1729274946524-8e51bf9210917.mjs - Run prettier - Update tooltip story - Add Tooltip component that wraps Radix UI tooltip - Merge pull request #589 from githubnext/drifkin/runtime-system-prompt - runtime LLM calls: add system prompt - Merge pull request #588 from githubnext/drifkin-patch-1 - Create ownership.yaml - Support for additional models (#585) - Merge pull request #587 from githubnext/drifkin/env-var - update env vars - Merge pull request #586 from githubnext/drifkin/cli-fix - cli: fix redteam command - Create RadioGroup component (#584) - Merge pull request #583 from githubnext/terkelg/tweak-rai - Add border to RAI to make it stand out more - Merge pull request #523 from githubnext/colebemis/slider - Merge pull request #582 from githubnext/terkelg/fix-variants - Add button to open variants (hidden) - Update slider component - Add back variants logic lost during the tabbar changes - Merge remote-tracking branch \'origin/main\' into colebemis/slider - Merge pull request #581 from githubnext/terkelg/rai-disclaimer - Add to dashboard - Update copy to include AI - Increase hit area - Add disclaimer - Merge pull request #580 from githubnext/terkelg/color-selection - Remove log - fix selected color - Merge pull request #579 from githubnext/minor-ui-tweaks - Center the tabbar based on viewport and not workspace - Do not use muted color for labels - Merge pull request #578 from githubnext/terkelg/click-to-dismiss - Merge pull request #577 from githubnext/terkelg/toast - Click backdrop to close - Merge pull request #576 from githubnext/terkelg/prevent-initial-animation - Addd toast system - Make sure workspace doesn\'t animate in - Merge pull request #575 from githubnext/terkelg/fix-mask-safari - Fix icon jitter in Safari - Remove old SVG mask - Improve mask placement - Test different mask - Merge pull request #572 from githubnext/terkelg/preview-desktop - Do not dim on hover - Fix keyboard navigation - Fix linting, and scroll - Fade out workspace - Merge pull request #571 from githubnext/drifkin/baselines - add baselines support - Fix drag not being smooth - Fix for when index is out of range - Give calling component full control by exposing more callbacks - Fix hover on faded item, fix fade bug - Auto focus the name field when renaming a spark (#570) - Update params - Shorten hover delay - Fix cursor flickering by covering gap - Add hover state - Merge pull request #568 from githubnext/drifkin/more-security - for unauth, 404 to not leak info about what exists - Hide the share button when viewing a shared spark (#567) - Merge pull request #565 from githubnext/drifkin/rai-submission - add category-based IDs - default title to "untitled" if inappropriate - optionally let the model explain filtering - Merge pull request #564 from githubnext/terkelg/picker-drag-support - rewrite to use springs and skip native scroll - safety prompt tweaking - Merge pull request #563 from githubnext/terkelg/deps - Move to devDependencies - fix storybook - Merge pull request #562 from githubnext/terkelg/history-ui - Wheel picker improvements. Add desktop version. - move custom instructions into a user message... - Merge pull request #559 from githubnext/drifkin/some-security-todos - fix author info fetching: add back access token to session - Merge pull request #558 from githubnext/drifkin/some-security-todos - fix gist PATCH route - Merge pull request #557 from githubnext/drifkin/some-security-todos - actually allow runtime routes to be embedded as iframes anywhere - Merge pull request #556 from githubnext/drifkin/some-security-todos - fully broaden csp form-action to fix log in/out - add some App Insights domains to csp - add frame-src for production & staging - utils -> route-utils - package-lock has a change for some reason - remove partial kv.onUpdate impl - Merge pull request #555 from githubnext/drifkin/headers - add security headers - Merge pull request #554 from githubnext/drifkin/stop-doing-this-esbuild - fix esbuild install issue - Merge pull request #552 from githubnext/drifkin/fix-deps - try to fix weird esbuild issue - Merge pull request #551 from githubnext/drifkin/lockfile - update tanstack mask - routes regen\'d due to dep update - regen lockfile - Merge pull request #550 from githubnext/drifkin/sanitize-spark-id - validate sparkId - Merge pull request #547 from githubnext/drifkin/deps - Merge pull request #549 from githubnext/drifkin/fix-another-alert - Merge pull request #548 from githubnext/alert-autofix-3 - restrict proxied gh path - tweak rate limiting and cache client instead of reading each time - Fix code scanning alert no. 3: Missing rate limiting - update auth-related deps - Merge pull request #546 from githubnext/alert-autofix-2 - Update allowed deployments list - add allowlist for model deployments - Merge pull request #542 from githubnext/drifkin/prod-share-url-table - add share-urls container to prod cosmos - Merge pull request #541 from githubnext/drifkin/more-excel - Merge pull request #540 from githubnext/drifkin/fix-imports-again - cli: record local url in excel report for opening tests w/ output - allow importing spark imports across multiple import statements - Merge pull request #539 from githubnext/drifkin/excel - cli: generate excel doc of test results - Merge pull request #538 from githubnext/terkelg/llm-disabled-state - Keep opacity when in LLM state - Move border radius to outer element to make the LLM glow rounded too - Don\'t fade LLM buttons when loading - Merge pull request #537 from githubnext/terkelg/mobile-tweaks - Add padding below tabbar - Prevent blue "flash" in dark mode. - Merge pull request #536 from githubnext/terkelg/llm-gradient-optimization - Scope CSS animations - Merge pull request #535 from githubnext/disable-css-animation - test: remove global css animation - Merge pull request #534 from githubnext/terkelg/hotfix-xray-popover - Hotfix for x-ray mode - Merge pull request #533 from githubnext/terkelg/remove-xray-config - Remove xray alias (not available in runtime) - Misc. UX tweaks (#532) - Merge pull request #531 from githubnext/terkelg/runtime-tailwind - Expose same tailwind config to the sandbox tailwind - Merge pull request #530 from githubnext/terkelg/fork-button-color - Fix fork button color - Merge pull request #529 from githubnext/drifkin/gen-title - basic title generation - Merge pull request #527 from githubnext/terkelg/remove-tabbar-flag - Remove feature flag - Merge pull request #525 from githubnext/terkelg/header - Fix button size - Remove unused prop - Sync, move state to atoms - Center title and limit length - Make logo go to dashboard - Use theme colors for icon - Merge branch \'main\' into terkelg/header - Save changes - Remove unused import - Hide footer on desktop - Use storybook actions - Update app layout - Remove comment - Delete old files - Add SparkInfo - Add storybook playground for the dialog element - Remove old author code - Change markup to section - add favorite to type - Merge pull request #524 from githubnext/drifkin/load-offline-results - add ability to view offline test results in app - Create Slider component - Create Checkbox component (#522) - Merge pull request #521 from githubnext/colebemis/select - Set data-spark-state attr - Create Select component - Merge pull request #520 from githubnext/colebemis/textarea - Misc style adjustments - Create textarea component - Merge pull request #519 from githubnext/drifkin/rai-contd - rai: enable prompt-based safety filtering - Merge pull request #517 from githubnext/colebemis/ds-updates - Fix build errors - Update theme type - Merge remote-tracking branch \'origin/main\' into colebemis/ds-updates - Add old components but deprecate them - Update styles - Update docs - Merge pull request #518 from githubnext/drifkin-patch-1 - give Wattenberger access, not wattenberger - cli: allow test cases to provide custom instructions - Remove grid spacing - Merge stash - Add divider between header and icons - Merge pull request #515 from githubnext/terkelg/upgrade-deps - Remove notebooks - Design system updates - Merge pull request #516 from githubnext/drifkin/rai-improvements - add copyright/IP instructions to safety portion of prompt - cli: collect output for tests that should filter but don\'t - Undo automatic Storybook migration (we want to use the default doc-gen) - Move tanstack to client - Remove vitale - Merge pull request #514 from githubnext/drifkin/save-theme - Framer motion migration - Remove unused package - Update framer-motion - Upgrade storybook - add basic theme syncing - Make buttons use the invisible variant - Support children prop in IconButton - Merge pull request #513 from githubnext/drifkin/variants - add debug log to help diagnose #390 - Merge pull request #512 from githubnext/terkelg/untitled-remove - Remove "untitled" button - Merge pull request #511 from githubnext/terkelg/simplify-xray - Vitest no longer used, remove test commands - Animate xray filter - Use custom ease - Add outline when in x-ray mode - Fix top right radius - Remove unused xray css - Fix input styles - Remove old x-ray mode - Merge pull request #510 from githubnext/drifkin/fix-temperature - restore higher temperatures for variants - Merge pull request #495 from githubnext/terkelg/tabbar - Merge branch \'main\' into terkelg/tabbar - Use correct icon, tweak animation timing - Merge pull request #507 from githubnext/drifkin/fix-codespaces - add turbo.json to server - Implement mobile history picker - Merge pull request #505 from githubnext/drifkin/parallelize-cli - cli: parallelize redteam calls - Merge pull request #504 from githubnext/drifkin-patch-1 - Merge pull request #503 from githubnext/drifkin/github-spark-imports - add readme note about az login - use \`@github/spark\` prefix for imports - Merge pull request #501 from githubnext/drifkin/rewrite-debugging - fix import gist/* backwards compat - more gist->spark renames in runtime - extract code processing fns in prep for testing - Move bg down the tree - Fix PWA tabbar bg and popover menu position - Add padding in PWA mode - Merge branch \'main\' into terkelg/tabbar - Fix build - Use focus-visible instead of JS - Fix line animation - Merge pull request #498 from githubnext/drifkin/rename - Animate dots, fix selectors - Fix deletion of items - Improve a11y - Use RAF - Add min size to picker to prevent it from collapsing when empty - Fix last remaining edge cases - Fix bug in WheelPicker - Simplify wheel picker events - prompt: rename gist->spark to reduce model confusion - Merge pull request #497 from githubnext/drifkin/fix-create-root - encourage model to use \`Button\` over \`button\` - remove svelte, react native examples - fix createRoot examples - Merge pull request #496 from githubnext/drifkin/more-rai - add runtime as a dep of server - move OaiMessage type to shared as well - Merge branch \'main\' into drifkin/more-rai - move prompts to server; add server-side validation; update rai cli - Render custom views - Make picker work in both directions - Clean up - Improve callback system, make them happen in order - WIP - Optimize wheel picker - Fix dark mode and add outline - Remove unused file and fix linting - Add custom instructions - Remove logs - Tweak mobile mode - Theme panel - Merge pull request #494 from githubnext/drifkin/missing-dep - add missing octokit dep to server - Add backdrop and cancel button to refine - Merge pull request #493 from githubnext/drifkin/waitlist-integration - check waitlist access at login - Minor tweaks to variant picker - Typedoc fixes (#492) - Hide variants picker on selection - Merge branch \'main\' into terkelg/tabbar - Get variant view logic working - Merge pull request #467 from githubnext/drifkin/rai-prompt-adjusting - move cli out of server/src - rai prep - Switch runtime component (#491) - Fix storybook types - Comment out Theme type, importing broke dev server - Remove comments - Merge branch \'main\' into terkelg/tabbar - Fix dialog element - Remove #root style (#490) - Fix default color - Add basic theme support - Add WIP tabbar under feature flag - Hide border using negative margin on mobile - Adjust layout for tabbar design - Introduce feature flag - Add resize text-area hook - Tweak prompt to fit into new tabbar (tmp) - First draft of the tabbar layout - Add count label to Data tab (#485) - Misc. logs polish (#484) - Confirm spark deletion + misc. polish (#483) - Header tweaks (#482) - Upgrade storybook - Merge pull request #481 from githubnext/terkelg/fix-ref - Fix multiple refs on same element - Forward ref (#479) - Merge pull request #447 from githubnext/terkelg/components - Merge pull request #477 from githubnext/jaked/no-appinsights-debug-log - turn off app insights debug logging - Fix text color in x-ray mode - Tweak styles - Implement card sub components - Split up styles (not used yet) - Update docs - Update prompt - Hide buttons for now - Add center option to App - Merge pull request #476 from githubnext/jaked/empty-component-props - when generating component docs, skip types that don\'t have explicit props - Merge pull request #475 from githubnext/jaked/appinsights-no-console-log - turn off debug logging to appinsights - Remove base prop - Delete merge file - Merge pull request #472 from githubnext/terkelg/wheel-picker - Format - Merge branch \'main\' into terkelg/wheel-picker - Fix glob - Remove logs - wip - Add a couple users to the allow list (#469) - Merge pull request #468 from githubnext/drifkin/upgrade-authjs - update adapted code to match latest code in @auth/express - temporarily override @auth/core dep for testing - Merge pull request #466 from githubnext/jaked/instrument-fetch - telemetry for downstream fetch calls - Merge pull request #465 from githubnext/jaked/import-appinsights-first-again - import app insights FIRST first - Merge pull request #464 from githubnext/drifkin/can-write-api - add new \`gist.user.canWrite\` API - Merge pull request #463 from githubnext/drifkin/fork-button - add fork button for when viewing a share URL... - Merge pull request #462 from githubnext/jaked/import-appinsights-first - import app insights first - Merge pull request #461 from githubnext/jaked/fix-appinsights-import - fix app insights import - Merge pull request #460 from githubnext/jaked/maybe-fix-defaultClient - maybe fix defaultClient - Merge pull request #459 from githubnext/jaked/explicit-request-tracking - track HTTP requests explicitly - Merge pull request #458 from githubnext/jaked/appinsights-debugging - turn on some app insights debugging - Merge pull request #457 from githubnext/jaked/appinsights-env-var - fix app insights connection string env var - Merge pull request #456 from githubnext/jaked/appinsights-connection-strings - app insights connection strings - Merge pull request #455 from githubnext/jaked/appinsights - basic app insights setup - Merge pull request #454 from githubnext/drifkin/move-dep - move nanoid dep from root->server/ - Merge pull request #452 from githubnext/drifkin/sharing-refresh - add permissioned share links - Experiment with runtime styling lib - Merge branch \'main\' into terkelg/components - Update input to use Tailwind - Document colors - Prevent App name collisions - Strip imports to "./style.css" from the JS code (#448) - Organize CSS - Theme tokens, internal hooks, and basic styling - Setting crashed VSCode :shrug: - Merge pull request #445 from githubnext/drifkin/sharing-refresh - create \`share-urls\` table in dev cosmosdb - Add chrisreddington to the list of allowed users (#444) - Merge pull request #443 from githubnext/jaked/typedoc-plugin - test script for typedoc-plugin - build + config for typedoc plugin - Add support for console.error/warn (#434) - Merge pull request #442 from githubnext/dependabot/npm_and_yarn/rollup-4.22.4 - Merge pull request #430 from githubnext/dependabot/npm_and_yarn/vite-5.4.7 - Merge pull request #380 from githubnext/dependabot/npm_and_yarn/express-4.20.0 - Bump rollup from 4.21.3 to 4.22.4 - Merge pull request #441 from githubnext/drifkin/propagate-rai-prompt-filters - pass along model status codes properly from server - Merge pull request #437 from githubnext/drifkin/fix-xray-older-sparks - fix crash in sparks pre-xray analysis - WIP theming system - Improve storybook only css - Improve Tailwind extensions highlighting - Merge pull request #435 from githubnext/drifkin/x-ray-button-onclick - add comment and iffy support for analyzing components edited manually - provide descriptions of button \`onClick\`s in x-ray mode - add ids to every Button - Check if global is available - Center container - Move Storybook CSS - Add back Tailwind - do not auto open Storybook - Merge pull request #433 from githubnext/terkelg/prettier - Initial format - Add perttier import and tailwind organizer plugins - Merge pull request #432 from githubnext/jaked/swap-action-again-again - no indents in block for swap action - Merge pull request #431 from githubnext/jaked/swap-action-again - fix line folding in swap action - Bump vite from 5.4.5 to 5.4.7 - Merge pull request #429 from githubnext/jaked/swap-action - action to swap preproduction with production - Merge pull request #428 from githubnext/jaked/staging-sandbox - use copilot-gist-staging as the sandbox origin for spark-staging - Merge pull request #427 from githubnext/jaked/preproduction-cosmosdb-role - add cosmosdb role for preproduction slot - Merge pull request #426 from githubnext/jaked/preproduction-slot - add a preproduction slot and deploy to it - Merge pull request #425 from githubnext/jaked/spark-staging - rename copilot-gist-staging -> spark-staging - Merge pull request #424 from githubnext/jaked/staging-custom-domain-again-again - bind certificate in hostname binding for staging - Merge pull request #423 from githubnext/jaked/staging-custom-domain-again - don\'t reuse wildcard hostname for staging - Merge pull request #422 from githubnext/jaked/staging-custom-domain - use wildcard domain / cert for staging - Merge pull request #421 from githubnext/jaked/no-iframe-redirect - fetch runtime URL explicitly instead of redirecting iframe - Merge pull request #414 from githubnext/jaked/improve-render-time - Merge pull request #417 from githubnext/drifkin/iframe-permissions - add trailing comma - add more permissions - Merge pull request #413 from githubnext/jaked/fix-codemirror-cursor-glitch - flushSync to avoid cursor glitch - improve render time to avoid CodeMirror cursor glitch - Granting access to a few folks (#412) - Merge pull request #411 from githubnext/drifkin/rzhade3-access - grant access to @rzhade3 - Merge pull request #410 from githubnext/jaked/runtime-signature - review feedback - authenticate runtime with signature - Merge pull request #406 from githubnext/jaked/cross-site-session-token-again - permit cross-site logged-in requests, again - Merge pull request #405 from githubnext/jaked/cross-site-session-token - permit cross-site logged-in requests - Merge pull request #404 from githubnext/jaked/fix-runtime-assets-url - fix runtime assets url - Merge pull request #403 from githubnext/terkelg/fix-history-typing - Prevent history from going crazy while typing - Merge pull request #402 from githubnext/jaked/revert-3f76202c - revert 3f76202c (allow cross-origin requests for runtime assets) - Merge pull request #401 from githubnext/jaked/runtime-cors - allow cross-origin requests for runtime assets - Merge pull request #400 from githubnext/jaked/drop-managed-certificate - drop managed cert - Merge pull request #399 from githubnext/jaked/wildcard-hostname-binding - use *.githubnext.com in App Service hostname binding - Merge pull request #398 from githubnext/jaked/per-spark-sandboxes - per-spark sandbox origins - Merge pull request #397 from githubnext/jaked/unrevert-bd7b37aa - unrevert bd7b37aa (preview iframe uses \`src\` instead of \`srcDoc\`) - Merge pull request #396 from githubnext/drifkin/instruct-importing-hooks - tell model to import via \`gist/hooks\` - Merge pull request #394 from githubnext/drifkin/fix-logs-crash - fix logs panel crashing app from logging an error - Merge pull request #393 from githubnext/drifkin/rename-to-models - rename Prompts -> Models - add iframe camera/mic/gyro permissions - Merge pull request #392 from githubnext/terkelg/prompts - Style prompts panel - Merge pull request #389 from githubnext/terkelg/kv - Super basic KV - Merge pull request #388 from githubnext/jaked/revert-bd7b37aa - temporarily revert bd7b37aa (preview iframe uses \`src\` instead of \`srcDoc\`) - Merge pull request #387 from githubnext/jaked/iframe-src - preview iframe uses \`src\` instead of \`srcDoc\` - Remove unused component - Merge pull request #386 from githubnext/terkelg/code-preview-split - Merge pull request #383 from githubnext/terkelg/move-logs - Improve responsiveness on small viewports - Merge pull request #385 from githubnext/terkelg/text-selection - Fix #364 - Merge pull request #384 from githubnext/terkelg/sidebar-open-state - Remember sidebar open state - Remove comments - Show logs in sidebar panel (mvp) - Merge pull request #382 from githubnext/drifkin/tweaks - tweaks - Merge pull request #381 from githubnext/drifkin/button-triggering-ai - separate out ActivityManager so it can be typed - llm loading state, but need to refactor for types - Bump express from 4.19.2 to 4.20.0 - Merge pull request #369 from githubnext/terkelg/runtime-components - Fix linting - Remove logs - Fix issue with KV hook - Tweak icon prompt - Use :where for lowest possible specificity - Document internal state (disable for now) - Merge branch \'main\' into terkelg/runtime-components - format - Initial components - Merge pull request #379 from githubnext/jaked/wildcard-cert-from-keyvault-again - use cert from keyvault for spark.githubnext.com, again - Merge pull request #378 from githubnext/jaked/revert-594ba76e - revert 594ba76e (use cert from keyvault for spark.githubnext.com) - Merge pull request #377 from githubnext/jaked/wildcard-cert-from-keyvault - use cert from keyvault for spark.githubnext.com - Merge pull request #376 from githubnext/drifkin/css-inject-order - let model tailwind classes override our styles - More tweaking - Merge branch \'main\' into terkelg/runtime-components - Styling primitives - Do not clean build - Merge pull request #375 from githubnext/jaked/sandbox-tailwind - support Tailwind styles in sandbox via Tailwind CDN - Remove tailwind and use css modules - Fix linting - Remove logs - Add some basic dark/light mode styles - Add example without card component - Minor tweaks - Add example to KV hook - update prompt - Use Spark instead of Gist - Update hook to be async - Skip hooks and fix case where component names with from files with multiple exports didn\'t show up in docs - Merge branch \'main\' into terkelg/runtime-components - Include hooks in TypeDoc - Import hooks from \'hooks\' namespace - Add theme switching logic to parent App - Merge pull request #373 from githubnext/jaked/component-props-prompt-again - put component types in prompt, again - Merge branch \'main\' into terkelg/runtime-components - Merge pull request #372 from githubnext/terkelg/370 - Fix 370 - Add hooks (not "hooked" up yet) - Add initial placeholder components - Merge pull request #368 from githubnext/drifkin/different-revert - Revert "put component prop types in prompt" - Merge pull request #366 from githubnext/jaked/dev-dep-build - client dev task depends on runtime build - Merge pull request #363 from githubnext/drifkin/fix-imports - add missing \`multiline\` indicator to regex - Merge pull request #365 from githubnext/jaked/component-props-prompt - put component prop types in prompt - broaden "is this a module?" heuristic - Merge pull request #361 from githubnext/terkelg/editor-split-view - Prevent code from being hidden behind preview - Remove scroll bounce from code editor - Merge pull request #360 from githubnext/drifkin/image-auth - don\'t require auth for icons to try to avoid pwa permission issues - Merge pull request #359 from githubnext/drifkin/prettier-ignore - add .prettierignore - fix manifest href - Merge pull request #358 from githubnext/terkelg/pwa-icon-png - Update PWA icon - Merge pull request #357 from githubnext/drifkin/manifest - fix manifest.json when behind auth - Merge pull request #355 from githubnext/jaked/import-gist-components - .prettierrc so VS Code doesn\'t use its own config - Merge pull request #356 from githubnext/terkelg/runtime - Format component docs - prettier - Add placeholder components and setup Storybook - let the model import from gist/components - Merge pull request #354 from githubnext/jaked/fix-dev-deps - use \`concurrently\` to avoid a turbo + tailwind bug - Split up width and height - Fix auto scroll to end - Resize support - WheelPicker wip - Fix gist.llm API to support single chat message object (#352) - Merge pull request #350 from githubnext/drifkin/prettier - enforce prettier on ci - Merge pull request #347 from githubnext/terkelg/styles - Scope layout animations - remove log - Organize CSS, split into multiple files - Merge pull request #346 from githubnext/drifkin/allow-popups - sandbox: allow popups - Merge pull request #344 from githubnext/terkelg/refactor-isnarrow - Merge pull request #345 from githubnext/terkelg/rename-workspace-layout - Use atom for isNarrow - Introduce a \`kv.delete\` API (#342) - Rename workspace layout file - Merge pull request #343 from githubnext/terkelg/zoom-icons - Update xray button to use our IconButton component - Remove padding - Add new zoom button - Fix glow on lightbulb icon - Add PWA media query to Tailwind config - Merge pull request #337 from githubnext/terkelg/share-darkmode - fix outline and darkmode - Merge pull request #336 from githubnext/terkelg/share - Remove artifical loading timeout, prevent flicker on super fast loads - Adding user (JC\'s wife for dogfooding) - Update docs - Pass userInfo through variants - Share - Update typedoc config - Adding compiler/lint suppression - Fixing typedoc build - Add gist.user API to runtime (#335) - Merge pull request #333 from githubnext/jaked/component-prompt - Merge pull request #332 from githubnext/drifkin/fix-button - fix generating variants when clicking on "Let\'s go!" - Merge pull request #331 from githubnext/terkelg/input-radius - generate component descriptions in prompt from doc comments - Fix corners - Merge pull request #330 from githubnext/terkelg/update-icon - Improve masked icons support on Android - Merge pull request #328 from githubnext/terkelg/variants-loader - Fix overflow on mobile - Merge pull request #327 from githubnext/jaked/turbo - Improve touch experience - Add placeholder loader to variants - internal packages should be non-dev deps - loose env mode to pass through secrets etc. for Codespaces - use turbo for proper package dependencies - Merge pull request #326 from githubnext/terkelg/example-docs - Add example docs - Merge pull request #323 from githubnext/terkelg/dashboard - Merge pull request #322 from githubnext/terkelg/icon - Merge pull request #324 from githubnext/terkelg/variant-icon - Merge pull request #325 from githubnext/terkelg/text-selection - Make user-select opt out instead of opt in - Merge pull request #319 from githubnext/jaked/fix-style-imports - Show variant icon - add new homescreen logo - Hack the dashboard input to make it look a bit more like the prompt - Add some colors - Merge pull request #320 from githubnext/drifkin/fix-codespace-build - fix codespace build - unrevert 7abbaf09 (rename copilot-gist.githubnext.com to spark.githubnext.com) - separate style tags per file so \`@import\` works - Merge pull request #316 from githubnext/fixr-runtime-storybook - Rename dist to build - Merge pull request #315 from githubnext/drifkin/x-ray - add placeholder x-ray mode toggle - revert 7abbaf09 - Merge pull request #314 from githubnext/jaked/spark.githubnext.com - rename copilot-gist.githubnext.com to spark.githubnext.com - Merge pull request #313 from githubnext/terkelg/fix-dashboard - Fix dashboard on mobile - Merge pull request #310 from githubnext/storybook - Merge branch \'main\' into storybook - Merge pull request #308 from githubnext/jaked/runtime-tailwind - Merge pull request #311 from githubnext/terkelg/remove-storybook-addons - Remove unused storybook addons - Add Storybook to runtime - Remove unused import - Tailwind setup for runtime - Merge pull request #299 from githubnext/react-components - Merge pull request #306 from githubnext/terkelgcode-preview-toggle-fix - Remove leftover debug code - Merge pull request #305 from githubnext/terkelg/clean-up - Clean up Storybook stories - Merge pull request #302 from githubnext/terkelg/alignment - Fix alignment with logo - nicer handling of in runtime - more flexible react import rewrites - Merge pull request #300 from githubnext/terkelg/new-layout - Merge branch \'main\' into terkelg/new-layout - expose React / ReactDOM on window.gist and use them - fix runtime stuff for React - Implement new layout into app - Add keyboard navigation - implement mobile layout - Style drag handle - New layout with connected sidebar - Show full previews and prompt - Fix scroll and panel overflow - wip markdown react component - Merge pull request #297 from githubnext/preview-variant-simple - Show full previews and prompt - Merge pull request #296 from githubnext/terkelg/mobile-zoom-fix - Fix scroll and panel overflow - Merge pull request #295 from githubnext/terkelg/mobile-zoom - Add zoom toggles - Add id to layout key - Add labels on desktop - Tweak defaults - Implement new reusable toggle group - Update bg color - Scale down preview on mobile - Merge pull request #294 from githubnext/title-tweaks - Experiment with radix and framer motion - Updating action button labels - Updating the copy on the topic form - Do not clip overflows in panel header - Make main panel appear above sidebar panel - Fix initial scroll fade - ⚡️ (#293) - Size buttons based on viewport - Merge pull request #291 from githubnext/terkelg/dark-mode-tweaks - Fix dark mode - Merge pull request #290 from githubnext/terkelg/main-panel-header - Show prompt on large enough screens - Merge branch \'main\' into terkelg/main-panel-header - Fix linting/build - Animate open - Tweak edge cases - Add title to main panel - Merge pull request #259 from githubnext/dependabot/npm_and_yarn/micromatch-4.0.8 - Merge pull request #288 from githubnext/drifkin/fix-server - Merge pull request #287 from githubnext/drifkin/fix-bg - fix loading new-style URLs directly from server - fix transparent backgrounds in fullscreen mode - Merge pull request #279 from githubnext/drifkin/router-continued - finish integrating router; make default - Add buttons to toolbar - Rename toolbar to panel header - Custom preview/code toggle - Combine button components - Merge pull request #285 from githubnext/terkelg/upgrade-storybook - Update storybook - Merge pull request #281 from githubnext/terkelg/contain-strict - Merge pull request #280 from githubnext/terkelg/theme-color - Merge pull request #282 from githubnext/terkelg/optimize-header-space - Move sync and share to top level toolbar - Fix framer motion bug in send icon - Remove leftover log - Simplify mobile "experiments" label - add alt text to logo - Hide Copilot to free up more space on mobile - Add strict containment to panels - add theme color - Merge pull request #276 from githubnext/terkelg/main-panel - Merge pull request #277 from githubnext/terkelg/touch-zoom - Disable user scale to prevent zooming on mobile when focusing text inputs - Merge branch \'main\' into terkelg/main-panel - First iteration of the main editor panel - Tweak header - Prevent scroll bounce to make it the app feel more native - align logo on narrow devices - Align logo better - Remove depricated animate - Fix safari render issue - Merge pull request #273 from githubnext/tweak-header - Merge branch \'main\' into tweak-header - Tweak header - Tweak header - Merge pull request #272 from githubnext/terkelg/disable-elastic-scroll - Merge pull request #271 from githubnext/terkelg/align-logo-mobile - Prevent scroll bounce to make it the app feel more native - align logo on narrow devices - Merge pull request #270 from githubnext/terkelg/fix-safari-layout - Align logo better - Remove depricated animate - Fix safari render issue - Merge pull request #268 from githubnext/terkelg/turn-off-the-lights - Enable dark mode - Merge pull request #266 from githubnext/integration - Fix linting - Fix storybook, remove logs - Style cursor, focus state and minor bugs - Rename isMobile to isNarrow - Adjust breakpoint, tweak spacing - Integrate new layout component - Merge pull request #264 from githubnext/terkelg/resize-panel - Style drag handle - Style drag handle, make it a reusable component - Fix text-selection during drag on touch, and improve component API - Add css containment - Main layout component - Merge pull request #263 from githubnext/drifkin/router - start integrating router - Update the gist.llm API to support structured output and accept an array of chat messages (#260) - Bump micromatch from 4.0.7 to 4.0.8 - Merge pull request #258 from githubnext/drifkin/llm-panel - more lint fixing - fix linting - fix llm streaming not working because of sandboxing - first pass at an llm panel - Merge pull request #257 from githubnext/terkelg/codemirror-dark - Add theme switching to codemirror - Merge pull request #256 from githubnext/terkelg/responsive-layout - Add panel component - Merge pull request #251 from githubnext/terkelg/history-hover - Add kelseyrae to the list of allowed users (#255) - Main layout component - Merge pull request #254 from githubnext/jaked/fix-history-scroll - fix cut-off history list - Merge pull request #253 from githubnext/drifkin-patch-1 - Updates from editor - grant @damovisa access - Merge pull request #252 from githubnext/jaked/generate-titles - generate app title from initial topic - Align with panel headers - Add pointer enter/leave to history - Merge pull request #248 from githubnext/terkelg/application-shell - Hide toggle sidebar button - Rename feature flag - Add new WIP history component behind feature flag - Merge pull request #246 from githubnext/jaked/gist-list-perf - improve gist list render perf - Open gists in fullscreen mode when selected from the recent gists list (#247) - Merge pull request #244 from githubnext/drifkin/fix-messaging-iframe - fix sending messages to now-sandboxed iframe - Merge pull request #242 from githubnext/drifkin/esm.sh - switch to esm.sh for microapp deps - Basic styling of existing markup - Remove duplicated attributes - Merge pull request #240 from githubnext/terkelg/history-scroll-end - Merge branch \'main\' into terkelg/history-scroll-end - Simplify logic - Merge pull request #239 from githubnext/drifkin/readme - merge READMEs into one and cleanup - Merge pull request #238 from githubnext/drifkin/iframe - start locking down the SandboxPreview iframe - Merge pull request #237 from githubnext/jaked/runtime-package - Rename ref - put runtime in its own package with its own deps - Improve scroll UX. Auto scroll to bottom on new entries - Merge pull request #235 from githubnext/@terkelg/ui-tweaks - Fix blur showing when you can\'t scroll - Improve dark mode for timeline - Merge pull request #218 from githubnext/terkelg/216 - Remove meta key and only suppot ctrl - Merge pull request #230 from githubnext/terkelg/history-panel - Merge pull request #234 from githubnext/jaked/fix-signin - remove stray express 5 deps (fix signin) - Merge pull request #233 from githubnext/jaked/marketplace-models - discourage marketplace models + fix llama model names - add arg to \`gist.llm{,Streaming}\` to call marketplace model - Merge pull request #232 from githubnext/drifkin/dummy-variants - merge in files that haven\'t streamed in yet - create dummies properly & fill in partial arrays too - create dummy variants to show asap - Merge pull request #224 from githubnext/drifkin/render-only-full-files - switch approach so it works with variants as well - Merge pull request #231 from githubnext/jaked/drop-client-model-calls - drop client-side model calling, always call through server - Test with history manager data - Merge pull request #229 from githubnext/jaked/api-cleanup - cleanups around REST API - Fix scrolling issues - Add interaction states - Merge pull request #227 from githubnext/jaked/more-gists - show 100 gists in gist list - Merge pull request #226 from githubnext/jaked/drop-spn-nextrnd_deploy - drop CosmosDB access for spn-nextrnd_deploy - Remove unused imports - Calculate size on scroll to handle edge cases - Merge pull request #221 from githubnext/jaked/favorite-gists - Clean up - Add wip variants timeline component - don\'t render partial files while streaming - Merge pull request #223 from githubnext/drifkin/tmux-locking - fix devcontainer script locking - Merge pull request #222 from githubnext/jaked/spn-nextrnd_copilot_gist_codespace - fix build, need explicit immer - oops fix resource name - add CosmosDB access for spn-nextrnd_copilot_gist_codespace - favorite gists - Merge pull request #219 from githubnext/drifkin/tmux-codespaces - use tmux to run devservers in Codespaces - Make scroll component work for x and y - Do not show fade if nothing overflows. Expose params to control fade threshold. - Prevent default for meta key - Merge pull request #217 from githubnext/drifkin/sparse-history - replace state while streaming instead of tracking everything - fix id collisions - Merge pull request #215 from githubnext/drifkin/revision-history - run vitest separately for the client - first pass at providing refinement history to model - track refinement instructions on history entries - Merge pull request #214 from githubnext/terkelg/buttons - Fix space in loading mode - Tweak colors in dark mode - Use CSS over JS for tap animation - Use correct icon - Do not animate outline - Use custom prompt buttons for undo/redo - Add active state and shine option - Adjust for dark-mode - Support primer dark mode - Add shine option and active states to button - Merge pull request #213 from githubnext/drifkin/markdown-api - add gist.markdownToHtml() api - Custom chevron icon that animates - Rename icons and move to files - Remove unused story - Merge pull request #210 from githubnext/terkelg/lightbulb-icon - Use correct hover color - Add AI button to toolbar - Style ouline similar to Primer - Disable shine on disabled buttons and rename - Remove default prop - Tweak timing - Add css contain - Merge pull request #208 from githubnext/terkelg/prompt2 - Remove unused constant - Hide new toolbar behind feature flag - Simplify scroll options - Stagger prompt variants - Merge pull request #207 from githubnext/jaked/token-version - oops fix lint - force sign-out, don\'t just redirect to sign-out button - store token version and force signout if token is stale - revert "correct serverBaseUrl in staging / production" - correct serverBaseUrl in staging / production - Merge pull request #205 from githubnext/jaked/preview-renderer-injected.ts - fix build! - Darken backdrop - Tweak min variant size - Add transition - fix build - transpile + bundle injected iframe code - Update copy - Remove divider - Merge pull request #204 from githubnext/jaked/gist.octokit.request - fix build? - fix build - Render variants with progerssive blur, move to new component - Fix button shine - Merge branch \'main\' into terkelg/prompt2 - Remove unused story - Implement content view for prompt - expose gist.octokit.request for gists to access the GitHub API - Add submenu to prompt input - Enable dark and light mode in preview - Add new overflow scroll component with masking - Merge pull request #203 from githubnext/drifkin/fix-scrolling - fix HistoryList scrolling - Merge pull request #202 from githubnext/jaked/no-local-auth - turn off local auth for cosmosdb - Merge pull request #201 from githubnext/jaked/no-connection-string - drop COSMOSDB_CONNECTION_STRING - Merge pull request #200 from githubnext/drifkin/fix-css - fix css injection - Merge pull request #199 from githubnext/jaked/cosmosdb-config - env vars for CosmosDB prod / dev config - Merge pull request #190 from githubnext/terkelg/toggle-prompt - Hide drang handle in variant view - Prevent fullscreen overlay from capturing all pointer events - Merge pull request #196 from githubnext/drifkin/safari-clipboard - fix share button on safari - Merge pull request #195 from githubnext/drifkin/react - add react support - Merge pull request #192 from githubnext/drifkin/git-ignore - Update prompt + sandbox to support CSS @imports (#191) - .gitignore: ignore compiled config files - assign CosmosDB contributor role to azure-next-rnd-contributor - Fix linting - Merge branch \'main\' into terkelg/toggle-prompt - Add drag handle and move components to their own files - give db access to spn-nextrnd_deploy (temporary) - make prompt render above preview - remove button from fullscreen preview - Make preview edge to edge - cosmosdb role assignments for web app - oops comment out staging cert dep and update bug link - comment out staging certificate - Merge pull request #189 from githubnext/jaked/system-identities - use system-assigned managed identities for web app - Merge pull request #188 from githubnext/jaked/cosmosdb-dev-no-local-auth - use managed identity for CosmosDB (staging only) - Merge pull request #185 from githubnext/drifkin/4o-mini - add 4o-mini support - Merge pull request #184 from githubnext/jaked/webapp-managed-identities - managed identities for webapp + cosmosdb access - Merge pull request #182 from githubnext/jaked/cosmosdb-role-assignments - attempt a CosmosDB role assignment - Merge pull request #181 from githubnext/drifkin/auto-sync - first pass at auto-syncing - Merge pull request #179 from githubnext/jaked/custom-domain-terraform - add \`copilot-gist-staging.githubnext.com\` - add Azure resources for \`copilot-gist.githubnext.com\` - Merge pull request #175 from githubnext/jaked/token-refresh - Merge pull request #174 from githubnext/drifkin/gist-title-author - add byline to make forking more obvious - refresh GitHub access tokens - remove old comment - Merge pull request #171 from githubnext/drifkin/increase-request-body-limit - increase limit on body request size to 10mb - Merge pull request #168 from githubnext/drifkin/sync-status - fix typescript error in tests - add linting for forgetting to put \`await\`s - fix sync status bug - Merge pull request #162 from githubnext/lostintangent/hide-preview-sandbox - Hide the preview on mobile when the user toggles the code view - Merge pull request #157 from githubnext/edit-kv - Merge pull request #161 from githubnext/lostintangent/hide-feedback-link - Hide the \'give feedback\' link on devices less than 600px wide - Merge pull request #160 from githubnext/terkelg/extend-theme-screens - Extend theme screens in tailwind config - Merge pull request #158 from githubnext/terkelg/toolbar - Merge pull request #159 from githubnext/terkelg/change-share-button - Remove unused import in MainViewToolbar.tsx - Change the Share button to an icon button - Merge branch \'main\' into terkelg/toolbar - Remove old fullscreen button - Add fullscreen button to toolbar - Increase glow - quick and dirty KV edit - add wip toolbar - Merge pull request #156 from githubnext/lostintangent/add-rename-gist - Gist renaming - Merge pull request #152 from githubnext/lostintangent/update-save-button - Update to main - Merge branch \'main\' into lostintangent/update-save-button - Merge pull request #155 from githubnext/lostintangent/add-empty-kv-store-message - Add message for empty KV store - Merge pull request #154 from githubnext/drifkin/kv-panel - fix React key warning for KvPanel - update "collapse history" to "collapse sidebar" - first pass at KV panel - Merge pull request #153 from githubnext/lostintangent/default-history-collapse - Fix lint warning - Collapse the history panel by default on mobile - Merge pull request #151 from githubnext/lostintangent/add-delete-gist - include partition key in gist delete call - Update save button to fork gist when owned by different user - Add delete gist functionality to the topic form - Merge pull request #150 from githubnext/drifkin/misc-fixes - tweak devcontainer browser prompts - disable dark mode logo until we have a proper dark mode - fix auth when using a Codespace w/ desktop vscode - Merge pull request #149 from githubnext/terkelg/storybook - Fix Storybook view height - Merge pull request #147 from githubnext/lostintangent/add-collapse-button - Merge pull request #148 from githubnext/lostintangent/fix-sandbox-console-visibility - Fixed build error - Hide the console when in preview-only mode - Add a button to collapse and expand the history panel - Merge pull request #144 from githubnext/drifkin/fork - first pass at forking Gists - Merge pull request #143 from githubnext/drifkin/share-button - rework share button - Merge pull request #142 from githubnext/drifkin/dashboard-first-pass - first pass of recent gists list - Merge pull request #141 from githubnext/drifkin/fix-syncing - only allow updating your own gists + fix staging - Merge pull request #140 from githubnext/drifkin/cosmos-syncing - first pass at saving gists via cosmos instead of classic gists - Update README.md - Merge pull request #138 from githubnext/no-more-pages-deploys - disable deploys to pages - Merge pull request #137 from githubnext/drifkin/cosmos-terraform - keep using deprecated \`partition_key_path\` - tweak cosmos tf - Merge pull request #134 from githubnext/lostintangent/update-toggle-order - Merge pull request #136 from githubnext/lostintangent/update-prompt - Delete client/vite.config.ts.timestamp-1722963880948-93a7e34a50f0b.mjs - Update the prompts to instruct the model to create nicer UIs by default - Merge pull request #135 from githubnext/drifkin/readme-updates - some README updates - Make preview-mode the default layout - Merge pull request #131 from githubnext/terkelg/variant-selection - Merge pull request #133 from githubnext/drifkin/codespaces-signin-redirect - automatically show signin screen when running in codespaces - Merge pull request #132 from githubnext/drifkin/fix-cors-codespaces - fix CORS issue in web-based Codespaces/CW - Merge pull request #129 from githubnext/drifkin/fix-npm-i-codespaces - Support interactions on previews - use suggestions from @cmbrose - Configure Storybook for Primer - Merge pull request #130 from githubnext/terkelg/prompt-loading - Merge branch \'main\' into terkelg/prompt-loading - Tweak timing - Add loading glow and border - make npm install more reliable in Codespaces - Remove bg opacity transition - Merge pull request #128 from githubnext/terkelg/backdrop - Close when clicking the backdrop/outside - Merge pull request #127 from githubnext/terkelg/prompt-auto-height - Update stories with new arguments - Wait for submit buttons to disappear before showing cancel button - Merge branch \'main\' into terkelg/prompt-auto-height - Fix transitions - Test staggering in story - expose cancel callback - simplify for now - remove bg pulse, psudo element prevented interactions - create dummy .env file to let server start - fix sign in URL - oops, update the redirectProxyUrl to actually be staging - Merge pull request #126 from githubnext/drifkin/codespaces-auth - try to get auth working in Codespaces - Animate content appearing - Adjust prompt to better support large screens by defining a max width and make the variant view fit the content - Update README.md - Merge pull request #122 from githubnext/jaked/sync-gist-server-side - Merge pull request #121 from githubnext/terkelg/input-submit-buttons - when logged in, sync gists via server - Rename button component - style the primary button and add shortcut to toggle mode - Merge pull request #120 from githubnext/jaked/github-api-proxy - GitHub API proxy - Merge pull request #119 from githubnext/terkelg/fix-and-disable-darkmode - Merge pull request #118 from githubnext/terkelg/fix-progressive-blur - Fix dark mode and disable auto color scheme - Take border into account - Fix progressive blur - Merge pull request #117 from githubnext/terkelg/variants-aspect-ratio - Fix aspect ratio - Merge pull request #116 from githubnext/terkelg/input-backdrop - add min height to input - Merge branch \'main\' into terkelg/input-backdrop - Add backdrop and use DOM order instead of z-index - Merge pull request #115 from githubnext/terkelg/input-disable-empty - Make the input a controlled input. Hide buttons if no prompt is given. - Expose placeholder prop - Merge pull request #114 from githubnext/integrate-new-inputs - initial integration of new prompt input components - Merge pull request #113 from githubnext/jaked/cosmosdb - initial cosmosdb setup - Merge pull request #112 from githubnext/jaked/cosmosdb-connection-string - add environment variable for CosmosDB connection string - Merge pull request #111 from githubnext/jaked/cosmosdb-terraform - use \`userId\` as partition key - cosmosdb terraform setup - Merge pull request #110 from githubnext/terkelg/input-components - regen package-lock.json - Merge branch \'main\' into terkelg/input-components - remove old preview.ts file - Update storybook and remove unused package - Merge remote-tracking branch \'origin/main\' into terkelg/input-components - Scale down previews - fix html pasted in the wrong place (brainfart) - fix dark mode - fix linting - Use react keypress lib with types - add model key to non-staging as well - Merge pull request #108 from githubnext/drifkin/add-env-var - add model key to terraform - use base URL for model calls as well - set base URL differently for azure v. local dev - fix linting issue - fix bad merge; don\'t require auth to hit auth routes - Merge pull request #107 from githubnext/drifkin/put-bundle-behind-auth - restrict who can log in and be served the FE bundle - Improve dark-mode for prompt input - Add generating message in loading state - Only trigger animation on mouse up - add fun click animation to button - Merge pull request #106 from githubnext/drifkin/temporarily-disable-azure - temporarily disable serving the project on our wip azure instance - deploy package with only server deps in \`node_modules\` - upload deploy package as an artifact - Add styled variant previews (placeholder) - Call different props based on action performed - Add PromptVariant - Configure VSCode for tailwind to fix linting - put \`node_modules\` in deploy package - use org secrets for Azure deploy - Merge pull request #105 from githubnext/jaked/deploy - oops put prod instructions in top-level README - update README - put back auth middleware - oops no .env for api server start - azure deploy - Merge pull request #104 from githubnext/drifkin/server-model-calls - add stories for each icon - add react-use-keypress - Add generating story - style active state - fixup: fix type errors - when logged in, use server to make model calls instead of calling directly - Merge pull request #103 from githubnext/drifkin/header-session - add avatar menu to header, use real avatar if signed in - add wip prompt input - Merge pull request #102 from githubnext/jaked/client-server-ci - ci for client + server - fix tab index - add temp transition between input buttons - Add first draft of the input field and its child components - remove unused storybook styles - remove placeholder story - add primer tailwind plugin - deploy pages from client directory - Merge pull request #101 from githubnext/jaked/workspace - put client / server in separate workspace packages - Merge pull request #100 from githubnext/jaked/auth - add layout utility classes - separate Auth component to fix lint - remove pointless @ts-nochecks to fix lint - make auth optional for the client - GitHub auth using Auth.js in a separate Express server - add framer motion - try deploying infra in eastus - Merge pull request #99 from githubnext/lostintangent/fix-import-translation - Merge pull request #98 from githubnext/jaked/terraform - on second thought, centralus - oops uksouth not uk-south - put resource group in uk-south near model - Fix import translation to support importing without symbols - workspace default terraform version is 1.8.1 - terraform setup with app service + auth - Merge pull request #94 from githubnext/terkelg/tailwind - Merge pull request #95 from githubnext/drifkin/fix-imports - fix imports by temporarily not catching errors in modules - Add tailwind and remove scss - Merge pull request #92 from githubnext/lostintangent/fix-console-collapse - Auto-collapse the console when it’s programmatically cleared - Merge pull request #91 from githubnext/lostintangent/monkey-patch-console-clear - Add support for console.clear - Merge pull request #90 from githubnext/drifkin/auto-collapse - default to console closed and auto-open on first log - Merge pull request #89 from githubnext/lostintangent/add-clear-collapse-console - Add clear and collapse console buttons - Merge pull request #88 from githubnext/lostintangent/add-custom-instructions - Add type definition for Header component props - Add support for custom user instructions - Merge pull request #85 from githubnext/lostintangent/fix-preview-sandbox - Merge pull request #86 from githubnext/terkelg/storybook - Merge pull request #87 from githubnext/intercept-errors - first version of intercepting errors in previews - Add storybook - Remove the bottom whitespace when the console is hidden - Merge pull request #84 from githubnext/drifkin/fix-accepted-variants-better - fix accepted variants not being editable - Merge pull request #81 from githubnext/drifkin/fix-fullscreen-flicker - share links: fix fullscreen lag & flicker - Merge pull request #80 from githubnext/drifkin/no-console-fullscreen - don\'t show console in fullscreen mode - Merge pull request #79 from githubnext/drifkin/no-key-needed-for-share-urls - don\'t ask users who are viewing a share URL for a model key - Merge pull request #77 from githubnext/drifkin/share-link-mvp - mvp version of sharing URLs - Merge pull request #73 from githubnext/styling-fixes - remove reset that broke primer\'s \`IconButton\`s - apply prettier to resets.scss - Merge pull request #72 from githubnext/drifkin/fix-scrolling - fix layout chooser - fix history scrolling - Merge pull request #71 from githubnext/drifkin/prompt-tweak - Merge pull request #70 from githubnext/drifkin/pwa - prompt: discourage using the \`DOMContentLoaded\` event - add basic pwa manifest - Merge pull request #69 from githubnext/fix-checkbox - Merge pull request #68 from githubnext/lostintangent/add-lets-go-button - fix generate variants checkbox - Add \`Let\'s go!\` button to the topic form - fix invisible container blocking header - Merge pull request #67 from githubnext/drifkin/fullscreen - add fullscreen view (preparing for basic PWA support) - Merge pull request #66 from githubnext/drifkin/lint-ci - don\'t use \`any\` - add lint job in CI - fix more linting problems - fix linting error for temp - Merge pull request #63 from githubnext/lostintangent/sync-input-values - Fix lint - Sync input values across all variants - Merge pull request #62 from githubnext/lostintangent/update-input-event-syncing - Update input syncing to properly track checkboxes/radio buttons/textareas/drop-downs - Merge pull request #61 from githubnext/drifkin/fix-p5 - Merge pull request #60 from githubnext/drifkin/homepage - convince model to import p5 correctly - tweak visuals for the topic page - Merge pull request #55 from githubnext/lostintangent/update-gh-namespace - Update the \`gh\` API namespace to use \`gist.\` instead - Update the \`gh\` API namespace to use \`gist.\` instead - Merge pull request #53 from githubnext/drifkin/kv - add basic gh.kv.get/set apis - Merge pull request #50 from githubnext/terkelg/tweaks - not required atm - layout tweaks - compress SVG and use static svg to enable caching (and less JS) - Merge pull request #47 from githubnext/drifkin/visual-tweaks - tweak layout chooser - consistent borders for the history items - change header pill to "Experimental" - use themed border colors, use Primer checkbox & labels - add site header mostly copied from CW - Merge pull request #44 from githubnext/drifkin/llm-streaming - add \`gh.llmStreaming()\` call - Merge pull request #39 from githubnext/drifkin/layout-tweaks - make side-by-side default & put preview on left - Merge pull request #38 from githubnext/drifkin/llm-rpc - add gh.llm() call for the model to use within gists - Merge pull request #36 from githubnext/lostintangent/add-generate-variants-checkbox - Add a \`Generate variants?\` checkbox underneath the text input for refining the current app - fix module support - Merge pull request #35 from githubnext/drifkin-patch-1 - Update indexer.yml - Merge pull request #34 from githubnext/drifkin-patch-1 - Update ci.yml - Update ci.yml - Update ci.yml - add build/test ci - make enter submit refine instead of shift+enter - fix build - make it work better in codespaces - Merge pull request #30 from githubnext/lostintangent/add-variant-checkbox - add codemirror support for typescript - support typescript and multiple files of the same type - Delete vite.config.ts.timestamp-1721347163543-bdcc8a7096a76.mjs - Add variant checkbox to topic form - Update README.md - switch favicons to the lil copilot guy - lil cleanup - fix parsing bug where we were eating newlines - Merge pull request #26 from githubnext/drifkin/update-title - Change HTML title to Copilot Gist - allow updating existing Gists - use anonymous octokit when there\'s no auth key - default to preview layout when loading from gist - don\'t require a PAT unless you\'re writing - Update README.md - chore(ci): attach Indexer action (#24) - don\'t require a PAT unless you\'re using gist functionality - a little sync ui tweaking, still need lots more - indicate history jumps once edits happen - tweak prompt - make initial state simpler - fix importing modules - change title - set topic in gist readme - add scrim - add ability to load from gists via \`gistId\` param - remove old-style gh pages deploying - Create deploy-to-pages.yml - Merge pull request #23 from githubnext/drifkin/add-gh-action - Add a GH action to automatically deploy to GH pages - beginnings of gist syncing - small refactor: replace grouped vs. single distinction - don\'t show hover when clicking on old entries - only autoscroll history list if the length changes - allow clicking older history entries - add janky streaming indicator for tabbed editors - fix syntax highlighting race for streaming files - implement basic 2 column view - add devcontainer - Update README.md - preserve values of \`input\`s across renders - add codemirror support for js/css/html (highlighting, etc.) - add a bunch of codemirror stuff from their basic setup example - refactor injected js slightly - inject html/css/js programmatically instead of via concat - switch to model8 4o-experiments model - fix logging newlines - split out injected js into its own file - allow submitting refinements via shift+Enter - Only treat js that actually imports as a js module - add preview-only layout option - show history entries being streamed in, don\'t show grouping for AI-sources - refine prompt slightly, try to make SVGs the right size - highlight the current history entry - hook up refining form - make variants scrollable - never have scrollbars - fix history list scrolling - add debug feature for adjusting the grouping windowing - initial refinement support via model - refactor to set up multiple model calls - make console logs more obvious - add more debug logging for model responses - fix bug where we would concat undefined content - Merge pull request #12 from githubnext/drifkin/parsing-bug - don\'t emit chunks that come between files - fix parsing bug where filesStarted wasn\'t being tracked per-variant - add test for a parse bug - add basic debug mode that logs model results - keep track of which files are currently being streamed - actually save the model key correctly - switch to model-4 (still 4o) - render variants with a preview - actually store all variants streamed in - add support for parsing multiple variants - factor out ai fetching logic into its own file - introduce ability to have multiple variants to the data model - show previews of history entries - add relative timestamps, more style tweaking - clean up history rendering - allow indenting via tab instead of changing focus - Merge pull request #3 from githubnext/drifkin/ai-gen - only update history for text changes coming from users - add very basic version of supporting deps via skypack - Merge pull request #1 from githubnext/drifkin/ai-gen - hook up gpt-4o with streaming - add basic console log output to preview - super basic preview - basic styling on history list - group changes by time as well - basic history tree that groups changes by descriptions - initial via \`npm create vite@latest\` --- extensions/github-spark/.eslintrc.json | 4 + extensions/github-spark/.gitignore | 13 + extensions/github-spark/.prettierrc | 4 + extensions/github-spark/CHANGELOG.md | 3 + extensions/github-spark/README.md | 9 + .../github-spark/assets/extension-icon.png | Bin 0 -> 15847 bytes extensions/github-spark/package-lock.json | 2257 +++++++++++++++++ extensions/github-spark/package.json | 48 + .../github-spark/src/create-new-spark.ts | 6 + extensions/github-spark/tsconfig.json | 16 + 10 files changed, 2360 insertions(+) create mode 100644 extensions/github-spark/.eslintrc.json create mode 100644 extensions/github-spark/.gitignore create mode 100644 extensions/github-spark/.prettierrc create mode 100644 extensions/github-spark/CHANGELOG.md create mode 100644 extensions/github-spark/README.md create mode 100644 extensions/github-spark/assets/extension-icon.png create mode 100644 extensions/github-spark/package-lock.json create mode 100644 extensions/github-spark/package.json create mode 100644 extensions/github-spark/src/create-new-spark.ts create mode 100644 extensions/github-spark/tsconfig.json diff --git a/extensions/github-spark/.eslintrc.json b/extensions/github-spark/.eslintrc.json new file mode 100644 index 00000000000..e6258e11d91 --- /dev/null +++ b/extensions/github-spark/.eslintrc.json @@ -0,0 +1,4 @@ +{ + "root": true, + "extends": ["@raycast"] +} diff --git a/extensions/github-spark/.gitignore b/extensions/github-spark/.gitignore new file mode 100644 index 00000000000..9ff34e3e9f3 --- /dev/null +++ b/extensions/github-spark/.gitignore @@ -0,0 +1,13 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules + +# Raycast specific files +raycast-env.d.ts +.raycast-swift-build +.swiftpm +compiled_raycast_swift + +# misc +.DS_Store diff --git a/extensions/github-spark/.prettierrc b/extensions/github-spark/.prettierrc new file mode 100644 index 00000000000..fc0f5030683 --- /dev/null +++ b/extensions/github-spark/.prettierrc @@ -0,0 +1,4 @@ +{ + "printWidth": 120, + "singleQuote": false +} diff --git a/extensions/github-spark/CHANGELOG.md b/extensions/github-spark/CHANGELOG.md new file mode 100644 index 00000000000..0efbe700b6d --- /dev/null +++ b/extensions/github-spark/CHANGELOG.md @@ -0,0 +1,3 @@ +# GitHub Spark Changelog + +## [Initial Version] - {PR_MERGE_DATE} \ No newline at end of file diff --git a/extensions/github-spark/README.md b/extensions/github-spark/README.md new file mode 100644 index 00000000000..9fd71b030c3 --- /dev/null +++ b/extensions/github-spark/README.md @@ -0,0 +1,9 @@ +# GitHub Spark + +GitHub Spark is an AI-powered tool for creating and sharing micro apps (“sparks”), which can be tailored to your exact needs and preferences, and are directly usable from your desktop and mobile devices. **Without needing to write or deploy any code.** + +### Resources + +- [Learn more](https://gh.io/spark) +- [Sign up for the waitlist](https://gh.io/spark-signup) +- [Open GitHub Spark](https://spark.githubnext.com/) diff --git a/extensions/github-spark/assets/extension-icon.png b/extensions/github-spark/assets/extension-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..23058d1b43aab55fae6fb0881d1a7279b77ff65a GIT binary patch literal 15847 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 ZO%Kbx`5Q`nxCG!I!cJTB2RppZ{vTqzmwEsI literal 0 HcmV?d00001 diff --git a/extensions/github-spark/package-lock.json b/extensions/github-spark/package-lock.json new file mode 100644 index 00000000000..e2e4ae8d690 --- /dev/null +++ b/extensions/github-spark/package-lock.json @@ -0,0 +1,2257 @@ +{ + "name": "github-spark", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "github-spark", + "license": "MIT", + "dependencies": { + "@raycast/api": "^1.84.12", + "@raycast/utils": "^1.17.0" + }, + "devDependencies": { + "@raycast/eslint-config": "^1.0.11", + "@types/node": "20.8.10", + "@types/react": "18.3.3", + "eslint": "^8.57.0", + "prettier": "^3.3.3", + "typescript": "^5.4.5" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz", + "integrity": "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@eslint/eslintrc/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@eslint/js": { + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", + "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", + "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", + "deprecated": "Use @eslint/config-array instead", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.3", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@humanwhocodes/config-array/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "deprecated": "Use @eslint/object-schema instead", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@raycast/api": { + "version": "1.84.12", + "resolved": "https://registry.npmjs.org/@raycast/api/-/api-1.84.12.tgz", + "integrity": "sha512-sFgthnRzVopNJ2DbFZZi9g7fKCRnBTlp1gJtBLuOM6mGafT+FOkUVTJKhgmxFauOHHFZ+DzAABsu8ntP/giwqQ==", + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "@types/node": "^20.8.10", + "@types/react": "^18.3.3", + "react": "18.3.1" + }, + "bin": { + "ray": "bin/ray" + }, + "peerDependencies": { + "@types/node": "20.8.10", + "@types/react": "18.3.3", + "react-devtools": "5.2.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "@types/react": { + "optional": true + }, + "react-devtools": { + "optional": true + } + } + }, + "node_modules/@raycast/eslint-config": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@raycast/eslint-config/-/eslint-config-1.0.11.tgz", + "integrity": "sha512-I0Lt8bwahVGkANUBxripIxKptMBz1Ou+UXGwfqgFvKwo1gVLrnlEngxaspQJA8L5pvzQkQMwizVCSgNC3bddWg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@raycast/eslint-plugin": "^1.0.11", + "@rushstack/eslint-patch": "^1.10.4", + "@typescript-eslint/eslint-plugin": "^6.8.0", + "@typescript-eslint/parser": "^6.8.0", + "eslint-config-prettier": "^9.1.0" + }, + "peerDependencies": { + "eslint": ">=7", + "prettier": ">=2", + "typescript": ">=4" + } + }, + "node_modules/@raycast/eslint-plugin": { + "version": "1.0.14", + "resolved": "https://registry.npmjs.org/@raycast/eslint-plugin/-/eslint-plugin-1.0.14.tgz", + "integrity": "sha512-bWUucTGyhAX8A1srLfXS3BykeJUdkOUswOwad1avYAtW6nz0CgytQT63tK0/rr7RNP1pbHZuoFvRHy5xHNlT4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/utils": "^5.62.0" + }, + "peerDependencies": { + "eslint": ">=7" + } + }, + "node_modules/@raycast/utils": { + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/@raycast/utils/-/utils-1.18.0.tgz", + "integrity": "sha512-Y4gIlI8wSdgGzk6cibJNYjNuUKgqlGQ0xTe5y8jCHcvoaJjbohNYj48sFRCo3pLW7JxicsOQkNRpfWRVBqGnZQ==", + "license": "MIT", + "dependencies": { + "cross-fetch": "^3.1.6", + "dequal": "^2.0.3", + "object-hash": "^3.0.0", + "signal-exit": "^4.0.2", + "stream-chain": "^2.2.5", + "stream-json": "^1.8.0" + }, + "peerDependencies": { + "@raycast/api": ">=1.69.0" + } + }, + "node_modules/@rushstack/eslint-patch": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.10.4.tgz", + "integrity": "sha512-WJgX9nzTqknM393q1QJDJmoW28kUfEnybeTfVNcNAPnIx210RXm2DiXiHzfNPJNIUUb1tJnz/l4QGtJ30PgWmA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "20.8.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.10.tgz", + "integrity": "sha512-TlgT8JntpcbmKUFzjhsyhGfP2fsiz1Mv56im6enJ905xG1DAYesxJaeSbGqQmAw8OWPdhyJGhGSQGKRNJ45u9w==", + "license": "MIT", + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@types/prop-types": { + "version": "15.7.13", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.13.tgz", + "integrity": "sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==", + "license": "MIT" + }, + "node_modules/@types/react": { + "version": "18.3.3", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.3.tgz", + "integrity": "sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==", + "license": "MIT", + "dependencies": { + "@types/prop-types": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/semver": { + "version": "7.5.8", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", + "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.21.0.tgz", + "integrity": "sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.5.1", + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/type-utils": "6.21.0", + "@typescript-eslint/utils": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.4", + "natural-compare": "^1.4.0", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha", + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/utils": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.21.0.tgz", + "integrity": "sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.12", + "@types/semver": "^7.5.0", + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/typescript-estree": "6.21.0", + "semver": "^7.5.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.21.0.tgz", + "integrity": "sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/typescript-estree": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz", + "integrity": "sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.21.0.tgz", + "integrity": "sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/typescript-estree": "6.21.0", + "@typescript-eslint/utils": "6.21.0", + "debug": "^4.3.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/utils": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.21.0.tgz", + "integrity": "sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.12", + "@types/semver": "^7.5.0", + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/typescript-estree": "6.21.0", + "semver": "^7.5.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz", + "integrity": "sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz", + "integrity": "sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "9.0.3", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/scope-manager": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz", + "integrity": "sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/acorn": { + "version": "8.14.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", + "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/cross-fetch": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.8.tgz", + "integrity": "sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==", + "license": "MIT", + "dependencies": { + "node-fetch": "^2.6.12" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", + "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", + "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.1", + "@humanwhocodes/config-array": "^0.13.0", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-prettier": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", + "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", + "dev": true, + "license": "MIT", + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/eslint/node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/eslint/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esquery/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "dev": true, + "license": "ISC" + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true, + "license": "ISC" + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true, + "license": "MIT" + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dev": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "license": "MIT", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true, + "license": "MIT" + }, + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "license": "MIT", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz", + "integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==", + "dev": true, + "license": "MIT", + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/react": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/stream-chain": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/stream-chain/-/stream-chain-2.2.5.tgz", + "integrity": "sha512-1TJmBx6aSWqZ4tx7aTpBDXK0/e2hhcNSTV8+CbFJtDjbb+I1mZ8lHit0Grw9GRT+6JbIrrDd8esncgBi8aBXGA==", + "license": "BSD-3-Clause" + }, + "node_modules/stream-json": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/stream-json/-/stream-json-1.9.0.tgz", + "integrity": "sha512-TqnfW7hRTKje7UobBzXZJ2qOEDJvdcSVgVIK/fopC03xINFuFqQs8RVjyDT4ry7TmOo2ueAXwpXXXG4tNgtvoQ==", + "license": "BSD-3-Clause", + "dependencies": { + "stream-chain": "^2.2.5" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true, + "license": "MIT" + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "license": "MIT" + }, + "node_modules/ts-api-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.4.0.tgz", + "integrity": "sha512-032cPxaEKwM+GT3vA5JXNzIaizx388rhsSW79vGRNGXfRRAdEAn2mvk36PvK5HnOchyWZ7afLEXqYCvPCrzuzQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "typescript": ">=4.2.0" + } + }, + "node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true, + "license": "0BSD" + }, + "node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "5.6.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz", + "integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "license": "MIT" + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "license": "BSD-2-Clause" + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "license": "MIT", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/extensions/github-spark/package.json b/extensions/github-spark/package.json new file mode 100644 index 00000000000..f21793e49b8 --- /dev/null +++ b/extensions/github-spark/package.json @@ -0,0 +1,48 @@ +{ + "$schema": "https://www.raycast.com/schemas/extension.json", + "name": "github-spark", + "title": "GitHub Spark", + "description": "Turn your ideas into personalized apps with GitHub Spark", + "icon": "extension-icon.png", + "author": "cole", + "categories": [ + "Fun" + ], + "license": "MIT", + "commands": [ + { + "name": "create-new-spark", + "title": "Create New Spark", + "description": "Create a new micro app with GitHub Spark", + "mode": "no-view", + "arguments": [ + { + "name": "topic", + "type": "text", + "placeholder": "Describe your idea...", + "required": true + } + ] + } + ], + "dependencies": { + "@raycast/api": "^1.84.12", + "@raycast/utils": "^1.17.0" + }, + "devDependencies": { + "@raycast/eslint-config": "^1.0.11", + "@types/node": "20.8.10", + "@types/react": "18.3.3", + "eslint": "^8.57.0", + "prettier": "^3.3.3", + "typescript": "^5.4.5" + }, + "scripts": { + "build": "ray build", + "dev": "ray develop", + "fix-lint": "ray lint --fix", + "lint": "ray lint", + "prepublishOnly": "echo \"\\n\\nIt seems like you are trying to publish the Raycast extension to npm.\\n\\nIf you did intend to publish it to npm, remove the \\`prepublishOnly\\` script and rerun \\`npm publish\\` again.\\nIf you wanted to publish it to the Raycast Store instead, use \\`npm run publish\\` instead.\\n\\n\" && exit 1", + "publish": "npx @raycast/api@latest publish" + } +} diff --git a/extensions/github-spark/src/create-new-spark.ts b/extensions/github-spark/src/create-new-spark.ts new file mode 100644 index 00000000000..109cd382b53 --- /dev/null +++ b/extensions/github-spark/src/create-new-spark.ts @@ -0,0 +1,6 @@ +import { LaunchProps, open } from "@raycast/api"; + +export default async function main(props: LaunchProps<{ arguments: { topic: string } }>) { + const topic = props.arguments.topic; + open(`https://spark.githubnext.com/new/${encodeURIComponent(topic)}`); +} diff --git a/extensions/github-spark/tsconfig.json b/extensions/github-spark/tsconfig.json new file mode 100644 index 00000000000..abb15806bec --- /dev/null +++ b/extensions/github-spark/tsconfig.json @@ -0,0 +1,16 @@ +{ + "$schema": "https://json.schemastore.org/tsconfig", + "include": ["src/**/*", "raycast-env.d.ts"], + "compilerOptions": { + "lib": ["ES2023"], + "module": "commonjs", + "target": "ES2022", + "strict": true, + "isolatedModules": true, + "esModuleInterop": true, + "skipLibCheck": true, + "forceConsistentCasingInFileNames": true, + "jsx": "react-jsx", + "resolveJsonModule": true + } +}